PddDelivered.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384
  1. var exData = null;
  2. var edit_id = "";
  3. var _memo_msg = "";
  4. var socket = null;
  5. var userPostCode = "";
  6. function addFn() {
  7. edit_id = "";
  8. edit_shop = "";
  9. $(".win_tb").find("input").val("");
  10. $(".win_tb").find("textarea").val("");
  11. mini.get("add_win").show();
  12. }
  13. let replace_list = [
  14. ["皙贝", "白卡"],
  15. ["睿狐", "莱尼"],
  16. ["岚蝶", "安格"],
  17. ["琮纹", "刚古"],
  18. ["珠光", "珠光"],
  19. ["溪雪", "珠光"],
  20. ["雅柔", "雅柔"],
  21. ["萱姿", "雅柔"],
  22. ["草香", "草香"],
  23. ["芳怡", "草香"],
  24. ["金绒", "牛皮"],
  25. ["素芸", "棉卡"],
  26. ["玉蕊", "蛋壳"]
  27. ]
  28. function memoRenderer(e) {
  29. var record = e.record;
  30. //var html = "<textarea class='memo-class' rows=\"3\" readonly=\"readonly\" id='" + record.ctid + "' ondblclick=\"doubleClick('" + record.ctid + "')\">" + record.seller_memo + "</textarea>";
  31. let memo = record.seller_memo;
  32. replace_list.forEach(item => {
  33. memo = memo.replace(item[0], item[1]);
  34. })
  35. var html = "<div class='white-space' ondblclick=\"copyText(this)\" data-ctid = \"" + record.ctid + "\">" + memo + "</div>";
  36. return html;
  37. }
  38. function copyText(obj) {
  39. var div = obj;
  40. var rec = grid.getSelected();
  41. let text = div.innerText;
  42. let ctid = div.dataset.ctid;
  43. div.innerText = text + "《" + ctid + "》";
  44. if (document.body.createTextRange) {
  45. var range = document.body.createTextRange();
  46. range.moveToElementText(div);
  47. range.select();
  48. } else if (window.getSelection) {
  49. var selection = window.getSelection();
  50. var range = document.createRange();
  51. range.selectNodeContents(div);
  52. selection.removeAllRanges();
  53. selection.addRange(range);
  54. } else {
  55. //console.warn("none");
  56. return;
  57. }
  58. document.execCommand("Copy");
  59. div.innerText = text;
  60. mini.showTips({
  61. content: "复制成功!",
  62. state: "danger",
  63. x: "Center",
  64. y: "Center",
  65. timeout: 1000
  66. });
  67. }
  68. function viewCdrImg(id) {
  69. var rec = grid.getSelected();
  70. if (rec.OrderState < 5) {
  71. mini.alert("还没有上传文件,没有图片");
  72. return;
  73. }
  74. var finish = formatCommonDate(rec.FinishDesignTime);
  75. var yearmonth = finish.substring(0, 7);
  76. var monthUrl = yearmonth.replace("/", "");
  77. var url = cdrImgUrl + "/" + monthUrl + "/" + rec.seller_memo + ".png";
  78. mini.get("viewimg_win").show();
  79. $("#r_img").attr("src", url);
  80. }
  81. function orderPTimeRenderer(e) {
  82. var grid = e.sender;
  83. var record = e.record;
  84. var html = "<div style=\"display:flex;flex-direction:column;\">";
  85. if (userPostCode != "Supplier") {
  86. html += ("<div>" + record.seller_nick + "</div>");
  87. html += getWWurlByNick(record.buyer_nick);
  88. }
  89. html += ("<div>" + formatCommonDate(record.pay_time) + "</div>");
  90. html += "</div>";
  91. return html;
  92. }
  93. function deliveryTimeRenderer(e) {
  94. var record = e.record;
  95. var html = "";
  96. html += ("<div>" + formatCommonDate(record.delivery_time) + "</div>");
  97. return html;
  98. }
  99. function finishPlaceTimeRenderer(e) {
  100. var record = e.record;
  101. var html = "<div style=\"display:flex;flex-direction:column;\">";
  102. html += ("<div>" + formatCommonDate(record.FinishPlaceTime) + "</div>");
  103. html += "</div>";
  104. return html;
  105. }
  106. function orderStatusRenderer(e) {
  107. var grid = e.sender;
  108. var record = e.record;
  109. var statestr = getOrderStatestrByState(record.OrderState);
  110. var html = "<div style=\"display:flex;flex-direction:column;\">";
  111. html += ("<div onclick=\"clickToLog('" + record.ctid + "')\" style=\"color:blue;margin-bottom:10px;\">" + statestr + "</div>");
  112. var taostatus = getInitStatusstrByState(record.status);
  113. html += ("<div>" + taostatus + "</div>");
  114. html += "</div>";
  115. return html;
  116. }
  117. function orderCusRenderer(e) {
  118. var grid = e.sender;
  119. var record = e.record;
  120. var ctid = record.ctid;
  121. var rowIndex = e.rowIndex;
  122. var html = "<div style=\"display:flex;flex-direction:column;align-items:center;\">";
  123. html += ("<a>客服:" + record.CustomerUserName + "</a>");
  124. html += ("<a>设计师:" + record.DesignUserName + "</a>");
  125. html += ("<a>供应商:" + record.SupplierName + "</a>");
  126. //if (record.MemoOpt == 3) {
  127. // html += ("<a style=\"width:40px;color:red;border:1px solid red;\" onclick=\"clickResetOptFn()\">查货</a>");
  128. //}
  129. html += "</div>";
  130. return html;
  131. }
  132. function orderDesignRenderer(e) {
  133. var grid = e.sender;
  134. var record = e.record;
  135. var tid = record.tid;
  136. var rowIndex = e.rowIndex;
  137. var html = "<a style=\"color:blue;\">" + "我是设计" + "</a>";
  138. return html;
  139. }
  140. function addressRenderer(e) {
  141. var grid = e.sender;
  142. var record = e.record;
  143. var tid = record.tid;
  144. var rowIndex = e.rowIndex;
  145. var html = "<div>" + record.receiver_name + " " + record.receiver_mobile + " " + record.receiver_state + record.receiver_city + record.receiver_district + record.receiver_address + "</div>";
  146. return html;
  147. }
  148. //退单按钮
  149. function returnOrderFn() {
  150. var rec = grid.getSelected();
  151. if (rec != undefined && rec != "") {
  152. edit_id = rec.ctid;
  153. mini.prompt("请输入原因:", "退单",
  154. function (action, value) {
  155. if (action == "ok") {
  156. var parms = new Object();
  157. parms.ctid = edit_id;
  158. parms.returnreason = value;
  159. postAjax("ins_erp_returnreason", parms, function (data) {
  160. resultShow(data, "grid.reload();");
  161. });
  162. } else {
  163. }
  164. },
  165. true
  166. );
  167. }
  168. else {
  169. mini.alert("请选中一行记录!");
  170. }
  171. }
  172. //点击查货重置状态
  173. function clickResetOptFn() {
  174. var rec = grid.getSelected();
  175. if (!confirm("确认已完成客服的留言?")) return;
  176. postAjax("reset_erp_memoopt", "ctid=" + rec.ctid, function (data) {
  177. resultShow(data, "grid.reload();");
  178. });
  179. }
  180. function canceIssueFn() {
  181. mini.get("issue_win").hide();
  182. }
  183. function setIssueContent(eid) {
  184. edit_id = eid;
  185. mini.get("issue_win").show();
  186. }
  187. function saveIssueFn() {
  188. var parms = new Object();
  189. parms.ctid = edit_id;
  190. parms.content = $("#txtIssue").val();
  191. postAjax("saveIssueContent", parms, function (data) {
  192. mini.get("issue_win").hide();
  193. resultShow(data, "grid.reload();");
  194. });
  195. }
  196. //点击指派按钮
  197. function assignSupplierFn() {
  198. var rows = grid.getSelecteds();
  199. if (rows.length <= 0) {
  200. mini.alert("请选中一行记录!");
  201. return;
  202. }
  203. else {
  204. edit_id = "";
  205. for (var rec of rows) {
  206. edit_id += rec.ctid;
  207. edit_id += ",";
  208. }
  209. mini.get("assign_win").show("center", "top");
  210. $("#assign_win").find("input").val("");
  211. }
  212. }
  213. //保存指派供应商
  214. function saveAssignFn() {
  215. var parms = new Object();
  216. parms.ctid = edit_id;
  217. parms.SupplierName = mini.get("txtSupplierName").getValue();
  218. if (parms.SupplierName == "") {
  219. alert("供应商不能为空!");
  220. return;
  221. }
  222. postAjax("assign_erp_supplier", parms, function (data) {
  223. mini.get("assign_win").hide();
  224. resultShow(data, "grid.reload();");
  225. });
  226. }
  227. function cancelAssignFn() {
  228. mini.get("assign_win").hide();
  229. }
  230. //查询按钮
  231. function searchFn() {
  232. var form = new mini.Form("#ctl00_f_all");
  233. var data = form.getData(true, false);
  234. var s = data;
  235. //var s = mini.encode(data);
  236. //alert(s);
  237. //form.setIsValid(false);
  238. //console.log("565656565", data);
  239. grid.load({
  240. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, design: s.design, orderState: s.state, supplier: s.supplier,
  241. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, address: s.address, seller_memo: s.memo, placedate1: s.placedate1, placedate2: s.placedate2,
  242. deliverydate1: s.deliverydate1, deliverydate2: s.deliverydate2, logistics: s.logistics
  243. });
  244. }
  245. //清除查询内容
  246. function clearFn() {
  247. //$("#ctl00_f_all").find("input").val("");
  248. var form = new mini.Form("#ctl00_f_all");
  249. form.clear();
  250. }
  251. function multiExport() {
  252. defExport();
  253. }
  254. function newPageSearchFn() {
  255. var form = new mini.Form("#ctl00_f_all");
  256. var data = form.getData(true, false);
  257. var s = data;
  258. var sData = JSON.stringify(data);
  259. var sendData = "sData=" + sData;
  260. if (parent != null) parent.openNewSearchTab("已发货列表", "EDelivery/DeliveredList.aspx", sendData);
  261. }
  262. $(function () {
  263. doConnect();
  264. if (openPageData != "") {
  265. var s = openPageData;
  266. grid.load({
  267. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, design: s.design, orderState: s.state, supplier: s.supplier,
  268. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, address: s.address, seller_memo: s.memo, placedate1: s.placedate1, placedate2: s.placedate2,
  269. deliverydate1: s.deliverydate1, deliverydate2: s.deliverydate2
  270. });
  271. var form = new mini.Form("#ctl00_f_all");
  272. if (form != undefined && form != null) {
  273. form.setData(s);
  274. }
  275. //$("#ic_chkNewPageSearch")[0].checked = true;
  276. }
  277. });
  278. function actionRenderer(e) {
  279. var record = e.record;
  280. var id = record.ID;
  281. var html = getGridBtn("view", "预览文件", "viewCdrImg('" + id + "')");
  282. html += getGridBtn("edit", "修改物流", "changeExpress('" + record.ctid + "')");
  283. html += getGridBtn("dis", "问题反馈", "setIssueContent('" + record.ctid + "')");
  284. if (!!record.attachments) {
  285. html += getGridBtn("view", "下载附件", "downAtta('" + record.attachments + "')");
  286. }
  287. return html;
  288. }
  289. function downAtta(url) {
  290. if (!!url) {
  291. const link = document.createElement('a');
  292. link.href = url;
  293. document.body.appendChild(link);
  294. link.click();
  295. document.body.removeChild(link);
  296. }
  297. }
  298. function onBeforeOpen(e) {
  299. var grid = mini.get("m_grid");
  300. var menu = e.sender;
  301. var row = grid.getSelected();
  302. var rowIndex = grid.indexOf(row);
  303. if (!row) {
  304. e.cancel = true;
  305. //阻止浏览器默认右键菜单
  306. e.htmlEvent.preventDefault();
  307. return;
  308. }
  309. }
  310. function onCopyOrder(e) {
  311. var rec = grid.getSelected();
  312. //rec.ctid
  313. copyTextPlus(rec.ctid);
  314. }
  315. function onCopyBuyerNick(e) {
  316. var rec = grid.getSelected();
  317. //rec.ctid
  318. copyTextPlus(rec.buyer_nick);
  319. }
  320. function changeExpress(ctid) {
  321. $("#changeCtid").val(ctid);
  322. mini.get("change_win").show();
  323. }
  324. function saveChangeFn() {
  325. let txtChangeTransNo = $("#txtChangeTransNo").val();
  326. if (txtChangeTransNo.length == 0) {
  327. mini.alert("请输入新物流号!");
  328. return;
  329. }
  330. let txtChangeTransCom = $("#txtChangeTransCom").val();
  331. if (txtChangeTransCom.length == 0) {
  332. mini.alert("请输入新物公司!");
  333. return;
  334. }
  335. let ctid = $("#changeCtid").val();
  336. postAjax("change_express_info", { ctid, transNo: txtChangeTransNo, transCom: txtChangeTransCom }, function (data) {
  337. cancelChangeFn();
  338. resultShow(data, "grid.reload();");
  339. });
  340. }
  341. function cancelChangeFn() {
  342. $("#txtChangeTransNo").val("");
  343. $("#txtChangeTransCom").val("");
  344. mini.get("change_win").hide();
  345. }
  346. function changeDeliveryRenderer(e) {
  347. var record = e.record;
  348. var html = "<div>" + record.modExpressCom + "</div>";
  349. html += "<div>" + record.modExpressNo + "</div>";
  350. return html;
  351. }