From 044db57c67ee5f54fe0a1666a345f7a94aeddf06 Mon Sep 17 00:00:00 2001 From: chenghuan Date: Fri, 16 Jan 2026 15:17:22 +0800 Subject: [PATCH] =?UTF-8?q?feat(statistics):=20=E6=96=B0=E5=A2=9E=E8=AF=BE?= =?UTF-8?q?=E7=A8=8B=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 --- apps/finance/src/api/statistics/index.ts | 35 +++- .../src/router/routes/modules/statistics.ts | 9 ++ .../src/views/statistics/course/report.vue | 153 ++++++++++++++++++ 3 files changed, 193 insertions(+), 4 deletions(-) create mode 100644 apps/finance/src/views/statistics/course/report.vue diff --git a/apps/finance/src/api/statistics/index.ts b/apps/finance/src/api/statistics/index.ts index 1f39679..a31d7dc 100644 --- a/apps/finance/src/api/statistics/index.ts +++ b/apps/finance/src/api/statistics/index.ts @@ -2,33 +2,60 @@ import { requestClient } from '#/api/request'; export const statisticsApi = { /** - * 获取天医币报表列表 + * 获取天医币报表 + * @param data 请求参数 + * @param data.month 月份 + * @param data.year 年份 + * @returns 天医币报表数据 */ getReportTianyibi: (data: { month?: string; year: number }) => { return requestClient.post('common/statistics/pointStatistics', data); }, /** - * 获取实物报表列表 + * 获取实物报表 + * @param data 请求参数 + * @param data.month 月份 + * @param data.year 年份 + * @returns 实物报表数据 */ getPhysicalStatistics: (data: { month?: string; year: number }) => { return requestClient.post('common/statistics/physicalStatistics', data); }, /** - * 获取培训班报表列表 + * 获取培训班报表 + * @param data 请求参数 + * @param data.month 月份 + * @param data.year 年份 + * @returns 培训班报表数据 */ getTrainingClassStatistics: (data: { month?: string; year: number }) => { return requestClient.post('common/statistics/trainingClassStatistics', data); }, /** - * 获取VIP报表列表 + * 获取VIP报表 + * @param data 请求参数 + * @param data.month 月份 + * @param data.year 年份 + * @returns VIP报表数据 */ getVipStatistics: (data: { month?: string; year: number }) => { return requestClient.post('common/statistics/vipStatistics', data); }, + /** + * 获取课程报表 + * @param data 请求参数 + * @param data.month 月份 + * @param data.year 年份 + * @returns 课程报表数据 + */ + getCourseStatistics: (data: { month?: string; year: number }) => { + return requestClient.post('common/statistics/courseStatistics', data); + }, + /** * 下载天医币报表 */ diff --git a/apps/finance/src/router/routes/modules/statistics.ts b/apps/finance/src/router/routes/modules/statistics.ts index af6add4..b3fa133 100644 --- a/apps/finance/src/router/routes/modules/statistics.ts +++ b/apps/finance/src/router/routes/modules/statistics.ts @@ -47,6 +47,15 @@ const routes: RouteRecordRaw[] = [ path: '/statistics/vip-report', component: () => import('#/views/statistics/vip/report.vue'), }, + { + meta: { + title: '课程报表', + keepAlive: true, + }, + name: 'CourseReport', + path: '/statistics/course-report', + component: () => import('#/views/statistics/course/report.vue'), + }, ], }, ]; diff --git a/apps/finance/src/views/statistics/course/report.vue b/apps/finance/src/views/statistics/course/report.vue new file mode 100644 index 0000000..3d7dd73 --- /dev/null +++ b/apps/finance/src/views/statistics/course/report.vue @@ -0,0 +1,153 @@ + + + +