添加报表

This commit is contained in:
2025-12-25 17:18:12 +08:00
parent d46d50018e
commit 6ec846472d
15 changed files with 1078 additions and 15 deletions

View File

@@ -0,0 +1,18 @@
# Change: Add Bank Report Download Feature
## Why
银行端需要报表统计与下载功能,以便银行工作人员能够按不同维度(支行、网点、部门、人员、客户等)查看和导出业务数据,支持按日、月、季或自定义时间范围筛选,提升数据分析和决策效率。
## What Changes
- 新增报表列表页面,展示四大类报表(多维统计、访客报表、营销报表、权益管理)
- 新增报表下载页面,支持日期维度筛选和 Excel 文件下载
- 添加报表相关的 mock 数据和 API 接口
- 在银行端仪表盘添加报表功能入口
## Impact
- Affected specs: 新增 `bank-report` capability
- Affected code:
- 新增 `src/pagesBank/report/` 目录及相关页面
- 新增 `src/pagesBank/api/report.ts` API 接口
- 新增 `src/pagesBank/mock/report.ts` mock 数据
- 修改 `src/pagesBank/dashboard/index.vue` 添加报表入口

View File

@@ -0,0 +1,66 @@
## ADDED Requirements
### Requirement: Report List Display
系统 SHALL 在银行端提供报表列表页面,展示所有可供下载的报表清单,分为四个主要板块:多维统计、访客报表、营销报表、权益管理。
#### Scenario: User views report list
- **WHEN** 用户访问报表列表页面
- **THEN** 系统显示四个报表分类板块
- **AND** 每个板块包含对应的报表条目
- **AND** 所有报表条目均可点击
#### Scenario: Report categories display correctly
- **WHEN** 报表列表页面加载完成
- **THEN** 多维统计板块显示:按支行统计、按网点统计、按部门统计、按人员统计、按客户统计
- **AND** 访客报表板块显示:支行访客报表、网点访客报表、人员访客报表
- **AND** 营销报表板块显示:小额贷业绩报表、小额贷营销汇总、消费贷营销报表、三农部支行汇总、三农部营销报表、公司部营销汇总表
- **AND** 权益管理板块显示:我赠送的记录、全员赠送记录、权益二维码
### Requirement: Report Navigation
系统 SHALL 支持用户从报表列表页面点击任意报表条目跳转至报表下载页面,并传递报表类型标识。
#### Scenario: User clicks report item
- **WHEN** 用户点击报表列表中的任意报表条目
- **THEN** 系统跳转至报表下载页面
- **AND** 传递所选报表的类型标识ID 或名称)至下载页面
### Requirement: Report Download Page
系统 SHALL 提供报表下载页面,支持日期维度筛选和 Excel 文件下载。
#### Scenario: Download page displays with default date
- **WHEN** 用户进入报表下载页面
- **THEN** 页面顶部显示日期维度筛选区(按日、按月、按季、自定义)
- **AND** 默认选中"按日"选项
- **AND** 显示当前系统日期(默认为 2025-12-25
- **AND** 显示"EXCEL"格式标识
- **AND** 显示"点击下载"按钮
- **AND** 页面底部显示使用帮助说明
#### Scenario: User changes date dimension
- **WHEN** 用户切换日期维度选项(按日/按月/按季/自定义)
- **THEN** 系统更新日期显示格式
- **AND** 用户可根据选定的维度修改日期
#### Scenario: User downloads report
- **WHEN** 用户选择日期并点击"点击下载"按钮
- **THEN** 系统发起下载请求
- **AND** 模拟文件生成过程
- **AND** 显示下载成功提示
- **AND** 提示用户可以点击手机右上角的【...】进行转发或保存文件
### Requirement: Report Data Mock
系统 SHALL 使用 mock 数据模拟报表下载功能,无需真实后端接口。
#### Scenario: Mock data generation
- **WHEN** 用户请求下载报表
- **THEN** 系统使用 mock 数据模拟文件生成
- **AND** 模拟下载延迟(约 500ms
- **AND** 返回下载成功状态
### Requirement: Report Entry in Dashboard
系统 SHALL 在银行端仪表盘添加报表功能入口。
#### Scenario: Dashboard displays report entry
- **WHEN** 用户访问银行端仪表盘
- **THEN** 快捷操作区域显示"报表下载"入口
- **AND** 点击入口跳转至报表列表页面

View File

@@ -0,0 +1,30 @@
## 1. 数据层实现
- [ ] 1.1 创建报表类型定义(`src/typings/bank.ts` 添加 ReportType、ReportCategory 等类型)
- [ ] 1.2 创建报表 mock 数据(`src/pagesBank/mock/report.ts`
- [ ] 1.3 创建报表 API 接口(`src/pagesBank/api/report.ts`
## 2. 报表列表页面
- [ ] 2.1 创建报表列表页面(`src/pagesBank/report/list.vue`
- [ ] 2.2 实现报表分类展示(多维统计、访客报表、营销报表、权益管理)
- [ ] 2.3 实现报表条目点击跳转逻辑
## 3. 报表下载页面
- [ ] 3.1 创建报表下载页面(`src/pagesBank/report/download.vue`
- [ ] 3.2 实现日期维度筛选组件(按日、按月、按季、自定义)
- [ ] 3.3 实现日期选择器(使用 wot-design-uni 组件)
- [ ] 3.4 实现下载按钮和下载逻辑
- [ ] 3.5 添加使用帮助说明文案
## 4. 仪表盘集成
- [ ] 4.1 修改银行端仪表盘(`src/pagesBank/dashboard/index.vue`
- [ ] 4.2 在快捷操作区域添加"报表下载"入口
## 5. 类型定义更新
- [ ] 5.1 更新 `src/typings/bank.ts` 添加报表相关类型
## 6. 验证与测试
- [ ] 6.1 验证报表列表页面正常显示
- [ ] 6.2 验证报表跳转逻辑正确
- [ ] 6.3 验证日期筛选功能正常
- [ ] 6.4 验证下载功能模拟成功
- [ ] 6.5 验证仪表盘入口正常跳转

View File

@@ -0,0 +1,70 @@
# bank-report Specification
## Purpose
TBD - created by archiving change add-bank-report. Update Purpose after archive.
## Requirements
### Requirement: Report List Display
系统 SHALL 在银行端提供报表列表页面,展示所有可供下载的报表清单,分为四个主要板块:多维统计、访客报表、营销报表、权益管理。
#### Scenario: User views report list
- **WHEN** 用户访问报表列表页面
- **THEN** 系统显示四个报表分类板块
- **AND** 每个板块包含对应的报表条目
- **AND** 所有报表条目均可点击
#### Scenario: Report categories display correctly
- **WHEN** 报表列表页面加载完成
- **THEN** 多维统计板块显示:按支行统计、按网点统计、按部门统计、按人员统计、按客户统计
- **AND** 访客报表板块显示:支行访客报表、网点访客报表、人员访客报表
- **AND** 营销报表板块显示:小额贷业绩报表、小额贷营销汇总、消费贷营销报表、三农部支行汇总、三农部营销报表、公司部营销汇总表
- **AND** 权益管理板块显示:我赠送的记录、全员赠送记录、权益二维码
### Requirement: Report Navigation
系统 SHALL 支持用户从报表列表页面点击任意报表条目跳转至报表下载页面,并传递报表类型标识。
#### Scenario: User clicks report item
- **WHEN** 用户点击报表列表中的任意报表条目
- **THEN** 系统跳转至报表下载页面
- **AND** 传递所选报表的类型标识ID 或名称)至下载页面
### Requirement: Report Download Page
系统 SHALL 提供报表下载页面,支持日期维度筛选和 Excel 文件下载。
#### Scenario: Download page displays with default date
- **WHEN** 用户进入报表下载页面
- **THEN** 页面顶部显示日期维度筛选区(按日、按月、按季、自定义)
- **AND** 默认选中"按日"选项
- **AND** 显示当前系统日期(默认为 2025-12-25
- **AND** 显示"EXCEL"格式标识
- **AND** 显示"点击下载"按钮
- **AND** 页面底部显示使用帮助说明
#### Scenario: User changes date dimension
- **WHEN** 用户切换日期维度选项(按日/按月/按季/自定义)
- **THEN** 系统更新日期显示格式
- **AND** 用户可根据选定的维度修改日期
#### Scenario: User downloads report
- **WHEN** 用户选择日期并点击"点击下载"按钮
- **THEN** 系统发起下载请求
- **AND** 模拟文件生成过程
- **AND** 显示下载成功提示
- **AND** 提示用户可以点击手机右上角的【...】进行转发或保存文件
### Requirement: Report Data Mock
系统 SHALL 使用 mock 数据模拟报表下载功能,无需真实后端接口。
#### Scenario: Mock data generation
- **WHEN** 用户请求下载报表
- **THEN** 系统使用 mock 数据模拟文件生成
- **AND** 模拟下载延迟(约 500ms
- **AND** 返回下载成功状态
### Requirement: Report Entry in Dashboard
系统 SHALL 在银行端仪表盘添加报表功能入口。
#### Scenario: Dashboard displays report entry
- **WHEN** 用户访问银行端仪表盘
- **THEN** 快捷操作区域显示"报表下载"入口
- **AND** 点击入口跳转至报表列表页面