From 6fb7086ac2e8875c5f74eec3b86b37b8f6b406f2 Mon Sep 17 00:00:00 2001
From: helloxujingliang <3225043@qq.com>
Date: Sat, 28 Jun 2025 08:48:42 +0800
Subject: [PATCH] =?UTF-8?q?=E6=89=A7=E8=A1=8C=E4=BB=BB=E5=8A=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/sys/workplan.ts | 8 +
.../workplan/components/airPolygon.vue | 65 ++++++-
.../workplan/components/aircraft.vue | 6 +-
.../workplan/components/createWorkPlan.vue | 158 ++++++++++++------
.../workplan/components/map.vue | 4 +-
.../workplan/components/planList.vue | 61 +++++--
.../demo/workmanagement/workplan/index.vue | 8 +-
7 files changed, 235 insertions(+), 75 deletions(-)
diff --git a/src/api/sys/workplan.ts b/src/api/sys/workplan.ts
index 8efac8b..45cb06c 100644
--- a/src/api/sys/workplan.ts
+++ b/src/api/sys/workplan.ts
@@ -12,6 +12,9 @@ enum Api{
// 无人机
GetUavPageList = '/api/Manage/GetUavPageList',
+
+ // 无人机机场
+ GetPortList = '/api/Manage/GetDataList',
// 航线
GetAirLineList = '/api/Manage/GetAirLineList',
@@ -53,6 +56,11 @@ export function getUavPageList(params) {
return defHttp.get({ url: Api.GetUavPageList, params });
}
+// 机场
+export function getPortList(params) {
+ return defHttp.get({ url: Api.GetPortList, params });
+}
+
// 航线
export function getAirLineList(params) {
return defHttp.get({ url: Api.GetAirLineList, params });
diff --git a/src/views/demo/workmanagement/workplan/components/airPolygon.vue b/src/views/demo/workmanagement/workplan/components/airPolygon.vue
index 606cead..edc1ca6 100644
--- a/src/views/demo/workmanagement/workplan/components/airPolygon.vue
+++ b/src/views/demo/workmanagement/workplan/components/airPolygon.vue
@@ -44,7 +44,47 @@
-
+
+
+
GSD(地面采样距离)
+
+
cm/pixel
+
+
+
+
+
+
+
+
+
+
飞向首航点模式
@@ -87,7 +127,6 @@
m
-
航线结束动作
@@ -146,7 +185,7 @@
-
+
全局航线飞行速度
@@ -182,6 +221,15 @@ const setFlyPoint = ()=>{
emits("setFlyPoint");
}
+// 航线计算参数
+const calculatParam = ref({
+ gsd:5,
+ overlapY:80,
+ overlapX:70,
+ overlapAngle:0,
+ height:120,
+})
+
// 航线基本信息
const missionConfig = ref(
{
@@ -196,6 +244,10 @@ const missionConfig = ref(
"droneEnumValue": 100,
"droneSubEnumValue": 1
},
+ "autoRerouteInfo": {
+ "transitionalAutoRerouteMode": 1,
+ "missionAutoRerouteMode": 1
+ },
"waylineAvoidLimitAreaMode": 0,
"payloadInfo": {
"payloadEnumValue": 99,
@@ -205,6 +257,7 @@ const missionConfig = ref(
}
)
+
// 航点基本信息
const folder = ref({
"templateId": 0,
@@ -307,6 +360,12 @@ const backPage = ()=>{
cursor:pointer;
}
+.area-options .item .unit{
+ min-width: 60px;
+ text-align:center;
+
+}
+
::v-deep .ant-radio-group {
display: block;
diff --git a/src/views/demo/workmanagement/workplan/components/aircraft.vue b/src/views/demo/workmanagement/workplan/components/aircraft.vue
index 88a137e..10f42eb 100644
--- a/src/views/demo/workmanagement/workplan/components/aircraft.vue
+++ b/src/views/demo/workmanagement/workplan/components/aircraft.vue
@@ -38,7 +38,7 @@

{{item.name}}
- 无人机型号:{{item.firmwareVersion}}
+ 无人机型号:{{item.typeId}}
@@ -48,7 +48,7 @@
import { PlusOutlined,FileAddOutlined,LeftOutlined,ImportOutlined,MoreOutlined,EditOutlined } from '@ant-design/icons-vue';
import {ref,defineEmits} from 'vue'
- import { getUavPageList } from '@/api/sys/workplan';
+ import { getUavPageList,getPortList } from '@/api/sys/workplan';
const emit = defineEmits(["checkAriLine"])
@@ -65,7 +65,7 @@
})
const getList = async ()=>{
- let res = await getUavPageList(pageQuery.value);
+ let res = await getPortList(pageQuery.value);
ariLineList.value = res.items;
}
diff --git a/src/views/demo/workmanagement/workplan/components/createWorkPlan.vue b/src/views/demo/workmanagement/workplan/components/createWorkPlan.vue
index 6d9aad6..dafe01d 100644
--- a/src/views/demo/workmanagement/workplan/components/createWorkPlan.vue
+++ b/src/views/demo/workmanagement/workplan/components/createWorkPlan.vue
@@ -18,7 +18,6 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+