收敛报销退回动作与审批布局 [09-04-approval-return-reject-actions]

这个提交包含在:
2026-09-04 10:31:32 +08:00
父节点 59df0594bb
当前提交 8551601818
共修改 17 个文件,包含 520 行新增和 56 行删除
@@ -52,7 +52,7 @@ test("报销审批五类阻断原因由同一投影给出且正常态保持安
};
expect(resolveReimbursementApprovalBlockReason(base)).toBeNull();
expect(resolveReimbursementApprovalBlockReason({ ...base, online: false })).toBe("报销审批需联网核对完整报销内容;当前不能通过、退回、驳回或转审。");
expect(resolveReimbursementApprovalBlockReason({ ...base, online: false })).toBe("报销审批需联网核对完整报销内容;当前不能通过、退回修改或转审。");
expect(resolveReimbursementApprovalBlockReason({ ...base, detailState: "loading" })).toBe("正在加载完整报销内容和票据;加载完成前不能作出审批决定。");
expect(resolveReimbursementApprovalBlockReason({ ...base, detailState: "error" })).toBe("报销内容未加载完整,暂不能审批,请刷新后重试");
expect(resolveReimbursementApprovalBlockReason({ ...base, snapshotParseStatus: "invalid" })).toBe("提交时检查记录无法解析,暂时不能审批;请联系系统管理员核对。");
@@ -73,6 +73,13 @@ test("动作面板复用唯一阻断投影且预算三态判断保持原合同",
expect(adapter).not.toContain("内容未就绪,审批动作已停用");
expect(adapter).not.toContain("statusSummary");
expect(adapter).toContain("actionError || activeSecondaryAction ?");
expect(adapter).toContain('data-testid="reimbursement-approval-primary-actions"');
expect(adapter).toContain('className="grid grid-cols-2 gap-2"');
expect(adapter).toContain("退回修改");
expect(adapter).not.toContain("rejectWorkflowTask");
expect(adapter).not.toContain('allowedActions.has("reject")');
expect(adapter).not.toContain("workflow-task-reject-toggle");
expect(adapter).not.toContain("mobile-approvals-reject");
});
test("旧审批层叠 class 与更多菜单样式无定义或消费者", () => {