Handling.js 51 KB

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