Skip to content

console: 记录详情页头「驳回」在无 decisionOutputs 参数的审批节点上静默哑火——确认弹层点「继续」后零请求 #3126

Description

@baozhoutao

现象

@objectstack/console@17.0.0-rc.1。审批人在记录详情页头点「驳回」→ 弹 role=alertdialog「确认操作 / 确定驳回该审批请求吗?」→ 点「继续」→ 弹层关闭,但:

  • 零网络请求(Playwright page.on('response') 全程监听,无 POST /api/v1/approvals/requests/:id/reject,连失败请求都没有)
  • 无 console 报错、无 pageerror、无 toast
  • 单据与 sys_approval_request 状态原地不动

用户以为驳回了,实际审批被变相卡住。

复现

  1. 一条 record_change 流带 approval 节点(本例:QIF 三级审批的②会审节点 lv2_parallelbehavior:'per_group'未声明 decisionOutputs),单据推进到该节点 pending;
  2. 以待审人登录 console,打开业务单据详情页;
  3. 页头点「驳回」→ 确认弹层点「继续」;
  4. 观察:无请求发出,单据不动。

三组对照(锁定病灶在记录页头驳回这一条分支)

对照 结果
同一单据、同一账号,改走审批中心驳回 POST /approvals/requests/:id/reject 200,流按 reject 边正常推进
记录页头「批准」:有 decisionOutputs 的节点(决策弹窗)与无参数的节点(轻确认) ✅ 均正常发请求
17.0.0-rc.0 时代同一记录页头驳回路径(本项目 #665 e2e 曾全链实测通过) ✅ 当时是好的

即:rc.0 → rc.1 引入的回归,且仅伤「记录详情页头 驳回 → 确认操作 alertdialog」这一分支;怀疑与 #2955 / #2961 的决策面重构(RecordDetailView.approvalDecisionActions 合成 approve/reject 参数动作)有关——reject 无必填参数时走的轻确认路径,确认回调疑似没接到 dispatch。

期望

记录页头「驳回」确认后应与审批中心一致发出 reject 决策请求;若确认回调丢失,至少要把失败显性化(报错/toast),不能静默吞掉。

环境与下游留档

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions