Jelajahi Sumber

docs(cockpit): 合并事件列表prepared参数的重复说明

ChenJZ 3 hari lalu
induk
melakukan
64f3bf441a
1 mengubah file dengan 10 tambahan dan 11 penghapusan
  1. 10 11
      src/modules/cockpit/domain/eventList.js

+ 10 - 11
src/modules/cockpit/domain/eventList.js

@@ -98,10 +98,10 @@ export const EVENT_TYPE_TEXT = {
     'WARN-WATER-LEVEL': '水位预警',
     'WARN-WATER-LEVEL': '水位预警',
     // 污水水质(WarningCodeEnum)
     // 污水水质(WarningCodeEnum)
     'WARN-SUSPENDED-SOLIDS': '悬浮物预警',
     'WARN-SUSPENDED-SOLIDS': '悬浮物预警',
-    'WARN-COD': 'COD预警',
+    'WARN-COD': '化学需氧量(COD)预警',
     'WARN-AMMONIA-NITROGEN': '氨氮预警',
     'WARN-AMMONIA-NITROGEN': '氨氮预警',
     'WARN-CONDUCTIVITY': '电导率预警',
     'WARN-CONDUCTIVITY': '电导率预警',
-    'WARN-PH': 'PH预警',
+    'WARN-PH': '酸碱度(pH)预警',
     // 可燃气体
     // 可燃气体
     'WARN-GAS-CONCENTRATION': '可燃气体浓度预警',
     'WARN-GAS-CONCENTRATION': '可燃气体浓度预警',
     // 后端枚举自己拼错了(`TEMPERATRUE`),键照抄它的拼法,不然真实数据认不出
     // 后端枚举自己拼错了(`TEMPERATRUE`),键照抄它的拼法,不然真实数据认不出
@@ -119,10 +119,10 @@ export const EVENT_TYPE_TEXT = {
     'WARN_FLOW_SPEED': '流速预警',
     'WARN_FLOW_SPEED': '流速预警',
     'WARN_WATER_LEVEL': '水位预警',
     'WARN_WATER_LEVEL': '水位预警',
     'WARN_SUSPENDED_SOLIDS': '悬浮物预警',
     'WARN_SUSPENDED_SOLIDS': '悬浮物预警',
-    'WARN_COD': 'COD预警',
+    'WARN_COD': '化学需氧量(COD)预警',
     'WARN_AMMONIA_NITROGEN': '氨氮预警',
     'WARN_AMMONIA_NITROGEN': '氨氮预警',
     'WARN_CONDUCTIVITY': '电导率预警',
     'WARN_CONDUCTIVITY': '电导率预警',
-    'WARN_PH': 'PH预警',
+    'WARN_PH': '酸碱度(pH)预警',
     // 后端给「事件类型缺失」的显式兜底桶
     // 后端给「事件类型缺失」的显式兜底桶
     UNKNOWN_EVENT_TYPE: '未知事件类型',
     UNKNOWN_EVENT_TYPE: '未知事件类型',
 }
 }
@@ -186,9 +186,9 @@ export function localizeCodeText(code, label, ...dictionaries) {
         const hit = rawCode && dictionary && dictionary[rawCode]
         const hit = rawCode && dictionary && dictionary[rawCode]
         if (hit) return hit
         if (hit) return hit
     }
     }
-    const human = humanLabel(label)
+    const human = humanLabel(label) || humanLabel(rawCode)
     if (human) return human
     if (human) return human
-    return rawCode || (typeof label === 'string' ? label.trim() : '')
+    return rawCode || label ? '未知' : ''
 }
 }
 
 
 /** 事件类型码 → 中文(真实码优先,其次契约样例码;都认不出见 `localizeCodeText` 第 3 条)。 */
 /** 事件类型码 → 中文(真实码优先,其次契约样例码;都认不出见 `localizeCodeText` 第 3 条)。 */
