feat(M08-B): 补结算详情导出

This commit is contained in:
Codex
2026-07-06 15:03:17 +08:00
parent 8c60c35444
commit 6961193857
6 changed files with 49 additions and 10 deletions
@@ -439,6 +439,9 @@
</el-descriptions>
</div>
<template #footer>
<el-button :icon="Download" :disabled="!detailDialog.detail" @click="exportSettlementDetail">
导出详情
</el-button>
<el-button @click="detailDialog.open = false">关闭</el-button>
</template>
</el-dialog>
@@ -791,6 +794,32 @@ function exportCandidates() {
]);
}
function exportSettlementDetail() {
const detail = detailDialog.detail;
if (!detail) return;
const settlement = detail.settlement;
downloadCsv(`cleaning-settlement-detail-${settlement.settlementNo}-${Date.now()}.csv`, [
['类别', '字段', '值'],
['settlement', '结算单号', settlement.settlementNo],
['settlement', '状态', settlement.status],
['settlement', '保洁员', settlement.cleanerName],
['settlement', '门店', settlement.storeName || ''],
['settlement', '任务数', String(settlement.taskCount)],
['settlement', '金额', money(settlement.totalRewardCents)],
['settlement', '转账状态', settlement.payoutState],
['settlement', '外部流水', settlement.payoutReference],
['settlement', '微信确认参数', settlement.payoutPackageInfo],
['settlement', '失败原因', settlement.payoutError],
['settlement', '备注', settlement.note],
['settlement', '创建时间', shortDate(settlement.createdAt)],
...detail.items.map((item) => [
'item',
item.taskNo,
`${item.storeName} ${item.roomName || item.roomNo} ${item.cleanerName} ${money(item.rewardCents)} ${shortDate(item.completedAt)}`
])
]);
}
function exportPreflight() {
const result = preflightDialog.result;
if (!result) return;