From f1fbe8049ba01186f033037e6ae36d51915c7418 Mon Sep 17 00:00:00 2001
From: guonan <guonan201020@163.com>
Date: 星期二, 20 五月 2025 15:09:59 +0800
Subject: [PATCH] 调用求解器

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

diff --git a/src/components/monifangzhen/schemeCard.vue b/src/components/monifangzhen/schemeCard.vue
index 413eb16..4c2d825 100644
--- a/src/components/monifangzhen/schemeCard.vue
+++ b/src/components/monifangzhen/schemeCard.vue
@@ -13,9 +13,10 @@
         <p>鍒涘缓鏃堕棿 : {{ formatTime(item.createTime) }}</p>
         <p>
           鏂规鐘舵�� :
-          <span style="color: aquamarine">{{
+          <span style="color: aquamarine">{{ item.result || "鍒涘缓浠跨湡" }}</span>
+          <!-- <span style="color: aquamarine">{{
             statusText[item.status] || "鏈煡"
-          }}</span>
+          }}</span> -->
         </p>
       </div>
       <div class="cardMenu">
@@ -24,7 +25,7 @@
             >鏂规璇︽儏</el-button
           >
           <el-button size="small" @click="startPlay(item)">杩涘叆妯℃嫙</el-button>
-          <!--  :disabled="item.taskStatus !== 2" -->
+          <!--  :disabled="item.status !== 2" -->
         </div>
       </div>
     </el-card>
@@ -52,6 +53,7 @@
 import schemeInfo from "@/components/monifangzhen/schemeInfo.vue";
 import { ElMessage, ElMessageBox } from "element-plus";
 const emit = defineEmits(["start", "end", "reset", "closeBtn"]);
+import { getSimStart, getSimDataById } from "@/api/trApi";
 
 const simStore = useSimStore();
 // 閫変腑鐨勬柟妗� ID
@@ -85,25 +87,41 @@
 }
 
 function startPlay(item) {
-  // if (item.taskStatus !== 2) {
-  //   alert("褰撳墠鏂规灏氭湭瀹屾垚锛屾棤娉曡繘鍏ユā鎷燂紒");
-  //   return;
-  // }
-  // if (!item.serviceName) {
-  //   ElMessage({
-  //     message: "serviceName 涓嶅瓨鍦紝鏃犳硶缁х画锛�",
-  //     type: "warning",
-  //   });
-  //   return; // 闃绘鍚庣画閫昏緫鎵ц
-  // }
-  console.log(item,'iteeeeeeeem');
-  simStore.setSelectedScheme(item);
+  // 鍒嗘瀽涓�
+  if (item.status == 2) {
+    ElMessage.warning("褰撳墠鏂规姝e湪鍒嗘瀽涓�,鏃犳硶杩涘叆妯℃嫙锛�");
+    return;
+  }
+  // 鍑洪敊
+  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 {
+    simStore.setSelectedScheme(item);
+    console.log("鏈夋湇鍔″悕绉�");
+  }
 
-  currentScheme.value = item;
-  schemeInfoShow.value = true;
-  emit("closeBtn", false);
-  initeWaterPrimitiveView();
-  emit("start");
+  // 姹傝В鍣ㄦ眰瑙e畬鎴愪箣鍚庢墠鍙互鏄剧ず鏃堕棿杞�
+  if (item.status == 10) {
+    initeWaterPrimitiveView();
+    currentScheme.value = item;
+    schemeInfoShow.value = true;
+    emit("closeBtn", false);
+    emit("start");
+  }
 }
 function endPlay() {
   emit("end");
@@ -125,7 +143,15 @@
 import { getRegionData, getSimData, deleteSimData } from "@/api/trApi.js";
 
 onMounted(() => {
-  getScheme();
+  getScheme(); // 椤甸潰鍔犺浇鏃剁珛鍗宠幏鍙栨暟鎹�
+  intervalId = setInterval(getScheme, 60 * 1000); // 姣忛殧涓�鍒嗛挓鎵ц涓�娆�
+});
+
+onUnmounted(() => {
+  if (intervalId !== null) {
+    clearInterval(intervalId); // 娓呴櫎瀹氭椂鍣�
+    intervalId = null; // 閲嶇疆 intervalId
+  }
 });
 
 const props = defineProps({
@@ -133,8 +159,9 @@
   showAddIns: Boolean,
 });
 
-// 鑾峰彇浠跨湡鍒楄〃
 const schemeList = ref([]);
+let intervalId = null; // 鐢ㄤ簬瀛樺偍 setInterval 鐨勮繑鍥炲��
+// 鑾峰彇鏂规鍒楄〃
 async function getScheme() {
   try {
     const res = await getSimData();

--
Gitblit v1.9.3