feat:【mall 商城】交易统计【ele】100%

This commit is contained in:
YunaiV
2025-10-20 18:31:14 +08:00
parent 03644613f3
commit 376520253d
9 changed files with 516 additions and 368 deletions

View File

@@ -219,7 +219,6 @@ async function handleExport() {
"
/>
</Col>
<Col :xl="8" :md="8" :sm="24" class="mb-4">
<SummaryCard
title="退款金额"

View File

@@ -91,19 +91,8 @@ async function getTradeStatisticsList() {
times: searchTimes.value.length > 0 ? searchTimes.value : undefined,
});
// 处理数据
// TODO @芋艿:搞到 getTradeTrendChartOptions 里;
// TODO @芋艿:貌似和 vue3 + element-plus 数据不一致;
const processedList = list.map((item) => ({
...item,
turnoverPrice: Number(fenToYuan(item.turnoverPrice)),
orderPayPrice: Number(fenToYuan(item.orderPayPrice)),
rechargePrice: Number(fenToYuan(item.rechargePrice)),
expensePrice: Number(fenToYuan(item.expensePrice)),
}));
// 渲染图表
await renderEcharts(getTradeTrendChartOptions(processedList));
await renderEcharts(getTradeTrendChartOptions(list));
}
/** 导出按钮操作 */
@@ -120,8 +109,6 @@ async function handleExport() {
});
// 处理下载
downloadFileFromBlobPart({ fileName: '交易状况.xlsx', source: data });
} catch {
// 用户取消导出
} finally {
exportLoading.value = false;
}

View File

@@ -1,19 +1,30 @@
import type { MallTradeStatisticsApi } from '#/api/mall/statistics/trade';
import { fenToYuan } from '@vben/utils';
/** 交易趋势折线图配置 */
export function getTradeTrendChartOptions(
data: MallTradeStatisticsApi.TradeTrendSummary[],
): any {
// 处理数据:将分转换为元
const processedData = data.map((item) => ({
...item,
turnoverPrice: Number(fenToYuan(item.turnoverPrice)),
orderPayPrice: Number(fenToYuan(item.orderPayPrice)),
rechargePrice: Number(fenToYuan(item.rechargePrice)),
expensePrice: Number(fenToYuan(item.expensePrice)),
}));
return {
dataset: {
dimensions: [
'time',
'date',
'turnoverPrice',
'orderPayPrice',
'rechargePrice',
'expensePrice',
],
source: data,
source: processedData,
},
grid: {
left: 20,