| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- PASS A1-seven-states-complete — 状态码表:0待派单 / 1待接单 / 2已接单 / 3处理中 / 4待验收 / 5已结案 / 6延期中 / 7已取消
- PASS A2-only-closed-and-cancelled-are-terminal — 只有已结案(5)/已取消(7)是终态;**6 延期中不是终态而是处理旁路**(后端 ACTIVE_CODES 含它)
- PASS A2b-delay-is-bypass-not-terminal — 票 20:6 延期中是正式状态(后端枚举旁路),既非终态也不在推进主线上
- PASS A3-path-excludes-cancelled-and-delay — 推进主线 0→1→2→3→4→5;已取消(7) 与延期中(6) 都在主线外
- PASS A4-unknown-code-not-a-state — 认不出的码不算码表之一(不猜、不冒充状态名)
- PASS B1-forward — 码变大 = 流转
- PASS B2-reject-is-rollback-not-terminal — 待验收(4) → 处理中(3) 判成回退动作(不是终态、也不是取消)
- PASS B3-first-step-is-start — 轨迹第一条是"从无到有",不算回退
- PASS B4-cancel-and-after-cancel — 取消是路径外动作;取消之后又出现动作是认不出的形状(不猜)
- PASS B5-hold-and-unknown-code — 同态不是回退;认不出的码既不往前算也不当回退
- PASS B6-delay-is-bypass-action — 进入/离开延期中都判成旁路动作(bypass),不冒充主线前进
- PASS C1-steps-in-order — 六步:创建工单 → 派单 → 接单 → 开始处置 → 提交验收 → 验收驳回
- PASS C2-rollback-counted-and-flagged — 回退恰好一次,且回退那一步带 isRollback 标记
- PASS C3-rollback-carries-from-state — 回退记录如实说「自待验收」→「处理中」
- PASS C4-reached-is-furthest-not-current — 当前 3 处理中,但走到过 4 待验收(回退正是靠这个差表现)
- PASS C5-cancel-is-not-a-path-step — 取消轨迹:走到过 1,取消不算回退、也不算推进到 7
- PASS C6-unknown-code-does-not-become-a-state — 后端给了码表外的码:如实留空动作与状态名,**不**把「已驳回」当多出来的状态接受
- PASS C7-empty-track-is-honest — 没有轨迹记录时条数为 0(界面说"没有动作记录",而当前态仍来自工单自己)
- PASS C8-grouping-keeps-first-and-reports-duplicates — 每张工单一条:保留第一条、重复的进 duplicates(WO-1)、无编码的进 orphans
- PASS D1-path-always-has-seven-nodes — 路径永远这八个节点:待派单→待接单→已接单→处理中→待验收→已结案→延期中→已取消(驳回**不**多出节点)
- PASS D2-current-vs-reached — 当前态=处理中(3);待验收(4) 标"走到过";已结案(5) 没到过
- PASS D3-cancelled-node-is-off-path — 已取消是**路径外**节点(不接在已结案后面冒充下一步)
- PASS D3b-delay-node-is-off-path-bypass — 延期中(6) 是路径外的**旁路**(bypass),与已取消(7) 的"路径外终态"不是一回事
- PASS D4-cancelled-current-is-off-path-only — 已取消工单:只有路径外的那个节点是亮的,推进主线六个节点都不算"走到过"
- PASS E1-every-order-has-its-own-track — 四张工单各自一条:WO-TL-CANCELLED / WO-TL-DELAYED / WO-TL-FORWARD / WO-TL-ROLLBACK
- PASS E2-tracks-differ-per-order — 条数各不相同(5/6/6/3)—— 不是同一份轨迹抄四遍
- PASS E3-rollback-order-is-the-rollback-shape — 回退那张:当前处理中、走到过待验收、恰一次回退;推进那张零回退(对照,证明判据有牙)
- PASS E3b-delay-order-is-the-bypass-shape — 延期中那张:当前态 6(旁路)、零回退、最后一步是旁路动作、走到过的最远处仍是主线 3
- PASS E4-timeline-section-state-is-success — 时间线分区 success,没有占位说明
- PASS E5-timeline-failure-is-its-own-state — 轨迹分区失败时:占位说明「工单动作轨迹:该分区加载失败(其它分区不受影响)」,且**不**留下空轨迹表冒充有数据
- PASS E6-order-list-still-succeeds-alongside — 工单列表照常 success,只有轨迹分区 failed(分区独立,不互相遮盖)
- PASS E7-failure-text-differs-from-no-records — 「工单动作轨迹:该分区加载失败(其它分区不受影响)」(没取到)与「这张工单没有动作记录」(确实没有)是两句不同的话
- PASS E8-empty-timeline-draws-nothing — 空场景:没有轨迹可画,说的是「工单动作轨迹:该分区当前没有数据」
- PASS E9-unloaded-source-is-safe — 未加载时回一条失败分区、轨迹表是空对象(组件不必写 ?. 兜底)
- PASS E9b-path-survives-when-only-timeline-failed — 轨迹没拿到时仍铺状态路径(当前态=待验收),只是没有动作流水
- PASS E9c-path-only-does-not-fake-reached — 只有路径时 reachedCode 为 null、零个节点标"走到过"(不拿当前态冒充"走到过最远处"),回退也无从谈起
- PASS E10-timeline-endpoint-echoes-code — 按编码取回 WO-TL-FORWARD 自己的 5 条轨迹(不是永远同一张工单)
- PASS E11-unknown-order-is-not-empty-success — 认不出的工单编码不算成功(failed)—— 缺数据不能画成"没有动作"
- PASS F1-no-eighth-state-vocabulary — 「已驳回」不作为状态词出现(它只能以**动作名**出现在样例数据里)
- PASS F2-no-delay-vocabulary — 时间线里没有延期这一档(后端契约也没有该字段)
- PASS F3-timeline-module-is-pure — 时间线域模块是纯函数:不发请求、不 import service
- PASS F4-component-has-no-backend-field-names — 时间线组件只读视图对象字段(后端裸字段名只在 domain 适配层出现)
- PASS F5-component-does-not-build-api-paths — 接口路径只在 services/detailApi.js,组件不自己拼
- PASS F6-no-write-operations — 驾驶舱只读:时间线不引入任何工单写操作(spec 验收第 6 条)
- PASS F7-component-does-not-sort — 轨迹顺序由 domain 按 operatedAt 定,组件不重排
- PASS F8-timeline-section-is-no-longer-deferred — `timelines` 已从延后清单移出并接到工单面板(票 11 写明归票 12)
- PASS F9-no-records-note-is-gated-by-section-content — 分区失败时仍铺状态路径(path-only),「这张工单没有动作记录」只在分区有内容时才可能渲染
- PASS F10-path-only-blocks-no-records-claim — 时间线自己也不许在 path-only 时说「没有动作记录」(把"没取到"说成"没有")
- PASS F11-EquipmentDetailSections.vue-template-references-are-bound — 模板表达式引用的 17 个标识符都有 import/const/props/v-for 定义
- PASS F12-EquipmentDetailSections.vue-script-calls-are-bound — 脚本体 19 个调用点(defineProps, computed, equipmentPanels, timelineSource, trackOfOrder, if, pathOnlyTrack, rowsOf, archiveRows, metricRows, workOrderRows, eventRows, metricsSource, metricsSourceText, image, imageView, emptyList, emptyListText, isPlaceholder)都解析得到
- PASS F11-WorkOrderTimeline.vue-template-references-are-bound — 模板表达式引用的 7 个标识符都有 import/const/props/v-for 定义
- PASS F12-WorkOrderTimeline.vue-script-calls-are-bound — 脚本体 3 个调用点(defineProps, computed, pathView)都解析得到
- T12 逻辑检查:52/52 项通过。
|