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/g-map/DroneControlPanel.vue | 30 ++++++++++++++++++++++--------
1 files changed, 22 insertions(+), 8 deletions(-)
diff --git a/src/components/g-map/DroneControlPanel.vue b/src/components/g-map/DroneControlPanel.vue
index 9064d74..bd5764f 100644
--- a/src/components/g-map/DroneControlPanel.vue
+++ b/src/components/g-map/DroneControlPanel.vue
@@ -1,6 +1,11 @@
<template>
- <div class="drone-control-wrapper">
- <div class="drone-control-header">无人机飞行控制</div>
+ <div class="drone-control-wrapper" v-if="modelValue">
+ <div class="drone-control-header width-100 flex-display flex-align-center flex-justify-between">
+ <span>无人机飞行控制</span>
+ <span @click="closeDrone">
+ <CloseOutlined />
+ </span>
+ </div>
<div class="drone-control-box">
<div class="box">
<div class="row">
@@ -238,13 +243,13 @@
</template>
<script setup lang="ts">
-import { defineProps, reactive, ref, watch, computed, onMounted, watchEffect } from 'vue'
+import { defineProps, reactive, ref, watch, computed, onMounted, watchEffect, defineEmits } from 'vue'
import { Select, message, Button } from 'ant-design-vue'
import { PayloadInfo, DeviceInfoType, ControlSource, DeviceOsdCamera, DrcStateEnum } from '/@/types/device'
import { useMyStore } from '/@/store'
import { postDrcEnter, postDrcExit } from '/@/api/drc'
import { useMqtt, DeviceTopicInfo } from './use-mqtt'
-import { DownOutlined, UpOutlined, LeftOutlined, RightOutlined, PauseCircleOutlined, UndoOutlined, RedoOutlined, ArrowUpOutlined, ArrowDownOutlined } from '@ant-design/icons-vue'
+import { DownOutlined, UpOutlined, LeftOutlined, RightOutlined, PauseCircleOutlined, UndoOutlined, RedoOutlined, ArrowUpOutlined, ArrowDownOutlined, CloseOutlined } from '@ant-design/icons-vue'
import { useManualControl, KeyCode } from './use-manual-control'
import { usePayloadControl } from './use-payload-control'
import { CameraMode, CameraType, CameraTypeOptions, ZoomCameraTypeOptions, CameraListItem } from '/@/types/live-stream'
@@ -261,7 +266,8 @@
const props = defineProps<{
sn: string,
deviceInfo: DeviceInfoType,
- payloads: null | PayloadInfo[]
+ payloads: null | PayloadInfo[],
+ modelValue: Boolean,
}>()
const store = useMyStore()
@@ -291,7 +297,11 @@
}
cmdItem.loading = false
}
-
+const emits = defineEmits(['update:modelValue'])
+// 关闭弹窗
+const closeDrone = () => {
+ emits('update:modelValue', false)
+}
const { flyToPoint, stopFlyToPoint, takeoffToPoint } = useDroneControl()
const MAX_SPEED = 14
@@ -411,7 +421,6 @@
}
enterFlightControl()
}
-
// 进入飞行控制
async function enterFlightControl () {
try {
@@ -706,7 +715,12 @@
<style lang='scss' scoped>
.drone-control-wrapper{
- // border-bottom: 1px solid #515151;
+ position: absolute;
+ background: #000;
+ color: #fff;
+ left: calc( 100% + 10px);
+ width: 480px;
+ top: 0;
.drone-control-header{
font-size: 14px;
--
Gitblit v1.9.3