WaitingOrder.js 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754
  1. var downUrl = "";
  2. var exData = null;
  3. var edit_id = "";
  4. var _memo_msg = "";
  5. var userId = "";
  6. var cdrImgUrl = null;
  7. function addFn() {
  8. edit_id = "";
  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 orderPTimeRenderer(e) {
  69. var grid = e.sender;
  70. var record = e.record;
  71. var html = "<div style=\"display:flex;flex-direction:column;\">";
  72. html += ("<div>" + record.seller_nick + "</div>");
  73. html += getWWurlByNick(record.buyer_nick);
  74. html += ("<div>" + formatCommonDate(record.pay_time) + "</div>");
  75. html += "</div>";
  76. return html;
  77. }
  78. function returnTimeRenderer(e) {
  79. var record = e.record;
  80. var html = "<div style=\"display:flex;flex-direction:column;\">";
  81. html += ("<div>" + formatCommonDate(record.ReturnTime) + "</div>");
  82. html += "</div>";
  83. return html;
  84. }
  85. function orderStatusRenderer(e) {
  86. var grid = e.sender;
  87. var record = e.record;
  88. var statestr = getOrderStatestrByState(record.OrderState);
  89. var html = "<div style=\"display:flex;flex-direction:column;\">";
  90. html += ("<div onclick=\"clickToLog('" + record.ctid + "')\" style=\"color:blue;margin-bottom:10px;\">" + statestr + "</div>");
  91. var taostatus = getInitStatusstrByState(record.status);
  92. html += ("<div>" + taostatus + "</div>");
  93. html += "</div>";
  94. return html;
  95. }
  96. function isReturnRenderer(e) {
  97. var record = e.record;
  98. var html = "<div>";
  99. if (record.IsReturn == 1) {
  100. html += ("<div style=\"color:#C05301;\">供应商退回</div>");
  101. }
  102. else if (record.IsReturn == 2) {
  103. html += ("<div style=\"color:green;\">下单部退回</div>");
  104. }
  105. html += "</div>";
  106. return html;
  107. }
  108. function orderCusRenderer(e) {
  109. var grid = e.sender;
  110. var record = e.record;
  111. var html = "<div style=\"display:flex;flex-direction:column;align-items:center;\">";
  112. html += ("<a style=\"color:#0090FF;\">" + record.CustomerUserName + "</a>");
  113. html += ("<a style=\"color:#0090FF;\">" + record.DesignUserName + "</a>");
  114. html += "</div>";
  115. return html;
  116. }
  117. function sysPriceRenderer(e) {
  118. var grid = e.sender;
  119. var record = e.record;
  120. var html = "<div style=\"display:flex;flex-direction:column;align-items:center;\">";
  121. html += ("<div> 系统金额:" + record.sysPrice || 0 + "</div>");
  122. html += ("<div>差额:" + record.sysDiffPrice || 0 + "</div>");
  123. html += ("<div>折扣:" + record.sysPriceRate || 0 + "</div>");
  124. html += "</div>";
  125. return html;
  126. }
  127. function addressRenderer(e) {
  128. var grid = e.sender;
  129. var record = e.record;
  130. var tid = record.tid;
  131. var rowIndex = e.rowIndex;
  132. var html = "<div>" + record.receiver_name + " " + record.receiver_mobile + " " + record.receiver_state + record.receiver_city + record.receiver_district + record.receiver_address + "</div>";
  133. return html;
  134. }
  135. function verifyStateRenderer(e) {
  136. var record = e.record;
  137. var ctid = record.ctid;
  138. var html = "";
  139. if (record.IsVerifyToSupplier == "False") {
  140. html += "<div style='color:blue;'>未审核</div>";
  141. }
  142. else if (record.IsVerifyToSupplier == "True") {
  143. html += "<div style='color:green;'>已审核</div>";
  144. }
  145. return html;
  146. }
  147. function supActionRenderer(e) {
  148. var record = e.record;
  149. var ctid = record.ctid;
  150. var html = "";
  151. html += getGridBtn("stop", "退回", "supplierBackFn('" + ctid + "')");
  152. return html;
  153. }
  154. function GetToQuote(eid) {
  155. edit_id = eid;
  156. var rec = grid.getSelected();
  157. postAjax("Get_To_Quote", "ctid=" + eid, function (data) {
  158. resultShow(data);
  159. });
  160. }
  161. function supplierBackFn(ctid) {
  162. //if (!confirm("确认退回吗?")) return;
  163. //postAjax("upd_erp_supplierback", "ctid=" + ctid, function (data) {
  164. // resultShow(data, "grid.reload();");
  165. //});
  166. if (rec != undefined && rec != "") {
  167. edit_id = rec.ctid;
  168. mini.prompt("请输入原因:", "退单",
  169. function (action, value) {
  170. if (action == "ok") {
  171. var parms = new Object();
  172. parms.ctid = ctid;
  173. parms.returnreason = value;
  174. postAjax("upd_erp_supplierback", parms, function (data) {
  175. resultShow(data, "grid.reload();");
  176. });
  177. } else {
  178. }
  179. },
  180. true
  181. );
  182. }
  183. else {
  184. mini.alert("请选中一行记录!");
  185. }
  186. }
  187. function verifyFn(ctid) {
  188. var rows = grid.getSelecteds();
  189. var ctids = "";
  190. for (var rec of rows) {
  191. ctids += rec.ctid;
  192. ctids += ",";
  193. }
  194. ctids = ctids.substring(0, ctids.length - 1);
  195. if (!confirm("确认审核吗?(供应商将收到此订单)")) return;
  196. postAjax("upd_erp_verifytosupplier", "ctid=" + ctids, function (data) {
  197. resultShow(data, "grid.reload();");
  198. });
  199. }
  200. //点击指派按钮
  201. function assignSupplierFn() {
  202. var rows = grid.getSelecteds();
  203. if (rows.length <= 0) {
  204. mini.alert("请选中一行记录!");
  205. return;
  206. }
  207. else {
  208. edit_id = "";
  209. for (var rec of rows) {
  210. edit_id += rec.ctid;
  211. edit_id += ",";
  212. }
  213. mini.get("assign_win").show("center", "top");
  214. $("#assign_win").find("input").val("");
  215. }
  216. }
  217. //保存指派供应商
  218. function saveAssignFn() {
  219. var parms = new Object();
  220. parms.ctid = edit_id;
  221. parms.SupplierName = mini.get("txtSupplierName").getValue();
  222. parms.tag = "waitingorder";
  223. if (parms.SupplierName == "") {
  224. alert("供应商不能为空!");
  225. return;
  226. }
  227. postAjax("assign_erp_supplier", parms, function (data) {
  228. mini.get("assign_win").hide();
  229. resultShow(data, "grid.reload();");
  230. });
  231. }
  232. function cancelAssignFn() {
  233. mini.get("assign_win").hide();
  234. }
  235. //退单按钮
  236. function returnOrderFn() {
  237. var rec = grid.getSelected();
  238. if (rec != undefined && rec != "") {
  239. $("#returnreason_id").val(rec.ctid);
  240. $("#returnreason_type").val("2");
  241. mini.get("returnreason_win").show();
  242. }
  243. else {
  244. mini.alert("请选中一行记录!");
  245. }
  246. }
  247. function returnOrder_CusFn() {
  248. var rec = grid.getSelected();
  249. if (rec != undefined && rec != "") {
  250. $("#returnreason_id").val(rec.ctid);
  251. $("#returnreason_type").val("1");
  252. mini.get("returnreason_win").show();
  253. }
  254. else {
  255. mini.alert("请选中一行记录!");
  256. }
  257. }
  258. function makeSupplierFn() {
  259. var rows = grid.getSelecteds();
  260. if (rows.length <= 0) {
  261. mini.alert("请选中一行记录!");
  262. return;
  263. }
  264. else {
  265. edit_id = "";
  266. for (var rec of rows) {
  267. edit_id += rec.ctid;
  268. edit_id += ",";
  269. }
  270. mini.get("make_win").show("center");
  271. $("#make_win").find("input").val("");
  272. }
  273. }
  274. //保存指派供应商
  275. function saveMakeAssignFn() {
  276. var parms = new Object();
  277. parms.ctid = edit_id;
  278. parms.SupplierName = mini.get("txtMakeSupplier").getText();
  279. if (parms.SupplierName == "") {
  280. alert("供应商不能为空!");
  281. return;
  282. }
  283. postAjax("assign_erp_makesupplier", parms, function (data) {
  284. mini.get("make_win").hide();
  285. resultShow(data, "grid.reload();");
  286. });
  287. }
  288. function largeImage(that) {
  289. var large_image = '<img src= ' + $(that).attr("src") + '></img>';
  290. $('.image_large').html($(large_image).css({
  291. display: "block",
  292. height: '60%',
  293. //width: '40%',
  294. position: "absolute",
  295. left: "50%",
  296. top: "50%",
  297. transform: "translate(-50%,-50%)",
  298. }, 500));
  299. $('.image_large').css("display", "block");
  300. }
  301. function hideImage(that) {
  302. $(that).css("display", "none");
  303. }
  304. function cancelMakeAssignFn() {
  305. mini.get("make_win").hide();
  306. }
  307. function viewCdrImg(id) {
  308. var rec = grid.getSelected();
  309. if (rec.OrderState < 5) {
  310. mini.alert("还没有上传文件,没有图片");
  311. return;
  312. }
  313. var finish = formatCommonDate(rec.FinishDesignTime);
  314. var yearmonth = finish.substring(0, 7);
  315. var monthUrl = yearmonth.replace("/", "");
  316. var url = cdrImgUrl + "/" + monthUrl + "/" + rec.seller_memo + ".png";
  317. mini.get("viewimg_win").show();
  318. $("#r_img").attr("src", url);
  319. }
  320. function viewPayImg(id) {
  321. var rec = grid.getSelected();
  322. var url = viewUrl + "/" + rec.PayProofImg;
  323. mini.get("payimg_win").show();
  324. $("#p_img").attr("src", url);
  325. }
  326. function actionRenderer(e) {
  327. var record = e.record;
  328. var id = record.ctid;
  329. var html = "";
  330. html += getGridBtn("view", "预览文件", "viewCdrImg('" + id + "')");
  331. if (record.PayProofImg != "") {
  332. html += getGridBtn("view", "付款图片", "viewPayImg('" + id + "')");
  333. }
  334. html += getGridBtn("edit", "查看报价", "GetToQuote('" + id + "')");
  335. html += getGridBtn("lock", "系统报价", "getSysPrice('" + id + "')");
  336. if (record.authCount > 0) {
  337. html += getGridBtn("view", "授权下载", "downAuth('" + record.tid + "','" + record.ctid + "')");
  338. }
  339. html += getGridBtn("memo", record.IsJoint == 1 ? "取消拼版" : "拼版", "saveJointorder('" + record.ctid + "')");
  340. return html;
  341. }
  342. function getSysPrice(ctid) {
  343. postAjax("getSysPrice", { ctid }, function (data) {
  344. resultShow(data, "grid.reload();");
  345. });
  346. }
  347. function saveJointorder(ctid) {
  348. postAjax("saveJointorder", { ctid }, function (data) {
  349. resultShow(data, "grid.reload();");
  350. });
  351. }
  352. //查询按钮
  353. function searchFn() {
  354. var form = new mini.Form("#ctl00_f_all");
  355. var data = form.getData(true, false);
  356. var s = data;
  357. //var s = mini.encode(data);
  358. //alert(s);
  359. //form.setIsValid(false);
  360. //console.log("565656565", data);
  361. grid.load({
  362. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, customer: s.customer, orderState: s.state, address: s.address,
  363. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, supplier: s.supplier,
  364. seller_memo: s.memo, backdate1: s.backdate1, backdate2: s.backdate2, backtype: s.backtype, otherMemo: s.otherMemo
  365. });
  366. }
  367. //清除查询内容
  368. function clearFn() {
  369. //$("#ctl00_f_all").find("input").val("");
  370. var form = new mini.Form("#ctl00_f_all");
  371. form.clear();
  372. mini.get("aSearchMonth").setChecked(false);
  373. mini.get("aSearchDay").setChecked(false);
  374. mini.get("aSearchWeek").setChecked(false);
  375. }
  376. function newPageSearchFn() {
  377. var form = new mini.Form("#ctl00_f_all");
  378. var data = form.getData(true, false);
  379. var s = data;
  380. var sData = JSON.stringify(data);
  381. var sendData = "sData=" + sData;
  382. if (parent != null) parent.openNewSearchTab("待下单列表", "EDelivery/WaitingOrder.aspx", sendData);
  383. }
  384. $(function () {
  385. if (openPageData != "") {
  386. var s = openPageData;
  387. grid.load({
  388. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, design: s.design, orderState: s.state,
  389. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, supplier: s.supplier,
  390. seller_memo: s.memo, backdate1: s.backdate1, backdate2: s.backdate2, backtype: s.backtype
  391. });
  392. var form = new mini.Form("#ctl00_f_all");
  393. if (form != undefined && form != null) {
  394. form.setData(s);
  395. }
  396. //$("#ic_chkNewPageSearch")[0].checked = true;
  397. }
  398. });
  399. function view_search() {
  400. var key = "";
  401. if ($("#txtKey").length > 0) {
  402. key = $("#txtKey").val();
  403. }
  404. grid.load({ key: key, type: $("#txtSearchType").val() });
  405. }
  406. function multiExport() {
  407. //defExport();
  408. var sels = grid.getSelecteds();
  409. if (sels.length > 0) {
  410. var ctids = "";
  411. for (var s = 0; s < sels.length; s++) {
  412. var supplier = sels[s].SupplierId;
  413. if (supplier == "" || supplier == 0) {
  414. mini.alert("未选择供应商!");
  415. return;
  416. }
  417. if (sels[s].SplitTag.length > 0) {
  418. ctids += sels[s].ctid;
  419. ctids += ",";
  420. }
  421. }
  422. if (ctids.length > 0) {
  423. ctids = ctids.substring(0, ctids.length - 1);
  424. postAjax("get_erp_islasthavesameorder", "ctid=" + ctids, function (data) {
  425. if (data.data.length <= 0)
  426. goMultiDownload(sels);
  427. else {
  428. mini.showMessageBox({
  429. title: "提示!",
  430. iconCls: "mini-messagebox-question",
  431. buttons: ["继续下载", "取消下载"],
  432. message: "请注意:拆分单车间不一致," + data.data + "!",
  433. callback: function (action) {
  434. if (action == "继续下载") {
  435. goMultiDownload(sels);
  436. }
  437. else if (action == "取消下载") {
  438. return;
  439. }
  440. }
  441. });
  442. }
  443. });
  444. }
  445. else {
  446. goMultiDownload(sels);
  447. }
  448. }
  449. else {
  450. mini.alert("请选择要下载的记录!");
  451. }
  452. }
  453. var fileDownArrays = [];
  454. function downloadFileFn() {
  455. //defExport();
  456. var sels = grid.getSelecteds();
  457. if (sels.length > 0) {
  458. var pArr = new Array();
  459. for (var i = 0; i < sels.length; i++) {
  460. if (sels[i].SupplierId != 64) {
  461. return mini.alert(sels[i].ctid + "不是彩印通订单");
  462. }
  463. if (sels[i].payment == 0) {
  464. return mini.alert(sels[i].ctid + "金额为0无法指派");
  465. }
  466. pArr.push(sels[i].ctid);
  467. }
  468. progressShow();
  469. fileDownArrays = pArr;
  470. /* noFileDownForMulProcess("http://localhost:54673/caiyintongload.aspx", "hexdata=" + pArr.join(",") + "&supplier=1" + "&userid=" + userId + "&cyt=1",*/
  471. noFileDownForMulProcess("http://183.250.143.56:8088/caiyintongload.aspx", "hexdata=" + pArr.join(",") + "&supplier=1" + "&userid=" + userId + "&cyt=1",
  472. function (smsg) {
  473. progressHide();
  474. mini.showMessageBox({
  475. title: "提示!",
  476. iconCls: "mini-messagebox-question",
  477. buttons: ["我知道了"],
  478. message: "请注意备注格式:" + smsg + "!",
  479. callback: function (action) {
  480. if (action == "我知道了") {
  481. grid.reload();
  482. }
  483. }
  484. });
  485. },
  486. function (emsg) {
  487. progressHide();
  488. mini.showMessageBox({
  489. title: "提示!",
  490. iconCls: "mini-messagebox-question",
  491. buttons: ["我知道了"],
  492. message: "请注意备注格式:" + smsg + "!",
  493. callback: function (action) {
  494. if (action == "我知道了") {
  495. grid.reload();
  496. }
  497. }
  498. });
  499. });
  500. postAjaxSync("orderPlaceInfo", { ctids: pArr.join(",") });
  501. /* postAjax("order_batch_downloads", "tid=" + fileDownArrays, function (data) {
  502. if (data.length > 0) {
  503. mini.showMessageBox({
  504. title: "提示",
  505. iconCls: "mini-messagebox-question",
  506. buttons: ["我知道了"],
  507. message: data,
  508. callback: function (action) {
  509. if (action == "我知道了") {
  510. resultShow(data);
  511. }
  512. }
  513. });
  514. }
  515. });*/
  516. } else {
  517. mini.alert("请选择要下载的记录!");
  518. }
  519. }
  520. var fileDownArrays4 = [];
  521. function downloadFileFn4() {
  522. //defExport();
  523. var form = new mini.Form("#ctl00_f_all");
  524. var data = form.getData(true, false);
  525. var s = data;
  526. grid.load({
  527. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, customer: s.customer, orderState: s.state, address: s.address,
  528. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, supplier: s.supplier,
  529. seller_memo: s.memo, backdate1: s.backdate1, backdate2: s.backdate2, backtype: s.backtype, pagesize: "1"
  530. });
  531. /* var sels = grid.getSelecteds();
  532. if (sels.length > 0) {
  533. var pArr = new Array();
  534. for (var i = 0; i < sels.length; i++) {
  535. pArr.push(sels[i].ctid);
  536. }
  537. fileDownArrays4 = pArr;
  538. postAjax("order_To_Supplier", "tid=" + fileDownArrays4, function (data) {
  539. if (data.length > 0) {
  540. resultShow(data);
  541. }
  542. });
  543. } else {
  544. mini.alert("请选择要下载的记录!");
  545. }*/
  546. }
  547. function goMultiDownload(sels) {
  548. var total = sels.length;
  549. var culTag = 0;
  550. var errMsg = "";
  551. var pArr = new Array();
  552. progressShow();
  553. for (var i = 0; i < sels.length; i++) {
  554. pArr.push(sels[i].ctid);
  555. //noFileDown(downUrl.replace("download", "copydownload"), "hexdata=" + sels[i].ctid + "&userid=" + userId);
  556. noFileDownForMulProcess(downUrl.replace("download", "copydownload"), "hexdata=" + sels[i].ctid + "&userid=" + userId,
  557. function (smsg) {
  558. culTag = culTag + 1;
  559. if (culTag >= total) {
  560. grid.reload();
  561. if (errMsg == "") {
  562. showToast("文件下载结束");
  563. }
  564. progressHide();
  565. }
  566. },
  567. function (emsg) {
  568. culTag = culTag + 1;
  569. if (emsg.length > 0) {
  570. errMsg += emsg;
  571. errMsg += ",";
  572. }
  573. if (culTag >= total) {
  574. grid.reload();
  575. if (errMsg.length > 0) {
  576. alert(errMsg);
  577. }
  578. progressHide();
  579. }
  580. });
  581. }
  582. postAjaxSync("orderPlaceInfo", { ctids: pArr.join(",") });
  583. //noFileDown(downUrl.replace("download", "copydownload"), "hexdata=" + pArr.join(",") + "&userid=" + userId);
  584. }
  585. function localMultiExport() {
  586. var sels = grid.getSelecteds();
  587. if (sels.length > 0) {
  588. var pArr = new Array();
  589. for (var i = 0; i < sels.length; i++) {
  590. pArr.push(sels[i].ctid);
  591. }
  592. console.log("downurl", downUrl);
  593. fileDown(downUrl, "hexdata=" + pArr.join(",") + "&supplier=1" + "&userid=" + userId);
  594. } else {
  595. mini.alert("请选择要下载的记录!");
  596. }
  597. }
  598. function testMultiExport() {
  599. var sels = grid.getSelecteds();
  600. if (sels.length > 0) {
  601. var total = sels.length;
  602. var culTag = 0;
  603. var errMsg = "";
  604. var pArr = new Array();
  605. progressShow();
  606. for (var i = 0; i < sels.length; i++) {
  607. //pArr.push(sels[i].ctid);
  608. noFileDownForMulProcess(downUrl.replace("download", "testcopydownload"), "hexdata=" + sels[i].ctid + "&userid=" + userId,
  609. function (smsg) {
  610. culTag = culTag + 1;
  611. grid.reload();
  612. progressShow();
  613. if (culTag >= total) {
  614. grid.reload();
  615. if (errMsg == "") {
  616. showToast("文件下载结束");
  617. }
  618. progressHide();
  619. }
  620. },
  621. function (emsg) {
  622. culTag = culTag + 1;
  623. if (emsg.length > 0) {
  624. errMsg += emsg;
  625. errMsg += ",";
  626. }
  627. if (culTag >= total) {
  628. grid.reload();
  629. if (errMsg.length > 0) {
  630. alert(errMsg);
  631. }
  632. progressHide();
  633. }
  634. });
  635. }
  636. } else {
  637. mini.alert("请选择要下载的记录!");
  638. }
  639. }
  640. function downAuth(ctid, tid) {
  641. postAjax("getCellFile", { tid: tid, ctid: ctid, type: "AUTH_FILE" }, function (data) {
  642. for (var i = 0; i < data.length; i++) {
  643. downAtta(data[i].url)
  644. }
  645. });
  646. }
  647. function downAtta(url) {
  648. var pdata = "url=" + url;
  649. var xhr = new XMLHttpRequest(); // 创建XMLHttpRequest实例
  650. xhr.open('POST', "../plug/uploadFileOss.aspx"); // 打开下载文件请求
  651. xhr.responseType = "blob";
  652. xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
  653. xhr.onloadstart = function () {
  654. };
  655. xhr.onprogress = function (event) {
  656. };
  657. xhr.onerror = function () {
  658. progressHide();
  659. }
  660. xhr.ontimeout = function () {
  661. progressHide();
  662. }
  663. xhr.onloadend = function () {
  664. if (xhr.status === 200) {
  665. try {
  666. let blob = xhr.response;
  667. let fileName = xhr.getResponseHeader("Content-Disposition").split('filename=')[1];
  668. fileName = decodeURIComponent(fileName);
  669. let url = URL.createObjectURL(blob);
  670. let a = document.createElement('a');
  671. a.href = url;
  672. a.download = fileName;
  673. document.body.appendChild(a);
  674. a.click();
  675. document.body.removeChild(a);
  676. window.URL.revokeObjectURL(url);
  677. } catch (e) {
  678. progressHide();
  679. }
  680. } else {
  681. }
  682. progressHide();
  683. };
  684. xhr.send(pdata); // 发送下载文件请求
  685. }