无人机管理后台前端(已迁走)
张含笑
2025-10-30 fd3d2b1b892539c96238387d560ca7fe04cb7e63
src/views/layerManagement/index.vue
@@ -29,6 +29,7 @@
</template>
<script setup>
import { dataFolderApi } from '@/api/layer/index';
import folderFile from '@/views/layerManagement/components/folderFile.vue'
import { parseGeoDataToPositions } from '@/utils/geoParseUtil';
import { flyVisual } from '@/utils/cesium/mapUtil';
@@ -43,6 +44,8 @@
import { provide } from 'vue';
const activeName = ref('电子围栏');
const activeType = ref('0');
let tbJwdList = [];
const selectDataList = ref([]);
// 当前面位置信息
let curPolygonPosition = [];
const tabData = ref([
@@ -70,17 +73,37 @@
  addAnEditingFolder:null,//新增or编辑文件夹
  addFolder:false,
  editFolder:false,
  folderOption:[] ,//文件夹选项
  fenceType:1,
});
provide('layerParams', layerParams);
const handleClick = tab => {
  const clickedTab = tabData.value.find(item => item.type === tab.paneName);
  activeType.value = clickedTab.type;
  activeName.value = clickedTab.name;
    getdataFolderApi();
};
let tbJwdList = [];
const selectDataList = ref([]);
const getdataFolderApi=()=>{
 let id;
  if (activeName.value === '电子围栏') {
    id = 1;
  } else if (activeName.value === '自定义禁飞区') {
    id = 2;
  } else {
    return;
  }
  dataFolderApi(id).then(res=>{
 const originalFolderList = res.data.data || [];
  const formattedFolderOption = originalFolderList.map(folder => ({
        label: folder.name,
        value: folder.id.toString()
      }));
       layerParams.value.folderOption = formattedFolderOption;
  })
}
// 编辑围栏区域
const handleEdit = val => {
viewer.entities.removeAll();
@@ -281,9 +304,11 @@
    cesium.removeEventListener('contextmenu', preventDefault);
  }
};
provide('layerParams', layerParams);
onMounted(() => {
  initMap();
  cesiumContextMenu();
  getdataFolderApi()
});
onBeforeUnmount(() => {