From 262867ad919d0a85fd42e9dd5d9fb2e1c8bb7e3b Mon Sep 17 00:00:00 2001
From: jihongshun <1151753686@qq.com>
Date: 星期四, 28 八月 2025 10:01:53 +0800
Subject: [PATCH] 创建项目全区配置参数

---
 src/views/system/shootPoint/components/shootPointDialog.vue |   11 +-
 src/utils/components/init-map.vue                           |    1 
 src/views/system/project/components/addPorjectDialog.vue    |  176 ++++++++++++++++++++++++++++++++++---------
 src/views/system/project/index.vue                          |   30 +++++++
 4 files changed, 172 insertions(+), 46 deletions(-)

diff --git a/src/utils/components/init-map.vue b/src/utils/components/init-map.vue
index 3d4e879..1b1dd85 100644
--- a/src/utils/components/init-map.vue
+++ b/src/utils/components/init-map.vue
@@ -1470,6 +1470,7 @@
   background-color:#232323;
   /* height: calc(100% - 55px); */
   height: calc(100% - 5px);
+  height: calc(100% +  15px);
   width: 100%;
 }
 .flyData{
diff --git a/src/views/system/project/components/addPorjectDialog.vue b/src/views/system/project/components/addPorjectDialog.vue
index df93c17..90b0c76 100644
--- a/src/views/system/project/components/addPorjectDialog.vue
+++ b/src/views/system/project/components/addPorjectDialog.vue
@@ -71,65 +71,61 @@
       title="鑸嚎璁剧疆"
       :visible.sync="drawer"
       direction="rtl">
-      <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
-        <el-form-item label="璧烽鐖崌" prop="region">
-          <el-select v-model="ruleForm.region" placeholder="璇烽�夋嫨璧烽鐖崌">
-            <el-option label="鍨傜洿" value="鍨傜洿"></el-option>
-            <el-option label="鍊炬枩" value="鍊炬枩"></el-option>
+      <el-form :model="ruleForm"  ref="ruleForm" label-width="100px" class="demo-ruleForm">
+        <el-form-item label="璧烽鐖崌" prop="flyToWaylineMode">
+          <el-select v-model="ruleForm.flyToWaylineMode" placeholder="璧烽鐖崌">
+            <el-option v-for="dict in dji_fly_type" :key="dict.value" :label="dict.label"
+              :value="dict.value"></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="鍏ㄥ眬鑸嚎閫熷害" prop="region">
+        <el-form-item label="鍏ㄥ眬鑸嚎閫熷害" prop="autoFlightSpeed">
           <div class="speed-control">
             <el-input-number
-              v-model="ruleForm.speed"
-              :min="0"
-              :max="50"
+              v-model="ruleForm.autoFlightSpeed"
+              :min="1"
+              :max="15"
               :step="1"
               controls-position="both"
-              @change="handleChange"
+              @change="handleChangeAutoFlightSpeed"
             />
             <span class="unit">m/s</span>
           </div>
         </el-form-item>
-        <el-form-item label="璧烽閫熷害" prop="fly">
+        <el-form-item label="璧烽閫熷害" prop="globalTransitionalSpeed">
           <div class="speed-control">
             <el-input-number
-              v-model="ruleForm.flySpeed"
-              :min="0"
-              :max="50"
+              v-model="ruleForm.globalTransitionalSpeed"
+              :min="1"
+              :max="15"
               :step="1"
               controls-position="both"
-              @change="handleChange"
+              @change="handleChangeGlobalTransitionalSpeed"
             />
             <span class="unit">m/s</span>
           </div>
         </el-form-item>
-        <el-form-item label="鑸偣绫诲瀷" prop="region1">
-          <el-select v-model="ruleForm.region1" placeholder="璇烽�夋嫨鑸偣绫诲瀷">
-            <el-option label="鍗忚皟杞集锛屼笉杩囩偣锛屾彁鍓嶈浆寮�" value="鍗忚皟杞集锛屼笉杩囩偣锛屾彁鍓嶈浆寮�"></el-option>
-            <el-option label="鐩寸嚎椋炶锛岄琛屽櫒鍒扮偣鍋�" value="鐩寸嚎椋炶锛岄琛屽櫒鍒扮偣鍋�"></el-option>
-            <el-option label="骞虫粦杩囩偣锛屾彁鍓嶈浆寮�" value="骞虫粦杩囩偣锛屾彁鍓嶈浆寮�"></el-option>
+        <el-form-item label="鑸偣绫诲瀷" prop="globalWaypointTurnMode">
+          <el-select v-model="ruleForm.globalWaypointTurnMode" placeholder="鑸偣绫诲瀷">
+            <el-option v-for="dict in dji_global_waypoint_turn_mode" :key="dict.value" :label="dict.label"
+              :value="dict.value"></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="椋炶鍣ㄥ亸鑸妯″紡" prop="region2">
-          <el-select v-model="ruleForm.region2" placeholder="璇烽�夋嫨椋炶鍣ㄥ亸鑸妯″紡">
-            <el-option label="娌胯埅绾挎柟鍚�" value="娌胯埅绾挎柟鍚�"></el-option>
-            <el-option label="鎵嬪姩鎺у埗" value="鎵嬪姩鎺у埗"></el-option>
-            <el-option label="閿佸畾褰撳墠鍋忚埅瑙�" value="閿佸畾褰撳墠鍋忚埅瑙�"></el-option>
+        <el-form-item label="椋炶鍣ㄥ亸鑸妯″紡" prop="mappingHeadingMode">
+          <el-select v-model="ruleForm.mappingHeadingMode" placeholder="椋炶鍣ㄥ亸鑸妯″紡">
+            <el-option v-for="dict in dji_mapping_heading_mode" :key="dict.value" :label="dict.label"
+              :value="dict.value"></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="鑸偣闂翠簯鍙颁刊浠拌鎺у埗妯″紡" prop="region3">
-          <el-select v-model="ruleForm.region3" placeholder="璇烽�夋嫨鑸偣闂翠簯鍙颁刊浠拌鎺у埗妯″紡">
-            <el-option label="鎵嬪姩鎺у埗" value="鎵嬪姩鎺у埗"></el-option>
-            <el-option label="渚濈収姣忎釜鑸偣璁剧疆" value="渚濈収姣忎釜鑸偣璁剧疆"></el-option>
+        <el-form-item label="鑸偣闂翠簯鍙颁刊浠拌鎺у埗妯″紡" prop="gimbalPitchMode">
+          <el-select v-model="ruleForm.gimbalPitchMode" placeholder="椋炶鍣ㄥ亸鑸妯″紡">
+            <el-option v-for="dict in dji_gimbal_pitch_mode" :key="dict.value" :label="dict.label"
+              :value="dict.value"></el-option>
           </el-select>
         </el-form-item>
-         <el-form-item label="瀹屾垚鍔ㄤ綔" prop="region4">
-          <el-select v-model="ruleForm.region4" placeholder="璇烽�夋嫨瀹屾垚鍔ㄤ綔">
-            <el-option label="鑷姩杩旇埅" value="鑷姩杩旇埅"></el-option>
-            <el-option label="杩斿洖鑸嚎璧峰鐐规偓鍋�" value="杩斿洖鑸嚎璧峰鐐规偓鍋�"></el-option>
-            <el-option label="閫�鍑鸿埅绾挎ā寮�" value="閫�鍑鸿埅绾挎ā寮�"></el-option>
-            <el-option label="鍘熷湴闄嶈惤" value="鍘熷湴闄嶈惤"></el-option>
+         <el-form-item label="瀹屾垚鍔ㄤ綔" prop="finishAction">
+          <el-select v-model="ruleForm.finishAction" placeholder="璧烽鐖崌">
+            <el-option v-for="dict in dji_finish_type" :key="dict.value" :label="dict.label"
+              :value="dict.value"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
@@ -153,6 +149,80 @@
     chooseDeviceDialog,
     chooseModelDialog
   },
