三元财务UI

WorkOrder.js 31KB

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