三元财务UI

WorkOrder.js 31KB

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