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