5.1 KiB
5.1 KiB
中介黑名单弹窗优化设计
需求概述
优化中介黑名单的添加弹窗交互流程:
- 点击新增后先选择中介类型(个人/机构)
- 然后弹出对应类型的信息输入窗口
- 不需要tab栏,直接显示对应类型的表单
- 机构类型只需输入一次证件号,该值同时作为"证件号"和"统一社会信用代码"
设计方案
1. 交互流程
新增操作流程:
- 用户点击"新增"按钮
- 弹出一个简洁的对话框,顶部有两个大卡片式按钮:【个人】和【机构】
- 用户点击其中一个类型按钮
- 对应的表单立即展开显示在下方(无需确认操作)
- 用户填写信息后点击"确定"提交
修改操作:
- 修改时直接显示原有数据的表单,不允许切换类型
2. 界面布局
┌─────────────────────────────────────┐
│ 添加中介黑名单 │
├─────────────────────────────────────┤
│ │
│ ┌─────────┐ ┌─────────┐ │
│ │ 个人 │ │ 机构 │ │ ← 大卡片式选择按钮(仅新增时显示)
│ └─────────┘ └─────────┘ │
│ │
│ ──────────────────────────────── │ ← 分隔线
│ │
│ [对应类型的表单字段] │
│ • 姓名/机构名称 │
│ • 证件号 │
│ • 机构类型:统一社会信用代码 │
│ • 其他选填字段... │
│ │
├─────────────────────────────────────┤
│ [ 确定 ] [ 取消 ] │
└─────────────────────────────────────┘
3. 表单字段
个人类型表单字段:
- 姓名/机构名称*(必填)
- 证件号*(必填)
- 人员类型
- 人员子类型
- 性别
- 证件类型
- 手机号码
- 微信号
- 联系地址
- 所在公司
- 职位
- 关联人员ID
- 关联关系
- 备注
机构类型表单字段:
- 姓名/机构名称*(必填)
- 证件号*(必填,自动同步到统一社会信用代码)
- 主体类型
- 企业性质
- 成立日期
- 行业分类
- 所属行业
- 注册地址
- 法定代表人
- 法定代表人证件类型
- 法定代表人证件号码
- 股东1-5
- 备注
4. 表单验证规则
个人类型验证:
rules: {
name: [
{ required: true, message: "姓名不能为空", trigger: "blur" },
{ max: 100, message: "姓名长度不能超过100个字符", trigger: "blur" }
],
certificateNo: [
{ required: true, message: "证件号不能为空", trigger: "blur" },
{ max: 50, message: "证件号长度不能超过50个字符", trigger: "blur" }
],
remark: [
{ max: 500, message: "备注长度不能超过500个字符", trigger: "blur" }
]
}
机构类型验证:
rules: {
name: [
{ required: true, message: "机构名称不能为空", trigger: "blur" },
{ max: 100, message: "机构名称长度不能超过100个字符", trigger: "blur" }
],
certificateNo: [
{ required: true, message: "证件号不能为空", trigger: "blur" },
{ max: 18, message: "统一社会信用代码长度为18位", trigger: "blur" }
],
remark: [
{ max: 500, message: "备注长度不能超过500个字符", trigger: "blur" }
]
}
5. 边界情况处理
| 场景 | 处理方式 |
|---|---|
| 用户点击新增后未选择类型就点确定 | 禁用"确定"按钮,直到选择类型 |
| 用户选择类型后想重新选择 | 只有关闭弹窗重新打开才能选择 |
| 修改操作时类型锁定 | 隐藏类型选择器,直接显示对应表单 |
| 表单验证失败 | 高亮显示错误字段,滚动到第一个错误位置 |
| 网络请求失败 | 显示错误提示,弹窗保持打开状态 |
6. 用户体验优化
-
视觉反馈:
- 类型选择按钮在未选中时有hover效果
- 选中后按钮变为高亮状态,其他按钮变灰
- 表单展开有淡入动画
-
输入提示:
- 个人类型的证件号字段下方显示提示:"请输入证件号码"
- 机构类型的证件号字段下方显示提示:"统一社会信用代码(18位)"
-
表单布局:
- 保持两列布局,充分利用空间
- 必填项(姓名、证件号)标记红色星号
7. 技术实现要点
状态管理:
- 新增模式:
isAddMode: true,显示类型选择器 - 修改模式:
isAddMode: false,隐藏类型选择器 - 已选类型:
selectedType: '1' | '2' | null
数据同步:
- 机构类型提交时,将
form.certificateNo的值同时赋给form.corpCreditCode