|
@@ -36,12 +36,18 @@ export const DEVICE_STATUS = {
|
|
|
*
|
|
*
|
|
|
* 形状**复用** `pointStatus.js` 的 `SHAPES` 片段(同风格、同一份 SVG 来源,避免两套图形定义),
|
|
* 形状**复用** `pointStatus.js` 的 `SHAPES` 片段(同风格、同一份 SVG 来源,避免两套图形定义),
|
|
|
* 但**键与语义在本表独立成立**:例如点位表的 `EMPTY`(无设备)在这里根本不存在。
|
|
* 但**键与语义在本表独立成立**:例如点位表的 `EMPTY`(无设备)在这里根本不存在。
|
|
|
- * `priority` 数值沿用后端给的状态优先级(1 最紧急),前端不自定序。
|
|
|
|
|
|
|
+ *
|
|
|
|
|
+ * `priority` 是**设备点自己的显示序**(维护者 2026-11-06《点位特效显示规则》「设备点」一节:
|
|
|
|
|
+ * 报警 > 工单 > 预警 > 独立设备),**不沿用**后端点位的枚举 priority —— 后者是监测点的**聚合**序
|
|
|
|
|
+ * (报警 > 预警 > 工单),两张序刻意不同(见后端 `CockpitMonitoringPointStatus` 的类注释)。
|
|
|
|
|
+ * 此前这里沿用枚举值,2026-11-02 的对调曾让它短暂「正确」,但那只是巧合;现在由规则直接钉住。
|
|
|
|
|
+ * 关心的是「多个标签同时存在时展示谁」,所以排列顺序与聚合符号取色都以本表为准。
|
|
|
*/
|
|
*/
|
|
|
export const DEVICE_STATUS_VISUALS = {
|
|
export const DEVICE_STATUS_VISUALS = {
|
|
|
ALARM: { key: 'ALARM', tone: 'lv1', shape: 'triangle', label: '报警', priority: 1, effect: 'pulse' },
|
|
ALARM: { key: 'ALARM', tone: 'lv1', shape: 'triangle', label: '报警', priority: 1, effect: 'pulse' },
|
|
|
- WARNING: { key: 'WARNING', tone: 'lv2', shape: 'diamond', label: '预警', priority: 2, effect: 'blink' },
|
|
|
|
|
- WORK_ORDER: { key: 'WORK_ORDER', tone: 'lv3', shape: 'square', label: '工单处置', priority: 3, effect: 'spin' },
|
|
|
|
|
|
|
+ // 工单处置排在预警之前:两地都「在处置中」时,处置动作是更进展的那一步(规则原文②③)。
|
|
|
|
|
+ WORK_ORDER: { key: 'WORK_ORDER', tone: 'lv3', shape: 'square', label: '工单处置', priority: 2, effect: 'spin' },
|
|
|
|
|
+ WARNING: { key: 'WARNING', tone: 'lv2', shape: 'diamond', label: '预警', priority: 3, effect: 'blink' },
|
|
|
NORMAL: { key: 'NORMAL', tone: 'lv4', shape: 'circle', label: '正常', priority: 4, effect: null },
|
|
NORMAL: { key: 'NORMAL', tone: 'lv4', shape: 'circle', label: '正常', priority: 4, effect: null },
|
|
|
OFFLINE: { key: 'OFFLINE', tone: 'point-offline', shape: 'ring', label: '离线', priority: 5, effect: null },
|
|
OFFLINE: { key: 'OFFLINE', tone: 'point-offline', shape: 'ring', label: '离线', priority: 5, effect: null },
|
|
|
}
|
|
}
|
|
@@ -65,6 +71,8 @@ export function deviceShapeOf(device) {
|
|
|
/**
|
|
/**
|
|
|
* 设备状态图例行(**独立于监测点摘要图例**,规格与票 09 的边界都要求分开)。
|
|
* 设备状态图例行(**独立于监测点摘要图例**,规格与票 09 的边界都要求分开)。
|
|
|
*
|
|
*
|
|
|
|
|
+ * 行序 = 设备点的显示序(报警 > 工单处置 > 预警 > 正常 > 离线 > 未发布,见上面的词表注释):
|
|
|
|
|
+ * 图例是「优先级」的对外说明,若它按另一套顺序排,读者会以为预警比工单优先。
|
|
|
* `count` = 当前模式实际绘制的该状态设备数(由调用方给,本层只负责行与顺序)。
|
|
* `count` = 当前模式实际绘制的该状态设备数(由调用方给,本层只负责行与顺序)。
|
|
|
* 0 不隐藏行(形状的含义要能查到)。
|
|
* 0 不隐藏行(形状的含义要能查到)。
|
|
|
* @param {object} [byStatus] `{ [visualKey]: count }`
|
|
* @param {object} [byStatus] `{ [visualKey]: count }`
|