月度排名增加导出功能

This commit is contained in:
liang.chao 2025-06-04 15:15:07 +08:00
parent d3d4ad7f3f
commit aa221ded75
1 changed files with 40 additions and 0 deletions

View File

@ -8,6 +8,7 @@
<body> <body>
<div style="padding: 10px;"> <div style="padding: 10px;">
<div class="layui-btn-container" id="auditBtnGroup"> <div class="layui-btn-container" id="auditBtnGroup">
<button id="exportBtn" class="layui-btn">导出</button>
</div> </div>
<table class="layui-table" id="baseTable" lay-filter="test"></table> <table class="layui-table" id="baseTable" lay-filter="test"></table>
</div> </div>
@ -17,6 +18,8 @@
<script src="../../../layui/layui.js"></script> <script src="../../../layui/layui.js"></script>
<script type="text/javascript" src="../../../js/jq.js"></script> <script type="text/javascript" src="../../../js/jq.js"></script>
<script type="text/javascript" src="../../../js/my/permission.js"></script> <script type="text/javascript" src="../../../js/my/permission.js"></script>
<!-- SheetJS xlsx 用于导出 Excel -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.5/xlsx.full.min.js"></script>
<script> <script>
let headerRows; let headerRows;
let layer, laydate, table; let layer, laydate, table;
@ -144,6 +147,43 @@
}); });
} }
// 导出按钮点击事件
$('#exportBtn').on('click', function () {
var data = table.cache.baseTable; // 获取表格缓存数据
if (!data || data.length === 0) {
alert("没有可导出的数据!");
return;
}
// 构造二维数组用于导出
let exportData = [];
// 定义字段名映射关系
const fieldMap = {
'avgScore': '月度对标平均得分',
'subName': '分包商名称'
// 可以继续添加其他字段映射
};
// 获取表头(排除 LAY_* 字段,并做字段名替换)
const originalHeaders = Object.keys(data[0]).filter(key => !key.startsWith('LAY_'));
const headers = originalHeaders.map(key => fieldMap[key] || key); // 替换为中文字段名
exportData.push(headers);
// 遍历每一行数据,只保留非 LAY_* 字段并映射值
data.forEach(row => {
const rowData = originalHeaders.map(header => row[header]);
exportData.push(rowData);
});
// 使用 xlsx 导出
var ws = XLSX.utils.aoa_to_sheet(exportData);
var wb = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(wb, ws, '导出数据');
XLSX.writeFile(wb, '月度排名统计.xlsx');
});
function getTitle() { function getTitle() {
let evaluateDate = new Set(); let evaluateDate = new Set();
let data = JSON.parse(localStorage.getItem("evaluateData")); let data = JSON.parse(localStorage.getItem("evaluateData"));