郑州颐和随访系统UI

WorkOrder.js 34KB

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