import { deviceVisualForStatus } from './deviceStatus.js' // 设施码值不是设备状态码。只归一已明确的语义,不从颜色或动效键反推业务状态。 const VISUAL_STATUS = { '0': 'NORMAL', '1': 'WORK_ORDER', // 维护者裁定:维护中用蓝色工单旋转环。 '2': 'ALARM', NORMAL: 'NORMAL', WARNING: 'WARNING', ALARM: 'ALARM', WORK_ORDER: 'WORK_ORDER', OFFLINE: 'OFFLINE', } /** 设施状态 → 共享视觉状态词;未知码不猜成正常或报警,也不新增数字预警码。 */ export function facilityVisualStatus(status) { const code = status === null || status === undefined ? '' : String(status).trim() return Object.hasOwn(VISUAL_STATUS, code) ? VISUAL_STATUS[code] : '' } /** 设施状态色与设备同源;未发布/离线保留设施的中性色。 */ export function facilityStatusTone(status) { const visualStatus = facilityVisualStatus(status) return visualStatus && visualStatus !== 'OFFLINE' ? deviceVisualForStatus(visualStatus).tone : 'neutral' }