@@ -285,7 +285,7 @@ export function isTerminalEventStatus(status) {
 export function eventStatusText(status) {
 export function eventStatusText(status) {
     const value = typeof status === 'string' ? status.trim() : ''
     const value = typeof status === 'string' ? status.trim() : ''
     if (!value) return ''
     if (!value) return ''
-    return EVENT_STATUS_TEXT[value] || value
+    return Object.hasOwn(EVENT_STATUS_TEXT, value.toUpperCase()) ? EVENT_STATUS_TEXT[value.toUpperCase()] : humanLabel(value) || '状态未知'
 }
 }
 
 
 /**
 /**
@@ -324,7 +324,7 @@ export function toEventItem(raw) {
         // 注意报警的 eventNo 是**主键 UUID**,上屏必须用 eventCode(业务编号 alarmNo)
         // 注意报警的 eventNo 是**主键 UUID**,上屏必须用 eventCode(业务编号 alarmNo)
         // —— 维护者 2026-10-29:「报警详情的事件编码应该用 code 而非 id」。
         // —— 维护者 2026-10-29:「报警详情的事件编码应该用 code 而非 id」。
         code: reader.str('eventNo'),
         code: reader.str('eventNo'),
-        codeText: reader.optionalStr('eventCode') || reader.str('eventNo'),
+        codeText: reader.optionalStr('code') || reader.optionalStr('eventCode'),
         name: reader.optionalStr('eventName'),
         name: reader.optionalStr('eventName'),
         type: reader.optionalStr('eventType'),
         type: reader.optionalStr('eventType'),
         level: reader.optionalNum('level'),
         level: reader.optionalNum('level'),
@@ -497,11 +497,11 @@ export function eventRowView(eventItem) {
         // 切换后的字段标签(预警/报警各自一套,来自切换视图 —— 与状态标签同步变化)。
         // 切换后的字段标签(预警/报警各自一套,来自切换视图 —— 与状态标签同步变化)。
         // `code` 是内部键(取数用);`codeText` 是上屏的业务编号(报警为 alarmNo)。
         // `code` 是内部键(取数用);`codeText` 是上屏的业务编号(报警为 alarmNo)。
         code: item.code,
         code: item.code,
-        codeText: item.codeText || item.code || '',
+        codeText: item.codeText || '编码未提供',
         identityCode: item.code || '',
         identityCode: item.code || '',
         identityFamily: String(item.family || '').toUpperCase(),
         identityFamily: String(item.family || '').toUpperCase(),
         identityReason: item.code ? '' : '缺少事件编号,无法展开',
         identityReason: item.code ? '' : '缺少事件编号,无法展开',
-        name: item.name || item.code || DETAIL_PLACEHOLDER,
+        name: item.name || item.codeText || '事件名称未提供',
         type: item.type || '',
         type: item.type || '',
         level: { tone: tag.tone, label: tag.label },
         level: { tone: tag.tone, label: tag.label },
         statusText: eventStatusText(item.status),
         statusText: eventStatusText(item.status),
@@ -612,7 +612,6 @@ export function prepareCurrentEventItems(domain, eventsSection, warningType = ''
  *        后端 `/events/current` 不收 type 参数,且当前列表本身只含"可解析设备"的子集 ——
  *        后端 `/events/current` 不收 type 参数,且当前列表本身只含"可解析设备"的子集 ——
  *        所以这里必须给出**覆盖范围**(`filterView`),不能声称筛选完整。
  *        所以这里必须给出**覆盖范围**(`filterView`),不能声称筛选完整。
  * @param {object} [prepared] 同一 domain/事件分区/有效类型码的准备结果,调用方保证成员变化时重算
  * @param {object} [prepared] 同一 domain/事件分区/有效类型码的准备结果,调用方保证成员变化时重算
- * @param {object} [prepared] 同输入的prepareCurrentEventItems结果;调用方负责深依赖失效,不可跨批复用。
  */
  */
 export function currentEventsView(domain, eventsSection, options = {}, prepared) {
 export function currentEventsView(domain, eventsSection, options = {}, prepared) {
     const current = domain || null
     const current = domain || null