From 831dbe10d1c0975b0de4251b67b939347b079006 Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期四, 20 二月 2025 10:35:01 +0800 Subject: [PATCH] 单据管理多选,全选excel导出 --- src/main/webapp/static/js/order/order.js | 90 ++++++++++++++++++++++++++++++++++++--------- 1 files changed, 72 insertions(+), 18 deletions(-) diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js index 3e27de8..3b085f1 100644 --- a/src/main/webapp/static/js/order/order.js +++ b/src/main/webapp/static/js/order/order.js @@ -1,5 +1,8 @@ var insTbCount = 0; var printMatCodeNos = []; +var selectedData = []; +var selectType = 'one'; +var queryWhere = {}; layui.config({ base: baseUrl + "/static/layui/lay/modules/" }).use(['layer', 'form', 'table', 'util', 'admin', 'xmSelect', 'laydate'], function () { @@ -41,7 +44,8 @@ page: true, cellMinWidth: 100, cols: [[ - {type: 'numbers'}, + {type: 'checkbox'}, + {type: 'numbers', title: '搴忓彿'}, {field: 'orderNo', title: '鍗曟嵁缂栧彿'}, {field: 'docType$', align: 'center', title: '绫诲瀷', minWidth: 160, width: 160}, {align: 'center', title: '鏄庣粏', toolbar: '#tbLook', minWidth: 160, width: 160}, @@ -73,37 +77,87 @@ if (res.code === 403) { top.location.href = baseUrl+"/"; } + + var selectedOrderNos = selectedData.map(item => item.orderNo); + var indexArr = [] + + res.data.forEach(function (item,index) { + if (selectedOrderNos.includes(item.orderNo)) { + indexArr.push(index) + } + }) + // 閲嶆柊娓叉煋 + table.setRowChecked('order',{ + index: indexArr + }); insTbCount = count; + } + }); + + table.on('checkbox(order)', function (obj) { + if (obj.type === 'all' && obj.checked) { + selectType = 'all' + } else if (obj.type === 'one' && obj.checked) { + selectType = 'one' + selectedData.push(obj.data); // 閫変腑鏃朵繚瀛樻暟鎹� + } else if (obj.type === 'one' && !obj.checked && obj.index !== undefined) { + selectType = 'one' + selectedData = selectedData.filter(item => item.orderNo !== obj.data.orderNo); // 鍙栨秷鏃剁Щ闄ゆ暟鎹� + } else if (obj.type === 'all' && !obj.checked && obj.index === undefined) { + selectType = 'one' + selectedData = []; } }); // 鎼滅储 form.on('submit(tbSearch)', function (data) { insTb.reload({where: data.field, page: {curr: 1}}); + queryWhere = data.field }); - // 瀵煎嚭鎵�鏈� + // 瀵煎嚭 form.on('submit(exportAll)', function (data) { - layer.closeAll(); - layer.load(1, {shade: [0.1,'#fff']}); - $.ajax({ - url: baseUrl+"/order/exportAll/auth", - headers: {'token': localStorage.getItem('token')}, - data: {}, - dataType:'json', - contentType:'application/json;charset=UTF-8', - method: 'POST', - success: function (res) { - if (res.code === 200) { - table.exportFile(['鍗曟嵁缂栧彿','鏁伴噺','浣滀笟鏁伴噺','瀹屾垚鏁伴噺','鍟嗗搧缂栫爜','鍟嗗搧鍚嶇О','瑙勬牸','閲嶉噺','璐т富id','璐х墿褰㈡�乮d'],res.data,'xls'); - } else if (res.code === 403) { - top.location.href = baseUrl+"/"; + layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function () { + layer.closeAll(); + layer.load(1, {shade: [0.1, '#fff']}); + var reqData = {}; + reqData.type = selectType; + if (reqData.type === 'one') { + reqData.orderNoList = selectedData.map(item => item.orderNo); + } else { + if (Object.keys(queryWhere).length === 0) { + reqData.queryWhere = { + create_time: "", + cstmr_name: "", + doc_type: "", + oper_memb: "", + order_no: "", + settle: "" + } } else { - layer.msg(res.msg) + reqData.queryWhere = queryWhere } } + $.ajax({ + url: baseUrl + "/order/definedExcelExport/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(reqData), + contentType: 'application/json;charset=UTF-8', + method: 'POST', + xhrFields: { + responseType: 'blob' // 澶勭悊杩斿洖鐨勬枃浠舵祦 + }, + success: function (res) { + var link = document.createElement('a'); + link.href = URL.createObjectURL(res); // 浣跨敤 Blob 瀵硅薄鐢熸垚涓存椂 URL + link.download = new Date().getTime() + '.xlsx'; // 璁剧疆涓嬭浇鐨勬枃浠跺悕 + document.body.appendChild(link); + link.click(); // 瑙﹀彂涓嬭浇 + document.body.removeChild(link); + } + }); + layer.closeAll('loading'); }); - layer.closeAll('loading'); }); // 娣诲姞 -- Gitblit v1.9.1