66-event-type-level-industry-cause.md 3.2 KB

前端执行票 —— 预警分析英文码翻译为中文(EVENT_TYPE/LEVEL/INDUSTRY/CAUSE)与「事件」概念口径说明

Question

维护者 2026-10-19 反馈第 7 条:预警处置「预警分析」出现英文字段,需翻译为中文;且「事件」概念指代不明。

实测证据(2026-10-19,/events/multidimensional-analysis?eventFamily=WARNING):后端 buckets[].bucketLabel 原样返回英文码:

  • EVENT_TYPE:WARN-PRESSURE(3)、WARN-WATER-LEVEL(1)、WARN_INSTANT_FLOW(2)
  • INDUSTRY:GAS、WATER_SUPPLY、DRAINAGE、MANHOLE
  • LEVEL:RED/YELLOW/BLUE/GREEN/UNKNOWN
  • CAUSE:UNKNOWN_CAUSE(label 反倒是中文「未知/缺失成因」)

前端 domain/warningResponsePanels.js 的 toEventAnalysis 直接 label: bucket.bucketLabel || bucket.bucketCode,无翻译层,英文码因此上屏。这是「接口词汇不上大屏」纪律的缺口(票 05/17 立,票 22 已有同类先例)。

「事件」概念不明:面板同时出现「事件类型」「事件等级」「历史事件」「重点识别」,但「事件」在预警/报警两族下分别指什么、与「预警」「报警」的关系,界面没有任何说明。

Acceptance

  • 英文码走既有单源词表翻译,不新造第二份:行业复用 filterOptions.industryLabel/CODE_TEXT,等级复用 statusTones.LEVEL_TAGS(注意后端给的是颜色名不是等级号,需显式映射),事件类型与成因各登记一张表;认不出的回空串或原码(数据值 vs 接口词汇的既有边界,见 panelBlocks.CODE_TEXT 注释)——不得把 WARN-PRESSURE 这类码直接上屏。
  • 新增「码→中文」翻译的逻辑闸门:登记表的键不得等于值(防「翻译了但没改」),且未知码不得静默丢弃。
  • 「事件」概念在面板上加一句口径说明:预警/报警两族各指什么、与工单的关系(复用 eventListSwitchView 词表)。
  • 两族(WARNING/ALARM)都要核(LEVEL 桶在报警族同样是颜色名)。
  • 若某英文码在词表里没有可信中文名,票面如实登记并回原码/空串,不臆造。
  • 闸门 + 变异打红;按 AGENTS.md 跳过 build/dev/浏览器验证。

Context

  • 代码:domain/warningResponsePanels.js(toEventAnalysis/eventAnalysisPanel)、domain/panelBlocks.js(CODE_TEXT/codeText)、domain/filterOptions.js(industryLabel)、domain/statusTones.js(LEVEL_TAGS)。
  • 同类先例:票 17 真机走查逮到「规模=medium」、票 22 业务错误文案、票 27 undefined 上屏——都是「接口词汇漏上大屏」。
  • 后端契约:bucketLabel 与 bucketCode 实测同值,前端不能指望后端翻译。

Related spec

../specs/2026-10-18-global-list-pagination.md(本票不涉分页,属同批维护者反馈)

进度

Status: ready-for-agent Type: task Blocked by: #59 Labels: wayfinder:task

Comments

Answer