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