- 09-18 PRD 注明「不提高5000ms」约束经用户 2026-09-27 决定被取代; 09-27 任务记负载验证结果(采购提交 0 次 500)。 - 父任务记用户确认:退回的报销单已重新提交并经财务审批通过(来源为 用户确认,未读生产数据);核查 SW 缓存仅含报销摘要,符合 R8。 - 09-26-approve-success-state-unchanged 验收完成并已上线,归档。 Co-Authored-By: Claude Opus 5.5 <[email protected]>
26 行
1.7 KiB
Diff
26 行
1.7 KiB
Diff
diff --git a/client/tests/e2e/procurement-flow.spec.ts b/client/tests/e2e/procurement-flow.spec.ts
|
|
index aa156213..e4777e10 100644
|
|
--- a/client/tests/e2e/procurement-flow.spec.ts
|
|
+++ b/client/tests/e2e/procurement-flow.spec.ts
|
|
@@ -30,6 +30,8 @@ test("E2E 采购主链路:员工提单→经理审批→财务归档", async (
|
|
const title = `Playwright 采购 ${Date.now()}`;
|
|
let requestNo = "";
|
|
|
|
+ page.on("response", async (r) => { const u = new URL(r.url()); if (r.request().method() === "GET" && /^\/api\/workflow\/tasks\/[0-9a-f-]{36}$/.test(u.pathname)) { try { const j = await r.json(); console.log("DIAG-CLIENT", new Date().toISOString(), u.pathname.slice(-36), r.status(), j?.data?.task?.status, j?.data?.workflowInstance?.currentStatus); } catch { console.log("DIAG-CLIENT parse-fail", u.pathname); } } });
|
|
+ page.on("request", (q) => { const u = new URL(q.url()); if (/^\/api\/workflow\/tasks\//.test(u.pathname)) console.log("DIAG-REQ", new Date().toISOString(), q.method(), u.pathname.slice(-44)); });
|
|
await page.setViewportSize({ width: 1440, height: 960 });
|
|
await login(page, EMPLOYEE);
|
|
await (await openNavLink(page, "采购")).click();
|
|
diff --git a/server/src/routes/workflow.js b/server/src/routes/workflow.js
|
|
index 3bb49e47..5b5c715e 100644
|
|
--- a/server/src/routes/workflow.js
|
|
+++ b/server/src/routes/workflow.js
|
|
@@ -2306,6 +2306,7 @@ async function workflowRoutes(fastify) {
|
|
},
|
|
});
|
|
|
|
+ request.log.info({ diagTaskId: taskId, diagTaskStatus: task?.status ?? null, diagInstanceStatus: task?.workflow_instance?.current_status ?? null }, "DIAG task detail read");
|
|
if (!task) {
|
|
const existing = await fastify.prisma.workflowTask.findUnique({
|
|
where: { id: taskId },
|