From d7ea77a5dbd5f8959f1f3ab133129623c5f6587a Mon Sep 17 00:00:00 2001 From: chenghuan Date: Fri, 27 Feb 2026 17:35:37 +0800 Subject: [PATCH] =?UTF-8?q?feat(statistics):=20=E6=96=B0=E5=A2=9E=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E5=85=A8=E9=83=A8=E6=9C=88=E4=BB=BD=E6=94=B6=E5=85=A5?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E6=8A=A5=E8=A1=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 API 模块中添加 `downloadAllMonthIncomeStatistics` 方法,用于请求全部月份收入统计报表数据 - 新增路由 `/statistics/download-reports` 并配置对应页面组件 - 创建下载页面视图,包含触发下载的按钮及加载状态处理 - 使用 `downloadFileFromBlobPart` 工具函数处理文件下载并命名为“财务报表.xlsx” --- apps/finance/src/api/statistics/index.ts | 10 +++++ .../src/router/routes/modules/statistics.ts | 9 ++++ .../src/views/statistics/download/index.vue | 41 +++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 apps/finance/src/views/statistics/download/index.vue diff --git a/apps/finance/src/api/statistics/index.ts b/apps/finance/src/api/statistics/index.ts index 5d9415c..0270c8a 100644 --- a/apps/finance/src/api/statistics/index.ts +++ b/apps/finance/src/api/statistics/index.ts @@ -139,4 +139,14 @@ export const statisticsApi = { data, }); }, + + /** + * 下载全部月份的收入统计报表 + * @returns 全部月份的收入统计报表数据 + */ + downloadAllMonthIncomeStatistics: () => { + return defaultRequestClient.download('common/statistics/getMonthStatistics', { + data: {}, + }); + }, }; diff --git a/apps/finance/src/router/routes/modules/statistics.ts b/apps/finance/src/router/routes/modules/statistics.ts index 58ea7e1..ba94855 100644 --- a/apps/finance/src/router/routes/modules/statistics.ts +++ b/apps/finance/src/router/routes/modules/statistics.ts @@ -65,6 +65,15 @@ const routes: RouteRecordRaw[] = [ path: '/statistics/finance-month-report', component: () => import('#/views/statistics/summary-month/report.vue'), }, + { + meta: { + title: '下载全部报表', + keepAlive: true, + }, + name: 'DownloadReports', + path: '/statistics/download-reports', + component: () => import('#/views/statistics/download/index.vue'), + }, ], }, ]; diff --git a/apps/finance/src/views/statistics/download/index.vue b/apps/finance/src/views/statistics/download/index.vue new file mode 100644 index 0000000..1b69ce2 --- /dev/null +++ b/apps/finance/src/views/statistics/download/index.vue @@ -0,0 +1,41 @@ + + + + +