feat: 新增商品统计组件和优化数据处理逻辑

- 引入商品排行和商品概况组件,展示商品相关统计信息
- 更新商品统计 API,支持时间范围查询和数据格式化
- 优化数据加载逻辑,提升用户体验
- 添加日期范围选择器,增强统计数据的灵活性
This commit is contained in:
lrl
2025-07-17 09:53:04 +08:00
parent 73a73ac312
commit 4620ede9b9
9 changed files with 587 additions and 29 deletions

View File

@@ -2,6 +2,8 @@ import type { PageParam, PageResult } from '@vben/request';
import type { MallDataComparisonResp } from './common';
import { formatDate2 } from '@vben/utils';
import { requestClient } from '#/api/request';
export namespace MallProductStatisticsApi {
@@ -38,26 +40,58 @@ export namespace MallProductStatisticsApi {
/** 浏览转化率 */
browseConvertPercent: number;
}
/** 会员分析 Request */
export interface ProductStatisticsReq {
times: Date[];
}
}
/** 获得商品统计分析 */
export function getProductStatisticsAnalyse(params: PageParam) {
export function getProductStatisticsAnalyse(
params: MallProductStatisticsApi.ProductStatisticsReq,
) {
return requestClient.get<
MallDataComparisonResp<MallProductStatisticsApi.ProductStatistics>
>('/statistics/product/analyse', { params });
>('/statistics/product/analyse', {
params: {
times: [
formatDate2(params.times[0] || new Date()),
formatDate2(params.times[1] || new Date()),
],
},
});
}
/** 获得商品状况明细 */
export function getProductStatisticsList(params: PageParam) {
export function getProductStatisticsList(
params: MallProductStatisticsApi.ProductStatisticsReq,
) {
return requestClient.get<MallProductStatisticsApi.ProductStatistics[]>(
'/statistics/product/list',
{ params },
{
params: {
times: [
formatDate2(params.times[0] || new Date()),
formatDate2(params.times[1] || new Date()),
],
},
},
);
}
/** 导出获得商品状况明细 Excel */
export function exportProductStatisticsExcel(params: PageParam) {
return requestClient.download('/statistics/product/export-excel', { params });
export function exportProductStatisticsExcel(
params: MallProductStatisticsApi.ProductStatisticsReq,
) {
return requestClient.download('/statistics/product/export-excel', {
params: {
times: [
formatDate2(params.times[0] || new Date()),
formatDate2(params.times[1] || new Date()),
],
},
});
}
/** 获得商品排行榜分页 */