feat(M08-B): 补任务成员导出
This commit is contained in:
@@ -226,6 +226,11 @@
|
||||
<strong>{{ memberDialog.taskNo }}</strong>
|
||||
<span>任务奖励 {{ money(memberDialog.taskRewardCents) }}</span>
|
||||
</div>
|
||||
<div class="row-actions">
|
||||
<el-button size="small" :icon="Download" :disabled="!memberDialog.members.length" @click="exportTaskMembers">
|
||||
导出成员
|
||||
</el-button>
|
||||
</div>
|
||||
<el-table :data="memberDialog.members" size="small" v-loading="memberDialog.loading">
|
||||
<el-table-column prop="nickname" label="成员" min-width="140">
|
||||
<template #default="{ row }">
|
||||
@@ -760,6 +765,20 @@ function exportTaskEvents() {
|
||||
]);
|
||||
}
|
||||
|
||||
function exportTaskMembers() {
|
||||
downloadCsv(`cleaning-task-members-${memberDialog.taskNo}-${Date.now()}.csv`, [
|
||||
['任务号', '成员ID', '昵称', '角色', '分账金额', '结算时间'],
|
||||
...memberDialog.members.map((member) => [
|
||||
memberDialog.taskNo,
|
||||
member.userId,
|
||||
member.nickname || '',
|
||||
member.memberRole,
|
||||
money(member.rewardCents),
|
||||
shortDate(member.settledAt)
|
||||
])
|
||||
]);
|
||||
}
|
||||
|
||||
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' });
|
||||
|
||||
Reference in New Issue
Block a user