From 5808f76456ca0d40de5074f132b73a5a488e3e13 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Tue, 09 Dec 2025 09:12:03 +0800
Subject: [PATCH] Merge branch 'refs/heads/feature/v9.0/9.0.1' into test

---
 src/views/layerManagement/components/folderFile.vue |  100 ++++++++++++++++++++++++++++++--------------------
 1 files changed, 60 insertions(+), 40 deletions(-)

diff --git a/src/views/layerManagement/components/folderFile.vue b/src/views/layerManagement/components/folderFile.vue
index 2c5cf3c..eac8fde 100644
--- a/src/views/layerManagement/components/folderFile.vue
+++ b/src/views/layerManagement/components/folderFile.vue
@@ -1,19 +1,19 @@
 <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="请输入" />
+          <el-input class="ztzf-layer-input inputName" v-model="formData.name" placeholder="请输入" />
         </div>
       </div>
-      <div class="itemRow">
+     <div class="itemRow" v-if="(layerParams.addAnEditingFolder === 1 && layerParams.fileType !==2) || (layerParams.addAnEditingFolder === 2 && layerParams.fileType !==2) && !itSLandPlanning">
         <div class="label">关联算法</div>
         <div>
           <el-select
             class="ztzf-layer-search filter-item"
-            popper-class="ztzf-select-popper"
+
             @change="handleTypeChange"
             v-model="formData.event_type"
             placeholder="请选择"
@@ -28,7 +28,6 @@
           </el-select>
           <el-select
             v-model="formData.algorithm_name"
-            popper-class="ztzf-select-popper"
             class="ztzf-layer-search"
             placeholder="请选择"
             clearable
@@ -45,17 +44,18 @@
       </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="title">{{ layerParams.fileType === 1 ? '识别区' : '禁飞区' }}总数量</div>
+          
           <div class="num">
-            <span>{{ formData.total_count }}</span> 个
+            <span class="totalQuantity">{{ formData.total_count }}</span> 个
           </div>
         </div>
         <div class="itemData">
-          <div class="title">围栏总面积</div>
+          <div class="title">{{ layerParams.fileType === 1 ? '识别区' : '禁飞区' }}总面积</div>
           <div class="num">
-            <span>{{ formData.total_area }}</span> m²
+            <span class="areaStyle">{{ formData.total_area.toFixed(2) }}</span> m²
           </div>
         </div>
       </div>
@@ -82,10 +82,13 @@
 </template>
 
 <script setup>
+const emit = defineEmits(['refreshMethod','callParentMethod']);
+import EventBus from '@/utils/eventBus';
 import { ElMessage } from 'element-plus';
 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 +103,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;
@@ -110,6 +117,7 @@
   }));
 };
 const handleTypeChange = typeValue => {
+formData.value.algorithm_name = '';
   const matchedCategory = allAlgorithms.value.find(category => category.dict_key === typeValue);
   if (!matchedCategory || !matchedCategory.algorithms || matchedCategory.algorithms.length === 0) {
     // 无匹配的算法时清空
@@ -144,30 +152,23 @@
 };
 const cancelHandel = () => {
   clearAllData();
+   emit('callParentMethod');
 };
 const submitHandle = () => {
-
- if(!formData.value.name){
-    ElMessage({
-              message: '请输入文件夹名称',
-              type: 'error',
-            });
-            return
+  if (!formData.value.name) {
+    ElMessage.error('请输入文件夹名称');
+    return;
+  }
+  if(!itSLandPlanning.value){
+    if (!formData.value.event_type && layerParams.value.fileType === 1) {
+      ElMessage.warning('请选择类型');
+      return;
     }
-     if(!formData.value.event_type){
-    ElMessage({
-              message: '请选择类型',
-              type: 'error',
-            });
-            return
+    if (!formData.value.algorithm_name && layerParams.value.fileType === 1) {
+      ElMessage.warning('请选择算法');
+      return;
     }
-     if(!formData.value.algorithm_name){
-    ElMessage({
-              message: '请选择算法',
-              type: 'error',
-            });
-            return
-    }
+  }
   const params = {
     category_id: layerParams.value.fileType === 1 ? 1 : 2,
     name: formData.value.name,
@@ -181,18 +182,23 @@
   if (layerParams.value.addAnEditingFolder === 1) {
     // 文件夹新增
     addFolderApi(params).then(res => {
-           ElMessage.success('新增成功');
+      ElMessage.success('新增成功');
+        EventBus.emit('gettreeDataApi');
+          emit('refreshMethod');
+      clearAllData();
+       emit('callParentMethod');
     });
   } else {
     //文件夹编辑
     deitFolderApi(params).then(res => {
-        ElMessage.success('编辑成功');
+      ElMessage.success('编辑成功');
+        EventBus.emit('gettreeDataApi');
+      clearAllData();
+       emit('callParentMethod');
     });
   }
-  clearAllData();
 };
 onMounted(async () => {
-
   await getTicketInfoData();
   const addOrEditStatus = layerParams.value.addAnEditingFolder || 1;
   //  判断是否有编辑数据,有则回显
@@ -204,7 +210,7 @@
       name: editData.name,
       event_type: editData.event_type, // 回显“关联算法类型”值
       algorithm_name: editData.algorithm_name, // 回显“算法”值
-  
+
       total_count: editData.total_count,
       total_area: editData.total_area,
       create_time: editData.create_time ? dayjs(editData.create_time).format('YYYY年MM月DD日') : '',
@@ -226,12 +232,13 @@
   position: absolute;
   top: 0;
   right: 0;
-  height: 95%;
+height: calc(100% - 32px);
   z-index: 99;
   width: 324px;
 
   overflow: hidden;
-  background: rgba(0, 0, 0, 0.8);
+  background: rgba(0,0,0,0.51);
+  backdrop-filter: blur(4px);
   border-radius: 8px 8px 8px 8px;
   padding: 16px 12px;
 
@@ -266,18 +273,31 @@
       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;
         }
+        .totalQuantity {
+        font-family: Source Han Sans CN, Source Han Sans CN;
+                    font-weight: bold;
+                    font-size: 20px;
+        }
+         .areaStyle {
+                    font-family: Source Han Sans CN, Source Han Sans CN;
+                    font-weight: bold;
+                    font-size: 20px;
+                    color: #FFFFFF;
+                
+                }
       }
       .itemData {
         width: 50%;
+
       }
     }
   }

--
Gitblit v1.9.3