No Description

workorder.html 18KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8" />
  5. <title>工单查询</title>
  6. <script src="../Script/Common/huayi.load.js"></script>
  7. <script src="../Script/Common/huayi.config.js"></script>
  8. <link rel="stylesheet" href="../css/bootstrap-select.css" />
  9. <link rel="stylesheet" href="../js/zTree/zTreeStyle.css" />
  10. <link rel="stylesheet" href="../css/init.css" />
  11. <link rel="stylesheet" href="../js/layui/css/layui.css">
  12. <link rel="stylesheet" href="../css/WorkOrder/WorkOrderList.css">
  13. </head>
  14. <body class="gray-bg">
  15. <div class="wrapper wrapper-content animated fadeInRight">
  16. <div style="padding: 10px" class="tj_content clearFix">
  17. <div style="padding: 10px" class="tj_content clearFix">
  18. <div>
  19. <span>【搜索信息】</span>
  20. <div class="box_content">
  21. <table id="sqzx" style="width: 100%" border="0" cellspacing="0" cellpadding="0">
  22. <!--<tr>
  23. <th>工单来源:</th>
  24. <td>
  25. <select class="form-control" id="source"></select>
  26. </td>
  27. <th>来电号码:</th>
  28. <td>
  29. <input type="text" id="tel" class="form-control" placeholder="请输入来电号码" />
  30. </td>
  31. <th>录入时间:</th>
  32. <td colspan="3">
  33. <input id="starttime" class="photo x-color laydate-icon" type="text" autocomplete="off" style="height: 35px;" />-<input id="endtime" class="photo x-color laydate-icon" type="text" autocomplete="off" style="height: 35px;" />
  34. </td>
  35. </tr>-->
  36. <tr>
  37. <th>事项编号:</th>
  38. <td>
  39. <input type="text" placeholder="输入工单号" id="wids" class="form-control" />
  40. </td>
  41. <!--<th><span class="nameJustified">来电人:</span></th>
  42. <td>
  43. <input type="text" id="name" class="form-control" autocomplete="off" />
  44. </td>-->
  45. <th>来电内容:</th>
  46. <td>
  47. <input type="text" placeholder="输入来电内容" id="workOrderContent" class="form-control" />
  48. </td>
  49. <td>
  50. <botton class="btns Seach">搜索</botton>
  51. <botton class="btns addpool">添加到样本池</botton>
  52. </td>
  53. </tr>
  54. <!--<tr>
  55. <th>工单标题:</th>
  56. <td>
  57. <input type="text" placeholder="输入工单标题" id="workOrderTitle" class="form-control" />
  58. </td>
  59. <th>反映类别:</th>
  60. <td class="reflectCategory-wrapper" style=" width: 407px;">
  61. <input type="text" id="reflectCategory" class="form-control" autocomplete="off" />
  62. <i class="CleansReactionCategory fa fa-close"></i>
  63. <input type="hidden" id="keyid" />
  64. <div class="reflectCategoryList-wrapper">
  65. <ul id="reflectCategoryList">
  66. </ul>
  67. </div>
  68. </td>
  69. <td></td>
  70. <td></td>
  71. <td></td>
  72. </tr>-->
  73. <!--<tr>
  74. <th>办理结果:</th>
  75. <td>
  76. <input type="text" placeholder="输入办理结果" id="workOrderProcessingResult" class="form-control" />
  77. </td>
  78. <th>工单状态:</th>
  79. <td>
  80. <select name="" id="state" class="form-control">
  81. <option selected="selected" value="">
  82. 请选择
  83. </option>
  84. <option value="0">新工单</option>
  85. <option value="1">待交办</option>
  86. <option value="2">待查收</option>
  87. <option value="3">
  88. 退回审核中
  89. </option>
  90. <option value="4">办理中</option>
  91. <option value="5">
  92. 延时审核中
  93. </option>
  94. <option value="6">已办理</option>
  95. <option value="11">
  96. 重办待交办
  97. </option>
  98. <option value="13">重办驳回</option>
  99. <option value="8">重办中</option>
  100. <option value="9">已结案</option>
  101. </select>
  102. </td>
  103. <th>来电类型:</th>
  104. <td>
  105. <select class="form-control Min-width" id="type"></select>
  106. <botton class="btns Seach">搜索</botton>
  107. </td>
  108. </tr>-->
  109. </table>
  110. </div>
  111. </div>
  112. <div>
  113. <div style="width: 100%; padding: 10px">
  114. <table id="orderlist" data-row-style="rowStyle" data-query-params="queryParams" data-pagination="true">
  115. <thead>
  116. <tr>
  117. <th data-checkbox="true">多选</th>
  118. <th data-field="F_WorkOrderId" data-formatter="View" data-align="center">工单单号</th>
  119. <th data-field="F_ComTitle" data-formatter="GetCont" data-align="center">诉求标题</th>
  120. <th data-field="F_ComContent" data-formatter="GetCont" data-align="center">来电内容</th>
  121. <th data-field="DeptName" data-align="center">承办单位</th>
  122. <th data-field="UserName" data-align="center">受理人</th>
  123. <th data-field="F_WorkState" data-align="center" data-formatter="States">办理状态</th>
  124. <th data-field="OverState" data-formatter="OverTime" data-align="center">时限</th>
  125. <th data-field="LimitTime" data-formatter="BanTime" data-align="center">办理时限</th>
  126. <th data-field="F_Result" data-formatter="GetCont" data-align="center">办理结果</th>
  127. </tr>
  128. </thead>
  129. <tbody class="list"></tbody>
  130. </table>
  131. </div>
  132. </div>
  133. </div>
  134. </div>
  135. </div>
  136. <script src="../js/layui/layui.js"></script>
  137. <script src="../js/bootstrap-select.js"></script>
  138. <script src="../css/laydate/laydate.js"></script>
  139. <script src="../My97DatePicker/WdatePicker.js"></script>
  140. <script src="../js/zTree/jquery.ztree.core.js"></script>
  141. <script src="../js/search/screen.js"></script>
  142. <script src="../js/WorkOrder/WorkOrderList.js"></script>
  143. <script src="../Script/Common/huayi.common.js"></script>
  144. <script src="../js/WorkOrder/orderListOperation.js"></script>
  145. <script>
  146. var wid = helper.request.queryString("wid");
  147. var jianhang = helper.request.queryString("jianhang");
  148. var themeId = helper.request.queryString("id");
  149. var startTime = helper.request.queryString("startTime");
  150. var endTime = helper.request.queryString("endTime");
  151. var exportParams; // 导出参数
  152. $(document).ready(function() {
  153. if(wid) {
  154. $("#tel").val(wid);
  155. load();
  156. }
  157. laydate.skin('blue');
  158. load();
  159. });
  160. $('.addpool').click(function() {
  161. // 判断多选是否有数据
  162. var rows = $('#orderlist').bootstrapTable('getSelections');
  163. console.log(rows);
  164. var orderkey = $('#workOrderContent').val();
  165. if (rows.length <=0 && orderkey === '') {
  166. layer.msg("请选择工单或者输入工单内容");
  167. return;
  168. }
  169. var workorderid = [];
  170. if (rows.length > 0) {
  171. rows.forEach(function(o) {
  172. workorderid.push(o.F_WorkOrderId)
  173. })
  174. }
  175. layer.confirm('确定加入样本池吗?', function(index) {
  176. $.post(huayi.config.callcenter_url + 'SamplePool/AddSample', {
  177. keyword: orderkey,
  178. specialid: themeId,
  179. workorderid: workorderid.join(),
  180. "token": $.cookie("token")
  181. }, function(result) {
  182. result = $.parseJSON(result);
  183. if(result.state.toLowerCase() == "success") {
  184. layer.msg("操作成功");
  185. var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
  186. parent.layer.close(index); //再执行关闭
  187. }
  188. })
  189. });
  190. })
  191. $("#orderlist").on("click-row.bs.table", function(e, row, ele) {
  192. $(".success").removeClass("success"); //去除之前选中的行的,选中样式
  193. $(ele).addClass("success"); //添加当前选中的 success样式用于区别
  194. });
  195. //获取查询信息
  196. function load() {
  197. //先销毁表格
  198. $("#orderlist").bootstrapTable("destroy");
  199. //初始化表格,动态从服务器加载数据
  200. $("#orderlist").bootstrapTable({
  201. method: "get", //使用get请求到服务器获取数据
  202. url: huayi.config.callcenter_url + "WorkOrder/GetList", //获取数据的Servlet地址
  203. contentType: "application/x-www-form-urlencoded",
  204. striped: true, //表格显示条纹
  205. pagination: true, //启动分页
  206. pageSize: 10, //每页显示的记录数
  207. pageNumber: 1, //当前第几页
  208. pageList: [10, 20, 50, 100], //记录数可选列表
  209. search: false, //是否启用查询
  210. showColumns: false, //显示下拉框勾选要显示的列
  211. showRefresh: false, //显示刷新按钮
  212. sidePagination: "server", //表示服务端请求
  213. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  214. //设置为limit可以获取limit, offset, search, sort, order
  215. queryParamsType: "undefined",
  216. queryParams: function queryParams(params) {
  217. //设置查询参数
  218. //alert(params.pageNumber)
  219. var param = {
  220. page: params.pageNumber,
  221. pagesize: params.pageSize,
  222. workid: $("#wids").val().replace(/\s+/g, ""),
  223. starttime: startTime, //=开始时间
  224. endtime: endTime, //=结束时间
  225. ComContent: $("#workOrderContent").val().replace(/\s+/g, ""), // 工单内容
  226. token: $.cookie("token"),
  227. };
  228. // 导出参数
  229. exportParams = param;
  230. return param;
  231. },
  232. onLoadSuccess: function(data) {
  233. //加载成功时执行
  234. // layer.msg("加载成功");
  235. //console.log(data);
  236. },
  237. onLoadError: function() {
  238. //加载失败时执行
  239. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  240. },
  241. });
  242. }
  243. //状态
  244. function States(val, row) {
  245. var html = "";
  246. switch(val + "") {
  247. case "0":
  248. html = "新工单";
  249. if(row.F_IsReturn == 1) {
  250. html = "新工单(回退)";
  251. }
  252. break;
  253. case "1":
  254. html = "待交办";
  255. break;
  256. case "2":
  257. html = '<span style="color:#FF0000;">待查收</span>';
  258. break;
  259. case "3":
  260. html = "退回审核中";
  261. break;
  262. case "4":
  263. html = "办理中";
  264. break;
  265. case "5":
  266. html = "延时审核";
  267. break;
  268. case "6":
  269. if(row.F_IsProtect === 2 || row.F_IsProtect === 3) {
  270. html = "已办未果"
  271. } else {
  272. html = "已办理";
  273. }
  274. break;
  275. case "7":
  276. html = "待回访";
  277. break;
  278. case "8":
  279. if(row.F_Identification === 0) {
  280. html = "重置转发";
  281. } else if(row.F_Identification === 1) {
  282. html = "退回重办";
  283. } else {
  284. html = "重办中";
  285. }
  286. break;
  287. case "9":
  288. html = "已结案";
  289. break;
  290. case "10":
  291. html = "待审核";
  292. break;
  293. case "11":
  294. html = "重办待交办";
  295. break;
  296. // case '12':
  297. // html = '待审核';
  298. // break;
  299. case "13":
  300. html = "重办驳回";
  301. break;
  302. }
  303. return html;
  304. }
  305. //音频
  306. function setCode(val) {
  307. if(val) {
  308. return(
  309. '<div class="imgs" style="cursor: pointer;">' +
  310. '<img src="../img/vice.png" alt="" onclick= "helper.luyin.view(this)" item="' +
  311. val +
  312. '" />' +
  313. "</div>"
  314. );
  315. } else {
  316. return "";
  317. }
  318. }
  319. //编号
  320. function serialNumber(val, row, index) {
  321. return index + 1;
  322. }
  323. //电话类别
  324. function getPhoneType(obj) {
  325. obj.empty();
  326. $("<option value=''>请选择</option>").appendTo(obj);
  327. $.ajax({
  328. type: "get",
  329. url: huayi.config.callcenter_url + "Dictionary/GetDicValueListById",
  330. dataType: "json",
  331. async: true,
  332. data: {
  333. "token": $.cookie("token"),
  334. id: 2498,
  335. },
  336. success: function(data) {
  337. if(data.state.toLowerCase() == "success") {
  338. var content = data.data;
  339. $(content).each(function(i, n) {
  340. $("<option value='" + n.F_Value + "'>" + n.F_Remark + "</option>")
  341. .appendTo(obj);
  342. })
  343. }
  344. }
  345. });
  346. }
  347. // 关联工单类型
  348. function isReleaseFormatter(val, row) {
  349. if(String(val) === "2") {
  350. return "<span style='color: #e02433'>主工单</span>"
  351. } else if(String(val) === "3") {
  352. return "<span style='color: #e02433'>子工单</span>"
  353. }
  354. }
  355. function GetCont(val) {
  356. if(val) {
  357. var str = "<div ";
  358. if(val.length > 10) {
  359. str = str + ' title="' + val + '" ';
  360. val = val.substr(0, 10) + "...";
  361. }
  362. return str + ">" + val + "</div>";
  363. } else {
  364. return "";
  365. }
  366. }
  367. // 是否督办
  368. function superviseFormatter(val, row) {
  369. var arr = ["否", "是"];
  370. var str = arr[val];
  371. return str;
  372. }
  373. //操作
  374. function Dispose(val, row) {
  375. var Rows = row.Buttons;
  376. var html = "";
  377. for(var i = 0; i < Rows.length; i++) {
  378. var html1 = huayi.config.arr[Rows[i].key * 1 - 1];
  379. if(html1) {
  380. html1 = html1.replace("data", val);
  381. html1 = html1.replace("isProtect", row.F_IsProtect);
  382. html1 = html1.replace("row", row.F_MainDeptId);
  383. html1 = html1.replace("state", row.F_WorkState);
  384. }
  385. html += html1;
  386. }
  387. return html;
  388. }
  389. //时限
  390. function OverTime(val, row) {
  391. if(val == 1) {
  392. return(
  393. '<div class="" style="cursor: pointer;">' +
  394. '<span class="Greens">' +
  395. row.GapTime +
  396. "</span>" +
  397. "</div>"
  398. );
  399. } else if(val == 2) {
  400. return(
  401. '<div class="" style="cursor: pointer;">' +
  402. '<span class="Yellows">' +
  403. row.GapTime +
  404. "</span>" +
  405. "</div>"
  406. );
  407. } else if(val == 3) {
  408. return(
  409. '<div class="" style="cursor: pointer;">' +
  410. '<span class="Reds">' +
  411. row.GapTime +
  412. "</span>" +
  413. "</div>"
  414. );
  415. }
  416. }
  417. //办理时限
  418. function BanTime(val) {
  419. if(val) {
  420. var time = val.substring(0, val.indexOf(" "));
  421. return(
  422. '<div class="" style="cursor: pointer;">' +
  423. "<span>" +
  424. time +
  425. "</span>" +
  426. "</div>"
  427. );
  428. }
  429. }
  430. // 监察督办派发
  431. function jcsuperviseSend(str) {
  432. layer.open({
  433. type: 2,
  434. content: "../CommonHtml/jcsuperviseSend.html?wid=" + str, //iframe的url,no代表不显示滚动条
  435. title: "监察督办派发",
  436. area: ["80%", "80%"], //宽高
  437. });
  438. }
  439. // 督查督办派发
  440. function jdcsuperviseSend(str) {
  441. layer.open({
  442. type: 2,
  443. content: "../CommonHtml/jdcsuperviseSend.html?wid=" + str, //iframe的url,no代表不显示滚动条
  444. title: "督查督办派发",
  445. area: ["80%", "80%"], //宽高
  446. });
  447. }
  448. //强制回收
  449. function recycles() {
  450. layer.confirm("确定要强制退回吗?", {
  451. btn: ["是", "否"], //按钮
  452. });
  453. }
  454. //来源
  455. function LY(obj) {
  456. obj.empty();
  457. obj.append(
  458. '<option selected="selected" value="">请选择</option>'
  459. );
  460. $.getJSON(
  461. huayi.config.callcenter_url +
  462. "Dictionary/GetDicValueListById", {
  463. token: $.cookie("token"),
  464. id: 1,
  465. },
  466. function(data) {
  467. if(data.state.toLowerCase() == "success") {
  468. var content = data.data;
  469. $(content).each(function(i, n) {
  470. $(
  471. "<option value='" +
  472. n.F_ValueId +
  473. "'>" +
  474. n.F_Value +
  475. "</option>"
  476. ).appendTo(obj);
  477. });
  478. }
  479. }
  480. );
  481. }
  482. //类别
  483. function LB(obj) {
  484. obj.empty();
  485. obj.append(
  486. '<option selected="selected" value="">请选择</option>'
  487. );
  488. $.getJSON(
  489. huayi.config.callcenter_url +
  490. "Dictionary/GetDicValueListById", {
  491. token: $.cookie("token"),
  492. id: 2,
  493. },
  494. function(data) {
  495. if(data.state.toLowerCase() == "success") {
  496. var content = data.data;
  497. $(content).each(function(i, n) {
  498. $(
  499. "<option value='" +
  500. n.F_ValueId +
  501. "'>" +
  502. n.F_Value +
  503. "</option>"
  504. ).appendTo(obj);
  505. });
  506. }
  507. }
  508. );
  509. }
  510. // 主题
  511. function ZT(obj) {
  512. obj.empty();
  513. obj.append(
  514. '<option selected="selected" value="">请选择</option>'
  515. );
  516. $.getJSON(
  517. huayi.config.callcenter_url +
  518. "Dictionary/GetDicValueListById", {
  519. token: $.cookie("token"),
  520. id: 3,
  521. },
  522. function(data) {
  523. if(data.state.toLowerCase() == "success") {
  524. var content = data.data;
  525. $(content).each(function(i, n) {
  526. $(
  527. "<option value='" +
  528. n.F_ValueId +
  529. "'>" +
  530. n.F_Value +
  531. "</option>"
  532. ).appendTo(obj);
  533. });
  534. }
  535. }
  536. );
  537. }
  538. function tree() {
  539. $.get(
  540. huayi.config.callcenter_url + "Department/GetDeptList", {
  541. token: $.cookie("token"),
  542. // "pid": pid
  543. },
  544. function(result) {
  545. result = $.parseJSON(result);
  546. $.fn.zTree.init(
  547. $("#addTreeDemo"),
  548. setting1,
  549. result.data
  550. ); //实例化树形图
  551. }
  552. );
  553. }
  554. var setting1 = {
  555. data: {
  556. key: {
  557. name: "F_DeptName",
  558. },
  559. simpleData: {
  560. enable: true,
  561. idKey: "F_DeptId",
  562. pIdKey: "F_PartentId",
  563. rootPId: 0,
  564. },
  565. },
  566. callback: {
  567. onClick: zTreeOnClick,
  568. },
  569. };
  570. function zTreeOnClick(event, treeId, treeNode) {
  571. // if(treeNode.level >= 1) {
  572. $(".inps").val(treeNode.F_DeptName);
  573. $("#PID").val(treeNode.F_DeptId);
  574. $("#Dpment").val(treeNode.F_DeptId);
  575. $(".Cleans").show();
  576. // }
  577. }
  578. function Close() {
  579. $(".lyxz").removeClass("cx");
  580. if($("audio").length > 0) {
  581. $("audio")[0].pause();
  582. }
  583. }
  584. // 导出文件
  585. $(".exportFile").click(function() {
  586. exportParams.isdc = 1;
  587. exportFileFun("WorkOrder/GetList", exportParams)
  588. })
  589. </script>
  590. </body>
  591. </html>