Browse Source

功能修改20250306-02

zhiyuan-007 1 month ago
parent
commit
f494eb3a56
3 changed files with 53 additions and 16 deletions
  1. 2 2
      src/components/MapView.vue
  2. 12 0
      src/service/panelHxhs.js
  3. 39 14
      src/views/home/cpns/PanelHxhs.vue

+ 2 - 2
src/components/MapView.vue

@@ -29,8 +29,8 @@ export default {
       myBridge.bridgeContent = bridge = new CityGis.Bridge({
         id: "i_map",
         // url: 'http://58.34.215.19:8095/map-tool-widget/#/jk_map',
-        // url: 'http://localhost:5173/map-tool-widget/',
-        url: 'https://cimweb.zjw.sh.cegn.cn:2007/map-tool-widget/#/',
+        url: 'http://localhost:5173/map-tool-widget/',
+        // url: 'https://cimweb.zjw.sh.cegn.cn:2007/map-tool-widget/#/',
         onReady: function () {
           console.log("地图创建完成")
         }

+ 12 - 0
src/service/panelHxhs.js

@@ -42,4 +42,16 @@ export function routePlanAll(params) {
             "speed":20
         }
     })
+}
+
+//航线保存
+export function saveRoute(params) {
+    return requestNetPost({
+        url: '/pg/airLine/add',
+        data: {
+            "shape": params.shape,
+            "level": 24,
+            "radius":params.radius
+        }
+    })
 }

+ 39 - 14
src/views/home/cpns/PanelHxhs.vue

@@ -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>