新增结果总览员工结果表实施计划
This commit is contained in:
@@ -0,0 +1,223 @@
|
||||
# Results Overview Employee Result Table Frontend Implementation Plan
|
||||
|
||||
> **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking.
|
||||
|
||||
**Goal:** 在后端切换到结果总览员工结果表出数后,保持结果总览页现有交互、文案和接口消费方式不变,并补充前端回归保护,确保风险仪表盘、风险人员总览、模型区展示持续稳定。
|
||||
|
||||
**Architecture:** 前端不新增路由、不新增页面、不调整结果总览现有组件拆分。保持 `PreliminaryCheck.vue`、`RiskPeopleSection.vue`、`RiskModelSection.vue` 继续消费当前接口返回结构,前端工作的重点放在 API/组件契约回归测试与最小必要的归一化兼容,而不是重做 UI 交互。
|
||||
|
||||
**Tech Stack:** Vue 2, Element UI, Axios (`@/utils/request`), Node.js
|
||||
|
||||
---
|
||||
|
||||
### Task 1: 锁定结果总览前端 API 契约不变
|
||||
|
||||
**Files:**
|
||||
- Modify: `ruoyi-ui/tests/unit/project-overview-api.test.js`
|
||||
- Modify: `ruoyi-ui/tests/unit/preliminary-check-api-integration.test.js`
|
||||
- Verify: `ruoyi-ui/src/api/ccdi/projectOverview.js`
|
||||
|
||||
- [ ] **Step 1: Write the failing test**
|
||||
|
||||
补充 API 静态断言,锁定以下约束:
|
||||
|
||||
- 仍使用现有接口路径:
|
||||
- `/ccdi/project/overview/dashboard`
|
||||
- `/ccdi/project/overview/risk-people`
|
||||
- `/ccdi/project/overview/risk-models/cards`
|
||||
- `/ccdi/project/overview/risk-models/people`
|
||||
- 结果总览前端不感知后端底层是否改为结果表
|
||||
- 模型人员接口仍透传:
|
||||
- `projectId`
|
||||
- `modelCodes`
|
||||
- `matchMode`
|
||||
- `keyword`
|
||||
- `deptId`
|
||||
- `pageNum`
|
||||
- `pageSize`
|
||||
|
||||
- [ ] **Step 2: Run test to verify it fails**
|
||||
|
||||
Run:
|
||||
|
||||
```bash
|
||||
cd ruoyi-ui
|
||||
node tests/unit/project-overview-api.test.js
|
||||
node tests/unit/preliminary-check-api-integration.test.js
|
||||
```
|
||||
|
||||
Expected:
|
||||
|
||||
- `FAIL`
|
||||
- 原因是测试尚未锁定“后端数据源改造但前端 API 契约不变”的预期
|
||||
|
||||
- [ ] **Step 3: Write minimal implementation**
|
||||
|
||||
如现有 API 封装已经满足约束,则只补测试,不修改源码。
|
||||
|
||||
如果测试暴露出接口参数或路径未被稳定消费,再做最小调整,要求:
|
||||
|
||||
- 不新增新 API 方法
|
||||
- 不改变接口名称
|
||||
- 不改变组件调用方式
|
||||
|
||||
- [ ] **Step 4: Run test to verify it passes**
|
||||
|
||||
Run:
|
||||
|
||||
```bash
|
||||
cd ruoyi-ui
|
||||
node tests/unit/project-overview-api.test.js
|
||||
node tests/unit/preliminary-check-api-integration.test.js
|
||||
```
|
||||
|
||||
Expected:
|
||||
|
||||
- `PASS`
|
||||
|
||||
- [ ] **Step 5: Commit**
|
||||
|
||||
```bash
|
||||
git add ruoyi-ui/tests/unit/project-overview-api.test.js ruoyi-ui/tests/unit/preliminary-check-api-integration.test.js ruoyi-ui/src/api/ccdi/projectOverview.js
|
||||
git commit -m "锁定结果总览前端接口契约"
|
||||
```
|
||||
|
||||
### Task 2: 锁定结果总览页面展示契约与回归边界
|
||||
|
||||
**Files:**
|
||||
- Modify: `ruoyi-ui/tests/unit/preliminary-check-summary-and-people.test.js`
|
||||
- Modify: `ruoyi-ui/tests/unit/preliminary-check-model-and-detail.test.js`
|
||||
- Modify: `ruoyi-ui/tests/unit/preliminary-check-risk-people-binding.test.js`
|
||||
- Modify: `ruoyi-ui/tests/unit/preliminary-check-model-linkage-flow.test.js`
|
||||
- Verify: `ruoyi-ui/src/views/ccdiProject/components/detail/PreliminaryCheck.vue`
|
||||
- Verify: `ruoyi-ui/src/views/ccdiProject/components/detail/RiskPeopleSection.vue`
|
||||
- Verify: `ruoyi-ui/src/views/ccdiProject/components/detail/RiskModelSection.vue`
|
||||
|
||||
- [ ] **Step 1: Write the failing test**
|
||||
|
||||
补充组件回归断言,锁定以下边界:
|
||||
|
||||
- 风险仪表盘仍展示:
|
||||
- 总人数
|
||||
- 高风险
|
||||
- 中风险
|
||||
- 低风险
|
||||
- 无风险人员
|
||||
- 风险人员总览仍展示:
|
||||
- 姓名
|
||||
- 身份证号
|
||||
- 所属部门
|
||||
- 风险等级
|
||||
- 命中模型数
|
||||
- 核心异常点
|
||||
- 模型区仍支持:
|
||||
- 模型卡片统计
|
||||
- `ANY / ALL`
|
||||
- 关键字筛选
|
||||
- 部门筛选
|
||||
- 异常标签展示
|
||||
- 页面不重新引入已移除的 TOP10 区块
|
||||
|
||||
- [ ] **Step 2: Run test to verify it fails**
|
||||
|
||||
Run:
|
||||
|
||||
```bash
|
||||
cd ruoyi-ui
|
||||
node tests/unit/preliminary-check-summary-and-people.test.js
|
||||
node tests/unit/preliminary-check-model-and-detail.test.js
|
||||
node tests/unit/preliminary-check-risk-people-binding.test.js
|
||||
node tests/unit/preliminary-check-model-linkage-flow.test.js
|
||||
```
|
||||
|
||||
Expected:
|
||||
|
||||
- `FAIL`
|
||||
- 原因是测试尚未完整覆盖“后端改为结果表出数后前端展示不变”的场景
|
||||
|
||||
- [ ] **Step 3: Write minimal implementation**
|
||||
|
||||
优先只改测试。
|
||||
|
||||
如果测试发现组件对空数组、字段顺序或字段缺省值存在脆弱依赖,再在以下文件中做最小兼容处理:
|
||||
|
||||
- `PreliminaryCheck.vue`
|
||||
- `RiskPeopleSection.vue`
|
||||
- `RiskModelSection.vue`
|
||||
|
||||
兼容处理原则:
|
||||
|
||||
- 只做空值归一化
|
||||
- 只做字段缺省保护
|
||||
- 不改变现有交互、布局、文案和样式
|
||||
|
||||
- [ ] **Step 4: Run test to verify it passes**
|
||||
|
||||
Run:
|
||||
|
||||
```bash
|
||||
cd ruoyi-ui
|
||||
node tests/unit/preliminary-check-summary-and-people.test.js
|
||||
node tests/unit/preliminary-check-model-and-detail.test.js
|
||||
node tests/unit/preliminary-check-risk-people-binding.test.js
|
||||
node tests/unit/preliminary-check-model-linkage-flow.test.js
|
||||
```
|
||||
|
||||
Expected:
|
||||
|
||||
- `PASS`
|
||||
|
||||
- [ ] **Step 5: Commit**
|
||||
|
||||
```bash
|
||||
git add ruoyi-ui/tests/unit/preliminary-check-summary-and-people.test.js ruoyi-ui/tests/unit/preliminary-check-model-and-detail.test.js ruoyi-ui/tests/unit/preliminary-check-risk-people-binding.test.js ruoyi-ui/tests/unit/preliminary-check-model-linkage-flow.test.js ruoyi-ui/src/views/ccdiProject/components/detail/PreliminaryCheck.vue ruoyi-ui/src/views/ccdiProject/components/detail/RiskPeopleSection.vue ruoyi-ui/src/views/ccdiProject/components/detail/RiskModelSection.vue
|
||||
git commit -m "补充结果总览前端展示回归保护"
|
||||
```
|
||||
|
||||
### Task 3: 执行结果总览前端专项回归验证
|
||||
|
||||
**Files:**
|
||||
- Create: `docs/reports/implementation/2026-03-20-results-overview-employee-result-table-frontend-implementation.md`
|
||||
- Create: `docs/tests/records/2026-03-20-results-overview-employee-result-table-frontend-verification.md`
|
||||
- Verify: `docs/design/2026-03-20-results-overview-employee-result-table-design.md`
|
||||
|
||||
- [ ] **Step 1: Run focused frontend regression tests**
|
||||
|
||||
Run:
|
||||
|
||||
```bash
|
||||
cd ruoyi-ui
|
||||
node tests/unit/project-overview-api.test.js
|
||||
node tests/unit/preliminary-check-api-integration.test.js
|
||||
node tests/unit/preliminary-check-summary-and-people.test.js
|
||||
node tests/unit/preliminary-check-model-and-detail.test.js
|
||||
node tests/unit/preliminary-check-risk-people-binding.test.js
|
||||
node tests/unit/preliminary-check-model-linkage-flow.test.js
|
||||
```
|
||||
|
||||
Expected:
|
||||
|
||||
- `PASS`
|
||||
- 证明结果总览页前端契约与交互边界在后端数据源改造后保持稳定
|
||||
|
||||
- [ ] **Step 2: Write implementation and verification records**
|
||||
|
||||
实施记录需说明:
|
||||
|
||||
- 前端未新增页面和交互
|
||||
- 前端重点是锁定 API 与展示契约
|
||||
- 若有源码调整,仅为最小兼容处理
|
||||
|
||||
验证记录需写明:
|
||||
|
||||
- 执行日期
|
||||
- 执行命令
|
||||
- 每条命令结果
|
||||
- 最终结论
|
||||
|
||||
- [ ] **Step 3: Commit**
|
||||
|
||||
```bash
|
||||
git add docs/reports/implementation/2026-03-20-results-overview-employee-result-table-frontend-implementation.md docs/tests/records/2026-03-20-results-overview-employee-result-table-frontend-verification.md
|
||||
git commit -m "补充结果总览员工结果表前端验证记录"
|
||||
```
|
||||
Reference in New Issue
Block a user