From a57caa72a54efe9de3fe26a6c36d3e8038267377 Mon Sep 17 00:00:00 2001 From: guonan <guonan201020@163.com> Date: 星期四, 17 七月 2025 09:09:49 +0800 Subject: [PATCH] 修改x按钮 --- src/components/menu/TimeLine.vue | 66 +++++++++++++++++++++++--------- 1 files changed, 47 insertions(+), 19 deletions(-) diff --git a/src/components/menu/TimeLine.vue b/src/components/menu/TimeLine.vue index 42f2e16..6951358 100644 --- a/src/components/menu/TimeLine.vue +++ b/src/components/menu/TimeLine.vue @@ -153,7 +153,9 @@ import { useSimStore } from "@/store/simulation"; import { storeToRefs } from "pinia"; const simStore = useSimStore(); -const { selectedScheme, frameNum, layerDate,schemWaterInfo } = storeToRefs(simStore); +const { selectedScheme, frameNum, layerDate, schemWaterInfo } = + storeToRefs(simStore); +import { clearAllPoints } from "@/utils/map"; const emit = defineEmits([ "timeUpdate", @@ -338,8 +340,9 @@ } // 瑙﹀彂杩涘害鏇存柊 - const progress = currentTime.value / totalDuration; - emit("timeUpdate", progress * 100); + // const progress = currentTime.value / totalDuration; + // 瀹炴椂妯℃嫙搴旇涓嶇敤鏄剧ず寮圭獥鍚� + // emit("timeUpdate", progress * 100); // 濡傛灉闇�瑕佽Е鍙戞煇浜涙洿鏂板嚱鏁帮紝涔熷彲浠ヤ繚鐣� updateWaterColorByTime(); @@ -391,6 +394,7 @@ // 闄嶉洦鏁版嵁鐩稿叧鍙橀噺 let rainFallValues = ref([]); // 瀛樺偍鍘熷闄嶉洦閲忔暟鎹� let minRainValue = ref(Infinity); +let averageRainIntensity = ref(); let maxRainValue = ref(-Infinity); // 鑾峰彇闄嶉洦鏁版嵁 function getRainfallData() { @@ -471,6 +475,19 @@ // 鎻愬彇 intensity 鍊� rainFallValues.value = hourlyRainfallList.map((r) => r.intensity); + // 璁$畻骞冲潎闆ㄥ己 + if (rainFallValues.value.length > 0) { + const sumIntensity = rainFallValues.value.reduce( + (sum, val) => sum + val, + 0 + ); + averageRainIntensity.value = sumIntensity / rainFallValues.value.length; + } else { + averageRainIntensity.value = 0; // 鎴栬�� null 琛ㄧず鏃犳暟鎹� + } + + console.log("骞冲潎闆ㄥ己涓猴細", averageRainIntensity.value); + minRainValue.value = Math.min(...rainFallValues.value); maxRainValue.value = Math.max(...rainFallValues.value); @@ -1010,8 +1027,12 @@ watersMaxHeight, watersMinHeight ); - const waterInfoArr = [watersMaxHeight] - schemWaterInfo.value = waterInfoArr + const waterInfoArr = [ + watersMaxHeight, + maxRainValue.value, + averageRainIntensity.value, + ]; + schemWaterInfo.value = waterInfoArr; // 鏇存柊鏃堕棿杞寸浉鍏虫暟鎹� if (timestamps) { frameNum.value = timestamps.length; @@ -1056,7 +1077,11 @@ watch( () => finishPlay.value, (newVal) => { - if (newVal && selectedScheme.value.type === 2) { + if ( + newVal && + selectedScheme.value.type === 2 && + simStore.rePlayList.length > 0 + ) { handlePlayFinished(); } } @@ -1110,30 +1135,33 @@ if (selectedScheme.value.type === 2) { try { await ElMessageBox.confirm("鏂规鏈仠姝㈡椂缁撴潫妯℃嫙鍚庯紝鍚庡彴灏嗗仠姝㈣绠�", { - confirmButtonText: "杩斿洖鍒楄〃", - cancelButtonText: "缁撴潫妯℃嫙", + confirmButtonText: "缁撴潫妯℃嫙", + cancelButtonText: "杩斿洖鍒楄〃", type: "warning", }); - // 鐢ㄦ埛鐐瑰嚮浜嗙‘璁わ紝杩欓噷涓嶆墽琛屼换浣曟搷浣滐紝浠呭叧闂璇濇 + + const res = await stopSim(selectedScheme.value.id); + if (res.code == 404) { + ElMessage.warning("璇ユ湇鍔″凡鍋滄"); + } else { + ElMessage.success("鏈嶅姟姝e湪鍋滄涓�"); + } } catch (error) { - stopSim(selectedScheme.value.id).then((res) => { - if (res.code == 404) { - ElMessage.warning("璇ユ湇鍔″凡鍋滄"); - } else { - ElMessage.success("鏈嶅姟姝e湪鍋滄涓�"); - } - }); - // return; + // 鐢ㄦ埛鐐瑰嚮浜嗐�愯繑鍥炲垪琛ㄣ�戞垨鑰呭嚭鐜伴敊璇� + return; } } - // 涓嶇type鏄笉鏄�2锛屾渶缁堥兘鎵ц缁撴潫妯℃嫙鐨勬搷浣� + + // 涓嶇 type 鏄笉鏄� 2锛屾渶缁堥兘鎵ц缁撴潫妯℃嫙鎿嶄綔 endSimulation(); } async function endSimulation() { + clearAllPoints(); + simStore.openDia = true; + simStore.crossSection = []; // 缁撴潫妯℃嫙涔嬪悗娓呴櫎layer鍒楄〃 simStore.rePlayList = []; - console.log(simStore.rePlayList, "缁撴潫妯℃嫙娓呴櫎rePlayListrePlayList鍒楄〃"); EventBus.emit("close-time"); endSimulate(); isWaterPrimitiveCreated.value = false; -- Gitblit v1.9.3