From cd81bcd19c05d8a81292adbaec97be5084e45a54 Mon Sep 17 00:00:00 2001 From: xh <11675084@qq.com> Date: Fri, 31 Oct 2025 18:46:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=B0=E5=9B=BE=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HandDevice/Home/components/HistoricalCurve.vue | 1 + .../HandDevice/Home/components/OpenLayerMap.vue | 17 +++-- .../views/HandDevice/Home/components/TopPanel.vue | 86 +++++++++++----------- .../Home/components/composables/useMapEvents.ts | 3 +- .../Home/components/composables/useMapServices.ts | 6 +- .../Home/components/composables/useMapWatchers.ts | 3 - .../Home/components/services/map.service.ts | 4 +- .../Home/components/services/trajectory.service.ts | 56 +++++++++++--- .../HandDevice/Home/components/utils/map.utils.ts | 28 ++++++- web/src/views/HandDevice/Home/index.vue | 22 +++++- 10 files changed, 154 insertions(+), 72 deletions(-) diff --git a/web/src/views/HandDevice/Home/components/HistoricalCurve.vue b/web/src/views/HandDevice/Home/components/HistoricalCurve.vue index cdeffb3..d4dc7ab 100644 --- a/web/src/views/HandDevice/Home/components/HistoricalCurve.vue +++ b/web/src/views/HandDevice/Home/components/HistoricalCurve.vue @@ -97,6 +97,7 @@ async function getData(row: MarkerData) { ...item, timeStr: dayjs(item.ts).format('YYYY-MM-DD HH:mm:ss') })) + console.log(historicalData.value) } catch (error) { // ElMessage.error(error.message) } finally { diff --git a/web/src/views/HandDevice/Home/components/OpenLayerMap.vue b/web/src/views/HandDevice/Home/components/OpenLayerMap.vue index 6b4f5cf..029c8fb 100644 --- a/web/src/views/HandDevice/Home/components/OpenLayerMap.vue +++ b/web/src/views/HandDevice/Home/components/OpenLayerMap.vue @@ -96,7 +96,7 @@ const { toggleFenceDrawing, clearFenceDrawLayer, updateMarkers, - refreshMarkerStyles + } = useMapServices() const { @@ -125,7 +125,8 @@ const toggleTrajectories = () => { showTrajectoriesStatus.value = !showTrajectoriesStatus.value // console.log(showTrajectoriesStatus.value, props.markers); if (showTrajectoriesStatus.value) { - setTrajectoriesVisible(showTrajectoriesStatus.value, []) + setTrajectoriesVisible(showTrajectoriesStatus.value) + } } @@ -165,7 +166,7 @@ const init = () => { // 设置初始显示状态 setMarkersVisible(showMarkers.value) - setTrajectoriesVisible(showTrajectoriesStatus.value, []) + setTrajectoriesVisible(showTrajectoriesStatus.value) setFencesVisible(showFences.value) // 设置事件监听器,打开弹窗,点击设备 marker 时触发 @@ -185,7 +186,7 @@ const init = () => { console.log('onZoomEnd', zoom) services.markerService?.createMarkerLayer(props) } - // refreshMarkerStyles + } ) // 设置轨迹监听器 @@ -201,8 +202,6 @@ const init = () => { setTrajectoriesVisible, setFencesVisible, toggleFenceDrawing, - - markers: props.markers || [] }) setupAllWatchers() @@ -268,10 +267,14 @@ const showTrajectory = (startTime: number, endTime: number, markers: MarkerData[ }) ]) services.mapService?.fitToMarkers(latLng) + + services.trajectoryService?.setTrajectoryData(markers) showTrajectoriesStatus.value = true + setTrajectoriesVisible(true) + console.log('showTrajectory', latLng) - setTrajectoriesVisible(true, markers) + } } diff --git a/web/src/views/HandDevice/Home/components/TopPanel.vue b/web/src/views/HandDevice/Home/components/TopPanel.vue index 1f8763c..502ad40 100644 --- a/web/src/views/HandDevice/Home/components/TopPanel.vue +++ b/web/src/views/HandDevice/Home/components/TopPanel.vue @@ -12,17 +12,17 @@ -->
- 在线数量 + 在线 {{ onlineCount }} / {{ handDetectorCount }}
-
- 报警图例: -
正常状态
-
围栏报警
-
气体报警
-
+ +
+ +
正常状态
+
围栏报警
+
气体报警