12345市长热线标准版-前端

WorkYBL.html 19KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710
  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="../js/zTree/zTreeStyle.css" />
  9. <link rel="stylesheet" href="../css/init.css" />
  10. <style>
  11. #sqzx th {
  12. padding: 5px 8px 5px 0;
  13. text-align: right;
  14. }
  15. .select {
  16. width: 150px;
  17. background-color: #FFF;
  18. background-image: none;
  19. border: 1px solid #ccc;
  20. border-radius: 1px;
  21. color: inherit;
  22. padding: 6px 12px;
  23. }
  24. #sex {
  25. background-color: #FFF;
  26. background-image: none;
  27. border: 1px solid #ccc;
  28. border-radius: 1px;
  29. color: inherit;
  30. padding: 6px 12px;
  31. }
  32. input {
  33. background-color: #FFF;
  34. background-image: none;
  35. border: 1px solid #ccc;
  36. border-radius: 1px;
  37. color: inherit;
  38. padding: 6px 12px;
  39. }
  40. #sqzx td {
  41. padding: 6px 0 5px 10px;
  42. }
  43. .lxr ul li {
  44. float: left;
  45. list-style: none;
  46. width: 30%;
  47. margin-bottom: 5px;
  48. padding-top: 10px;
  49. }
  50. .clearFix:after {
  51. content: "";
  52. display: block;
  53. clear: both;
  54. }
  55. .form-group {
  56. padding-left: 40px;
  57. margin-bottom: 0;
  58. }
  59. textarea {
  60. height: 70px;
  61. border: 1px solid #ccc;
  62. border-radius: 1px;
  63. width: 50%;
  64. resize: none;
  65. }
  66. .textarea_box {
  67. margin-top: 10px;
  68. }
  69. .box_content {
  70. border-bottom: 1px solid #ccc;
  71. }
  72. .tj_content {
  73. border: 1px solid #e6e6e6;
  74. border-radius: 5px;
  75. }
  76. .t-shade {
  77. position: fixed;
  78. top: 0;
  79. left: 0;
  80. width: 100%;
  81. height: 100%;
  82. background: rgba(0, 0, 0, 0.48);
  83. z-index: 10004;
  84. display: none;
  85. }
  86. .lyxz .shade_k {
  87. z-index: 10005;
  88. width: 60%;
  89. margin: 10% auto;
  90. background-color: #fff;
  91. box-shadow: 1px 1px 50px rgba(0, 0, 0, .3);
  92. border-radius: 5px;
  93. }
  94. .shade_title {
  95. padding: 0 80px 0 20px;
  96. height: 42px;
  97. line-height: 42px;
  98. border-bottom: 1px solid #eee;
  99. font-size: 16px;
  100. color: #FFFFFF;
  101. overflow: hidden;
  102. background-color: #1ab394;
  103. border-radius: 2px 2px 0 0;
  104. position: relative;
  105. border-top-left-radius: 5px;
  106. border-top-right-radius: 5px;
  107. }
  108. .cx {
  109. display: block;
  110. }
  111. .setwin {
  112. position: absolute;
  113. right: 15px;
  114. top: 5px;
  115. font-size: 0;
  116. line-height: initial;
  117. }
  118. .setwin a {
  119. position: relative;
  120. width: 16px;
  121. height: 16px;
  122. font-size: 20px;
  123. color: #fff;
  124. }
  125. .xg i {
  126. font-size: 16px;
  127. }
  128. .hidens {
  129. display: none;
  130. }
  131. </style>
  132. </head>
  133. <body class="gray-bg">
  134. <div class="wrapper wrapper-content animated fadeInRight">
  135. <div class="daoHang clearfix">
  136. <div class="dhLeft">
  137. <sapn>
  138. <i class="syIcon"></i>位置:
  139. <a href="javaScript:;" id="ReIndex">首页</a>&gt;
  140. <a href="javaScript:;">业务监督</a>&gt;
  141. <a class="nowPosition">已办理</a>
  142. </sapn>
  143. </div>
  144. <div class="dhRight">
  145. <a href="" title="刷新"><i class="fa fa-refresh"></i></a>
  146. </div>
  147. </div>
  148. <div style="padding: 10px;" class="tj_content clearFix">
  149. <div style="padding: 10px;" class="tj_content clearFix">
  150. <div>
  151. <span>【搜索信息】</span>
  152. <div class="box_content">
  153. <table id="sqzx" style="width: 100%;" border="0" cellspacing="0" cellpadding="0">
  154. <tr>
  155. <th>关键字:</th>
  156. <td>
  157. <input type="text" placeholder="输入关键字" id="key" />
  158. </td>
  159. <th>时间:</th>
  160. <td colspan="3">
  161. <input type="text" id="starttime" class="laydate-icon" style="height: 32px;" />&nbsp;——&nbsp;<input type="text" id="endtime" class="laydate-icon" style="height: 32px;" />
  162. </td>
  163. <th></th>
  164. <td>
  165. <botton class="btns Seach">搜索</botton>
  166. </td>
  167. </tr>
  168. </table>
  169. </div>
  170. </div>
  171. <div>
  172. <div style="width: 100%;padding: 10px;">
  173. <table id="orderlist" data-row-style="rowStyle" data-query-params="queryParams" data-pagination="true">
  174. <thead>
  175. <tr>
  176. <th data-checkbox="true"></th>
  177. <th data-field="F_WorkOrderId" data-align="center">工单单号</th>
  178. <th data-field="F_ComTitle" data-formatter="GetCont" data-align="center">诉求标题</th>
  179. <th data-field="DeptName" data-align="center">交办单位</th>
  180. <th data-field="UserName" data-align="center">受理人</th>
  181. <th data-field="F_WorkState" data-align="center" data-formatter="States">办理状态</th>
  182. <th data-field="FilePath" data-formatter="setCode" data-align="center">录音</th>
  183. <th data-field="F_WorkOrderId" data-formatter="Dispose" data-align="center">操作</th>
  184. </tr>
  185. </thead>
  186. <tbody class="list"></tbody>
  187. </table>
  188. </div>
  189. </div>
  190. </div>
  191. </div>
  192. <!--下载框-->
  193. <div class="t-shade lyxz">
  194. <div class="shade_k">
  195. <div class="shade_title">
  196. <span>录音播放与下载<srong class="cknum"></srong></span>
  197. <span class="setwin gbly"><a>x</a></span>
  198. </div>
  199. <div class="shade_content">
  200. <div class="Ly_box audiojs">
  201. </div>
  202. </div>
  203. </div>
  204. </div>
  205. </div>
  206. <script src="../css/laydate/laydate.js"></script>
  207. <script src="../My97DatePicker/WdatePicker.js"></script>
  208. <script>
  209. // return '<div class="imgs" >' +
  210. // '<a class="xg" title="查看" onclick="ckxq(' + val + ')"> <i class="fa fa-search"></i></a>' +
  211. // '<a class="xg" title="编辑" onclick="bj(' + val + ')"> <i class="fa fa-pencil-square-o"></i></a>' +
  212. // '<a class="xg" title="回访" onclick="back(' + val + ')"> <i class="fa fa-mail-reply"></i></a>' +
  213. // '<a class="xg" "title="强回"onclick="recycles(' + val + ')"> <i class="fa fa-exchange"></i></a>' +
  214. // '<a class="xg" title="结案" onclick="Lawsuit(' + val + ')"> <i class="fa fa-pie-chart"></i></a>' +
  215. // '<a class="xg" "title="交办"onclick="jb(' + val + ')"> <i class="fa fa-check-square-o"></i></a>' +
  216. // '<a class="xg" "title="回收"onclick="recycle(' + val + ')"> <i class="fa fa-retweet"></i></a>' +
  217. // '<a class="xg "title="督查" onclick="Supervision(' + val + ')"> <i class="fa fa-eye"></i></a>' +
  218. // '<a class="xg" "title="强制" onclick="StrongLawsuit(' + val + ')"> <i class="fa fa-check-circle"></i></a>' +
  219. // '<a class="xg" title="删除"onclick="move(' + val + ')"> <i class="fa fa-remove"></i></a>' +
  220. // '</div>';
  221. $(document).ready(function() {
  222. //返回首页
  223. $('#ReIndex').click(function() {
  224. top.home_index();
  225. })
  226. load();
  227. laydate.skin('blue');
  228. laydate({
  229. elem: '#starttime',
  230. event: 'focus'
  231. });
  232. laydate({
  233. elem: '#endtime',
  234. event: 'focus'
  235. });
  236. ///搜素
  237. $(".Seach").click(function() {
  238. load();
  239. })
  240. });
  241. //关闭录音弹出
  242. $(".gbly").click(function() {
  243. $(".lyxz").removeClass("cx");
  244. $('audio')[0].pause();
  245. });
  246. $("#orderlist").on("click-row.bs.table", function(e, row, ele) {
  247. $('.success').removeClass('success'); //去除之前选中的行的,选中样式
  248. $(ele).addClass('success'); //添加当前选中的 success样式用于区别
  249. });
  250. //获取查询信息
  251. function load() {
  252. //先销毁表格
  253. $('#orderlist').bootstrapTable('destroy');
  254. //初始化表格,动态从服务器加载数据
  255. $("#orderlist").bootstrapTable({
  256. method: "get", //使用get请求到服务器获取数据
  257. url: huayi.config.callcenter_url + "WorkOrder/GetDWDealList", //获取数据的Servlet地址
  258. contentType: "application/x-www-form-urlencoded",
  259. striped: true, //表格显示条纹
  260. pagination: true, //启动分页
  261. pageSize: 10, //每页显示的记录数
  262. pageNumber: 1, //当前第几页
  263. pageList: [10, 20, 50, 100], //记录数可选列表
  264. search: false, //是否启用查询
  265. showColumns: false, //显示下拉框勾选要显示的列
  266. showRefresh: false, //显示刷新按钮
  267. sidePagination: "server", //表示服务端请求
  268. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  269. //设置为limit可以获取limit, offset, search, sort, order
  270. queryParamsType: "undefined",
  271. queryParams: function queryParams(params) { //设置查询参数
  272. var param = {
  273. page: params.pageNumber,
  274. pagesize: params.pageSize,
  275. state: $("#state").val(), //=工单状态
  276. type: $("#type").val(), //=工单类型
  277. bigtype: $("#bigtype").val(), //=大类别
  278. smalltype: $("#smalltype").val(), //=小类别
  279. key: $("#key").val(), //=关键字
  280. tel: $("#tel").val(), //=客户电话
  281. name: $("#name").val(), //=客户名称
  282. code: $("#code").val(), //=坐席工号
  283. // keyid:2,//=关键词id
  284. tab: 4,//已办理
  285. source: $("#source").val(), //=来源&
  286. starttime: $("#starttime").val(), //=开始时间
  287. endtime: $("#endtime").val(), //=结束时间
  288. token: $.cookie("token")
  289. };
  290. return param;
  291. },
  292. onLoadSuccess: function(data) { //加载成功时执行
  293. // layer.msg("加载成功");
  294. //console.log(data);
  295. },
  296. onLoadError: function() { //加载失败时执行
  297. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  298. }
  299. });
  300. }
  301. //状态
  302. function States(val,row) {
  303. var html = '';
  304. switch(val + '') {
  305. case '0':
  306. html = '新工单';
  307. if(row.F_IsReturn==1){
  308. html = '新工单(回退)';
  309. }
  310. break;
  311. case '1':
  312. html = '待交办';
  313. break;
  314. case '2':
  315. html = '待查收';
  316. break;
  317. case '3':
  318. html = '退回审核中';
  319. break;
  320. case '4':
  321. html = '办理中';
  322. break;
  323. case '5':
  324. html = '延时审核';
  325. break;
  326. case '6':
  327. html = '已办理';
  328. break;
  329. case '7':
  330. html = '已回访';
  331. break;
  332. case '8':
  333. html = '重办中';
  334. break;
  335. case '9':
  336. html = '已结案';
  337. break;
  338. }
  339. return html;
  340. }
  341. //音频
  342. function setCode(val) {
  343. if(val) {
  344. return '<div class="imgs" style="cursor: pointer;">' +
  345. '<img src="../img/vice.png" alt="" onclick= ck(this) item="' + val + '" />' +
  346. '</div>';
  347. } else {
  348. return '';
  349. }
  350. }
  351. //录音
  352. function ck(val) {
  353. var path = $(val).attr("item");
  354. $(".lyxz").addClass("cx");
  355. $(".Ly_box").empty();
  356. $(".down").attr("href", path);
  357. $('<audio style="width: 100%;"class=" " src="' + path + '" loop="loop" controls="controls" ></audio>').appendTo(".Ly_box");
  358. }
  359. function GetCont(val) {
  360. if(val) {
  361. var str = '<div '
  362. if(val.length > 10) {
  363. str = str + ' title="' + val + '" ';
  364. val = val.substr(0, 10) + "...";
  365. }
  366. return str + '>' + val + '</div>';
  367. } else {
  368. return '';
  369. }
  370. }
  371. //操作
  372. function Dispose(val, row) {
  373. var Rows = row.Buttons;
  374. var html = '';
  375. for(var i = 0; i < Rows.length; i++) {
  376. var html1 = huayi.config.arr[Rows[i].key * 1 - 1];
  377. if(html1) {
  378. html1 = html1.replace("data", val);
  379. }
  380. html += html1;
  381. }
  382. return html;
  383. }
  384. //查看详情
  385. function ckxq(str) {
  386. layer.open({
  387. type: 2,
  388. content: "../CommonHtml/WorkDatil.html?wid=" + str, //iframe的url,no代表不显示滚动条
  389. title: '工单详情',
  390. area: ['85%', '80%'], //宽高
  391. });
  392. }
  393. //编辑
  394. function bj(str) {
  395. layer.open({
  396. type: 2,
  397. content: "../CommonHtml/AddAppeal.html?wid=" + str, //iframe的url,no代表不显示滚动条
  398. title: '编辑工单',
  399. area: ['85%', '80%'], //宽高
  400. });
  401. }
  402. //删除
  403. function move(str) {
  404. layer.confirm('确定删除工单?', {
  405. btn: ['是', '否'] //按钮
  406. }, function() {
  407. $.post(huayi.config.callcenter_url + "WorkOrder/DelWorkOrder", {
  408. ids: str,
  409. token: $.cookie("token")
  410. }, function(result) {
  411. result = JSON.parse(result);
  412. if(result.state.toLowerCase() == "success") {
  413. layer.msg("删除成功");
  414. load();
  415. }
  416. })
  417. });
  418. }
  419. //提交
  420. function tj(str) {
  421. layer.confirm('确定要提交工单么?', {
  422. btn: ['确定', '取消'] //按钮
  423. }, function() {
  424. //请求后台数据
  425. /*发送请求*/
  426. $.post(huayi.config.callcenter_url + "WorkOrder/SubmitWorkOrder", {
  427. ids: str,
  428. token: $.cookie("token")
  429. }, function(result) {
  430. result = JSON.parse(result);
  431. if(result.state.toLowerCase() == "success") {
  432. layer.msg("提交成功");
  433. load();
  434. }
  435. })
  436. });
  437. }
  438. //交办
  439. function jb(str) {
  440. layer.open({
  441. type: 2,
  442. content: "../CommonHtml/JiaoBan.html?wid=" + str, //iframe的url,no代表不显示滚动条
  443. title: '工单交办',
  444. area: ['45%', '40%'], //宽高
  445. });
  446. }
  447. //领导批示
  448. function lader(str) {
  449. layer.open({
  450. type: 2,
  451. content: "../CommonHtml/Leader.html?wid=" + str, //iframe的url,no代表不显示滚动条
  452. title: '领导批示',
  453. area: ['45%', '40%'], //宽高
  454. });
  455. }
  456. //市长批示
  457. function city(str) {
  458. layer.open({
  459. type: 2,
  460. content: "../CommonHtml/shizhang.html?wid=" + str, //iframe的url,no代表不显示滚动条
  461. title: '领导批示',
  462. area: ['45%', '40%'], //宽高
  463. });
  464. }
  465. //办理
  466. function bl(str) {
  467. layer.open({
  468. type: 2,
  469. content: "../CommonHtml/banli.html?wid=" + str, //iframe的url,no代表不显示滚动条
  470. title: '办理工单',
  471. area: ['45%', '40%'], //宽高
  472. });
  473. }
  474. //督办
  475. function Supervision(str) {
  476. layer.open({
  477. type: 2,
  478. content: "../CommonHtml/Supervision_.html?wid=" + str + '&type=1', //iframe的url,no代表不显示滚动条
  479. title: '督办',
  480. area: ['35%', '30%'], //宽高
  481. });
  482. }
  483. //督查
  484. function Supervision_(str) {
  485. layer.open({
  486. type: 2,
  487. content: "../CommonHtml/Supervision_.html?wid=" + str + '&type=2', //iframe的url,no代表不显示滚动条
  488. title: '监察',
  489. area: ['35%', '30%'], //宽高
  490. });
  491. }
  492. //强制结案
  493. function StrongLawsuit(str) {
  494. layer.open({
  495. type: 2,
  496. content: "../CommonHtml/StrongLawsuit.html?wid=" + str, //iframe的url,no代表不显示滚动条
  497. title: '强制结案',
  498. area: ['45%', '52%'], //宽高
  499. });
  500. }
  501. //回退BackDtail
  502. function BackDtail(str) {
  503. layer.open({
  504. type: 2,
  505. content: "../CommonHtml/BackDatil.html?wid=" + str, //iframe的url,no代表不显示滚动条
  506. title: '工单回退',
  507. area: ['45%', '40%'], //宽高
  508. });
  509. }
  510. //查收
  511. function cs(str) {
  512. layer.confirm('确定要查收?', {
  513. btn: ['是', '否'] //按钮
  514. }, function() {
  515. $.post(huayi.config.callcenter_url + "WorkOrder/ReceiveWorkOrder", {
  516. workorderid: str,
  517. token: $.cookie("token")
  518. }, function(result) {
  519. result = JSON.parse(result);
  520. if(result.state.toLowerCase() == "success") {
  521. layer.msg("查收成功");
  522. load();
  523. }
  524. })
  525. });
  526. }
  527. //收回
  528. function sh(str) {
  529. layer.confirm('确定要回收?', {
  530. btn: ['是', '否'] //按钮
  531. }, function() {
  532. $.post(huayi.config.callcenter_url + "WorkOrder/TakeBackWorkOrder", {
  533. workorderid: str,
  534. token: $.cookie("token")
  535. }, function(result) {
  536. result = JSON.parse(result);
  537. if(result.state.toLowerCase() == "success") {
  538. layer.msg("回收");
  539. load();
  540. }
  541. })
  542. });
  543. }
  544. //强制回收
  545. function recycles() {
  546. layer.confirm('确定要强制退回吗?', {
  547. btn: ['是', '否'] //按钮
  548. });
  549. }
  550. //退回申请
  551. function th(str) {
  552. layer.open({
  553. type: 2,
  554. content: "../CommonHtml/tuihuisq.html?wid=" + str, //iframe的url,no代表不显示滚动条
  555. title: '申请退回工单',
  556. area: ['35%', '30%'], //宽高
  557. });
  558. }
  559. //审核退回申请
  560. function shth(str) {
  561. layer.open({
  562. type: 2,
  563. content: "../CommonHtml/shth.html?wid=" + str, //iframe的url,no代表不显示滚动条
  564. title: '审核退回申请',
  565. area: ['50%', '50%'], //宽高
  566. });
  567. }
  568. //办理
  569. // function th(str) {
  570. // layer.open({
  571. // type: 2,
  572. // content: "../CommonHtml/tuihuisq.html?wid=" + str, //iframe的url,no代表不显示滚动条
  573. // title: '办理工单',
  574. // area: ['35%', '30%'], //宽高
  575. // });
  576. // }
  577. //申请延时
  578. function ys(str) {
  579. layer.open({
  580. type: 2,
  581. content: "../CommonHtml/Timesq.html?wid=" + str, //iframe的url,no代表不显示滚动条
  582. title: '申请延时',
  583. area: ['45%', '40%'], //宽高
  584. });
  585. }
  586. //审核申请延时
  587. function shys(str) {
  588. layer.open({
  589. type: 2,
  590. content: "../CommonHtml/shtime.html?wid=" + str, //iframe的url,no代表不显示滚动条
  591. title: '审核延时申请',
  592. area: ['45%', '40%'], //宽高
  593. });
  594. }
  595. //诉求回访
  596. function hf(str) {
  597. layer.open({
  598. type: 2,
  599. content: "../CommonHtml/Back.html?wid=" + str, //iframe的url,no代表不显示滚动条
  600. title: '工单回访',
  601. area: ['45%', '40%'], //宽高
  602. });
  603. }
  604. //重办工单
  605. function cb(str) {
  606. layer.open({
  607. type: 2,
  608. content: "../CommonHtml/Cb.html?wid=" + str, //iframe的url,no代表不显示滚动条
  609. title: '重办工单',
  610. area: ['45%', '40%'], //宽高
  611. });
  612. }
  613. //结案
  614. function Lawsuit(str) {
  615. layer.open({
  616. type: 2,
  617. content: "../CommonHtml/lawsuits.html?wid=" + str, //iframe的url,no代表不显示滚动条
  618. title: '诉求单结案',
  619. area: ['45%', '40%'], //宽高
  620. });
  621. }
  622. $('.Appeal').click(function() {
  623. layer.open({
  624. type: 2,
  625. content: "../CommonHtml/AddAppeal.html?wid=", //iframe的url,no代表不显示滚动条
  626. title: '新增诉求',
  627. area: ['85%', '80%'], //宽高
  628. });
  629. })
  630. //上传文件
  631. function upload() {
  632. if(document.getElementById("upFile").files.length > 0) {
  633. var formData = new FormData();
  634. formData.append("upFile", document.getElementById("upFile").files[0]);
  635. formData.append("token", $.cookie("token"));
  636. $.ajax({
  637. url: huayi.config.callcenter_url + "/WorkOrder/UploadFile",
  638. type: "POST",
  639. data: formData,
  640. /**
  641. *必须false才会自动加上正确的Content-Type
  642. */
  643. contentType: false,
  644. /**
  645. * 必须false才会避开jQuery对 formdata 的默认处理
  646. * XMLHttpRequest会对 formdata 进行正确的处理
  647. */
  648. processData: false,
  649. success: function(result) {
  650. document.getElementById("upFile").outerHTML = document.getElementById("upFile").outerHTML;
  651. $("#upFile").change(function() {
  652. upload();
  653. });
  654. var r = $.parseJSON(result);
  655. if(r.state.toLowerCase() == "success") {
  656. $(".fjnr").text(r.data);
  657. $("#scfj").show();
  658. }
  659. }
  660. });
  661. } else {
  662. layer.confirm('请上传文件!', {
  663. btn: ['确定']
  664. });
  665. }
  666. }
  667. </script>
  668. </body>
  669. </html>