From 342e93ab9e770f58f783cc40847ec6acf3750235 Mon Sep 17 00:00:00 2001
From: wangjuncheng <1>
Date: 星期二, 29 四月 2025 16:19:47 +0800
Subject: [PATCH] change

---
 src/store/simulation.js                    |   49 ++++++++++++++++++++++++++++++-------------------
 src/components/menu/TimeLine.vue           |    8 ++++++++
 src/components/monifangzhen/schemeCard.vue |    2 ++
 3 files changed, 40 insertions(+), 19 deletions(-)

diff --git a/src/components/menu/TimeLine.vue b/src/components/menu/TimeLine.vue
index 7f096ab..00a8b55 100644
--- a/src/components/menu/TimeLine.vue
+++ b/src/components/menu/TimeLine.vue
@@ -92,6 +92,10 @@
 import { fetchWaterSimulationData } from "@/api/trApi.js";
 import { EventBus } from "@/eventBus";
 import { ElMessage } from "element-plus";
+import { useSimStore } from '@/store/simulation'
+import { storeToRefs } from 'pinia' 
+const simStore = useSimStore()
+const { selectedScheme } = storeToRefs(simStore)
 
 const emit = defineEmits(["timeUpdate", "isPlaying", "playbackFinished"]);
 
@@ -147,7 +151,10 @@
     startPlayback();
     if (!isWaterPrimitiveCreated.value) {
       // 绗竴娆℃挱鏀炬椂鍒涘缓姘翠綋妯℃嫙灞�
+      console.log(selectedScheme.value,'杩欓噷鏄綋鍓嶆柟妗堢殑鍏ㄩ儴淇℃伅');
+      
       createWaterPrimitive({ interval: intervalMap[playbackRate.value] });
+      
       isWaterPrimitiveCreated.value = true; // 鏍囪涓哄凡鍒涘缓
     } else {
       // 鍚庣画鎾斁鏃惰皟鐢ㄦ仮澶嶆帴鍙�
@@ -270,6 +277,7 @@
 }
 
 watch(
+  () => selectedScheme.value,
   () => currentTime.value,
   () => {
     if (waterTimestamps.value.length > 0) {
diff --git a/src/components/monifangzhen/schemeCard.vue b/src/components/monifangzhen/schemeCard.vue
index a69da73..427bb00 100644
--- a/src/components/monifangzhen/schemeCard.vue
+++ b/src/components/monifangzhen/schemeCard.vue
@@ -73,6 +73,8 @@
   //   alert("褰撳墠鏂规灏氭湭瀹屾垚锛屾棤娉曡繘鍏ユā鎷燂紒");
   //   return;
   // }
+  simStore.setSelectedScheme(item)
+
   currentScheme.value = item;
   schemeInfoShow.value = true;
   emit("closeBtn", false);
diff --git a/src/store/simulation.js b/src/store/simulation.js
index 5007810..751e1f7 100644
--- a/src/store/simulation.js
+++ b/src/store/simulation.js
@@ -1,10 +1,10 @@
 // stores/ui.js
 import { defineStore } from 'pinia'
 import { ref } from 'vue'
-import { createSimData } from '@/api/trApi';
+import { createSimData } from '@/api/trApi'
 
 export const useSimStore = defineStore('simulation', () => {
-    // 鎵�鏈塙I鐘舵��
+    // 鎵�鏈塙I鐘舵��...
     const navigationShow = ref(true)
     const leftShow = ref(false)
     const rightShow = ref(false)
@@ -26,8 +26,14 @@
     const showDangerAssess = ref(false)
     const schemCard = ref([])
     const backToHome = ref(false)
+    const selectedScheme = ref(null)
+    const setSelectedScheme = (scheme) => {
+        selectedScheme.value = scheme
+    }
+    const clearSelectedScheme = () => {
+        selectedScheme.value = null
+    }
 
-    // 鍒濆鍖栨柟娉�
     const init = () => {
         navigationShow.value = true
         leftShow.value = false
@@ -48,29 +54,24 @@
         schemCard.value = []
     }
 
-    // 鏂规鐩稿叧
     const setSchemCard = (data) => {
         schemCard.value = data
     }
 
-    // 娣诲姞鍗曚釜鏂规鏁版嵁
     const addSchemCard = (item) => {
         schemCard.value.unshift(item)
     }
 
-    // 鍒犻櫎鎸囧畾鏂规鏁版嵁
     const removeSchemCardItem = (id) => {
         schemCard.value = schemCard.value.filter(item => item.id !== id)
     }
 
-    // 鏇存柊鎸囧畾鏂规鏁版嵁
     const updateSchemCardItem = (id, newData) => {
         const index = schemCard.value.findIndex(item => item.id === id)
         if (index !== -1) {
             schemCard.value[index] = { ...schemCard.value[index], ...newData }
         }
     }
-
 
     const startYHGL = () => {
         init()
@@ -94,9 +95,11 @@
         // showResultAssess.value = true
         // showDangerAssess.value = true
     }
+
     const setBackToHome = (value) => {
-        backToHome.value = value;
-    };
+        backToHome.value = value
+    }
+
     // 瀵艰埅鐐瑰嚮
     const handleNavClick = (index) => {
         switch (index) {
@@ -114,7 +117,9 @@
                 break
         }
     }
+
     return {
+        // UI 鐘舵��
         navigationShow,
         leftShow,
         rightShow,
@@ -135,20 +140,26 @@
         showLayerTree,
         showDangerAssess,
         schemCard,
-        // selectTab,
         backToHome,
-        handleNavClick,
+
+        // 鏂规鐩稿叧鏂规硶
+        setSchemCard,
+        addSchemCard,
+        removeSchemCardItem,
+        updateSchemCardItem,
+        setBackToHome,
+
+        // 鉁� 鏆撮湶 selectedScheme 鍙婂叾鏂规硶
+        selectedScheme,          // 鍝嶅簲寮忓紩鐢�
+        setSelectedScheme,      // 鏂规硶
+        clearSelectedScheme,    // 鏂规硶
+
+        // 鎺у埗閫昏緫
         init,
         startYHGL,
         startZHJC,
         startMNFZ,
         startMNPG,
-        setSchemCard,
-        addSchemCard,
-        removeSchemCardItem,
-        updateSchemCardItem,
-        // handleClickTab,
-        // createSimulation,
-        setBackToHome
+        handleNavClick,
     }
 })
\ No newline at end of file

--
Gitblit v1.9.3