SupplierVerify.js 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500
  1. var exData = null;
  2. var edit_id = "";
  3. var _memo_msg = "";
  4. var userPostCode = "";
  5. function addFn() {
  6. edit_id = "";
  7. $(".win_tb").find("input").val("");
  8. $(".win_tb").find("textarea").val("");
  9. mini.get("add_win").show();
  10. }
  11. function orderIdRenderer(e) {
  12. var grid = e.sender;
  13. var record = e.record;
  14. var tid = record.tid;
  15. var rowIndex = e.rowIndex;
  16. var html = "";
  17. html += "<a href=\"javascript:void(0)\" onclick=\"clickToDetail('" + tid + "','" + tid + "')\">" + tid + "</a>&nbsp;&nbsp;";
  18. //html+="<div style='position:absolute;bottom:3px;right:5px;'>"
  19. if (record.IsUrgency == "True") {
  20. html += "<span class=\"word_tui\" title=\"加急\">急</span>";
  21. }
  22. if (record.IsRefund > 0) {
  23. html += "<span class=\"word_tui bc_tui\">退</span>";
  24. }
  25. if (record.IsReturn > 0) {
  26. html += "<span class=\"word_tui\">回</span>";
  27. }
  28. if (record.AfterSaleState > 0) {
  29. html += "<span class=\"word_tui word_shou\" title\"售后\">售</span>";
  30. }
  31. if (record.IsNeedBill == 1) {
  32. html += "<span class=\"word_tui word_piao\">票</span>";
  33. }
  34. else if (record.IsNeedBill == 2) {//冲票
  35. html += "<span class=\"word_tui word_green\">票</span>";
  36. }
  37. if (record.wechatTag == 1) {
  38. html += "<span class=\"word_tui word_green\">微</span>";
  39. }
  40. //html += "</div>";
  41. return html;
  42. }
  43. function orderPTimeRenderer(e) {
  44. var grid = e.sender;
  45. var record = e.record;
  46. var html = "<div style=\"display:flex;flex-direction:column;\">";
  47. if (userPostCode != "Supplier") {
  48. html += ("<div>" + record.seller_nick + "</div>");
  49. html += getWWurlByNick(record.buyer_nick);
  50. }
  51. html += ("<div>" + formatCommonDate(record.pay_time) + "</div>");
  52. html += "</div>";
  53. return html;
  54. }
  55. function methodRenderer(e) {
  56. var record = e.record;
  57. var md = record.AfterSaleMethod;
  58. md = md.replace("&lt;", "<");
  59. md = md.replace("&gt;", ">");
  60. var html = "<div style=\"display:flex;flex-direction:column;\">";
  61. html += ("<div>" + md + "</div>");
  62. html += "</div>";
  63. return html;
  64. }
  65. function orderStatusRenderer(e) {
  66. var grid = e.sender;
  67. var record = e.record;
  68. var tid = record.tid;
  69. var rowIndex = e.rowIndex;
  70. var statestr = getOrderStatestrByState(record.OrderState);
  71. var html = "<div style=\"display:flex;flex-direction:column;\">";
  72. html += ("<div onclick=\"clickToLog('" + record.ctid + "')\" style=\"color:blue;margin-bottom:10px;\">" + statestr + "</div>");
  73. var taostatus = getInitStatusstrByState(record.status);
  74. html += ("<div>" + taostatus + "</div>");
  75. html += "</div>";
  76. return html;
  77. }
  78. function payRenderer(e) {
  79. var grid = e.sender;
  80. var record = e.record;
  81. var tid = record.tid;
  82. var rowIndex = e.rowIndex;
  83. var statestr = getOrderStatestrByState(record.OrderState);
  84. var html = "<div style=\"display:flex;flex-direction:column;\">";
  85. if (userPostCode != "Supplier") {
  86. html += ("<div>订单:" + record.AfterSalePayment + "</div>");
  87. html += ("<div>退款:" + record.DeductFee + "</div>");
  88. html += ("<div>扣款:" + record.RefundFee + "</div>");
  89. } else {
  90. //html += ("<div>扣款:" + record.RefundFee + "</div>");
  91. }
  92. html += "</div>";
  93. return html;
  94. }
  95. function handTimeRenderer(e) {
  96. var grid = e.sender;
  97. var record = e.record;
  98. var html = "<div>";
  99. html += ("<div>" + formatCommonDate(record.HandleTime) + "</div>");
  100. html += "</div>";
  101. return html;
  102. }
  103. function ImgRenderer(e) {
  104. var record = e.record;
  105. var html = "<div style=\"display:flex;flex-direction:row;\">";
  106. if (record.AfterSaleSupplierImg.length > 0) {
  107. var imglist = record.AfterSaleSupplierImg.split(",");
  108. for (var img of imglist) {
  109. html += ("<img style=\"width: 30px; height: 25px; \" onclick=\"largeImage(this)\" src=\"" + viewUrl + "/" + img + "\"/> ");
  110. }
  111. //html += ("<img style=\"width: 30px; height: 25px; \" onclick=\"largeImage(this)\" src=\"" + viewUrl + "/" + record.AfterSaleSupplierImg + "\"/> ");
  112. }
  113. html += "</div>";
  114. return html;
  115. }
  116. function largeImage(that) {
  117. var large_image = '<img src= ' + $(that).attr("src") + '></img>';
  118. $('.image_large').html($(large_image).css({
  119. display: "block",
  120. height: '60%',
  121. //width: '40%',
  122. position: "absolute",
  123. left: "50%",
  124. top: "50%",
  125. transform: "translate(-50%,-50%)",
  126. }, 500));
  127. $('.image_large').css("display", "block");
  128. }
  129. function hideImage(that) {
  130. $(that).css("display", "none");
  131. }
  132. function orderCusRenderer(e) {
  133. var grid = e.sender;
  134. var record = e.record;
  135. var tid = record.tid;
  136. var rowIndex = e.rowIndex;
  137. var html = getDDurlByPhone(record.CustomerMobile, record.CustomerTb);
  138. return html;
  139. }
  140. function designRenderer(e) {
  141. var grid = e.sender;
  142. var record = e.record;
  143. var tid = record.tid;
  144. var rowIndex = e.rowIndex;
  145. var html = getDDurlByPhone(record.DesignMobile, record.DesignUserName);
  146. return html;
  147. }
  148. function supplierStateRenderer(e) {
  149. var record = e.record;
  150. var html = "";
  151. if (record.AfterSaleSupplierState == 0) {
  152. html += ("<div>待审核</div>");
  153. }
  154. else if (record.AfterSaleSupplierState == 1) {
  155. html += ("<div style=\"color:green;\">已认可</div>");
  156. }
  157. else if (record.AfterSaleSupplierState == 2) {
  158. html += ("<div style=\"color:red;\">不认可</div>");
  159. }
  160. return html;
  161. }
  162. function addressRenderer(e) {
  163. var grid = e.sender;
  164. var record = e.record;
  165. var tid = record.tid;
  166. var rowIndex = e.rowIndex;
  167. var html = "<div>" + record.receiver_name + " " + record.receiver_mobile + " " + record.receiver_state + record.receiver_city + record.receiver_district + record.receiver_address + "</div>";
  168. return html;
  169. }
  170. function actionRenderer(e) {
  171. var grid = e.sender;
  172. var record = e.record;
  173. var ctid = record.ctid;
  174. var html = "";
  175. if (record.AfterSaleSupplierState == 0) {
  176. html += getGridBtn("sc", "认可", "verifyYes('" + ctid + "')");
  177. html += getGridBtn("sc", "不认可", "verifyNo('" + ctid + "')");
  178. }
  179. else if (record.AfterSaleSupplierState == 2) {
  180. html += ("<div>原因:" + record.AfterSaleSupplierMemo + "</div>");
  181. }
  182. return html;
  183. }
  184. function verifyYes(ctid) {
  185. if (!confirm("确认认可吗?")) return;
  186. var parms = new Object();
  187. parms.afterstate = 1;
  188. parms.ctid = ctid;
  189. postAjax("upd_erp_supverifyaftersale", parms, function (data) {
  190. resultShow(data, "grid.reload();");
  191. });
  192. }
  193. function verifyNo(ctid) {
  194. mini.prompt("请输入说明:", "说明",
  195. function (action, value) {
  196. if (action == "ok") {
  197. var parms = new Object();
  198. parms.afterstate = 2;
  199. parms.ctid = ctid;
  200. parms.supmemo = value;
  201. postAjax("upd_erp_supverifyaftersale", parms, function (data) {
  202. resultShow(data, "grid.reload();");
  203. });
  204. } else {
  205. }
  206. },
  207. true
  208. );
  209. }
  210. function arbitrateFn(eid) {
  211. edit_id = eid;
  212. if (!confirm("确认需要申请仲裁吗?")) return;
  213. postAjax("upd_erp_arbitrateaftersale", "id=" + eid, function (data) {
  214. resultShow(data, "grid.reload();");
  215. });
  216. }
  217. function backFn() {
  218. //if (!confirm("确认退回到售后中吗?")) return;
  219. //postAjax("upd_erp_backaftersale", "tid=" + eid, function (data) {
  220. // resultShow(data, "grid.reload();");
  221. //});
  222. var rec = grid.getSelected();
  223. if (rec == undefined || rec == "") {
  224. mini.alert("请选中一行记录!");
  225. return;
  226. }
  227. mini.prompt("请输入原因:", "退单",
  228. function (action, value) {
  229. if (action == "ok") {
  230. var parms = new Object();
  231. parms.tid = rec.tid;
  232. parms.backreason = value;
  233. postAjax("upd_erp_backaftersale", parms, function (data) {
  234. resultShow(data, "grid.reload();");
  235. });
  236. } else {
  237. }
  238. },
  239. true
  240. );
  241. }
  242. //处理按钮=弹窗
  243. function handleFn(eid) {
  244. edit_id = eid;
  245. var rec = grid.getSelected();
  246. mini.get("handle_win").show();
  247. $("#handle_win").find("input").val("");
  248. $("#handle_win").find("textarea").val("");
  249. $("#chkState")[0].checked = false;
  250. $("#chkbuyer")[0].checked = false;
  251. $("#chkother")[0].checked = false;
  252. selItemSelected($("#txtToState")[0], "请选择");
  253. var ohtml = ("<div>" + rec.tid + "</div>" + "<div class='marginleft20'>" + rec.seller_nick + "</div>" + "<div class='marginleft20'>¥" + rec.payment + "</div>");
  254. 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 >");
  255. ohtml += ww;
  256. $("#txtTid").html(ohtml);
  257. //var province = [];
  258. //for (var item of site_address) {
  259. // if (item.TopID == 0) {
  260. // province.push(item);
  261. // }
  262. //}
  263. //$("#txtReceiver").val(rec.receiver_name);
  264. //$("#txtPhone").val(rec.receiver_mobile);
  265. //mini.get("txtAddProvince").setData(province);
  266. //mini.get("txtAddProvince").setText(rec.receiver_state);
  267. //mini.get("txtAddCity").setText(rec.receiver_city);
  268. //mini.get("txtAddCounty").setText(rec.receiver_district);
  269. //var adddetail = rec.receiver_address;
  270. //if (adddetail != "") adddetail = adddetail.replace(/&lt;br&gt;/g, "\n");
  271. //$("#txtAddDetailAddress").val(adddetail);
  272. var resmanid = rec.ResponsibleUserId;
  273. var respmanIdArr = resmanid.split(",");
  274. if (respmanIdArr.length > 0) {
  275. for (var item of respmanIdArr) {
  276. var itemarr = item.split("_");
  277. if (itemarr[1] == "k") {
  278. mini.get("txtCustomer").setValue(itemarr[0]);
  279. }
  280. else if (itemarr[1] == "s") {
  281. mini.get("txtDesign").setValue(itemarr[0]);
  282. }
  283. else if (itemarr[1] == "x") {
  284. mini.get("txtPlace").setValue(itemarr[0]);
  285. }
  286. else if (itemarr[0] == "客户问题") {
  287. $("#chkbuyer")[0].checked = true;
  288. }
  289. else if (itemarr[0] == "其它") {
  290. $("#chkother")[0].checked = true;
  291. }
  292. }
  293. }
  294. var resmanStr = rec.AfterSaleResponsible;
  295. var respStrArr = resmanStr.split(",");
  296. if (respStrArr.length > 0) {
  297. for (var item of respStrArr) {
  298. var itemarr = item.split(":");
  299. if (itemarr[0] == "供应商") {
  300. mini.get("txtSupplier").setText(itemarr[1]);
  301. }
  302. else if (itemarr[0] == "物流") {
  303. mini.get("txtComName").setText(itemarr[1]);
  304. }
  305. else if (itemarr[0] == "运单号") {
  306. mini.get("txtOutSid").setText(itemarr[1]);
  307. }
  308. }
  309. }
  310. //mini.get("txtReason").setText(rec.AfterSaleReason);
  311. //selItemSelected($("#txtReason")[0], rec.AfterSaleReason);
  312. mini.get("txtReason").setText(rec.AfterSaleReason);
  313. if (rec.AfterSalePayment > 0) {
  314. $("#txtPayment").val(rec.AfterSalePayment);
  315. }
  316. else
  317. $("#txtPayment").val(rec.payment);
  318. $("#txtDeduct").val(rec.DeductFee);
  319. $("#txtRefund").val(rec.RefundFee);
  320. $("#txtMethod").val(rec.AfterSaleMethod);
  321. $("#txtAfterMemo").val(rec.AfterSaleMemo);
  322. }
  323. function cancelHandleFn() {
  324. mini.get("handle_win").hide();
  325. }
  326. function saveHandleFn() {
  327. var parms = new Object();
  328. parms.ctid = edit_id;
  329. var respl = "";
  330. var resplIds = "";
  331. var kf = mini.get("txtCustomer").getText();
  332. if (kf.length > 0) {
  333. respl += ("客服:" + kf + ",");
  334. resplIds += (mini.get("txtCustomer").getValue() + "_k");
  335. resplIds += ",";
  336. }
  337. var design = mini.get("txtDesign").getText();
  338. if (design.length > 0) {
  339. respl += ("设计师:" + design + ",");
  340. resplIds += (mini.get("txtDesign").getValue() + "_s");
  341. resplIds += ",";
  342. }
  343. var xd = mini.get("txtPlace").getText();
  344. if (xd.length > 0) {
  345. respl += ("下单员:" + xd + ",");
  346. resplIds += (mini.get("txtPlace").getValue() + "_x");
  347. resplIds += ",";
  348. }
  349. var gys = mini.get("txtSupplier").getText();
  350. if (gys.length > 0) {
  351. respl += ("供应商:" + gys + ",");
  352. }
  353. var wl = mini.get("txtComName").getText();
  354. if (wl.length > 0) {
  355. respl += ("物流:" + wl + ",");
  356. }
  357. var osid = $("#txtOutSid").val();
  358. if (osid.length > 0) {
  359. respl += ("运单号:" + osid + ",");
  360. }
  361. if ($("#chkbuyer")[0].checked) {
  362. respl += ("客户问题,");
  363. }
  364. if ($("#chkother")[0].checked) {
  365. respl += ("其它,");
  366. }
  367. respl = respl.substring(0, respl.length - 1);
  368. resplIds = resplIds.substring(0, resplIds.length - 1);
  369. parms.AfterSaleResponsible = respl;
  370. parms.ResponsibleUserId = resplIds;
  371. parms.AfterSaleReason = mini.get("txtReason").getText();
  372. parms.ToState = $("#txtToState").val();
  373. parms.AfterSalePayment = $("#txtPayment").val();
  374. parms.DeductFee = $("#txtDeduct").val();
  375. parms.RefundFee = $("#txtRefund").val();
  376. parms.AfterSaleMethod = $("#txtMethod").val();
  377. parms.AfterSaleMemo = $("#txtAfterMemo").val();
  378. parms.IsNewOrder = $("#chkState")[0].checked ? "1" : "0";
  379. if (parms.IsNewOrder == 1 && parms.ToState == "请选择") {
  380. mini.alert("勾选生成订单,要选择指派节点");
  381. return;
  382. }
  383. postAjax("handle_erp_aftersale", parms, function (data) {
  384. mini.get("handle_win").hide();
  385. resultShow(data, "grid.reload();");
  386. });
  387. }
  388. function finishFn(eid) {
  389. edit_id = eid;
  390. if (!confirm("确认完成审核吗?")) return;
  391. postAjax("ins_erp_finishaftersale", "id=" + eid, function (data) {
  392. resultShow(data, "grid.reload();");
  393. });
  394. }
  395. //省份变动
  396. function changeProvinceFn(e) {
  397. var rec = e.selected;
  398. var v = e.value;
  399. var cityData = getSiteAddress(v);
  400. mini.get("#txtAddCity").setData(cityData);
  401. mini.get("#txtAddCounty").setData([]);
  402. }
  403. //市区变动
  404. function changeCityFn(e) {
  405. var rec = e.selected;
  406. var v = e.value;
  407. var countyData = getSiteAddress(v);
  408. mini.get("#txtAddCounty").setData(countyData);
  409. }
  410. //根据id获取联动地区
  411. function getSiteAddress(pID) {
  412. var newlist = [];
  413. site_address.forEach(function (aa, bb) {
  414. if (aa.TopID == pID) {
  415. newlist.push(aa)
  416. }
  417. })
  418. return newlist;
  419. }
  420. //查询按钮
  421. function searchFn() {
  422. var form = new mini.Form("#ctl00_f_all");
  423. var data = form.getData(true, false);
  424. var s = data;
  425. //var s = mini.encode(data);
  426. //alert(s);
  427. //form.setIsValid(false);
  428. //console.log("565656565", data);
  429. grid.load({
  430. 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,
  431. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, address: s.address, seller_memo: s.memo, supplier: s.supplier, vstate: s.returnvstate, handler: s.handler
  432. });
  433. }
  434. //清除查询内容
  435. function clearFn() {
  436. //$("#ctl00_f_all").find("input").val("");
  437. var form = new mini.Form("#ctl00_f_all");
  438. form.clear();
  439. }
  440. function newPageSearchFn() {
  441. var form = new mini.Form("#ctl00_f_all");
  442. var data = form.getData(true, false);
  443. var s = data;
  444. var sData = JSON.stringify(data);
  445. var sendData = "sData=" + sData;
  446. if (parent != null) parent.openNewSearchTab("待审核售后", "EAfterSale/WaitingVerify.aspx", sendData);
  447. }
  448. $(function () {
  449. if (openPageData != "") {
  450. var s = openPageData;
  451. grid.load({
  452. 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,
  453. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, address: s.address, seller_memo: s.memo
  454. });
  455. var form = new mini.Form("#ctl00_f_all");
  456. if (form != undefined && form != null) {
  457. form.setData(s);
  458. }
  459. //$("#ic_chkNewPageSearch")[0].checked = true;
  460. }
  461. });
  462. function view_search() {
  463. var key = "";
  464. if ($("#txtKey").length > 0) {
  465. key = $("#txtKey").val();
  466. }
  467. grid.load({ key: key, type: $("#txtSearchType").val() });
  468. }