feat(detail-page-structure-progress-actions): 统一详情处理进度与操作区

这个提交包含在:
2026-08-03 16:00:42 +08:00
父节点 8d428bd51d
当前提交 b7d5761067
共修改 31 个文件,包含 1453 行新增和 383 行删除
@@ -599,16 +599,20 @@ describe("GET /api/reimbursements/:id detail enhancements", () => {
it.each([
["draft", "current", "pending", "待付款复核通过后由财务登记,非审批环节"],
["reviewed", "completed", "current", "待财务完成付款并登记回单,非审批环节"],
["reviewed", "completed", "current", "等待财务线下付款并上传回单,非审批环节"],
["executed", "completed", "completed", "付款和回单已留存"],
["failed", "completed", "exception", "付款失败,待财务重新处理,非审批环节"],
["cancelled", "exception", "pending", "待财务重新安排付款,非审批环节"],
["failed", "completed", "exception", "付款登记失败,待财务核对后重试,非审批环节"],
["cancelled", "exception", "terminated", null],
])("maps %s payment batch without exposing a batch link to ordinary applicants", async (status, reviewState, paymentState, detail) => {
const paymentBatchItem = {
id: "batch-item-1",
payment_batch: {
id: "batch-1",
status,
entity_type: "reimbursement",
default_payment_channel: "bank",
payment_order_export_count: 0,
created_at: new Date("2026-04-11T07:00:00.000Z"),
created_by: "maker-1",
reviewed_at: status === "draft" || status === "cancelled" ? null : new Date("2026-04-11T08:00:00.000Z"),
reviewed_by: status === "draft" || status === "cancelled" ? null : "reviewer-1",
@@ -617,6 +621,7 @@ describe("GET /api/reimbursements/:id detail enhancements", () => {
cancelled_at: status === "cancelled" ? new Date("2026-04-11T09:00:00.000Z") : null,
cancelled_by: status === "cancelled" ? "reviewer-1" : null,
cancelled_reason: status === "cancelled" ? "批次资料需调整" : null,
items: [{ status: status === "executed" ? "executed" : "pending", payment_channel_override: null }],
_count: { receipt_attachments: status === "executed" ? 1 : 0 },
},
};
@@ -650,6 +655,10 @@ describe("GET /api/reimbursements/:id detail enhancements", () => {
payment_batch: {
id: "batch-1",
status: "draft",
entity_type: "reimbursement",
default_payment_channel: "bank",
payment_order_export_count: 0,
created_at: new Date("2026-04-11T07:00:00.000Z"),
created_by: "maker-1",
reviewed_at: null,
reviewed_by: null,
@@ -658,6 +667,7 @@ describe("GET /api/reimbursements/:id detail enhancements", () => {
cancelled_at: null,
cancelled_by: null,
cancelled_reason: null,
items: [{ status: "pending", payment_channel_override: null }],
_count: { receipt_attachments: 0 },
},
},