Closed
Description
现象
console 审批中心(/_console/apps/setup/system/approvals)打开一条审批请求,「审批动态」里的转签条目长这样:
转签 · Dev Admin
"Jfyo0owBk90dmVCRfYfJNp9CErER6GqC → ajrUFxCjpjvl1VYMACCWDTsPsgTJHWFG"
条目头的操作者(Dev Admin)是解析过显示名的,但「谁转给谁」这条最关键的信息是两个裸 user id,业务用户完全看不懂。
根因
-
服务端把裸 ID 当人类可读注释写库:
packages/plugins/plugin-approvals/src/approval-service.ts的reassign(),审计行默认注释:comment: input.comment ?? `${from} → ${to}`, // from/to 都是 user id
-
sys_approval_action没有结构化的 from/to 字段,转签双方只存在于这条自由文本 comment 里。 -
console 只能原样渲染:
apps/console/src/pages/system/ApprovalsInboxPage.tsx(~L1907)把a.comment直接斜体引用输出。comment 是不透明文本,客户端既没法可靠解析也没法补救——下游项目无任何覆盖通道。
建议
倾向结构化方案:
sys_approval_action增加reassign_from/reassign_to(或 payload 字段),getRequest/listRequests返回时随actor_name一并解析显示名;- console 转签条目渲染成「从 A 转给 B」,
comment回归纯用户输入(用户没填就不显示); - 最低成本兜底:写默认 comment 前先解析两个 id 的显示名(但 comment 承载结构化语义仍不理想,且存量行已坏)。
版本 / 下游
@objectstack/*@17.0.0-rc.0- 下游项目 steedos-labs/os-project-titanwind-ehr#664(有截图)
Metadata
Metadata
Assignees
Labels
No labels
Activity
fix(automation,objectql,spec,approvals): flow system-write audit attr…