阜外心血管项目前端

WorkOrder.js 32KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939
  1. /**
  2. * 工单管理
  3. * */
  4. var detailOrderNum = ''; //获取工单详情的工单ID
  5. $(document).ready(function() {
  6. //初始化时间
  7. laydate.render({
  8. elem: '#sc_time',
  9. range: '~',
  10. theme: '#1ab394',
  11. calendar: true
  12. });
  13. //获取工单来源
  14. helper.getDropList.getlistDropByDic($('#sc_source'), 'GDLY');
  15. //获取工单类型
  16. helper.getDropList.getlistDropByDic($('#sc_type'), 'GDLX');
  17. //获取业务办理
  18. helper.getDropList.getlistDropByDic($('#sc_handle'), 'YWLX');
  19. initTable();
  20. $("#sc_btns").click(function() {
  21. initTable();
  22. $(".Closed").trigger('click');
  23. });
  24. });
  25. //工单管理内的列表
  26. function initTable() {
  27. var orderMenu = top.$("iframe:visible")[0].src.split('/WorkOrder/')[1];
  28. // console.log(orderMenu);
  29. //工单状态(0待指派 1待接单的 2待完成的(待处理) 3已完成的 4我参与的 5超期工单)
  30. var ltype = ''; //否 string 工单状态
  31. var isaudit = '-1'; //微信列表(0未审核微信列表,1已审核微信列表,-1是所有)
  32. switch(orderMenu) {
  33. case "WorkOrderAppoint.html": //待指派
  34. ltype = '0';
  35. isaudit = '1';
  36. break;
  37. case "WorkOrderReceive.html": //待接单
  38. ltype = '1';
  39. isaudit = '1';
  40. break;
  41. case "WorkOrderDispose.html": //待处理
  42. ltype = '2';
  43. isaudit = '1';
  44. break;
  45. case "WorkOrderParty.html": //已处理
  46. ltype = '3';
  47. isaudit = '1';
  48. break;
  49. case "WorkOrderPartake.html": //已参与
  50. ltype = '4';
  51. isaudit = '1';
  52. break;
  53. case "WorkOrderOverdue.html": //超期
  54. ltype = '5';
  55. isaudit = '1';
  56. break;
  57. case "WorkOrderWchartList.html": //微信工单
  58. isaudit = '0';
  59. break;
  60. case "WorkOrderExpedite.html": //工单催办
  61. initTableExpedite();
  62. return;
  63. break;
  64. default:
  65. break;
  66. }
  67. //先销毁表格
  68. $('#workorderlist').bootstrapTable('destroy');
  69. //初始化表格,动态从服务器加载数据
  70. $("#workorderlist").bootstrapTable({
  71. method: "get", //使用get请求到服务器获取数据
  72. url: huayi.config.callcenter_url + "WorkOrder/GetList", //获取数据的Servlet地址
  73. contentType: 'application/x-www-form-urlencoded',
  74. striped: true, //表格显示条纹
  75. pagination: true, //启动分页
  76. pageSize: 5, //每页显示的记录数
  77. pageNumber: 1, //当前第几页
  78. pageList: [5, 20, 50, 100], //记录数可选列表
  79. search: false, //是否启用查询
  80. showColumns: false, //显示下拉框勾选要显示的列
  81. showRefresh: false, //显示刷新按钮
  82. sidePagination: "server", //表示服务端请求
  83. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  84. //设置为limit可以获取limit, offset, search, sort, order
  85. queryParamsType: "undefined",
  86. queryParams: function queryParams(params) { //设置查询参数
  87. var param = {
  88. page: params.pageNumber,
  89. pagesize: params.pageSize,
  90. keyword: $('#sc_key').val(), //string 关键字:可输入客户姓名,电话,工单号,反馈内容
  91. ltype: ltype ,//string 状态列表:"0"://待指派的、"1"://待接单的、"2"://待完成的(待处理)、"3"://已完成的、"4"://我参与的、"5"://超期工单
  92. isaudit: isaudit,//int 微信列表(0未审核微信列表,1已审核微信列表)
  93. states: $('#sc_state').val(),//int 工单状态
  94. source: $('#sc_source').val(),//int 工单来源
  95. type: $('#sc_type').val(),//int 工单类型
  96. typeclass: $('#sc_handle').val(),// int 业务类型
  97. starttime: $('#sc_time').val() && $('#sc_time').val().split(' ~ ')[0],//string 工单开始时间
  98. endtime: $('#sc_time').val() && $('#sc_time').val().split(' ~ ')[1],//string 工单结束时间
  99. token: $.cookie("token")
  100. };
  101. return param;
  102. },
  103. onLoadSuccess: function() { //加载成功时执行
  104. //layer.msg("加载成功");
  105. authorizeOperateButton(); //获取 userRoleCode 判断按钮权限
  106. },
  107. onLoadError: function() { //加载失败时执行
  108. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  109. }
  110. });
  111. }
  112. //工单催办
  113. function initTableExpedite() {
  114. //先销毁表格
  115. $('#workorderlist').bootstrapTable('destroy');
  116. //初始化表格,动态从服务器加载数据
  117. $("#workorderlist").bootstrapTable({
  118. method: "get", //使用get请求到服务器获取数据
  119. url: huayi.config.callcenter_url + "WorkOrder/GetNotDoneWorkList", //获取数据的Servlet地址
  120. contentType: 'application/x-www-form-urlencoded',
  121. striped: true, //表格显示条纹
  122. pagination: true, //启动分页
  123. pageSize: 5, //每页显示的记录数
  124. pageNumber: 1, //当前第几页
  125. pageList: [5, 20, 50, 100], //记录数可选列表
  126. search: false, //是否启用查询
  127. showColumns: false, //显示下拉框勾选要显示的列
  128. showRefresh: false, //显示刷新按钮
  129. sidePagination: "server", //表示服务端请求
  130. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  131. //设置为limit可以获取limit, offset, search, sort, order
  132. queryParamsType: "undefined",
  133. queryParams: function queryParams(params) { //设置查询参数
  134. var param = {
  135. page: params.pageNumber,
  136. pagesize: params.pageSize,
  137. keyword: $('#sc_key').val(), //否 string 模糊搜索(客户姓名,电话,房间号,工单号)
  138. type: $('#sc_source').val(), //否 string 工单来源
  139. typeclass: $('#sc_type').val(), //否 string 工单类型
  140. starttime: $('#sc_time').val() && $('#sc_time').val().split(' ~ ')[0], //否 string 工单起止时间
  141. endtime: $('#sc_time').val() && $('#sc_time').val().split(' ~ ')[1], //否 string 工单起止时间
  142. areaid: $('#sc_rengin').val(), //否 string 区域id
  143. regionid: $('#sc_pro').val(), //否 string 项目id
  144. buldingid: $('#sc_floor').val(), //否 string 期号id
  145. isaudit: '1', //微信列表(0未审核微信列表,1已审核微信列表,-1所有)
  146. token: $.cookie("token"),
  147. };
  148. return param;
  149. },
  150. onLoadSuccess: function() { //加载成功时执行
  151. //layer.msg("加载成功");
  152. authorizeOperateButton(); //获取 userRoleCode 判断按钮权限
  153. },
  154. onLoadError: function() { //加载失败时执行
  155. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  156. }
  157. });
  158. }
  159. //获取 userRoleCode 判断按钮权限
  160. function authorizeOperateButton() {
  161. var userRoleCode = $.cookie("userRoleCode");
  162. // userRoleCode = "";//测试数据
  163. //所有人均有创建和查询的功能,XTGLY-系统维护、CJGLY-超级管理员拥有所有权限
  164. $('.tool_downs').find('[authorize=yes]').hide();
  165. $('#workorderlist').find('.workOprate').hide();
  166. switch(userRoleCode) {
  167. case "XTGLY": // 系统维护
  168. case "CJGLY": // 超级管理员
  169. $('.tool_downs').find('[authorize=yes]').show();
  170. $('#workorderlist').find('.workOprate').show();
  171. break;
  172. case "JDYPTZX": // 普通坐席 派单(分配)、处理、接单、删除、[催办]
  173. case "JDYBZZX": // 坐席班长 派单(分配)、处理、接单、删除、[催办]
  174. $('.tool_downs').find('[id*="HY_transfer"]').show();
  175. $('.tool_downs').find('[id*="HY_end"]').show();
  176. $('.tool_downs').find('[id*="HY_delete"]').show();
  177. // $('.tool_downs').find('[id*="HY_remind"]').show();
  178. $('.tool_downs').find('[id*="HY_receive"]').show();
  179. $('#workorderlist').find('.workOprate1').show(); //待指派
  180. $('#workorderlist').find('.workOprate2').show(); //待处理
  181. // $('#workorderlist').find('.workOprate3').show(); //工单催办
  182. $('#workorderlist').find('.workOprate6').show(); //待接单
  183. break;
  184. case "JG": // JG-监管 退回/接单、分配、处理、催办
  185. $('.tool_downs').find('[id*="HY_back"]').show();
  186. $('.tool_downs').find('[id*="HY_receive"]').show();
  187. $('.tool_downs').find('[id*="HY_transfer"]').show();
  188. $('.tool_downs').find('[id*="HY_end"]').show();
  189. $('.tool_downs').find('[id*="HY_remind"]').show();
  190. $('#workorderlist').find('.workOprate6').show(); //待接单
  191. // $('#workorderlist').find('.workOprate1').show(); //待指派
  192. $('#workorderlist').find('.workOprate2').show(); //待处理
  193. $('#workorderlist').find('.workOprate3').show(); //工单催办
  194. $('#workorderlist').find('.workOprate4').show(); //超期工单
  195. break;
  196. case "BLRY": //BLRY-办理人员 退回/接单、处理 异常退回
  197. $('.tool_downs').find('[id*="HY_back"]').show();
  198. $('.tool_downs').find('[id*="HY_receive"]').show();
  199. $('.tool_downs').find('[id*="HY_end"]').show();
  200. $('.tool_downs').find('[id*="HY_abnormal_back"]').show();
  201. $('#workorderlist').find('.workOprate6').show(); //待接单
  202. $('#workorderlist').find('.workOprate2').show(); //待处理
  203. break;
  204. // case "1": //接待部(400接待员) (创建、分配、处理、修改、催办 、评论、审核微信工单 ,删除)
  205. //
  206. // $('.tool_downs').find('[id*="HY_edit"]').show();
  207. // $('.tool_downs').find('[id*="HY_remind"]').show();
  208. // $('.tool_downs').find('[id*="HY_comment"]').show();
  209. // $('.tool_downs').find('[id*="HY_auditor"]').show();
  210. //
  211. // $('#workorderlist').find('.workOprate5').show(); //已处理
  212. // $('#workorderlist').find('.workOprate7').show(); //综合查询
  213. // $('#workorderlist').find('.workOprate8').show(); //微信工单
  214. // break;
  215. default:
  216. break;
  217. }
  218. }
  219. //格式化操作(综合查询)
  220. function formatterOprate(val, row) {
  221. //工单状态0待指派,1待处理,2已处理
  222. // 0新工单待指派,1已指派待接单,2已接单待处理,3已退回待处理,4处理中,5已完结
  223. if(row.State === 2) {
  224. return '<ul class="tool_downs">' +
  225. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_delete_' + row.ID + '" onclick="btn_delete(' + val + ')" title="删除">删除</a></li>' +
  226. '</ul>';
  227. } else {
  228. return '<ul class="tool_downs">' +
  229. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_edit_' + row.ID + '" onclick="btn_edit(\'' + row.ID + '\')" title="修改">修改</a></li>' +
  230. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_delete_' + row.ID + '" onclick="btn_delete(' + val + ')" title="删除">删除</a></li>' +
  231. '</ul>';
  232. }
  233. }
  234. //格式化操作 (待指派)
  235. function formatterOprateDeal(val, row) {
  236. return '<ul class="tool_downs">' +
  237. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_edit_' + row.ID + '" onclick="btn_edit(\'' + row.ID + '\')" title="修改">修改</a></li>' +
  238. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_transfer_' + row.ID + '" onclick="btn_transfer(\'' + row.ID + '\', false, \''+ row.IsAdminSend +'\')" title="分配">分配</a></li>' +
  239. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_end_' + row.ID + '" onclick="btn_end(\'' + row.ID + '\', false)" title="处理">处理</a></li>' +
  240. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_delete_' + row.ID + '" onclick="btn_delete(\'' + row.ID + '\')" title="删除">删除</a></li>' +
  241. '</ul>';
  242. }
  243. //格式化操作 (待接单)
  244. function formatterOprateReceive(val, row) {
  245. return '<ul class="tool_downs">' +
  246. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_receive_' + row.ID + '" onclick="btn_receive(\'' + row.ID + '\')" title="接单">接单</a></li>' +
  247. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_back_' + row.ID + '" onclick="btn_back(\'' + row.ID + '\')" title="退回">退回</a></li>' +
  248. '</ul>';
  249. }
  250. //格式化操作 (微信工单 审核)
  251. function formatterOprateWchart(val, row) {
  252. return '<ul class="tool_downs">' +
  253. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_auditor_' + row.ID + '" onclick="btn_auditor(\'' + val + '\')" title="审核">审核</a></li>' +
  254. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_delete_' + row.ID + '" onclick="btn_delete(\'' + row.ID + '\')" title="删除">删除</a></li>' +
  255. '</ul>';
  256. }
  257. //格式化操作 (待处理)
  258. function formatterOprateDispose(val, row) {
  259. return '<ul class="tool_downs">' +
  260. // '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_delete_' + row.ID + '" onclick="btn_delete(\'' + row.ID + '\')" title="删除">删除</a></li>' +
  261. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_transfer_' + row.ID + '" onclick="btn_transfer(\'' + row.ID + '\', false, \''+ row.IsAdminSend +'\')" title="分配">分配</a></li>' +
  262. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_end_' + row.ID + '" onclick="btn_end(\'' + row.ID + '\', false)" title="处理">处理</a></li>' +
  263. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_abnormal_back_' + row.ID + '" onclick="btn_abnormal_back(\'' + row.ID + '\')" title="异常退回">异常退回</a></li>' +
  264. '</ul>';
  265. }
  266. //格式化操作 (已处理)
  267. function formatterOprateParty(val, row) {
  268. return '<ul class="tool_downs">' +
  269. // '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_delete_' + row.ID + '" onclick="btn_delete(\'' + row.ID + '\')" title="删除">删除</a></li>' +
  270. // '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_comment_' + row.ID + '" onclick="btn_comment(\'' + val + '\')" title="评论">评论</a></li>' +
  271. '</ul>';
  272. }
  273. //格式化操作 (工单催办 超期工单)
  274. function formatterOprateExpedite(val, row) {
  275. return '<ul class="tool_downs">' +
  276. // '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_edit_' + row.ID + '" onclick="btn_edit(\'' + row.ID + '\')" title="修改">修改</a></li>' +
  277. // '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_delete_' + row.ID + '" onclick="btn_delete(\'' + row.ID + '\')" title="删除">删除</a></li>' +
  278. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_remind_' + row.ID + '" onclick="btn_remind(\'' + row.ID + '\')" title="催办">催办</a></li>' +
  279. '</ul>';
  280. }
  281. //格式化操作 (修改记录)
  282. function formatterOprateLogs(val, row) {
  283. return '<ul class="tool_downs">' +
  284. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_deleteLogs_' + row.Id + '" onclick="btn_deleteLogs(' + row.Id + ')" title="删除">删除</a></li>' +
  285. '</ul>';
  286. }
  287. //格式化工单编号
  288. function formatterOrderId(val, row) {
  289. return '<div class="imgs" ><a class="xg" onclick=btn_detail("' + row.ID + '") >' + val + '</a></div>'
  290. }
  291. //格式化 工单状态
  292. function formatterState(val) {
  293. //工单状态0待指派,1待处理,2已处理 原来的状态 不用!!!!
  294. // 0新工单待指派,1已指派待接单,2已接单待处理,3已退回待处理,4异常退回待处理,5处理中,10已完结
  295. var stateStr = '-';
  296. var stateClass = '';
  297. switch(val) {
  298. case 0:
  299. stateStr = '待指派';
  300. stateClass = 'audit_wait';
  301. break;
  302. case 1:
  303. stateStr = '待接单';
  304. stateClass = 'audit_refuse';
  305. break;
  306. case 2:
  307. stateStr = '待处理';
  308. stateClass = 'audit_revoke';
  309. break;
  310. case 3:
  311. stateStr = '已退回';
  312. stateClass = 'audit_termination';
  313. break;
  314. case 4:
  315. stateStr = '异常退回';
  316. stateClass = 'audit_termination';
  317. break;
  318. case 5:
  319. stateStr = '处理中';
  320. stateClass = 'audit_doned';
  321. break;
  322. case 10:
  323. stateStr = '已完结';
  324. stateClass = 'audit_done';
  325. break;
  326. default:
  327. break;
  328. }
  329. return '<div class="' + stateClass + '">' + stateStr + '</div>';
  330. }
  331. //格式化 工单有效性
  332. function formatterIsEffective(val) {
  333. var stateStr = '-';
  334. var stateClass = '';
  335. switch(val) { //是否有效工单项(0有效,1无效)
  336. case 0:
  337. stateStr = '有效';
  338. stateClass = 'audit_done';
  339. break;
  340. case 1:
  341. stateStr = '无效';
  342. stateClass = 'audit_revoke';
  343. break;
  344. default:
  345. break;
  346. }
  347. return '<div class="' + stateClass + '">' + stateStr + '</div>';
  348. }
  349. //格式化 反馈内容
  350. function formatterDetail(val) {
  351. if(val) {
  352. var strD = decodeURIComponent(val);
  353. strD = helper.filter.filterHTMLTag(strD);
  354. if(strD.length > 10) {
  355. strD = strD.substring(0, 10) + '...';
  356. }
  357. return strD;
  358. }
  359. }
  360. //格式化接收人
  361. function formatterAuditUser(val) {
  362. if(val === "0") {
  363. return '-';
  364. } else {
  365. return val;
  366. }
  367. }
  368. // 格式化录音
  369. function formatterAudio(val, row) {
  370. if (val) {
  371. return '<div class="imgs">' +
  372. '<img src="../img/vice.png" alt="" onclick= openAudio(this) item="' + val + '" />' +
  373. '</div>';
  374. } else {
  375. return '-';
  376. }
  377. }
  378. function openAudio(val) {
  379. var path = $(val).attr("item");
  380. $(".t-shade").addClass("cx");
  381. $(".shade_k").addClass("cx");
  382. $(".Ly_box").empty();
  383. $('<audio style="width:100%;" src="' + path + '" loop="loop" controls="controls"></audio>').appendTo(".Ly_box");
  384. $('<a href="' + path + '" class="sc_btn LY "download="' + path + '">下载录音</a>').appendTo(".LY_box");
  385. }
  386. /**
  387. * 修改
  388. * oid工单id
  389. * isDetail 是否是详情页面的处理
  390. * */
  391. function btn_edit(oid, isDetail) {
  392. layer.open({
  393. type: 2,
  394. title: '修改工单',
  395. maxmin: true, //开启最大化最小化按钮
  396. area: ['80%', '90%'],
  397. content: '../commonTpl/addOrEditWorkOrder.html?oid=' + oid + '&isDetail=' + isDetail
  398. });
  399. }
  400. /**
  401. * 这个是原来的处理 包含转派和处理;已经不用
  402. * 处理
  403. * oid 工单ID
  404. * idDeal 是否待处理的标志
  405. * isDetail 是否是详情页面的处理
  406. * proid 项目id
  407. * */
  408. function btn_deal(oid, isDeal, isDetail, proid) {
  409. layer.open({
  410. type: 2,
  411. title: '处理工单',
  412. maxmin: true, //开启最大化最小化按钮
  413. area: ['80%', '90%'],
  414. content: "../commonTpl/WorkOrderDeal.html?oid=" + oid + "&isDeal=" + isDeal + "&isDetail=" + isDetail + "&proid=" + proid
  415. });
  416. }
  417. /**
  418. * 处理(结束)
  419. * oid 工单ID
  420. * isDetail 是否是详情页面的处理
  421. * */
  422. function btn_end(oid, isDetail) {
  423. layer.open({
  424. type: 2,
  425. title: '处理工单',
  426. maxmin: true, //开启最大化最小化按钮
  427. area: ['80%', '90%'],
  428. content: "../commonTpl/WorkOrderEnd.html?oid=" + oid + "&isDetail=" + isDetail,
  429. });
  430. }
  431. /**
  432. * 分配
  433. * oid 工单ID
  434. * isDetail 是否是详情页面的处理
  435. * proid 项目id
  436. * */
  437. function btn_transfer(oid, isDetail, proid) {
  438. layer.open({
  439. type: 2,
  440. title: '分配工单',
  441. maxmin: true, //开启最大化最小化按钮
  442. area: ['80%', '90%'],
  443. content: "../commonTpl/WorkOrderTransfer.html?oid=" + oid + "&isDetail=" + isDetail + "&proid=" + proid,
  444. });
  445. }
  446. //接单
  447. function btn_receive(oid) {
  448. layer.confirm('您确认要接单吗?', {
  449. icon: 7,
  450. btn: ['接单', '取消'] //按钮
  451. }, function() {
  452. $.post(huayi.config.callcenter_url + 'WorkOrder/SureWorkOrder', {
  453. orderid: oid,
  454. token: $.cookie("token")
  455. }, function(result) {
  456. result = $.parseJSON(result);
  457. if(result.state.toLowerCase() == "success") {
  458. $('#workorderlist').bootstrapTable('refresh');
  459. top.workcount();
  460. $('.Closed').trigger('click');
  461. layer.msg("接单成功");
  462. }
  463. })
  464. });
  465. }
  466. //退回
  467. function btn_back(oid) {
  468. layer.prompt({
  469. formType: 2,
  470. value: '',
  471. title: '请输入退回原因',
  472. area: ['800px', '240px'] //自定义文本域宽高
  473. }, function(value, index, elem) {
  474. $.post(huayi.config.callcenter_url + 'WorkOrder/backWorkOrder', {
  475. orderid: oid,// 工单ID
  476. cont: value, // 退回原因
  477. type: 0, // 0退回,1异常退回
  478. token: $.cookie("token")
  479. }, function(result) {
  480. result = $.parseJSON(result);
  481. if(result.state.toLowerCase() == "success") {
  482. $('#workorderlist').bootstrapTable('refresh');
  483. top.workcount();
  484. $('.Closed').trigger('click');
  485. layer.close(index);
  486. layer.msg("退回成功!");
  487. }
  488. })
  489. });
  490. }
  491. //异常退回
  492. function btn_abnormal_back(oid) {
  493. layer.prompt({
  494. formType: 2,
  495. value: '',
  496. title: '请输入异常退回原因',
  497. area: ['800px', '240px'] //自定义文本域宽高
  498. }, function(value, index, elem) {
  499. $.post(huayi.config.callcenter_url + 'WorkOrder/backWorkOrder', {
  500. orderid: oid,// 工单ID
  501. cont: value, // 退回原因
  502. type: 1, // 0退回,1异常退回
  503. token: $.cookie("token")
  504. }, function(result) {
  505. result = $.parseJSON(result);
  506. if(result.state.toLowerCase() == "success") {
  507. $('#workorderlist').bootstrapTable('refresh');
  508. top.workcount();
  509. $('.Closed').trigger('click');
  510. layer.close(index);
  511. layer.msg("退回成功!");
  512. }
  513. })
  514. });
  515. }
  516. //审核
  517. function btn_auditor(oid) {
  518. layer.confirm('确认要审核通过该工单吗?', {
  519. icon: 7,
  520. btn: ['有效', '无效'] //按钮
  521. }, function() {
  522. auditWorkOrder(oid, 0);
  523. layer.msg("审核成功!");
  524. },
  525. function() {
  526. layer.prompt({
  527. formType: 2,
  528. value: '',
  529. title: '无效原因',
  530. area: ['600px', '200px'] //自定义文本域宽高
  531. }, function(value, index, elem) {
  532. auditWorkOrder(oid, 1, value);
  533. layer.close(index);
  534. layer.msg("审核成功!");
  535. });
  536. });
  537. }
  538. /**
  539. * 审核
  540. * oid 工单id
  541. * isvalid 0有效,1无效
  542. * oval 不通过原因
  543. * */
  544. function auditWorkOrder(oid, isvalid, oval) {
  545. $.post(huayi.config.callcenter_url + 'WorkOrder/AuditWorkOrder', {
  546. orderid: oid,
  547. iseffective: isvalid, //否 int 工单有效性 默认0 是否有效工单项(0有效,1无效)
  548. note: oval, // 否 string 无效原因
  549. token: $.cookie("token")
  550. }, function(result) {
  551. result = $.parseJSON(result);
  552. if(result.state.toLowerCase() == "success") {
  553. $('#workorderlist').bootstrapTable('refresh');
  554. top.workcount();
  555. $('.Closed').trigger('click');
  556. }
  557. });
  558. }
  559. //评论
  560. function btn_comment(oid) {
  561. layer.prompt({
  562. formType: 2,
  563. value: '',
  564. title: '请输入评论内容',
  565. area: ['800px', '240px'] //自定义文本域宽高
  566. }, function(value, index, elem) {
  567. $.post(huayi.config.callcenter_url + 'WorkOrder/AddWorkOrderComment', {
  568. orderid: oid,
  569. cont: value,
  570. token: $.cookie("token")
  571. }, function(result) {
  572. result = $.parseJSON(result);
  573. if(result.state.toLowerCase() == "success") {
  574. layer.msg("评论工单成功!");
  575. $('#workorderlist').bootstrapTable('refresh');
  576. top.workcount();
  577. $('.Closed').trigger('click');
  578. layer.close(index);
  579. }
  580. })
  581. });
  582. }
  583. //催办
  584. function btn_remind(oid) {
  585. layer.prompt({
  586. formType: 2,
  587. value: '',
  588. title: '请输入催办内容',
  589. area: ['800px', '240px'] //自定义文本域宽高
  590. }, function(value, index, elem) {
  591. $.post(huayi.config.callcenter_url + 'WorkOrder/AddWorkOrderRemind', {
  592. orderid: oid,
  593. cont: value,
  594. token: $.cookie("token")
  595. }, function(result) {
  596. result = $.parseJSON(result);
  597. if(result.state.toLowerCase() == "success") {
  598. layer.msg("催办工单成功!");
  599. $('#workorderlist').bootstrapTable('refresh');
  600. top.workcount();
  601. $('.Closed').trigger('click');
  602. layer.close(index);
  603. }
  604. })
  605. });
  606. }
  607. //删除
  608. function btn_delete(oid) {
  609. layer.confirm('确定删除当前记录?', {
  610. icon: 7,
  611. btn: ['是', '否'] //按钮
  612. }, function(index) {
  613. /*执行删除*/
  614. $.ajax({
  615. type: "post",
  616. url: huayi.config.callcenter_url + "WorkOrder/DelWorkOrder",
  617. dataType: 'json',
  618. async: true,
  619. data: {
  620. ids: oid,
  621. token: $.cookie("token")
  622. },
  623. success: function(data) {
  624. layer.msg("删除成功!");
  625. $('#workorderlist').bootstrapTable('refresh');
  626. top.workcount();
  627. $('.Closed').trigger('click');
  628. layer.close(index);
  629. }
  630. });
  631. });
  632. }
  633. //修改记录删除
  634. function btn_deleteLogs(oid) {
  635. layer.confirm('确定删除当前记录?', {
  636. icon: 7,
  637. btn: ['是', '否'] //按钮
  638. }, function(index) {
  639. /*执行删除*/
  640. $.ajax({
  641. type: "post",
  642. url: huayi.config.callcenter_url + "WorkOrderLogs/Delete",
  643. dataType: 'json',
  644. async: true,
  645. data: {
  646. ids: oid,
  647. token: $.cookie("token")
  648. },
  649. success: function(data) {
  650. layer.msg("删除成功!");
  651. $('#itemTableList4').bootstrapTable('refresh');
  652. layer.close(index);
  653. }
  654. });
  655. });
  656. }
  657. /**
  658. * 查看详情
  659. * oid 工单id
  660. * isCallScreen 是否是来单弹屏中的工单详情
  661. * */
  662. function btn_detail(oid, isCallScreen) {
  663. if(!isCallScreen){
  664. $('#order_details').load('./template/orderDetails.html');
  665. }else{
  666. $('#order_details').load('../WorkOrder/template/orderDetails.html');
  667. }
  668. $("#order_details").removeClass("Hidens");
  669. detailOrderNum = oid;
  670. }
  671. //获取工单详情
  672. function getWorkOrderDetails() {
  673. $.getJSON(huayi.config.callcenter_url + 'WorkOrder/GetWorkOrder', {
  674. "orderid": detailOrderNum,
  675. "token": $.cookie("token")
  676. }, function(result) {
  677. if(result.state.toLowerCase() == "success") {
  678. if(result.data.data && result.data.data.length > 0) {
  679. var data = result.data.data[0];
  680. $("#xq_gdbh").text(data.WorkOrderID);
  681. $("#xq_gdlx").text(data.GDLXName); //工单类型
  682. $("#xq_cjsj").text(data.CreateTime); //创建时间
  683. $("#xq_gdzt").html(formatterState(data.State)); //工单状态
  684. $("#xq_khxm").text(data.Customer); //客户姓名
  685. $("#xq_khdh").text(helper.filter.cutTel(data.CustomerTel)); //客户电话
  686. $("#xq_iseffective").html(formatterIsEffective(data.IsEffective)); //工单有效性
  687. $("#xq_source").text(data.GDLYName); //工单来源
  688. $('#xq_handle').text(data.YWLXName); //业务办理(业务类型)
  689. $("#xq_fkdep").text(data.ResponDeptName); //接收部门
  690. $("#xq_responseUser").text(data.AuditUserNameRel); //接收人
  691. $("#xq_zxgh").text(data.CreateUserName1); //创建人
  692. $("#xq_clcontent").text(data.clcontent); //处理内容
  693. $("#xq_gdnr").html(decodeURIComponent(data.Detail)); //反馈内容
  694. if(data.IsEffective === 0) {
  695. $('.xq_notes').hide();
  696. } else {
  697. $('.xq_notes').show();
  698. $("#xq_note").text(data.Province); //无效原因
  699. }
  700. }
  701. }
  702. });
  703. }
  704. //获取修改记录
  705. function initTableLogs() {
  706. //先销毁表格
  707. $('#itemTableList4').bootstrapTable('destroy');
  708. //初始化表格,动态从服务器加载数据
  709. $("#itemTableList4").bootstrapTable({
  710. method: "get", //使用get请求到服务器获取数据
  711. url: huayi.config.callcenter_url + "WorkOrderLogs/GetList", //获取数据的Servlet地址
  712. contentType: 'application/x-www-form-urlencoded',
  713. striped: true, //表格显示条纹
  714. pagination: true, //启动分页
  715. pageSize: 10, //每页显示的记录数
  716. pageNumber: 1, //当前第几页
  717. pageList: [10, 20, 50, 100], //记录数可选列表
  718. search: false, //是否启用查询
  719. showColumns: false, //显示下拉框勾选要显示的列
  720. showRefresh: false, //显示刷新按钮
  721. sidePagination: "server", //表示服务端请求
  722. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  723. //设置为limit可以获取limit, offset, search, sort, order
  724. queryParamsType: "undefined",
  725. queryParams: function queryParams(params) { //设置查询参数
  726. var param = {
  727. page: params.pageNumber, //否 int 当前页
  728. pagesize: params.pageSize, //否 int 每页数
  729. orderid: $("#xq_gdbh").text(), //否 string 工单编号
  730. //keyword: detailOrderNum, //否 string 模糊搜索(之前反馈内容,修改的反馈内容,工单编号)
  731. //starttime: $('#sc_time').val() && $('#sc_time').val().split(' ~ ')[0], //否 string 工单起止时间
  732. //endtime: $('#sc_time').val() && $('#sc_time').val().split(' ~ ')[1], //否 string 工单起止时间
  733. token: $.cookie("token"),
  734. };
  735. return param;
  736. },
  737. onLoadSuccess: function() { //加载成功时执行
  738. //layer.msg("加载成功");
  739. authorizeOperateButton();
  740. },
  741. onLoadError: function() { //加载失败时执行
  742. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  743. }
  744. });
  745. }
  746. //获取 处理记录 催办记录 评论记录
  747. function getItemList(type) {
  748. //先销毁表格
  749. var table = $("#itemTableList" + type);
  750. table.bootstrapTable('destroy');
  751. //初始化表格,动态从服务器加载数据
  752. table.bootstrapTable({
  753. method: "get", //使用get请求到服务器获取数据
  754. url: huayi.config.callcenter_url + "WorkOrder/GetItemList", //获取数据的Servlet地址
  755. contentType: 'application/x-www-form-urlencoded',
  756. striped: true, //表格显示条纹
  757. pagination: true, //启动分页
  758. pageSize: 10, //每页显示的记录数
  759. pageNumber: 1, //当前第几页
  760. pageList: [10, 20, 50, 100], //记录数可选列表
  761. search: false, //是否启用查询
  762. showColumns: false, //显示下拉框勾选要显示的列
  763. showRefresh: false, //显示刷新按钮
  764. sidePagination: "server", //表示服务端请求
  765. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  766. //设置为limit可以获取limit, offset, search, sort, order
  767. queryParamsType: "undefined",
  768. queryParams: function queryParams(params) { //设置查询参数
  769. var param = {
  770. page: params.pageNumber,
  771. pagesize: params.pageSize,
  772. type: type,
  773. // id: $("#xq_gdbh").text(), // 工单编号
  774. orderid: detailOrderNum, // 工单ID
  775. token: $.cookie("token")
  776. };
  777. return param;
  778. },
  779. onLoadSuccess: function() { //加载成功时执行
  780. //layer.msg("加载成功");
  781. },
  782. onLoadError: function() { //加载失败时执行
  783. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  784. }
  785. });
  786. }
  787. //格式化处理详情
  788. function formatterDealDetail(val, row) {
  789. var str = '';
  790. if(!row.IsLast && !row.DealTime && !row.SureUserName && !row.ToDeptName){
  791. str = str + formatterUserName(row.CreateUser, row.CreateUserName) + " 创建了工单。" + "<br>";
  792. }
  793. if(row.IsLast) {
  794. str = str + formatterUserName(row.CreateUser, row.CreateUserName) + " 完结工单。" + "<br>";
  795. }
  796. if(row.DealTime) {
  797. str = str + formatterUserName(row.CreateUser, row.CreateUserName) + " 处理工单:" + "<br>";
  798. str = str + row.Detail + "<br>";
  799. }
  800. if(row.SureUserName) {
  801. str = str + formatterUserName(row.SureUser, row.SureUserName) + " 接单。" + "<br>";
  802. }
  803. if(row.ToDeptName) {
  804. if(row.State != 6){
  805. str = str + formatterUserName(row.CreateUser, row.CreateUserName) + " 指派工单给 " + row.ToDeptName + ":";
  806. if(row.ToUserName) {
  807. str = str + formatterUserName(row.ToUser, row.ToUserName);
  808. }
  809. }
  810. if(row.State === 6){
  811. str = str + row.ToDeptName + ":" + formatterUserName(row.ToUser, row.ToUserName) + " 将工单退回给 " + formatterUserName(row.CreateUser, row.CreateUserName);
  812. }
  813. str = str + "<br>";
  814. }
  815. if(row.IsStart) {
  816. str = str + formatterUserName(row.CreateUser, row.CreateUserName) + " 重新开启工单。" + "<br>";
  817. }
  818. return str;
  819. }
  820. /**
  821. * 格式化名称 返回(8000)管理员
  822. * @user_code 工号
  823. * @user_name 名称
  824. * */
  825. function formatterUserName(user_code, user_name){
  826. var str = '';
  827. if(user_code){
  828. str = '(' + user_code + ')' + user_name;
  829. }else{
  830. str = user_name;
  831. }
  832. return str;
  833. }
  834. function dcexcel(obj) {
  835. var orderMenu = top.$("iframe:visible")[0].src.split('/WorkOrder/')[1];
  836. //console.log(orderMenu);
  837. //工单状态(0待指派 1待接单的 2待完成的(待处理) 3已完成的 4我参与的 5超期工单)
  838. var ltype = ''; //否 string 工单状态
  839. var isaudit = '-1'; //微信列表(0未审核微信列表,1已审核微信列表)
  840. switch(orderMenu) {
  841. case "WorkOrderAppoint.html": //待指派
  842. ltype = '0';
  843. break;
  844. case "WorkOrderReceive.html": //待接单
  845. ltype = '1';
  846. break;
  847. case "WorkOrderDispose.html": //待处理
  848. ltype = '2';
  849. break;
  850. case "WorkOrderParty.html": //已处理
  851. ltype = '3';
  852. break;
  853. case "WorkOrderPartake.html": //已参与
  854. ltype = '4';
  855. break;
  856. case "WorkOrderOverdue.html": //超期
  857. ltype = '5';
  858. break;
  859. case "WorkOrderWchartList.html": //微信工单
  860. isaudit = '0';
  861. break;
  862. default:
  863. break;
  864. }
  865. var url = huayi.config.callcenter_url + "WorkOrder/ExportList?token=" + $.cookie("token");
  866. url += "&keyword=" + $("#sc_key").val();
  867. url += "&ltype=" + ltype;
  868. url += "&states=" + $('#sc_state').val();
  869. url += "&type=" + $("#sc_source").val();
  870. url += "&typeclass=" + $("#sc_type").val();
  871. url += "&starttime=" + ($('#sc_time').val() && $('#sc_time').val().split(' ~ ')[0]);
  872. url += "&endtime=" + ($('#sc_time').val() && $('#sc_time').val().split(' ~ ')[1]);
  873. url += "&areaid=" + $("#sc_rengin").val();
  874. url += "&regionid=" + $("#sc_pro").val();
  875. url += "&buldingid=" + $("#sc_floor").val();
  876. url += "&isaudit=" + isaudit;
  877. obj.href = url;
  878. }
  879. //催办的 导出
  880. function dcexcels(obj) {
  881. var url = huayi.config.callcenter_url + "WorkOrder/ExportList?token=" + $.cookie("token");
  882. url += "&keyword=" + $("#sc_key").val();
  883. url += "&type=" + $("#sc_source").val();
  884. url += "&typeclass=" + $("#sc_type").val();
  885. url += "&starttime=" + ($('#sc_time').val() && $('#sc_time').val().split(' ~ ')[0]);
  886. url += "&endtime=" + ($('#sc_time').val() && $('#sc_time').val().split(' ~ ')[1]);
  887. url += "&areaid=" + $("#sc_rengin").val();
  888. url += "&regionid=" + $("#sc_pro").val();
  889. url += "&buldingid=" + $("#sc_floor").val();
  890. obj.href = url;
  891. }