WaitingOrder.js 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753
  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. if (record.authCount > 0) {
  336. html += getGridBtn("view", "授权下载", "downAuth('" + record.tid + "','" + record.ctid + "')");
  337. }
  338. html += getGridBtn("memo", record.IsJoint == 1 ? "取消拼版" : "拼版", "saveJointorder('" + record.ctid + "')");
  339. return html;
  340. }
  341. function getSysPrice(ctid) {
  342. postAjax("getSysPrice", { ctid }, function (data) {
  343. resultShow(data, "grid.reload();");
  344. });
  345. }
  346. function saveJointorder(ctid) {
  347. postAjax("saveJointorder", { ctid }, function (data) {
  348. resultShow(data, "grid.reload();");
  349. });
  350. }
  351. //查询按钮
  352. function searchFn() {
  353. var form = new mini.Form("#ctl00_f_all");
  354. var data = form.getData(true, false);
  355. var s = data;
  356. //var s = mini.encode(data);
  357. //alert(s);
  358. //form.setIsValid(false);
  359. //console.log("565656565", data);
  360. grid.load({
  361. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, customer: s.customer, orderState: s.state, address: s.address,
  362. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, supplier: s.supplier,
  363. seller_memo: s.memo, backdate1: s.backdate1, backdate2: s.backdate2, backtype: s.backtype, otherMemo: s.otherMemo
  364. });
  365. }
  366. //清除查询内容
  367. function clearFn() {
  368. //$("#ctl00_f_all").find("input").val("");
  369. var form = new mini.Form("#ctl00_f_all");
  370. form.clear();
  371. mini.get("aSearchMonth").setChecked(false);
  372. mini.get("aSearchDay").setChecked(false);
  373. mini.get("aSearchWeek").setChecked(false);
  374. }
  375. function newPageSearchFn() {
  376. var form = new mini.Form("#ctl00_f_all");
  377. var data = form.getData(true, false);
  378. var s = data;
  379. var sData = JSON.stringify(data);
  380. var sendData = "sData=" + sData;
  381. if (parent != null) parent.openNewSearchTab("待下单列表", "EDelivery/WaitingOrder.aspx", sendData);
  382. }
  383. $(function () {
  384. if (openPageData != "") {
  385. var s = openPageData;
  386. grid.load({
  387. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, design: s.design, orderState: s.state,
  388. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, supplier: s.supplier,
  389. seller_memo: s.memo, backdate1: s.backdate1, backdate2: s.backdate2, backtype: s.backtype
  390. });
  391. var form = new mini.Form("#ctl00_f_all");
  392. if (form != undefined && form != null) {
  393. form.setData(s);
  394. }
  395. //$("#ic_chkNewPageSearch")[0].checked = true;
  396. }
  397. });
  398. function view_search() {
  399. var key = "";
  400. if ($("#txtKey").length > 0) {
  401. key = $("#txtKey").val();
  402. }
  403. grid.load({ key: key, type: $("#txtSearchType").val() });
  404. }
  405. function multiExport() {
  406. //defExport();
  407. var sels = grid.getSelecteds();
  408. if (sels.length > 0) {
  409. var ctids = "";
  410. for (var s = 0; s < sels.length; s++) {
  411. var supplier = sels[s].SupplierId;
  412. if (supplier == "" || supplier == 0) {
  413. mini.alert("未选择供应商!");
  414. return;
  415. }
  416. if (sels[s].SplitTag.length > 0) {
  417. ctids += sels[s].ctid;
  418. ctids += ",";
  419. }
  420. }
  421. if (ctids.length > 0) {
  422. ctids = ctids.substring(0, ctids.length - 1);
  423. postAjax("get_erp_islasthavesameorder", "ctid=" + ctids, function (data) {
  424. if (data.data.length <= 0)
  425. goMultiDownload(sels);
  426. else {
  427. mini.showMessageBox({
  428. title: "提示!",
  429. iconCls: "mini-messagebox-question",
  430. buttons: ["继续下载", "取消下载"],
  431. message: "请注意:拆分单车间不一致," + data.data + "!",
  432. callback: function (action) {
  433. if (action == "继续下载") {
  434. goMultiDownload(sels);
  435. }
  436. else if (action == "取消下载") {
  437. return;
  438. }
  439. }
  440. });
  441. }
  442. });
  443. }
  444. else {
  445. goMultiDownload(sels);
  446. }
  447. }
  448. else {
  449. mini.alert("请选择要下载的记录!");
  450. }
  451. }
  452. var fileDownArrays = [];
  453. function downloadFileFn() {
  454. //defExport();
  455. var sels = grid.getSelecteds();
  456. if (sels.length > 0) {
  457. var pArr = new Array();
  458. for (var i = 0; i < sels.length; i++) {
  459. if (sels[i].SupplierId != 64) {
  460. return mini.alert(sels[i].ctid + "不是彩印通订单");
  461. }
  462. if (sels[i].payment == 0) {
  463. return mini.alert(sels[i].ctid + "金额为0无法指派");
  464. }
  465. pArr.push(sels[i].ctid);
  466. }
  467. progressShow();
  468. fileDownArrays = pArr;
  469. /* noFileDownForMulProcess("http://localhost:54673/caiyintongload.aspx", "hexdata=" + pArr.join(",") + "&supplier=1" + "&userid=" + userId + "&cyt=1",*/
  470. noFileDownForMulProcess("http://183.250.143.56:8088/caiyintongload.aspx", "hexdata=" + pArr.join(",") + "&supplier=1" + "&userid=" + userId + "&cyt=1",
  471. function (smsg) {
  472. progressHide();
  473. mini.showMessageBox({
  474. title: "提示!",
  475. iconCls: "mini-messagebox-question",
  476. buttons: ["我知道了"],
  477. message: "请注意备注格式:" + smsg + "!",
  478. callback: function (action) {
  479. if (action == "我知道了") {
  480. grid.reload();
  481. }
  482. }
  483. });
  484. },
  485. function (emsg) {
  486. progressHide();
  487. mini.showMessageBox({
  488. title: "提示!",
  489. iconCls: "mini-messagebox-question",
  490. buttons: ["我知道了"],
  491. message: "请注意备注格式:" + smsg + "!",
  492. callback: function (action) {
  493. if (action == "我知道了") {
  494. grid.reload();
  495. }
  496. }
  497. });
  498. });
  499. postAjaxSync("orderPlaceInfo", { ctids: pArr.join(",") });
  500. /* postAjax("order_batch_downloads", "tid=" + fileDownArrays, function (data) {
  501. if (data.length > 0) {
  502. mini.showMessageBox({
  503. title: "提示",
  504. iconCls: "mini-messagebox-question",
  505. buttons: ["我知道了"],
  506. message: data,
  507. callback: function (action) {
  508. if (action == "我知道了") {
  509. resultShow(data);
  510. }
  511. }
  512. });
  513. }
  514. });*/
  515. } else {
  516. mini.alert("请选择要下载的记录!");
  517. }
  518. }
  519. var fileDownArrays4 = [];
  520. function downloadFileFn4() {
  521. //defExport();
  522. var form = new mini.Form("#ctl00_f_all");
  523. var data = form.getData(true, false);
  524. var s = data;
  525. grid.load({
  526. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, customer: s.customer, orderState: s.state, address: s.address,
  527. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, supplier: s.supplier,
  528. seller_memo: s.memo, backdate1: s.backdate1, backdate2: s.backdate2, backtype: s.backtype, pagesize: "1"
  529. });
  530. /* var sels = grid.getSelecteds();
  531. if (sels.length > 0) {
  532. var pArr = new Array();
  533. for (var i = 0; i < sels.length; i++) {
  534. pArr.push(sels[i].ctid);
  535. }
  536. fileDownArrays4 = pArr;
  537. postAjax("order_To_Supplier", "tid=" + fileDownArrays4, function (data) {
  538. if (data.length > 0) {
  539. resultShow(data);
  540. }
  541. });
  542. } else {
  543. mini.alert("请选择要下载的记录!");
  544. }*/
  545. }
  546. function goMultiDownload(sels) {
  547. var total = sels.length;
  548. var culTag = 0;
  549. var errMsg = "";
  550. var pArr = new Array();
  551. progressShow();
  552. for (var i = 0; i < sels.length; i++) {
  553. pArr.push(sels[i].ctid);
  554. //noFileDown(downUrl.replace("download", "copydownload"), "hexdata=" + sels[i].ctid + "&userid=" + userId);
  555. noFileDownForMulProcess(downUrl.replace("download", "copydownload"), "hexdata=" + sels[i].ctid + "&userid=" + userId,
  556. function (smsg) {
  557. culTag = culTag + 1;
  558. if (culTag >= total) {
  559. grid.reload();
  560. if (errMsg == "") {
  561. showToast("文件下载结束");
  562. }
  563. progressHide();
  564. }
  565. },
  566. function (emsg) {
  567. culTag = culTag + 1;
  568. if (emsg.length > 0) {
  569. errMsg += emsg;
  570. errMsg += ",";
  571. }
  572. if (culTag >= total) {
  573. grid.reload();
  574. if (errMsg.length > 0) {
  575. alert(errMsg);
  576. }
  577. progressHide();
  578. }
  579. });
  580. }
  581. postAjaxSync("orderPlaceInfo", { ctids: pArr.join(",") });
  582. //noFileDown(downUrl.replace("download", "copydownload"), "hexdata=" + pArr.join(",") + "&userid=" + userId);
  583. }
  584. function localMultiExport() {
  585. var sels = grid.getSelecteds();
  586. if (sels.length > 0) {
  587. var pArr = new Array();
  588. for (var i = 0; i < sels.length; i++) {
  589. pArr.push(sels[i].ctid);
  590. }
  591. console.log("downurl", downUrl);
  592. fileDown(downUrl, "hexdata=" + pArr.join(",") + "&supplier=1" + "&userid=" + userId);
  593. } else {
  594. mini.alert("请选择要下载的记录!");
  595. }
  596. }
  597. function testMultiExport() {
  598. var sels = grid.getSelecteds();
  599. if (sels.length > 0) {
  600. var total = sels.length;
  601. var culTag = 0;
  602. var errMsg = "";
  603. var pArr = new Array();
  604. progressShow();
  605. for (var i = 0; i < sels.length; i++) {
  606. //pArr.push(sels[i].ctid);
  607. noFileDownForMulProcess(downUrl.replace("download", "testcopydownload"), "hexdata=" + sels[i].ctid + "&userid=" + userId,
  608. function (smsg) {
  609. culTag = culTag + 1;
  610. grid.reload();
  611. progressShow();
  612. if (culTag >= total) {
  613. grid.reload();
  614. if (errMsg == "") {
  615. showToast("文件下载结束");
  616. }
  617. progressHide();
  618. }
  619. },
  620. function (emsg) {
  621. culTag = culTag + 1;
  622. if (emsg.length > 0) {
  623. errMsg += emsg;
  624. errMsg += ",";
  625. }
  626. if (culTag >= total) {
  627. grid.reload();
  628. if (errMsg.length > 0) {
  629. alert(errMsg);
  630. }
  631. progressHide();
  632. }
  633. });
  634. }
  635. } else {
  636. mini.alert("请选择要下载的记录!");
  637. }
  638. }
  639. function downAuth(ctid, tid) {
  640. postAjax("getCellFile", { tid: tid, ctid: ctid, type: "AUTH_FILE" }, function (data) {
  641. for (var i = 0; i < data.length; i++) {
  642. downAtta(data[i].url)
  643. }
  644. });
  645. }
  646. function downAtta(url) {
  647. var pdata = "url=" + url;
  648. var xhr = new XMLHttpRequest(); // 创建XMLHttpRequest实例
  649. xhr.open('POST', "../plug/uploadFileOss.aspx"); // 打开下载文件请求
  650. xhr.responseType = "blob";
  651. xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
  652. xhr.onloadstart = function () {
  653. };
  654. xhr.onprogress = function (event) {
  655. };
  656. xhr.onerror = function () {
  657. progressHide();
  658. }
  659. xhr.ontimeout = function () {
  660. progressHide();
  661. }
  662. xhr.onloadend = function () {
  663. if (xhr.status === 200) {
  664. try {
  665. let blob = xhr.response;
  666. let fileName = xhr.getResponseHeader("Content-Disposition").split('filename=')[1];
  667. fileName = decodeURIComponent(fileName);
  668. let url = URL.createObjectURL(blob);
  669. let a = document.createElement('a');
  670. a.href = url;
  671. a.download = fileName;
  672. document.body.appendChild(a);
  673. a.click();
  674. document.body.removeChild(a);
  675. window.URL.revokeObjectURL(url);
  676. } catch (e) {
  677. progressHide();
  678. }
  679. } else {
  680. }
  681. progressHide();
  682. };
  683. xhr.send(pdata); // 发送下载文件请求
  684. }