|
@ -303,20 +303,24 @@ const doExportExcel = async () => { |
|
|
// 处理首次请求的数据 |
|
|
// 处理首次请求的数据 |
|
|
const firstData = firstResult.data.list |
|
|
const firstData = firstResult.data.list |
|
|
if (firstData.length) { |
|
|
if (firstData.length) { |
|
|
const rows = firstData.map((row, index) => [ |
|
|
|
|
|
totalExported + index + 1, |
|
|
|
|
|
row.username || '', |
|
|
|
|
|
row.jwcode || '', |
|
|
|
|
|
row.area || '', |
|
|
|
|
|
platformMap[row.consumePlatform] || '', |
|
|
|
|
|
(row.gold).toFixed(2) || '0.00', |
|
|
|
|
|
updateTypeMap[row.updateType] || '', |
|
|
|
|
|
(row.rechargeCoin / 100).toFixed(2) || '0.00', |
|
|
|
|
|
(row.freeCoin / 100).toFixed(2) || '0.00', |
|
|
|
|
|
(row.taskCoin / 100).toFixed(2) || '0.00', |
|
|
|
|
|
row.name || '', |
|
|
|
|
|
moment(row.createTime).format('YYYY-MM-DD HH:mm:ss') || '' |
|
|
|
|
|
]) |
|
|
|
|
|
|
|
|
const rows = firstData.map((row, index) => { |
|
|
|
|
|
const consumePlatform = parseInt(row.consumePlatform, 10); // 转换为数字类型 |
|
|
|
|
|
const platformInfo = platformMap[consumePlatform] || ''; |
|
|
|
|
|
return [ |
|
|
|
|
|
totalExported + index + 1, |
|
|
|
|
|
row.username || '', |
|
|
|
|
|
row.jwcode || '', |
|
|
|
|
|
row.area || '', |
|
|
|
|
|
platformInfo, |
|
|
|
|
|
(row.gold / 100).toFixed(2) || '0.00', |
|
|
|
|
|
updateTypeMap[row.updateType] || '', |
|
|
|
|
|
(row.rechargeCoin / 100).toFixed(2) || '0.00', |
|
|
|
|
|
(row.freeCoin / 100).toFixed(2) || '0.00', |
|
|
|
|
|
(row.taskCoin / 100).toFixed(2) || '0.00', |
|
|
|
|
|
row.name || '', |
|
|
|
|
|
moment(row.createTime).format('YYYY-MM-DD HH:mm:ss') || '' |
|
|
|
|
|
] |
|
|
|
|
|
}) |
|
|
writer.write(rows) |
|
|
writer.write(rows) |
|
|
totalExported += firstData.length |
|
|
totalExported += firstData.length |
|
|
exportProgress.value = Math.round((totalExported / totalRecords) * 100) |
|
|
exportProgress.value = Math.round((totalExported / totalRecords) * 100) |
|
@ -478,11 +482,6 @@ const handleCurrentChange = function (val) { |
|
|
:close-on-click-modal="false" |
|
|
:close-on-click-modal="false" |
|
|
> |
|
|
> |
|
|
<div class="info-panel-header">导出信息</div> |
|
|
<div class="info-panel-header">导出信息</div> |
|
|
<!-- 直接使用 detailY 显示信息,添加可选链操作符 --> |
|
|
|
|
|
<!-- detailY是一个ref,所以在模板中应该直接使用detailY.consumePlatform, |
|
|
|
|
|
而不是detailY.value.consumePlatform。 |
|
|
|
|
|
因为在模板中,ref变量会自动解包,不需要.value。 |
|
|
|
|
|
例如,在代码中,我们可能错误地在模板中使用了detailY.value,但实际上应该直接使用detailY。 --> |
|
|
|
|
|
<div v-if="!detailY.jwcode && !detailY.consumePlatform && !detailY.num && !detailY.area && (getTime.length < 2)"> |
|
|
<div v-if="!detailY.jwcode && !detailY.consumePlatform && !detailY.num && !detailY.area && (getTime.length < 2)"> |
|
|
你正在导出所有数据 |
|
|
你正在导出所有数据 |
|
|
</div> |
|
|
</div> |
|
@ -495,9 +494,9 @@ const handleCurrentChange = function (val) { |
|
|
<div v-if="detailY.area">所属地区:{{ detailY.area || '' }}</div> |
|
|
<div v-if="detailY.area">所属地区:{{ detailY.area || '' }}</div> |
|
|
<div v-if="Array.isArray(getTime) && getTime.length >= 2"> |
|
|
<div v-if="Array.isArray(getTime) && getTime.length >= 2"> |
|
|
<span>更新时间:</span> |
|
|
<span>更新时间:</span> |
|
|
<!-- 直接使用 getTime 而非 getTime.value --> |
|
|
|
|
|
|
|
|
<!-- 修改时间格式为精确到秒 --> |
|
|
<span v-if="Array.isArray(getTime) && getTime.length >= 2"> |
|
|
<span v-if="Array.isArray(getTime) && getTime.length >= 2"> |
|
|
{{ moment(getTime[0]).format('YYYY-MM-DD') }} 至 {{ moment(getTime[1]).format('YYYY-MM-DD') }} |
|
|
|
|
|
|
|
|
{{ moment(getTime[0]).format('YYYY-MM-DD HH:mm:ss') }} 至 {{ moment(getTime[1]).format('YYYY-MM-DD HH:mm:ss') }} |
|
|
</span> |
|
|
</span> |
|
|
<span v-else></span> |
|
|
<span v-else></span> |
|
|
</div> |
|
|
</div> |
|
|