日期: 2026-07-30
状态: 已实现(计划见 docs/superpowers/plans/2026-07-30-oa-owner-fields.md)
范围: web-admin 审批设计器「2 表单设计」组件 Tab;发起页默认值;backend 发布白名单与提交时只读强制回填
界面模式: 对齐现有「人员」「部门」控件;视觉 Fresh Mint
表单设计「组件」Tab 已有 人员、部门。业务需要两个带默认值的同类控件:
| 项 | 决策 |
|---|---|
| 控件类型 | ownerPerson / ownerDept |
| 默认值时机 | 发起审批表单加载时写入;设计器画布不依赖设计者登录身份作为业务默认 |
| 默认来源 | 归属人 = 当前用户 id + 姓名;归属部门 = 主部门 id + 名称(全路径优先) |
| 允许修改 | 属性开关 allowModify,默认 false |
| 选型 | 固定单选 |
| 值格式 | { id, name }(与 person / dept 一致) |
| 只读防篡改 | allowModify === false 时,后端发起提交强制回填为当前用户 / 主部门 |
{
"type": "ownerPerson",
"field": "Fxxxx",
"title": "归属人",
"props": {
"allowModify": false
}
}
{
"type": "ownerDept",
"field": "Fyyyy",
"title": "归属部门",
"props": {
"allowModify": false
}
}
allowModify === false:控件 disabled(只读展示)。allowModify === true:复用人员/部门选择器,可改选。formData,不再按当前查看者覆盖。ownerPerson / ownerDept。allowModify 为假时:提交前强制写入发起人 id/姓名、主部门 id/名称。ownerPerson 与 person 同属人员类(contains);ownerDept 与 dept 同属部门类(contains,精确 id)。详见 2026-08-06-oa-dept-condition-design.md。web-admin userInfo(见 backend/app/api/public.py _build_user_info_payload):
| 用途 | 字段 |
|---|---|
| 用户 id | id(兼容 userId) |
| 姓名 | realName(兼容 username) |
| 部门 id | regionId(即 sys_user.dept_id) |
| 部门名称 | 登录态常无 regionName;前端用部门树解析全路径,后端用库表 dept_name |