# 个人中介中介子类型与关联关系调整实施记录

## 1. 改动概述

本次调整“信息维护-中介库管理-个人中介”录入与详情展示逻辑，目标如下：

- 将个人中介表单中的“人员子类型”改为“中介子类型”。
- “中介子类型”改为从关联关系选项中选择，并补充“个人”选项。
- 隐藏个人中介表单中单独的“关联关系”字段，避免重复录入。
- 详情弹窗中同步以“中介子类型”展示原关联关系语义，移除重复的“关系类型”展示。

## 2. 修改文件

- `ruoyi-ui/src/views/ccdiIntermediary/components/EditDialog.vue`
- `ruoyi-ui/src/views/ccdiIntermediary/components/DetailDialog.vue`
- `ruoyi-ui/tests/unit/intermediary-person-edit-ui.test.js`

## 3. 实现说明

### 3.1 编辑弹窗

- 将个人中介表单字段标签由“人员子类型”调整为“中介子类型”。
- 将原自由输入框改为下拉选择，数据源基于现有 `relationTypeOptions`，前端追加 `个人` 选项并做去重。
- 新增 `handlePersonSubTypeChange` 与 `syncPersonSubTypeRelation`，确保隐藏 `relationType` 后，提交时 `personSubType` 与 `relationType` 保持一致。
- 移除个人中介表单中单独展示的“关联关系”字段。

### 3.2 详情弹窗

- 将详情中的“人员子类型”展示调整为“中介子类型”。
- 展示值优先取 `personSubType`，兼容回退到 `relationType`，避免存量数据为空时页面显示缺失。
- 删除重复的“关系类型”展示项。

### 3.3 回归测试

- 新增源码级测试 `intermediary-person-edit-ui.test.js`，约束以下行为：
  - 编辑弹窗必须展示“中介子类型”下拉。
  - 选项中必须包含“个人”。
  - 编辑弹窗不再单独展示“关联关系”字段。
  - 详情弹窗以“中介子类型”展示，不再单独展示“关系类型”。

## 4. 验证记录

执行命令：

```bash
node /Users/wkc/Desktop/ccdi/ccdi/ruoyi-ui/tests/unit/intermediary-person-edit-ui.test.js
npm run build:prod
```

验证结果：

- `node .../intermediary-person-edit-ui.test.js`：先红后绿，最终通过。
- `npm run build:prod`：构建通过，仅存在项目原有的产物体积告警，无新增编译错误。
