# 信息维护移除导出与菜单排序实施记录

## 文档信息

- 保存路径：`docs/reports/implementation/2026-04-22-info-maintenance-remove-export-and-menu-sort-implementation.md`
- 实施日期：2026-04-22
- 关联计划：
  - `docs/plans/backend/2026-04-22-info-maintenance-remove-export-and-menu-sort-backend-implementation.md`
  - `docs/plans/frontend/2026-04-22-info-maintenance-remove-export-and-menu-sort-frontend-implementation.md`

## 本次修改内容

1. 移除信息维护下 8 个前端页面中的“导出”按钮和对应 `handleExport` 下载逻辑，覆盖账户库、员工/客户关系、采购交易、招聘、调动等当前仍暴露导出的页面。
2. 删除信息维护相关控制器中的 `/export` 接口，包括员工信息维护中仅后端残留的导出接口，避免前后端出现一端已删、一端仍可访问的链路分叉。
3. 清理对应前端 API 文件中的导出封装，避免保留无实际使用价值的调用入口。
4. 新增 `sql/migration/2026-04-22-remove-info-maintenance-export-and-sort-menus.sql`，用于删除信息维护导出权限按钮并统一“信息维护”子菜单顺序。
5. 同步修正仓库内已有菜单 SQL，确保新库初始化时不再带出导出按钮，且菜单默认顺序与本次规则一致。

## 菜单排序口径

“信息维护”目录下菜单统一按以下顺序排列：

1. 员工信息维护
2. 招聘信息维护
3. 员工调动记录
4. 员工亲属关系维护
5. 员工实体关系维护
6. 征信维护
7. 实体库管理
8. 中介库管理
9. 账户库管理
10. 信贷客户家庭关系
11. 信贷客户实体关联
12. 采购交易管理

## 影响范围

- 前端：
  - `ruoyi-ui/src/views/ccdiAccountInfo/index.vue`
  - `ruoyi-ui/src/views/ccdiCustEnterpriseRelation/index.vue`
  - `ruoyi-ui/src/views/ccdiCustFmyRelation/index.vue`
  - `ruoyi-ui/src/views/ccdiPurchaseTransaction/index.vue`
  - `ruoyi-ui/src/views/ccdiStaffEnterpriseRelation/index.vue`
  - `ruoyi-ui/src/views/ccdiStaffFmyRelation/index.vue`
  - `ruoyi-ui/src/views/ccdiStaffRecruitment/index.vue`
  - `ruoyi-ui/src/views/ccdiStaffTransfer/index.vue`
- 后端：
  - `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/controller/` 下 9 个信息维护控制器
- SQL：
  - `sql/migration/2026-04-22-remove-info-maintenance-export-and-sort-menus.sql`
  - `sql/ccdi_credit_info_menu.sql`
  - `sql/ccdi_cust_fmy_relation_menu.sql`
  - `sql/ccdi_purchase_transaction_menu.sql`
  - `sql/ccdi_staff_fmy_relation_menu.sql`
  - `sql/dpc_intermediary_blacklist.sql`
  - `sql/menu-intermediary.sql`
  - `sql/migration/2026-04-13-add-ccdi-account-info-menu.sql`
  - `sql/migration/2026-04-17-add-enterprise-base-info-menu.sql`

## 验证情况

1. 文本回归校验：
   - 使用 `rg` 检查信息维护相关页面后，已不再发现“导出”按钮文本、`handleExport` 方法以及对应的导出下载路径。
   - 使用 `rg` 检查后端控制器后，已不再发现信息维护相关 `/export` 接口和 `ccdi:*:export` 权限声明。
2. 后端编译校验：
   - 执行命令：`mvn -pl ccdi-info-collection -am compile -DskipTests`
   - 结果：编译成功；存在模块 `ccdi-info-collection` 的历史重复依赖告警，但本次改动未引入新的编译错误。
3. 前端构建校验：
   - 执行命令：`source ~/.nvm/nvm.sh && nvm use 14.21.3 >/dev/null && cd ruoyi-ui && npm run build:prod`
   - 结果：构建成功；仅存在项目原有的 bundle size warnings，本次改动未引入新的构建错误。
4. Playwright 浏览器实测：
   - 执行方式：通过 `nvm` 切换 Node 版本后启动前端页面，使用 Playwright 打开真实浏览器验证信息维护菜单顺序及页面按钮状态。
   - 结果：在 mock 登录态与最小接口夹具下打开 `http://127.0.0.1:8080/maintain/baseStaff`，读取到“信息维护”子菜单顺序为“员工信息维护 -> 招聘信息维护 -> 员工调动记录 -> 员工亲属关系维护 -> 员工实体关系维护 -> 征信维护 -> 实体库管理 -> 中介库管理 -> 账户库管理 -> 信贷客户家庭关系 -> 信贷客户实体关联 -> 采购交易管理”，与本次排序一致。
   - 结果：继续在 `accountInfo`、`custEnterpriseRelation`、`custFmyRelation`、`purchaseTransaction`、`staffEnterpriseRelation`、`staffFmyRelation`、`staffRecruitment`、`staffTransfer` 8 个页面读取按钮文本，均未出现“导出”按钮。
   - 结果：已生成浏览器截图 `.playwright-cli/page-2026-04-22T03-10-32-002Z.png` 作为页面验证留痕，并在验证后关闭 Playwright 浏览器与前端 dev server。
