From 66032f62b4a3b6a649fc02b392ae41278399b58b Mon Sep 17 00:00:00 2001
From: wangjuncheng <1>
Date: 星期二, 08 七月 2025 15:23:19 +0800
Subject: [PATCH] 添加打印加坝数据代码, 但调用被注释

---
 src/views/left/KGSimOption/RealTimeSimulation.vue |   97 ++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 80 insertions(+), 17 deletions(-)

diff --git a/src/views/left/KGSimOption/RealTimeSimulation.vue b/src/views/left/KGSimOption/RealTimeSimulation.vue
index 7db609f..288a377 100644
--- a/src/views/left/KGSimOption/RealTimeSimulation.vue
+++ b/src/views/left/KGSimOption/RealTimeSimulation.vue
@@ -210,6 +210,8 @@
     updateSelectedGauges();
     formData.geom = props.selectedArea;
     await simAPIStore.addSimCheme(formData);
+    // 鎵撳嵃鎷︽尅鍧濇墍闇�瑕佺殑鏁版嵁
+    // printDamEntities();
     resetForm();
     EventBus.emit("close-selectArea");
   } catch (err) {}
@@ -223,13 +225,12 @@
 // 鐢ㄤ簬璁板綍涓婃鏁版嵁鏉℃暟
 let lastDataLength = 0;
 
-async function startPlay() {
-  // 寮�濮嬫ā鎷熷墠闇�瑕佸厛淇濆瓨鏂规
-  updateSelectedGauges();
+let pollingTimer = null; // 鐢ㄤ簬淇濆瓨瀹氭椂鍣ㄥ紩鐢�
 
+async function startPlay() {
+  updateSelectedGauges();
   formData.geom = props.selectedArea;
 
-  // 淇濆瓨鏂规
   const resApi = await simAPIStore.addSimCheme(formData);
   const schemeId = resApi.data?.data?.id;
 
@@ -240,7 +241,6 @@
 
   EventBus.emit("close-selectArea");
 
-  // 鏄剧ず鍔犺浇涓彁绀�
   const loadingMessage = ElMessage({
     type: "info",
     message: "姝e湪鍚姩妯℃嫙...",
@@ -249,31 +249,48 @@
   });
 
   try {
-    // 鍚姩妯℃嫙
     await getSimStart(schemeId);
 
-    // 棣栨璇锋眰寤惰繜 90s
-    setTimeout(async () => {
+    // 瀹氫箟涓�涓嚱鏁扮敤浜庤疆璇㈣幏鍙栨暟鎹�
+    const pollForResult = async () => {
       try {
         const res = await getSimresult(schemeId);
-        console.log(res.data, "瀹炴椂妯℃嫙 - 鍒濆缁撴灉");
+        console.log(res.data, "瀹炴椂妯℃嫙 - 杞缁撴灉");
 
-        if (res.data.length > 0) {
+        if (res.code === 200 && res.data.length > 0) {
+          // 鎴愬姛鎷垮埌鏁版嵁
+          loadingMessage.close();
           handleNewData(res.data, schemeId);
-        }
+          startPolling(schemeId);
 
-        // 鏄剧ず缁撴灉骞跺紑濮嬭疆璇�
-        loadingMessage.close();
-        startPolling(schemeId);
+          // 鉁� 娓呴櫎瀹氭椂鍣�
+          if (pollingTimer) {
+            clearTimeout(pollingTimer);
+            pollingTimer = null;
+          }
+        } else {
+          // 鏁版嵁鏃犳晥锛岀户缁疆璇�
+          pollingTimer = setTimeout(pollForResult, 10 * 1000);
+        }
       } catch (error) {
-        console.error("棣栨璇锋眰妯℃嫙缁撴灉澶辫触", error);
-        loadingMessage.close();
+        console.error("璇锋眰妯℃嫙缁撴灉澶辫触", error);
+        pollingTimer = setTimeout(pollForResult, 10 * 1000); // 璇锋眰鍑洪敊涔熺户缁疆璇�
       }
-    }, 3 * 60 * 1000); // 1.5 鍒嗛挓鍚庣涓�娆¤姹�
+    };
+
+    // 棣栨寤惰繜 2 鍒嗛挓寮�濮嬭疆璇�
+    pollingTimer = setTimeout(async () => {
+      await pollForResult(); // 寮�濮嬬涓�娆¤疆璇�
+    }, 3 * 60 * 1000); // 3鍒嗛挓鍚庣涓�娆¤姹�
   } catch (error) {
     loadingMessage.close();
     ElMessage.error("璇锋眰澶辫触锛�" + (error.message || "鏈煡閿欒"));
     console.error("璋冪敤 getSimStart 鍑洪敊锛�", error);
+
+    if (pollingTimer) {
+      clearTimeout(pollingTimer);
+      pollingTimer = null;
+    }
   }
 }
 
@@ -389,6 +406,52 @@
   EventBus.off("close-time");
   stopPolling();
 });
+// ========================================鎷︽尅鍧�===============================================================
+// 鑾峰彇鎷︽尅鍧濇暟鎹�
+function printDamEntities() {
+  const entities = viewer.entities.values;
+  const damDataList = [];
+
+  for (let i = 0; i < entities.length; i++) {
+    const entity = entities[i];
+
+    if (entity.name && (entity.name === '鏍忔。鍧�1' || entity.name === '鏍忔。鍧�2')) {
+      damDataList.push({
+        name: entity.name,
+        position: entity.position?._value,
+        heading: entity.heading?._value ?? entity.heading,
+        pitch: entity.pitch?._value ?? entity.pitch,
+        roll: entity.roll?._value ?? entity.roll,
+        modelScale: entity.model?.scale?._value ?? entity.model?.scale
+      });
+    }
+  }
+  if (damDataList.length > 0) {
+    console.log("銆愭爮妗e潩瀹炰綋鏁版嵁鍒楄〃銆戯細", damDataList);
+    deleteDamEntitiesAfterDelay();
+  } else {
+    console.log("鏈壘鍒颁换浣曞悕涓� '鏍忔。鍧�1' 鎴� '鏍忔。鍧�2' 鐨勫疄浣�");
+  }
+}
+// 淇濆瓨鏂规鍚庡畾鏃舵竻闄ゆ柊寤虹殑鎷︽尅鍧濇暟鎹�
+function deleteDamEntitiesAfterDelay() {
+  setTimeout(() => {
+    const entities = Array.from(viewer.entities.values);
+    const damsToDelete = entities.filter(
+      entity => entity.name === '鏍忔。鍧�1' || entity.name === '鏍忔。鍧�2'
+    );
+
+    damsToDelete.forEach(entity => {
+      viewer.entities.remove(entity);
+    });
+
+    if (damsToDelete.length > 0) {
+      console.log(`銆愬凡鍒犻櫎銆戝叡 ${damsToDelete.length} 涓爮妗e潩瀹炰綋`);
+    } else {
+      console.log("鏈壘鍒颁换浣曞彲鍒犻櫎鐨勬爮妗e潩瀹炰綋");
+    }
+  }, 5000);
+}
 </script>
 
 <style scoped>

--
Gitblit v1.9.3