WaitingOrder.js 23 KB

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