瀏覽代碼

功能修改20250305

zhiyuan-007 1 月之前
父節點
當前提交
6d305ca3ac
共有 3 個文件被更改,包括 86 次插入19 次删除
  1. 35 5
      src/service/panelHxhs.js
  2. 2 1
      src/utils/map/addLayer.js
  3. 49 13
      src/views/home/cpns/PanelHxhs.vue

+ 35 - 5
src/service/panelHxhs.js

@@ -2,14 +2,44 @@ import {requestNetPost} from "@/service/index.js";
 
 
 //查询起降场列表
-export function searchQJCList(params) {
+export function searchQJCList() {
     return requestNetPost({
         url: '/pg/airPort/query',
         data: {
-            "start": params.start,
-            "end": params.end,
-            "height": params.height,
-            "coordinateType": "sh_2000"
+            "fullExport": true
+        }
+    })
+}
+
+
+//航线自动规划
+export function routePlanAll(params) {
+    return requestNetPost({
+        url: '/DataSearch/routePlan/search/routePlanAll',
+        data: {
+            "paths": params.paths,
+            "level": 24,
+            "radius": 5,
+            "isShowGrid": 0,
+            "fields": [
+                "gridCode",
+                "x",
+                "y",
+                "z",
+                "element",
+                "boxSize"
+            ],
+            "isShowInfo": 0,
+            "elementFields": [
+                "demographics",
+                "green",
+                "river",
+                "road",
+                "collision_buffer",
+                "no_fly_zone_buffer"
+            ],
+            "heightRange":[20,40],
+            "speed":20
         }
     })
 }

+ 2 - 1
src/utils/map/addLayer.js

@@ -504,7 +504,7 @@ export async function AddYaoganMapLayer() {
 
 export function showLayersWithScaleEvents(params) {
   invokeParams('ShowLayersWithScaleEvents', {
-    "status": params.status,
+    "status": params.status?"show":"hide",
     "scale_handle_id": "scale_handle_tileLayerChange",
   });
 }
@@ -873,6 +873,7 @@ export function drawArea(params) {
   }
 }
 
+
 //绘制圆台
 export function drawFrustumCone(params) {
   invokeParams('GeometryMeshFrustumEffect', {

+ 49 - 13
src/views/home/cpns/PanelHxhs.vue

@@ -26,8 +26,8 @@
           </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="导入航线" />
             </el-radio-group>
           </el-form-item>
@@ -37,13 +37,13 @@
           </div>
           <template v-if="form.dataType === '起降场规划'">
             <el-form-item label="起飞场" prop="fromPort">
-              <el-select v-model="form.fromPort" placeholder="">
+              <el-select v-model="form.fromPort" @click="showFromPart()"  placeholder="">
                 <el-option v-for="item in portOptions" :key="item.value" :label="item.label" :value="item.value"
                   :disabled="item.value === form.toPort" />
               </el-select>
             </el-form-item>
             <el-form-item label="降落场" prop="toPort">
-              <el-select v-model="form.toPort" placeholder="">
+              <el-select v-model="form.toPort" @click="showToPart()"  placeholder="">
                 <el-option v-for="item in portOptions" :key="item.value" :label="item.label" :value="item.value"
                   :disabled="item.value === form.fromPort" />
               </el-select>
@@ -61,7 +61,7 @@
               </template>
             </el-input>
             <div class="mx-3">--</div>
-            <el-input v-model="form.height1" type="number" class="flex-1">
+            <el-input v-model="form.height2" type="number" class="flex-1">
               <template #suffix>
                 <span>米</span>
               </template>
@@ -83,10 +83,10 @@
           </el-form-item>
           <el-form-item label="网格查询">
             <el-checkbox v-model="form.grade">评分</el-checkbox>
-            <el-button class="btn-secondary ml-4">查询网格</el-button>
+            <el-button class="btn-secondary ml-4" @click="queryCube()">查询网格</el-button>
           </el-form-item>
           <el-form-item label="辅助规划">
-            <el-button class="btn-secondary">辅助规划</el-button>
+            <el-button class="btn-secondary" @click="getAutoPath()" >辅助规划</el-button>
           </el-form-item>
         </el-form>
       </Transition>
@@ -148,20 +148,17 @@
 
 <script setup>
 import { ref,onMounted } from 'vue';
+import {routePlanAll, searchQJCList} from "@/service/panelHxhs.js";
 
 const currentStep = ref(0)
 
 const form = ref({
   taskType: '短途运输',
   uavType: '微型无人机',
-  dataType: '起降场划',
+  dataType: '起降场划',
 })
 
-const portOptions = [
-  { label: '起降场1', value: '11' },
-  { label: '起降场2', value: '11' },
-  { label: '起降场3', value: '11' }
-]
+const portOptions = []
 
 const rules = [
 
@@ -241,8 +238,47 @@ function handlePreview() {
 
 }
 
-onMounted(()=>{
+//获取起降数据
+function getQJCList(){
+  searchQJCList().then(res=>{
+    debugger
+    let data = res.data.data;
+    data.forEach((item)=>{
+      portOptions.push({
+        label: item.name,
+        value: item.id,
+        shape: item.shape
+      })
+    })
+  })
+}
+
+function showFromPart(){
+
+}
+
+
 
+function getAutoPath(){
+  if(form.value.dataType == "起降场规划"){
+    let point1 =  JSON.parse(portOptions.find((item)=>item.value ==form.value.fromPort).shape);
+    let point2 =  JSON.parse(portOptions.find((item)=>item.value ==form.value.toPort).shape);
+
+
+
+    routePlanAll()
+
+  }else if(form.value.dataType == "航线规划"){
+
+  }else if(form.value.dataType == "导入航线"){
+
+  }
+}
+
+
+
+onMounted(()=>{
+  getQJCList()
 })