diff --git a/src/components/DeviceEnvironmentValues.vue b/src/components/DeviceEnvironmentValues.vue new file mode 100644 index 0000000..4e6994b --- /dev/null +++ b/src/components/DeviceEnvironmentValues.vue @@ -0,0 +1,18 @@ + + + diff --git a/src/components/DeviceStatusMatrix.vue b/src/components/DeviceStatusMatrix.vue new file mode 100644 index 0000000..8491bb1 --- /dev/null +++ b/src/components/DeviceStatusMatrix.vue @@ -0,0 +1,19 @@ + + + diff --git a/src/views/DeviceDetailView/DeviceDetailView.vue b/src/views/DeviceDetailView/DeviceDetailView.vue index 7badc41..8863d53 100644 --- a/src/views/DeviceDetailView/DeviceDetailView.vue +++ b/src/views/DeviceDetailView/DeviceDetailView.vue @@ -41,14 +41,7 @@

机巢运行状态

全部状态
-
-
左侧舱门{{ doorText('left') }}
-
右侧舱门{{ doorText('right') }}
-
左右归中{{ centeringText('leftRight') }}
-
前后归中{{ centeringText('frontBack') }}
-
急停状态{{ isTrue(rt('emergencyStop')) ? '已触发' : booleanText(rt('emergencyStop')) === '--' ? '--' : '未触发' }}
-
整机状态{{ record.status }}
-
+

充电系统

@@ -63,14 +56,7 @@

环境监测

-
-
舱外温度{{ withUnit(record.environment?.outsideTemperature, '℃') }}
-
舱内温度{{ withUnit(record.environment?.insideTemperature, '℃') }}
-
舱外湿度{{ withUnit(record.environment?.outsideHumidity, '%RH') }}
-
舱内湿度{{ withUnit(record.environment?.insideHumidity, '%RH') }}
-
实时风速{{ withUnit(record.environment?.windSpeed, ' m/s') }}
-
降雨{{ booleanText(record.environment?.rain) }}
-
+
@@ -316,6 +302,8 @@ import { useUiStore } from '@/stores/modules/uiStore' import { useUserStore } from '@/stores/modules/userStore' import request from '@/utils/http' import DockEditModal from '@/components/DockEditModal.vue' +import DeviceStatusMatrix from '@/components/DeviceStatusMatrix.vue' +import DeviceEnvironmentValues from '@/components/DeviceEnvironmentValues.vue' import * as urls from '@/config/urls' const route = useRoute() @@ -383,6 +371,29 @@ const homeSetText = computed(() => { if (isFalse(rt('homeSet'))) return '未设置' return '--' }) +const statusMatrixItems = computed(() => { + const emergency = rt('emergencyStop') + const emergencyValue = isTrue(emergency) ? '已触发' : booleanText(emergency) === '--' ? '--' : '未触发' + return [ + { icon: '#i-door', label: '左侧舱门', value: doorText('left'), ok: isClosed(doorValue('left')) }, + { icon: '#i-door', label: '右侧舱门', value: doorText('right'), ok: isClosed(doorValue('right')) }, + { icon: '#i-grid', label: '左右归中', value: centeringText('leftRight'), ok: isTight(centeringValue('leftRight')) }, + { icon: '#i-grid', label: '前后归中', value: centeringText('frontBack'), ok: isTight(centeringValue('frontBack')) }, + { icon: '#i-alert', label: '急停状态', value: emergencyValue, ok: isFalse(emergency) }, + { icon: '#i-refresh', label: '整机状态', value: record.value?.status ?? '--', ok: !!record.value?.online } + ] +}) +const environmentItems = computed(() => { + const env = record.value?.environment + return [ + { icon: '#i-sun', label: '舱外温度', value: withUnit(env?.outsideTemperature, '℃') }, + { icon: '#i-sun', label: '舱内温度', value: withUnit(env?.insideTemperature, '℃') }, + { icon: '#i-cloud-rain', label: '舱外湿度', value: withUnit(env?.outsideHumidity, '%RH') }, + { icon: '#i-cloud-rain', label: '舱内湿度', value: withUnit(env?.insideHumidity, '%RH') }, + { icon: '#i-wind', label: '实时风速', value: withUnit(env?.windSpeed, ' m/s') }, + { icon: '#i-cloud-rain', label: '降雨', value: booleanText(env?.rain) } + ] +}) const filteredAlarms = computed(() => { if (!alarmStatusFilter.value) return alarmRecords.value if (alarmStatusFilter.value === 'active') return alarmRecords.value.filter((item) => item.status !== 'resolved')