暂无描述

WorkOrderSearch.html 20KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>综合查询</title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <script src="../Script/Common/huayi.load.js"></script>
  8. <script src="../Script/Common/huayi.config.js"></script>
  9. <link href="../css/WorkOrder/Search.css" rel="stylesheet">
  10. <link rel="stylesheet" href="../js/zTree/zTreeStyle.css" />
  11. <link href="../css/Table/table1.css" rel="stylesheet" />
  12. <link href="../css/init.css" rel="stylesheet" />
  13. <script src="../js/zTree/jquery.ztree.core.js"></script>
  14. <script src="../js/download/download.js"></script>
  15. <script src="../js/WorkOrder/WorkOrder.js"></script>
  16. <script src="../js/laydate/laydate.js"></script>
  17. <!-- 录屏 -->
  18. <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/rrweb@latest/dist/rrweb.min.css"/>
  19. <!-- 回放播放器 -->
  20. <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/rrweb-player@latest/dist/style.css"/>
  21. <!-- 录屏-->
  22. <script src="https://cdn.jsdelivr.net/npm/rrweb@latest/dist/record/rrweb-record.min.js"></script>
  23. <script src="https://cdn.jsdelivr.net/npm/rrweb@latest/dist/rrweb.min.js"></script>
  24. <!-- 回放播放器 -->
  25. <script src="https://cdn.jsdelivr.net/npm/rrweb-player@latest/dist/index.js"></script>
  26. <style>
  27. table td {
  28. word-break: break-all;
  29. word-wrap: break-word;
  30. }
  31. .gdt {
  32. height: 300px;
  33. overflow: auto;
  34. }
  35. #STime {
  36. background-color: #FFF;
  37. background-image: none;
  38. border: 1px solid #e5e6e7;
  39. border-radius: 1px;
  40. color: inherit;
  41. padding: 2px 2PX 2PX 10PX;
  42. }
  43. .photo{
  44. color: #676a6c;
  45. }
  46. .t-shadeLY {
  47. position: fixed;
  48. top: 0;
  49. left: 0;
  50. width: 100%;
  51. height: 100%;
  52. background: rgba(0, 0, 0, 0.48);
  53. z-index: 10004;
  54. display: none;
  55. }
  56. .shade_kLY {
  57. z-index: 10005;
  58. width: 40%;
  59. left: 20%;
  60. margin: 20% auto;
  61. position: absolute;
  62. background-color: #fff;
  63. box-shadow: 1px 1px 50px rgba(0, 0, 0, .3);
  64. border-radius: 5px;
  65. }
  66. .shade_titleLY {
  67. padding: 0 80px 0 20px;
  68. height: 42px;
  69. line-height: 42px;
  70. border-bottom: 1px solid #eee;
  71. font-size: 16px;
  72. color: #FFFFFF;
  73. overflow: hidden;
  74. background-color: #00a1cb;
  75. border-radius: 2px 2px 0 0;
  76. position: relative;
  77. }
  78. .setwinLY {
  79. position: absolute;
  80. right: 15px;
  81. top: 5px;
  82. font-size: 20px;
  83. line-height: initial;
  84. }
  85. .setwinLY a {
  86. font-size: 20px;
  87. color: #fff;
  88. }
  89. .shade_contentLY {
  90. overflow-y: auto;
  91. position: relative;
  92. padding-bottom: 50px;
  93. padding: 10px;
  94. }
  95. .cxLY {
  96. display: block;
  97. }
  98. #replayers{
  99. text-align: center;
  100. /* color: #EEEEEE; */
  101. }
  102. .rr-player.svelte-1wetjm2{
  103. margin: 0px auto;
  104. float: none;
  105. /* box-shadow: 0 24px 48px #000000; */
  106. }
  107. .shade_kLY{
  108. margin: 2% auto;
  109. overflow-y: scroll;
  110. width: 65%;
  111. min-width: 1040px;
  112. height: 750px;
  113. }
  114. .file_list{
  115. position: absolute;
  116. top: 30px;
  117. right: 35px;
  118. }
  119. ul li{
  120. margin-left: 3px;
  121. }
  122. </style>
  123. </head>
  124. <body class="gray-bg">
  125. <div class="wrapper wrapper-content animated fadeInRight">
  126. <div class="daoHang clearfix">
  127. <div class="dhLeft">
  128. <sapn><i class="syIcon"></i>位置:
  129. <a href="javaScript:;" id="ReIndex">首页</a>&gt;
  130. <a href="javaScript:;">工单管理</a>&gt;
  131. <a href="" style="color: #000;">综合查询</a>
  132. </sapn>
  133. </div>
  134. </div>
  135. <div class="th-box">
  136. <div class="th-bar">
  137. <div class="seach-box fr">
  138. <ul>
  139. <li style="position: relative;">创建时间:
  140. <i class="tub fa fa-calendar"></i>
  141. <input class="photo x-color laydate-icon" type="text" id="STime" style="width: 220px;" /></li>
  142. <!--<li>新建时间:<input class="photo x-color inputs" type="text" onfocus="WdatePicker({lang:'zh-cn',dateFmt:'HH-mm-ss'})" /></li>-->
  143. <li>工单状态:
  144. <select id="s_type" class="photo x-color inputs">
  145. <option value="">请选择</option>
  146. <option value="0">待完成</option>
  147. <option value="1">已完成</option>
  148. </select>
  149. </li>
  150. <li>是否修复:
  151. <select id="isrestore" class="photo x-color inputs">
  152. <option value="">请选择</option>
  153. <option value="0">否</option>
  154. <option value="1">是</option>
  155. </select>
  156. </li>
  157. <li>
  158. 问题分类:
  159. <select name="" id="MessageType" style="padding: 3px;border-color: #e5e6e7;">
  160. <option value="">--请选择--</option>
  161. </select>
  162. </li>
  163. <li>坐席明细:
  164. <select id="zx" class="photo x-color inputs">
  165. <option value="">请选择</option>
  166. </select>
  167. </li>
  168. <li>客户电话:<input class="photo x-color inputs" type="text" id="tel" /></li>
  169. <li>处理部门:
  170. <select id="clbm" class="photo x-color inputs">
  171. <option value="">请选择</option>
  172. </select>
  173. </li>
  174. <li>
  175. <a class="sc_btn btns ss">搜索</a>
  176. </li>
  177. <li>
  178. <a class="sc_btn btns exports">导出</a>
  179. </li>
  180. </ul>
  181. </div>
  182. </div>
  183. </div>
  184. <div style="width: 100%;padding: 10px;">
  185. <table id="workorderlist" data-row-style="rowStyle" data-query-params="queryParams" data-pagination="true">
  186. <thead>
  187. <tr>
  188. <th data-field="" data-formatter="ex2Pdf" data-align="center">操作</th>
  189. <th data-field="WorkOrderID" data-formatter="View" data-align="center">工单编号</th>
  190. <!--<th data-field="WorkOrderID" data-formatter="setCode">录音</th>-->
  191. <!--<th data-field="Type" data-formatter="GetTypeName" data-align="center">工单类型</th>-->
  192. <th data-field="State" data-formatter="GetStateName" data-align="center">工单状态</th>
  193. <th data-field="Detail" data-formatter="Detail" data-align="center">反映问题</th>
  194. <th data-field="clcontent" data-formatter="Detail" data-align="center">问题处理情况</th>
  195. <!--<th data-field="IsAudit" data-align="center" data-formatter="Audit">信息审核</th>-->
  196. <th data-field="InfoType" data-align="center">问题分类</th>
  197. <th data-field="InfoTypeDetail" data-align="center">热点问题</th>
  198. <th data-field="Unit" data-align="center">处理部门</th>
  199. <th data-field="Customer" data-align="center">客户姓名</th>
  200. <th data-field="CustomerTel" data-align="center">客户电话</th>
  201. <th data-field="CreateUser" data-align="center">创建人工号</th>
  202. <th data-field="CreateUserName" data-align="center">创建人</th>
  203. <th data-field="AuditUserName" data-align="center">处理人</th>
  204. <th data-field="CreateTime" data-align="center">创建时间</th>
  205. <th data-field="Source" data-align="center">工单来源</th>
  206. <th data-field="assign" data-align="center">是否转办</th>
  207. </tr>
  208. </thead>
  209. </table>
  210. </div>
  211. <!--查看详情-->
  212. <div class="ckxq Hidens">
  213. <ul class="clearfix ckxq_ul">
  214. <li class="Active" index="0">工单详情</li>
  215. <li index="1">处理记录</li>
  216. <!--<li index="4">评论记录</li>-->
  217. <span class="Closed">×</span>
  218. </ul>
  219. <div class="gdxq">
  220. <table id="gdxq_table" border="0" class="table table-bordered table-hover " style="width: 100%;">
  221. <tbody class="tbodys">
  222. <tr>
  223. <th>工单编号:</th>
  224. <td>
  225. <span id="xq_gdbh"></span>
  226. </td>
  227. <!--<th>工单类型:</th>
  228. <td>
  229. <span id="xq_gdlx"></span>
  230. </td>-->
  231. <th>问题分类:</th>
  232. <td>
  233. <span id="xq_xxfl"></span>
  234. </td>
  235. <th>创建时间:</th>
  236. <td>
  237. <span id="xq_cjsj"></span>
  238. </td>
  239. </tr>
  240. <tr>
  241. <th>工单状态:</th>
  242. <td>
  243. <span id="xq_gdzt"></span>
  244. </td>
  245. <th>客户姓名:</th>
  246. <td>
  247. <span id="xq_khxm"></span>
  248. </td>
  249. <th>客户电话:</th>
  250. <td>
  251. <span id="xq_khdh"></span>
  252. </td>
  253. </tr>
  254. <tr>
  255. <th>工单来源:</th>
  256. <td>
  257. <span id="xq_wtlx"></span>
  258. </td>
  259. <th>创建人工号:</th>
  260. <td>
  261. <span id="xq_zxgh"></span>
  262. </td>
  263. <th>创建人:</th>
  264. <td>
  265. <span id="xq_zxxm"></span>
  266. </td>
  267. </tr>
  268. <tr>
  269. <!-- <th>营业部:</th>
  270. <td>
  271. <span id="xq_county"></span>
  272. </td> -->
  273. <th>热点问题:</th>
  274. <td>
  275. <span id="xq_rdwt"></span>
  276. </td>
  277. <th>调查时间:</th>
  278. <td>
  279. <span id="xq_time"></span>
  280. </td>
  281. <th>调查员:</th>
  282. <td>
  283. <span id="xq_investigator"></span>
  284. </td>
  285. </tr>
  286. <tr>
  287. <th>处理部门:</th>
  288. <td>
  289. <span id="xq_jbdw"></span>
  290. </td>
  291. <th>处理人</th>
  292. <td>
  293. <span id="xq_clr"></span>
  294. </td>
  295. </tr>
  296. <tr>
  297. <th>反映问题:</th>
  298. <td colspan="5">
  299. <span id="xq_gdnr"></span>
  300. </td>
  301. </tr>
  302. <tr>
  303. <th>问题处理情况:</th>
  304. <td colspan="5">
  305. <span id="xq_cont"></span>
  306. </td>
  307. </tr>
  308. <tr>
  309. <th>备注:</th>
  310. <td colspan="5">
  311. <span id="xq_remarks"></span>
  312. </td>
  313. </tr>
  314. <tr>
  315. <th>图文信息:</th>
  316. <td colspan="5">
  317. <div class="clearfix" id="IMG_box">
  318. </div>
  319. </td>
  320. </tr>
  321. </tbody>
  322. </table>
  323. </div>
  324. <div class="gdxq" style="display:none;">
  325. <table id="cllist" data-row-style="rowStyle" data-query-params="queryParams" data-pagination="true">
  326. <thead>
  327. <tr>
  328. <th data-field="WorkOrderID" data-formatter="ComXQ">处理详情</th>
  329. <th data-field="CreateTime">创建时间</th>
  330. </tr>
  331. </thead>
  332. </table>
  333. </div>
  334. <div class="gdxq" style="display:none;">
  335. <table id="pllist" data-row-style="rowStyle" data-query-params="queryParams" data-pagination="true">
  336. <thead>
  337. <tr>
  338. <th data-field="CreateUserName">评论人</th>
  339. <th data-field="Detail">评论详情</th>
  340. <th data-field="CreateTime">创建时间</th>
  341. </tr>
  342. </thead>
  343. </table>
  344. </div>
  345. </div>
  346. </div>
  347. <!--高级搜索-->
  348. <div class="t-shade">
  349. <div class="shade_k gjsu cx">
  350. <div class="shade_title">
  351. <span>高级搜索<srong class="cknum"></srong></span>
  352. <span class="setwin"><a>x</a></span>
  353. </div>
  354. <div class="shade_content">
  355. <div class="dgxx_table size-13">
  356. <table class="_table1 table table-bordered table-hover " border="0" cellspacing="0" cellpadding="0" style="width: 100%;">
  357. <tr>
  358. <th>工单状态:</th>
  359. <td>
  360. <div class="inpBox ">
  361. <input type="text" class="inps select" value="--请选择--" readonly="readonly" />
  362. <input type="hidden" class="inps " id="ss_gdzt" />
  363. <i class="xl xl_two"></i>
  364. <div class="xl_common">
  365. <ul class="xl_box">
  366. <li>--请选择--</li>
  367. <li itemid="0">待指派</li>
  368. <li itemid="1">处理中</li>
  369. <li itemid="2">已完结</li>
  370. </ul>
  371. </div>
  372. </div>
  373. </td>
  374. </tr>
  375. <tr>
  376. <th>工单编号:</th>
  377. <td>
  378. <div class="inpBox">
  379. <input type="text" class="inps " id="ss_gdbh" />
  380. </div>
  381. </td>
  382. <th>坐席工号:</th>
  383. <td>
  384. <div class="inpBox">
  385. <input type="text" class="inps " id="ss_zxgh" />
  386. </div>
  387. </td>
  388. </tr>
  389. <tr>
  390. <th>客户姓名:</th>
  391. <td>
  392. <div class="inpBox">
  393. <input type="text" class="inps " id="ss_khxm" />
  394. </div>
  395. </td>
  396. <th>客户电话:</th>
  397. <td>
  398. <div class="inpBox">
  399. <input type="text" class="inps " id="ss_khdh" />
  400. </div>
  401. </td>
  402. </tr>
  403. <tr>
  404. <th>反映问题:</th>
  405. <td colspan="3">
  406. <div class="inpBox">
  407. <input type="text" class="inps " id="ss_gdnr" />
  408. </div>
  409. </td>
  410. </tr>
  411. </table>
  412. </div>
  413. <div class="clearfix wh_btn">
  414. <input type="button" value="搜索" class="btn-info" id="gjss" />
  415. </div>
  416. </div>
  417. </div>
  418. </div>
  419. <!--下载框-->
  420. <div class="t-shadeLY">
  421. <div class="shade_kLY">
  422. <div class="shade_titleLY">
  423. <span>录屏播放<srong class="cknum"></srong></span>
  424. <span class="setwinLY"><a>x</a></span>
  425. </div>
  426. <div class="shade_contentLY">
  427. <div class="Ly_box audiojs">
  428. </div>
  429. <div class="boxCon LY_box">
  430. </div>
  431. <div id="replayers"></div>
  432. </div>
  433. </div>
  434. </div>
  435. <!--//下载框结束-->
  436. <script>
  437. var selid;
  438. var stype = 1;
  439. helper.getDropList.getlistDropByDic($('#MessageType'), 'WTFL')
  440. getSeat()
  441. getDepartList($('#clbm'))
  442. laydate.render({
  443. elem: '#STime',
  444. range: '~',
  445. // type: 'datetime',
  446. //max : 31,
  447. // min: 0,
  448. theme: '#00479D',
  449. calendar: true
  450. });
  451. //关键字回车搜索
  452. $('#ss_gdnr').on('keypress',function(e){
  453. if(e.keyCode==13){
  454. initTable();
  455. }
  456. });
  457. //关键字回车搜索
  458. $('#name').on('keypress',function(e){
  459. if(e.keyCode==13){
  460. initTable();
  461. }
  462. });
  463. //关键字回车搜索
  464. $('#tel').on('keypress',function(e){
  465. if(e.keyCode==13){
  466. initTable();
  467. }
  468. });
  469. function initTable() {
  470. //先销毁表格
  471. $('#workorderlist').bootstrapTable('destroy');
  472. //初始化表格,动态从服务器加载数据
  473. $("#workorderlist").bootstrapTable({
  474. method: "get", //使用get请求到服务器获取数据
  475. url: huayi.config.callcenter_url + "WorkOrder/GetListAll", //获取数据的Servlet地址
  476. contentType: "application/x-www-form-urlencoded",
  477. striped: true, //表格显示条纹
  478. pagination: true, //启动分页
  479. pageSize: 5, //每页显示的记录数
  480. pageNumber: 1, //当前第几页
  481. pageList: [5, 20, 50, 100], //记录数可选列表
  482. search: false, //是否启用查询
  483. showColumns: false, //显示下拉框勾选要显示的列
  484. showRefresh: false, //显示刷新按钮
  485. sidePagination: "server", //表示服务端请求
  486. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  487. //设置为limit可以获取limit, offset, search, sort, order
  488. queryParamsType: "undefined",
  489. queryParams: function queryParams(params) { //设置查询参数
  490. var param = {
  491. page: params.pageNumber,
  492. pagesize: params.pageSize,
  493. token: $.cookie("token"),
  494. clbmid: $("#clbm").val(),
  495. tel: $("#tel").val().trim(),
  496. infotype:$('#MessageType').val(),
  497. state: $('#s_type').val(),// 0待完成,1已完成
  498. starttime: $('#STime').val().split(' ~ ')[0], //
  499. endtime: $('#STime').val().split(' ~ ')[1], ///
  500. isrestore:$('#isrestore').val(),
  501. usercode: $("#zx").val()
  502. };
  503. return param;
  504. },
  505. onLoadSuccess: function() { //加载成功时执行
  506. //layer.msg("加载成功");
  507. },
  508. onLoadError: function() { //加载失败时执行
  509. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  510. }
  511. });
  512. }
  513. function getSeat(){
  514. $.ajax({
  515. type: "get",
  516. url: huayi.config.callcenter_url + "UserAccount/GetSeatList",
  517. dataType: 'json',
  518. async: true,
  519. data: {
  520. token: $.cookie("token")
  521. },
  522. success: function(data) {
  523. var Count = data.data;
  524. for(var i = 0; i < Count.length; i++) {
  525. //console.log(Count[i].F_UserName);
  526. $("<option value='" + Count[i].F_UserCode + "'>" + Count[i].F_UserName + "</option>").appendTo($("#zx"));
  527. }
  528. }
  529. });
  530. }
  531. function getDepartList(obj) {
  532. obj.empty();
  533. let str = '<option value="">请选择</option>'
  534. $.getJSON(huayi.config.callcenter_url + 'CallOutPlan/GetDepartList', {
  535. "token": $.cookie("token")
  536. }, function(result) {
  537. if(result.state.toLowerCase() == "success") {
  538. result.data.forEach(function(v, n) {
  539. str += '<option value="' + v.F_DeptId + '">' + v.F_DeptName + '</option>'
  540. })
  541. obj.html(str)
  542. }
  543. })
  544. }
  545. //录音
  546. function record_click(callId) {
  547. // var path = $(val).attr("item");
  548. $(".t-shadeLY").addClass("cxLY");
  549. $(".Ly_box").empty();
  550. $(".LY_box").empty();
  551. // $('<audio style="width:100%;"class=" " src="' + path + '" loop="loop" controls="controls"></audio>').appendTo(".Ly_box");
  552. // $('<a href="' + path + '" class="sc_btn LY "download="' + path + '">下载录音</a>').appendTo(".LY_box");
  553. rePlayers(callId);
  554. }
  555. //音频
  556. function setCode(val,row) {
  557. if (val) {
  558. return '<div class="imgs" style="cursor: pointer;">' +
  559. '<img src="../img/vice.png" alt="" onclick= record_click("' + row.WorkOrderID + '") />' +
  560. '</div>';
  561. } else {
  562. return '';
  563. }
  564. }
  565. //关闭录音弹出
  566. $(".setwinLY").click(function() {
  567. $(".t-shadeLY").removeClass("cxLY");
  568. // $('audio')[0].pause();
  569. });
  570. // 回放录屏 - 播放器
  571. function rePlayers(callId) {
  572. document.getElementById('replayers').innerHTML = ""; // 清空
  573. //$("#replayers").text("");
  574. $.ajax({
  575. url: huayi.config.callcenter_url + 'CutScreen/GetCutScreenByCallId',
  576. type: 'get',
  577. data: {
  578. callid: callId,
  579. token: $.cookie("token")
  580. },
  581. dataType: "json",
  582. async: true,
  583. success: function(res) {
  584. if (res.state.toLowerCase() === "success") {
  585. var data = res.data;
  586. if (data != null) {
  587. result = data.VideoHtml;
  588. rePlayers2(result);
  589. } else {
  590. $("#replayers").text("暂无录屏信息");
  591. }
  592. }
  593. },
  594. });
  595. }
  596. // 回放录屏 - 播放器
  597. function rePlayers2(res) {
  598. const events = JSON.parse(unescape(res));
  599. //const events = body_result;
  600. if (events != null) {
  601. $("#replayers").text("");
  602. new rrwebPlayer({
  603. target: document.getElementById('replayers'), // document.getElementById('replayers')可以自定义 DOM 元素 document.body
  604. data: {
  605. events,
  606. },
  607. });
  608. // const replayer = new rrweb.Replayer(events);
  609. // replayer.play();
  610. // var heigth = $(".rr-player").outerHeight();
  611. // var heigth2 = $(".rr-player__frame").outerHeight();
  612. // $(".rr-player").css("height",heigth - 100);
  613. // $(".rr-player__frame").css("height",heigth2 - 100);
  614. } else {
  615. $("#replayers").text("暂无录屏信息");
  616. }
  617. }
  618. $('.exports').click(function(){
  619. dcexcel(this);
  620. })
  621. function dcexcel(obj) {
  622. var url = huayi.config.callcenter_url + "WorkOrder/ExportListAll?token=" + $.cookie("token");
  623. url += "&name=" + $("#name").val() + "&tel=" + $("#tel").val() + "&key=" + $("#ss_gdnr").val() + "&state=" + $("#s_type").val();
  624. url += "&starttime=" + $('#STime').val().split(' ~ ')[0] + "&endtime=" + $('#STime').val().split(' ~ ')[1] ;
  625. url += '&clbmid='+$("#clbm").val() +'&usercode='+$("#zx").val()
  626. obj.href = url;
  627. }
  628. </script>
  629. </body>
  630. </html>