feat(workbench): integrate operational workflows and map state

This commit is contained in:
2026-09-24 04:34:46 +08:00
parent 1752b9ef84
commit 436d5500f1
76 changed files with 5081 additions and 1937 deletions
@@ -180,10 +180,6 @@ test("keeps execution spinners without breathing badges after selecting timeline
.filter({ hasText: "SCADA 数据诊断" })
.filter({ hasText: "执行中" })
.first();
const executingWorkOrder = timeline
.locator('button[aria-pressed]')
.filter({ hasText: "演示工单:北辰分区阀门开度调整" });
await expectRunningStatusAnimations(runningCondition);
await runningCondition.click();
await expectRunningStatusAnimations(runningCondition);
@@ -194,6 +190,11 @@ test("keeps execution spinners without breathing badges after selecting timeline
.locator(".status-badge .status-dot")
).toHaveCount(0);
await panel.getByRole("button", { name: /预约任务/ }).click();
const executingWorkOrder = timeline
.locator('button[aria-pressed]')
.filter({ hasText: "演示工单:北辰分区阀门开度调整" })
.last();
await expectRunningStatusAnimations(executingWorkOrder);
await expect(executingWorkOrder.getByText("执行中", { exact: true })).toBeVisible();
await executingWorkOrder.click();
@@ -214,10 +215,12 @@ test("shows completed field work as a static waiting-for-reply state", async ({
const panel = page.getByRole("region", { name: "工况任务", exact: true });
await panel.getByRole("button", { name: "展开工况任务" }).click();
await panel.getByRole("button", { name: /预约任务/ }).click();
const awaitingReplyWorkOrder = panel
.getByTestId("scheduled-condition-timeline")
.locator('button[aria-pressed]')
.filter({ hasText: "演示工单:泵站边界复核复令" });
.filter({ hasText: "演示工单:泵站边界复核复令" })
.last();
await expect(awaitingReplyWorkOrder.getByText("待复令", { exact: true })).toBeVisible();
await expect(awaitingReplyWorkOrder.locator(".status-icon")).toHaveAttribute(