From 4f70d0f5ecf9d78db053c5dd2f96b79f31189c60 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Tue, 02 Sep 2025 11:15:43 +0800
Subject: [PATCH] feat:取消

---
 src/views/resource/components/spotDetails.vue |   56 ++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 34 insertions(+), 22 deletions(-)

diff --git a/src/views/resource/components/spotDetails.vue b/src/views/resource/components/spotDetails.vue
index bc2d166..16c8ba5 100644
--- a/src/views/resource/components/spotDetails.vue
+++ b/src/views/resource/components/spotDetails.vue
@@ -143,6 +143,9 @@
 let tbJwdList = [];
 let total = ref(0);
 const refreshonload = inject('searchReset');
+const initialFileName = ref(''); 
+const initialSpotTypeId = ref(''); 
+const initialSpotTypeLabel = ref('');
 // 当前选中的图斑面数据
 let nowSelectObj = ref({});
 // 记录上一次点击高亮
@@ -156,6 +159,7 @@
 const selectionList = ref([]);
 // 当前在编辑状态的异常图斑
 let curCustomPolygon = null;
+
 // 表格隔行变色
 const tableRowClassName = ({ rowIndex }) => {
   return rowIndex % 2 === 1 ? 'oddNumberRow' : 'even-row';
@@ -198,33 +202,27 @@
   return option ? option.label : '';
 };
 const updateInfoList = detailData => {
+  
+  if (detailData && (initialFileName.value === '' || initialSpotTypeId.value === '')) {
+    initialFileName.value = detailData.file_name || ''; 
+    initialSpotTypeId.value = detailData.lot_type_id || '';
+    initialSpotTypeLabel.value = detailData.patches_type_desc 
+      ? detailData.patches_type_desc 
+      : getPatchTypeLabel(detailData.lot_type_id); 
+  }
+
   infoList.value = infoList.value.map(item => {
     let value = detailData[item.field] !== undefined ? detailData[item.field] : item.value;
-    // 处理图斑类型字段
+
     if (item.name === '图斑类型') {
-      // 如果有 patches_type_desc,显示它(但存储的是 lot_type_id)
       if (detailData.patches_type_desc !== undefined) {
-        return {
-          ...item,
-          value: detailData.patches_type_desc,
-          // 保留原始 lot_type_id 用于提交
-          originalValue: detailData.lot_type_id,
-        };
-      }
-      // 否则根据 lot_type_id 查找对应的 label
-      else if (detailData.lot_type_id !== undefined) {
-        return {
-          ...item,
-          value: getPatchTypeLabel(detailData.lot_type_id),
-          originalValue: detailData.lot_type_id,
-        };
+        return { ...item, value: detailData.patches_type_desc, originalValue: detailData.lot_type_id };
+      } else if (detailData.lot_type_id !== undefined) {
+        return { ...item, value: getPatchTypeLabel(detailData.lot_type_id), originalValue: detailData.lot_type_id };
       }
     }
 
-    return {
-      ...item,
-      value: value,
-    };
+    return { ...item, value: value };
   });
 };
 const params = ref({
@@ -444,7 +442,7 @@
   });
 };
 
-// 完成
+// 保存
 const handleSave = () => {
   const fileNameItem = infoList.value.find(item => item.name === '文件名称');
   const patchTypeItem = infoList.value.find(item => item.name === '图斑类型');
@@ -461,7 +459,21 @@
   });
 };
 // 取消
-const handleCancel = () => {};
+const handleCancel = () => {
+  const fileNameItem = infoList.value.find(item => item.name === '文件名称');
+  const spotTypeItem = infoList.value.find(item => item.name === '图斑类型');
+  
+  if (fileNameItem) {
+    fileNameItem.value = initialFileName.value; 
+  }
+  if (spotTypeItem) {
+    spotTypeItem.value = initialSpotTypeLabel.value; 
+    spotTypeItem.originalValue = initialSpotTypeId.value; 
+  }
+  clearSelect(); 
+  isDrawPolygon.value = false; // 关闭地图绘制状态
+  uploadPatchDialog.value = false;
+};
 provide('selectionIds', selectionIds);
 provide('homeViewer', homeViewer);
 provide('viewInstance', viewInstance);

--
Gitblit v1.9.3