This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
# Change: 调整运营报表展示并补齐导出场景
|
||||
|
||||
## Why
|
||||
|
||||
运营报表首版将「汇总数据」标题与趋势图放在报表页内,信息层级冗余且与仪表台分析页重复;同时导出管理缺少临期资产、设备激活情况报表、套餐续费情况报表三个导出场景,且佣金/套餐真流量场景命名与实际业务口径不一致。
|
||||
|
||||
## What Changes
|
||||
|
||||
- 运营报表两个页面移除「汇总数据」标题,仅保留数据快照、导出状态与导出/下载操作。
|
||||
- 运营报表两个页面移除趋势图卡片与「统计粒度」筛选,不再请求趋势接口。
|
||||
- 在仪表台分析页(`/dashboard/analysis`)新增「设备激活趋势」「套餐续费趋势」组件,占位与门禁与运营报表一致(超级管理员/平台账号);统计粒度改为下拉选择(按日/按月),并支持时间范围与刷新。
|
||||
- 导出管理新增 3 个导出场景:`expiring_asset`(临期资产)、`operations_activation`(设备激活情况报表)、`operations_renewal`(套餐续费情况报表)。
|
||||
- 修正场景显示名称:`commission_record` → 佣金明细、`package_traffic_alert` → 套餐真流量达量预警。
|
||||
|
||||
## Impact
|
||||
|
||||
- Affected specs: `operations-reports`(修改)、`export-task-management`(新增/修改)
|
||||
- Affected code:
|
||||
- `src/views/operations-reports/activation/index.vue`、`src/views/operations-reports/renewal/index.vue`
|
||||
- `src/views/dashboard/analysis/index.vue`、`src/views/dashboard/analysis/widget/OperationsActivationTrend.vue`、`src/views/dashboard/analysis/widget/OperationsRenewalTrend.vue`(新增)
|
||||
- `src/types/api/exportTask.ts`、`src/config/constants/exportTask.ts`
|
||||
- `src/router/routesAlias.ts`、`src/router/routes/asyncRoutes.ts`
|
||||
- `src/locales/langs/zh.json`、`src/locales/langs/en.json`
|
||||
@@ -0,0 +1,37 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Additional Export Task Scenes
|
||||
|
||||
The admin frontend SHALL support three additional export task scenes: `expiring_asset`(临期资产)、`operations_activation`(设备激活情况报表)、`operations_renewal`(套餐续费情况报表)。每个场景 SHALL 有独立的导出任务列表子页,页面固定查询该场景任务(`GET /api/admin/export-tasks` with `scene=<scene>`),并提供 `export_task:<scene>:detail` / `export_task:<scene>:download` 权限配置。
|
||||
|
||||
#### Scenario: Open expiring asset export task page
|
||||
|
||||
- **GIVEN** 用户打开「导出临期资产」页面
|
||||
- **WHEN** 页面查询导出任务列表
|
||||
- **THEN** 系统 MUST call `GET /api/admin/export-tasks` with `scene=expiring_asset`
|
||||
|
||||
#### Scenario: Open operations report export task pages
|
||||
|
||||
- **GIVEN** 用户打开「导出设备激活情况报表」或「导出套餐续费情况报表」页面
|
||||
- **WHEN** 页面查询导出任务列表
|
||||
- **THEN** 系统 MUST call `GET /api/admin/export-tasks` with `scene=operations_activation` 或 `scene=operations_renewal`
|
||||
|
||||
#### Scenario: Gate new scene actions
|
||||
|
||||
- **WHEN** 任一新增场景页面渲染详情与下载操作
|
||||
- **THEN** 系统 MUST 使用对应场景的 `export_task:<scene>:detail` 与 `export_task:<scene>:download` 权限码
|
||||
|
||||
### Requirement: Export Scene Display Names
|
||||
|
||||
导出任务创建弹窗与导出任务列表 SHALL 按最新业务口径展示场景名称:`commission_record` 显示为「佣金明细」(原「佣金记录」),`package_traffic_alert` 显示为「套餐真流量达量预警」(原「套餐真流量预警」);新增场景依次显示为「临期资产」「设备激活情况报表」「套餐续费情况报表」。
|
||||
|
||||
#### Scenario: Show renamed scene names
|
||||
|
||||
- **WHEN** 导出弹窗以 `scene=commission_record` 打开
|
||||
- **THEN** 弹窗 MUST 显示「佣金明细」
|
||||
- **AND** 以 `scene=package_traffic_alert` 打开时 MUST 显示「套餐真流量达量预警」
|
||||
|
||||
#### Scenario: Show new scene names
|
||||
|
||||
- **WHEN** 导出弹窗以 `scene=operations_activation` 打开
|
||||
- **THEN** 弹窗 MUST 显示「设备激活情况报表」
|
||||
@@ -0,0 +1,31 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: 运营报表趋势分析
|
||||
|
||||
系统 SHALL 在仪表台分析页(`/dashboard/analysis`)以「设备激活趋势」「套餐续费趋势」两个组件展示运营报表趋势数据。每个组件 SHALL 提供时间范围选择、统计粒度下拉(按日/按月)与刷新操作,并复用 `OperationsTrendChart` 以时间点为横轴渲染关键指标曲线。两个组件 SHALL 仅对超级管理员/平台账号可见。
|
||||
|
||||
#### Scenario: 展示激活趋势
|
||||
|
||||
- **WHEN** 用户在仪表台分析页展开「设备激活趋势」组件并选择时间范围
|
||||
- **THEN** 请求 `GET /api/admin/operations-reports/activation-trend` 并按所选 `granularity`(日/月)渲染多系列曲线
|
||||
|
||||
#### Scenario: 切换统计粒度
|
||||
|
||||
- **WHEN** 用户将统计粒度从「按日」切换为「按月」
|
||||
- **THEN** 组件以 `granularity=month` 重新请求趋势接口并刷新图表
|
||||
|
||||
## MODIFIED Requirements
|
||||
|
||||
### Requirement: 运营报表页面
|
||||
|
||||
系统 SHALL 提供顶层菜单「运营报表」及两个子页「设备激活报表」「套餐续费报表」。每页 SHALL 包含时间范围与分组筛选、数据快照信息、汇总表格与导出按钮;页面 SHALL NOT 展示「汇总数据」标题,也 SHALL NOT 在页面内渲染趋势图或提供统计粒度筛选。
|
||||
|
||||
#### Scenario: 查询汇总并渲染表格
|
||||
|
||||
- **WHEN** 用户选择时间范围与分组后点击查询
|
||||
- **THEN** 请求对应汇总接口并以表格展示各分组指标与合计行
|
||||
|
||||
#### Scenario: 导出报表
|
||||
|
||||
- **WHEN** 用户点击导出并成功创建异步任务
|
||||
- **THEN** 前端轮询任务状态,任务完成后可下载文件
|
||||
@@ -0,0 +1,24 @@
|
||||
# Implementation Tasks
|
||||
|
||||
## 1. 运营报表页面调整
|
||||
|
||||
- [x] 1.1 移除 `activation/index.vue`、`renewal/index.vue` 表头「汇总数据」标题(保留数据快照与导出操作)
|
||||
- [x] 1.2 移除报表页趋势图卡片、趋势相关导入/状态/请求及 `granularity` 搜索项
|
||||
- [x] 1.3 清理报表页趋势相关样式(`.report-toolbar`、`.report-title` 及 `.report-snapshot` 的 margin)
|
||||
|
||||
## 2. 趋势分析迁入仪表台分析页
|
||||
|
||||
- [x] 2.1 新增 `widget/OperationsActivationTrend.vue`、`widget/OperationsRenewalTrend.vue`(时间范围 + 统计粒度下拉 + 刷新,复用 `OperationsTrendChart`)
|
||||
- [x] 2.2 在 `views/dashboard/analysis/index.vue` 注册两个趋势组件,门禁使用 `isPlatformAccount`
|
||||
|
||||
## 3. 导出场景补齐
|
||||
|
||||
- [x] 3.1 `ExportTaskScene` 新增 `expiring_asset` / `operations_activation` / `operations_renewal`
|
||||
- [x] 3.2 `EXPORT_TASK_SCENE_CONFIG` 新增三个场景配置,并修正 `commission_record`→佣金明细、`package_traffic_alert`→套餐真流量达量预警
|
||||
- [x] 3.3 `routesAlias.ts` 与 `asyncRoutes.ts` 新增三个导出任务列表子路由
|
||||
- [x] 3.4 `zh.json` / `en.json` 新增导出场景菜单标题并同步更新命名
|
||||
|
||||
## 4. 验证
|
||||
|
||||
- [x] 4.1 `npx eslint --fix`、`npx stylelint ... --fix`、`npx vue-tsc --noEmit`、`npx vite build --mode production`
|
||||
- [x] 4.2 `npx openspec validate update-operations-reports-trend-and-export-scenes --strict`
|
||||
Reference in New Issue
Block a user