| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- PASS A1-mode-and-display-name-carried — mode=ALARM displayName=当前报警
- PASS A2-inner-events-section-mapped — events.state=success 条数=2
- PASS A3-order-section-present-untouched — orders.state=empty
- PASS A4-event-item-domain-fields — EventItem 领域行(编码/等级/设备编码/坐标校验)
- PASS A5-empty-events-section-mapped-empty — 空事件分区照后端 EMPTY 映射,不猜成成功
- PASS B1-two-families-two-labels — 预警 {"key":"WARNING","label":"预警","title":"当前预警","codeLabel":"预警编号","nameLabel":"预警名称","statusLabel":"预警状态"} / 报警 {"key":"ALARM","label":"报警","title":"当前报警","codeLabel":"报警编号","nameLabel":"报警名称","statusLabel":"报警状态"}
- PASS B2-fields-and-status-label-sync-per-family — 同一对象的 codeLabel 与 statusLabel —— 切换时必然一起变(结构保证)
- PASS B3-switch-options-order-fixed — 分段顺序固定:预警在前、报警在后
- PASS B4-known-mode-validation — 只认 WARNING/ALARM(认不出的不该拿去换后端 400)
- PASS B5-unknown-mode-falls-back-to-warning — 认不出的 mode 落回预警(视图不崩),但切换入口不认它
- PASS C1-level-1-to-4-uses-level-tags — 1级 {"tone":"lv1","label":"1级"} / 4级 {"tone":"lv4","label":"4级"}
- PASS C2-level-tags-is-statusTones-source — 等级色键来自 statusTones 的 LEVEL_TAGS(唯一来源,与点位状态色分离)
- PASS C3-unknown-level-neutral-with-text — 认不出的等级落中性灰 + 文字,不猜成某个真实等级
- PASS C4-column-level-tag-and-text — 行视图带等级标签(色键 + 文字)
- PASS D1-newest-first-by-event-time — 取最新 2 条:NEW,MID
- PASS D2-default-limit-in-10-15-range — DEFAULT_EVENT_LIMIT=12(验收「默认展示最新 10-15 条」)
- PASS D3-limit-caps-out — 不传 limit 时按默认上限截断(这里 4 条全保留)
- PASS D4-view-rows-are-latest-limit — 视图行 = 最新 N 条(纯函数层收口,组件不自己截)
- PASS D5-view-rows-are-view-shape — 视图行带等级 tag/状态文本/量值(组件可读的最终形状)
- PASS E1-domain-no-map-engine-import — 领域层不 import 引擎/地图服务(没有标记计划可产生)
- PASS E2-pane-no-map-engine-import — 组件不碰地图引擎/标记(事件只带设备编码,地图由票 14 回联)
- PASS E3-store-no-marker-plan — store 只驱动地图(相机/高亮),不产生标记计划
- PASS E4-event-keeps-device-code-only — 事件以设备编码为回联键;坐标只作票 14 的输入,不在这里上图
- PASS F1-no-accuracy-false-alarm-field — 领域层与组件不发明任何真伪/准确率/误报判定(后端契约就没有这些字段)
- PASS F2-mock-has-no-judgement-field — mock 不造「准确率/误报率」字段(照后端契约,系统不判断事件真伪)
- PASS F3-status-shown-as-backend-gives — 状态直译已知值、认不出的回原码、空回空串 —— 只呈现后端的判断,不替后端裁决
- PASS G1-loads-warning-by-default — mode=WARNING 行数=12
- PASS G2-set-mode-switches-family-and-reloads — 切换后 mode=ALARM 行数=12
- PASS G3-switch-field-labels-follow-mode — 告警族的字段标签与状态标签(同一切换状态,同步变化)
- PASS G4-race-latest-mode-wins — 快速切族后停在 ALARM(迟到的 WARNING 被丢弃)
- PASS G5-invalid-mode-ignored — setMode('BOGUS') 不改状态(保持 ALARM)
- PASS H1-mock-filters-by-mode — 预警 14 条(WRN-*)、报警 14 条(ALM-*)—— 两种列表内容不同(12 条上限是视图层的活,见 H3)
- PASS H2-mock-empty-scenario — 空样例事件分区 empty、视图行 0(不画假数据)
- PASS H3-view-total-from-pagination — 视图 total=14、limited=true(样例共 14 条 > 默认 12)
- PASS I1-CockpitShell.vue-no-raw-fields — 零后端裸字段
- PASS I1-components/EventListPane.vue-no-raw-fields — 零后端裸字段
- PASS I1-stores/eventStore.js-no-raw-fields — 零后端裸字段
- PASS I2-CockpitShell.vue-no-credential — 不碰凭据
- PASS I2-components/EventListPane.vue-no-credential — 不碰凭据
- PASS I2-stores/eventStore.js-no-credential — 不碰凭据
- PASS I2-services/eventApi.js-no-credential — 不碰凭据
- PASS I2-domain/eventList.js-no-credential — 不碰凭据
- PASS I3-domain/eventList.js-pure — 领域转换不自己发请求
- PASS I4-domain/eventList.js-no-service-import — domain 不 import service
- PASS I3-domain/events.js-pure — 领域转换不自己发请求
- PASS I4-domain/events.js-no-service-import — domain 不 import service
- PASS I3-domain/statusTones.js-pure — 领域转换不自己发请求
- PASS I4-domain/statusTones.js-no-service-import — domain 不 import service
- PASS I5-switch-state-lives-in-store — 分段按钮只调 store 的 setMode(组件不私藏切换状态)
- T13 事件列表检查:49/49 项通过。
- T13 事件列表全部通过。
|