From 01c045e6ebc486e2a050b1739fad075b7f424254 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期一, 18 五月 2026 14:47:50 +0800
Subject: [PATCH] 优化设备保养:在新增和编辑保养计划时,清除本地存储中的repairId,确保数据一致性。

---
 src/pages/equipmentManagement/upkeep/add.vue |   31 +++++++++++++++++++------------
 1 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/src/pages/equipmentManagement/upkeep/add.vue b/src/pages/equipmentManagement/upkeep/add.vue
index db60a0a..ff5339b 100644
--- a/src/pages/equipmentManagement/upkeep/add.vue
+++ b/src/pages/equipmentManagement/upkeep/add.vue
@@ -85,7 +85,7 @@
 
 <script setup>
 import { ref, computed, onMounted, onUnmounted } from 'vue';
-import { onShow } from '@dcloudio/uni-app';
+import { onShow, onUnload } from '@dcloudio/uni-app';
 import PageHeader from '@/components/PageHeader.vue';
 import { getDeviceLedger } from '@/api/equipmentManagement/ledger';
 import { addUpkeep, editUpkeep, getUpkeepById } from '@/api/equipmentManagement/upkeep';
@@ -104,6 +104,13 @@
     icon: 'none'
   })
 }
+
+const normalizeId = (raw) => {
+	if (raw === null || raw === undefined) return undefined;
+	const val = String(raw).trim();
+	if (!val || val === 'undefined' || val === 'null') return undefined;
+	return val;
+};
 
 // 琛ㄥ崟寮曠敤
 const formRef = ref(null);
@@ -312,6 +319,7 @@
 		if (code == 200) {
 			showToast(`${id ? "缂栬緫" : "鏂板"}璁″垝鎴愬姛`);
 			setTimeout(() => {
+				uni.removeStorageSync('repairId');
 				uni.navigateBack();
 			}, 1500);
 		} else {
@@ -330,26 +338,25 @@
 	uni.navigateBack();
 };
 
+// 鑾峰彇椤甸潰ID
+const getPageId = () => {
+	return normalizeId(uni.getStorageSync('repairId'));
+};
+
 // 鑾峰彇椤甸潰鍙傛暟
 const getPageParams = () => {
-	// 浠庢湰鍦板瓨鍌ㄨ幏鍙杋d
-	const id = uni.getStorageSync('repairId');
-	
-	// 鏍规嵁鏄惁鏈塱d鍙傛暟鏉ュ垽鏂槸鏂板杩樻槸缂栬緫
+	const id = getPageId();
 	if (id) {
-		// 缂栬緫妯″紡锛岃幏鍙栬鎯�
 		loadForm(id);
 	} else {
-		// 鏂板妯″紡
+		operationType.value = 'add';
 		loadForm();
 	}
 };
 
-// 鑾峰彇椤甸潰ID
-const getPageId = () => {
-	// 浠庢湰鍦板瓨鍌ㄨ幏鍙杋d
-	return uni.getStorageSync('repairId');
-};
+onUnload(() => {
+	uni.removeStorageSync('repairId');
+});
 </script>
 
 <style scoped lang="scss">

--
Gitblit v1.9.3