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