# 项目详情风险总览员工列表分页前端验证记录

## 验证范围

- 风险人员分页 API 封装
- 结果总览首屏风险人员分页数据装配
- 风险人员区局部分页与局部刷新

## 设计文档检查

- 已核对设计文档路径：`docs/design/2026-03-29-project-detail-risk-overview-risk-people-pagination-design.md`

## 验证命令

```bash
node ruoyi-ui/tests/unit/project-overview-api.test.js
node ruoyi-ui/tests/unit/preliminary-check-api-integration.test.js
node ruoyi-ui/tests/unit/preliminary-check-risk-people-pagination-load.test.js
node ruoyi-ui/tests/unit/preliminary-check-risk-people-binding.test.js
node ruoyi-ui/tests/unit/preliminary-check-risk-people-pagination.test.js
```

浏览器验证补充：

```bash
cd ruoyi-ui && npm run dev -- --port 1026
java -jar ruoyi-admin/target/ruoyi-admin.jar --server.port=62319
```

## 验证结果

- 验证日期：2026-03-29
- 首轮 API 测试按计划先失败，失败点为 `getOverviewRiskPeople` 仍保留旧签名 `getOverviewRiskPeople(projectId)`。
- 完成 API、`PreliminaryCheck.vue`、`RiskPeopleSection.vue` 与 `preliminaryCheck.mock.js` 改造后，重新执行上述 5 条测试命令，全部通过。
- 结构测试确认首屏固定请求第一页 `pageNum = 1`、`pageSize = 5`，风险人员区读取 `rows + total + pageNum + pageSize`，翻页时调用 `getOverviewRiskPeople` 独立刷新当前列表。
- 浏览器联调时发现 `RiskPeopleSection.vue` 的 `handlePageChange` 会在 `.sync` 已提前更新 `pageNum` 后错误命中 `if (page === this.pageNum)`，表现为页码高亮切换到第 2 页，但表格仍停留在第一页，且不会发起 `pageNum=2` 请求。
- 去除该提前返回后，重新执行前端定向测试全部通过；浏览器实测在项目详情 `http://127.0.0.1:1026/ccdiProject/detail/62?tab=overview` 点击风险人员分页第 2 页后，已发出 `GET /dev-api/ccdi/project/overview/risk-people?projectId=62&pageNum=2&pageSize=5`，列表由“郑强、郭瑞、黄伟怡、许琳建、王欣”切换为“朱磊明、杨磊瑞、邓桂英、郑欣、董杰”。
- 由于本机现有 `62318` 后端仍返回旧 `overviewList` 结构，浏览器验证阶段额外启动了 `62319` 端口的新包，并仅将风险人员接口请求转发到该端口完成真机校验。

## 结论

- 风险总览员工列表前端已固定为每页 5 条。
- 首屏只请求第一页分页数据，不再依赖旧 `overviewList` 结构。
- 翻页逻辑已下沉到 `RiskPeopleSection.vue`，仅刷新当前风险人员列表，不重载结果总览其他区块。
- 浏览器回归确认分页页码、请求参数与表格内容已保持一致。
