From c0b4517e7362144cc1683ee0bf0b7e00b67d539a Mon Sep 17 00:00:00 2001
From: guonan <guonan201020@163.com>
Date: 星期二, 24 六月 2025 18:01:08 +0800
Subject: [PATCH] 提交初版实时模拟

---
 src/components/monifangzhen/schemeCard.vue |  104 +++++++++++++++++++++++++++-------------------------
 1 files changed, 54 insertions(+), 50 deletions(-)

diff --git a/src/components/monifangzhen/schemeCard.vue b/src/components/monifangzhen/schemeCard.vue
index 2888c7d..a25acd1 100644
--- a/src/components/monifangzhen/schemeCard.vue
+++ b/src/components/monifangzhen/schemeCard.vue
@@ -16,10 +16,6 @@
           <span style="color: aquamarine">
             {{ item.result === "-1" ? "鍑洪敊" : item.result || "鍒涘缓浠跨湡" }}
           </span>
-          <!-- <span style="color: aquamarine">{{ item.result || "鍒涘缓浠跨湡" }}</span> -->
-          <!-- <span style="color: aquamarine">{{
-            statusText[item.status] || "鏈煡"
-          }}</span> -->
         </p>
       </div>
       <div class="cardMenu">
@@ -37,10 +33,7 @@
       :selectedScheme="currentScheme"
       @back="handleBack"
     />
-    <flowRateTab
-    v-if="schemeInfoShow">
-      123
-    </flowRateTab>
+    <flowRateTab v-if="schemeInfoShow"> 123 </flowRateTab>
   </div>
   <Message
     @close="close"
@@ -81,13 +74,6 @@
   selectedId.value = id;
 }
 
-const statusText = {
-  0: "鍒涘缓浠跨湡",
-  1: "棰勫鐞�",
-  2: "鍒嗘瀽涓�",
-  10: "瀹屾垚",
-  20: "鍑洪敊",
-};
 
 function formatTime(time) {
   return dayjs(time).format("YYYY-MM-DD HH:mm:ss");
@@ -108,62 +94,80 @@
   messageShow.value = false;
 }
 
-function startPlay(item) {
-  // 鍒嗘瀽涓�
-  if (item.status == 2) {
+async function startPlay(item) {
+  if (item.status === 2) {
     ElMessage.warning("褰撳墠鏂规姝e湪鍒嗘瀽涓�,鏃犳硶杩涘叆妯℃嫙锛�");
     return;
   }
-  // 鍑洪敊
-  if (item.status == 20) {
+
+  if (item.status === 20) {
     ElMessage.error("褰撳墠鏂规鍒嗘瀽鍑洪敊,璇烽噸鏂版柊寤烘柟妗堬紒");
     return;
   }
-  // 璋冪敤姹傝В鍣ㄥ苟鎷垮埌鏈�鏂扮敓鎴愮殑serviceName
-  // 鏂板垱寤虹殑鏂规娌℃湁鐘舵�佷互鍙妔erviceName鍒欐墽琛岃皟鐢ㄦ眰瑙e櫒
-  if (!item.status && !item.serviceName) {
-    getSimStart(item.id).then((res) => {
-      getSimDataById(item.id).then((res) => {
-        item.serviceName = res.data[0].serviceName;
-        simStore.setSelectedScheme(item);
-        console.log(item, "鏃犳湇鍔″悕绉�");
-        ElMessage.warning("褰撳墠鏂规姝e湪鍒嗘瀽涓�,璇风◢鍚庡啀妯℃嫙");
-        getScheme();
-      });
-    });
-  } else {
+
+  // 濡傛灉鏄凡瀹屾垚鐨勬柟妗堬紙status == 10锛�
+  if (item.status === 10) {
+    const flyHeight = item.areaType === 1 ? 100000 : 50000;
     simStore.setSelectedScheme(item);
-    console.log("鏈夋湇鍔″悕绉�");
-  }
 
-  const flyHeight = ref(100000);
-
-  const shouldShowFill = false;
-
-  // 姹傝В鍣ㄦ眰瑙e畬鎴愪箣鍚庢墠鍙互鏄剧ず鏃堕棿杞�
-  if (item.status == 10) {
-    // 鍙湁琛屾斂鍖哄垝鎵ц
-    if (item.areaType == 1) {
-      flyHeight.value = 100000;
+    if (item.areaType === 1) {
       EventBus.emit("select-geom", {
         geom: item.geom,
-        flyHeight: flyHeight.value,
-        shouldShowFill: shouldShowFill,
+        flyHeight,
+        shouldShowFill: false,
       });
     } else {
-      // 瀛欒儭娌熷尯鍩熻烦杞瑙�
       initeWaterPrimitiveView();
     }
+
     currentScheme.value = item;
     schemeInfoShow.value = true;
     emit("closeBtn", false);
     emit("start");
+    return;
   }
+
+  // 璋冪敤姹傝В鍣紙涓嶅湪瀹炴椂妯℃嫙鐨勬儏鍐典笅锛�
+  if (!item.status && !item.serviceName && item.type !== 2) {
+    try {
+      await getSimStart(item.id);
+      const res = await getSimDataById(item.id);
+
+      item.serviceName = res.data[0]?.serviceName || null;
+      simStore.setSelectedScheme(item);
+      ElMessage.warning("褰撳墠鏂规姝e湪鍒嗘瀽涓�,璇风◢鍚庡啀妯℃嫙");
+      getScheme();
+    } catch (e) {
+      console.error("鑾峰彇妯℃嫙鏁版嵁澶辫触锛�", e);
+    }
+    return;
+  }
+
+  // 瀹炴椂妯℃嫙
+  if (item.type === 2) {
+    try {
+      // 瀹炴椂妯℃嫙璋冪敤姹傝В鍣ㄤ細鐩存帴鍦ㄦ帴鍙d腑杩斿洖缁撴灉
+      const ress = await getSimStart(item.id);
+      const res = await getSimDataById(item.id);
+      item.serviceName = res.data[0]?.serviceName || null;
+      simStore.setSelectedScheme(item);
+      getScheme();
+
+      if (ress.code === 200) {
+        initeWaterPrimitiveView();
+        emit("start");
+      }
+    } catch (e) {
+      console.error("瀹炴椂妯℃嫙鑾峰彇妯℃嫙鏁版嵁澶辫触锛�", e);
+    }
+    return;
+  }
+
+  // 榛樿鎯呭喌锛氭湁鏈嶅姟鍚嶇О
+  simStore.setSelectedScheme(item);
 }
 
-function endPlay() {
-  emit("end");
-}
+
 
 function handleBack(value) {
   if (value === false) {

--
Gitblit v1.9.3