+  props: {
+    model_dji_execute_typetype: {
+      type: Array,
+      default() {
+        return []
+      }
+    },
+    dji_execute_type: {
+      type: Array,
+      default() {
+        return []
+      }
+    },
+    dji_finish_type: {
+      type: Array,
+      default() {
+        return []
+      }
+    },
+    dji_fly_type: {
+      type: Array,
+      default() {
+        return []
+      }
+    },
+    dji_exitlost_type: {
+      type: Array,
+      default() {
+        return []
+      }
+    },
+    dji_drone_value_type: {
+      type: Array,
+      default() {
+        return []
+      }
+    },
+    dji_template_type: {
+      type: Array,
+      default() {
+        return []
+      }
+    },
+    dji_execute_height_type: {
+      type: Array,
+      default() {
+        return []
+      }
+    },
+    dji_auto_flight_speed: {
+      type: Array,
+      default() {
+        return []
+      }
+    },
+    dji_global_waypoint_turn_mode: {
+      type: Array,
+      default() {
+        return []
+      }
+    },
+    dji_mapping_heading_mode: {
+      type: Array,
+      default() {
+        return []
+      }
+    },
+    dji_gimbal_pitch_mode: {
+      type: Array,
+      default() {
+        return []
+      }
+    },
+  },
   data(){
     return{
        dialogVisible :true,
@@ -168,8 +238,8 @@
         deviceId:null,
         drawer:false,
         ruleForm:{
-          speed:14,
-          flySpeed:15
+          autoFlightSpeed:14,
+          globalTransitionalSpeed:15
         },
         
     }
@@ -425,7 +495,8 @@
           label: groundPoint.targetName,
           longitude: groundPoint.longitude,
           latitude: groundPoint.latitude,
-          height: groundPoint.height
+          height: groundPoint.height,
+          actions:groundPoint.actions
         }] : [];
 
         // 鐢熸垚绌轰腑鐐�
