From 3f41712cfc8264ed2da1720ae187657f0ff86e89 Mon Sep 17 00:00:00 2001
From: husq <931347610@qq.com>
Date: Sat, 14 Oct 2023 15:28:09 +0800
Subject: [PATCH] 显示无人机操作栏、动态加载无人机型号
---
src/components/GMap.vue | 39 ++++++++++++++++++++++++++++-----------
1 files changed, 28 insertions(+), 11 deletions(-)
diff --git a/src/components/GMap.vue b/src/components/GMap.vue
index a7661b5..c9f2248 100644
--- a/src/components/GMap.vue
+++ b/src/components/GMap.vue
@@ -436,15 +436,16 @@
<a-tooltip :title="osdVisible.model">
<div style="width: 90%;" class="flex-column flex-align-center flex-justify-center">
<span><a-image :src="M30" :preview="false" /></span>
- <span>M30</span>
+ <span>{{ DEVICE_NAME[`${osdVisible.device_domain}-${osdVisible.device_type}-${osdVisible.device_sub_type}`] }}</span>
</div>
</a-tooltip>
</div>
<div class="osd flex-1">
<a-row class="mr-20" align="middle">
<a-col span="9"
- :style="!deviceInfo.device || deviceInfo.device?.mode_code === EModeCode.Disconnected ? 'color: red; font-weight: 700;' : 'color: rgb(25,190,107)'">
- {{ !deviceInfo.device ? EModeText[EModeCode.Disconnected] : EModeText[deviceInfo.device?.mode_code]
+ :style="deviceInfo.device || deviceInfo.device?.mode_code !== EModeCode.Disconnected ? 'color: rgb(25,190,107)' : deviceInfo.dock.basic_osd?.drone_in_dock === 0 ?'color: red; font-weight: 700;': '' ">
+ <!-- DroneInDockEnum[deviceInfo.dock.basic_osd?.drone_in_dock] -->
+ {{ deviceInfo.device ? EModeText[deviceInfo.device?.mode_code] : (deviceInfo.dock.basic_osd?.drone_in_dock === 1) ? '舱内关机' : EModeText[EModeCode.Disconnected]
}}</a-col>
<a-col span="15">
<div style="width:100%;padding:0 5px;background-color: #5d5f61;color: #fff;font-size: 10px;">{{deviceInfo.device?.mode_code == 14 || !deviceInfo.device ? 'N/A' : '当前正常'}}</div>
@@ -473,11 +474,11 @@
</a-button>
</a-col>
</a-row>
- <a-row v-if="deviceInfo.device?.mode_code != 14 && deviceInfo.device" class="p5" align="middle" justify="space-between">
+ <a-row class="p5" align="middle" justify="space-between">
<a-col span="24">
<a-button :class="[openDroneControl ? 'active-color' : 'unactive-color']" class="width-100" type="primary"
size="small" @click="openDeviceSetting">
- 操作
+ 飞行控制
</a-button>
</a-col>
</a-row>
@@ -729,7 +730,7 @@
import { getLiveCapacity, startLivestream, stopLivestream } from '/@/api/manage'
import {
DeviceOsd, DeviceStatus, DockOsd, EGear, EModeCode, GatewayOsd, EDockModeCode, EDockModeText, EModeText,
- NetworkStateQualityEnum, NetworkStateTypeEnum, RainfallEnum, DroneInDockEnum
+ NetworkStateQualityEnum, NetworkStateTypeEnum, RainfallEnum, DroneInDockEnum, DEVICE_NAME
} from '/@/types/device'
import pin from '/@/assets/icons/pin-2d8cf0.svg'
import M30 from '/@/assets/icons/m30.png'
@@ -869,6 +870,13 @@
// 关闭窗口
const closeOsdWindow = () => {
store.commit('SET_OSD_VISIBLE_INFO', false)
+ showAircraft.value = false
+ aircrafIndex.value = -1
+ aircraftUrl.value = ''
+ showMonitor.value = false
+ airPortUrl.value = ''
+ airPortOption.value = false
+ showMonitor.value = false
}
// 打开监控权限
@@ -877,7 +885,8 @@
if (showMonitor.value) {
loadVideo()
} else {
- onClose()
+ airPortUrl.value = ''
+ // onClose()
}
}
// 打开飞机监控
@@ -893,7 +902,8 @@
if (showAircraft.value) {
loadDroneVideo(type)
} else {
- closeFly()
+ aircraftUrl.value = ''
+ // closeFly()
}
}
// 加载该设备的视频信息
@@ -941,6 +951,8 @@
}
})
.catch(error => {
+ showMonitor.value = false
+ airPortUrl.value = ''
message.error(error)
})
}
@@ -978,6 +990,8 @@
}
})
.catch(error => {
+ showAircraft.value = false
+ aircrafIndex.value = -1
message.error(error)
})
}
@@ -986,14 +1000,16 @@
try {
onStart()
} catch (e) {
- onClose()
+ airPortUrl.value = ''
+ // onClose()
}
}
const flyTimeout = () => {
try {
flyOnStart()
} catch (e) {
- closeFly()
+ aircraftUrl.value = ''
+ // closeFly()
}
}
// 设备开始播放
@@ -1038,7 +1054,6 @@
const videoId = deviceInfo.dock.basic_osd?.sub_device?.device_sn + '/' + aircraSelected.value + '/' + 'normal-0'
const streamId = deviceInfo.dock.basic_osd?.sub_device?.device_sn + '-' + aircraSelected.value + '-' + 'normal-0'
const liveURL = config.rtmpURL + streamId
- console.log('飞机设备播放事件触发')
await startLivestream({
url: liveURL,
video_id: videoId,
@@ -1202,6 +1217,7 @@
} = useDockControl()
// 关闭设备控制方法
const closeOperate = (sn: string) => {
+ airPortOption.value = false
if (deviceInfo.dock.basic_osd?.mode_code === 2) {
onCloseControlPanel(sn)
} else {
@@ -1384,6 +1400,7 @@
str,
EDockModeCode,
EDockModeText,
+ DEVICE_NAME,
EModeText,
dockControlPanelVisible,
setDockControlPanelVisible,
--
Gitblit v1.9.3