Files
ccdi/openspec/changes/sync-intermediary-frontend-with-detailed-fields/proposal.md
2026-01-29 22:03:42 +08:00

6.1 KiB
Raw Blame History

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

Change ID

sync-intermediary-frontend-with-detailed-fields

Summary

同步前端代码,使其与后端 API 文档中定义的中介黑名单增强功能保持一致,支持个人和机构类型的详细字段展示,以及类型化的模板下载和导入功能。

Motivation

问题背景

后端已完成中介黑名单的增强(变更 enhance-intermediary-with-detailed-fields),新增了:

  1. 个人类型的详细字段(人员类型、性别、证件类型、手机号码、微信号等)
  2. 机构类型的详细字段(统一社会信用代码、主体类型、企业性质、法定代表人、股东等)
  3. 分离的个人和机构导入模板下载接口
  4. 分离的个人和机构导入接口

现状

当前前端代码 ruoyi-ui/src/views/dpcIntermediary/index.vueruoyi-ui/src/api/dpcIntermediary.js 仅支持基础字段:

  • 只显示核心字段(姓名/机构名称、证件号、中介类型、状态、备注)
  • 只有一个通用的导入模板下载接口
  • 只有一个通用的导入接口
  • 详情对话框不支持根据类型显示不同字段

业务需求

  1. 列表页面保持简洁,显示核心字段
  2. 详情对话框需要根据中介类型显示不同的详细字段
  3. 导入功能需要支持分别下载和导入个人/机构模板
  4. 新增/编辑对话框需要支持详细字段的录入

Scope

包含的功能

2.1 API 接口层修改

  • 添加个人中介模板下载接口调用
  • 添加机构中介模板下载接口调用
  • 添加个人中介数据导入接口调用
  • 添加机构中介数据导入接口调用
  • 保留原有通用接口以保持向后兼容

2.2 列表页面修改

  • 保持列表显示简洁(核心字段)
  • 添加"查看详情"按钮
  • 导入功能改为支持类型选择(个人/机构)

2.3 详情对话框新增

  • 根据中介类型动态显示不同的字段
  • 个人类型显示:人员类型、人员子类型、性别、证件类型、手机号码、微信号等
  • 机构类型显示:统一社会信用代码、主体类型、企业性质、法定代表人、股东等
  • 支持只读模式,不提供编辑功能

2.4 新增/编辑对话框增强

  • 根据中介类型显示对应的字段组
  • 个人类型显示个人相关字段
  • 机构类型显示机构相关字段
  • 使用表单验证确保数据完整性

明确排除

  • 后端代码修改(已在 enhance-intermediary-with-detailed-fields 中完成)
  • 数据库结构修改(已在 enhance-intermediary-with-detailed-fields 中完成)
  • 路由和菜单配置修改(保持现有配置)

Proposed Design

详见 design.md

Alternatives Considered

选项1在列表中展开显示所有字段

优点

  • 用户无需点击详情即可看到完整信息

缺点

  • 列表过于拥挤,不利于快速浏览
  • 个人和机构字段混杂,难以阅读

决定:不采用。保持列表简洁,详情通过对话框展示。

选项2使用两个独立的页面个人列表和机构列表

优点

  • 页面结构清晰,各自独立

缺点

  • 需要添加新的路由和菜单配置
  • 代码重复度高
  • 不符合单一数据源的管理模式

决定:不采用。使用同一个列表页面,通过中介类型区分。

选项3在现有对话框中内嵌详情视图

优点

  • 减少对话框数量

缺点

  • 编辑和查看模式混合,逻辑复杂
  • 表单验证逻辑难以处理

决定:不采用。分离详情对话框和编辑对话框,职责更清晰。

Impact

前端影响

API 层

  • 新增 4 个接口调用函数(模板下载 × 2数据导入 × 2
  • 修改导入对话框以支持类型选择

视图层

  • 新增详情对话框组件
  • 修改列表操作列(添加"查看详情"按钮)
  • 修改新增/编辑对话框(添加详细字段)
  • 修改导入对话框(支持类型选择和对应的模板下载)

数据流

  • 详情接口返回的数据结构根据类型不同
  • 表单提交需要包含对应类型的字段

用户体验影响

  • 正面:可以看到更完整的中介信息
  • 正面:导入模板更符合实际需求,减少录入错误
  • 中性:导入时需要先选择类型,增加一步操作

Dependencies

  • enhance-intermediary-with-detailed-fields - 后端增强功能

Open Questions

  1. 详情对话框是否支持编辑?

    • 建议:不支持编辑,只做展示。编辑使用现有的编辑对话框。
  2. 新增/编辑对话框如何处理大量字段?

    • 建议:使用 el-tabs 或 el-row/el-col 分组展示,提高可读性。
  3. 导入时是否需要类型验证?

    • 建议:在后端验证,前端只负责选择正确的模板和接口。
  4. 旧数据的详情如何处理?

    • 建议:旧数据没有详细字段,详情对话框显示空值或占位符(如"未填写")。

Success Criteria

  • API 接口层添加新的接口调用函数
  • 列表页面添加"查看详情"按钮
  • 详情对话框根据类型正确显示不同字段
  • 新增/编辑对话框支持详细字段录入
  • 导入功能支持个人/机构类型选择
  • 可以下载个人中介专用模板
  • 可以下载机构中介专用模板
  • 可以使用个人模板导入数据
  • 可以使用机构模板导入数据
  • 现有功能保持正常运行

References