forked from drone/command-center-dashboard

罗广辉
2025-04-09 dd04b26581614110fa318bab79a85d81de9245e8
src/views/Home/AINowFly.vue
@@ -2,16 +2,20 @@
   <div class="AINowFly">
      <div>智引即飞</div>
      <el-form ref="ruleFormRef" :model="params" :rules="rules" label-width="auto" size="small" status-icon>
         <el-form-item label="任务名称" prop="taskName">
            <el-input v-model="params.taskName" />
         <el-form-item label="任务名称" prop="name">
            <el-input v-model="params.name" />
         </el-form-item>
         <el-form-item label="关联算法" prop="ai_types">
            <el-select v-model="params.ai_types" placeholder="请选择">
            <el-select v-model="params.ai_types" placeholder="请选择" multiple>
               <el-option v-for="item in taskAlgorithm" :key="item.id" :label="item.dictValue" :value="item.dictKey" />
            </el-select>
         </el-form-item>
         <el-form-item label="地址" >
         <el-form-item label="地址">
            <el-input disabled type="text" v-model="di" />
         </el-form-item>
         <!--         todo-->
         <el-form-item label="事件">
            <div>默认拍照</div>
         </el-form-item>
      </el-form>
@@ -40,23 +44,24 @@
import dayjs from 'dayjs'
import { useStore } from 'vuex'
const now = dayjs().format('YYYY/MM/DD HH:mm')
const now = dayjs().format('YYYYMMDDHHmm')
const nowTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
const paramsInit = {
   taskName: `智引即飞 ${now}`,
   name: `智引即飞${now}`,
   ai_types: '',
   longitude: '',
   latitude: '',
   dock_sns: [],
   type: 1,
   begin_time: nowTime,
   end_time: nowTime,
}
const params = ref(_.cloneDeep(paramsInit))
const di = computed(() => params.value.longitude + ',' + params.value.latitude)
const rules = ref({
   taskName: [
   name: [
      { required: true, message: '请输入任务名称', trigger: 'blur' },
      { min: 3, max: 50, message: '长度在 3 到 20 个字符', trigger: 'blur' },
   ],
@@ -79,11 +84,14 @@
   await ruleFormRef.value.validate()
   if (!params.value.dock_sns.length) return ElMessage.warning('请选择将要飞行的机巢')
   if (!params.value.longitude) return ElMessage.warning('请选择飞行的点')
   if (params.value.dock_sns.length === 1){
      store.commit('setSingleUavHome', { device_sn: params.value.dock_sns[0]})
   }else{
      store.commit('setFootActiveIndex', 0)
   }
   createTask(params.value).then(res => {
      ElMessage.success('起飞成功')
      if (params.value.dock_sns.length === 1) {
         store.commit('setSingleUavHome', { device_sn: params.value.dock_sns[0] })
      } else {
         store.commit('setFootActiveIndex', 0)
      }
   })
}
const renderingLine = () => {
@@ -158,7 +166,7 @@
   })
   const { longitude, latitude } = cartesian3Convert(earthPosition, viewer)
   eventPoint = { longitude, latitude }
   params.value = {...params.value,longitude, latitude}
   params.value = { ...params.value, longitude, latitude }
   getFJList()
}