无人机管理后台前端(已迁走)
罗广辉
2025-10-31 e99ca4acbcfc08b45234e1796a9da4f74bca9f22
src/views/layerManagement/components/folderFile.vue
@@ -1,14 +1,14 @@
<template>
  <div class="rightContainer">
    <div class="contenttitle">文件夹信息</div>
    <div class="contenttitle">{{itSLandPlanning ? '文件' : '文件夹'}}信息</div>
    <div class="centerBox">
      <div class="itemRow">
        <div class="label">文件夹名称</div>
        <div class="label">{{itSLandPlanning ? '文件' : '文件夹'}}名称</div>
        <div>
          <el-input class="ztzf-input inputName" v-model="formData.name" placeholder="请输入" />
        </div>
      </div>
      <div class="itemRow">
      <div class="itemRow" v-if="layerParams.addAnEditingFolder === 1 && layerParams.fileType !==2 && !itSLandPlanning">
        <div class="label">关联算法</div>
        <div>
          <el-select
@@ -45,7 +45,7 @@
      </div>
    </div>
    <div class="detailInfo" v-if="layerParams.editFolder">
      <div class="infpItem">
      <div class="infpItem" v-if="!itSLandPlanning">
        <div class="itemData">
          <div class="title">围栏总数量</div>
          <div class="num">
@@ -55,7 +55,7 @@
        <div class="itemData">
          <div class="title">围栏总面积</div>
          <div class="num">
            <span>{{ formData.total_area }}</span> m²
            <span class="areaStyle">{{ formData.total_area }}</span> m²
          </div>
        </div>
      </div>
@@ -86,6 +86,7 @@
import dayjs from 'dayjs';
import { deleteFolderApi, deitFolderApi, addFolderApi } from '@/api/layer/index';
import { getTicketInfo } from '@/api/tickets/ticket';
import { computed } from 'vue';
const layerParams = inject('layerParams');
const types = ref([]); //工单类型
const allAlgorithms = ref([]);
@@ -100,6 +101,10 @@
});
const detailData = ref(null);
detailData.value = layerParams.value.editFolderData;
const props = defineProps({
  activeName: String,
});
const itSLandPlanning = computed(() => props.activeName === '国土空间规划')
const getTicketInfoData = async () => {
  const response = await getTicketInfo();
  const { dept_data, event_type, ai_type, info } = response.data.data;
@@ -150,14 +155,15 @@
    ElMessage.error('请输入文件夹名称');
    return;
  }
  if (!formData.value.event_type) {
    ElMessage.error('请选择类型');
    return;
  }
  if (!formData.value.algorithm_name) {
    ElMessage.error('请选择算法');
    return;
  if(!itSLandPlanning){
    if (!formData.value.event_type && layerParams.value.fileType === 1) {
      ElMessage.warning('请选择类型');
      return;
    }
    if (!formData.value.algorithm_name && layerParams.value.fileType === 1) {
      ElMessage.warning('请选择算法');
      return;
    }
  }
  const params = {
    category_id: layerParams.value.fileType === 1 ? 1 : 2,
@@ -173,14 +179,15 @@
    // 文件夹新增
    addFolderApi(params).then(res => {
      ElMessage.success('新增成功');
      clearAllData();
    });
  } else {
    //文件夹编辑
    deitFolderApi(params).then(res => {
      ElMessage.success('编辑成功');
      clearAllData();
    });
  }
  clearAllData();
};
onMounted(async () => {
  await getTicketInfoData();
@@ -256,18 +263,25 @@
      font-family: Source Han Sans CN, Source Han Sans CN;
      font-weight: 400;
      font-size: 14px;
      color: #ffffff;
      color: #DFDFDF;
      margin-bottom: 23px;
      .num {
        span {
          font-family: Source Han Sans CN, Source Han Sans CN;
          font-weight: bold;
          font-size: 20px;
          font-size: 14px;
          color: #ffffff;
        }
         .areaStyle {
        font-family: Source Han Sans CN, Source Han Sans CN;
        font-weight: bold;
        font-size: 20px;
        color: #FFFFFF;
                }
      }
      .itemData {
        width: 50%;
      }
    }
  }