@@ -628,6 +699,7 @@
     },
     submit(){
       console.log(this.treeData)
+      console.log(this.ruleForm)
 
       const routePointList = [];
 
@@ -639,6 +711,7 @@
             latitude: airPoint.latitude,
             height: airPoint.height,
             isStartAndEndPoint: false,
+            actions:airPoint.children[0].actions || [],
             coordinatePointReq: {
                 height: airPoint.children[0].height,
                 latitude:airPoint.children[0].latitude,
@@ -658,8 +731,10 @@
       let params  = {
         routePointList:routePointList
       }
+      this.ruleForm.routePointList = routePointList
+      console.log(this.ruleForm)
       console.log('鐢熸垚鑸嚎')
-      buildKmz(params).then(res=>{
+      buildKmz(this.ruleForm).then(res=>{
         if(res.code == 200) {
            this.$message({
               message: '鐢熸垚鑸嚎鎴愬姛',
@@ -670,6 +745,29 @@
     },
     lineSet(){
       this.drawer =true
+    },
+    handleChangeAutoFlightSpeed(value){
+      console.log(value)
+      this.ruleForm.autoFlightSpeed = value
+    },
+    handleChangeGlobalTransitionalSpeed(value){
+      console.log(value)
+      this.ruleForm.globalTransitionalSpeed = value
+    },
+    submitForm(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          // alert('submit!');
+          console.log(this.ruleForm)
+          this.drawer = false
+        } else {
+          console.log('error submit!!');
+          return false;
+        }
+      });
+    },
+    resetForm(){
+      this.drawer = false
     }
   }
 }
diff --git a/src/views/system/project/index.vue b/src/views/system/project/index.vue
index 1c14cb7..701ab83 100644
--- a/src/views/system/project/index.vue
+++ b/src/views/system/project/index.vue
@@ -18,7 +18,21 @@
       </el-col>
      </el-row>
     
-    <addPorjectDialog  v-if="showDialog" @close="close"></addPorjectDialog>
+    <addPorjectDialog  
+      v-if="showDialog"
+      @close="close"
+      :dji_execute_type="dict.type.dji_execute_type"
+      :dji_finish_type="dict.type.dji_finish_type"
+      :dji_fly_type="dict.type.dji_fly_type"
+      :dji_exitlost_type="dict.type.dji_exitlost_type"
+      :dji_drone_value_type="dict.type.dji_drone_value_type"
+      :dji_template_type="dict.type.dji_template_type"
+      :dji_execute_height_type="dict.type.dji_execute_height_type"
+      :dji_auto_flight_speed="dict.type.dji_auto_flight_speed"
+      :dji_global_waypoint_turn_mode="dict.type.dji_global_waypoint_turn_mode"
+      :dji_mapping_heading_mode="dict.type.dji_mapping_heading_mode"
+      :dji_gimbal_pitch_mode="dict.type.dji_gimbal_pitch_mode"
+     ></addPorjectDialog>
   </div>
 </template>
 
@@ -27,7 +41,19 @@
 import CesiumMap from "../../../utils/components/cesium-map.vue";
 export default {
   name: "towers",
-  dicts: ['model_typpe'],
+  dicts: [
+  'dji_execute_type',
+  'dji_finish_type',
+  'dji_fly_type',
+  'dji_exitlost_type',
+  'dji_drone_value_type',
+  'dji_template_type',
+  'dji_execute_height_type',
+  'dji_auto_flight_speed',
+  'dji_global_waypoint_turn_mode',
+  'dji_mapping_heading_mode',
+  'dji_gimbal_pitch_mode'
+],
   components: {
     addPorjectDialog,
     CesiumMap
diff --git a/src/views/system/shootPoint/components/shootPointDialog.vue b/src/views/system/shootPoint/components/shootPointDialog.vue
index f60d32f..8a4c651 100644
--- a/src/views/system/shootPoint/components/shootPointDialog.vue
+++ b/src/views/system/shootPoint/components/shootPointDialog.vue
@@ -504,7 +504,7 @@
           const groundA = result[i];
           const raisedA = {
             id: this.generateId(),
-            label: groundA.label+ "-鍔犻珮111",
+            label: groundA.label+ "-鍔犻珮",
             longitude: groundA.longitude,
             latitude: groundA.latitude,
             height: groundA.height,
@@ -512,8 +512,9 @@
               {
                 ...pointA,
                 id: this.generateId(),
-                label: pointA.label + "-鍔犻珮2222",
-                height: pointA.height + 50,
+                label: pointA.label + "-鍔犻珮",
+                // height: pointA.height + 50,
+                height: pointA.height  + (towerHeight  - pointA.height  +  20),
                 actions:[]
               }
             ]
@@ -532,8 +533,8 @@
               {
                 ...pointB,
                 id: this.generateId(),
-                label: pointB.label + "-鍔犻珮3333",
-                height: pointB.height + 50,
+                label: pointB.label + "-鍔犻珮",
+                height: pointB.height  + (towerHeight  - pointB.height  +  20),
                 actions:[]
               }
             ]

--
Gitblit v1.9.3