DesignList.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455
  1. var exData = null;
  2. var edit_id = "";
  3. var _memo_msg = "";
  4. var userPostCode = "";
  5. var userOrgId = "";
  6. function addFn() {
  7. edit_id = "";
  8. $(".win_tb").find("input").val("");
  9. $(".win_tb").find("textarea").val("");
  10. mini.get("add_win").show();
  11. }
  12. function buyerMobileRenderer(e) {
  13. var grid = e.sender;
  14. var record = e.record;
  15. var tid = record.tid;
  16. var rowIndex = e.rowIndex;
  17. var html = "<div style=\"display:flex;flex-direction:column;align-items:center;\">";
  18. html += "<div>" + record.receiver_mobile + "</div>";
  19. html += "<div><a class=\"a_def\" href=\"javascript:voiceNotifyFn('" + tid + "')\"><span class=\"icon-i icon-phone\"></span> <span>" + record.CallTimes + "</span></a>&nbsp;&nbsp;&nbsp;&nbsp;<a class=\"a_def\" href=\"javascript:smsNotifyFn('" + tid + "')\"><span class=\"icon-i icon-sms\"></span> <span>" + record.NoteTimes + "</span></a></div>";
  20. html += "</div>";
  21. return html;
  22. }
  23. function paymentRenderer(e) {
  24. var record = e.record;
  25. var html = "<div style=\"display:flex;flex-direction:column;\">";
  26. if (userPostCode == "wxDesigner" && userOrgId != 34) {
  27. html += ("<div>***</div>");
  28. }
  29. else {
  30. html += ("<div>" + record.payment + "</div>");
  31. }
  32. html += "</div>";
  33. return html;
  34. }
  35. function orderPTimeRenderer(e) {
  36. var grid = e.sender;
  37. var record = e.record;
  38. var tid = record.tid;
  39. var rowIndex = e.rowIndex;
  40. var html = "<div style=\"display:flex;flex-direction:column;\">";
  41. html += ("<div>" + record.seller_nick + "</div>");
  42. html += getWWurlByNick(record.buyer_nick);
  43. html += ("<div>" + formatCommonDate(record.pay_time) + "</div>");
  44. if (record.UrgencyTime != "") {
  45. html += ("<div style=\"color:red;\">急:" + formatCommonDate(record.UrgencyTime) + "</div>");
  46. }
  47. html += "</div>";
  48. return html;
  49. }
  50. function orderStatusRenderer(e) {
  51. var grid = e.sender;
  52. var record = e.record;
  53. var statestr = getOrderStatestrByState(record.OrderState);
  54. var html = "<div style=\"display:flex;flex-direction:column;\">";
  55. html += ("<div onclick=\"clickToLog('" + record.ctid + "')\" style=\"color:blue;margin-bottom:10px;\">" + statestr + "</div>");
  56. var taostatus = getInitStatusstrByState(record.status);
  57. html += ("<div>" + taostatus + "</div>");
  58. html += "</div>";
  59. return html;
  60. }
  61. function orderCusRenderer(e) {
  62. var grid = e.sender;
  63. var record = e.record;
  64. var ctid = record.ctid;
  65. var rowIndex = e.rowIndex;
  66. var html = "<div style=\"display:flex;flex-direction:column;align-items:center;\">";
  67. html += getDDurlByPhone(record.CustomerMobile, record.CustomerTb);
  68. html += getDDurlByPhone(record.DesignMobile, record.DesignUserName);
  69. if (record.MemoOpt == 1) {
  70. html += ("<a style=\"width:40px;color:#C97805;border:1px solid #C97805;\" onclick=\"clickResetOptFn()\">改稿</a>");
  71. }
  72. else if (record.MemoOpt == 2) {
  73. html += ("<a style=\"width:40px;color:#C97805;border:1px solid #C97805;\" onclick=\"clickResetOptFn()\">定稿</a>");
  74. }
  75. html += "</div>";
  76. return html;
  77. }
  78. function addressRenderer(e) {
  79. var grid = e.sender;
  80. var record = e.record;
  81. var tid = record.tid;
  82. var rowIndex = e.rowIndex;
  83. var html = "<div>" + record.receiver_name + " " + record.receiver_mobile + " " + record.receiver_state + record.receiver_city + record.receiver_district + record.receiver_address + "</div>";
  84. return html;
  85. }
  86. function actionRenderer(e) {
  87. var grid = e.sender;
  88. var record = e.record;
  89. var id = record.ctid;
  90. var rowIndex = e.rowIndex;
  91. var html = "";
  92. html += getGridBtn("edit", "备注", "memoFn('" + id + "')");
  93. html += getGridBtn("notify1", "加急", "urgencyFn('" + id + "')");
  94. html += getGridBtn("memo", "文件", "fileUrlFn('" + record.tid + "')");
  95. if (record.tempId) {
  96. html += getGridBtn("undo", "下载模板", "daownTempFile('" + record.tempId + "')");
  97. html += getGridBtn("undo", "查看模板图片", "viewTempImage('" + record.tempId + "')");
  98. }
  99. return html;
  100. }
  101. function viewTempImage(tempId) {
  102. let url = "https://template.lingtao8.com/template/api/getTemplate"
  103. if (!tempId) {
  104. showToast("无模板编号。无法查看!");
  105. }
  106. $.ajax({
  107. url: url,
  108. type: "POST",
  109. data: { templateCode: tempId },
  110. datatype: "jsonp",
  111. success: function (result) {
  112. if (result.code == 200) {
  113. let image = result?.data?.templateImagePath;
  114. const img = YYZIMG.show(image)
  115. }
  116. },
  117. error: function (data) {
  118. progressHide();
  119. alert("查无模板错误!");
  120. }
  121. });
  122. }
  123. function daownTempFile(tempId) {
  124. let url = "https://template.lingtao8.com/template/api/getTemplate"
  125. $.ajax({
  126. url: url,
  127. type: "POST",
  128. data: { templateCode: tempId },
  129. datatype: "json",
  130. success: function (result) {
  131. if (result.code == 200) {
  132. let file = result?.data?.templateDownUrl
  133. let templateName = result?.data?.templateName;
  134. if (file) {
  135. let a = document.createElement("a");
  136. a.href = file;
  137. a.download = templateName;
  138. a.click();
  139. }
  140. }
  141. progressHide();
  142. },
  143. error: function (data) {
  144. progressHide();
  145. alert("未找到模板!");
  146. }
  147. });
  148. }
  149. function onTagRefund(e) {
  150. var rec = grid.getSelected();
  151. edit_id = rec.ctid;
  152. var parms = new Object();
  153. parms.ctid = edit_id;
  154. parms.wechattag = 3;
  155. if (!confirm("确认标记为退款挽回单吗?")) return;
  156. postAjax("upd_erp_ordertag", parms, function (data) {
  157. resultShow(data, "grid.reload();");
  158. });
  159. }
  160. function onTagMore(e) {
  161. var rec = grid.getSelected();
  162. edit_id = rec.ctid;
  163. var parms = new Object();
  164. parms.ctid = edit_id;
  165. parms.wechattag = 4;
  166. if (!confirm("确认标记为微信推购单吗?")) return;
  167. postAjax("upd_erp_ordertag", parms, function (data) {
  168. resultShow(data, "grid.reload();");
  169. });
  170. }
  171. //点击改稿或者定稿重置状态
  172. function clickResetOptFn() {
  173. var rec = grid.getSelected();
  174. if (!confirm("确认已完成客服的留言?")) return;
  175. postAjax("reset_erp_memoopt", "ctid=" + rec.ctid, function (data) {
  176. resultShow(data, "grid.reload();");
  177. });
  178. }
  179. //备注按钮
  180. function memoFn(eid) {
  181. edit_id = eid;
  182. var rec = grid.getSelected();
  183. var mm = rec.seller_memo;
  184. if (mm != "") mm = mm.replace(/&lt;br&gt;/g, "\n");
  185. $("#txtMemo").val(mm);
  186. mini.get("memo_win").show();
  187. mini.get("aMemoMsgGai").setChecked(false);
  188. mini.get("aMemoMsgDing").setChecked(false);
  189. mini.get("aMemoMsgCha").setChecked(false);
  190. _memo_msg = 0;
  191. }
  192. //加急按钮
  193. function urgencyFn(eid) {
  194. edit_id = eid;
  195. var rec = grid.getSelected();
  196. mini.get("txtUrgencyTime").setValue("");
  197. mini.get("urgency_win").show();
  198. }
  199. function fileUrlFn(tid) {
  200. postAjax("checkout_form_data", { tid }, function (data) {
  201. let url = 'https://file.lingtao8.com/?tid=' + tid;
  202. if (!!data) {
  203. window.open(url, "_blank");
  204. }
  205. });
  206. }
  207. function saveUrgencyFn() {
  208. var parms = new Object();
  209. parms.ctid = edit_id;
  210. parms.urgencytime = mini.get("txtUrgencyTime").getValue();
  211. postAjax("set_erp_urgency", parms, function (data) {
  212. resultShow(data, "grid.reload();");
  213. mini.get("urgency_win").hide();
  214. });
  215. }
  216. function cancelUrgencyFn() {
  217. mini.get("urgency_win").hide();
  218. }
  219. //备注弹窗里面的 留言选择
  220. function onMemoMsgCheckedChanged(eid) {
  221. _memo_msg = eid;
  222. }
  223. function canceMemolFn() {
  224. mini.get("memo_win").hide();
  225. }
  226. //保存备注
  227. function saveMemoFn() {
  228. var parms = new Object();
  229. parms.ctid = edit_id;
  230. parms.seller_memo = $("#txtMemo").val();
  231. parms.MemoOpt = 0;
  232. postAjax("save_erp_sellermemo", parms, function (data) {
  233. mini.get("memo_win").hide();
  234. resultShow(data, "grid.reload();");
  235. });
  236. }
  237. function cancelMemoFn() {
  238. mini.get("memo_win").hide();
  239. }
  240. //转单
  241. function transFn() {
  242. var rows = grid.getSelecteds();
  243. if (rows != undefined && rows != "" && rows.length > 0) {
  244. mini.get("trans_win").show();
  245. $("#trans_win").find("input").val("");
  246. }
  247. else {
  248. mini.alert("请选中一行记录!");
  249. }
  250. }
  251. function cancelTransFn() {
  252. mini.get("trans_win").hide();
  253. }
  254. function saveTransFn() {
  255. var rows = grid.getSelecteds();
  256. var ctids = "";
  257. for (var rec of rows) {
  258. ctids += rec.ctid;
  259. ctids += ","
  260. }
  261. ctids = ctids.substring(0, ctids.length - 1);
  262. var parms = new Object();
  263. parms.ctid = ctids;
  264. parms.DesignUserId = mini.get("txtTransCus").getValue();
  265. if (parms.DesignUserId.length <= 0) {
  266. alert("设计不能为空");
  267. return;
  268. }
  269. postAjax("upd_erp_transdesigner", parms, function (data) {
  270. mini.get("trans_win").hide();
  271. resultShow(data, "grid.reload();");
  272. });
  273. }
  274. //查询按钮
  275. function searchFn() {
  276. var form = new mini.Form("#ctl00_f_all");
  277. var data = form.getData(true, false);
  278. var s = data;
  279. //var s = mini.encode(data);
  280. //alert(s);
  281. //form.setIsValid(false);
  282. //console.log("565656565", data);
  283. grid.load({
  284. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, design: s.design, orderState: s.state, apdate1: s.assigndate1, apdate2: s.assigndate2,
  285. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, address: s.address, seller_memo: s.memo, designerhd: s.designerhd, designtime: s.designtime
  286. });
  287. }
  288. function onSearchCheckedChanged(e) {
  289. var btn = e.sender;
  290. var checked = btn.getChecked();
  291. var text = btn.getText();
  292. var form = new mini.Form("#ctl00_f_all");
  293. var data = form.getData(true, false);
  294. var s = data;
  295. if (checked) {
  296. var stime = "";
  297. var etime = "";
  298. var timearr = [];
  299. if (text == "本日") {
  300. var day = getCurDate();
  301. timearr.push(day);
  302. timearr.push(day);
  303. }
  304. else if (text == "本周") {
  305. timearr = getWeekStartAndEnd();
  306. }
  307. else if (text == "本月") {
  308. timearr = getMonthStartAndEnd();
  309. }
  310. stime = timearr[0];
  311. etime = timearr[1];
  312. console.log(text, stime, etime)
  313. grid.load({
  314. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, design: s.design, orderState: s.state, apdate1: s.assigndate1, apdate2: s.assigndate2,
  315. date1: stime, date2: etime, price1: s.price1, price2: s.price2, address: s.address, seller_memo: s.memo, designerhd: s.designerhd, designtime: s.designtime
  316. });
  317. }
  318. }
  319. //清除查询内容
  320. function clearFn() {
  321. //$("#ctl00_f_all").find("input").val("");
  322. var form = new mini.Form("#ctl00_f_all");
  323. form.clear();
  324. mini.get("aSearchMonth").setChecked(false);
  325. mini.get("aSearchDay").setChecked(false);
  326. mini.get("aSearchWeek").setChecked(false);
  327. }
  328. //定稿==完成设计
  329. function clickFinishFn(eid) {
  330. }
  331. function voiceNotifyFn(tid) {
  332. if (!confirm("确认语音通知对方?")) return;
  333. postAjax("design_notify_voice", "tid=" + tid, function (data) {
  334. resultShow(data, "grid.reload()");
  335. });
  336. }
  337. function smsNotifyFn(tid) {
  338. if (!confirm("确认短信通知对方?")) return;
  339. postAjax("design_notify_sms", "tid=" + tid, function (data) {
  340. resultShow(data, "grid.reload()");
  341. });
  342. }
  343. function newPageSearchFn() {
  344. var form = new mini.Form("#ctl00_f_all");
  345. var data = form.getData(true, false);
  346. var s = data;
  347. var sData = JSON.stringify(data);
  348. var sendData = "sData=" + sData;
  349. if (parent != null) parent.openNewSearchTab("设计列表", "EDesign/DesignList.aspx", sendData);
  350. }
  351. $(function () {
  352. if (openPageData != "") {
  353. var s = openPageData;
  354. grid.load({
  355. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, design: s.design, orderState: s.state, apdate1: s.assigndate1, apdate2: s.assigndate2,
  356. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, address: s.address, seller_memo: s.memo, designerhd: s.designerhd, designtime: s.designtime
  357. });
  358. var form = new mini.Form("#ctl00_f_all");
  359. if (form != undefined && form != null) {
  360. form.setData(s);
  361. }
  362. //$("#ic_chkNewPageSearch")[0].checked = true;
  363. }
  364. });
  365. function onBeforeOpen(e) {
  366. var grid = mini.get("m_grid");
  367. var menu = e.sender;
  368. var row = grid.getSelected();
  369. var rowIndex = grid.indexOf(row);
  370. if (!row) {
  371. e.cancel = true;
  372. //阻止浏览器默认右键菜单
  373. e.htmlEvent.preventDefault();
  374. return;
  375. }
  376. }
  377. function onCopyOrder(e) {
  378. var rec = grid.getSelected();
  379. //rec.ctid
  380. copyTextPlus(rec.ctid);
  381. }
  382. function onCopyBuyerNick(e) {
  383. var rec = grid.getSelected();
  384. //rec.ctid
  385. copyTextPlus(rec.buyer_nick);
  386. }
  387. //售后标记按钮
  388. function aftersaleFn() {
  389. var rec = grid.getSelected();
  390. if (rec != undefined && rec != "") {
  391. mini.get("aftersale_win").show();
  392. }
  393. else {
  394. mini.alert("请选中一行记录!");
  395. }
  396. }
  397. //确定售后
  398. function saveAfterFn() {
  399. var rec = grid.getSelected();
  400. var parms = new Object();
  401. parms.ctid = rec.ctid;
  402. parms.AfterSaleReason = $("#reason").val();
  403. postAjax("set_erp_atersale", parms, function (data) {
  404. mini.get("aftersale_win").hide();
  405. resultShow(data, "grid.reload();");
  406. });
  407. }
  408. function cancelAfterFn() {
  409. mini.get("aftersale_win").hide();
  410. }
  411. //标记查货
  412. function onCheckOrder() {
  413. var rec = grid.getSelected();
  414. if (rec != undefined && rec != "") {
  415. var parms = new Object();
  416. if (!confirm("确认标记为查货吗?")) return;
  417. parms.ctid = rec.ctid;
  418. postAjax("ins_erp_checkorder", parms, function (data) {
  419. resultShow(data, "grid.reload();");
  420. });
  421. }
  422. else {
  423. mini.alert("请选中一行记录!");
  424. }
  425. }