暫無描述

WorkOrder.js 33KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842
  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 "CLZY": // 总部处理专员
  174. // //$('#workorderlist').find('.workOprate1').show(); //待指派
  175. // case "ZR": // 主任
  176. //
  177. case "JDYBZZX": // 坐席班长 创建 提交
  178. $('.tool_downs').find('[id*="HY_submit"]').show(); //指派
  179. $('.tool_downs').find('[id*="HY_edit"]').show(); //修改
  180. $('.tool_downs').find('[id*="HY_mark"]').show(); //标记
  181. $('.tool_downs').find('[id*="HY_remark_"]').show(); //备注
  182. $('.tool_downs').find('[id*="HY_delete"]').show(); //删除
  183. $('.tool_downs').find('[id*="HY_return"]').hide(); //退回
  184. $('.tool_downs').find('[id*="HY_dealWith"]').hide(); //处理
  185. $('.tool_downs').find('[id*="HY_reduction"]').hide();//减免
  186. $('.tool_downs').find('[id*="HY_reminder"]').hide();//催单
  187. $('#workorderlist').find('.workOprate1').show(); //待指派
  188. $('#workorderlist').find('.workOprate7').show(); //综合查询
  189. $('#workorderlist').find('.partyType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  190. $('#workorderlist').find('.RemissionType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  191. break;
  192. case "BSCJL": // 办事处经理 转派、退回、修改、删除、
  193. $('.tool_downs').find('[id*="HY_transfer"]').show(); //指派
  194. $('.tool_downs').find('[id*="HY_mark"]').show(); // 标记
  195. $('.tool_downs').find('[id*="HY_edit"]').hide(); // 修改
  196. $('.tool_downs').find('[id*="HY_remark_"]').hide(); //备注
  197. $('.tool_downs').find('[id*="HY_delete"]').hide(); //删除
  198. $('.tool_downs').find('[id*="HY_return"]').show(); //退回
  199. $('.tool_downs').find('[id*="HY_dealWith"]').hide(); //处理
  200. $('.tool_downs').find('[id*="HY_reduction"]').hide();//减免
  201. $('.tool_downs').find('[id*="HY_reminder"]').hide();//催单
  202. $('#workorderlist').find('.workOprate2').show(); //待指派
  203. $('#workorderlist').find('.workOprate4').show(); //待处理
  204. $('#workorderlist').find('.workOprate5').show(); //处理中
  205. $('#workorderlist').find('.workOprate6').show(); //已处理
  206. $('#workorderlist').find('.searchType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  207. $('#workorderlist').find('.RemissionType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  208. break;
  209. case "YWY": //YWY-业务人员 退回、处理 、修改
  210. $('.tool_downs').find('[id*="HY_transfer"]').hide(); //指派
  211. $('.tool_downs').find('[id*="HY_mark"]').show(); // 标记
  212. $('.tool_downs').find('[id*="HY_delete"]').hide(); //删除
  213. $('.tool_downs').find('[id*="HY_edit"]').hide(); //修改
  214. $('.tool_downs').find('[id*="HY_remark_"]').hide(); //备注
  215. $('.tool_downs').find('[id*="HY_dealWith"]').show(); //处理
  216. $('.tool_downs').find('[id*="HY_return"]').show();//退回
  217. $('.tool_downs').find('[id*="HY_reduction"]').hide();//减免
  218. $('.tool_downs').find('[id*="HY_reminder"]').hide();//催单
  219. $('#workorderlist').find('.workOprate4').show(); //待处理
  220. $('#workorderlist').find('.workOprate5').show(); //处理中
  221. $('#workorderlist').find('.appointType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  222. $('#workorderlist').find('.returnAssignedType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  223. $('#workorderlist').find('.partyType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  224. $('#workorderlist').find('.searchType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  225. break;
  226. case "ZG": //ZG-主管 退回、处理 、修改
  227. $('.tool_downs').find('[id*="HY_transfer"]').hide(); //指派
  228. $('.tool_downs').find('[id*="HY_mark"]').show(); // 标记
  229. $('.tool_downs').find('[id*="HY_delete"]').hide(); //删除
  230. $('.tool_downs').find('[id*="HY_edit"]').hide(); //修改
  231. $('.tool_downs').find('[id*="HY_remark_"]').hide(); //备注
  232. $('.tool_downs').find('[id*="HY_dealWith"]').show(); //处理
  233. $('.tool_downs').find('[id*="HY_return"]').show();//退回
  234. $('.tool_downs').find('[id*="HY_reduction"]').hide();//减免
  235. $('.tool_downs').find('[id*="HY_reminder"]').hide();//催单
  236. $('#workorderlist').find('.workOprate4').show(); //待处理
  237. $('#workorderlist').find('.workOprate5').show(); //处理中
  238. $('#workorderlist').find('.appointType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  239. $('#workorderlist').find('.returnAssignedType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  240. $('#workorderlist').find('.partyType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  241. $('#workorderlist').find('.searchType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  242. break;
  243. case "BBZY": // BBZY - 报表及分析员
  244. $('.tool_downs').find('[id*="HY_transfer"]').hide(); //指派
  245. $('.tool_downs').find('[id*="HY_submit"]').show(); //提交
  246. $('.tool_downs').find('[id*="HY_mark"]').hide(); // 标记
  247. $('.tool_downs').find('[id*="HY_delete"]').hide(); //删除
  248. $('.tool_downs').find('[id*="HY_edit"]').hide(); //修改
  249. $('.tool_downs').find('[id*="HY_remark_"]').hide(); //备注
  250. $('.tool_downs').find('[id*="HY_reductionEdit"]').show(); //减免修改
  251. $('.tool_downs').find('[id*="HY_dealWith"]').show(); //处理
  252. $('.tool_downs').find('[id*="HY_return"]').show();//退回
  253. $('.tool_downs').find('[id*="HY_reduction"]').show();//减免
  254. $('.tool_downs').find('[id*="HY_reminder"]').hide();//催单
  255. $('#workorderlist').find('.workOprate7').show(); //处理中
  256. $('#workorderlist').find('.workOprate8').show(); //减免工单
  257. $('#workorderlist').find('.submitType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  258. $('#workorderlist').find('.appointType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  259. $('#workorderlist').find('.returnSubmitType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  260. $('#workorderlist').find('.returnAssignedType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  261. $('#workorderlist').find('.disposeType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  262. $('#workorderlist').find('.processingType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  263. $('#workorderlist').find('.partyType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  264. $('#workorderlist').find('.RemissionType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  265. $('#workorderlist').find('.workOprate1').show(); //待指派
  266. break;
  267. case "CJZY": //抽检 退回待提交 按钮显示
  268. $('.tool_downs').find('[id*="HY_submit"]').show(); //提交
  269. $('#workorderlist').find('.workOprate1').show(); //待指派
  270. break;
  271. case "CLZY":
  272. /*
  273. CLZY: 总部处理专员
  274. 操作:催单 (待指派、待处理、处理中)
  275. */
  276. $('.tool_downs').find('[id*="HY_submit"]').show(); //提交
  277. $('.tool_downs').find('[id*="HY_transfer"]').hide(); //指派
  278. $('.tool_downs').find('[id*="HY_mark"]').hide(); // 标记
  279. $('.tool_downs').find('[id*="HY_delete"]').hide(); //删除
  280. $('.tool_downs').find('[id*="HY_edit"]').hide(); //修改
  281. $('.tool_downs').find('[id*="HY_reductionEdit"]').hide(); //减免修改
  282. $('.tool_downs').find('[id*="HY_remark_"]').hide(); //备注
  283. $('.tool_downs').find('[id*="HY_dealWith"]').hide(); //处理
  284. $('.tool_downs').find('[id*="HY_return"]').hide();//退回
  285. $('.tool_downs').find('[id*="HY_reduction"]').hide();//减免
  286. $('.tool_downs').find('[id*="HY_reminder"]').show();//催单
  287. $('#workorderlist').find('.workOprate1').show(); //待指派
  288. $('#workorderlist').find('.workOprate2').show(); //待指派
  289. $('#workorderlist').find('.workOprate4').show(); //待处理
  290. $('#workorderlist').find('.workOprate5').show(); //处理中
  291. $('#workorderlist').find('.submitType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  292. $('#workorderlist').find('.returnSubmitType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  293. $('#workorderlist').find('.partyType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  294. $('#workorderlist').find('.searchType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  295. $('#workorderlist').find('.RemissionType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  296. break;
  297. case "ZR": // ZR - 主任
  298. $('.tool_downs').find('[id*="HY_transfer"]').hide(); //指派
  299. $('.tool_downs').find('[id*="HY_submit"]').show(); //提交
  300. $('.tool_downs').find('[id*="HY_mark"]').hide(); // 标记
  301. $('.tool_downs').find('[id*="HY_delete"]').hide(); //删除
  302. $('.tool_downs').find('[id*="HY_edit"]').hide(); //修改
  303. $('.tool_downs').find('[id*="HY_reductionEdit"]').show(); //减免修改
  304. $('.tool_downs').find('[id*="HY_remark_"]').hide(); //备注
  305. $('.tool_downs').find('[id*="HY_dealWith"]').hide(); //处理
  306. $('.tool_downs').find('[id*="HY_return"]').hide();//退回
  307. $('.tool_downs').find('[id*="HY_reduction"]').show();//减免
  308. $('.tool_downs').find('[id*="HY_reminder"]').hide();//催单
  309. $('#workorderlist').find('.workOprate1').show(); //待指派
  310. $('#workorderlist').find('.workOprate8').show();//减免工单
  311. $('#workorderlist').find('.submitType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  312. $('#workorderlist').find('.appointType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  313. $('#workorderlist').find('.returnSubmitType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  314. $('#workorderlist').find('.returnAssignedType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  315. $('#workorderlist').find('.disposeType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  316. $('#workorderlist').find('.processingType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  317. $('#workorderlist').find('.partyType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  318. $('#workorderlist').find('.searchType').removeClass('W60margin').addClass('W100').css("text-align", "center");
  319. break;
  320. default:
  321. $('#workorderlist').find('.submitType').removeClass('W60margin').addClass('W100').css("text-align", "center"); //待提交
  322. $('#workorderlist').find('.appointType').removeClass('W60margin').addClass('W100').css("text-align", "center"); //待指派
  323. $('#workorderlist').find('.returnSubmitType').removeClass('W60margin').addClass('W100').css("text-align", "center");//退回待提交
  324. $('#workorderlist').find('.returnAssignedType').removeClass('W60margin').addClass('W100').css("text-align", "center");//退回待指派
  325. $('#workorderlist').find('.disposeType').removeClass('W60margin').addClass('W100').css("text-align", "center");//待处理
  326. $('#workorderlist').find('.processingType').removeClass('W60margin').addClass('W100').css("text-align", "center");//处理中
  327. $('#workorderlist').find('.searchType').removeClass('W60margin').addClass('W100').css("text-align", "center");//综合查询
  328. $('#workorderlist').find('.partyType').removeClass('W60margin').addClass('W100').css("text-align", "center");//已处理
  329. $('#workorderlist').find('.RemissionType').removeClass('W60margin').addClass('W100').css("text-align", "center");//减免
  330. break;
  331. }
  332. }
  333. //格式化操作 (待提交)
  334. function formatterSubmit(val, row) {
  335. return '<ul class="tool_downs">' +
  336. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_submit_' + row.F_Id + '" onclick="btn_transfer(\'' + row.F_Id + '\', 1)" title="提交">提交</a></li>' +
  337. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_mark_' + row.F_Id + '" onclick="btn_mark(\'' + row.F_Id + '\')" title="标记">标记</a></li>' +
  338. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_edit_' + row.F_Id + '" onclick="btn_edit(\'' + row.F_Id + '\')" title="修改">修改</a></li>' +
  339. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_remark_' + row.F_Id + '" onclick="btn_remark(\'' + row.F_Id + '\')" title="备注">备注</a></li>' +
  340. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_delete_' + row.F_Id + '" onclick="btn_deleteid(\'' + row.F_Id + '\')" title="删除">删除</a></li>' +
  341. '</ul>';
  342. }
  343. //格式化操作 (待指派)
  344. function formatterDesig(val, row) {
  345. return '<ul class="tool_downs">' +
  346. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_transfer_' + row.F_Id + '" onclick="btn_transfer(\'' + row.F_Id + '\', 2)" title="指派">指派</a></li>' +
  347. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_mark_' + row.F_Id + '" onclick="btn_mark(\'' + row.F_Id + '\')" title="标记">标记</a></li>' +
  348. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_delete_' + row.F_Id + '" onclick="btn_deleteid(\'' + row.F_Id + '\')" title="删除">删除</a></li>' +
  349. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_return_' + row.F_Id + '" onclick="btn_return(\'' + row.F_Id + '\')" title="退回">退回</a></li>' +
  350. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_reminder_' + row.F_Id + '" onclick="btn_reminder(\'' + row.F_Id + '\')" title="催单">催单</a></li>' +
  351. '</ul>';
  352. }
  353. //格式化操作 (待处理)
  354. function formatterOprateDispose(val, row) {
  355. return '<ul class="tool_downs">' +
  356. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_dealWith_' + row.F_Id + '" onclick="btn_dealWith(\'' + row.F_Id + '\',)" title="处理">处理</a></li>' +
  357. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_mark_' + row.F_Id + '" onclick="btn_mark(\'' + row.F_Id + '\')" title="标记">标记</a></li>' +
  358. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_delete_' + row.F_Id + '" onclick="btn_deleteid(\'' + row.F_Id + '\')" title="删除">删除</a></li>' +
  359. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_return_' + row.F_Id + '" onclick="btn_return(\'' + row.F_Id + '\')" title="退回">退回</a></li>' +
  360. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_reminder_' + row.F_Id + '" onclick="btn_reminder(\'' + row.F_Id + '\')" title="催单">催单</a></li>' +
  361. '</ul>';
  362. }
  363. //格式化操作 (已处理)
  364. function formatterProcessed(val, row) {
  365. return '<ul class="tool_downs">' +
  366. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_delete_' + row.F_Id + '" onclick="btn_deleteid(\'' + row.F_Id + '\')" title="删除">删除</a></li>' +
  367. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_return_' + row.F_Id + '" onclick="btn_return(\'' + row.F_Id + '\')" title="退回">退回</a></li>' +
  368. '</ul>';
  369. }
  370. //格式化操作 (处理中)
  371. function formatterProcessing(val, row) {
  372. return '<ul class="tool_downs">' +
  373. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_dealWith_' + row.F_Id + '" onclick="btn_dealWith(\'' + row.F_Id + '\')" title="处理">处理</a></li>' +
  374. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_delete_' + row.F_Id + '" onclick="btn_deleteid(\'' + row.F_Id + '\')" title="删除">删除</a></li>' +
  375. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_return_' + row.F_Id + '" onclick="btn_return(\'' + row.F_Id + '\')" title="退回">退回</a></li>' +
  376. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_reminder_' + row.F_Id + '" onclick="btn_reminder(\'' + row.F_Id + '\')" title="催单">催单</a></li>' +
  377. '</ul>';
  378. }
  379. //格式化操作 (综合查询)
  380. function formatterIntegratedQuery(val, row) {
  381. return '<ul class="tool_downs">' +
  382. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_edit_' + row.F_Id + '" onclick="btn_edit(\'' + row.F_Id + '\')" title="修改">修改</a></li>' +
  383. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_remark_' + row.F_Id + '" onclick="btn_remark(\'' + 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 formatterReceive(val,row) {
  389. return '<ul class="tool_downs">' +
  390. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_order_' + row.F_Id + '" onclick="btn_order(\'' + row.F_Id + '\')" title="接单">接单</a></li>' +
  391. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_return_' + row.F_Id + '" onclick="btn_return(\'' + row.F_Id + '\')" title="退回">退回</a></li>' +
  392. '</ul>';
  393. }
  394. //格式化操作(减免工单)
  395. function formatterRemission(val, row) {
  396. return '<ul class="tool_downs">' +
  397. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_reductionEdit' + row.F_Id + '" onclick="btn_edit(\'' + row.F_Id + '\')" title="修改">修改</a></li>' +
  398. '<li><a href="javascript:;" class="aBtn" authorize="yes" id="HY_reduction_' + row.F_Id + '" onclick="btn_reduction(\'' + row.F_Id + '\')" title="减免">减免</a></li>' +
  399. '</ul>';
  400. }
  401. // 工单详情
  402. function getWorkOrderDetails(id) {
  403. var id = id;
  404. var type = 1;
  405. layer.open({
  406. type: 2,
  407. title: '工单详情',
  408. maxmin: true, //开启最大化最小化按钮
  409. area: ['80%', '65%'],
  410. content: '../WorkOrder/WorkOrderDetails.html?id=' + id + '&type=' + type,
  411. });
  412. }
  413. //指派工单,提交工单
  414. function btn_transfer(id, type) {
  415. if (type === 1) {
  416. var title = "提交工单";
  417. var areaTransfer = ['50%', '50%'];
  418. } else if (type === 2) {
  419. var title = "指派工单";
  420. var areaTransfer = ['40%', '45%'];
  421. }
  422. layer.open({
  423. type: 2,
  424. title: title,
  425. maxmin: true, //开启最大化最小化按钮
  426. area: areaTransfer,
  427. content: "../WorkOrder/WorkOrderTransfer.html?id=" + id + "&type=" + type,
  428. });
  429. }
  430. //修改工单
  431. function btn_edit(val) {
  432. var id = val;
  433. layer.open({
  434. type: 2,
  435. title: '修改工单',
  436. maxmin: true, //开启最大化最小化按钮
  437. area: ['80%', '90%'],
  438. content: '../WorkOrder/Xga.html?id=' + id
  439. });
  440. }
  441. //备注
  442. function btn_remark(val) {
  443. var id = val;
  444. layer.open({
  445. type: 2,
  446. title: '备注',
  447. maxmin: true, //开启最大化最小化按钮
  448. area: ['40%', '40%'],
  449. content: '../WorkOrder/WorkOrderRemark.html?id=' + id
  450. });
  451. }
  452. //标记工单
  453. function btn_mark(val) {
  454. var id = val;
  455. layer.open({
  456. type: 2,
  457. title: '标记工单',
  458. maxmin: true, //开启最大化最小化按钮
  459. area: ['40%', '30%'],
  460. content: '../WorkOrder/WorkOrderMark.html?id=' + id
  461. });
  462. }
  463. //接收工单
  464. function btn_order(id) {
  465. layer.confirm('确认要接单吗?', {
  466. btn: ['是', '否'] //按钮
  467. }, function() {
  468. $.post(huayi.config.callcenter_url + 'WorkOrder/SureWorkOrder', {
  469. id: id,
  470. "token": $.cookie("token")
  471. }, function(result) {
  472. result = $.parseJSON(result);
  473. if(result.state.toLowerCase() == "success") {
  474. layer.msg("接单成功");
  475. initTable();
  476. }
  477. })
  478. });
  479. }
  480. //处理工单
  481. function btn_dealWith(id) {
  482. layer.open({
  483. type: 2,
  484. title: '处理工单',
  485. maxmin: true, //开启最大化最小化按钮
  486. area: ['35%', '50%'],
  487. content: "../WorkOrder/WorkOrderDealWith.html?id=" + id
  488. });
  489. }
  490. //退回工单
  491. function btn_return(id){
  492. layer.open({
  493. type: 2,
  494. title: '退回工单',
  495. maxmin: true, //开启最大化最小化按钮
  496. area: ['40%', '40%'],
  497. content: "../WorkOrder/WorkOrderReturn.html?id=" + id
  498. });
  499. }
  500. //减免工单
  501. function btn_reduction(id){
  502. layer.open({
  503. type: 2,
  504. title: '减免工单',
  505. maxmin: true, //开启最大化最小化按钮
  506. area: ['40%', '50%'],
  507. content: "../WorkOrder/WorkOrderReduction.html?id=" + id
  508. });
  509. }
  510. // 催单
  511. function btn_reminder(id) {
  512. layer.open({
  513. type: 2,
  514. title: '催单',
  515. maxmin: true, //开启最大化最小化按钮
  516. area: ['35%', '40%'],
  517. content: "../WorkOrder/WorkOrderReminder.html?id=" + id
  518. });
  519. }
  520. //删除
  521. function btn_deleteid(id) {
  522. layer.confirm('确定删除当前记录?', {
  523. btn: ['是', '否'] //按钮
  524. }, function(index) {
  525. /*执行删除*/
  526. $.ajax({
  527. type: "get",
  528. url: huayi.config.callcenter_url + "WorkOrder/DelWorkOrder",
  529. dataType: 'json',
  530. async: true,
  531. data: {
  532. ids: id,
  533. token: $.cookie("token")
  534. },
  535. success: function(data) {
  536. layer.msg("删除成功!");
  537. $('#workorderlist').bootstrapTable('refresh');
  538. $('#workorderlist_').bootstrapTable('refresh');
  539. layer.close(index);
  540. initTable();
  541. }
  542. });
  543. });
  544. }
  545. /*
  546. * 搜索功能
  547. * 大区
  548. * 办事处
  549. * 产品代码
  550. * 生产厂家
  551. * 问题代码
  552. * 通知人
  553. * 工单级别
  554. */
  555. //产品代码
  556. function getProductType() {
  557. $.ajax({
  558. type: "get",
  559. url: huayi.config.callcenter_url + "Dictionary/GetDicValueListByFlag",
  560. dataType: 'json',
  561. async: true,
  562. data: {
  563. token: $.cookie("token"),
  564. flag: "CPDM"
  565. },
  566. success: function(data) {
  567. var Count = data.data;
  568. $(Count).each(function(i, n) {
  569. $('<option value="' + n.F_Name + '">' + n.F_Name + '</option>').appendTo($("#searchProductType"));
  570. })
  571. }
  572. });
  573. }
  574. //生产厂家
  575. function getProductFactory() {
  576. $("#searchManufacturerDataList").empty();
  577. $("#searchManufacturerDataList").append('<option value="不清"></option>');
  578. $.getJSON(huayi.config.callcenter_url + "EquipmentNumber/GetList", {
  579. "token": $.cookie("token"),
  580. keywords: "",
  581. pageindex: "1",
  582. pagesize: "200",
  583. }, function (data) {
  584. if (data.state.toLowerCase() == "success") {
  585. var content = data.rows;
  586. $(content).each(function (i, n) {
  587. $("#searchManufacturerDataList").append('<option value="'+ n.F_Production + '">');
  588. })
  589. }
  590. })
  591. }
  592. //通知人经理
  593. function getSubmitterManager() {
  594. $("#searchNotifications").empty();
  595. $("#searchNotifications").append('<option selected="selected" value="" deptId="">请选择通知人</option>');
  596. $.getJSON(huayi.config.callcenter_url + "UserAccount/GetDeptUserAccount", {
  597. "token": $.cookie("token"),
  598. type: 1,
  599. dptid: $("#searchRegionId").val(),
  600. }, function (data) {
  601. var content = data.rows;
  602. $(content).each(function (i, n) {
  603. $("<option value='" + n.F_UserCode + "'deptId='" + n.F_DeptId + "'>" + n.F_UserName + "</option>").appendTo($("#searchNotifications"));
  604. })
  605. })
  606. }
  607. //通知人业务员
  608. function getSubmitterSalesman() {
  609. $("#searchNotifications").empty();
  610. $("#searchNotifications").append('<option selected="selected" value="" deptId="">请选择通知人</option>');
  611. $.getJSON(huayi.config.callcenter_url + "UserAccount/GetDeptUserAccount", {
  612. "token": $.cookie("token"),
  613. type: 2,
  614. dptid: $("#searchOfficeId").val(),
  615. }, function (data) {
  616. var content = data.rows;
  617. $(content).each(function (i, n) {
  618. $("<option value='" + n.F_UserCode + "'deptId='" + n.F_DeptId + "'>" + n.F_UserName + "</option>").appendTo($("#searchNotifications"));
  619. })
  620. })
  621. }
  622. // 问题代码
  623. function getProblemCode() {
  624. $.ajax({
  625. type: "get",
  626. url: huayi.config.callcenter_url + "Dictionary/GetDicValueListByFlag",
  627. dataType: 'json',
  628. async: true,
  629. data: {
  630. token: $.cookie("token"),
  631. flag: "WTDM"
  632. },
  633. success: function(data) {
  634. var Count = data.data;
  635. $(Count).each(function(i, n) {
  636. $('<option value="' + n.F_Name + '">' + n.F_Name + '</option>').appendTo($("#searchProblemCode"));
  637. })
  638. }
  639. });
  640. }
  641. //zTree 大区、办事处
  642. var setting = {
  643. data: {
  644. key: {
  645. name: "text"
  646. },
  647. simpleData: {
  648. enable: true,
  649. idKey: "id",
  650. rootPId: 0
  651. }
  652. },
  653. check: {
  654. enable: true,
  655. autoCheckTrigger: true,
  656. chkboxType: {
  657. "Y": "",
  658. "N": ""
  659. },
  660. chkStyle: "checkbox",
  661. },
  662. view: {
  663. dblClickExpand: true
  664. },
  665. callback: {
  666. beforeClick: beforeClick,
  667. onCheck: onCheck,
  668. },
  669. };
  670. function beforeClick(treeId, treeNode) {
  671. var zTree = $.fn.zTree.getZTreeObj("selectRegionZtree"),
  672. nodes = zTree.getCheckedNodes(true);
  673. zTree.checkNode(treeNode, !treeNode.checked, null, true);
  674. return false;
  675. }
  676. function onCheck(e, treeId, treeNode) {
  677. var zTree = $.fn.zTree.getZTreeObj("selectRegionZtree"),
  678. nodes = zTree.getCheckedNodes(true);
  679. var regionName = "", regionId = "", officeId = "";
  680. for (var i=0, l=nodes.length; i<l; i++) {
  681. regionName += nodes[i].text + ",";
  682. if(nodes[i].level === 0) {
  683. regionId += nodes[i].id + ","
  684. } else if (nodes[i].level === 1) {
  685. officeId += nodes[i].id + ","
  686. }
  687. }
  688. if (regionName.length > 0 ) {
  689. regionName = regionName.substring(0, regionName.length-1);
  690. $("#searchRegionName").val(regionName);
  691. } else {
  692. $("#searchRegionName").val(regionName);
  693. }
  694. if (regionId.length > 0 ) {
  695. regionId = regionId.substring(0, regionId.length-1);
  696. $('#searchRegionId').attr("value",regionId);
  697. getSubmitterManager();
  698. } else {
  699. $('#searchRegionId').attr("value",regionId);
  700. }
  701. if (officeId.length > 0 ) {
  702. officeId = officeId.substring(0, officeId.length-1);
  703. $('#searchOfficeId').attr("value",officeId);
  704. getSubmitterSalesman();
  705. } else {
  706. $('#searchOfficeId').attr("value",officeId);
  707. }
  708. }
  709. function addRegion() {
  710. $.get(huayi.config.callcenter_url + "Department/GetDepartmentList", {
  711. "token": $.cookie("token"),
  712. }, function(result) {
  713. result = $.parseJSON(result);
  714. $.fn.zTree.init($("#selectRegionZtree"), setting, result.data); //实例化树形图
  715. });
  716. }
  717. $('.inps').focus(function() {
  718. $(this).siblings('.addTree').css('display', 'block');
  719. })
  720. $('.xl').click(function() {
  721. var xl = $(this).siblings('.addTree');
  722. if(xl.css('display') == 'block') {
  723. xl.css('display', 'none')
  724. } else {
  725. xl.css('display', 'block')
  726. }
  727. })
  728. $('.addTree').mouseleave(function() {
  729. $(this).css('display', 'none')
  730. })
  731. // 工单级别
  732. function getDealTimely() {
  733. $.ajax({
  734. type: "get",
  735. url: huayi.config.callcenter_url + "Dictionary/GetDicValueListByFlag",
  736. dataType: 'json',
  737. async: true,
  738. data: {
  739. token: $.cookie("token"),
  740. flag: "GDDJ"
  741. },
  742. success: function(data) {
  743. var Count = data.data;
  744. $(Count).each(function(i, n) {
  745. $('<option value="' + n.F_Name + '">' + n.F_Name + '</option>').appendTo($("#searchDealTimely"));
  746. })
  747. }
  748. });
  749. }
  750. // 按回车搜索
  751. document.onkeydown = function (e) {
  752. var theEvent = window.event || e;
  753. var code = theEvent.keyCode || theEvent.which || theEvent.charCode;
  754. if (code == 13) {
  755. initTable();
  756. }
  757. }
  758. // 导出
  759. function dcexcel(state, isdc, CJ, reduction) {
  760. if (isdc === 3) {
  761. var isdc = 3;
  762. } else {
  763. var isdc = 2;
  764. }
  765. if (CJ === 1) {
  766. var CJ = 1;
  767. } else {
  768. var CJ = "";
  769. }
  770. var token = $.cookie("token");
  771. var code = $("#searchCode").val(); //工单编号
  772. var area = $("#searchRegionId").val(); //大区
  773. var office = $("#searchOfficeId").val(); //办事处
  774. var starttime = $('#greetingTimes').val() && $('#greetingTimes').val().split(' ~ ')[0]; //开始时间
  775. var endtime = $('#greetingTimes').val() && $('#greetingTimes').val().split(' ~ ')[1]; //结束时间
  776. var productType = $("#searchProductType").val(); //产品代码
  777. var productDate = $("#searchProductDate").val(); //生产日期
  778. var batchNumber = $("#searchBatchNumber").val(); //产品编码
  779. var manufacturer = $("#searchManufacturer").val(); //生产厂家
  780. var problemCode = $("#searchProblemCode").val(); //问题代码
  781. var notifications = $("#searchNotifications").val(); //通知人
  782. var type = $("#searchOrderType").val(); //工单类别
  783. var dealTimely = $("#searchDealTimely").val(); // 工单级别
  784. var see = $("#searchSee").val(); // 处理专员是否只查看负责区域单子
  785. var url = huayi.config.callcenter_url + "WorkOrder/GetList?token=" + token;
  786. url += "&state=" + state + "&code=" + code + "&area=" + area + "&office=" + office + "&starttime=" + starttime
  787. + "&endtime=" + endtime + "&productType=" + productType + "&productDate=" + productDate + "&batchNumber=" + batchNumber
  788. + "&manufacturer=" + manufacturer + "&problemCode=" + problemCode + "&notifications=" + notifications
  789. + "&type=" + type + "&dealTimely=" + dealTimely + "&see=" + see + "&isdc=" + isdc + "&CJ=" + CJ + "&IsReduction=" + reduction;
  790. window.location.href = url;
  791. }