From 54cca8780ee531afafdaf9a288f3a6f722db1b3d Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Sat, 19 Apr 2025 17:44:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/hooks/useTaskWayline/useTaskWayline.js | 37 +++++++++++++++++++++++--------------
1 files changed, 23 insertions(+), 14 deletions(-)
diff --git a/src/hooks/useTaskWayline/useTaskWayline.js b/src/hooks/useTaskWayline/useTaskWayline.js
index 200de38..45cf87b 100644
--- a/src/hooks/useTaskWayline/useTaskWayline.js
+++ b/src/hooks/useTaskWayline/useTaskWayline.js
@@ -2,7 +2,7 @@
* @Author: shuishen 1109946754@qq.com
* @Date: 2025-04-19 14:24:34
* @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2025-04-19 15:23:57
+ * @LastEditTime: 2025-04-19 17:21:58
* @FilePath: \command-center-dashboard\src\hooks\useTaskWayline\useTaskWayline.js
* @Description:
*
@@ -20,7 +20,7 @@
import { Cartesian3 } from 'cesium'
export function useTaskWayline (viewer, taskDetails) {
- const newViewer = unref(viewer)
+ const newViewer = isRef(viewer) ? viewer : ref(viewer)
// 解析kmz文件
const parsingFiles = async url => {
@@ -30,7 +30,7 @@
const waylinesXMLObj = removeTextKey(waylinesXMLJSON.Folder)
if (!waylinesXMLObj.Placemark.length) return
const allPoint = waylinesXMLObj.Placemark.map(item => item.Point.coordinates.split(','))
- flyVisual(allPoint, newViewer)
+ flyVisual(allPoint, newViewer.value)
drawWayline(waylinesXMLObj)
}
@@ -40,7 +40,7 @@
return Cartesian3.fromDegrees(Number(lon), Number(lat))
})
// 起点
- newViewer.entities.add({
+ newViewer.value.entities.add({
id: 'drone-job-wayline-start',
position: positions[0],
billboard: {
@@ -51,7 +51,7 @@
})
// 终点
- newViewer.entities.add({
+ newViewer.value.entities.add({
id: 'drone-job-wayline-end',
position: positions[positions.length - 1],
billboard: {
@@ -63,7 +63,7 @@
})
// 路径线
- newViewer.entities.add({
+ newViewer.value.entities.add({
id: 'drone-job-wayline-polyline',
polyline: {
width: 4,
@@ -79,17 +79,26 @@
})
}
- watch(taskDetails, () => {
- if (taskDetails.value?.way_lines?.length) {
- parsingFiles(taskDetails.value.way_lines[0].url)
- }
- }, { immediate: true })
+ watch(
+ [
+ () => taskDetails.value?.way_lines?.length,
+ () => newViewer.value
+ ],
+ (
+ [wayLinesLength, curViewer],
+ ) => {
+ if (wayLinesLength && wayLinesLength > 0 && curViewer) {
+ parsingFiles(taskDetails.value.way_lines[0].url)
+ }
+ },
+ { immediate: true }
+ )
const removeEntitys = () => {
- const entitiesIDs = newViewer?.entities.values.map(i => i.id)
+ const entitiesIDs = newViewer.value?.entities.values.map(i => i.id)
- entitiesIDs.forEach(item => {
- item.includes('drone-job-wayline-') && newViewer?.entities.removeById(item)
+ Array.isArray(entitiesIDs) && entitiesIDs.forEach(item => {
+ item.includes('drone-job-wayline-') && newViewer.value?.entities.removeById(item)
})
}
--
Gitblit v1.9.3