# Tasks: 同步前端以支持中介黑名单详细字段和类型化模板导入

## 任务列表

### 阶段 1：API 接口层扩展

- [x] 1.1 在 `ruoyi-ui/src/api/dpcIntermediary.js` 中添加 `importPersonTemplate` 函数
  - 调用 `POST /dpc/intermediary/importPersonTemplate`
  - 返回个人中介模板文件

- [x] 1.2 在 `ruoyi-ui/src/api/dpcIntermediary.js` 中添加 `importEntityTemplate` 函数
  - 调用 `POST /dpc/intermediary/importEntityTemplate`
  - 返回机构中介模板文件

- [x] 1.3 在 `ruoyi-ui/src/api/dpcIntermediary.js` 中添加 `importPersonData` 函数
  - 调用 `POST /dpc/intermediary/importPersonData`
  - 支持传递 `updateSupport` 参数

- [x] 1.4 在 `ruoyi-ui/src/api/dpcIntermediary.js` 中添加 `importEntityData` 函数
  - 调用 `POST /dpc/intermediary/importEntityData`
  - 支持传递 `updateSupport` 参数

### 阶段 2：详情对话框实现

- [x] 2.1 在 `ruoyi-ui/src/views/dpcIntermediary/index.vue` 的 data 中添加详情相关属性
  - 添加 `detailOpen: false`
  - 添加 `detailData: {}`

- [x] 2.2 在 `ruoyi-ui/src/views/dpcIntermediary/index.vue` 的 template 中添加详情对话框
  - 使用 `el-descriptions` 组件展示字段
  - 根据中介类型条件渲染个人/机构专属字段

- [x] 2.3 实现 `handleDetail` 方法
  - 调用 `getIntermediary` 接口获取详情
  - 将数据存储到 `detailData`
  - 打开详情对话框

- [x] 2.4 在列表操作列添加"详情"按钮
  - 使用 `el-icon-view` 图标
  - 绑定 `handleDetail` 方法
  - 调整操作列宽度为 240px

### 阶段 3：新增/编辑对话框增强

- [x] 3.1 在 `ruoyi-ui/src/views/dpcIntermediary/index.vue` 的 data 中添加 `activeTab` 属性
  - 默认值为 `'basic'`

- [x] 3.2 在表单中添加 `el-tabs` 组件
  - 添加"基本信息"标签页（name="basic"）
  - 添加"个人信息"标签页（name="person"）
  - 添加"机构信息"标签页（name="entity"）

- [x] 3.3 实现"个人信息"标签页内容
  - 添加人员类型、人员子类型、性别、证件类型字段
  - 添加手机号码、微信号、联系地址字段
  - 添加所在公司、职位、关联人员ID、关联关系字段
  - 使用两列响应式布局

- [x] 3.4 实现"机构信息"标签页内容
  - 添加统一社会信用代码、主体类型、企业性质字段
  - 添加行业分类、所属行业、成立日期、注册地址字段
  - 添加法定代表人及其证件信息字段
  - 添加股东1-5字段，使用分隔线分组

- [x] 3.5 更新 `reset` 方法
  - 添加所有个人字段的初始化
  - 添加所有机构字段的初始化
  - 重置 `activeTab` 为 `'basic'`

- [x] 3.6 实现 `handleTypeChange` 方法
  - 监听中介类型变化
  - 自动切换到对应的标签页

- [x] 3.7 调整对话框宽度
  - 将宽度从 600px 调整为 900px
  - 适应更多字段的展示

### 阶段 4：导入对话框改造

- [x] 4.1 在导入对话框中添加类型选择单选框组
  - 选项：个人中介（person）、机构中介（entity）
  - 默认选择"个人中介"

- [x] 4.2 在 `upload` 数据中添加 `importType` 属性
  - 默认值为 `'person'`

- [x] 4.3 修改 `downloadImportTemplate` 方法
  - 根据 `upload.importType` 调用对应的模板下载接口
  - 个人类型调用 `importPersonTemplate`
  - 机构类型调用 `importEntityTemplate`

- [x] 4.4 修改 `submitFileForm` 方法
  - 根据 `upload.importType` 动态设置 `upload.url`
  - 个人类型使用 `/dpc/intermediary/importPersonData`
  - 机构类型使用 `/dpc/intermediary/importEntityData`
  - 添加 `updateSupport` 参数到 URL

- [x] 4.5 调整导入对话框宽度
  - 从 400px 调整为 450px
  - 适应新增的类型选择区域

### 阶段 5：测试验证

- [x] 5.1 测试详情对话框功能
  - 测试个人类型详情显示
  - 测试机构类型详情显示
  - 测试旧数据详情显示（字段为空）

- [x] 5.2 测试新增/编辑功能
  - 测试新增个人类型中介
  - 测试新增机构类型中介
  - 测试编辑个人类型中介
  - 测试编辑机构类型中介
  - 测试类型切换时标签页自动跳转

- [x] 5.3 测试导入功能
  - 测试个人类型模板下载
  - 测试机构类型模板下载
  - 测试个人类型数据导入
  - 测试机构类型数据导入
  - 测试更新支持选项

- [x] 5.4 测试兼容性
  - 测试现有列表查询功能
  - 测试现有删除功能
  - 测试现有导出功能

## 依赖关系

- 阶段 1 必须首先完成，为后续阶段提供 API 接口
- 阶段 2、3、4 可以并行开发
- 阶段 5 必须在所有开发阶段完成后进行

## 验收标准

每个任务完成后应满足：
- 代码符合 Vue 2.x 和 Element UI 规范
- 功能与设计文档描述一致
- 不影响现有功能的正常运行
