# 项目详情风险总览员工列表分页计划记录

## 变更概述

- 新增风险总览员工列表分页后端实施计划 1 份。
- 新增风险总览员工列表分页前端实施计划 1 份。
- 本次计划按统一接口改造方案收口为：保留 `GET /ccdi/project/overview/risk-people` 路径，改为标准分页返回 `rows + total + pageNum + pageSize`。
- 已按计划完成后端与前端实现，并补齐对应验证记录与实施记录。

## 新增文件

- `docs/plans/backend/2026-03-29-project-detail-risk-overview-risk-people-pagination-backend-implementation.md`
- `docs/plans/frontend/2026-03-29-project-detail-risk-overview-risk-people-pagination-frontend-implementation.md`
- `docs/tests/records/2026-03-29-project-detail-risk-overview-risk-people-pagination-backend-verification.md`
- `docs/tests/records/2026-03-29-project-detail-risk-overview-risk-people-pagination-frontend-verification.md`
- `docs/reports/implementation/2026-03-29-project-detail-risk-overview-risk-people-pagination-backend-implementation.md`
- `docs/reports/implementation/2026-03-29-project-detail-risk-overview-risk-people-pagination-frontend-implementation.md`

## 计划结论

- 后端计划聚焦：
  - 新增 `CcdiProjectRiskPeopleQueryDTO`
  - 将 `risk-people` 改为分页接口
  - 使用 MyBatis Plus `Page` 实现数据库真分页
  - 保持现有排序与业务口径不变
- 前端计划聚焦：
  - `projectOverview.js` 透传分页参数
  - `PreliminaryCheck.vue` 首屏接入第一页分页结构
  - `RiskPeopleSection.vue` 增加固定 5 条一页的独立分页
  - 翻页仅刷新员工列表本身

## 说明

- 本次按仓库规范，将实施计划分别落到 `docs/plans/backend/` 与 `docs/plans/frontend/`。
- 因本仓库协作约定禁止开启 subagent，计划头部已明确执行时应在当前会话使用 `superpowers:executing-plans`。
- 本次执行阶段同步补充后端与前端的验证记录、实施记录。

## 执行记录

### 2026-03-29 后端执行结果

- 新增 `CcdiProjectRiskPeopleQueryDTO`，将 `risk-people` 接口入参统一为 `projectId/pageNum/pageSize`
- 将 `CcdiProjectRiskPeopleOverviewVO` 返回结构从 `overviewList` 调整为 `rows + total + pageNum + pageSize`
- 为 `CcdiProjectOverviewMapper` / XML 新增 `selectRiskPeopleOverviewPage`，基于 `ccdi_project_overview_employee_result` 实现数据库真分页
- 在 `CcdiProjectOverviewServiceImpl` 中为 `risk-people` 单独固定默认分页 `1/5`
- 后端回归命令：`mvn -pl ccdi-project -am -Dtest=CcdiProjectOverviewServiceStructureTest,CcdiProjectOverviewControllerTest,CcdiProjectOverviewMapperSqlTest,CcdiProjectOverviewServiceImplTest -Dsurefire.failIfNoSpecifiedTests=false test`

### 2026-03-29 前端执行结果

- `getOverviewRiskPeople` 改为参数对象透传分页参数
- `PreliminaryCheck.vue` 首屏固定拉取第一页 5 条风险员工数据，并改用 `rows` 分页结构判断加载结果
- `RiskPeopleSection.vue` 接管 `pageNum/pageSize/total/tableLoading/localRows`，翻页时仅刷新当前列表
- 前端回归命令：
  - `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`
