From cf55e57ac8e892c321cc9eeb79e14b39e7d80e82 Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Fri, 28 Nov 2025 16:34:19 +0800
Subject: [PATCH] Merge branch 'feature/v8.0/8.0.3' into prod

---
 src/views/layerManagement/components/rightEdit.vue |   80 ++++++++++++++++++++++++++++++----------
 1 files changed, 60 insertions(+), 20 deletions(-)

diff --git a/src/views/layerManagement/components/rightEdit.vue b/src/views/layerManagement/components/rightEdit.vue
index 9e9dee6..5692638 100644
--- a/src/views/layerManagement/components/rightEdit.vue
+++ b/src/views/layerManagement/components/rightEdit.vue
@@ -1,5 +1,5 @@
 <template>
-  <div class="rightContainer">
+  <div class="rightContainer"  >
     <div class="contenttitle">{{ layerParams.fenceType === 1 ? '识别区' : '禁飞区' }}信息</div>
     <div class="centerBox">
       <div class="itemRow">
@@ -122,8 +122,10 @@
       </div>
     </div>
     <div class="btnGroups">
-      <img src="/src/assets/images/layerManagement/savebtn.svg" alt="" @click="submitHandle" />
-      <img src="/src/assets/images/layerManagement/cancelbtn.svg" @click="cancelHandel" alt="" />
+      <img v-if="!layerParams.editingIsProhibited" src="/src/assets/images/layerManagement/savebtn.svg" alt="" @click="submitHandle" />
+     <img v-if="layerParams.editingIsProhibited" src="/src/assets/images/layerManagement/closeBtn.svg" @click="cancelHandel" alt="" />
+      <img v-else src="/src/assets/images/layerManagement/cancelbtn.svg" @click="cancelHandel" alt="" />
+      
     </div>
   </div>
 </template>
@@ -133,7 +135,7 @@
 import dayjs from 'dayjs';
 import { deitFenceApi, addFenceApi } from '@/api/layer/index';
 import EventBus from '@/utils/eventBus';
-const emit = defineEmits(['callParentMethod']);
+const emit = defineEmits(['callParentMethod','update:loading']);
 const layerParams = inject('layerParams');
 const options = ref([]);
 const timeValue = ref('');
@@ -150,6 +152,7 @@
   geo_data: '',
 
 });
+const loading = ref(false);
 const detailData = ref(null);
 const fenceArea = ref(0);
 detailData.value = layerParams.value.editDetailData;
@@ -237,11 +240,16 @@
   layerParams.value.editingIsProhibited = false;
 };
 const cancelHandel = () => {
+loading.value = false
+ emit('update:loading', false); 
   clearAllData();
   emit('callParentMethod');
   EventBus.emit('gettreeDataApi');
 };
 const submitHandle = () => {
+if(layerParams.value.crossSurface){
+  return ElMessage.warning('测区不支持交叉面')
+}
   if (!formData.value.folder_id) {
     ElMessage.error('请选择文件夹');
     return;
@@ -258,6 +266,8 @@
     ElMessage.error('请绘制区域');
     return;
   }
+  loading.value = true
+  emit('update:loading', true);
   const params = {
     folder_id: formData.value.folder_id,
     name: formData.value.name,
@@ -277,22 +287,45 @@
   }
   if (layerParams.value.decideWhetherToAddOrEdit === 1) {
     //围栏新增
-    addFenceApi(params).then(res => {
-      ElMessage.success('新增成功');
-      EventBus.emit('gettreeDataApi');
-      clearAllData();
-      emit('callParentMethod');
-    });
+    addFenceApi(params)
+      .then(res => {
+       if(res.data.code ===0 ){
+          ElMessage.success('新增成功');
+          EventBus.emit('gettreeDataApi');
+          loading.value = false;
+          emit('update:loading', false);
+          clearAllData();
+          emit('callParentMethod');
+ }
+      })
+      .catch(err => {
+        ElMessage.error('新增失败,请重试');
+      })
+      .finally(() => {
+        loading.value = false;
+         emit('update:loading', false);
+      });
   } else if (layerParams.value.decideWhetherToAddOrEdit === 2) {
     //围栏编辑
-    deitFenceApi(params).then(res => {
-      ElMessage.success('编辑成功');
-      EventBus.emit('gettreeDataApi');
-
-      clearAllData();
-      emit('callParentMethod');
-    });
-  }
+      deitFenceApi(params)
+      .then(res => {
+      if(res.data.code === 0){
+        ElMessage.success('编辑成功');
+        EventBus.emit('gettreeDataApi');
+        clearAllData();
+        emit('callParentMethod');
+        loading.value = false;
+         emit('update:loading', false);
+      }      
+      })
+      .catch(err => {
+        ElMessage.error('编辑失败,请重试');
+      })
+      .finally(() => {
+        loading.value = false;
+         emit('update:loading', false);
+      });
+        }
 };
 onMounted(() => {
   // 获取判断状态(默认设为 1)
@@ -344,11 +377,17 @@
   backdrop-filter: blur(4px);
   border-radius: 8px 8px 8px 8px;
   padding: 16px 12px;
-
+:deep(.el-select__wrapper.is-disabled .el-select__selected-item){
+color: rgba(255,255,255,0.37) !important;
+}
   :deep(.el-textarea__inner) {
     background: transparent !important;
-    color: #ffffff !important;
+    color: #ffffff;
   }
+  :deep(.el-textarea.is-disabled .el-textarea__inner){
+    color: var(--el-disabled-text-color) !important;
+ 
+}
   .contenttitle {
     font-family: Source Han Sans CN, Source Han Sans CN;
     font-weight: bold;
@@ -420,6 +459,7 @@
       height: 39px;
       cursor: pointer;
     }
+
   }
 }
 </style>

--
Gitblit v1.9.3