4.7 KiB
Spec: 前端表单增强
ADDED Requirements
Requirement: 新增/编辑对话框支持详细字段录入
新增和编辑对话框 SHALL 扩展以支持个人和机构类型的详细字段录入。
Scenario: 新增个人类型中介
Given 用户点击"新增"按钮 And 对话框打开,默认选择"个人"类型 When 用户查看对话框 Then 显示"基本信息"、"个人信息"两个标签页 And 自动切换到"个人信息"标签页 When 用户填写个人信息字段 And 用户点击"确定"按钮 Then 系统提交核心字段和个人字段到后端 And 显示"新增成功"提示 And 列表刷新
Scenario: 新增机构类型中介
Given 用户点击"新增"按钮 And 用户将中介类型切换为"机构" When 用户查看对话框 Then 显示"基本信息"、"机构信息"两个标签页 And 自动切换到"机构信息"标签页 When 用户填写机构信息字段 And 用户点击"确定"按钮 Then 系统提交核心字段和机构字段到后端 And 显示"新增成功"提示 And 列表刷新
Scenario: 编辑个人类型中介
Given 用户点击一条个人类型记录的"修改"按钮 When 对话框打开 Then 系统加载该记录的详细信息 And "个人信息"标签页显示已保存的个人字段值 When 用户修改个人信息字段 And 用户点击"确定"按钮 Then 系统提交修改后的数据到后端 And 显示"修改成功"提示 And 列表刷新
Scenario: 编辑机构类型中介
Given 用户点击一条机构类型记录的"修改"按钮 When 对话框打开 Then 系统加载该记录的详细信息 And "机构信息"标签页显示已保存的机构字段值 When 用户修改机构信息字段 And 用户点击"确定"按钮 Then 系统提交修改后的数据到后端 And 显示"修改成功"提示 And 列表刷新
Scenario: 切换中介类型时自动跳转标签页
Given 用户在新增或编辑对话框中 And 当前选择的是"个人"类型 When 用户将中介类型切换为"机构" Then 对话框自动切换到"机构信息"标签页 And 个人字段保持不变(隐藏但保留值)
Requirement: 导入对话框支持类型选择
导入对话框 SHALL 支持选择导入类型(个人/机构),并根据类型下载对应模板。
Scenario: 选择个人类型导入
Given 用户点击"导入"按钮 When 对话框打开 Then 默认选择"个人中介"类型 And 显示"是否更新已经存在的数据"复选框 And 显示"下载模板"链接 When 用户保持"个人中介"类型 And 用户点击"下载模板"链接 Then 系统下载个人中介模板
Scenario: 选择机构类型导入
Given 用户点击"导入"按钮 When 对话框打开 And 用户选择"机构中介"类型 And 用户点击"下载模板"链接 Then 系统下载机构中介模板
Scenario: 上传个人中介文件
Given 用户在导入对话框中
And 用户选择"个人中介"类型
And 用户勾选"是否更新已经存在的数据"
When 用户上传 Excel 文件
And 用户点击"确定"按钮
Then 系统调用 /dpc/intermediary/importPersonData 接口
And 系统传递 updateSupport=true 参数
And 显示导入结果
Scenario: 上传机构中介文件
Given 用户在导入对话框中
And 用户选择"机构中介"类型
And 用户不勾选"是否更新已经存在的数据"
When 用户上传 Excel 文件
And 用户点击"确定"按钮
Then 系统调用 /dpc/intermediary/importEntityData 接口
And 系统传递 updateSupport=false 参数
And 显示导入结果
Requirement: 表单字段布局优化
表单 SHALL 使用标签页和响应式布局优化大量字段的展示。
Scenario: 个人信息标签页布局
Given 用户在新增或编辑对话框中 And 中介类型为"个人" When 用户查看"个人信息"标签页 Then 字段使用两列布局(el-col :span="12") And 长文本字段(如联系地址)使用整行布局 And 字段标签宽度为 120px And 输入框有合适的 maxlength 限制
Scenario: 机构信息标签页布局
Given 用户在新增或编辑对话框中 And 中介类型为"机构" When 用户查看"机构信息"标签页 Then 字段使用两列布局 And 长文本字段(如注册地址)使用整行布局 And 股东信息区域使用分隔线(el-divider)分隔 And 字段标签宽度为 140px( accommodate 更长的标签名称) And 输入框有合适的 maxlength 限制