Нет описания

WorkOrder.js 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485
  1. $(document).ready(function() {
  2. initTable();
  3. $(".ss").click(function() {
  4. stype = 1;
  5. initTable();
  6. })
  7. //问题回车搜索
  8. $('#ss_gdnr').on('keypress',function(e){
  9. if(e.keyCode==13){
  10. initTable();
  11. }
  12. })
  13. //电话回车搜索
  14. $('#tel').on('keypress',function(e){
  15. if(e.keyCode==13){
  16. initTable();
  17. }
  18. })
  19. //姓名回车搜索
  20. $('#name').on('keypress',function(e){
  21. if(e.keyCode==13){
  22. initTable();
  23. }
  24. })
  25. /*高级查询*/
  26. $(".gjss").click(function() {
  27. $(".t-shade").addClass("cx");
  28. $(".gjsu").addClass("cx");
  29. $('.clgd').removeClass("cx");
  30. });
  31. $(".setwin").click(function() {
  32. $(".t-shade").removeClass("cx");
  33. $(".gjsu").removeClass("cx");
  34. $(".cbgd").removeClass("cx");
  35. //图片清空
  36. $(".space").html('');
  37. })
  38. //详情
  39. $(".ckxq ul li").click(function() {
  40. $(this).addClass("Active").siblings().removeClass("Active");
  41. var i = $(this).index();
  42. var s = $(this).attr("index");
  43. $(".gdxq").hide();
  44. $(".gdxq").eq(i).show();
  45. if(i > 0) {
  46. cljl(s);
  47. }
  48. });
  49. $(".Closed").click(function() {
  50. $(".ckxq").addClass("Hidens");
  51. });
  52. /*tree下拉框效果*/
  53. $(".inpBox .tree").click(function() {
  54. if($(this).parent().find(".addTree").is(":hidden")) {
  55. $(this).parent().find(".addTree").show();
  56. } else {
  57. $(this).parent().find(".addTree").hide();
  58. }
  59. });
  60. /*普通下拉框效果*/
  61. $(".inpBox .select").click(function() {
  62. if($(this).parent().find(".xl_common").is(":hidden")) {
  63. $(this).parent().find(".xl_common").show();
  64. } else {
  65. $(this).parent().find(".xl_common").hide();
  66. }
  67. });
  68. $(".xl").click(function() {
  69. if($(this).parent().find(".addTree").is(":hidden")) {
  70. $(this).parent().find(".addTree").show();
  71. } else {
  72. $(this).parent().find(".addTree").hide();
  73. }
  74. if($(this).parent().find(".xl_common").is(":hidden")) {
  75. $(this).parent().find(".xl_common").show();
  76. } else {
  77. $(this).parent().find(".xl_common").hide();
  78. }
  79. });
  80. $(".inpBox").mouseleave(function() {
  81. $(this).children(".addTree").hide();
  82. $(this).children(".xl_common").hide();
  83. })
  84. $(".xl_box").on("click", "li", function() {
  85. var obj = $(this).parent().parent().parent();
  86. obj.find("input").eq(0).val($(this).text());
  87. obj.find("input").eq(1).val($(this).attr("itemid"));
  88. obj.find(".xl_common").hide();
  89. })
  90. $("input[name='ltype']").click(function() {
  91. var val = $("input[name='ltype']:checked").val();
  92. if(val == '0') {
  93. $(".js").show();
  94. } else if(val == '1') {
  95. $(".js").hide();
  96. }
  97. })
  98. if($("#zrbmtree")) {
  99. getBM($("#zrbmtree"));
  100. }
  101. })
  102. function View(val) {
  103. return '<div class="imgs" ><a class="xg" onclick= ck("' + val + '") >' + val + '</a></div>';
  104. }
  105. function OverTime(val, row) {
  106. var cs = 'Ctime';
  107. if(row.LimitTime) {
  108. if(row.totalhour * 1 > row.LimitTime * 1) {
  109. cs = 'overTime';
  110. }
  111. }
  112. return '<div class="' + cs + '" ><a class="xg" ></a></div>';
  113. }
  114. function ck(val) {
  115. selid = val;
  116. $(".ckxq").removeClass("Hidens");
  117. $(".ckxq ul li").eq(0).trigger("click");
  118. xq();
  119. }
  120. function xq() {
  121. $.getJSON(huayi.config.callcenter_url + 'WorkOrder/GetWorkOrder', {
  122. "orderid": selid,
  123. "token": $.cookie("token")
  124. }, function(result) {
  125. if(result.state.toLowerCase() == "success") {
  126. if(result.data.data.length > 0) {
  127. var data = result.data.data[0];
  128. $("#xq_zxgh").text(data.CreateUser);//坐席工号
  129. $("#xq_zxxm").text(data.CreateUserName);//坐席姓名
  130. $("#xq_clr").text(data.AuditUserName); //处理人
  131. $("#xq_cont").text(data.clcontent); //问题处理情况
  132. $("#xq_gdbh").text(data.WorkOrderID);
  133. $("#xq_gdlx").text(GetTypeName(data.Type));
  134. $("#xq_cjsj").text(data.CreateTime);
  135. $("#xq_gdzt").html(GetStateName(data.State));
  136. $("#xq_khxm").text(data.Customer);
  137. $("#xq_khdh").text(data.CustomerTel);
  138. $("#xq_wtlx").text(data.Source); //工单来源
  139. $("#xq_county").text(data.CountryName); //乡镇或单位
  140. $("#xq_time").text(data.Inqtime && data.Inqtime.split(' ')[0]); //调查时间
  141. $("#xq_investigator").text(data.Inquser); //调查员
  142. $("#xq_gdnr").text(data.Detail); //反映问题
  143. $("#xq_clnr").text(data.Answer); //回访反馈情况
  144. $("#xq_remarks").text(data.Remark); //备注
  145. $("#xq_rdwt").text(data.InfoTypeDetail); //热点问题
  146. $("#xq_xxfl").text(data.InfoType);
  147. //交办单位 Unit
  148. $("#xq_jbdw").text(data.Unit);
  149. $(".gdxq").eq(0).find(".allbc").remove();
  150. var Files = data.File;
  151. //console.log(Files);
  152. $("#IMG_box").empty();
  153. if(Files && Files.length > 0) {
  154. $(Files).each(function(i, n) {
  155. var fileType = n.F_FileType;
  156. var fileType1 = n.F_FileType.split("\/")[0];
  157. if (fileType === '.jpg'||fileType === '.png'||fileType1==='image') {
  158. $('<div class="img-box">' +
  159. '<span class="img_mask"><span onclick=downloadFile("'+ n.F_FileUrl + '","' + n.F_FileName + '","' + n.F_FileType +
  160. '") title="点击下载"><i class="fa fa-download" aria-hidden="true"></i></span></span>' +
  161. '<img layer-src="' + n.F_FileUrl + '" src="' + n.F_FileUrl + '" alt="' + n.F_FileName +
  162. '" class="image-item" /><div>').appendTo("#IMG_box");
  163. } else {
  164. $('<div class="img-box">' +
  165. '<span class="img_mask"><span href="javascript:;" onclick=downloadFile("' + n.F_FileUrl + '","' + n.F_FileName +
  166. '","' + n.F_FileType +
  167. '") title="点击下载"><i class="glyphicon glyphicon-download-alt" aria-hidden="true"></i></span></span>' +
  168. '<div class="noThumb" title="文件"><i class="glyphicon glyphicon-paperclip"></i><p class="file_list">无法预览</p></div>' +
  169. '</div>').appendTo("#IMG_box");
  170. }
  171. });
  172. layer.photos({
  173. photos: '#IMG_box',
  174. anim: 5, //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)
  175. title: '查看图片',
  176. move: '.layui-layer-title',
  177. shadeClose: false,
  178. closeBtn: 1,
  179. area: ['80%', '90%'],
  180. tab: function(pic, layero) {
  181. // $('.layui-layer-content').on("mousewheel", function(e, d) {
  182. //
  183. // helper.methods.zoomImg($('#layui-layer-photos').find('img[alt="' + pic.alt + '"]'), d);
  184. // $('#layui-layer-photos').find('img[alt="' + pic.alt + '"]').dragging({
  185. // move: "both", //拖动方向,x y both
  186. // randomPosition: false //初始位置是否随机
  187. // });
  188. // return false;
  189. //
  190. // });
  191. helper.methods.initLayerPhotos('#layui-layer-photos', pic, layero);
  192. },
  193. });
  194. }
  195. }
  196. }
  197. })
  198. }
  199. //下载
  200. function downloadFile(data, strFileName, strMimeType) {
  201. event.preventDefault();
  202. //详细见文档 http://danml.com/download.html
  203. var x = new XMLHttpRequest();
  204. x.open("GET", data, true);
  205. x.responseType = 'blob';
  206. x.onload = function(e) {
  207. download(x.response, strFileName, strMimeType);
  208. }
  209. x.send();
  210. }
  211. function cljl(type) {
  212. //先销毁表格
  213. if(type == 4) {
  214. var table = $(".gdxq").eq(2).find("table");
  215. } else {
  216. var table = $(".gdxq").eq(type).find("table");
  217. }
  218. table.bootstrapTable('destroy');
  219. //初始化表格,动态从服务器加载数据
  220. table.bootstrapTable({
  221. method: "get", //使用get请求到服务器获取数据
  222. url: huayi.config.callcenter_url + "WorkOrder/GetItemList", //获取数据的Servlet地址
  223. striped: true, //表格显示条纹
  224. pagination: true, //启动分页
  225. pageSize: 5, //每页显示的记录数
  226. pageNumber: 1, //当前第几页
  227. pageList: [5, 10, 50, 100], //记录数可选列表
  228. contentType: 'application/x-www-form-urlencoded',
  229. search: false, //是否启用查询
  230. showColumns: false, //显示下拉框勾选要显示的列
  231. showRefresh: false, //显示刷新按钮
  232. sidePagination: "server", //表示服务端请求
  233. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  234. //设置为limit可以获取limit, offset, search, sort, order
  235. queryParamsType: "undefined",
  236. queryParams: function queryParams(params) { //设置查询参数
  237. var param = {
  238. page: params.pageNumber,
  239. pagesize: params.pageSize,
  240. type: type,
  241. id: selid,
  242. token: $.cookie("token")
  243. };
  244. return param;
  245. },
  246. onLoadSuccess: function() { //加载成功时执行
  247. //layer.msg("加载成功");
  248. },
  249. onLoadError: function() { //加载失败时执行
  250. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  251. }
  252. });
  253. }
  254. function GetTypeName(val) {
  255. var str = '';
  256. switch(val + '') {
  257. case '1':
  258. str = "咨询";
  259. break;
  260. case '2':
  261. str = "报修服务";
  262. break;
  263. case '3':
  264. str = "投诉建议";
  265. break;
  266. }
  267. return str;
  268. }
  269. function GetStateName(val) {
  270. // var str = '';
  271. // switch (val + '') {
  272. // case '0': str = "待指派"; break;
  273. // case '1': str = "处理中"; break;
  274. // case '2': str = "已完结"; break;
  275. // }
  276. //ltype 0,1 待完成 2已完成
  277. if(val == 0 || val == 1) {
  278. return '<div class="warning">待完成</div>';
  279. } else if(val == 2) {
  280. return '<div class="primary">已完成</div>';
  281. } else {
  282. return '-';
  283. }
  284. return str;
  285. }
  286. function ComXQ(val, row) {
  287. var str = '';
  288. if (row.IsLast == 0 && !row.DealTime && !row.ToDeptName) {
  289. str = str + row.CreateUserName + " 创建了工单。" + "<br>";
  290. }
  291. if (row.IsLast == 1) {
  292. str = str + row.CreateUserName + " 完结工单。" + "<br>";
  293. }
  294. if (row.DealTime) {
  295. str = str + row.CreateUserName + " 处理工单。" + "<br>";
  296. // if (row.Detail != null) str = str + row.Detail + "<br>";
  297. }
  298. // if (row.SureUserName) {
  299. // str = str + row.SureUserName + " 接单。" + "<br>";
  300. // }
  301. if(row.ToDeptName) {
  302. str = str + row.CreateUserName + " 指派工单给 " + row.ToDeptName + " ";
  303. if(row.ToUserName) {
  304. str = str + row.ToUserName;
  305. }
  306. str = str + "<br>";
  307. }
  308. // if(row.IsStart) {
  309. // str = str + row.CreateUserName + " 重新开启工单。" + "<br>";
  310. // }
  311. return str;
  312. }
  313. //获取部门
  314. var setting = {
  315. data: {
  316. key: {
  317. name: "F_DeptName"
  318. },
  319. simpleData: {
  320. enable: true,
  321. idKey: "F_DeptId",
  322. pIdKey: "F_ParentId",
  323. rootPId: 0
  324. }
  325. },
  326. callback: {
  327. onClick: zTreeOnClick
  328. }
  329. };
  330. function getBM(obj) {
  331. $.getJSON(huayi.config.callcenter_url + 'Department/GetAllList', {
  332. "token": $.cookie("token")
  333. }, function(result) {
  334. if(result.state.toLowerCase() == "success") {
  335. $.fn.zTree.init(obj, setting, result.data);
  336. }
  337. })
  338. }
  339. function zTreeOnClick(event, treeId, treeNode) {
  340. if(event) {
  341. event.stopPropagation();
  342. }
  343. var obj = $("#" + event.data.treeId).parent();
  344. obj.parent().find("input").eq(0).val(treeNode.F_DeptName);
  345. obj.parent().find("input").eq(1).val(treeNode.F_DeptId);
  346. obj.hide();
  347. getRY($(".clid"), $("#clbm").val());
  348. };
  349. //获取人员
  350. function getRY(obj, deptid) {
  351. obj.empty();
  352. obj.append('<li itemid="">--请选择--</li>');
  353. obj.parent().parent().find("input").eq(0).val("--请选择--");
  354. obj.parent().parent().find("input").eq(1).val("");
  355. $.getJSON(huayi.config.callcenter_url + 'UserAccount/GetDeptUserList', {
  356. "deptid": deptid,
  357. "token": $.cookie("token")
  358. }, function(result) {
  359. if(result.state.toLowerCase() == "success") {
  360. $(result.data).each(function(i, n) {
  361. obj.append('<li itemid="' + n.F_UserId + '">' + n.F_UserName + '</li>');
  362. })
  363. obj.find("li").click(function(event) {
  364. if(event) {
  365. event.stopPropagation();
  366. }
  367. $(this).parent().parent().parent().find("input").eq(0).val($(this).text());
  368. $(this).parent().parent().parent().find("input").eq(1).val($(this).attr("itemid"));
  369. $(this).parent().parent().hide();
  370. });
  371. }
  372. })
  373. }
  374. function Appoint(val, row) {
  375. return czhtml(val, row, "处理");
  376. }
  377. function Dispose(val, row) {
  378. return czhtml(val, row, "处理");
  379. }
  380. function ex2Pdf(val, row) {
  381. return '<div class="imgs" ><a class="xg" href="javascript:;" onclick= export2pdf("' + row.WorkOrderID + '")>导出</a></div>';
  382. }
  383. function Expedite(val, row) {
  384. return czhtml(val, row, "催办");
  385. }
  386. function Comment(val, row) {
  387. return czhtmls(val, row, "评论");
  388. }
  389. function czhtml(val, row, str) {
  390. return '<div class="imgs" ><a class="xg" itemstr=\'' + JSON.stringify(row) + '\' onclick= oper("' + val + '",this) >' + str + '</a></div>';
  391. }
  392. function czhtmls(val, row, str) {
  393. return '<div class="imgs" ><a class="xg" onclick= opers("' + val + '",this) >' + str + '</a></div>';
  394. }
  395. function oper(val, obj) {
  396. layer.open({
  397. type: 2,
  398. content: "WorkOrderDeal.html?str=" + val, //iframe的url,no代表不显示滚动条
  399. title: '处理工单',
  400. area: ['86%', '98%'], //宽高
  401. })
  402. }
  403. //导出pdf
  404. function export2pdf(wid) {
  405. layer.open({
  406. type: 2,
  407. content: "../commonHtml/printPreview.html?wid=" + wid, //iframe的url,no代表不显示滚动条
  408. title: '导出word',
  409. area: ['788.8px', '90%'], //宽高
  410. });
  411. }
  412. //function opers(val, obj) {
  413. // layer.open({
  414. // type: 2,
  415. // content: "WorkEvaluate.html?str=" + val, //iframe的url,no代表不显示滚动条
  416. // title: '评价工单',
  417. // area: ['55%', '68%'], //宽高
  418. // })
  419. //}
  420. // 审核信息
  421. //function Audit(val) {
  422. // var str = '';
  423. // switch(val + '') {
  424. // case '0':
  425. // str = "未审核";
  426. // break;
  427. // case '1':
  428. // str = "无效";
  429. // break;
  430. // case '2':
  431. // str = "有效";
  432. // break;
  433. // }
  434. // return str;
  435. //}
  436. //限制字符串长度
  437. function Detail(val) {
  438. if(val) {
  439. var str = '<div '
  440. if(val.length > 10) {
  441. str = str + ' title="' + val + '" ';
  442. val = val.substr(0, 10) + "...";
  443. }
  444. return str + '>' + val + '</div>';
  445. } else {
  446. return '';
  447. }
  448. }
  449. function Hiden() {
  450. $(".ckxq").addClass("Hidens");;
  451. }
  452. ////下载
  453. //function downloadFile(data, strFileName, strMimeType){
  454. // //详细见文档 http://danml.com/download.html
  455. // var x=new XMLHttpRequest();
  456. // x.open("GET", data, true);
  457. // x.responseType = 'blob';
  458. // x.onload=function(e){download(x.response, strFileName, strMimeType ); }
  459. // x.send();
  460. //}