背景
在记录表单中,指向用户的 lookup(reference: sys_user)字段会渲染为「选人控件」,提供两种入口:
- 行内搜索下拉:点击后出现搜索框 + 结果列表,每项显示 姓名 + 邮箱;
- 表格选择弹窗(字段右侧表格图标):带搜索、筛选与记录数。
在一个制造业现场管理(EHR)场景中实测「工人」选人字段后,发现该控件在「从大量真实人员中选人」这类业务场景下存在若干可用性与展示问题。
现状/复现
- 打开任一
lookup → sys_user 字段的选人控件;
- 行内下拉请求:
GET /api/v1/data/sys_user?top=50;输入关键字时:GET /api/v1/data/sys_user?top=50&search=xxx;
- 表格弹窗默认列为:名称 / 邮箱 / 邮箱已验证 / 已启用双因素认证。
问题
1. 展示字段不可配,且默认列对业务无意义
- 行内下拉只显示「姓名 + 邮箱」;现场工人常无邮箱、且高度重名(多个「张伟」无法区分)。
- 表格弹窗的默认列是
sys_user 的系统字段(邮箱已验证 / 已启用双因素认证),对「选人」毫无帮助。
- 期望:选人控件的显示字段 / 表格列可由 lookup 字段配置(如工号、姓名、班组、岗位、头像),而非硬编码
sys_user 系统字段。
2. top=50 截断,无「加载更多」/无总数
- 列表固定取前 50 条,无分页 / 无限滚动,也不显示总记录数。
- 超过 50 人时只能靠搜索命中,几百人规模体验差,且用户无法感知"还有更多结果"。
- 期望:分页或无限滚动 + 显示总数。
3. 单值 lookup 使用了多值(chip)视觉
- 单值 lookup(无
multiple)选中后渲染为「上方一个可删除 chip + 下方仍显示『选择...』的搜索框」。
- 既多占一行,又让人误以为还能继续添加。
- 期望:单值 lookup 选中后将值直接显示在输入框内;多值才使用 chip + 持续搜索框的布局。
建议(优先级)
- P1:选人控件的显示字段 / 表格列改为可配置(按 lookup 字段或被引用对象的展示配置),避免硬编码
sys_user 系统字段;至少支持「头像 + 主标题 + 副标题」三段式与自定义副标题字段。
- P2:行内下拉与表格弹窗支持分页 / 无限滚动,并显示总数。
- P2:单值 lookup 选中态改为输入框内回填,与多值(chip)布局区分。
- 可选:支持展示头像与在线/状态标识,辅助识别同名人员。
注:业务侧"按班组/在职过滤候选人"可由各 app 在 lookup 上配 filters/referenceFilters 解决,属应用配置范畴;本 issue 聚焦框架层选人控件本身的展示与交互能力。
背景
在记录表单中,指向用户的
lookup(reference: sys_user)字段会渲染为「选人控件」,提供两种入口:在一个制造业现场管理(EHR)场景中实测「工人」选人字段后,发现该控件在「从大量真实人员中选人」这类业务场景下存在若干可用性与展示问题。
现状/复现
lookup → sys_user字段的选人控件;GET /api/v1/data/sys_user?top=50;输入关键字时:GET /api/v1/data/sys_user?top=50&search=xxx;问题
1. 展示字段不可配,且默认列对业务无意义
sys_user的系统字段(邮箱已验证 / 已启用双因素认证),对「选人」毫无帮助。sys_user系统字段。2.
top=50截断,无「加载更多」/无总数3. 单值 lookup 使用了多值(chip)视觉
multiple)选中后渲染为「上方一个可删除 chip + 下方仍显示『选择...』的搜索框」。建议(优先级)
sys_user系统字段;至少支持「头像 + 主标题 + 副标题」三段式与自定义副标题字段。