无人机管理后台前端(已迁走)
张含笑
2025-10-31 79561d10cf84f56fc53090cfb93436e56fb52745
feat:修复
1 files modified
87 ■■■■■ changed files
src/views/layerManagement/components/rightEdit.vue 87 ●●●●● patch | view | raw | blame | history
src/views/layerManagement/components/rightEdit.vue
@@ -25,7 +25,12 @@
      <div class="itemRow">
        <div class="label">{{ layerParams.fenceType === 1 ? '围栏' : '禁飞区' }}名称</div>
        <div>
          <el-input   :disabled="isDisabled" class="ztzf-input inputName" v-model="formData.name" placeholder="请输入" />
          <el-input
            :disabled="isDisabled"
            class="ztzf-input inputName"
            v-model="formData.name"
            placeholder="请输入"
          />
        </div>
      </div>
      <div class="itemRow" v-if="layerParams.fenceType === 2">
@@ -47,7 +52,13 @@
      <div class="itemRow">
        <div class="label">{{ layerParams.fenceType === 1 ? '围栏' : '禁飞区' }}备注</div>
        <div>
          <el-input   :disabled="isDisabled" v-model="formData.description" :rows="5" type="textarea" placeholder="请输入" />
          <el-input
            :disabled="isDisabled"
            v-model="formData.description"
            :rows="5"
            type="textarea"
            placeholder="请输入"
          />
        </div>
      </div>
    </div>
@@ -67,7 +78,7 @@
        </div>
      </div>
      <div class="infpItem" v-if="layerParams.fenceType === 2">
        <div class="itemData" v-if="layerParams.editNest  && layerParams.fenceType === 2">
        <div class="itemData" v-if="layerParams.editNest && layerParams.fenceType === 2">
          <div class="title">禁飞区面积</div>
          <div class="num">
            <span class="areaStyle">{{ fenceArea }}</span> m²
@@ -78,11 +89,12 @@
          <div class="num noFly">
            <span
              ><el-input
              :disabled="isDisabled"
                :disabled="isDisabled"
                class="ztzf-input inputName"
                v-model="formData.altitude"
                placeholder="请输入" /></span
            > 米
                placeholder="请输入"
            /></span>
            米
          </div>
        </div>
      </div>
@@ -100,14 +112,13 @@
          </div>
        </div>
      </div>
        <div class="infpItem" v-if="layerParams.editNest && layerParams.fenceType === 1">
      <div class="infpItem" v-if="layerParams.editNest && layerParams.fenceType === 1">
        <div class="itemData">
          <div class="title">创建时间</div>
          <div class="num">
            <span>{{ formData?.create_time }}</span>
          </div>
        </div>
      </div>
    </div>
    <div class="btnGroups">
@@ -148,14 +159,6 @@
});
watch(
  () => layerParams.value.editingIsProhibited,
  newVal => {
   console.log('newVal',newVal);
  },
  { immediate: true }
);
watch(
  () => layerParams.value.fenceArea,
  newArea => {
    if (newArea !== undefined && newArea !== null) {
@@ -168,8 +171,8 @@
// 监听editDetailData的变化
watch(
  () => layerParams.value.editDetailData,
  (newVal) => {
    if (newVal) {
  newVal => {
    if (newVal && layerParams.value.editingIsProhibited) {
      // 当editDetailData有值时,填充表单
      formData.value = {
        ...formData.value,
@@ -185,7 +188,7 @@
        create_name: newVal.create_name || '',
        create_time: newVal.create_time ? dayjs(newVal.create_time).format('YYYY年MM月DD日') : '',
      };
      // 处理文件夹选择
      if (newVal.folder_id && options.value.length > 0) {
        const matchedFolder = options.value.find(item => item.value === String(newVal.folder_id));
@@ -193,7 +196,7 @@
          formData.value.folder_id = matchedFolder.value;
        }
      }
      // 处理时间选择
      if (newVal.control_start_time && newVal.control_end_time) {
        timeValue.value = [
@@ -201,21 +204,6 @@
          dayjs(newVal.control_end_time).toDate(),
        ];
      }
    } else {
      // 当editDetailData为null时,重置表单
      formData.value = {
        folder_id: '',
        name: '',
        description: '',
        is_enabled: false,
        area: '',
        altitude: '',
        control_start_time: '',
        control_end_time: '',
        geo_data: '',
        altitude: '',
      };
      timeValue.value = '';
    }
  },
  { immediate: true, deep: true }
@@ -274,7 +262,7 @@
    is_enabled: true,
    area: formData.value.area,
    altitude: formData.value.altitude,
    geo_data: layerParams.value.polygonPosition,
    geo_data: layerParams.value.polygonPosition || formData.value.geo_data,
    control_start_time: formData.value.control_start_time,
    control_end_time: formData.value.control_end_time,
  };
@@ -286,22 +274,19 @@
    //围栏新增
    addFenceApi(params).then(res => {
      ElMessage.success('新增成功');
        EventBus.emit('gettreeDataApi');
         clearAllData();
  emit('callParentMethod');
      EventBus.emit('gettreeDataApi');
      clearAllData();
      emit('callParentMethod');
    });
  } else if (layerParams.value.decideWhetherToAddOrEdit === 2) {
    //围栏编辑
    deitFenceApi(params).then(res => {
      ElMessage.success('编辑成功');
        EventBus.emit('gettreeDataApi');
         clearAllData();
  emit('callParentMethod');
      EventBus.emit('gettreeDataApi');
      clearAllData();
      emit('callParentMethod');
    });
  }
};
onMounted(() => {
  // 获取判断状态(默认设为 1)
@@ -387,7 +372,7 @@
      font-family: Source Han Sans CN, Source Han Sans CN;
      font-weight: 400;
      font-size: 14px;
     color: #DFDFDF;
      color: #dfdfdf;
      margin-bottom: 23px;
      .num {
        span {
@@ -397,11 +382,11 @@
          color: #ffffff;
        }
        .areaStyle {
        font-family: Source Han Sans CN, Source Han Sans CN;
        font-weight: bold;
        font-size: 20px;
        color: #FFFFFF;
                }
          font-family: Source Han Sans CN, Source Han Sans CN;
          font-weight: bold;
          font-size: 20px;
          color: #ffffff;
        }
      }
      .noFly {
        display: flex;