diff --git a/src/assets/event/fall-alert.png b/src/assets/event/fall-alert.png new file mode 100644 index 0000000..bd662ac Binary files /dev/null and b/src/assets/event/fall-alert.png differ diff --git a/src/assets/event/fall-cleared.png b/src/assets/event/fall-cleared.png new file mode 100644 index 0000000..f5af37b Binary files /dev/null and b/src/assets/event/fall-cleared.png differ diff --git a/src/assets/event/fall-suspect.png b/src/assets/event/fall-suspect.png new file mode 100644 index 0000000..76b8d7f Binary files /dev/null and b/src/assets/event/fall-suspect.png differ diff --git a/src/pages/device/feature/fall-status-card.module.scss b/src/pages/device/feature/fall-status-card.module.scss index 07b8606..3b63fc0 100644 --- a/src/pages/device/feature/fall-status-card.module.scss +++ b/src/pages/device/feature/fall-status-card.module.scss @@ -71,6 +71,11 @@ color: $color-primary; } +.fallIconImg { + width: 110px; + height: 110px; +} + .fallStatusText { margin-top: 32px; font-size: 44px; diff --git a/src/pages/device/feature/fall-status-card.tsx b/src/pages/device/feature/fall-status-card.tsx index a51fb5d..1b2b458 100644 --- a/src/pages/device/feature/fall-status-card.tsx +++ b/src/pages/device/feature/fall-status-card.tsx @@ -1,5 +1,8 @@ -import { View, Text } from '@tarojs/components' +import { View, Text, Image } from '@tarojs/components' import { FALL_STATUS_MAP } from '@/constants/enums' +import fallAlertIcon from '@/assets/event/fall-alert.png' +import fallSuspectIcon from '@/assets/event/fall-suspect.png' +import fallClearedIcon from '@/assets/event/fall-cleared.png' import styles from './fall-status-card.module.scss' interface Props { @@ -19,11 +22,19 @@ const STATUS_CLS: Record = { 3104: 'warning' } +// 状态 → 产品状态图:未匹配时(如 3104 驻留、正常、离线)回退到 ⌁ 占位 +const FALL_ICON_MAP: Record = { + 3101: fallAlertIcon, + 3102: fallSuspectIcon, + 3103: fallClearedIcon +} + // ED719 跌倒检测状态卡:实时状态大卡(参考 web 端 DeviceScgDashboard DeviceItem 布局) export function FallStatusCard({ alarmType, status, lastTime, version, online }: Props) { const code = alarmType ?? status const label = FALL_STATUS_MAP[code ?? -1] ?? (online ? '正常' : '离线') const level = STATUS_CLS[code ?? -1] ?? (online ? 'normal' : 'offline') + const iconSrc = code != null ? FALL_ICON_MAP[code] : undefined return ( @@ -36,7 +47,11 @@ export function FallStatusCard({ alarmType, status, lastTime, version, online }: - ⌁ + {iconSrc ? ( + + ) : ( + ⌁ + )} {label} {lastTime && 更新于 {lastTime}}