From 683fd113f132a163eb2f2774a600248c10c3f7d9 Mon Sep 17 00:00:00 2001
From: guonan <guonan201020@163.com>
Date: 星期五, 16 五月 2025 16:21:21 +0800
Subject: [PATCH] 修改降雨场次接口

---
 src/views/left/KGSimOption/PredictiveSimulation.vue |   73 +++++++++++++++++++++++++++++++-----
 1 files changed, 62 insertions(+), 11 deletions(-)

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