From 79561d10cf84f56fc53090cfb93436e56fb52745 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Fri, 31 Oct 2025 15:55:48 +0800
Subject: [PATCH] feat:修复

---
 src/views/layerManagement/components/rightEdit.vue |   87 ++++++++++++++++++-------------------------
 1 files changed, 36 insertions(+), 51 deletions(-)

diff --git a/src/views/layerManagement/components/rightEdit.vue b/src/views/layerManagement/components/rightEdit.vue
index b1f21d9..074f356 100644
--- a/src/views/layerManagement/components/rightEdit.vue
+++ b/src/views/layerManagement/components/rightEdit.vue
@@ -25,7 +25,12 @@
       <div class="itemRow">
         <div class="label">{{ layerParams.fenceType === 1 ? '围栏' : '禁飞区' }}名称</div>
         <div>
-          <el-input   :disabled="isDisabled" class="ztzf-input inputName" v-model="formData.name" placeholder="请输入" />
+          <el-input
+            :disabled="isDisabled"
+            class="ztzf-input inputName"
+            v-model="formData.name"
+            placeholder="请输入"
+          />
         </div>
       </div>
       <div class="itemRow" v-if="layerParams.fenceType === 2">
@@ -47,7 +52,13 @@
       <div class="itemRow">
         <div class="label">{{ layerParams.fenceType === 1 ? '围栏' : '禁飞区' }}备注</div>
         <div>
-          <el-input   :disabled="isDisabled" v-model="formData.description" :rows="5" type="textarea" placeholder="请输入" />
+          <el-input
+            :disabled="isDisabled"
+            v-model="formData.description"
+            :rows="5"
+            type="textarea"
+            placeholder="请输入"
+          />
         </div>
       </div>
     </div>
@@ -67,7 +78,7 @@
         </div>
       </div>
       <div class="infpItem" v-if="layerParams.fenceType === 2">
-        <div class="itemData" v-if="layerParams.editNest  && layerParams.fenceType === 2">
+        <div class="itemData" v-if="layerParams.editNest && layerParams.fenceType === 2">
           <div class="title">禁飞区面积</div>
           <div class="num">
             <span class="areaStyle">{{ fenceArea }}</span> m²
@@ -78,11 +89,12 @@
           <div class="num noFly">
             <span
               ><el-input
-              :disabled="isDisabled"
+                :disabled="isDisabled"
                 class="ztzf-input inputName"
                 v-model="formData.altitude"
-                placeholder="请输入" /></span
-            > 米
+                placeholder="请输入"
+            /></span>
+            米
           </div>
         </div>
       </div>
@@ -100,14 +112,13 @@
           </div>
         </div>
       </div>
-        <div class="infpItem" v-if="layerParams.editNest && layerParams.fenceType === 1">
+      <div class="infpItem" v-if="layerParams.editNest && layerParams.fenceType === 1">
         <div class="itemData">
           <div class="title">创建时间</div>
           <div class="num">
             <span>{{ formData?.create_time }}</span>
           </div>
         </div>
-      
       </div>
     </div>
     <div class="btnGroups">
@@ -148,14 +159,6 @@
 });
 
 watch(
-  () => layerParams.value.editingIsProhibited,
-  newVal => {
-   console.log('newVal',newVal);
-   
-  },
-  { immediate: true }
-);
-watch(
   () => layerParams.value.fenceArea,
   newArea => {
     if (newArea !== undefined && newArea !== null) {
@@ -168,8 +171,8 @@
 // 监听editDetailData的变化
 watch(
   () => layerParams.value.editDetailData,
-  (newVal) => {
-    if (newVal) {
+  newVal => {
+    if (newVal && layerParams.value.editingIsProhibited) {
       // 当editDetailData有值时,填充表单
       formData.value = {
         ...formData.value,
@@ -185,7 +188,7 @@
         create_name: newVal.create_name || '',
         create_time: newVal.create_time ? dayjs(newVal.create_time).format('YYYY年MM月DD日') : '',
       };
-      
+
       // 处理文件夹选择
       if (newVal.folder_id && options.value.length > 0) {
         const matchedFolder = options.value.find(item => item.value === String(newVal.folder_id));
@@ -193,7 +196,7 @@
           formData.value.folder_id = matchedFolder.value;
         }
       }
-      
+
       // 处理时间选择
       if (newVal.control_start_time && newVal.control_end_time) {
         timeValue.value = [
@@ -201,21 +204,6 @@
           dayjs(newVal.control_end_time).toDate(),
         ];
       }
-    } else {
-      // 当editDetailData为null时,重置表单
-      formData.value = {
-        folder_id: '',
-        name: '',
-        description: '',
-        is_enabled: false,
-        area: '',
-        altitude: '',
-        control_start_time: '',
-        control_end_time: '',
-        geo_data: '',
-        altitude: '',
-      };
-      timeValue.value = '';
     }
   },
   { immediate: true, deep: true }
@@ -274,7 +262,7 @@
     is_enabled: true,
     area: formData.value.area,
     altitude: formData.value.altitude,
-    geo_data: layerParams.value.polygonPosition,
+    geo_data: layerParams.value.polygonPosition || formData.value.geo_data,
     control_start_time: formData.value.control_start_time,
     control_end_time: formData.value.control_end_time,
   };
@@ -286,22 +274,19 @@
     //围栏新增
     addFenceApi(params).then(res => {
       ElMessage.success('新增成功');
-        EventBus.emit('gettreeDataApi');
-         clearAllData();
-  emit('callParentMethod');
+      EventBus.emit('gettreeDataApi');
+      clearAllData();
+      emit('callParentMethod');
     });
   } else if (layerParams.value.decideWhetherToAddOrEdit === 2) {
     //围栏编辑
     deitFenceApi(params).then(res => {
       ElMessage.success('编辑成功');
-        EventBus.emit('gettreeDataApi');
-         clearAllData();
-  emit('callParentMethod');
+      EventBus.emit('gettreeDataApi');
+      clearAllData();
+      emit('callParentMethod');
     });
   }
-
- 
-
 };
 onMounted(() => {
   // 获取判断状态(默认设为 1)
@@ -387,7 +372,7 @@
       font-family: Source Han Sans CN, Source Han Sans CN;
       font-weight: 400;
       font-size: 14px;
-     color: #DFDFDF;
+      color: #dfdfdf;
       margin-bottom: 23px;
       .num {
         span {
@@ -397,11 +382,11 @@
           color: #ffffff;
         }
         .areaStyle {
-        font-family: Source Han Sans CN, Source Han Sans CN;
-        font-weight: bold;
-        font-size: 20px;
-        color: #FFFFFF;
-                }
+          font-family: Source Han Sans CN, Source Han Sans CN;
+          font-weight: bold;
+          font-size: 20px;
+          color: #ffffff;
+        }
       }
       .noFly {
         display: flex;

--
Gitblit v1.9.3