DesignList.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431
  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. }
  98. return html;
  99. }
  100. function daownTempFile(tempId) {
  101. let url = "https://template.lingtao8.com/template/api/getTemplate"
  102. $.ajax({
  103. url: url,
  104. type: "POST",
  105. data: { templateCode: tempId },
  106. datatype: "json",
  107. success: function (result) {
  108. if (result.code == 200) {
  109. let file = result?.data?.templateDownUrl
  110. let templateName = result?.data?.templateName;
  111. if (file) {
  112. let a = document.createElement("a");
  113. a.href = file;
  114. a.download = templateName;
  115. a.click();
  116. }
  117. }
  118. progressHide();
  119. },
  120. error: function (data) {
  121. progressHide();
  122. alert("未找到模板!");
  123. }
  124. });
  125. }
  126. function onTagRefund(e) {
  127. var rec = grid.getSelected();
  128. edit_id = rec.ctid;
  129. var parms = new Object();
  130. parms.ctid = edit_id;
  131. parms.wechattag = 3;
  132. if (!confirm("确认标记为退款挽回单吗?")) return;
  133. postAjax("upd_erp_ordertag", parms, function (data) {
  134. resultShow(data, "grid.reload();");
  135. });
  136. }
  137. function onTagMore(e) {
  138. var rec = grid.getSelected();
  139. edit_id = rec.ctid;
  140. var parms = new Object();
  141. parms.ctid = edit_id;
  142. parms.wechattag = 4;
  143. if (!confirm("确认标记为微信推购单吗?")) return;
  144. postAjax("upd_erp_ordertag", parms, function (data) {
  145. resultShow(data, "grid.reload();");
  146. });
  147. }
  148. //点击改稿或者定稿重置状态
  149. function clickResetOptFn() {
  150. var rec = grid.getSelected();
  151. if (!confirm("确认已完成客服的留言?")) return;
  152. postAjax("reset_erp_memoopt", "ctid=" + rec.ctid, function (data) {
  153. resultShow(data, "grid.reload();");
  154. });
  155. }
  156. //备注按钮
  157. function memoFn(eid) {
  158. edit_id = eid;
  159. var rec = grid.getSelected();
  160. var mm = rec.seller_memo;
  161. if (mm != "") mm = mm.replace(/&lt;br&gt;/g, "\n");
  162. $("#txtMemo").val(mm);
  163. mini.get("memo_win").show();
  164. mini.get("aMemoMsgGai").setChecked(false);
  165. mini.get("aMemoMsgDing").setChecked(false);
  166. mini.get("aMemoMsgCha").setChecked(false);
  167. _memo_msg = 0;
  168. }
  169. //加急按钮
  170. function urgencyFn(eid) {
  171. edit_id = eid;
  172. var rec = grid.getSelected();
  173. mini.get("txtUrgencyTime").setValue("");
  174. mini.get("urgency_win").show();
  175. }
  176. function fileUrlFn(tid) {
  177. postAjax("checkout_form_data", { tid }, function (data) {
  178. let url = 'https://file.lingtao8.com/?tid=' + tid;
  179. if (!!data) {
  180. window.open(url, "_blank");
  181. }
  182. });
  183. }
  184. function saveUrgencyFn() {
  185. var parms = new Object();
  186. parms.ctid = edit_id;
  187. parms.urgencytime = mini.get("txtUrgencyTime").getValue();
  188. postAjax("set_erp_urgency", parms, function (data) {
  189. resultShow(data, "grid.reload();");
  190. mini.get("urgency_win").hide();
  191. });
  192. }
  193. function cancelUrgencyFn() {
  194. mini.get("urgency_win").hide();
  195. }
  196. //备注弹窗里面的 留言选择
  197. function onMemoMsgCheckedChanged(eid) {
  198. _memo_msg = eid;
  199. }
  200. function canceMemolFn() {
  201. mini.get("memo_win").hide();
  202. }
  203. //保存备注
  204. function saveMemoFn() {
  205. var parms = new Object();
  206. parms.ctid = edit_id;
  207. parms.seller_memo = $("#txtMemo").val();
  208. parms.MemoOpt = 0;
  209. postAjax("save_erp_sellermemo", parms, function (data) {
  210. mini.get("memo_win").hide();
  211. resultShow(data, "grid.reload();");
  212. });
  213. }
  214. function cancelMemoFn() {
  215. mini.get("memo_win").hide();
  216. }
  217. //转单
  218. function transFn() {
  219. var rows = grid.getSelecteds();
  220. if (rows != undefined && rows != "" && rows.length > 0) {
  221. mini.get("trans_win").show();
  222. $("#trans_win").find("input").val("");
  223. }
  224. else {
  225. mini.alert("请选中一行记录!");
  226. }
  227. }
  228. function cancelTransFn() {
  229. mini.get("trans_win").hide();
  230. }
  231. function saveTransFn() {
  232. var rows = grid.getSelecteds();
  233. var ctids = "";
  234. for (var rec of rows) {
  235. ctids += rec.ctid;
  236. ctids += ","
  237. }
  238. ctids = ctids.substring(0, ctids.length - 1);
  239. var parms = new Object();
  240. parms.ctid = ctids;
  241. parms.DesignUserId = mini.get("txtTransCus").getValue();
  242. if (parms.DesignUserId.length <= 0) {
  243. alert("设计不能为空");
  244. return;
  245. }
  246. postAjax("upd_erp_transdesigner", parms, function (data) {
  247. mini.get("trans_win").hide();
  248. resultShow(data, "grid.reload();");
  249. });
  250. }
  251. //查询按钮
  252. function searchFn() {
  253. var form = new mini.Form("#ctl00_f_all");
  254. var data = form.getData(true, false);
  255. var s = data;
  256. //var s = mini.encode(data);
  257. //alert(s);
  258. //form.setIsValid(false);
  259. //console.log("565656565", data);
  260. grid.load({
  261. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, design: s.design, orderState: s.state, apdate1: s.assigndate1, apdate2: s.assigndate2,
  262. 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
  263. });
  264. }
  265. function onSearchCheckedChanged(e) {
  266. var btn = e.sender;
  267. var checked = btn.getChecked();
  268. var text = btn.getText();
  269. var form = new mini.Form("#ctl00_f_all");
  270. var data = form.getData(true, false);
  271. var s = data;
  272. if (checked) {
  273. var stime = "";
  274. var etime = "";
  275. var timearr = [];
  276. if (text == "本日") {
  277. var day = getCurDate();
  278. timearr.push(day);
  279. timearr.push(day);
  280. }
  281. else if (text == "本周") {
  282. timearr = getWeekStartAndEnd();
  283. }
  284. else if (text == "本月") {
  285. timearr = getMonthStartAndEnd();
  286. }
  287. stime = timearr[0];
  288. etime = timearr[1];
  289. console.log(text, stime, etime)
  290. grid.load({
  291. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, design: s.design, orderState: s.state, apdate1: s.assigndate1, apdate2: s.assigndate2,
  292. date1: stime, date2: etime, price1: s.price1, price2: s.price2, address: s.address, seller_memo: s.memo, designerhd: s.designerhd, designtime: s.designtime
  293. });
  294. }
  295. }
  296. //清除查询内容
  297. function clearFn() {
  298. //$("#ctl00_f_all").find("input").val("");
  299. var form = new mini.Form("#ctl00_f_all");
  300. form.clear();
  301. mini.get("aSearchMonth").setChecked(false);
  302. mini.get("aSearchDay").setChecked(false);
  303. mini.get("aSearchWeek").setChecked(false);
  304. }
  305. //定稿==完成设计
  306. function clickFinishFn(eid) {
  307. }
  308. function voiceNotifyFn(tid) {
  309. if (!confirm("确认语音通知对方?")) return;
  310. postAjax("design_notify_voice", "tid=" + tid, function (data) {
  311. resultShow(data, "grid.reload()");
  312. });
  313. }
  314. function smsNotifyFn(tid) {
  315. if (!confirm("确认短信通知对方?")) return;
  316. postAjax("design_notify_sms", "tid=" + tid, function (data) {
  317. resultShow(data, "grid.reload()");
  318. });
  319. }
  320. function newPageSearchFn() {
  321. var form = new mini.Form("#ctl00_f_all");
  322. var data = form.getData(true, false);
  323. var s = data;
  324. var sData = JSON.stringify(data);
  325. var sendData = "sData=" + sData;
  326. if (parent != null) parent.openNewSearchTab("设计列表", "EDesign/DesignList.aspx", sendData);
  327. }
  328. $(function () {
  329. if (openPageData != "") {
  330. var s = openPageData;
  331. grid.load({
  332. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, design: s.design, orderState: s.state, apdate1: s.assigndate1, apdate2: s.assigndate2,
  333. 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
  334. });
  335. var form = new mini.Form("#ctl00_f_all");
  336. if (form != undefined && form != null) {
  337. form.setData(s);
  338. }
  339. //$("#ic_chkNewPageSearch")[0].checked = true;
  340. }
  341. });
  342. function onBeforeOpen(e) {
  343. var grid = mini.get("m_grid");
  344. var menu = e.sender;
  345. var row = grid.getSelected();
  346. var rowIndex = grid.indexOf(row);
  347. if (!row) {
  348. e.cancel = true;
  349. //阻止浏览器默认右键菜单
  350. e.htmlEvent.preventDefault();
  351. return;
  352. }
  353. }
  354. function onCopyOrder(e) {
  355. var rec = grid.getSelected();
  356. //rec.ctid
  357. copyTextPlus(rec.ctid);
  358. }
  359. function onCopyBuyerNick(e) {
  360. var rec = grid.getSelected();
  361. //rec.ctid
  362. copyTextPlus(rec.buyer_nick);
  363. }
  364. //售后标记按钮
  365. function aftersaleFn() {
  366. var rec = grid.getSelected();
  367. if (rec != undefined && rec != "") {
  368. mini.get("aftersale_win").show();
  369. }
  370. else {
  371. mini.alert("请选中一行记录!");
  372. }
  373. }
  374. //确定售后
  375. function saveAfterFn() {
  376. var rec = grid.getSelected();
  377. var parms = new Object();
  378. parms.ctid = rec.ctid;
  379. parms.AfterSaleReason = $("#reason").val();
  380. postAjax("set_erp_atersale", parms, function (data) {
  381. mini.get("aftersale_win").hide();
  382. resultShow(data, "grid.reload();");
  383. });
  384. }
  385. function cancelAfterFn() {
  386. mini.get("aftersale_win").hide();
  387. }
  388. //标记查货
  389. function onCheckOrder() {
  390. var rec = grid.getSelected();
  391. if (rec != undefined && rec != "") {
  392. var parms = new Object();
  393. if (!confirm("确认标记为查货吗?")) return;
  394. parms.ctid = rec.ctid;
  395. postAjax("ins_erp_checkorder", parms, function (data) {
  396. resultShow(data, "grid.reload();");
  397. });
  398. }
  399. else {
  400. mini.alert("请选中一行记录!");
  401. }
  402. }