説明なし

WorkOrderDetails.js 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402
  1. var selid = helper.request.queryString("id");
  2. var type = helper.request.queryString("type");
  3. $(document).ready(function () {
  4. //工单详情
  5. getWorkOrderDetails();
  6. getWorkOrderRecord();
  7. //获取角色
  8. getLoginPerson();
  9. // 工单详情、记录切换
  10. $(".ckxq ul li").click(function() {
  11. $(this).addClass("Active").siblings().removeClass("Active");
  12. var i = $(this).index();
  13. $(".gdxq").hide();
  14. $(".gdxq").eq(i).show();
  15. if(i === 0) {
  16. getWorkOrderDetails();
  17. } else if(i === 1) {
  18. getWorkOrderRecord();
  19. } else if (i === 2) {
  20. getWorkOrderDe();
  21. } else if (i === 3) {
  22. // 催单
  23. $('.customerSubmit').click(function() {
  24. saveCustomer();
  25. });
  26. // } else if (i === 4) {
  27. // //完善
  28. // $('.customerSubmit').click(function() {
  29. // saveCustomer();
  30. // });
  31. }
  32. });
  33. //提交
  34. $(".repeatSubmit").click(function() {
  35. submitRepeatWorkOrder();
  36. })
  37. /*
  38. 判断提交按钮是否显示
  39. type:
  40. 1: 隐藏提交按钮
  41. */
  42. if(type === "1") {
  43. $(".repeatSubmit").hide();
  44. } else {
  45. $(".repeatSubmit").show();
  46. }
  47. })
  48. // 工单详情
  49. function getWorkOrderDetails() {
  50. $.getJSON(huayi.config.callcenter_url + 'WorkOrder/GetDetails', {
  51. id: selid,
  52. token: $.cookie("token")
  53. }, function(result) {
  54. if(result.state.toLowerCase() == "success") {
  55. if(result.rows.length > 0) {
  56. var data = result.rows[0];
  57. $("#detailWorkOrderId").text(data.F_WorkOrderId);
  58. $("#detailSource").text(workOrderDetailsSourceJudge(data)); //工单来源
  59. $("#detailType").text(workOrderDetailsTypeJudge(data)); //工单类别
  60. $("#detailAreaName").html(data.F_AreaName);
  61. $("#detailOfficeName").text(data.F_OfficName);
  62. $("#detailCreateTime").text(data.F_CreateTime);
  63. $("#detailDealTimely").text(data.F_DealTimely); //重要级别
  64. $("#detailReason").text(data.F_Reason); //重要原因
  65. $("#detailCusName").text(data.F_CusName);
  66. $("#detailCusPhone").text(data.F_CusPhone);
  67. $("#detailAddress").text(data.F_AddRess);
  68. $("#detailProductType").text(data.F_ProductType); //产品代码
  69. $("#detailProductName").text(data.F_ProductName);
  70. $('#detailSpecifications').text(data.F_Specifications);
  71. $("#detailPRoductDate").text(data.F_ProductDate); //生产日期
  72. $("#detailBatchNumber").text(data.F_BatchNumber);
  73. $("#detailManufacturer").text(data.F_Manufacturer);
  74. $("#detailProblemCode").text(data.F_ProblemCode); //问题代码
  75. $("#detailQualityProblem").text(data.F_QualityProblem);
  76. $("#detailNotifications").text(data.F_Notifications);
  77. $("#detailReceivingPerson").text(data.F_ReceivingPerson);
  78. $("#detailSerialNumber").text(data.F_SerialNumber);
  79. $("#detailState").text(workOrderDetailsStateJudge(data)); //工单状态
  80. $("#detailContent").text(data.F_Content);
  81. $("#detailDealResult").text(data.F_DealResult); //落实情况
  82. $("#detailDealUser").text(data.F_DealUser);
  83. $("#detailReduction").text(workOrderDetailsReduction(data)); //减免
  84. $("#detailReductionRemarks").text(data.F_RemissionRemarks); //减免备注
  85. $("#detailTransferTime").text(data.F_TransferTime); //转派时间
  86. $("#detailDealTime").text(data.F_DealTime); //处理时间
  87. $("#detailReceiving").text(data.F_Receiving); //接单时间
  88. var processingProgress = data.F_State; //处理进度
  89. getLoginPerson(processingProgress)
  90. }
  91. }
  92. })
  93. }
  94. // 工单记录
  95. function getWorkOrderRecord() {
  96. //先销毁表格
  97. $('#workOrderRecord').bootstrapTable('destroy');
  98. //初始化表格,动态从服务器加载数据
  99. $('#workOrderRecord').bootstrapTable({
  100. method: "get", //使用get请求到服务器获取数据
  101. url: huayi.config.callcenter_url + "WorkOrder/GetItemList", //获取数据的Servlet地址
  102. contentType: 'application/x-www-form-urlencoded',
  103. striped: true, //表格显示条纹
  104. pagination: true, //启动分页
  105. pageSize: 5, //每页显示的记录数
  106. pageNumber: 1, //当前第几页
  107. pageList: [5, 10, 20], //记录数可选列表
  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. id: selid, // 工单ID
  118. token: $.cookie("token"),
  119. pageindex: params.pageNumber, //页码
  120. pagesize: params.pageSize, //条数
  121. };
  122. return param;
  123. },
  124. // responseHandler: function(res) {
  125. // return {
  126. // "total": res.itemlasts.length,//总页数
  127. // "rows": res.itemlasts //数据
  128. // };
  129. // },
  130. onLoadSuccess: function() { //加载成功时执行
  131. //layer.msg("加载成功");
  132. },
  133. onLoadError: function() { //加载失败时执行
  134. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  135. }
  136. });
  137. }
  138. function getWorkOrderDe() {
  139. $.getJSON(huayi.config.callcenter_url + 'WorkOrder/GetDetails', {
  140. id: selid,
  141. "token": $.cookie("token")
  142. }, function(result) {
  143. if(result.state.toLowerCase() == "success") {
  144. var con = result;
  145. if (con) {
  146. $("#fileList").empty();
  147. var proimglist = con.FileUrl;
  148. if (proimglist && proimglist.length > 0) {
  149. $(proimglist).each(function(i, n) {
  150. var fileType = n.F_Type;
  151. var fileType1 = n.F_Type.split("\/")[0];
  152. if (fileType === '.jpg'||fileType === '.png'||fileType1==='image') {
  153. $('<div class="img-box">' +
  154. '<span class="img_mask"><span onclick=downloadFile("'+ n.F_Url + '","'+con.rows[0].F_WorkOrderId +"_"+ (i+1) + '","' + n.F_Type +
  155. '") title="点击下载"><i class="fa fa-download" aria-hidden="true"></i></span></span>' +
  156. '<img layer-src="' + n.F_Url + '" src="' + n.F_Url + '" alt="'+con.rows[0].F_WorkOrderId +"_"+ (i+1) +
  157. '" class="image-item" /><div>').appendTo("#fileList");
  158. } else {
  159. $('<div class="img-box">' +
  160. '<span class="img_mask"><span href="javascript:;" onclick=downloadFile("'+con.rows[0].F_WorkOrderId +"_"+ (i+1)+
  161. '","' + n.F_Type +
  162. '") title="点击下载"><i class="fa fa-download" aria-hidden="true"></i></span></span>' +
  163. '<span class="img_filename">'+n.F_OriName + n.F_Name.split(".")[1] + '</span><div>').appendTo("#fileList");
  164. }
  165. });
  166. layer.photos({
  167. photos: '#fileList',
  168. anim: 5, //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)
  169. title: '查看图片',
  170. move: '.layui-layer-title',
  171. shadeClose: false,
  172. closeBtn: 1,
  173. area: ['60%', '95%'],
  174. tab: function(pic, layero){
  175. // console.log(pic) //当前图片的一些信息
  176. }
  177. });
  178. }
  179. }
  180. }
  181. });
  182. }
  183. function downloadFile(data, strFileName, strMimeType) {
  184. console.log(data, strFileName, strMimeType)
  185. event.preventDefault();
  186. //详细见文档 http://danml.com/download.html
  187. var x = new XMLHttpRequest();
  188. x.open("GET", data, true);
  189. x.responseType = 'blob';
  190. x.onload = function(e) {
  191. download(x.response, strFileName, strMimeType);
  192. }
  193. x.send();
  194. }
  195. // 工单详情中判断工单来源的值
  196. function workOrderDetailsSourceJudge (data) {
  197. if (data.F_Source === 1) {
  198. return 'PC';
  199. } else if (data.F_Source === 2) {
  200. return 'APP';
  201. } else if (data.F_Source === 3) {
  202. return '微信';
  203. } else {
  204. return '';
  205. }
  206. }
  207. // 工单详情中工单类别返回值判断
  208. function workOrderDetailsTypeJudge (data) {
  209. if (data.F_Type === 1) {
  210. return '咨询';
  211. } else if (data.F_Type === 2) {
  212. return '投诉';
  213. } else if (data.F_Type === 3) {
  214. return '重复';
  215. } else {
  216. return '';
  217. }
  218. }
  219. // 工单详情中减免返回值判断
  220. function workOrderDetailsReduction (data) {
  221. if (data.F_IsReduction === 0) {
  222. return '否';
  223. } else if (data.F_IsReduction === 1) {
  224. return '是';
  225. }
  226. }
  227. // 工单详情中工单状态返回值判断
  228. function workOrderDetailsStateJudge (data) {
  229. if (data.F_State === 0) {
  230. return '待提交';
  231. } else if (data.F_State === 1) {
  232. return '待分派';
  233. } else if (data.F_State === 2) {
  234. return '待接单';
  235. } else if (data.F_State === 3) {
  236. return '待处理';
  237. } else if (data.F_State === 4) {
  238. return '处理中';
  239. } else if (data.F_State === 5) {
  240. return '退回待分派';
  241. } else if (data.F_State === 6) {
  242. return '退回待提交';
  243. } else if (data.F_State === 10) {
  244. return '已完成';
  245. } else {
  246. return '';
  247. }
  248. }
  249. // 工单记录中工单状态返回值判断
  250. function formatterWorkOrderRecordStatus(val, row) {
  251. var formatterWorkOrderRecordStatusStr = '';
  252. if (row.F_WoState === 0){
  253. formatterWorkOrderRecordStatusStr = "待提交";
  254. }
  255. if (row.F_WoState === 1){
  256. formatterWorkOrderRecordStatusStr = "待分派";
  257. }
  258. if (row.F_WoState === 2){
  259. formatterWorkOrderRecordStatusStr = "待接单";
  260. }
  261. if (row.F_WoState === 3){
  262. formatterWorkOrderRecordStatusStr = "待处理";
  263. }
  264. if (row.F_WoState === 4){
  265. formatterWorkOrderRecordStatusStr = "处理中";
  266. }
  267. if (row.F_WoState === 5){
  268. formatterWorkOrderRecordStatusStr = "退回待分派";
  269. }
  270. if (row.F_OptType == 6){
  271. formatterWorkOrderRecordStatusStr = "退回待提交";
  272. }
  273. if (row.F_OptType == 10){
  274. formatterWorkOrderRecordStatusStr = "已完成";
  275. }
  276. return formatterWorkOrderRecordStatusStr;
  277. }
  278. // 提交重复工单
  279. function submitRepeatWorkOrder () {
  280. var laye = layer.confirm("您确定要提交重复工单吗?", {
  281. btn: ["确定", "取消"]
  282. }, function () {
  283. $.ajax({
  284. type: "post",
  285. url: huayi.config.callcenter_url + "WorkOrder/Repeat",
  286. async: true,
  287. dataType: "json",
  288. data: {
  289. token: $.cookie("token"),
  290. orderid: selid,
  291. isbj: 1
  292. },
  293. success: function (data) {
  294. if (data.state.toLowerCase() == 'success') {
  295. layer.msg("标记重复工单成功!");
  296. //工单列表
  297. parent.$("#workorderlist").bootstrapTable('refresh');
  298. //工单详情
  299. getWorkOrderDetails();
  300. getWorkOrderRecord();
  301. } else {
  302. layer.msg("标记重复工单失败!");
  303. }
  304. }
  305. });
  306. }, function(){
  307. layer.close(laye)
  308. })
  309. }
  310. // 获取当前登录人
  311. function getLoginPerson(processingProgress) {
  312. $.ajax({
  313. type: "get",
  314. url: huayi.config.callcenter_url + "UserAccount/GetNowUser",
  315. dataType: 'json',
  316. async: true,
  317. data: {
  318. token: $.cookie("token")
  319. },
  320. success: function(data) {
  321. var userRoleCode = data.data.role.F_RoleCode;
  322. // var processingProgress = processingProgress;
  323. // 判断角色权限
  324. rolePermission(userRoleCode, processingProgress)
  325. }
  326. });
  327. }
  328. /*
  329. 催单判断
  330. processingProgress
  331. 1、待分派
  332. 3、待处理
  333. 4、处理中
  334. 5、退回待分派
  335. 10、已处理
  336. userRoleCode
  337. XTGLY:系统维护
  338. CJGLY:超级管理员
  339. CLZY:总部处理专员
  340. */
  341. function rolePermission(userRoleCode, processingProgress) {
  342. if (processingProgress == 1 || processingProgress == 3 || processingProgress == 4 || processingProgress == 5) {
  343. if (userRoleCode == "XTGLY" || userRoleCode == "CJGLY" || userRoleCode == "CLZY") {
  344. $(".reminder-title").show();
  345. }
  346. } else if (processingProgress == 10) {
  347. if (userRoleCode == "XTGLY" || userRoleCode == "CJGLY" || userRoleCode == "CLZY") {
  348. $(".reminder-title").text("完善");
  349. $(".reminder-content-title").text("完善内容:")
  350. $(".reminder-title").show();
  351. }
  352. }
  353. }
  354. //催单
  355. function saveCustomer() {
  356. $.ajax({
  357. type: "post",
  358. url: huayi.config.callcenter_url + "WorkOrder/Reminder",
  359. dataType: 'json',
  360. async: true,
  361. beforeSend: function() { //触发ajax请求开始时执行
  362. $('.customerSubmit').attr("disabled", true);
  363. $('.customerSubmit').text('确定中...');
  364. },
  365. data: {
  366. token: $.cookie("token"),
  367. id: selid,
  368. count: $('#cont').val(), //催单备注
  369. },
  370. success: function(data) {
  371. if (data.state.toLowerCase() == 'success') {
  372. parent.layer.msg("催单成功!");
  373. var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
  374. parent.layer.close(index); //再执行关闭
  375. // parent.$("#workorderlist").bootstrapTable('refresh');
  376. } else {
  377. $('.customerSubmit').attr("disabled", false);
  378. $('.customerSubmit').text('确定');
  379. }
  380. }
  381. });
  382. }