From f9c0b791b927539dd5a9b245d8931f7593f18e6a Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Sat, 31 Jan 2026 15:56:34 +0800
Subject: [PATCH] feat:数据驾驶舱设备离线显示调整

---
 applications/drone-command/src/components/map-container/device-map-container.vue |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/applications/drone-command/src/components/map-container/device-map-container.vue b/applications/drone-command/src/components/map-container/device-map-container.vue
index 0e84459..1a47ebd 100644
--- a/applications/drone-command/src/components/map-container/device-map-container.vue
+++ b/applications/drone-command/src/components/map-container/device-map-container.vue
@@ -56,6 +56,7 @@
 import { cockpitAggregationApi } from '@/api/dataCockpit'
 import layerControlIcon from '@/assets/images/dataCockpit/layerControl.png'
 import equipmentIcon from '@/assets/images/dataCockpit/map/equipment.png'
+import offlineEquipmentIcon from '@/assets/images/dataCockpit/map/offline-equipment.png'
 import droneIcon from '@/assets/images/dataCockpit/map/drone.png'
 import aggregationIcon from '@/assets/images/dataCockpit/map/aggregation.png'
 import commandPostIcon from '@/assets/images/dataCockpit/map/command-post.png'
@@ -78,7 +79,7 @@
 const POLYGON_HEIGHT_M = 0.2
 
 const props = defineProps({
-	onlineDevices: {
+	allDevices: {
 		type: Array,
 		default: () => [],
 	},
@@ -719,6 +720,8 @@
 	const deviceEntries = []
 	const devicePositions = []
 	devices.forEach((item, index) => {
+		const isOnline = String(item.status) === '0'
+
 		const position = getDevicePosition(item)
 		if (!position) return
 		const entityId = `online-device-${item.id ?? index}-${index}`
@@ -726,7 +729,7 @@
 		devicePositions.push({ lng: position.longitude, lat: position.latitude })
 		const billboard = deviceBillboardCollection.add({
 			position: Cesium.Cartesian3.fromDegrees(position.longitude, position.latitude, 0),
-			image: equipmentIcon,
+			image: isOnline ? equipmentIcon : offlineEquipmentIcon,
 			width: 40,
 			height: 56,
 			verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
@@ -1147,7 +1150,7 @@
 
 
 watch(
-	() => props.onlineDevices,
+	() => props.allDevices,
 	devices => {
 		renderDeviceEntities(devices || [])
 	},
@@ -1219,7 +1222,7 @@
 	const height = viewer?.camera?.positionCartographic?.height
 	const stage = getStageByHeight(height)
 	updateStageDisplay(stage)
-	renderDeviceEntities(props.onlineDevices)
+	renderDeviceEntities(props.allDevices)
 	loadPartitions()
 	loadAggregation()
 	loadCommandPosts()

--
Gitblit v1.9.3