From e06e048e3b6e61ca8d1a8f44b7728d3b4a9819d9 Mon Sep 17 00:00:00 2001
From: husq <931347610@qq.com>
Date: Mon, 25 Sep 2023 11:20:19 +0800
Subject: [PATCH] 无人机操作单独拉开控制

---
 src/components/GMap.vue |   25 ++++++++++++++++++++++---
 1 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/src/components/GMap.vue b/src/components/GMap.vue
index 4477911..575a8c8 100644
--- a/src/components/GMap.vue
+++ b/src/components/GMap.vue
@@ -173,7 +173,7 @@
       <div class="fz16 pl5 pr5 flex-align-center flex-row flex-justify-between"
         style="border-bottom: 1px solid #515151; height: 10%;">
         <span>{{ osdVisible.gateway_callsign }}</span>
-        <span><a style="color: white;" @click="() => osdVisible.visible = false">
+        <span><a style="color: white;" @click="closeOsdWindow">
             <CloseOutlined />
           </a></span>
       </div>
@@ -360,7 +360,7 @@
             </a-col>
             <a-col span="11">
               <a-button :class="[showOption?'active-color':'unactive-color']" class="width-100" type="primary" :disabled="dockControlPanelVisible" size="small"
-                @click="setDockControlPanelVisible(true)">
+                @click="openFlySetting">
                 操作
               </a-button>
             </a-col>
@@ -621,7 +621,7 @@
         </div>
       </div>
       <!-- 飞行指令 -->
-      <DroneControlPanel :sn="osdVisible.gateway_sn" :deviceInfo="deviceInfo" :payloads="osdVisible.payloads">
+      <DroneControlPanel v-model="openDroneControl" :sn="osdVisible.gateway_sn" :deviceInfo="deviceInfo" :payloads="osdVisible.payloads">
       </DroneControlPanel>
     </div>
   </div>
@@ -703,6 +703,8 @@
   label: string,
   more?: any
 }
+    // 打开飞行控制
+    const openDroneControl = ref(false)
     const root = getRoot()
     // 监控显示
     const showMonitor = ref(false)
@@ -787,6 +789,12 @@
         return val
       }
     })
+
+    // 关闭窗口
+    const closeOsdWindow = () => {
+      store.commit('SET_OSD_VISIBLE_INFO', false)
+    }
+
     // 打开监控权限
     const openMonitor = () => {
       showMonitor.value = !showMonitor.value
@@ -799,9 +807,12 @@
     // 打开飞机监控
     const openAircra = () => {
       showAircraft.value = !showAircraft.value
+      setDockControlPanelVisible(false)
       if (showAircraft.value) {
+        openDroneControl.value = true
         loadDroneVideo()
       } else {
+        openDroneControl.value = false
         closeFly()
       }
     }
@@ -960,6 +971,11 @@
       // const videoId = deviceInfo.dock.basic_osd?.sub_device?.device_sn + '/' + aircraSelected.value + '/' + 'normal-0'
       aircraftList.value = []
       aircraSelected.value = ''
+    }
+    // 打开机场操作
+    const openFlySetting = () => {
+      openDroneControl.value = false
+      setDockControlPanelVisible(true)
     }
     watch(() => store.state.deviceStatusEvent,
       data => {
@@ -1288,6 +1304,9 @@
       aircraSelected,
       selectChange,
       closeOperate,
+      closeOsdWindow,
+      openDroneControl,
+      openFlySetting
     }
   }
 })

--
Gitblit v1.9.3