From 4a080fd0160843583c49e05110b4d6e767502e86 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Fri, 31 Oct 2025 11:46:01 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/图层管理' into 图层管理
---
src/api/layer/index.js | 13 ++++++
src/views/layerManagement/components/leftList.vue | 43 +++++++++++++++++++--
src/views/layerManagement/index.vue | 10 ++---
3 files changed, 56 insertions(+), 10 deletions(-)
diff --git a/src/api/layer/index.js b/src/api/layer/index.js
index 158c108..27a3fd2 100644
--- a/src/api/layer/index.js
+++ b/src/api/layer/index.js
@@ -6,6 +6,19 @@
params,
});
};
+
+
+export const spatialPlanningApi = data => {
+ return request({
+ url: `/drone-device-core/layer/api/v1/spatialPlanning`,
+ method: 'post',
+ data,
+ });
+};
+
+
+
+
// 电子围栏
// 编辑
export const deitFenceApi = data => {
diff --git a/src/views/layerManagement/components/leftList.vue b/src/views/layerManagement/components/leftList.vue
index 7e32952..2cd93c2 100644
--- a/src/views/layerManagement/components/leftList.vue
+++ b/src/views/layerManagement/components/leftList.vue
@@ -12,10 +12,20 @@
</div>
</div>
<div class="btnGroups">
- <el-button class="ztzf-button" @click="addFence">{{
+ <el-button v-if="activeName !== '国土空间规划'" class="ztzf-button" @click="addFence">{{
props.activeName === '电子围栏' ? '新增围栏' : '新增禁飞区'
}}</el-button>
- <el-button class="ztzf-button" @click="addFolder">新增文件夹</el-button>
+ <el-button v-if="activeName !== '国土空间规划'" class="ztzf-button" @click="addFolder">新增文件夹</el-button>
+ <el-upload
+ v-if="activeName === '国土空间规划'"
+ action="#"
+ :show-file-list="false"
+ :before-upload="e => uploadFlightFile(e, '1')"
+ accept=".zip"
+ >
+ <el-button class="ztzf-button"> 上传 </el-button>
+ </el-upload>
+
<el-button class="ztzf-button" @click="selectAll">全选</el-button>
</div>
<div class="tableListBox">
@@ -58,7 +68,7 @@
<script setup>
import { ElMessage } from 'element-plus';
-import { treeDataApi, deleteFenceApi,deleteFolderApi } from '@/api/layer/index';
+import { treeDataApi, deleteFenceApi, deleteFolderApi, spatialPlanningApi } from '@/api/layer/index';
import { inject, onMounted } from 'vue';
const emit = defineEmits(['update:coverData', 'update:deitData', 'newFencesMethods']);
import EventBus from '@/utils/eventBus';
@@ -195,6 +205,7 @@
type: 'success',
});
}
+ gettreeDataApi();
});
}else if(node.data.level === 3){
@@ -205,9 +216,9 @@
type: 'success',
});
}
+ gettreeDataApi();
});
}
- gettreeDataApi();
};
// 新增围栏
const addFence = () => {
@@ -230,6 +241,25 @@
layerParams.value.fileType = 2;
}
};
+
+function uploadFlightFile(file, t) {
+ const fileSuffix = file.name.substring(file.name.lastIndexOf('.') + 1);
+ if (!['zip'].includes(fileSuffix)) {
+ return ElMessage.error('请上传zip格式的文件');
+ }
+ let data = new FormData();
+ const params = {
+ file: file,
+ fileName: file.name,
+ };
+ Object.keys(params).forEach(key => {
+ data.append(key, params[key]);
+ });
+ spatialPlanningApi(data).then(res =>{
+ ElMessage.success('上传成功');
+ gettreeDataApi();
+ })
+}
onMounted(() => {
gettreeDataApi();
@@ -300,6 +330,11 @@
.btnGroups {
margin: 12px 0 14px 0;
display: flex;
+ gap: 0 10px;
+
+ .el-button{
+ margin: 0 !important;
+ }
}
.tableListBox {
//:deep(.el-tree-node__content) {
diff --git a/src/views/layerManagement/index.vue b/src/views/layerManagement/index.vue
index 7b733e1..ace1624 100644
--- a/src/views/layerManagement/index.vue
+++ b/src/views/layerManagement/index.vue
@@ -18,8 +18,7 @@
!layerParams.addNest &&
!layerParams.editNest &&
!layerParams.addFolder &&
- !layerParams.editFolder &&
- activeType !== '2'
+ !layerParams.editFolder
"
@update:coverData="handleCoverDataUpdate"
@update:deitData="handleEdit"
@@ -28,13 +27,12 @@
@newFencesMethods="newFencesMethods"
></leftList>
<rightEdit
- v-if="layerParams.addNest || (layerParams.editNest && activeType !== '2')"
+ v-if="layerParams.addNest || (layerParams.editNest)"
@callParentMethod="parentMethod"
></rightEdit>
<folderFile
- v-if="layerParams.addFolder || (layerParams.editFolder && activeType !== '2')"
+ v-if="layerParams.addFolder || (layerParams.editFolder)"
></folderFile>
- <nationalSpatialPlanning v-if="activeType === '2'" />
</div>
</div>
</basic-container>
@@ -114,7 +112,7 @@
} else if (activeName.value === '自定义禁飞区') {
id = 2;
} else {
- return;
+ id = 3;
}
dataFolderApi(id).then(res => {
const originalFolderList = res.data.data || [];
--
Gitblit v1.9.3