jihongshun
4 天以前 262867ad919d0a85fd42e9dd5d9fb2e1c8bb7e3b
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
    }
  }
}