Handling.js 53 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411
  1. var exData = null;
  2. var edit_id = "";
  3. var _memo_msg = "";
  4. var viewUrl = null;
  5. var uploadUrl = null;
  6. var _handlingOrderInfo = null;
  7. var _selResponsibleList = "";
  8. var _endValue = 1;//车间不售后选择的单选值
  9. var userPostCode = "";
  10. var tradeCellPaymant = 0;
  11. function addFn() {
  12. edit_id = "";
  13. $(".win_tb").find("input").val("");
  14. $(".win_tb").find("textarea").val("");
  15. mini.get("add_win").show();
  16. }
  17. function orderPTimeRenderer(e) {
  18. var grid = e.sender;
  19. var record = e.record;
  20. var tid = record.tid;
  21. var rowIndex = e.rowIndex;
  22. var html = "<div style=\"display:flex;flex-direction:column;\">";
  23. html += ("<div>" + record.seller_nick + "</div>");
  24. html += getWWurlByNick(record.buyer_nick);
  25. html += ("<div>" + formatCommonDate(record.pay_time) + "</div>");
  26. if (record.UrgencyTime != "") {
  27. html += ("<div style=\"color:red;\">急:" + formatCommonDate(record.UrgencyTime) + "</div>");
  28. }
  29. html += "</div>";
  30. return html;
  31. }
  32. function handTimeRenderer(e) {
  33. var grid = e.sender;
  34. var record = e.record;
  35. var html = "<div>";
  36. html += ("<div>售:" + formatCommonDate(record.AfterSaleTime) + "</div>");
  37. html += ("<div>处:" + formatCommonDate(record.HandleTime) + "</div>");
  38. html += ("<div>回:" + formatCommonDate(record.DisagreeTime) + "</div>");
  39. html += "</div>";
  40. return html;
  41. }
  42. function orderStatusRenderer(e) {
  43. var grid = e.sender;
  44. var record = e.record;
  45. var tid = record.tid;
  46. var rowIndex = e.rowIndex;
  47. var statestr = getOrderStatestrByState(record.OrderState);
  48. var html = "<div style=\"display:flex;flex-direction:column;\">";
  49. html += ("<div onclick=\"clickToLog('" + record.ctid + "')\" style=\"color:blue;margin-bottom:10px;\">" + statestr + "</div>");
  50. var taostatus = getInitStatusstrByState(record.status);
  51. html += ("<div>" + taostatus + "</div>");
  52. if (record.ExpressNo && record.ExpressNo != "") {
  53. html += ("<div style=\"color:red;margin-top:5px;\">单号:" + record.ExpressNo + "</div>");
  54. }
  55. html += "</div>";
  56. return html;
  57. }
  58. function payRenderer(e) {
  59. var grid = e.sender;
  60. var record = e.record;
  61. var tid = record.tid;
  62. var rowIndex = e.rowIndex;
  63. var statestr = getOrderStatestrByState(record.OrderState);
  64. let refund_list = record?.RefundFees?.split(",");
  65. var html = "<div style=\"display:flex;flex-direction:column;\">";
  66. html += ("<div>订单:" + record.AfterSalePayment + "</div>");
  67. html += ("<div>退差价:" + record.DeductFee + "</div>");
  68. for (let i = 0; i < refund_list.length; i++) {
  69. html += ("<div>责任人" + (i + 1) + "扣款:" + refund_list[i] || 0 + "</div>");
  70. }
  71. html += "</div>";
  72. return html;
  73. }
  74. function textResultRenderer(e) {
  75. var record = e.record;
  76. var html = "<div style=\"display:flex;flex-direction:column;\">";
  77. html += record.TextResult;
  78. if (record.TextResult == "退差价") {
  79. html += ":" + record.diffResultPrice
  80. }
  81. html += "</div>";
  82. return html;
  83. }
  84. function ImgRenderer(e) {
  85. var record = e.record;
  86. var html = "<div style=\"display:flex;flex-direction:column;\">";
  87. if (record.AfterSaleSupplierImg.length > 0) {
  88. var iList = record.AfterSaleSupplierImg.split(",");
  89. for (let i = 0; i < iList.length; i++) {
  90. if (iList[i].indexOf(".mp4") > -1) {
  91. html += ("<video id=\"r_img\" style=\"width: 30px; height: 25px; margin-bottom:5px\" onclick=\"largeImage(this)\" src=\"" + viewUrl + "/" + iList[i] + "\"/> ");
  92. } else {
  93. html += ("<img id=\"r_img\" style=\"width: 30px; height: 25px; margin-bottom:5px\" onclick=\"largeImage(this)\" src=\"" + viewUrl + "/" + iList[i] + "\"/> ");
  94. }
  95. }
  96. }
  97. html += "</div>";
  98. return html;
  99. }
  100. function SaleBackImgRenderer(e) {
  101. var record = e.record;
  102. var html = "<div style=\"display:flex;flex-direction:column;\">";
  103. if (record.AfterSaleBackImg.length > 0) {
  104. var iList = record.AfterSaleBackImg.split(",");
  105. for (let i = 0; i < iList.length; i++) {
  106. html += ("<img id=\"r_img\" style=\"width: 30px; height: 25px; margin-bottom:5px\" onclick=\"largeImage(this)\" src=\"" + viewUrl + "/" + iList[i] + "\"/> ");
  107. }
  108. }
  109. html += "</div>";
  110. return html;
  111. }
  112. function largeImage(that) {
  113. let url = $(that).attr("src");
  114. let large_image = "";
  115. if (url.indexOf(".mp4") > -1) {
  116. large_image = '<video controls src= ' + url + '></video>';
  117. } else {
  118. large_image = '<img src= ' + url + '></img>';
  119. }
  120. $('.image_large').html($(large_image).css({
  121. display: "block",
  122. height: '60%',
  123. //width: '40%',
  124. position: "absolute",
  125. left: "50%",
  126. top: "50%",
  127. transform: "translate(-50%,-50%)",
  128. }, 500));
  129. $('.image_large').css("display", "block");
  130. }
  131. function hideImage(that) {
  132. $(that).css("display", "none");
  133. }
  134. function methodRenderer(e) {
  135. var record = e.record;
  136. var md = record.AfterSaleMethod;
  137. md = md.replace("&lt;", "<");
  138. md = md.replace("&gt;", ">");
  139. md = md.replace("&lt;", "<");
  140. md = md.replace("&gt;", ">");
  141. md = md.replace("&lt;", "<");
  142. md = md.replace("&gt;", ">");
  143. md = md.replace("&lt;", "<");
  144. md = md.replace("&gt;", ">");
  145. var html = "<div style=\"display:flex;flex-direction:column;\">";
  146. html += ("<div>" + md + "</div>");
  147. html += "</div>";
  148. return html;
  149. }
  150. function orderCusRenderer(e) {
  151. var grid = e.sender;
  152. var record = e.record;
  153. var tid = record.tid;
  154. var rowIndex = e.rowIndex;
  155. var html = getDDurlByPhone(record.CustomerMobile, record.CustomerTb);
  156. return html;
  157. }
  158. function designRenderer(e) {
  159. var grid = e.sender;
  160. var record = e.record;
  161. var tid = record.tid;
  162. var rowIndex = e.rowIndex;
  163. var html = getDDurlByPhone(record.DesignMobile, record.DesignUserName);
  164. return html;
  165. }
  166. function addressRenderer(e) {
  167. var grid = e.sender;
  168. var record = e.record;
  169. var tid = record.tid;
  170. var rowIndex = e.rowIndex;
  171. var html = "<div>" + record.receiver_name + " " + record.receiver_mobile + " " + record.receiver_state + record.receiver_city + record.receiver_district + record.receiver_address + "</div>";
  172. return html;
  173. }
  174. function actionRenderer(e) {
  175. var grid = e.sender;
  176. var record = e.record;
  177. var id = record.ctid;
  178. var rowIndex = e.rowIndex;
  179. var html = "";
  180. if (record.AfterSaleState == 1) {
  181. html += getGridBtn("yes", "预完成", "preFinishFn('" + id + "')");
  182. html += getGridBtn("sc", "修改", "handleFn('" + id + "')");
  183. }
  184. if (userPostCode == "AfterSaleMaster") {
  185. //html += getGridBtn("stop", "删除", "cancelFn('" + id + "')");
  186. html += getGridBtn("notify1", "售后终止", "endFn('" + id + "')");
  187. }
  188. if (userPostCode == "AfterSaleMaster" || userPostCode == "SysAdmin" || CurrentUserId == "82" || CurrentUserId == "2846") {
  189. if (record.AfterSaleState == 2) {
  190. html += getGridBtn("sc", "通过", "verifyYes('" + record.ctid + "')");
  191. html += getGridBtn("sc", "退回", "backFn('" + record.ctid + "')");
  192. }
  193. }
  194. if (record.AfterSaleBackReason.length > 0) {
  195. html += ("<span style='color:red;'>退回:" + record.AfterSaleBackReason + "</span>")
  196. }
  197. return html;
  198. }
  199. function verifyYes(ctid) {
  200. if (!confirm("通过售后单,确认?")) return;
  201. postAjax("aftersale_audit_master", "ctid=" + ctid, function (data) {
  202. resultShow(data, "grid.reload();");
  203. });
  204. }
  205. function backFn(ctid) {
  206. mini.prompt("请输入原因:", "退单",
  207. function (action, value) {
  208. if (action == "ok") {
  209. var parms = new Object();
  210. parms.tid = ctid;
  211. parms.backreason = value;
  212. postAjax("upd_erp_backaftersale", parms, function (data) {
  213. resultShow(data, "grid.reload();");
  214. });
  215. } else {
  216. }
  217. },
  218. true
  219. );
  220. }
  221. //点击取消
  222. function cancelFn(eid) {
  223. edit_id = eid;
  224. if (!confirm("该操作会删除新生成订单,且此单转为非售后,确认?")) return;
  225. postAjax("cancel_erp_aftersaleanddelnew", "ctid=" + eid, function (data) {
  226. resultShow(data, "grid.reload();");
  227. });
  228. }
  229. //点击处理按钮 弹窗
  230. function handleFn(eid) {
  231. edit_id = eid;
  232. var recsss = grid.getSelecteds();
  233. var rec = "";
  234. for (var recitem of recsss) {
  235. if (recitem.ctid == eid) {
  236. rec = recitem;
  237. _handlingOrderInfo = rec;
  238. break;
  239. }
  240. }
  241. $("#handle_win").find("input").val("");
  242. $("#handle_win").find("textarea").val("");
  243. //$("#chkState")[0].checked = false;
  244. var province = [];
  245. for (var item of site_address) {
  246. if (item.TopID == 0) {
  247. province.push(item);
  248. }
  249. }
  250. mini.get("#txtAddProvince").setData(province);
  251. if (rec.IsOffLineOrder == 1) {
  252. $("#txtAddReceiver").val(rec.receiver_name);
  253. $("#txtAddPhone").val(rec.receiver_mobile);
  254. mini.get("txtAddProvince").setText(rec.receiver_state);
  255. mini.get("txtAddCity").setText(rec.receiver_city);
  256. mini.get("txtAddCounty").setText(rec.receiver_district);
  257. $("#txtAddDetailAddress").val(rec.receiver_address);
  258. }
  259. var reason1 = [];
  260. for (var item of site_reason) {
  261. if (item.TopID == 0) {
  262. reason1.push(item);
  263. }
  264. }
  265. mini.get("txtResult").setEnabled(true);
  266. mini.get("#txtReason1").setData(reason1);
  267. if (rec.AfterSaleReason != "") {
  268. var reasonList = rec.AfterSaleReason.split('|');
  269. mini.get("txtReason1").setValue(reasonList[0]);
  270. mini.get("txtReason1").setText(reasonList[0]);
  271. setRefundType(reasonList[0])
  272. if (reasonList.length > 1) mini.get("txtReason2").setText(reasonList[1]);
  273. if (reasonList.length > 2) mini.get("txtReason3").setText(reasonList[2]);
  274. if (reasonList.length > 3) mini.get("txtReason4").setText(reasonList[3]);
  275. }
  276. mini.get("txtResult").setText("待处理");
  277. if (rec.TextResult != "") {
  278. mini.get("txtResult").setText(rec.TextResult);
  279. }
  280. showTxtInputReason();
  281. setLastMiniComBo();
  282. let supplierResponsible_list = rec.supplierResponsible.split("-");
  283. if (supplierResponsible_list.length > 1) {
  284. $("#txtInputReason").val(supplierResponsible_list[1]);
  285. }
  286. selItemSelected($("#txtToState")[0], "请选择");
  287. $("#isOriginalLayout").hide()
  288. var ohtml = ("<div>" + rec.tid + "</div>" + "<div class='marginleft20'>" + rec.seller_nick + "</div>" + "<div class='marginleft20'>¥" + rec.payment + "</div>");
  289. var ww = ("<a class='marginleft20' href='http://amos.alicdn.com/msg.aw?v=2&amp;uid=" + rec.buyer_nick + "&amp;site=cntaobao&amp;s=2&amp;charset=utf-8' target='ww'><img border='0' src='http://amos.alicdn.com/online.aw?v=2&amp;uid=" + rec.buyer_nick + "&amp;site=cntaobao&amp;s=2&amp;charset=utf-8' alt='点击这里给我发消息'><span id = 'customerName' >" + rec.buyer_nick + "</span></a >");
  290. ohtml += ww;
  291. $("#txtTid").html(ohtml);
  292. var resmanStr = rec.AfterSaleResponsible;
  293. var respStrArr = resmanStr.split(",");
  294. var resIds_get = "";
  295. if (respStrArr.length > 0) {
  296. var gysTag = 0;
  297. var forTag = 0;
  298. for (var item of respStrArr) {
  299. forTag++;
  300. var itemarr = item.split(":");
  301. var rid = getIDByResName(itemarr[0]);
  302. resIds_get += rid;
  303. resIds_get += ",";
  304. if (itemarr[0] == "供应商") {
  305. gysTag = forTag;
  306. }
  307. }
  308. tradeCellPaymant = rec.payment;
  309. resIds_get = resIds_get.substring(0, resIds_get.length - 1);
  310. mini.get("txtResponsibleView").setValue(resIds_get);
  311. initResponsibleValueChanged(resIds_get);
  312. if (gysTag == 1) {
  313. mini.get("txtResponsibleUser1").setValue(rec.AfterSaleResSupId);
  314. }
  315. else if (gysTag == 2) {
  316. mini.get("txtResponsibleUser2").setValue(rec.AfterSaleResSupId);
  317. }
  318. }
  319. var resmanid = rec.ResponsibleUserId;
  320. var respmanIdArr = resmanid.split(",");
  321. var refundFreesArr = rec.RefundFees?.split(",") || [];
  322. if (resmanid == "") {
  323. respmanIdArr = [];
  324. }
  325. if (respmanIdArr.length > 1) {
  326. var rsid1 = respmanIdArr[0].split("_")[0];
  327. mini.get("txtResponsibleUser1").setValue(rsid1);
  328. var rsid2 = respmanIdArr[1].split("_")[0];
  329. mini.get("txtResponsibleUser2").setValue(rsid2);
  330. $("#txtRefund1").val(refundFreesArr[0]);
  331. $("#txtRefund2").val(refundFreesArr[1]);
  332. }
  333. else if (respmanIdArr.length == 1) {
  334. var rsid1 = respmanIdArr[0].split("_")[0];
  335. mini.get("txtResponsibleUser1").setValue(rsid1);
  336. $("#txtRefund1").val(refundFreesArr[0]);
  337. }
  338. if (rec.AfterSalePayment > 0) {
  339. $("#txtPayment").val(rec.AfterSalePayment);
  340. }
  341. else {
  342. $("#txtPayment").val(rec.payment);
  343. }
  344. $("#txtDeduct").val(rec.DeductFee);
  345. selItemSelected($("#isComplain")[0], rec.IsComplain || 0);
  346. $("#isBad").prop("checked", false);
  347. if (rec.IsBad == 1) {
  348. $("#isBad").prop("checked", true);
  349. }
  350. if (rec.IsOriginal == 1) {
  351. $("#textIsOriginal").prop("checked", true);
  352. }
  353. if (rec.RefundFee <= 0) {
  354. $("#txtRefund").val((parseFloat(rec.payment) * 0.3).toFixed(2));
  355. $("#txtRefund1").val((parseFloat(rec.payment) * 0.3).toFixed(2));
  356. }
  357. else {
  358. $("#txtRefund").val(rec.RefundFee);
  359. }
  360. var asm = rec.AfterSaleMethod;
  361. asm = asm.replace("&lt;br/&gt;", "\n");
  362. asm = asm.replace("&lt;br/&gt;", "\n");
  363. asm = asm.replace("&lt;br/&gt;", "\n");
  364. asm = asm.replace("&lt;br/&gt;", "\n");
  365. $("#txtMethod").val(asm);
  366. $("#txtAfterMemo").val(rec.AfterSaleMemo);
  367. selItemSelected($("#txtRefundType")[0], rec.supRefundType);
  368. if (rec.supRefundType == "退差价" || rec.supRefundType == "退全款") {
  369. $('#id_Deduct_td1').css("display", "");
  370. $('#id_Deduct_td2').css("display", "");
  371. }
  372. $(".diffResult").hide();
  373. if (rec.TextResult == "退差价" || rec.TextResult == "退差价+包邮顺丰") {
  374. $('.diffResult').css("display", "");
  375. $("#diffResultPrice").val(rec.diffResultPrice);
  376. }
  377. $("#td_watch").hide()
  378. $("#td_after").hide()
  379. postAjax("get_sample2_order", { ctid: rec.ctid }, function (data) {
  380. let { total, order_price, total_order, return_reason, paymant } = data;
  381. if (data.total > 0) {
  382. let text = `注:原始订单:${total_order}元,此单拆单:${rec.payment}元,补差总额:${total}元,分配金额:${order_price}元。 `
  383. $("#td_watch").text(text).show()
  384. let finish_price = Number(order_price) + Number(rec.payment)
  385. if (rec.AfterSalePayment > 0) {
  386. }
  387. else {
  388. $("#txtPayment").val(finish_price);
  389. }
  390. if (rec.RefundFee <= 0) {
  391. $("#txtRefund").val((parseFloat(finish_price) * 0.3).toFixed(2));
  392. $("#txtRefund1").val((parseFloat(finish_price) * 0.3).toFixed(2));
  393. }
  394. }
  395. if (paymant > 0) {
  396. tradeCellPaymant = paymant;
  397. }
  398. if (return_reason != "") {
  399. $("#td_after").text("售后单:" + rec.ctid + " 打回原因:" + return_reason).show()
  400. }
  401. })
  402. mini.get("handle_win").show();
  403. let fObj = getFrame();
  404. $("#upframe")[0].contentWindow.location.reload(true);
  405. let imageList = [];
  406. if (rec.AfterSaleSupplierImg != "") {
  407. //$("#upframe").css("display", "none");
  408. //$("#id_preViewImgCon").css("display", "");
  409. //var htmlimg = "";
  410. var imglist = rec.AfterSaleSupplierImg.split(",");
  411. for (var imgone of imglist) {
  412. //htmlimg += ("<img style=\"width: 70px; height: 70px; \" onclick=\"largeImage(this)\" src=\"" + viewUrl + "/" + imgone + "\"/> ");
  413. imageList.push(imgone);
  414. }
  415. //htmlimg += ("<a style=\"width:70px; height:30px;line-height:30px; margin-left:50px; \" class=\"mini-button mini-button-info\" onclick='reuploadImg()'>重新上传</a>")
  416. // $("#id_preViewImgCon").html(htmlimg);
  417. }
  418. else {
  419. // $("#upframe").css("display", "");
  420. //$("#id_preViewImgCon").css("display", "none");
  421. }
  422. $("#upframe").data("images", imageList.join(","));
  423. $("#upframe").data("viewUrl", viewUrl);
  424. }
  425. function reuploadImg() {
  426. $("#upframe").css("display", "");
  427. $("#id_preViewImgCon").css("display", "none");
  428. }
  429. function cancelHandleFn() {
  430. mini.get("handle_win").hide();
  431. }
  432. function saveHandleFn() {
  433. var parms = new Object();
  434. parms.ctid = edit_id;
  435. var respl = "";
  436. var resplIds = "";
  437. if (_selResponsibleList.length <= 0) {
  438. mini.alert("请选择责任人");
  439. return;
  440. }
  441. var gysId = 0;
  442. var refundFrees = "";
  443. for (var i = 0; i < _selResponsibleList.length; i++) {
  444. var resId = _selResponsibleList[i];
  445. var vname = getNameByResId(resId);
  446. var btag = getBackTagByResId(resId);
  447. var kf = mini.get("txtResponsibleUser" + (i + 1)).getText();
  448. if (vname == "客户问题") {
  449. respl += vname + ",";
  450. } else {
  451. if (kf == "") {
  452. mini.alert("请选择责任人");
  453. return;
  454. }
  455. respl += vname + ":" + kf + ",";
  456. resplIds += mini.get("txtResponsibleUser" + (i + 1)).getValue() + "_" + btag + ",";
  457. refundFrees += $("#txtRefund" + (i + 1)).val() + ",";
  458. }
  459. if (vname == "供应商") {
  460. gysId = mini.get("txtResponsibleUser" + (i + 1)).getValue();
  461. }
  462. }
  463. respl = respl.substring(0, respl.length - 1);
  464. resplIds = resplIds.substring(0, resplIds.length - 1);
  465. refundFrees = refundFrees.substring(0, refundFrees.length - 1);
  466. if (respl == ":") respl = "";
  467. if (respl.length == 0) {
  468. mini.alert("请选择责任人");
  469. return;
  470. }
  471. parms.AfterSaleResponsible = respl;
  472. parms.ResponsibleUserId = resplIds;
  473. parms.ResponsibleSupId = gysId;
  474. parms.refundFrees = refundFrees;
  475. if (mini.get("txtReason1").data.length > 0 && mini.get("txtReason1").getText().length <= 0) {
  476. mini.alert("售后原因请选择详细一点");
  477. return;
  478. }
  479. if (mini.get("txtReason2").data.length > 0 && mini.get("txtReason2").getText().length <= 0) {
  480. mini.alert("售后原因请选择详细一点");
  481. return;
  482. }
  483. if (mini.get("txtReason3").data.length > 0 && mini.get("txtReason3").getText().length <= 0) {
  484. mini.alert("售后原因请选择详细一点");
  485. return;
  486. }
  487. if (mini.get("txtReason4").data.length > 0 && mini.get("txtReason4").getText().length <= 0) {
  488. mini.alert("售后原因请选择详细一点");
  489. return;
  490. }
  491. if (mini.get("txtReason1").getText() == "客户问题" && mini.get("txtReason2").getText() == "信息不全" && mini.get("txtReason3").getText() == "无照片反馈问题" && mini.get("txtReason4").getText() == "") {
  492. mini.alert("售后原因请选择详细一点");
  493. return;
  494. }
  495. parms.AfterSaleReason = mini.get("txtReason1").getText() + "|" + mini.get("txtReason2").getText() + "|" + mini.get("txtReason3").getText() + "|" + mini.get("txtReason4").getText();
  496. parms.supplierResponsible = "";
  497. if (mini.get("txtReason1").getText() == "车间责任") {
  498. let supplier_list = parms.AfterSaleReason?.split("|");
  499. supplier_list = supplier_list.filter(item => { return item != "" });
  500. let list = [supplier_list[supplier_list.length - 1]];
  501. if ($("#txtInputReason").val() != "") {
  502. list.push($("#txtInputReason").val());
  503. }
  504. parms.supplierResponsible = list.join("-");
  505. }
  506. parms.textResult = mini.get("txtResult").getText();
  507. parms.ToState = $("#txtToState").val();
  508. //parms.MemoType = $("#txtMemoType").val();
  509. parms.supRefundType = $("#txtRefundType").val();
  510. parms.AfterSalePayment = $("#txtPayment").val();
  511. parms.DeductFee = $("#txtDeduct").val();
  512. parms.RefundFee = $("#txtRefund").val();
  513. if (mini.get("txtReason1").getText() != "客户问题" && mini.get("txtReason1").getText() != "系统问题" && parms.supRefundType == "") {
  514. mini.alert("请选择退款类型");
  515. return;
  516. }
  517. let txtResponsibleView = mini.get("txtResponsibleView").value;
  518. let view = txtResponsibleView.split(",");
  519. //var imgstr = $("#hImg").val();
  520. var imgstr = getImgs();
  521. if ((view.indexOf("1") > -1 || view.indexOf("2") > -1 || view.indexOf("6") > -1) && imgstr == '') {
  522. mini.alert("请上传图片");
  523. return;
  524. }
  525. parms.img = imgstr;
  526. //var detailReason = $("#txtDetailReason").val();
  527. var handleRes = mini.get("txtResult").getText();
  528. var method_str = $("#txtMethod").val();
  529. method_str = method_str.replace(/\n/g, "<br/>");
  530. parms.AfterSaleMethod = method_str;
  531. parms.AfterSaleMemo = $("#txtAfterMemo").val();
  532. parms.diffResultPrice = $("#diffResultPrice").val();
  533. if ((handleRes == "退差价" || handleRes == "退差价+包邮顺丰") && Number(parms.diffResultPrice) == 0) {
  534. mini.alert("客户退差价,请输入金额");
  535. return;
  536. }
  537. parms.IsNewOrder = (parms.ToState == "下单员" || parms.ToState == "设计师") ? "1" : "0"; //checkbox
  538. if (parms.IsNewOrder == 1 && parms.ToState == "请选择") {
  539. mini.alert("勾选生成订单,要选择指派节点");
  540. return;
  541. }
  542. parms.receiver_name = $("#txtAddReceiver").val();
  543. parms.isComplain = $("#isComplain option:selected").val();
  544. parms.isBad = $("#isBad").is(":checked") ? 1 : 0;
  545. parms.isOriginal = $("#textIsOriginal").is(":checked");
  546. parms.receiver_mobile = $("#txtAddPhone").val();
  547. parms.receiver_state = mini.get("txtAddProvince").getText();
  548. parms.receiver_city = mini.get("txtAddCity").getText();
  549. parms.receiver_district = mini.get("txtAddCounty").getText();
  550. parms.receiver_address = $("#txtAddDetailAddress").val();
  551. postAjax("handle_erp_aftersale", parms, function (data) {
  552. mini.get("handle_win").hide();
  553. resultShow(data, "grid.reload();");
  554. });
  555. }
  556. //指派节点改变
  557. function stateChange() {
  558. let selectText = $("#txtToState option:selected").val()
  559. mini.get("txtResult").setEnabled(true);
  560. if (selectText == "设计师") {
  561. mini.get("txtResult").setText("重印-转设计师");
  562. mini.get("txtResult").setEnabled(false);
  563. } else if (selectText == "下单员") {
  564. mini.get("txtResult").setText("重印-转下单员");
  565. mini.get("txtResult").setEnabled(false);
  566. }
  567. changeDuctPrice()
  568. }
  569. function changeResultFn(e) {
  570. $(".diffResult").hide();
  571. if (e.value == 5 || e.value == 12) {
  572. $(".diffResult").show();
  573. }
  574. changeDuctPrice()
  575. }
  576. function responsibleValueChanged(e) {
  577. var selValue = e.value;
  578. var selList = selValue.split(',');
  579. _selResponsibleList = selList;
  580. mini.get("txtResponsibleUser1").setValue('');
  581. mini.get("txtResponsibleUser2").setValue('');
  582. mini.get("txtResponsibleUser1").setText('');
  583. mini.get("txtResponsibleUser2").setText('');
  584. $('.id_txtResponsible1_td1').css("display", "none");
  585. $('.id_txtResponsible1_td2').css("display", "none");
  586. $('.id_txtResponsible2_td1').css("display", "none");
  587. $('.id_txtResponsible2_td2').css("display", "none");
  588. if (selList.length == 1) {
  589. $('.id_txtResponsible1_td1').css("display", "");
  590. $('.id_txtResponsible1_td2').css("display", "");
  591. }
  592. else if (selList.length > 1) {
  593. $('.id_txtResponsible1_td1').css("display", "");
  594. $('.id_txtResponsible1_td2').css("display", "");
  595. $('.id_txtResponsible2_td1').css("display", "");
  596. $('.id_txtResponsible2_td2').css("display", "");
  597. }
  598. var selIdex = 0;
  599. for (var item of selList) {
  600. if (item == '') continue;
  601. var Url = getUrlByResId(item);
  602. try {
  603. if (selIdex == 0) {
  604. mini.get("txtResponsibleUser1").setUrl(Url);
  605. if (item == 1) mini.get("txtResponsibleUser1").setValue(_handlingOrderInfo.CustomerUserId);
  606. else if (item == 2) mini.get("txtResponsibleUser1").setValue(_handlingOrderInfo.DesignUserId);
  607. else if (item == 3) mini.get("txtResponsibleUser1").setValue(_handlingOrderInfo.PlaceUserId);
  608. else if (item == 6) mini.get("txtResponsibleUser1").setValue(_handlingOrderInfo.SupplierId);
  609. }
  610. else if (selIdex == 1) {
  611. mini.get("txtResponsibleUser2").setUrl(Url);
  612. if (item == 1) mini.get("txtResponsibleUser2").setValue(_handlingOrderInfo.CustomerUserId);
  613. else if (item == 2) mini.get("txtResponsibleUser2").setValue(_handlingOrderInfo.DesignUserId);
  614. else if (item == 3) mini.get("txtResponsibleUser2").setValue(_handlingOrderInfo.PlaceUserId);
  615. else if (item == 6) mini.get("txtResponsibleUser2").setValue(_handlingOrderInfo.SupplierId);
  616. }
  617. } catch (e) {
  618. }
  619. selIdex++;
  620. }
  621. changeDuctPrice();
  622. let textId = 1;
  623. let text = "";
  624. if (e.selecteds.length > 0 && mini.get("txtReason2").getText().length <= 0) {
  625. let name = e.selecteds[0].text;
  626. if (name.length > 0) {
  627. if (name == "客服") {
  628. textId = 2;
  629. text = "客服责任"
  630. }
  631. if (name == "设计") {
  632. textId = 1;
  633. text = "设计责任"
  634. }
  635. if (name == "下单") {
  636. textId = 7;
  637. text = "下单责任"
  638. }
  639. if (name == "售后") {
  640. textId = 9;
  641. text = "售后责任"
  642. }
  643. if (name == "运营") {
  644. textId = 8;
  645. text = "运营责任"
  646. }
  647. if (name == "供应商") {
  648. textId = 3;
  649. text = "车间责任"
  650. }
  651. if (name == "物流") {
  652. textId = 5;
  653. text = "快递责任"
  654. }
  655. if (name == "客户问题") {
  656. textId = 4;
  657. text = "客户问题"
  658. }
  659. if (name == "系统问题") {
  660. textId = 11;
  661. text = "系统问题"
  662. }
  663. mini.get("txtReason1").setValue(textId);
  664. mini.get("txtReason1").setText(text);
  665. setReason1Value(textId, text);
  666. }
  667. }
  668. }
  669. function initResponsibleValueChanged(ids) {
  670. var selValue = ids;
  671. var selList = selValue.split(',');
  672. _selResponsibleList = selList;
  673. $('.id_txtResponsible1_td1').css("display", "none");
  674. $('.id_txtResponsible1_td2').css("display", "none");
  675. $('.id_txtResponsible2_td1').css("display", "none");
  676. $('.id_txtResponsible2_td2').css("display", "none");
  677. if (selList.length == 1) {
  678. $('.id_txtResponsible1_td1').css("display", "");
  679. $('.id_txtResponsible1_td2').css("display", "");
  680. }
  681. else if (selList.length > 1) {
  682. $('.id_txtResponsible1_td1').css("display", "");
  683. $('.id_txtResponsible1_td2').css("display", "");
  684. $('.id_txtResponsible2_td1').css("display", "");
  685. $('.id_txtResponsible2_td2').css("display", "");
  686. }
  687. var selIdex = 0;
  688. for (var item of selList) {
  689. if (item == "") continue;
  690. var Url = getUrlByResId(item);
  691. if (Url != "") {
  692. try {
  693. if (selIdex == 0) {
  694. mini.get("txtResponsibleUser1").setUrl(Url);
  695. }
  696. else if (selIdex == 1) {
  697. mini.get("txtResponsibleUser2").setUrl(Url);
  698. }
  699. } catch (e) { }
  700. }
  701. selIdex++;
  702. }
  703. changeDuctPrice();
  704. }
  705. function getUrlByResId(rid) {
  706. if (rid == 1)//客服部
  707. return "../handler/sync.ashx?t=get_sel_customer";
  708. else if (rid == 2)//设计
  709. return "../handler/sync.ashx?t=get_sel_designer";
  710. else if (rid == 3)//下单
  711. return "../handler/sync.ashx?t=get_sel_place";
  712. else if (rid == 4)//售后
  713. return "../handler/sync.ashx?t=get_sel_aftersale";
  714. else if (rid == 5)//运营
  715. return "../handler/sync.ashx?t=get_sel_Operation";
  716. else if (rid == 6)//供应商
  717. return "../handler/sync.ashx?t=get_sel_supplier";
  718. else if (rid == 7)//物流
  719. return "../data/companies.txt";
  720. else if (rid == 9)//系统问题
  721. return "../data/system_responsible.txt";
  722. return "";
  723. }
  724. function getNameByResId(rid) {
  725. if (rid == 1)//客服部
  726. return "客服";
  727. else if (rid == 2)//设计
  728. return "设计师";
  729. else if (rid == 3)//下单
  730. return "下单员";
  731. else if (rid == 4)//售后
  732. return "售后";
  733. else if (rid == 5)//运营
  734. return "运营";
  735. else if (rid == 6)//供应商
  736. return "供应商";
  737. else if (rid == 7)//物流
  738. return "物流";
  739. else if (rid == 8)//客户问题
  740. return "客户问题";
  741. else if (rid == 9)//其他
  742. return "系统问题";
  743. return "";
  744. }
  745. function getIDByResName(rid) {
  746. if (rid == "客服")//客服部
  747. return 1;
  748. else if (rid == "设计师")//设计
  749. return 2;
  750. else if (rid == "下单员")//下单
  751. return 3;
  752. else if (rid == "售后")//售后
  753. return 4;
  754. else if (rid == "运营")//运营
  755. return 5;
  756. else if (rid == "供应商")//供应商
  757. return 6;
  758. else if (rid == "物流")//物流
  759. return 7;
  760. else if (rid == "客户问题")//客户问题
  761. return 8;
  762. else if (rid == "系统问题")//其他
  763. return 9;
  764. return "";
  765. }
  766. function getBackTagByResId(rid) {
  767. if (rid == 1)//客服部
  768. return "k";
  769. else if (rid == 2)//设计
  770. return "s";
  771. else if (rid == 3)//下单
  772. return "x";
  773. else if (rid == 4)//售后
  774. return "h";
  775. else if (rid == 5)//运营
  776. return "y";
  777. else if (rid == 6)//gongyignsh
  778. return "g";
  779. else if (rid == 7)//物流
  780. return "w";
  781. else if (rid == 9)//系统问题
  782. return "t";
  783. return "";
  784. }
  785. function endValueChangedFn(e) {
  786. _endValue = e.value;
  787. }
  788. function saveEndFn() {
  789. var parms = new Object();
  790. parms.ctid = edit_id;
  791. parms.stype = $("#endReason").val();
  792. postAjax("end_erp_aftersale", parms, function (data) {
  793. $("#endReason").val("");
  794. mini.get("end_win").hide();
  795. resultShow(data, "grid.reload();");
  796. });
  797. }
  798. function cancelEndFn() {
  799. mini.get("end_win").hide();
  800. }
  801. //点击不售后 终止售后终止
  802. function endFn(eid) {
  803. edit_id = eid;
  804. mini.get("end_win").show();
  805. //if (!confirm("该操作会将此单标记为不售后且流程结束,确认?")) return;
  806. //postAjax("end_erp_aftersale", "ctid=" + eid, function (data) {
  807. // resultShow(data, "grid.reload();");
  808. //});
  809. }
  810. function preFinishFn(eid) {
  811. edit_id = eid;
  812. if (!confirm("确认预完成发送给责任人审核吗?")) return;
  813. postAjax("ins_erp_toresponsible", "ctid=" + eid, function (data) {
  814. resultShow(data, "grid.reload();");
  815. });
  816. }
  817. //省份变动
  818. function changeProvinceFn(e) {
  819. var rec = e.selected;
  820. var v = e.value;
  821. var cityData = getSiteAddress(v);
  822. mini.get("#txtAddCity").setData(cityData);
  823. mini.get("#txtAddCounty").setData([]);
  824. }
  825. //市区变动
  826. function changeCityFn(e) {
  827. var rec = e.selected;
  828. var v = e.value;
  829. var countyData = getSiteAddress(v);
  830. mini.get("#txtAddCounty").setData(countyData);
  831. }
  832. //根据id获取联动地区
  833. function getSiteAddress(pID) {
  834. var newlist = [];
  835. site_address.forEach(function (aa, bb) {
  836. if (aa.TopID == pID) {
  837. newlist.push(aa)
  838. }
  839. })
  840. return newlist;
  841. }
  842. //reason1变动
  843. function setRefundType(name) {
  844. let html = `<option value="">--请选择--</option>`;
  845. if (name == '车间责任') {
  846. html += `<option value="退差价">退差价</option>
  847. <option value="退款">退款</option>
  848. <option value="正常损耗">正常损耗</option>`;
  849. }
  850. if (name == '设计责任' || name == '客服责任' || name == '下单责任' || name == '运营责任' || name == '售后责任') {
  851. html += `<option value="无需扣款">无需扣款</option>
  852. <option value="扣款金额" selected>扣款金额</option>`;
  853. }
  854. if (name == '快递责任') {
  855. html += `<option value="理赔">理赔</option>
  856. <option value="不理赔">不理赔</option>`;
  857. }
  858. if (name == '标错') {
  859. html += `<option value="无需扣款">无需扣款</option>`;
  860. }
  861. if (name == '差评' || name == '投诉') {
  862. html += `<option value="扣款金额" selected>扣款金额</option>
  863. <option value="无需扣款">无需扣款</option>
  864. <option value="退款">退款</option>
  865. <option value="退差价">退差价</option>
  866. <option value="正常损耗">正常损耗</option>
  867. <option value="不售后">不售后</option>
  868. <option value="理赔">理赔</option>
  869. <option value="不理赔">不理赔</option>`;
  870. }
  871. $("#txtRefundType").empty().append(html);
  872. }
  873. //reason2变动
  874. function getSiteReason(pID) {
  875. var newlist = [];
  876. site_reason.forEach(function (aa, bb) {
  877. if (aa.TopID == pID) {
  878. newlist.push(aa)
  879. }
  880. })
  881. return newlist;
  882. }
  883. function getGatherData() {
  884. var form = new mini.Form("#ctl00_f_all");
  885. var data = form.getData(true, false);
  886. var s = data;
  887. var parms = {
  888. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, design: s.design, customer: s.customer, orderState: s.state, reason: s.reason, method: s.method, handledate1: s.handledate1, handledate2: s.handledate2, afterSaleMemo: s.afterSaleMemo,
  889. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, address: s.address, afterstate: 1, seller_memo: s.memo, afterdate1: s.afterdate1, afterdate2: s.afterdate2, aftermemotype: s.aftermemotype, handler: s.handler, afterresult: s.afterresult
  890. }
  891. let gather = [];
  892. if (userPostCode == "AfterSaleMaster" || userPostCode == "SysAdmin") {
  893. $("#normon").hide();
  894. $("#master").show();
  895. //gather = ["Wait", "Handling", "reBack", "examEd", "waitExam", "puBack", "documentary"];
  896. gather = ["Wait", "Handling", "examEd", "reBack", "puBack", "documentary"];
  897. gather.forEach(item => {
  898. parms.gather_type = item;
  899. postAjax("get_erp_aftersale_pregather", parms, function (data) {
  900. if (item == "Wait") {
  901. $("#master_waitHandle").html("(未处理:" + (data.Wait == "" ? "0" : data.Wait) + ")");
  902. }
  903. if (item == "Handling") {
  904. $("#master_Handling").html("(处理中:" + (data.Handling == "" ? "0" : data.Handling) + ")");
  905. }
  906. if (item == "reBack") {
  907. $("#id_reMBack").html("(被打回:" + (data.reBack == "" ? "0" : data.reBack) + ")");
  908. }
  909. if (item == "examEd") {
  910. $("#id_examEd").html("(已审核:" + (data.examEd == "" ? "0" : data.examEd) + ")");
  911. }
  912. if (item == "waitExam") {
  913. $("#id_waitExam").html("(待审核:" + (data.waitExam == "" ? "0" : data.waitExam) + ")");
  914. }
  915. if (item == "puBack") {
  916. $("#id_puBack").html("(打回:" + (data.puBack == "" ? "0" : data.puBack) + ")");
  917. }
  918. if (item == "documentary") {
  919. $("#master_documentary").html("(跟单:" + (data.documentary == "" ? "0" : data.documentary) + ")");
  920. }
  921. }, null, false);
  922. })
  923. } else {
  924. $("#master").hide();
  925. $("#normon").show();
  926. gather = ["Wait", "Handling", "back", "preCompletion", "documentary", "reBack"];
  927. gather.forEach(item => {
  928. parms.gather_type = item;
  929. postAjax("get_erp_aftersale_pregather", parms, function (data) {
  930. if (item == "Wait") {
  931. $("#id_waitHandle").html("(未处理:" + (data.Wait == "" ? "0" : data.Wait) + ")");
  932. }
  933. if (item == "reBack") {
  934. $("#id_reBack").html("(被打回:" + (data.reBack == "" ? "0" : data.reBack) + ")");
  935. }
  936. if (item == "Handling") {
  937. $("#id_Handling").html("(处理中:" + (data.Handling == "" ? "0" : data.Handling) + ")");
  938. }
  939. if (item == "back") {
  940. $("#id_back").html("(打回:" + (data.back == "" ? "0" : data.back) + ")");
  941. }
  942. if (item == "preCompletion") {
  943. $("#id_reviewed").html("(预完成:" + (data.preCompletion && data.preCompletion == "" ? "0" : data.preCompletion) + ")");
  944. }
  945. if (item == "documentary") {
  946. $("#id_documentary").html("(跟单:" + (data.documentary == "" ? "0" : data.documentary) + ")");
  947. }
  948. }, null, false);
  949. })
  950. }
  951. }
  952. function searchWaitFn() {
  953. var form = new mini.Form("#ctl00_f_all");
  954. var data = form.getData(true, false);
  955. var s = data;
  956. grid.load({
  957. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, design: s.design, customer: s.customer, orderState: s.state, reason: s.reason, method: s.method, handledate1: s.handledate1, handledate2: s.handledate2, afterSaleMemo: s.afterSaleMemo,
  958. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, address: s.address, afterstate: 1, seller_memo: s.memo, afterdate1: s.afterdate1, afterdate2: s.afterdate2, aftermemotype: s.aftermemotype, handler: s.handler, searchType: "wait", afterresult: s.afterresult
  959. });
  960. }
  961. function searchDocumentaryFn() {
  962. var form = new mini.Form("#ctl00_f_all");
  963. var data = form.getData(true, false);
  964. var s = data;
  965. grid.load({
  966. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, design: s.design, customer: s.customer, orderState: s.state, reason: s.reason, method: s.method, handledate1: s.handledate1, handledate2: s.handledate2, afterSaleMemo: s.afterSaleMemo,
  967. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, address: s.address, afterstate: 1, seller_memo: s.memo, afterdate1: s.afterdate1, afterdate2: s.afterdate2, aftermemotype: s.aftermemotype, handler: s.handler, searchType: "documentary", afterresult: s.afterresult
  968. });
  969. }
  970. function searchHandlingFn() {
  971. var form = new mini.Form("#ctl00_f_all");
  972. var data = form.getData(true, false);
  973. var s = data;
  974. grid.load({
  975. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, design: s.design, customer: s.customer, orderState: s.state, reason: s.reason, method: s.method, handledate1: s.handledate1, handledate2: s.handledate2, afterSaleMemo: s.afterSaleMemo,
  976. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, address: s.address, afterstate: 1, seller_memo: s.memo, afterdate1: s.afterdate1, afterdate2: s.afterdate2, aftermemotype: s.aftermemotype, handler: s.handler, searchType: "handling", afterresult: s.afterresult
  977. });
  978. }
  979. function searchBackFn() {
  980. var form = new mini.Form("#ctl00_f_all");
  981. var data = form.getData(true, false);
  982. var s = data;
  983. grid.load({
  984. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, design: s.design, customer: s.customer, orderState: s.state, reason: s.reason, method: s.method, handledate1: s.handledate1, handledate2: s.handledate2, afterSaleMemo: s.afterSaleMemo,
  985. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, address: s.address, afterstate: 1, seller_memo: s.memo, afterdate1: s.afterdate1, afterdate2: s.afterdate2, aftermemotype: s.aftermemotype, handler: s.handler, searchType: "back", afterresult: s.afterresult
  986. });
  987. }
  988. function searchReviewedFn() {
  989. var form = new mini.Form("#ctl00_f_all");
  990. var data = form.getData(true, false);
  991. var s = data;
  992. grid.load({
  993. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, design: s.design, customer: s.customer, orderState: s.state, reason: s.reason, method: s.method, handledate1: s.handledate1, handledate2: s.handledate2, afterSaleMemo: s.afterSaleMemo,
  994. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, address: s.address, afterstate: 2, seller_memo: s.memo, afterdate1: s.afterdate1, afterdate2: s.afterdate2, aftermemotype: s.aftermemotype, handler: s.handler, afterresult: s.afterresult
  995. });
  996. }
  997. function searchReBackFn() {
  998. var form = new mini.Form("#ctl00_f_all");
  999. var data = form.getData(true, false);
  1000. var s = data;
  1001. grid.load({
  1002. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, design: s.design, customer: s.customer, orderState: s.state, reason: s.reason, method: s.method, handledate1: s.handledate1, handledate2: s.handledate2, afterSaleMemo: s.afterSaleMemo,
  1003. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, address: s.address, afterstate: 1, seller_memo: s.memo, afterdate1: s.afterdate1, afterdate2: s.afterdate2, aftermemotype: s.aftermemotype, handler: s.handler, searchType: "reBack", afterresult: s.afterresult
  1004. });
  1005. }
  1006. function searchExamEdFn() {
  1007. var form = new mini.Form("#ctl00_f_all");
  1008. var data = form.getData(true, false);
  1009. var s = data;
  1010. grid.load({
  1011. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, design: s.design, customer: s.customer, orderState: s.state, reason: s.reason, method: s.method, handledate1: s.handledate1, handledate2: s.handledate2, afterSaleMemo: s.afterSaleMemo,
  1012. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, address: s.address, afterstate: 3, seller_memo: s.memo, afterdate1: s.afterdate1, afterdate2: s.afterdate2, aftermemotype: s.aftermemotype, handler: s.handler, afterresult: s.afterresult
  1013. });
  1014. }
  1015. function searchWaitExamFn() {
  1016. var form = new mini.Form("#ctl00_f_all");
  1017. var data = form.getData(true, false);
  1018. var s = data;
  1019. grid.load({
  1020. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, design: s.design, customer: s.customer, orderState: s.state, reason: s.reason, method: s.method, handledate1: s.handledate1, handledate2: s.handledate2, afterSaleMemo: s.afterSaleMemo,
  1021. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, address: s.address, afterstate: 2, seller_memo: s.memo, afterdate1: s.afterdate1, afterdate2: s.afterdate2, aftermemotype: s.aftermemotype, handler: s.handler, afterresult: s.afterresult
  1022. });
  1023. }
  1024. function searchPuBackFn() {
  1025. var form = new mini.Form("#ctl00_f_all");
  1026. var data = form.getData(true, false);
  1027. var s = data;
  1028. grid.load({
  1029. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, design: s.design, customer: s.customer, orderState: s.state, reason: s.reason, method: s.method, handledate1: s.handledate1, handledate2: s.handledate2, afterSaleMemo: s.afterSaleMemo,
  1030. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, address: s.address, afterstate: 1, seller_memo: s.memo, afterdate1: s.afterdate1, afterdate2: s.afterdate2, aftermemotype: s.aftermemotype, handler: s.handler, searchType: "puBack", afterresult: s.afterresult
  1031. });
  1032. }
  1033. //查询按钮
  1034. function searchFn() {
  1035. var form = new mini.Form("#ctl00_f_all");
  1036. var data = form.getData(true, false);
  1037. var s = data;
  1038. //var s = mini.encode(data);
  1039. //alert(s);
  1040. //form.setIsValid(false);
  1041. //console.log("565656565", data);
  1042. grid.load({
  1043. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, design: s.design, customer: s.customer, orderState: s.state, reason: s.reason, method: s.method, handledate1: s.handledate1, handledate2: s.handledate2, supplier: s.supplier, afterSaleMemo: s.afterSaleMemo,
  1044. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, address: s.address, afterstate: s.afterstate, seller_memo: s.memo, afterdate1: s.afterdate1, afterdate2: s.afterdate2, aftermemotype: s.aftermemotype, handler: s.handler, afterresult: s.afterresult
  1045. });
  1046. getGatherData();
  1047. }
  1048. //清除查询内容
  1049. function clearFn() {
  1050. //$("#ctl00_f_all").find("input").val("");
  1051. var form = new mini.Form("#ctl00_f_all");
  1052. form.clear();
  1053. }
  1054. function newPageSearchFn() {
  1055. var form = new mini.Form("#ctl00_f_all");
  1056. var data = form.getData(true, false);
  1057. var s = data;
  1058. var sData = JSON.stringify(data);
  1059. var sendData = "sData=" + sData;
  1060. if (parent != null) parent.openNewSearchTab("处理中售后", "EAfterSale/Handling.aspx", sendData);
  1061. }
  1062. function refundTypeSelFn() {
  1063. var tValue = $("#txtRefundType").val();
  1064. if (tValue == "退差价" || tValue == "退全款") {
  1065. $('#id_Deduct_td1').css("display", "");
  1066. $('#id_Deduct_td2').css("display", "");
  1067. }
  1068. else {
  1069. $('#id_Deduct_td1').css("display", "none");
  1070. $('#id_Deduct_td2').css("display", "none");
  1071. }
  1072. changeDuctPrice();
  1073. if (tValue == '无需扣款' || tValue == '不理赔' || tValue == '不售后') {
  1074. $("#txtRefund1").val("0");
  1075. }
  1076. }
  1077. var s_uploader = null;
  1078. $(function () {
  1079. if (openPageData != "") {
  1080. var s = openPageData;
  1081. grid.load({
  1082. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, design: s.design, customer: s.customer, orderState: s.state, reason: s.reason, method: s.method, finishtime: s.finishtime, afterSaleMemo: s.afterSaleMemo,
  1083. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, address: s.address, seller_memo: s.memo, afterdate1: s.afterdate1, afterdate2: s.afterdate2, aftermemotype: s.aftermemotype, afterresult: s.afterresult
  1084. });
  1085. var form = new mini.Form("#ctl00_f_all");
  1086. if (form != undefined && form != null) {
  1087. form.setData(s);
  1088. }
  1089. //$("#ic_chkNewPageSearch")[0].checked = true;
  1090. }
  1091. s_uploader = $('#ssi-upload').ssi_uploader({
  1092. url: uploadUrl, maxNumberOfFiles: 6, preview: false,
  1093. dropZone: false, maxFileSize: 10, allowed: ['jpg', 'gif', 'jpeg', 'png'],
  1094. onEachUpload: function (fileInfo) {
  1095. if (fileInfo == undefined || fileInfo == null) { alert("上传发生错误!"); }
  1096. if (fileInfo.result.res == "1") {
  1097. $("#hImg").val(fileInfo.result.msg);
  1098. $("#preview_img").attr("src", viewUrl + "/" + fileInfo.result.msg);
  1099. }
  1100. },
  1101. onUpload: function (obj) {
  1102. upCount = obj.successfulUpload;
  1103. }
  1104. });
  1105. getGatherData();
  1106. $("#txtRefund").on('input', function () {
  1107. $("#txtRefund1").val($(this).val())
  1108. })
  1109. $("#diffResultPrice").on("input", function () {
  1110. changeDuctPrice();
  1111. })
  1112. $("#isBad").change(function () {
  1113. changeDuctPrice();
  1114. })
  1115. let txtToState = document.getElementById("txtToState");
  1116. txtToState.addEventListener("change", function (e) {
  1117. let selectedOptions = txtToState.querySelectorAll('option:checked');
  1118. if (selectedOptions) {
  1119. let value = selectedOptions[0].innerHTML;
  1120. $("#isOriginalLayout").hide()
  1121. if (value == "设计师") {
  1122. $("#isOriginalLayout").show()
  1123. }
  1124. }
  1125. })
  1126. });
  1127. function changeDuctPrice() {
  1128. let txtResponsibleView = mini.get("txtResponsibleView").value;
  1129. let view = txtResponsibleView.split(",");
  1130. var handleRes = mini.get("txtResult").getText();
  1131. let selIdex = 0;
  1132. for (var item of view) {
  1133. let price = 0;
  1134. let price2 = 0;
  1135. let txtReason1 = mini.get("txtReason1").getText();
  1136. let txtReason2 = mini.get("txtReason2").getText();
  1137. let txtReason3 = mini.get("txtReason3").getText();
  1138. let isUnAfter = false;
  1139. if ((txtReason1 == "客户问题" || txtReason1 == "系统问题") && txtReason2 == "无需售后") {
  1140. isUnAfter = true;
  1141. }
  1142. //客服
  1143. if (item == 1) {
  1144. price2 = price = Number(tradeCellPaymant * 0.2).toFixed(2);
  1145. if (view.length > 1) {
  1146. //price = Number(tradeCellPaymant * 0.1).toFixed(2);
  1147. }
  1148. let txtResult = mini.get("txtResult").getText();
  1149. if (txtResult == "退差价" || txtResult == "退差价+包邮顺丰") {
  1150. price = Math.min($("#diffResultPrice").val(), price2);
  1151. }
  1152. if (txtReason2 == "标错" || isUnAfter) {
  1153. price = 0;
  1154. }
  1155. let isBad = $("#isBad").is(":checked");
  1156. if (isBad) {
  1157. price = 100;
  1158. }
  1159. let isComplain = $("#isComplain option:selected").val();
  1160. if (isComplain == 1) {
  1161. price = 200;
  1162. if (isBad) {
  1163. price += 100;
  1164. }
  1165. }
  1166. if (isComplain == 2) {
  1167. price = 100;
  1168. if (isBad) {
  1169. price += 100;
  1170. }
  1171. }
  1172. //另加5元
  1173. if (txtReason1 == "客服原因" && txtReason3 == "未及时跟单" && handleRes != "催发货/改快递/改地址") {
  1174. price = Number(price) + 5;
  1175. }
  1176. }
  1177. //设计师
  1178. if (item == 2) {
  1179. price = 20;
  1180. if (tradeCellPaymant >= 500 && tradeCellPaymant < 1000) {
  1181. price = 50.00;
  1182. } else if (tradeCellPaymant >= 1000) {
  1183. price = 100.00;
  1184. }
  1185. if (txtReason2 == "标错" || isUnAfter) {
  1186. price = 0;
  1187. }
  1188. let isBad = $("#isBad").is(":checked");
  1189. if (isBad) {
  1190. price = 100;
  1191. }
  1192. let isComplain = $("#isComplain option:selected").val();
  1193. if (isComplain == 1) {
  1194. price = 200;
  1195. if (isBad) {
  1196. price += 100;
  1197. }
  1198. }
  1199. if (isComplain == 2) {
  1200. price = 100;
  1201. if (isBad) {
  1202. price += 100;
  1203. }
  1204. }
  1205. if (txtReason1 == "设计问题" && txtReason3 == "未及时跟单" && handleRes != "催发货/改快递/改地址") {
  1206. price = Number(price) + 5;
  1207. }
  1208. }
  1209. if (selIdex == 0) {
  1210. $("#txtRefund1").val(price);
  1211. }
  1212. else if (selIdex == 1) {
  1213. $("#txtRefund2").val(price);
  1214. }
  1215. selIdex++;
  1216. }
  1217. }
  1218. function changeComplain() {
  1219. changeDuctPrice();
  1220. }
  1221. function changeReason1Fn(e) {
  1222. var rec = e.selected;
  1223. var v = e.value;
  1224. setReason1Value(v, rec.AddName);
  1225. changeDuctPrice();
  1226. }
  1227. function setReason1Value(v, AddName) {
  1228. var reasonData = getSiteReason(v);
  1229. mini.get("#txtReason2").setData(reasonData);
  1230. mini.get("#txtReason2").setText("");
  1231. mini.get("#txtReason2").setValue(0);
  1232. mini.get("#txtReason3").setData([]);
  1233. mini.get("#txtReason4").setData([]);
  1234. setRefundType(AddName);
  1235. changeDuctPrice();
  1236. }
  1237. function changeReason2Fn(e) {
  1238. var rec = e.selected;
  1239. var v = e.value;
  1240. var reasonData = getSiteReason(v);
  1241. mini.get("#txtReason3").setData(reasonData);
  1242. mini.get("#txtReason3").setText("");
  1243. mini.get("#txtReason3").setValue(0);
  1244. mini.get("#txtReason4").setData([]);
  1245. changeDuctPrice();
  1246. }
  1247. function changeReason3Fn(e) {
  1248. var rec = e.selected;
  1249. var v = e.value;
  1250. var reasonData = getSiteReason(v);
  1251. mini.get("#txtReason4").setData(reasonData);
  1252. changeDuctPrice();
  1253. setLastMiniComBo()
  1254. }
  1255. function changeReason4Fn(e) {
  1256. var v = e.value;
  1257. $("#txtInputReason").hide();
  1258. showTxtInputReason();
  1259. changeDuctPrice();
  1260. }
  1261. function view_search() {
  1262. var key = "";
  1263. if ($("#txtKey").length > 0) {
  1264. key = $("#txtKey").val();
  1265. }
  1266. grid.load({ key: key, type: $("#txtSearchType").val() });
  1267. }
  1268. function getSupplierReason(pID) {
  1269. var newlist = [];
  1270. supplier_reason.forEach(function (aa, bb) {
  1271. if (aa.TopID == pID) {
  1272. newlist.push(aa)
  1273. }
  1274. })
  1275. return newlist;
  1276. }
  1277. function changeSupplierReason1Fn(e) {
  1278. var rec = e.selected;
  1279. var v = e.value;
  1280. var reasonData = getSupplierReason(v);
  1281. mini.get("#txtSupplierReason2").setData(reasonData);
  1282. mini.get("#txtSupplierReason3").setData([]);
  1283. mini.get("#txtSupplierReason4").setData([]);
  1284. }
  1285. function changeSupplierReason2Fn(e) {
  1286. var rec = e.selected;
  1287. var v = e.value;
  1288. var reasonData = getSupplierReason(v);
  1289. mini.get("#txtSupplierReason3").setData(reasonData);
  1290. mini.get("#txtSupplierReason4").setData([]);
  1291. }
  1292. function changeSupplierReason3Fn(e) {
  1293. var rec = e.selected;
  1294. var v = e.value;
  1295. var reasonData = getSupplierReason(v);
  1296. mini.get("#txtSupplierReason4").setData(reasonData);
  1297. }
  1298. function changeSupplierReason4Fn(e) {
  1299. var rec = e.selected;
  1300. var v = e.value;
  1301. }
  1302. function showTxtInputReason() {
  1303. let text = mini.get("txtReason4").getText();
  1304. $("#txtInputReason").hide();
  1305. if (mini.get("txtReason1").getText() == "车间责任" && (text == "少款数" || text == "少数量" || text == "漏发" || text == "少发(包含产品多做配件少发)")) {
  1306. $("#txtInputReason").val("");
  1307. $("#txtInputReason").show();
  1308. }
  1309. }
  1310. function setLastMiniComBo() {
  1311. let combo = mini.get("txtReason4")
  1312. let text1 = mini.get("txtReason1").getText();
  1313. let text2 = mini.get("txtReason2").getText();
  1314. let text3 = mini.get("txtReason3").getText();
  1315. let valuefromselect = true;
  1316. if (text1 == "客户问题" && text2 == "信息不全" && text3 == "无照片反馈问题") {
  1317. valuefromselect = false;
  1318. }
  1319. combo.set({
  1320. valueFromSelect: valuefromselect,
  1321. })
  1322. }