Skip to content

[approvals][console] 「待我审批」有三个并存入口、三套不同 UI —— 其中 sys_approval_request 原生视图是无决策动作的开发者原始表 #7213

Description

@baozhoutao

在应用项目(v17.0.0-rc.5,Console + plugin-approvals)实测中发现:同一个「我有待审批的事」在 Console 里同时存在三个入口,三套完全不同的 UI、不同的词表、不同的能力,其中一个入口是没有任何决策动作的开发者原始数据表。终端用户无法判断哪个才是"正确"的入口。

下面按入口逐一列事实(同一条待审批记录,同一个账号)。


入口 A —— 首页「待办事项 → N 条待审批」→ 审批中心

路由:/_console/apps/setup/system/approvals

  • 标题「审批中心 / 查看并处理审批请求」,tabs:待我审批(8) | 我发起的 | 全部,带搜索 + 流程/对象筛选 + 排序。
  • 列表列:审批事项(流程节点中文名,如「QIF 质量信息反馈单审批 / 质检部部长审批」)、记录(业务编号 + 对象中文名)、申请人状态待审批)、提交时间
  • 点行开右侧抽屉:记录摘要字段 + 节点进度条(① 质检部部长审批 → ② 多部门并行会审 → ③ 工厂长审批)+ 「等待以下审批人」+ 审批动态 + 回复框 + 决策按钮 + 「上一条 / 下一条」翻页。

这是三者中唯一完整、且面向业务语义的一套。但它挂在 setup 应用(系统设置)下面 —— 而日常审批是业务用户的高频操作,业务角色一般不会开放系统设置应用的访问权;也没有办法把这个页面挂到业务应用自己的导航里。

入口 B —— 首页待办里的通知 →(业务对象)记录页

路由:/_console/apps/<app>/<object>/record/<id>

  • 记录页头出现「批准 / 驳回」按钮;页头字段区有「审批状态 = 审批中」。
  • 阶段条是流程节点① 质检部部长 | ② 多部门并行会审 | ③ 工厂长 | 归档 | 审批驳回
  • 详情区另有「审批中·可编辑」「撤回审批」。

第三套视觉与信息组织,和入口 A 的抽屉不共用摘要/决策组件。

入口 C —— 账户应用 → 审批请求 → 「我的待办」

列表路由:/_console/apps/com.objectstack.account/sys_approval_request/view/my_pending

这是 sys_approval_request原生对象列表,呈现的全是开发者视角的原始值:

# 来源 对象 记录 ID 当前步骤 提交人
1 flow:qif_approval os_..._qif -2kQ8hM_wiI5xPrC lv1_qc_director marchtian

点进记录页 /_console/apps/com.objectstack.account/sys_approval_request/record/areq_<uuid>

  • 标题是 flow:qif_approval · -2kQ8hM_wiI5xPrC
  • 状态显示 待处理;阶段条是请求状态待处理 | 已批准 | 已拒绝 | 已撤回 | 已退回修改
  • 字段:请求 ID = areq_…当前步骤索引 = 0FLOW RUN = run_<uuid>FLOW NODE = lv1_qc_director
  • 「待审批人」渲染成裸用户 IDairUFxCipivl1VYMACC…),同 [approvals] 转签审计默认 comment 落裸用户 ID("<from_id> → <to_id>"),审批动态里看不出谁转给谁 #4365 的形态;
  • 整页没有批准 / 驳回 / 任何决策入口 —— 用户从「待我审批」点进来后只能原路退出。

汇总的问题

  1. 入口分裂:同一件事有 3 个并存入口(首页待办、setup 下的审批中心、账户应用的审批请求),命名各异(「审批中心」/「待我审批」/「审批请求 · 我的待办」/「待办事项」),没有一个是被平台明确指定的"正确入口"。
  2. 唯一完整的入口在管理后台里:审批中心位于 setup 应用,业务用户通常没有该应用的访问权;也无法挂到业务应用导航。
  3. sys_approval_request 的原生视图直接面向终端用户暴露:显示流程 id / 对象 API 名 / 记录 ID / 节点 id / 裸用户 ID,且记录页无决策动作,是一条死路。如果这张表定位为系统内部实例表,它不应该出现在终端用户的「待我审批」导航里;如果它要面向用户,就得渲染人类可读标签并带上决策动作。
  4. 词表不统一:同一条请求,审批中心显示 待审批sys_approval_request 显示 待处理;阶段条一处是流程节点、一处是请求状态,同样的横条控件表达两种完全不同的轴。
  5. 计数分散:首页「8 条待审批」、审批中心 待我审批 8、铃铛 9+,用户侧同时看到多个不一致的数字。

期望(方向,不指定实现)

  • 收敛出单一「我的审批待办」入口,并允许挂载到任意业务应用的导航,而不是只存在于 setup
  • 三处(待办卡片 / 审批中心抽屉 / 业务记录页头)复用同一套「记录摘要 + 节点进度 + 决策」组件;
  • 状态、阶段的词表跨入口统一;
  • sys_approval_request 的可见性与呈现按上面第 3 点明确定位。

环境

  • @objectstack/*@17.0.0-rc.5,Console 预览版,zh-CN。
  • 来自应用项目的实测;截图在内部工单里,需要的话可以补贴(对象/流程名已在上文脱敏为通用形式)。

PM epic registration (pm:epic) — ✅ CLOSED OUT 2026-08-10

(Note: the two route examples in 入口 B / 入口 C above now spell their placeholders as HTML entities so this body survives GitHub's sanitizer on rewrite; the wording is otherwise unchanged from the original report.)

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions