From 683fd113f132a163eb2f2774a600248c10c3f7d9 Mon Sep 17 00:00:00 2001 From: guonan <guonan201020@163.com> Date: 星期五, 16 五月 2025 16:21:21 +0800 Subject: [PATCH] 修改降雨场次接口 --- src/api/hpApi.js | 12 ++++++ src/views/left/KGSimOption/PredictiveSimulation.vue | 73 +++++++++++++++++++++++++++++++----- src/views/left/KGSimOption/HistorySimulation.vue | 1 3 files changed, 74 insertions(+), 12 deletions(-) diff --git a/src/api/hpApi.js b/src/api/hpApi.js index 42f5fa6..2cba069 100644 --- a/src/api/hpApi.js +++ b/src/api/hpApi.js @@ -91,4 +91,16 @@ "pageSize": 10000 }); return response.data; +} + +// 鏍规嵁骞翠唤鑾峰彇闆ㄩ噺鏁版嵁 +export async function getRainfallDataYears(data) { + const response = await axios.post("/hp/rainfallCountyCity/getData", { + filterObject: { + year: data + }, + "pageSize": 1000 + }); + console.log("getRainfallData:", response); + return response.data; } \ No newline at end of file diff --git a/src/views/left/KGSimOption/HistorySimulation.vue b/src/views/left/KGSimOption/HistorySimulation.vue index d60999b..2e0d2b9 100644 --- a/src/views/left/KGSimOption/HistorySimulation.vue +++ b/src/views/left/KGSimOption/HistorySimulation.vue @@ -90,7 +90,6 @@ import { ElMessage } from "element-plus"; import { initeWaterPrimitiveView } from "@/utils/water"; import { useSimStore } from "@/store/simulation.js"; -import { getRainfallData } from "@/api/hpApi.js"; import { SimAPIStore } from "@/store/simAPI"; import { EventBus } from "@/eventBus"; diff --git a/src/views/left/KGSimOption/PredictiveSimulation.vue b/src/views/left/KGSimOption/PredictiveSimulation.vue index 8b36034..1f1eed4 100644 --- a/src/views/left/KGSimOption/PredictiveSimulation.vue +++ b/src/views/left/KGSimOption/PredictiveSimulation.vue @@ -27,8 +27,24 @@ ></el-option> </el-select> </el-form-item> - <el-form-item label="闄嶉洦鏁版嵁:" v-show="forms.prediction == '闄嶉洦鍦烘'"> + <el-form-item label="闄嶉洦骞翠唤:" v-show="forms.prediction == '闄嶉洦鍦烘'"> <el-select + v-model="forms.showRainYears" + placeholder="璇烽�夋嫨" + popper-class="mySelectStyle" + @change="changeYear" + > + <el-option + v-for="item in rainYears" + :key="item.id" + :label="item.label" + :value="item.label" + ></el-option> + </el-select> + </el-form-item> + <el-form-item label="闄嶉洦鏁版嵁:" v-show="showSelect"> + <el-select + @change="rainFallChange" v-model="forms.showRainFall" placeholder="璇烽�夋嫨" popper-class="mySelectStyle" @@ -37,7 +53,7 @@ v-for="item in rainFall" :key="item.rainfallId" :label="item.rainfallName" - :value="item.rainfallName" + :value="item" ></el-option> </el-select> </el-form-item> @@ -107,12 +123,10 @@ import { initeWaterPrimitiveView } from "@/utils/water"; import { useSimStore } from "@/store/simulation.js"; // 寮曞叆 Store import { SimAPIStore } from "@/store/simAPI"; -import { getRainfallData } from "@/api/hpApi"; +import { getRainfallDataYears } from "@/api/hpApi"; import { EventBus } from "@/eventBus"; // 寮曞叆浜嬩欢鎬荤嚎 -onMounted(() => { - getRain(); -}); +onMounted(() => {}); // 鑾峰彇 Store 瀹炰緥 const simStore = SimAPIStore(); @@ -156,15 +170,53 @@ hours: null, type: 1, geom: null, // 鍏堣缃负 null 鎴栬�呭叾浠栭粯璁ゅ��, + showRainYears: "", }); // 闄嶉洦鍦烘閫夋嫨 const rainFall = ref({}); +// 闄嶉洦骞翠唤閫夋嫨 +const rainYears = [ + { + label: "2024", + value: "2024", + id: 1, + }, + { + label: "2025", + value: "2025", + id: 2, + }, +]; -const getRain = () => { - getRainfallData().then((res) => { - rainFall.value = res.data.pageData; - }); +const showSelect = ref(false); +const changeYear = (val) => { + if (val) { + showSelect.value = true; + } + if (val == "2024") { + getRainfallDataYears(2024).then((res) => { + rainFall.value = res.data.pageData; + // console.log(rainFall.value, "2024"); + }); + } else if (val == "2025") { + getRainfallDataYears(2025).then((res) => { + rainFall.value = res.data.pageData; + // console.log(rainFall.value, "2025"); + }); + } +}; +// 闄嶉洦鍦烘閫夋嫨 +const rainFallChange = (val) => { + console.log(val, "val"); + const decimalHours = (val.rainfallDuration.match(/(\d+)鏃�(\d+)鍒�/) || []) + .slice(1) + .reduce((acc, curr, i) => acc + parseInt(curr, 10) / (i === 0 ? 1 : 60), 0) + .toFixed(1); + console.log(parseFloat(decimalHours)); // 杈撳嚭: 2.6 + forms.duration = decimalHours; + forms.intensity = val.rainIntensityHour; + forms.rainfall = val.rainfallTotalValue; }; // 鍒囨崲璇︽儏鏄剧ず @@ -216,7 +268,6 @@ // 鎵撳紑鏂规 const openPlan = () => { - // getRain(); console.log("鎵撳紑鏂规鎸夐挳琚偣鍑�"); }; </script> -- Gitblit v1.9.3