From a6708328a56d6710450325a2e2b2e7e8aeb71f8a Mon Sep 17 00:00:00 2001 From: xiaosi <2652281683@qq.com> Date: Wed, 26 Aug 2026 17:21:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=9B=91=E6=8E=A7=E7=BB=91=E5=AE=9A?= =?UTF-8?q?=E8=99=9A=E7=BA=BF=E6=8C=89=E6=9C=BA=E5=B7=A2=E5=85=B3=E8=81=94?= =?UTF-8?q?=E9=A3=9E=E8=A1=8C=E6=97=A0=E4=BA=BA=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit dock asset 无 children,改为通过 dockId + mission 状态定位飞行中无人机。 --- src/views/MonitorView/MonitorView.vue | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/views/MonitorView/MonitorView.vue b/src/views/MonitorView/MonitorView.vue index 6a60119..288ded5 100644 --- a/src/views/MonitorView/MonitorView.vue +++ b/src/views/MonitorView/MonitorView.vue @@ -524,20 +524,20 @@ function bindingEndpoints() { if (!selectedId.value) return null const asset = devices.asset(selectedId.value) if (!asset) return null - let dock = null - let drone = null + let dockAsset = null + let droneAsset = null if (asset.type === 'dock') { - dock = asset - const child = (asset.children || []).map((c) => devices.asset(c.id || c)).find((a) => a && !a.inDock && a.hasCoordinates) - drone = child || null + dockAsset = asset + const dockRec = devices.record(asset.id) + const flying = devices.drones.find((d) => d.dockId === dockRec?.dockId && d.statusClass === 'mission') + droneAsset = flying ? devices.asset(flying.id) : null } else { - drone = asset.inDock ? null : asset - dock = asset.parent ? devices.asset(asset.parent) : null + droneAsset = asset.inDock ? null : asset + dockAsset = asset.parent ? devices.asset(asset.parent) : null } - if (!dock?.hasCoordinates || !drone?.hasCoordinates) return null - if (drone.inDock) return null - const a = [Number(dock.longitude), Number(dock.latitude)] - const b = [Number(drone.longitude), Number(drone.latitude)] + if (!dockAsset?.hasCoordinates || !droneAsset?.hasCoordinates || droneAsset.inDock) return null + const a = [Number(dockAsset.longitude), Number(dockAsset.latitude)] + const b = [Number(droneAsset.longitude), Number(droneAsset.latitude)] if (!a.every(Number.isFinite) || !b.every(Number.isFinite)) return null return [a, b] }