|
@@ -16,26 +16,31 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="任务类型" prop="taskType">
|
|
|
<el-select v-model="form.taskType" placeholder="">
|
|
|
- <el-option label="短途运输" value="短途运输" />
|
|
|
+ <el-option label="短途运输" value="01" />
|
|
|
+ <el-option label="外卖配送" value="02" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="飞行器" prop="uavType">
|
|
|
<el-select v-model="form.uavType" placeholder="">
|
|
|
- <el-option label="微型无人机" value="微型无人机" />
|
|
|
+ <el-option label="微型无人机" value="01" />
|
|
|
+ <el-option label="轻型无人机" value="02" />
|
|
|
+ <el-option label="小型无人机" value="03" />
|
|
|
+ <el-option label="中型无人机" value="04" />
|
|
|
+ <el-option label="大型无人机" value="05" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="航线选择" prop="dataType">
|
|
|
<el-radio-group v-model="form.dataType" size="large">
|
|
|
- <el-radio label="起降场规划" value="起降场规划" />
|
|
|
- <el-radio label="手动划设" value="手动划设" />
|
|
|
- <el-radio label="导入航线" value="导入航线" />
|
|
|
+ <el-radio label="起降场规划" value="02" />
|
|
|
+ <el-radio label="手动划设" value="01" />
|
|
|
+ <el-radio label="导入航线" value="03" />
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
- <div v-if="form.dataType === '手动划设'" class="msg-draw">
|
|
|
+ <div v-if="form.dataType === '01'" class="msg-draw">
|
|
|
<img src="../../../assets/images/page/icon-draw.png" alt="">
|
|
|
<span>地图绘制功能已开启</span>
|
|
|
</div>
|
|
|
- <template v-if="form.dataType === '起降场规划'">
|
|
|
+ <template v-if="form.dataType === '02'">
|
|
|
<el-form-item label="起飞场" prop="fromPort">
|
|
|
<el-select v-model="form.fromPort" @change="showPort('fromPort')" placeholder="">
|
|
|
<el-option v-for="item in portOptions" :key="item.value" :label="item.label" :value="item.value"
|
|
@@ -49,7 +54,7 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
- <el-form-item label="上传文件" prop="file" v-if="form.dataType === '导入航线'">
|
|
|
+ <el-form-item label="上传文件" prop="file" v-if="form.dataType === '03'">
|
|
|
<el-upload v-model:file-list="form.file" action="" class="single-uplaod">
|
|
|
<div class="upload-trigger">点击上传文件</div>
|
|
|
</el-upload>
|
|
@@ -153,18 +158,20 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-import { ref,onMounted } from 'vue';
|
|
|
+import {ref, onMounted, watch} from 'vue';
|
|
|
import {routePlanAll, searchQJCList} from "@/service/panelHxhs.js";
|
|
|
import {geometryMeshEffect, getPathCube, showAndRedrawPath} from "@/utils/map/addTool.js";
|
|
|
import useLayoutStore from '@/store/layout'
|
|
|
+import {useMapStore} from "@/store/map.js";
|
|
|
const currentStep = ref(0)
|
|
|
let currentPath = []; // 当前规划路径
|
|
|
let allPathArr = []; // 所有路径
|
|
|
-const layoutStore = useLayoutStore()
|
|
|
+const layoutStore = useLayoutStore();
|
|
|
+const mapStore = useMapStore();
|
|
|
const form = ref({
|
|
|
- taskType: '短途运输',
|
|
|
- uavType: '微型无人机',
|
|
|
- dataType: '起降场规划',
|
|
|
+ taskType: '01',
|
|
|
+ uavType: '01',
|
|
|
+ dataType: '02',
|
|
|
height1: 60,
|
|
|
height2: 80
|
|
|
})
|
|
@@ -243,6 +250,7 @@ function toPrev() {
|
|
|
currentStep.value = 0
|
|
|
}
|
|
|
|
|
|
+//保存网格结果
|
|
|
function handleSave() {
|
|
|
|
|
|
}
|
|
@@ -448,12 +456,29 @@ function showAllPathByType(){
|
|
|
})
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+function getDrawGeometry(){
|
|
|
+ debugger
|
|
|
+ if(mapStore.draw_geometry){
|
|
|
+ if(currentPlan.value == 1){ //最接近原航线,替换原航线数据
|
|
|
+ allPathArr.originalPath.path = mapStore.draw_geometry.paths;
|
|
|
+ }else if(currentPlan.value == 2){ //最安全
|
|
|
+ allPathArr.safePath.path = mapStore.draw_geometry.paths;
|
|
|
+ }else if(currentPlan.value == 3){ //最短
|
|
|
+ allPathArr.shortestPath.path = mapStore.draw_geometry.paths;
|
|
|
+ }
|
|
|
+ currentPath = mapStore.draw_geometry.paths[0];
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
onMounted(()=>{
|
|
|
getQJCList()
|
|
|
})
|
|
|
|
|
|
+watch(() => mapStore.draw_geometry, (val) => {
|
|
|
+ getDrawGeometry()
|
|
|
+}, {
|
|
|
+ deep: true
|
|
|
+})
|
|
|
|
|
|
</script>
|
|
|
|