feat(M08-B): 补任务流水导出

This commit is contained in:
Codex
2026-07-06 14:50:19 +08:00
parent 38ef98b06b
commit 2d07c92a88
6 changed files with 42 additions and 9 deletions
@@ -334,6 +334,11 @@
<h3>操作流水</h3>
<span>最近 {{ detailDialog.events.length }} </span>
</header>
<div class="row-actions">
<el-button size="small" :icon="Download" :disabled="!detailDialog.events.length" @click="exportTaskEvents">
导出流水
</el-button>
</div>
<el-table :data="detailDialog.events" size="small" v-loading="detailDialog.loadingEvents">
<el-table-column prop="action" label="动作" width="130" />
<el-table-column label="状态" width="150">
@@ -737,6 +742,24 @@ function exportTaskDetail() {
]);
}
function exportTaskEvents() {
const task = detailDialog.task;
if (!task) return;
downloadCsv(`cleaning-task-events-${task.taskNo}-${Date.now()}.csv`, [
['任务号', '动作', '原状态', '新状态', '操作人', 'TraceId', '备注', '时间'],
...detailDialog.events.map((event) => [
task.taskNo,
event.action,
event.fromStatus || '',
event.toStatus,
event.actorId,
event.traceId,
event.note,
shortDate(event.createdAt)
])
]);
}
function downloadCsv(filename: string, rows: string[][]) {
const content = rows.map((row) => row.map(csvCell).join(',')).join('\r\n');
const blob = new Blob([`\uFEFF${content}`], { type: 'text/csv;charset=utf-8' });