From bdf4007f1934a8a2743026f257e1eaee4b925bf4 Mon Sep 17 00:00:00 2001
From: xiebin <123456>
Date: Tue, 14 Feb 2023 15:22:42 +0800
Subject: [PATCH] 洪水淹没功能优化

---
 widgets/FloodAnalysis/Widget.js |   78 +++++++++++++++++++++++++-------------
 1 files changed, 51 insertions(+), 27 deletions(-)

diff --git a/widgets/FloodAnalysis/Widget.js b/widgets/FloodAnalysis/Widget.js
index 012a46b..6526726 100644
--- a/widgets/FloodAnalysis/Widget.js
+++ b/widgets/FloodAnalysis/Widget.js
@@ -92,6 +92,8 @@
                 } else {
                     $("#sw-input").prop('disabled', false);
                 }
+                if ($('#smx-select').val())
+                    self.getPointData($('#smx-select').val())
             })
 
             //开始分析按钮点击事件
@@ -140,6 +142,7 @@
                 },100)
 
             })
+            // 河道输入事件
             $('#hd-input').on("input", function () {
                 var searchString = $('#hd-input').val()
                 var filterArray = self.hdDataList.filter(e => {
@@ -151,12 +154,16 @@
                 })
             })
 
+            //水位输入事件
+            $('#sw-input').on("input", function () {
+                self.getYcSub()
+            })
+
             //河段选择框改变事件
             this.hdSelect.change(function () {
                 $("#hd-input").val($(this).find("option:selected").text());
                 var selected = JSON.parse($(this).val())
                 self.currentHd = selected
-                $('#sw-input').val("")
                 self.getSmxData(selected.river_code, selected.default_smx)
 
                 //地图定位
@@ -177,7 +184,6 @@
             //水位输入框按下回车事件
             $('#sw-input').keypress(function (event) {
                 if (event.which == 13) {
-                    let sw = $('#sw-input').val()
                     self.analysisTableList.forEach(e => {
                         e.sw = self.calculateSw(e.water, sw)
                     })
@@ -514,37 +520,55 @@
             let sw = this.floatAdd(Number(waterline), Number(sub))
             return sw
         },
+        //预测水位计算
+        getYcSub() {
+            const self = this
+            self.analysisTableList.forEach(e => {
+                e.lng = Number(e.lng).toFixed(4)
+                e.lat = Number(e.lat).toFixed(4)
+                e.sw = self.calculateSw(e.water, $('#sw-input').val())
 
-        //获取差值
+                e.water = Number(e.water).toFixed(4)
+                e.sw = Number(e.sw).toFixed(4)
+            })
+
+            self.loadPagination(self.analysisTableList, "analysis-pagination")
+        },
+        //实时水位计算
         getSub(hdid, smxcode) {
             const self = this
-            $.ajax({
-                url: self.url.getCzByGlCodeByGlQdj,
-                type: 'get',
-                dataType: 'json',
-                jsonp: 'callback',
-                jsonpCallback: 'data',
-                data: {
-                    hdId: hdid,
-                    smxcode: smxcode
-                },
-                success: function (res) {
-                    if (res.code == 200) {
-                        let sub = res.data
-                        $('#sw-input').val(sub)
-                        self.analysisTableList.forEach(e => {
-                            e.lng = Number(e.lng).toFixed(4)
-                            e.lat = Number(e.lat).toFixed(4)
-                            e.sw = self.calculateSw(e.water, sub)
+            if ($('input[name=middleRadio]:checked').val() == 'realtime') {
+                $.ajax({
+                    url: self.url.getCzByGlCodeByGlQdj,
+                    type: 'get',
+                    dataType: 'json',
+                    jsonp: 'callback',
+                    jsonpCallback: 'data',
+                    data: {
+                        hdId: hdid,
+                        smxcode: smxcode
+                    },
+                    success: function (res) {
+                        if (res.code == 200) {
+                            let sub = res.data
+                            $('#sw-input').val(sub)
+                            self.analysisTableList.forEach(e => {
+                                e.lng = Number(e.lng).toFixed(4)
+                                e.lat = Number(e.lat).toFixed(4)
+                                e.sw = self.calculateSw(e.water, sub)
 
-                            e.water = Number(e.water).toFixed(4)
-                            e.sw = Number(e.sw).toFixed(4)
-                        })
+                                e.water = Number(e.water).toFixed(4)
+                                e.sw = Number(e.sw).toFixed(4)
+                            })
 
-                        self.loadPagination(self.analysisTableList, "analysis-pagination")
+                            self.loadPagination(self.analysisTableList, "analysis-pagination")
+                        }
                     }
-                }
-            });
+                });
+            } else {
+                self.getYcSub()
+            }
+
         },
 
         //保存历史风险图

--
Gitblit v1.9.3