Nenhuma Descrição

WorkOrder.js 32KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827
  1. var selid;//工单ID
  2. $(document).ready(function() {
  3. initTable();
  4. $(".ss").click(function() {
  5. initTable();
  6. $(".Closed").trigger('click');
  7. })
  8. $('.plasechoce').click(function() {
  9. $(this).parent().siblings('input').val('');
  10. })
  11. $("input[name='ltype']").click(function() {
  12. var val = $("input[name='ltype']:checked").val();
  13. if(val == '0') {
  14. $(".js").show();
  15. } else if(val == '1') {
  16. $(".js").hide();
  17. }
  18. })
  19. laydate.render({
  20. elem: '#greetingTimes',
  21. range: '~',
  22. // type: 'datetime',
  23. //max : 31,
  24. // min: 0,
  25. theme: '#1ab394',
  26. });
  27. //坐席
  28. getSeating();
  29. //产品代码
  30. getProductType();
  31. //生产厂家
  32. getProductFactory();
  33. //问题代码
  34. getProblemCode();
  35. //工单级别
  36. getDealTimely();
  37. //zTree 大区、办事处
  38. addRegion();
  39. function getSeating() {
  40. $.ajax({
  41. type: "get",
  42. url: huayi.config.callcenter_url + "CallInScreen/GetUsers",
  43. dataType: 'json',
  44. async: true,
  45. data: {
  46. token: $.cookie("token")
  47. },
  48. success: function(data) {
  49. var Count = data.data.user;
  50. $(Count).each(function(i, n) {
  51. $("<option value='" + n.F_UserCode + "'>" + n.F_UserName + "</option>").appendTo($("#userid"));
  52. })
  53. }
  54. });
  55. }
  56. })
  57. //编辑器配置
  58. KindEditor.ready(function(K) {
  59. window.changeEditor = K.create('#cl_gdnr'); //修改弹出框编辑器
  60. });
  61. var F_UserCode = localStorage.getItem('F_UserCode');
  62. // 根据重要级别判断工单颜色
  63. function View(val, row) {
  64. if (row.F_DealTimely === "Ⅰ级" || row.F_DealTimely === "1类问题") {
  65. return '<div class="imgs" ><a class="xg workOrderIdColorRed" index="' + row.CreateUser + '" onclick= getWorkOrderDetails("' + row.F_Id + '") >' + val + '</a></div>';
  66. } else if (row.F_DealTimely === "Ⅱ级" || row.F_DealTimely === "2类问题") {
  67. return '<div class="imgs" ><a class="xg workOrderIdColorGreen" index="' + row.CreateUser + '" onclick= getWorkOrderDetails("' + row.F_Id + '") >' + val + '</a></div>';
  68. } else if (row.F_DealTimely === "普通工单" || row.F_DealTimely === "3类问题") {
  69. return '<div class="imgs" ><a class="xg" index="' + row.CreateUser + '" onclick= getWorkOrderDetails("' + row.F_Id + '") >' + val + '</a></div>';
  70. } else {
  71. return '<div class="imgs" ><a class="xg" index="' + row.CreateUser + '" onclick= getWorkOrderDetails("' + row.F_Id + '") >' + val + '</a></div>';
  72. }
  73. $("#F_UserCode").val(row.CreateUser);
  74. }
  75. // 工单来源返回值判断
  76. function workOrderSourceJudge (val, row) {
  77. if (val === 1) {
  78. return '<div>PC</div>';
  79. } else if (val === 2) {
  80. return '<div>APP</div>';
  81. } else if (val === 3) {
  82. return '<div>微信</div>';
  83. } else {
  84. return '<div></div>';
  85. }
  86. }
  87. // 工单类别返回值判断
  88. function workOrderTypeJudge (val, row) {
  89. if (val === 1) {
  90. return '<div class="workOrderTypeJudgeText">咨询</div>';
  91. } else if (val === 2) {
  92. return '<div class="workOrderTypeJudgeText">投诉</div>';
  93. } else if (val === 3) {
  94. return '<div class="workOrderTypeJudgeText">重复</div>';
  95. } else {
  96. return '<div class="workOrderTypeJudgeText"></div>';
  97. }
  98. }
  99. // 工单状态返回值判断
  100. function workOrderStateJudge (val, row) {
  101. if (val === 0) {
  102. return '<div>待提交</div>';
  103. } else if (val === 1) {
  104. return '<div>待分派</div>';
  105. } else if (val === 2) {
  106. return '<div>待接单</div>';
  107. } else if (val === 3) {
  108. return '<div>待处理</div>';
  109. } else if (val === 4) {
  110. return '<div>处理中</div>';
  111. } else if (val === 5) {
  112. return '<div>退回待分派</div>';
  113. } else if (val === 6) {
  114. return '<div>退回待提交</div>';
  115. } else if (val === 10) {
  116. return '<div>已完成</div>';
  117. } else {
  118. return '<div></div>';
  119. }
  120. }
  121. //格式化 字符长度 25
  122. function formatterAddressResult(val) {
  123. if(val) {
  124. var strAddressResult = decodeURIComponent(val);
  125. strAddressResult = helper.filter.filterHTMLTag(strAddressResult);
  126. if(strAddressResult.length > 25) {
  127. strAddressResult = strAddressResult.substring(0, 25) + '...';
  128. }
  129. return strAddressResult;
  130. }
  131. }
  132. //格式化 字符长度 8
  133. function formatterCharacterLength(val) {
  134. if(val) {
  135. var characterLength = decodeURIComponent(val);
  136. characterLength = helper.filter.filterHTMLTag(characterLength);
  137. if(characterLength.length > 8) {
  138. characterLength = characterLength.substring(0, 8) + '...';
  139. }
  140. return characterLength;
  141. }
  142. }
  143. // 获取当前登录人
  144. function getLoginPersonNow() {
  145. $.ajax({
  146. type: "get",
  147. url: huayi.config.callcenter_url + "UserAccount/GetNowUser",
  148. dataType: 'json',
  149. async: true,
  150. data: {
  151. token: $.cookie("token")
  152. },
  153. success: function(data) {
  154. var userRoleCode = data.data.role.F_RoleCode;
  155. // 判断角色权限
  156. authorizeOperateButton(userRoleCode)
  157. }
  158. });
  159. }
  160. //获取 userRoleCode 判断按钮权限
  161. function authorizeOperateButton(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_submit"]').show(); //指派
  175. $('.tool_downs').find('[id*="HY_edit"]').show(); //修改
  176. $('.tool_downs').find('[id*="HY_mark"]').show(); //标记
  177. $('.tool_downs').find('[id*="HY_remark_"]').show(); //备注
  178. $('.tool_downs').find('[id*="HY_delete"]').show(); //删除
  179. $('.tool_downs').find('[id*="HY_return"]').hide(); //退回
  180. $('.tool_downs').find('[id*="HY_dealWith"]').hide(); //处理
  181. $('.tool_downs').find('[id*="HY_reduction"]').hide();//减免
  182. $('.tool_downs').find('[id*="HY_reminder"]').hide();//催单
  183. $('#workorderlist').find('.workOprate1').show(); //待指派
  184. $('#workorderlist').find('.workOprate7').show(); //综合查询
  185. $('#workorderlist').find('.partyType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  186. $('#workorderlist').find('.RemissionType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  187. break;
  188. case "BSCJL": // 办事处经理 转派、退回、修改、删除、
  189. $('.tool_downs').find('[id*="HY_transfer"]').show(); //指派
  190. $('.tool_downs').find('[id*="HY_mark"]').show(); // 标记
  191. $('.tool_downs').find('[id*="HY_edit"]').hide(); // 修改
  192. $('.tool_downs').find('[id*="HY_remark_"]').hide(); //备注
  193. $('.tool_downs').find('[id*="HY_delete"]').hide(); //删除
  194. $('.tool_downs').find('[id*="HY_return"]').show(); //退回
  195. $('.tool_downs').find('[id*="HY_dealWith"]').hide(); //处理
  196. $('.tool_downs').find('[id*="HY_reduction"]').hide();//减免
  197. $('.tool_downs').find('[id*="HY_reminder"]').hide();//催单
  198. $('#workorderlist').find('.workOprate2').show(); //待指派
  199. $('#workorderlist').find('.workOprate4').show(); //待处理
  200. $('#workorderlist').find('.workOprate5').show(); //处理中
  201. $('#workorderlist').find('.workOprate6').show(); //已处理
  202. $('#workorderlist').find('.searchType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  203. $('#workorderlist').find('.RemissionType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  204. break;
  205. case "YWY": //YWY-业务人员 退回、处理 、修改
  206. $('.tool_downs').find('[id*="HY_transfer"]').hide(); //指派
  207. $('.tool_downs').find('[id*="HY_mark"]').show(); // 标记
  208. $('.tool_downs').find('[id*="HY_delete"]').hide(); //删除
  209. $('.tool_downs').find('[id*="HY_edit"]').hide(); //修改
  210. $('.tool_downs').find('[id*="HY_remark_"]').hide(); //备注
  211. $('.tool_downs').find('[id*="HY_dealWith"]').show(); //处理
  212. $('.tool_downs').find('[id*="HY_return"]').show();//退回
  213. $('.tool_downs').find('[id*="HY_reduction"]').hide();//减免
  214. $('.tool_downs').find('[id*="HY_reminder"]').hide();//催单
  215. $('#workorderlist').find('.workOprate4').show(); //待处理
  216. $('#workorderlist').find('.workOprate5').show(); //处理中
  217. $('#workorderlist').find('.appointType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  218. $('#workorderlist').find('.returnAssignedType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  219. $('#workorderlist').find('.partyType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  220. $('#workorderlist').find('.searchType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  221. break;
  222. case "ZG": //ZG-主管 退回、处理 、修改
  223. $('.tool_downs').find('[id*="HY_transfer"]').hide(); //指派
  224. $('.tool_downs').find('[id*="HY_mark"]').show(); // 标记
  225. $('.tool_downs').find('[id*="HY_delete"]').hide(); //删除
  226. $('.tool_downs').find('[id*="HY_edit"]').hide(); //修改
  227. $('.tool_downs').find('[id*="HY_remark_"]').hide(); //备注
  228. $('.tool_downs').find('[id*="HY_dealWith"]').show(); //处理
  229. $('.tool_downs').find('[id*="HY_return"]').show();//退回
  230. $('.tool_downs').find('[id*="HY_reduction"]').hide();//减免
  231. $('.tool_downs').find('[id*="HY_reminder"]').hide();//催单
  232. $('#workorderlist').find('.workOprate4').show(); //待处理
  233. $('#workorderlist').find('.workOprate5').show(); //处理中
  234. $('#workorderlist').find('.appointType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  235. $('#workorderlist').find('.returnAssignedType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  236. $('#workorderlist').find('.partyType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  237. $('#workorderlist').find('.searchType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  238. break;
  239. case "BBZY": // BBZY - 报表及分析员
  240. $('.tool_downs').find('[id*="HY_transfer"]').hide(); //指派
  241. $('.tool_downs').find('[id*="HY_mark"]').show(); // 标记
  242. $('.tool_downs').find('[id*="HY_delete"]').hide(); //删除
  243. $('.tool_downs').find('[id*="HY_edit"]').hide(); //修改
  244. $('.tool_downs').find('[id*="HY_reductionEdit"]').show(); //减免修改
  245. $('.tool_downs').find('[id*="HY_remark_"]').hide(); //备注
  246. $('.tool_downs').find('[id*="HY_dealWith"]').show(); //处理
  247. $('.tool_downs').find('[id*="HY_return"]').show();//退回
  248. $('.tool_downs').find('[id*="HY_reduction"]').show();//减免
  249. $('.tool_downs').find('[id*="HY_reminder"]').hide();//催单
  250. $('#workorderlist').find('.workOprate7').show(); //处理中
  251. $('#workorderlist').find('.workOprate8').show(); //减免工单
  252. $('#workorderlist').find('.submitType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  253. $('#workorderlist').find('.appointType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  254. $('#workorderlist').find('.returnSubmitType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  255. $('#workorderlist').find('.returnAssignedType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  256. $('#workorderlist').find('.disposeType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  257. $('#workorderlist').find('.processingType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  258. $('#workorderlist').find('.partyType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  259. $('#workorderlist').find('.RemissionType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  260. break;
  261. case "CLZY":
  262. /*
  263. CLZY: 总部处理专员
  264. 操作:催单 (待指派、待处理、处理中)
  265. */
  266. $('.tool_downs').find('[id*="HY_transfer"]').hide(); //指派
  267. $('.tool_downs').find('[id*="HY_mark"]').hide(); // 标记
  268. $('.tool_downs').find('[id*="HY_delete"]').hide(); //删除
  269. $('.tool_downs').find('[id*="HY_edit"]').hide(); //修改
  270. $('.tool_downs').find('[id*="HY_reductionEdit"]').hide(); //减免修改
  271. $('.tool_downs').find('[id*="HY_remark_"]').hide(); //备注
  272. $('.tool_downs').find('[id*="HY_dealWith"]').hide(); //处理
  273. $('.tool_downs').find('[id*="HY_return"]').hide();//退回
  274. $('.tool_downs').find('[id*="HY_reduction"]').hide();//减免
  275. $('.tool_downs').find('[id*="HY_reminder"]').show();//催单
  276. $('#workorderlist').find('.workOprate2').show(); //待指派
  277. $('#workorderlist').find('.workOprate4').show(); //待处理
  278. $('#workorderlist').find('.workOprate5').show(); //处理中
  279. $('#workorderlist').find('.submitType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  280. $('#workorderlist').find('.returnSubmitType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  281. $('#workorderlist').find('.partyType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  282. $('#workorderlist').find('.searchType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  283. $('#workorderlist').find('.RemissionType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  284. break;
  285. case "ZR": // ZR - 主任
  286. $('.tool_downs').find('[id*="HY_transfer"]').hide(); //指派
  287. $('.tool_downs').find('[id*="HY_mark"]').hide(); // 标记
  288. $('.tool_downs').find('[id*="HY_delete"]').hide(); //删除
  289. $('.tool_downs').find('[id*="HY_edit"]').hide(); //修改
  290. $('.tool_downs').find('[id*="HY_reductionEdit"]').show(); //减免修改
  291. $('.tool_downs').find('[id*="HY_remark_"]').hide(); //备注
  292. $('.tool_downs').find('[id*="HY_dealWith"]').hide(); //处理
  293. $('.tool_downs').find('[id*="HY_return"]').hide();//退回
  294. $('.tool_downs').find('[id*="HY_reduction"]').show();//减免
  295. $('.tool_downs').find('[id*="HY_reminder"]').hide();//催单
  296. $('#workorderlist').find('.workOprate8').show();//减免工单
  297. $('#workorderlist').find('.submitType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  298. $('#workorderlist').find('.appointType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  299. $('#workorderlist').find('.returnSubmitType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  300. $('#workorderlist').find('.returnAssignedType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  301. $('#workorderlist').find('.disposeType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  302. $('#workorderlist').find('.processingType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  303. $('#workorderlist').find('.partyType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  304. $('#workorderlist').find('.searchType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  305. break;
  306. default:
  307. $('#workorderlist').find('.submitType').removeClass('W60margin').addClass('W100').css("text-align", "center"); //待提交
  308. $('#workorderlist').find('.appointType').removeClass('W60margin').addClass('W100').css("text-align", "center"); //待指派
  309. $('#workorderlist').find('.returnSubmitType').removeClass('W60margin').addClass('W100').css("text-align", "center");//退回待提交
  310. $('#workorderlist').find('.returnAssignedType').removeClass('W60margin').addClass('W100').css("text-align", "center");//退回待指派
  311. $('#workorderlist').find('.disposeType').removeClass('W60margin').addClass('W100').css("text-align", "center");//待处理
  312. $('#workorderlist').find('.processingType').removeClass('W60margin').addClass('W100').css("text-align", "center");//处理中
  313. $('#workorderlist').find('.searchType').removeClass('W60margin').addClass('W100').css("text-align", "center");//综合查询
  314. $('#workorderlist').find('.partyType').removeClass('W60margin').addClass('W100').css("text-align", "center");//已处理
  315. $('#workorderlist').find('.RemissionType').removeClass('W60margin').addClass('W100').css("text-align", "center");//减免
  316. break;
  317. }
  318. }
  319. //格式化操作 (待提交)
  320. function formatterSubmit(val, row) {
  321. return '<ul class="tool_downs">' +
  322. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_submit_' + row.F_Id + '" onclick="btn_transfer(\'' + row.F_Id + '\', 1)" title="提交">提交</a></li>' +
  323. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_mark_' + row.F_Id + '" onclick="btn_mark(\'' + row.F_Id + '\')" title="标记">标记</a></li>' +
  324. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_edit_' + row.F_Id + '" onclick="btn_edit(\'' + row.F_Id + '\')" title="修改">修改</a></li>' +
  325. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_remark_' + row.F_Id + '" onclick="btn_remark(\'' + row.F_Id + '\')" title="备注">备注</a></li>' +
  326. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_delete_' + row.F_Id + '" onclick="btn_deleteid(\'' + row.F_Id + '\')" title="删除">删除</a></li>' +
  327. '</ul>';
  328. }
  329. //格式化操作 (待指派)
  330. function formatterDesig(val, row) {
  331. return '<ul class="tool_downs">' +
  332. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_transfer_' + row.F_Id + '" onclick="btn_transfer(\'' + row.F_Id + '\', 2)" title="指派">指派</a></li>' +
  333. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_mark_' + row.F_Id + '" onclick="btn_mark(\'' + row.F_Id + '\')" title="标记">标记</a></li>' +
  334. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_delete_' + row.F_Id + '" onclick="btn_deleteid(\'' + row.F_Id + '\')" title="删除">删除</a></li>' +
  335. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_return_' + row.F_Id + '" onclick="btn_return(\'' + row.F_Id + '\')" title="退回">退回</a></li>' +
  336. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_reminder_' + row.F_Id + '" onclick="btn_reminder(\'' + row.F_Id + '\')" title="催单">催单</a></li>' +
  337. '</ul>';
  338. }
  339. //格式化操作 (待处理)
  340. function formatterOprateDispose(val, row) {
  341. return '<ul class="tool_downs">' +
  342. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_dealWith_' + row.F_Id + '" onclick="btn_dealWith(\'' + row.F_Id + '\',)" title="处理">处理</a></li>' +
  343. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_mark_' + row.F_Id + '" onclick="btn_mark(\'' + row.F_Id + '\')" title="标记">标记</a></li>' +
  344. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_delete_' + row.F_Id + '" onclick="btn_deleteid(\'' + row.F_Id + '\')" title="删除">删除</a></li>' +
  345. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_return_' + row.F_Id + '" onclick="btn_return(\'' + row.F_Id + '\')" title="退回">退回</a></li>' +
  346. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_reminder_' + row.F_Id + '" onclick="btn_reminder(\'' + row.F_Id + '\')" title="催单">催单</a></li>' +
  347. '</ul>';
  348. }
  349. //格式化操作 (已处理)
  350. function formatterProcessed(val, row) {
  351. return '<ul class="tool_downs">' +
  352. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_delete_' + row.F_Id + '" onclick="btn_deleteid(\'' + row.F_Id + '\')" title="删除">删除</a></li>' +
  353. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_return_' + row.F_Id + '" onclick="btn_return(\'' + row.F_Id + '\')" title="退回">退回</a></li>' +
  354. '</ul>';
  355. }
  356. //格式化操作 (处理中)
  357. function formatterProcessing(val, row) {
  358. return '<ul class="tool_downs">' +
  359. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_dealWith_' + row.F_Id + '" onclick="btn_dealWith(\'' + row.F_Id + '\')" title="处理">处理</a></li>' +
  360. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_delete_' + row.F_Id + '" onclick="btn_deleteid(\'' + row.F_Id + '\')" title="删除">删除</a></li>' +
  361. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_return_' + row.F_Id + '" onclick="btn_return(\'' + row.F_Id + '\')" title="退回">退回</a></li>' +
  362. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_reminder_' + row.F_Id + '" onclick="btn_reminder(\'' + row.F_Id + '\')" title="催单">催单</a></li>' +
  363. '</ul>';
  364. }
  365. //格式化操作 (综合查询)
  366. function formatterIntegratedQuery(val, row) {
  367. return '<ul class="tool_downs">' +
  368. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_edit_' + row.F_Id + '" onclick="btn_edit(\'' + row.F_Id + '\')" title="修改">修改</a></li>' +
  369. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_remark_' + row.F_Id + '" onclick="btn_remark(\'' + row.F_Id + '\')" title="备注">备注</a></li>' +
  370. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_reduction_' + row.F_Id + '" onclick="btn_reduction(\'' + row.F_Id + '\')" title="减免">减免</a></li>' +
  371. '</ul>';
  372. }
  373. //格式化操作 (待接单)
  374. function formatterReceive(val,row) {
  375. return '<ul class="tool_downs">' +
  376. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_order_' + row.F_Id + '" onclick="btn_order(\'' + row.F_Id + '\')" title="接单">接单</a></li>' +
  377. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_return_' + row.F_Id + '" onclick="btn_return(\'' + row.F_Id + '\')" title="退回">退回</a></li>' +
  378. '</ul>';
  379. }
  380. //格式化操作(减免工单)
  381. function formatterRemission(val, row) {
  382. return '<ul class="tool_downs">' +
  383. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_reductionEdit' + row.F_Id + '" onclick="btn_edit(\'' + row.F_Id + '\')" title="修改">修改</a></li>' +
  384. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_reduction_' + row.F_Id + '" onclick="btn_reduction(\'' + row.F_Id + '\')" title="减免">减免</a></li>' +
  385. '</ul>';
  386. }
  387. // 工单详情
  388. function getWorkOrderDetails(id) {
  389. var id = id;
  390. var type = 1;
  391. layer.open({
  392. type: 2,
  393. title: '工单详情',
  394. maxmin: true, //开启最大化最小化按钮
  395. area: ['80%', '65%'],
  396. content: '../WorkOrder/WorkOrderDetails.html?id=' + id + '&type=' + type,
  397. });
  398. }
  399. //指派工单,提交工单
  400. function btn_transfer(id, type) {
  401. if (type === 1) {
  402. var title = "提交工单";
  403. var areaTransfer = ['50%', '50%'];
  404. } else if (type === 2) {
  405. var title = "指派工单";
  406. var areaTransfer = ['40%', '45%'];
  407. }
  408. layer.open({
  409. type: 2,
  410. title: title,
  411. maxmin: true, //开启最大化最小化按钮
  412. area: areaTransfer,
  413. content: "../WorkOrder/WorkOrderTransfer.html?id=" + id + "&type=" + type,
  414. });
  415. }
  416. //修改工单
  417. function btn_edit(val) {
  418. var id = val;
  419. layer.open({
  420. type: 2,
  421. title: '修改工单',
  422. maxmin: true, //开启最大化最小化按钮
  423. area: ['80%', '90%'],
  424. content: '../WorkOrder/Xga.html?id=' + id
  425. });
  426. }
  427. //备注
  428. function btn_remark(val) {
  429. var id = val;
  430. layer.open({
  431. type: 2,
  432. title: '备注',
  433. maxmin: true, //开启最大化最小化按钮
  434. area: ['40%', '40%'],
  435. content: '../WorkOrder/WorkOrderRemark.html?id=' + id
  436. });
  437. }
  438. //标记工单
  439. function btn_mark(val) {
  440. var id = val;
  441. layer.open({
  442. type: 2,
  443. title: '标记工单',
  444. maxmin: true, //开启最大化最小化按钮
  445. area: ['40%', '30%'],
  446. content: '../WorkOrder/WorkOrderMark.html?id=' + id
  447. });
  448. }
  449. //接收工单
  450. function btn_order(id) {
  451. layer.confirm('确认要接单吗?', {
  452. btn: ['是', '否'] //按钮
  453. }, function() {
  454. $.post(huayi.config.callcenter_url + 'WorkOrder/SureWorkOrder', {
  455. id: id,
  456. "token": $.cookie("token")
  457. }, function(result) {
  458. result = $.parseJSON(result);
  459. if(result.state.toLowerCase() == "success") {
  460. layer.msg("接单成功");
  461. initTable();
  462. }
  463. })
  464. });
  465. }
  466. //处理工单
  467. function btn_dealWith(id) {
  468. layer.open({
  469. type: 2,
  470. title: '处理工单',
  471. maxmin: true, //开启最大化最小化按钮
  472. area: ['35%', '50%'],
  473. content: "../WorkOrder/WorkOrderDealWith.html?id=" + id
  474. });
  475. }
  476. //退回工单
  477. function btn_return(id){
  478. layer.open({
  479. type: 2,
  480. title: '退回工单',
  481. maxmin: true, //开启最大化最小化按钮
  482. area: ['40%', '40%'],
  483. content: "../WorkOrder/WorkOrderReturn.html?id=" + id
  484. });
  485. }
  486. //减免工单
  487. function btn_reduction(id){
  488. layer.open({
  489. type: 2,
  490. title: '减免工单',
  491. maxmin: true, //开启最大化最小化按钮
  492. area: ['40%', '50%'],
  493. content: "../WorkOrder/WorkOrderReduction.html?id=" + id
  494. });
  495. }
  496. // 催单
  497. function btn_reminder(id) {
  498. layer.open({
  499. type: 2,
  500. title: '催单',
  501. maxmin: true, //开启最大化最小化按钮
  502. area: ['35%', '40%'],
  503. content: "../WorkOrder/WorkOrderReminder.html?id=" + id
  504. });
  505. }
  506. //删除
  507. function btn_deleteid(id) {
  508. layer.confirm('确定删除当前记录?', {
  509. btn: ['是', '否'] //按钮
  510. }, function(index) {
  511. /*执行删除*/
  512. $.ajax({
  513. type: "get",
  514. url: huayi.config.callcenter_url + "WorkOrder/DelWorkOrder",
  515. dataType: 'json',
  516. async: true,
  517. data: {
  518. ids: id,
  519. token: $.cookie("token")
  520. },
  521. success: function(data) {
  522. layer.msg("删除成功!");
  523. $('#workorderlist').bootstrapTable('refresh');
  524. $('#workorderlist_').bootstrapTable('refresh');
  525. layer.close(index);
  526. initTable();
  527. }
  528. });
  529. });
  530. }
  531. /*
  532. * 搜索功能
  533. * 大区
  534. * 办事处
  535. * 产品代码
  536. * 生产厂家
  537. * 问题代码
  538. * 通知人
  539. * 工单级别
  540. */
  541. //产品代码
  542. function getProductType() {
  543. $.ajax({
  544. type: "get",
  545. url: huayi.config.callcenter_url + "Dictionary/GetDicValueListByFlag",
  546. dataType: 'json',
  547. async: true,
  548. data: {
  549. token: $.cookie("token"),
  550. flag: "CPDM"
  551. },
  552. success: function(data) {
  553. var Count = data.data;
  554. $(Count).each(function(i, n) {
  555. $('<option value="' + n.F_Name + '">' + n.F_Name + '</option>').appendTo($("#searchProductType"));
  556. })
  557. }
  558. });
  559. }
  560. //生产厂家
  561. function getProductFactory() {
  562. $("#searchManufacturerDataList").empty();
  563. $("#searchManufacturerDataList").append('<option value="不清"></option>');
  564. $.getJSON(huayi.config.callcenter_url + "EquipmentNumber/GetList", {
  565. "token": $.cookie("token"),
  566. keywords: "",
  567. pageindex: "1",
  568. pagesize: "200",
  569. }, function (data) {
  570. if (data.state.toLowerCase() == "success") {
  571. var content = data.rows;
  572. $(content).each(function (i, n) {
  573. $("#searchManufacturerDataList").append('<option value="'+ n.F_Production + '">');
  574. })
  575. }
  576. })
  577. }
  578. //通知人经理
  579. function getSubmitterManager() {
  580. $("#searchNotifications").empty();
  581. $("#searchNotifications").append('<option selected="selected" value="" deptId="">请选择通知人</option>');
  582. $.getJSON(huayi.config.callcenter_url + "UserAccount/GetDeptUserAccount", {
  583. "token": $.cookie("token"),
  584. type: 1,
  585. dptid: $("#searchRegionId").val(),
  586. }, function (data) {
  587. var content = data.rows;
  588. $(content).each(function (i, n) {
  589. $("<option value='" + n.F_UserCode + "'deptId='" + n.F_DeptId + "'>" + n.F_UserName + "</option>").appendTo($("#searchNotifications"));
  590. })
  591. })
  592. }
  593. //通知人业务员
  594. function getSubmitterSalesman() {
  595. $("#searchNotifications").empty();
  596. $("#searchNotifications").append('<option selected="selected" value="" deptId="">请选择通知人</option>');
  597. $.getJSON(huayi.config.callcenter_url + "UserAccount/GetDeptUserAccount", {
  598. "token": $.cookie("token"),
  599. type: 2,
  600. dptid: $("#searchOfficeId").val(),
  601. }, function (data) {
  602. var content = data.rows;
  603. $(content).each(function (i, n) {
  604. $("<option value='" + n.F_UserCode + "'deptId='" + n.F_DeptId + "'>" + n.F_UserName + "</option>").appendTo($("#searchNotifications"));
  605. })
  606. })
  607. }
  608. // 问题代码
  609. function getProblemCode() {
  610. $.ajax({
  611. type: "get",
  612. url: huayi.config.callcenter_url + "Dictionary/GetDicValueListByFlag",
  613. dataType: 'json',
  614. async: true,
  615. data: {
  616. token: $.cookie("token"),
  617. flag: "WTDM"
  618. },
  619. success: function(data) {
  620. var Count = data.data;
  621. $(Count).each(function(i, n) {
  622. $('<option value="' + n.F_Name + '">' + n.F_Name + '</option>').appendTo($("#searchProblemCode"));
  623. })
  624. }
  625. });
  626. }
  627. //zTree 大区、办事处
  628. var setting = {
  629. data: {
  630. key: {
  631. name: "text"
  632. },
  633. simpleData: {
  634. enable: true,
  635. idKey: "id",
  636. rootPId: 0
  637. }
  638. },
  639. check: {
  640. enable: true,
  641. autoCheckTrigger: true,
  642. chkboxType: {
  643. "Y": "",
  644. "N": ""
  645. },
  646. chkStyle: "checkbox",
  647. },
  648. view: {
  649. dblClickExpand: true
  650. },
  651. callback: {
  652. beforeClick: beforeClick,
  653. onCheck: onCheck,
  654. },
  655. };
  656. function beforeClick(treeId, treeNode) {
  657. var zTree = $.fn.zTree.getZTreeObj("selectRegionZtree"),
  658. nodes = zTree.getCheckedNodes(true);
  659. zTree.checkNode(treeNode, !treeNode.checked, null, true);
  660. return false;
  661. }
  662. function onCheck(e, treeId, treeNode) {
  663. var zTree = $.fn.zTree.getZTreeObj("selectRegionZtree"),
  664. nodes = zTree.getCheckedNodes(true);
  665. var regionName = "", regionId = "", officeId = "";
  666. for (var i=0, l=nodes.length; i<l; i++) {
  667. regionName += nodes[i].text + ",";
  668. if(nodes[i].level === 0) {
  669. regionId += nodes[i].id + ","
  670. } else if (nodes[i].level === 1) {
  671. officeId += nodes[i].id + ","
  672. }
  673. }
  674. if (regionName.length > 0 ) {
  675. regionName = regionName.substring(0, regionName.length-1);
  676. $("#searchRegionName").val(regionName);
  677. } else {
  678. $("#searchRegionName").val(regionName);
  679. }
  680. if (regionId.length > 0 ) {
  681. regionId = regionId.substring(0, regionId.length-1);
  682. $('#searchRegionId').attr("value",regionId);
  683. getSubmitterManager();
  684. } else {
  685. $('#searchRegionId').attr("value",regionId);
  686. }
  687. if (officeId.length > 0 ) {
  688. officeId = officeId.substring(0, officeId.length-1);
  689. $('#searchOfficeId').attr("value",officeId);
  690. getSubmitterSalesman();
  691. } else {
  692. $('#searchOfficeId').attr("value",officeId);
  693. }
  694. }
  695. function addRegion() {
  696. $.get(huayi.config.callcenter_url + "Department/GetDepartmentList", {
  697. "token": $.cookie("token"),
  698. }, function(result) {
  699. result = $.parseJSON(result);
  700. $.fn.zTree.init($("#selectRegionZtree"), setting, result.data); //实例化树形图
  701. });
  702. }
  703. $('.inps').focus(function() {
  704. $(this).siblings('.addTree').css('display', 'block');
  705. })
  706. $('.xl').click(function() {
  707. var xl = $(this).siblings('.addTree');
  708. if(xl.css('display') == 'block') {
  709. xl.css('display', 'none')
  710. } else {
  711. xl.css('display', 'block')
  712. }
  713. })
  714. $('.addTree').mouseleave(function() {
  715. $(this).css('display', 'none')
  716. })
  717. // 工单级别
  718. function getDealTimely() {
  719. $.ajax({
  720. type: "get",
  721. url: huayi.config.callcenter_url + "Dictionary/GetDicValueListByFlag",
  722. dataType: 'json',
  723. async: true,
  724. data: {
  725. token: $.cookie("token"),
  726. flag: "GDDJ"
  727. },
  728. success: function(data) {
  729. var Count = data.data;
  730. $(Count).each(function(i, n) {
  731. $('<option value="' + n.F_Name + '">' + n.F_Name + '</option>').appendTo($("#searchDealTimely"));
  732. })
  733. }
  734. });
  735. }
  736. // 按回车搜索
  737. document.onkeydown = function (e) {
  738. var theEvent = window.event || e;
  739. var code = theEvent.keyCode || theEvent.which || theEvent.charCode;
  740. if (code == 13) {
  741. initTable();
  742. }
  743. }
  744. // 导出
  745. function dcexcel(state, isdc, CJ, reduction) {
  746. if (isdc === 3) {
  747. var isdc = 3;
  748. } else {
  749. var isdc = 2;
  750. }
  751. if (CJ === 1) {
  752. var CJ = 1;
  753. } else {
  754. var CJ = "";
  755. }
  756. var token = $.cookie("token");
  757. var code = $("#searchCode").val(); //工单编号
  758. var area = $("#searchRegionId").val(); //大区
  759. var office = $("#searchOfficeId").val(); //办事处
  760. var starttime = $('#greetingTimes').val() && $('#greetingTimes').val().split(' ~ ')[0]; //开始时间
  761. var endtime = $('#greetingTimes').val() && $('#greetingTimes').val().split(' ~ ')[1]; //结束时间
  762. var productType = $("#searchProductType").val(); //产品代码
  763. var productDate = $("#searchProductDate").val(); //生产日期
  764. var batchNumber = $("#searchBatchNumber").val(); //产品编码
  765. var manufacturer = $("#searchManufacturer").val(); //生产厂家
  766. var problemCode = $("#searchProblemCode").val(); //问题代码
  767. var notifications = $("#searchNotifications").val(); //通知人
  768. var type = $("#searchOrderType").val(); //工单类别
  769. var dealTimely = $("#searchDealTimely").val(); // 工单级别
  770. var see = $("#searchSee").val(); // 处理专员是否只查看负责区域单子
  771. var url = huayi.config.callcenter_url + "WorkOrder/GetList?token=" + token;
  772. url += "&state=" + state + "&code=" + code + "&area=" + area + "&office=" + office + "&starttime=" + starttime
  773. + "&endtime=" + endtime + "&productType=" + productType + "&productDate=" + productDate + "&batchNumber=" + batchNumber
  774. + "&manufacturer=" + manufacturer + "&problemCode=" + problemCode + "&notifications=" + notifications
  775. + "&type=" + type + "&dealTimely=" + dealTimely + "&see=" + see + "&isdc=" + isdc + "&CJ=" + CJ + "&IsReduction=" + reduction;
  776. window.location.href = url;
  777. }