From 09ba9bda9e5a64ce8b3827e7ec8847bd98658866 Mon Sep 17 00:00:00 2001
From: husq <931347610@qq.com>
Date: Wed, 11 Oct 2023 17:25:07 +0800
Subject: [PATCH] 无人机样式修改
---
src/components/GMap.vue | 72 +++++++++++++++++++----------------
1 files changed, 39 insertions(+), 33 deletions(-)
diff --git a/src/components/GMap.vue b/src/components/GMap.vue
index e2caaa2..b049253 100644
--- a/src/components/GMap.vue
+++ b/src/components/GMap.vue
@@ -300,8 +300,8 @@
</a-col>
<a-col span="2"></a-col>
<a-col span="8">
- <a-button :class="[showOption ? 'active-color' : 'unactive-color']" class="width-100" type="primary"
- :disabled="dockControlPanelVisible" size="small" @click="openFlySetting">
+ <a-button :class="[airPortOption ? 'active-color' : 'unactive-color']" class="width-100" type="primary"
+ size="small" @click="openFlySetting">
操作
</a-button>
</a-col>
@@ -447,10 +447,10 @@
{{ !deviceInfo.device ? EModeText[EModeCode.Disconnected] : EModeText[deviceInfo.device?.mode_code]
}}</a-col>
<a-col span="15">
- <span></span>
- <a-select :showArrow="false" v-model:value="aircraSelected" :bordered="false" :options="aircraftList"
+ <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>
+ <!-- <a-select :showArrow="false" v-model:value="aircraSelected" :bordered="false" :options="aircraftList"
:placeholder="aircraftList.length == 0 ? 'N/A' : '请选择'" :disabled="aircraftList.length == 0 ? true : false"
- size="small" style="width:100%;background-color: #5d5f61;color: #fff;" @change="selectChange"></a-select>
+ size="small" style="width:100%;background-color: #5d5f61;color: #fff;" @change="selectChange"></a-select> -->
</a-col>
</a-row>
<a-row align="middle" justify="center">
@@ -459,30 +459,22 @@
class="flex-display flex-justify-center mt5 mb5">当前设备已关机,无法进行直播</div>
</a-col>
</a-row>
- <a-row class="p5" align="middle" justify="space-between">
+ <a-row class="p5" v-if="deviceInfo.device?.mode_code != 14 && deviceInfo.device" align="middle" justify="space-between">
<a-col span="11">
- <a-button :disabled="deviceInfo.device?.mode_code == 14 || !deviceInfo.device ? true : false"
- :class="[showAircraft ? 'active-color' : 'unactive-color']" class="width-100" type="primary" size="small"
- @click="openAircra">
- 监控
+ <a-button :class="[aircrafIndex === 0 ? 'active-color' : 'unactive-color']" class="width-100" type="primary" size="small"
+ @click="openAircra(0)">
+ 飞行相机
</a-button>
</a-col>
<a-col span="11">
- <a-button :class="[openDroneControl ? 'active-color' : 'unactive-color']" class="width-100" type="primary"
- size="small" @click="openDeviceSetting">
- 操作
+ <a-button :class="[aircrafIndex === 1 ? 'active-color' : 'unactive-color']" class="width-100" type="primary"
+ size="small" @click="openAircra(1)">
+ M30T相机
</a-button>
</a-col>
</a-row>
- <a-row class="p5" align="middle" justify="space-between">
- <a-col span="11">
- <a-button :disabled="deviceInfo.device?.mode_code == 14 || !deviceInfo.device ? true : false"
- :class="[showAircraft ? 'active-color' : 'unactive-color']" class="width-100" type="primary" size="small"
- @click="openAircra">
- 监控
- </a-button>
- </a-col>
- <a-col span="11">
+ <a-row v-if="deviceInfo.device?.mode_code != 14 && deviceInfo.device" 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">
操作
@@ -792,12 +784,11 @@
const root = getRoot()
// 监控显示
const showMonitor = ref(false)
- // 操作显示
- const showOption = ref(false)
const mouseMode = ref(false)
const store = useMyStore()
// 机场直播地址
const airPortUrl = ref('')
+ const airPortOption = ref(false)
// 设备列表
const droneList = ref()
// 设备相机
@@ -816,6 +807,7 @@
// 飞机视频列表
const aircraftList = ref([])
const aircraSelected = ref(undefined)
+ const aircrafIndex = ref(-1)
const state = reactive({
currentType: '',
coverIndex: 0
@@ -889,10 +881,17 @@
}
}
// 打开飞机监控
- const openAircra = () => {
+ const openAircra = (type: number) => {
showAircraft.value = !showAircraft.value
+ if (type === aircrafIndex.value) {
+ showAircraft.value = false
+ aircrafIndex.value = -1
+ } else {
+ showAircraft.value = true
+ aircrafIndex.value = type
+ }
if (showAircraft.value) {
- loadDroneVideo()
+ loadDroneVideo(type)
} else {
closeFly()
}
@@ -946,7 +945,7 @@
})
}
// 加载无人机的视频信息
- const loadDroneVideo = async () => {
+ const loadDroneVideo = async (index: number) => {
aircraftList.value = []
await getLiveCapacity({ id: store.state.common.projectId })
.then(res => {
@@ -955,7 +954,6 @@
console.warn('warning: get live capacity is null!!!')
return
}
- const resData: Array<[]> = res.data
const drone = res.data.find(v => v.sn === deviceInfo.dock.basic_osd.sub_device?.device_sn)
const temp: Array<SelectOption> = []
if (drone) {
@@ -971,7 +969,7 @@
vadeosList: v.videos_list
}
})
- aircraSelected.value = aircraftList.value[0].value
+ aircraSelected.value = aircraftList.value[index].value
flyOnStart()
} else {
showAircraft.value = false
@@ -1040,6 +1038,7 @@
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,
@@ -1067,16 +1066,22 @@
})
// const videoId = deviceInfo.dock.basic_osd?.sub_device?.device_sn + '/' + aircraSelected.value + '/' + 'normal-0'
aircraftList.value = []
- aircraSelected.value = undefined
+ aircraSelected.value = ''
}
// 打开机场操作
const openFlySetting = () => {
openDroneControl.value = false
- setDockControlPanelVisible(true)
+ airPortOption.value = !airPortOption.value
+ if (airPortOption.value) {
+ setDockControlPanelVisible(true)
+ } else {
+ setDockControlPanelVisible(false)
+ }
}
// 打开无人机操作
const openDeviceSetting = () => {
setDockControlPanelVisible(false)
+ airPortOption.value = false
openDroneControl.value = !openDroneControl.value
}
watch(() => store.state.deviceStatusEvent,
@@ -1390,7 +1395,6 @@
hmsInfo,
sn,
showMonitor,
- showOption,
airPortUrl,
openMonitor,
droneIndex,
@@ -1406,7 +1410,9 @@
openFlySetting,
openDeviceSetting,
airTimeout,
- flyTimeout
+ flyTimeout,
+ aircrafIndex,
+ airPortOption
}
}
})
--
Gitblit v1.9.3