修改G30二级内容
This commit is contained in:
@@ -1,22 +1,26 @@
|
||||
<template>
|
||||
<div class="report-body">
|
||||
<!-- 操作行 -->
|
||||
<!-- Action row / 操作行 -->
|
||||
<div class="report-actions">
|
||||
<el-button type="primary" @click="exportReport" icon="el-icon-download" size="small">导出报表</el-button>
|
||||
<el-button type="primary" @click="exportReport" icon="el-icon-download" size="small">Export Report</el-button>
|
||||
<!-- 导出报表 -->
|
||||
</div>
|
||||
<div class="overview-bar">
|
||||
<div class="overview-left">
|
||||
<div class="overview-title">{{ title }}</div>
|
||||
<div class="overview-meta">
|
||||
<span>报表类型:{{ overviewInfo.reportLabel || '-' }}</span>
|
||||
<span>时间范围:{{ overviewInfo.rangeText || '-' }}</span>
|
||||
<span>Report Type: {{ overviewInfo.reportLabel || '-' }}</span>
|
||||
<!-- 报表类型 -->
|
||||
<span>Time Range: {{ overviewInfo.rangeText || '-' }}</span>
|
||||
<!-- 时间范围 -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="overview-actions">
|
||||
<el-tag size="mini" effect="dark">{{ overviewInfo.reportLabel || '-' }}</el-tag>
|
||||
</div>
|
||||
</div>
|
||||
<h1 class="report-body-title">总览数据</h1>
|
||||
<h1 class="report-body-title">Overview Data</h1>
|
||||
<!-- 总览数据 -->
|
||||
<div class="summary-cards" v-if="summary.length > 0">
|
||||
<div v-for="(item, index) in summary" :key="index">
|
||||
<span class="card-title">{{ item.label }}</span>
|
||||
@@ -43,7 +47,8 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<el-empty v-else description="暂无数据" />
|
||||
<el-empty v-else description="No data" />
|
||||
<!-- 暂无数据 -->
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -86,13 +91,13 @@ export default {
|
||||
return value
|
||||
},
|
||||
exportReport() {
|
||||
// 创建工作簿
|
||||
// Create workbook / 创建工作簿
|
||||
const workbook = XLSX.utils.book_new();
|
||||
|
||||
// 准备导出数据数组
|
||||
// Prepare export data array / 准备导出数据数组
|
||||
const exportData = [];
|
||||
|
||||
// 处理表格数据,确保按columns定义的顺序和标签导出
|
||||
// Process table data, ensure export in order and labels defined by columns / 处理表格数据,确保按columns定义的顺序和标签导出
|
||||
const tableData = this.dataset.map(row => {
|
||||
const formattedRow = {};
|
||||
this.columns.forEach(col => {
|
||||
@@ -101,23 +106,23 @@ export default {
|
||||
return formattedRow;
|
||||
});
|
||||
|
||||
// 添加表格数据
|
||||
// Add table data / 添加表格数据
|
||||
exportData.push(...tableData);
|
||||
|
||||
// 创建工作表
|
||||
// Create worksheet / 创建工作表
|
||||
const worksheet = XLSX.utils.json_to_sheet(exportData);
|
||||
|
||||
// 调整列宽
|
||||
// Adjust column width / 调整列宽
|
||||
const columnWidths = this.columns.map(col => ({ wch: Math.max(col.label.length * 1.5, 10) }));
|
||||
worksheet['!cols'] = columnWidths;
|
||||
|
||||
// 添加工作表到工作簿
|
||||
XLSX.utils.book_append_sheet(workbook, worksheet, '报表数据');
|
||||
// Add worksheet to workbook / 添加工作表到工作簿
|
||||
XLSX.utils.book_append_sheet(workbook, worksheet, 'Report Data'); // 报表数据
|
||||
|
||||
// 生成文件名
|
||||
// Generate file name / 生成文件名
|
||||
const exportFileName = this.fileName || `${this.title.replace(/[\\/*?:"<>|]/g, '')}_${new Date().toLocaleDateString()}.xlsx`;
|
||||
|
||||
// 导出文件
|
||||
// Export file / 导出文件
|
||||
XLSX.writeFile(workbook, exportFileName);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user