Handling.js 52 KB

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