安图前端代码

WorkOrder.js 16KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658
  1. $(document).ready(function() {
  2. initTable();
  3. initTables();
  4. $(".ss").click(function() {
  5. stype = 1;
  6. initTable();
  7. initTables();
  8. })
  9. $('.plasechoce').click(function() {
  10. $(this).parent().siblings('input').val('');
  11. })
  12. /*高级查询*/
  13. $(".gjss").click(function() {
  14. $(".t-shade").addClass("cx");
  15. $(".gjsu").addClass("cx");
  16. });
  17. $("#gjss").click(function() {
  18. stype = 2;
  19. initTable();
  20. initTables();
  21. $(".t-shade").removeClass("cx");
  22. $(".gjsu").removeClass("cx");
  23. })
  24. $(".setwin").click(function() {
  25. $(".t-shade").removeClass("cx");
  26. $(".gjsu").removeClass("cx");
  27. $(".cbgd").removeClass("cx");
  28. })
  29. //详情
  30. $(".ckxq ul li").click(function() {
  31. $(this).addClass("Active").siblings().removeClass("Active");
  32. var i = $(this).index();
  33. $(".gdxq").hide();
  34. $(".gdxq").eq(i).show();
  35. if(i > 0) {
  36. cljl(i);
  37. }
  38. });
  39. $(".Closed").click(function() {
  40. $(".ckxq").addClass("Hidens");
  41. });
  42. /*tree下拉框效果*/
  43. $(".inpBox .tree").click(function() {
  44. if($(this).parent().find(".addTree").is(":hidden")) {
  45. $(this).parent().find(".addTree").show();
  46. } else {
  47. $(this).parent().find(".addTree").hide();
  48. }
  49. });
  50. /*普通下拉框效果*/
  51. $(".inpBox .select").click(function() {
  52. if($(this).parent().find(".xl_common").is(":hidden")) {
  53. $(this).parent().find(".xl_common").show();
  54. } else {
  55. $(this).parent().find(".xl_common").hide();
  56. }
  57. });
  58. $(".xl").click(function() {
  59. if($(this).parent().find(".addTree").is(":hidden")) {
  60. $(this).parent().find(".addTree").show();
  61. } else {
  62. $(this).parent().find(".addTree").hide();
  63. }
  64. if($(this).parent().find(".xl_common").is(":hidden")) {
  65. $(this).parent().find(".xl_common").show();
  66. } else {
  67. $(this).parent().find(".xl_common").hide();
  68. }
  69. });
  70. $(".inpBox").mouseleave(function() {
  71. $(this).children(".addTree").hide();
  72. $(this).children(".xl_common").hide();
  73. })
  74. $(".xl_box").on("click", "li", function() {
  75. var obj = $(this).parent().parent().parent();
  76. obj.find("input").eq(0).val($(this).text());
  77. obj.find("input").eq(1).val($(this).attr("itemid"));
  78. obj.find(".xl_common").hide();
  79. })
  80. $("input[name='ltype']").click(function() {
  81. var val = $("input[name='ltype']:checked").val();
  82. if(val == '0') {
  83. $(".js").show();
  84. } else if(val == '1') {
  85. $(".js").hide();
  86. }
  87. })
  88. if($("#zrbmtree")) {
  89. getBM($("#zrbmtree"));
  90. }
  91. laydate.render({
  92. elem: '#greetingTimes',
  93. range: '~',
  94. // type: 'datetime',
  95. //max : 31,
  96. // min: 0,
  97. theme: '#1ab394',
  98. });
  99. //坐席
  100. getSeating()
  101. //工单类型
  102. getOrderType();
  103. //工单来源
  104. getOrderSource()
  105. // //反馈单位 、来电单位
  106. $('#comeCall_dep').comboSelect();
  107. $('#comeCall_deps').comboSelect();
  108. getAccount();
  109. function getOrderType() {
  110. $.get(huayi.config.callcenter_url + 'WorkType/GetTreeList', {
  111. "token": $.cookie("token"),
  112. }, function(result) {
  113. result = $.parseJSON(result);
  114. $.fn.zTree.init($("#TreeDemo"), setting3, result.data); //实例化树形图
  115. });
  116. }
  117. var setting3 = {
  118. data: {
  119. key: {
  120. name: "text"
  121. },
  122. simpleData: {
  123. enable: true,
  124. idKey: "id",
  125. rootPId: 0
  126. }
  127. },
  128. callback: {
  129. onClick: changeTreeClick
  130. }
  131. }
  132. function changeTreeClick(event, treeId, treeNode) {
  133. if(treeNode.level == 2){
  134. var chanId = treeNode.id;
  135. var changeName = treeNode.text;
  136. $('#typeclass').val(changeName);
  137. $('#typeclassId').val(chanId);
  138. var pidnode = treeNode.getParentNode();
  139. }
  140. };
  141. $('.down').click(function() {
  142. if($('.treeList').css('display') == 'block') {
  143. $('.treeList').css('display', 'none')
  144. } else {
  145. $('.treeList').css('display', 'block')
  146. }
  147. })
  148. $('#typeclass').click(function() {
  149. $('.treeList').css('display', 'block')
  150. })
  151. $('.treeList').mouseleave(function() {
  152. $(this).css('display', 'none')
  153. })
  154. function getSeating() {
  155. $.ajax({
  156. type: "get",
  157. url: huayi.config.callcenter_url + "CallInScreen/GetUsers",
  158. dataType: 'json',
  159. async: true,
  160. data: {
  161. token: $.cookie("token")
  162. },
  163. success: function(data) {
  164. var Count = data.data.user;
  165. $(Count).each(function(i, n) {
  166. $("<option value='" + n.F_UserCode + "'>" + n.F_UserName + "</option>").appendTo($("#userid"));
  167. })
  168. $('#userid').selectpicker('refresh');
  169. }
  170. });
  171. }
  172. })
  173. // //反馈单位 、来电单位
  174. function getAccount() {
  175. $.ajax({
  176. type: "get",
  177. url: huayi.config.callcenter_url + "Customer/BindLDdep",
  178. dataType: 'json',
  179. async: true,
  180. data: {
  181. token: $.cookie("token")
  182. },
  183. success: function(data) {
  184. var Count = data.data.dep;
  185. $(Count).each(function(i, n) {
  186. $("<option value='" + n + "'>" + n + "</option>").appendTo($("#comeCall_dep"));
  187. $("<option value='" + n + "'>" + n + "</option>").appendTo($("#comeCall_deps"));
  188. })
  189. $('#comeCall_dep').comboSelect();
  190. $('#comeCall_deps').comboSelect();
  191. }
  192. });
  193. }
  194. //工单来源
  195. function getOrderSource() {
  196. $.ajax({
  197. type: "get",
  198. url: huayi.config.callcenter_url + "Dictionary/GetDicValueListByFlag",
  199. dataType: 'json',
  200. async: true,
  201. data: {
  202. token: $.cookie("token"),
  203. flag: "GDLY"
  204. },
  205. success: function(data) {
  206. var Count = data.data;
  207. $(Count).each(function(i, n) {
  208. $("<option value='" + n.F_DictionaryValueId + "'>" + n.F_Name + "</option>").appendTo($("#orderSource"));
  209. })
  210. $('#orderSource').selectpicker('refresh');
  211. }
  212. });
  213. }
  214. //编辑器配置
  215. KindEditor.ready(function(K) {
  216. window.changeEditor = K.create('#cl_gdnr'); //修改弹出框编辑器
  217. });
  218. var F_UserCode = localStorage.getItem('F_UserCode');
  219. function View(val, row) {
  220. return '<div class="imgs" ><a class="xg" index="' + row.CreateUser + '" onclick= ck("' + val + '") >' + val + '</a></div>';
  221. $("#F_UserCode").val(row.CreateUser);
  222. }
  223. function forMaterDepart(val, row) {
  224. var str = "";
  225. if(val == '' || val == null) {
  226. str = "未知"
  227. } else {
  228. str = val
  229. }
  230. return str
  231. }
  232. function OverTime(val, row) {
  233. var cs = 'Ctime';
  234. if(row.LimitTime || row.State == 1) {
  235. if(row.totalhour * 1 > row.LimitTime * 1) {
  236. cs = 'overTime_';
  237. }
  238. }
  239. return '<div class="' + cs + '" ><a class="xg" ></a></div>';
  240. }
  241. function ck(val) {
  242. selid = val;
  243. $('.modify').attr('index', selid)
  244. $(".ckxq").removeClass("Hidens");
  245. $(".ckxq ul li").eq(0).trigger("click");
  246. xq();
  247. }
  248. function Detail(val) {
  249. // if(val) {
  250. // //var strD = decodeURIComponent(val);
  251. // var strD = val;
  252. // strD = helper.filter.filterHTMLTag(strD);
  253. // if(strD.length > 10) {
  254. // strD = strD.substring(0, 10) + '...';
  255. // }
  256. // return strD;
  257. // }
  258. if(val) {
  259. var str = '<div'
  260. str = str + ' title="' + val + '" ';
  261. if(val.length > 10){
  262. str =str + '>' + val.substring(0, 10) + '...</div>';
  263. }
  264. else{
  265. str = str + '>' + val + '</div>';
  266. }
  267. return str
  268. }
  269. }
  270. function xq() {
  271. $.getJSON(huayi.config.callcenter_url + 'WorkOrder/GetWorkOrder', {
  272. "orderid": selid,
  273. "token": $.cookie("token")
  274. }, function(result) {
  275. if(result.state.toLowerCase() == "success") {
  276. if(result.data.data.length > 0) {
  277. var data = result.data.data[0];
  278. $("#xq_gdbh").text(data.WorkOrderID);
  279. $("#xq_gdlx").text(data.GDLXName);
  280. $("#xq_cjsj").text(data.CreateTime);
  281. $("#xq_gdzt").html(GetStateName(data.State));
  282. $("#xq_khxm").text(data.Customer);
  283. $("#xq_khdh").text(data.CustomerTel);
  284. if(data.Address != null || data.Address != "") {
  285. $("#xq_wtlx").text(data.Address);
  286. } else {
  287. $("#xq_wtlx").text('未知');
  288. }
  289. $("#xq_zxgh").text(data.Source);
  290. // $("#xq_gdnr").html(decodeURIComponent(data.Detail)); //工单详情
  291. $("#xq_gdnr").html(data.Detail); //工单详情
  292. $('#bz-1').text(data.County);
  293. $("#bz-2").text(data.Province);
  294. $("#bz-3").text(data.City);
  295. $("#xq_kdxx").text(data.Files);
  296. $(".gdxq").eq(0).find(".allbc").remove();
  297. if(result.data.item.length > 0) {
  298. var html = '<div class="allbc">补充记录' +
  299. '<table class="table table-hover table-striped"><thead><tr><th><div class="th-inner">补充人</div></th>' +
  300. '<th><div class="th-inner">补充详情</div></th><th><div class="th-inner">创建时间</div></th></tr></thead><tbody>';
  301. $(result.data.item).each(function(i, n) {
  302. html += '<td>' + n.CreateUserName + '</td><td>' + n.Detail + '</td><td>' + n.CreateTime + '</td>';
  303. })
  304. html += '</tbody></table></div>';
  305. $(".gdxq").eq(0).append($(html));
  306. }
  307. }
  308. }
  309. })
  310. }
  311. function cljl(type) {
  312. //先销毁表格
  313. var table = $(".gdxq").eq(type).find("table");
  314. table.bootstrapTable('destroy');
  315. //初始化表格,动态从服务器加载数据
  316. table.bootstrapTable({
  317. method: "get", //使用get请求到服务器获取数据
  318. url: huayi.config.callcenter_url + "WorkOrder/GetItemList", //获取数据的Servlet地址
  319. contentType: 'application/x-www-form-urlencoded',
  320. striped: true, //表格显示条纹
  321. pagination: true, //启动分页
  322. pageSize: 10, //每页显示的记录数
  323. pageNumber: 1, //当前第几页
  324. pageList: [10, 20, 50, 100], //记录数可选列表
  325. search: false, //是否启用查询
  326. showColumns: false, //显示下拉框勾选要显示的列
  327. showRefresh: false, //显示刷新按钮
  328. sidePagination: "server", //表示服务端请求
  329. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  330. //设置为limit可以获取limit, offset, search, sort, order
  331. queryParamsType: "undefined",
  332. queryParams: function queryParams(params) { //设置查询参数
  333. var param = {
  334. page: params.pageNumber,
  335. pagesize: params.pageSize,
  336. type: type,
  337. id: selid,
  338. token: $.cookie("token")
  339. };
  340. return param;
  341. },
  342. onLoadSuccess: function() { //加载成功时执行
  343. //layer.msg("加载成功");
  344. },
  345. onLoadError: function() { //加载失败时执行
  346. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  347. }
  348. });
  349. }
  350. function GetTypeName(val) {
  351. var str = '';
  352. switch(val + '') {
  353. case '1':
  354. str = "咨询";
  355. break;
  356. case '2':
  357. str = "报修服务";
  358. break;
  359. case '3':
  360. str = "投诉建议";
  361. break;
  362. }
  363. return str;
  364. }
  365. function GetStateName(val) {
  366. // var str = '';
  367. // switch (val + '') {
  368. // case '0': str = "待指派"; break;
  369. // case '1': str = "处理中"; break;
  370. // case '2': str = "已完结"; break;
  371. // }
  372. //if(val==0){
  373. // return '<div class="warning">待指派</div>'
  374. //}else if(val==1){
  375. // return '<div class="primary">处理中</div>'
  376. //}else if(val==2){
  377. // return '<div class="defauli">已完结</div>'
  378. // }
  379. if(val == 0) {
  380. return '<div class="warning">待处理</div> '
  381. } else {
  382. return '<div class="defauli">已处理</div>'
  383. }
  384. return str;
  385. }
  386. function ComXQ(val, row) {
  387. var str = '';
  388. if(row.IsLast) {
  389. str = str + row.CreateUser + " 完结工单。" + "<br>";
  390. }
  391. if(row.DealTime) {
  392. str = str + row.CreateUser + " 处理工单:" + "<br>";
  393. str = str + row.Detail + "<br>";
  394. }
  395. if(row.SureUserName) {
  396. str = str + row.SureUserName + " 接单。" + "<br>";
  397. }
  398. if(row.ToDeptName) {
  399. str = str + row.CreateUserName + " 指派工单给 " + row.ToDeptName + " ";
  400. if(row.ToUserName) {
  401. str = str + row.ToUserName;
  402. }
  403. str = str + "<br>";
  404. }
  405. if(row.IsStart) {
  406. str = str + row.CreateUserName + " 重新开启工单。" + "<br>";
  407. }
  408. return str;
  409. }
  410. //获取部门
  411. var setting = {
  412. data: {
  413. key: {
  414. name: "F_DeptName"
  415. },
  416. simpleData: {
  417. enable: true,
  418. idKey: "F_DeptId",
  419. pIdKey: "F_ParentId",
  420. rootPId: 0
  421. }
  422. },
  423. callback: {
  424. onClick: zTreeOnClick
  425. }
  426. };
  427. function getBM(obj) {
  428. $.getJSON(huayi.config.callcenter_url + 'Department/GetAllList', {
  429. "token": $.cookie("token")
  430. }, function(result) {
  431. if(result.state.toLowerCase() == "success") {
  432. $.fn.zTree.init(obj, setting, result.data);
  433. }
  434. })
  435. }
  436. function zTreeOnClick(event, treeId, treeNode) {
  437. if(event) {
  438. event.stopPropagation();
  439. }
  440. var obj = $("#" + event.data.treeId).parent();
  441. obj.parent().find("input").eq(0).val(treeNode.F_DeptName);
  442. obj.parent().find("input").eq(1).val(treeNode.F_DeptId);
  443. obj.hide();
  444. getRY($(".clid"), $("#clbm").val());
  445. };
  446. //获取人员
  447. function getRY(obj, deptid) {
  448. obj.empty();
  449. obj.append('<li itemid="">--请选择--</li>');
  450. obj.parent().parent().find("input").eq(0).val("--请选择--");
  451. obj.parent().parent().find("input").eq(1).val("");
  452. $.getJSON(huayi.config.callcenter_url + 'UserAccount/GetDeptUserList', {
  453. "deptid": deptid,
  454. "token": $.cookie("token")
  455. }, function(result) {
  456. if(result.state.toLowerCase() == "success") {
  457. $(result.data).each(function(i, n) {
  458. obj.append('<li itemid="' + n.F_UserCode + '">' + n.F_UserName + '</li>');
  459. })
  460. obj.find("li").click(function(event) {
  461. if(event) {
  462. event.stopPropagation();
  463. }
  464. $(this).parent().parent().parent().find("input").eq(0).val($(this).text());
  465. $(this).parent().parent().parent().find("input").eq(1).val($(this).attr("itemid"));
  466. $(this).parent().parent().hide();
  467. });
  468. }
  469. })
  470. }
  471. function Appoint(val, row) {
  472. return czhtml(val, row, "处理");
  473. }
  474. function Dispose(val, row) {
  475. return czhtml(val, row, "处理");
  476. }
  477. function czhtml(val, row, str) {
  478. if(row.CreateUser == F_UserCode) {
  479. return '<div class="imgs" ><a class="xg" onclick="getOrderDetail(\'' + val + '\',\'' + row.TypeClassName + '\')">' + str + '</a></div>';
  480. }
  481. }
  482. function oper(val, obj) {
  483. zpid = val;
  484. var zp = JSON.parse($(obj).attr("itemstr"));
  485. $("#cl_gdbh").text(zp.WorkOrderID);
  486. $("#cl_gdlx").text(zp.TypeClassName);
  487. $("#cl_khxm").text(zp.Customer);
  488. $("#cl_khdh").text(zp.CustomerTel);
  489. changeEditor.html(zp.Detail_2)
  490. $("#clbmname").val("");
  491. $("#clbm").val("");
  492. $("#clidname").val("");
  493. $("#clid").val("");
  494. $(".clid").empty();
  495. $("#cont").val("");
  496. $(".t-shade").addClass("cx");
  497. $(".clgd").addClass("cx");
  498. }
  499. //获取详情
  500. function getOrderDetail(orderid, typeName) {
  501. zpid = orderid;
  502. $.ajax({
  503. type: "get",
  504. url: huayi.config.callcenter_url + "WorkOrder/GetWorkOrder",
  505. dataType: 'json',
  506. async: true,
  507. cache: false,
  508. data: {
  509. orderid: orderid,
  510. token: $.cookie("token")
  511. },
  512. success: function(result) {
  513. if(result.data.data.length > 0) {
  514. var data = result.data.data[0];
  515. if(data) {
  516. $("#cl_gdbh").text(data.WorkOrderID);
  517. $("#cl_gdlx").text(typeName);
  518. $("#cl_khxm").text(data.Customer);
  519. $("#cl_khdh").text(data.CustomerTel);
  520. changeEditor.html(data.Detail)
  521. $("#clbmname").val("");
  522. $("#clbm").val("");
  523. $("#clidname").val("");
  524. $("#clid").val("");
  525. $(".clid").empty();
  526. $("#cont").val("");
  527. $(".t-shade").addClass("cx");
  528. $(".clgd").addClass("cx");
  529. }
  530. }
  531. }
  532. });
  533. }
  534. //点解
  535. $('.modify').click(function() {
  536. var id = $(this).attr('index');
  537. layer.open({
  538. type: 2,
  539. title: '修改工单',
  540. maxmin: true, //开启最大化最小化按钮
  541. area: ['80%', '90%'],
  542. content: '../WorkOrder/Xga.html?id=' + id
  543. // content: 'addZhiShiKuManger.html?addId=' + id + '&addPid='+ pid +'&addName='+ name +''
  544. });
  545. })
  546. //
  547. function TZ(val) {
  548. var id = val;
  549. layer.open({
  550. type: 2,
  551. title: '修改工单',
  552. maxmin: true, //开启最大化最小化按钮
  553. area: ['80%', '90%'],
  554. content: '../WorkOrder/Xga.html?id=' + id
  555. // content: 'addZhiShiKuManger.html?addId=' + id + '&addPid='+ pid +'&addName='+ name +''
  556. });
  557. }
  558. function Remove(val, row) {
  559. if(row.CreateUser == F_UserCode) {
  560. return '<div class="imgs RemoveC" ><a onclick= remove("' + val + '") >删除</a> <a onclick= TZ("' + row.WorkOrderID + '") >修改</a> </div>';
  561. }
  562. }
  563. function remove(str, row) {
  564. var type = $('#orderSource').val(); //工单来源
  565. var typeclass = $('#typeclassId').val(); //工单类型
  566. var starttime = $('#greetingTimes').val() && $('#greetingTimes').val().split(' ~ ')[0]; //开始时间
  567. var endtime = $('#greetingTimes').val() && $('#greetingTimes').val().split(' ~ ')[1]; //结束时间
  568. var lddep = $('#comeCall_dep_input').val(); //来电单位
  569. var fkdep = $('#comeCall_deps_input').val(); //来电单位
  570. var userid = $('#userid').val(); //坐席
  571. layer.confirm('确定删除当前记录?', {
  572. btn: ['是', '否'] //按钮
  573. }, function(index) {
  574. /*执行删除*/
  575. $.ajax({
  576. type: "get",
  577. url: huayi.config.callcenter_url + "WorkOrder/DelWorkOrder",
  578. dataType: 'json',
  579. async: true,
  580. data: {
  581. ids: str,
  582. token: $.cookie("token")
  583. },
  584. success: function(data) {
  585. layer.msg("删除成功!");
  586. // initTable(type, typeclass, starttime, endtime, lddep, fkdep, userid);
  587. $('#workorderlist').bootstrapTable('refresh');
  588. $('#workorderlist_').bootstrapTable('refresh');
  589. // initTables(type, typeclass, starttime, endtime, lddep, fkdep, userid);
  590. layer.close(index);
  591. }
  592. });
  593. });
  594. }
  595. //受理人判断
  596. function GetState(val, row) {
  597. if(val == 0) {
  598. return '<div class="defauli">' + IsNull(row.CreateUserNameRel) + '</div>'
  599. } else {
  600. return '<div class="defauli">' + IsNull(row.LastDealUserNameRel) + '</div>'
  601. }
  602. }
  603. //判断是否为null
  604. function IsNull(str){
  605. if(str){
  606. str =str;
  607. }else{
  608. str=" - ";
  609. }
  610. return str
  611. }