From af2f9abf5f0c467951ee4953b707b60ee1e2a8a1 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Thu, 09 Feb 2023 15:12:43 +0800
Subject: [PATCH] 洪水淹没-河段模糊查询(可用、但是存在调用两次接口问题)
---
widgets/FloodAnalysis/Widget.js | 131 ++++++++++++++++++++++++-------------------
1 files changed, 72 insertions(+), 59 deletions(-)
diff --git a/widgets/FloodAnalysis/Widget.js b/widgets/FloodAnalysis/Widget.js
index 2c2dc58..c2315f3 100644
--- a/widgets/FloodAnalysis/Widget.js
+++ b/widgets/FloodAnalysis/Widget.js
@@ -23,15 +23,15 @@
//河段下拉列表
hdDataList: [],
//洪水分析表格数据
- analysisTableList:[],
- currentHdId:"",
- currentSmxcode:"",
+ analysisTableList: [],
+ currentHdId: "",
+ currentSmxcode: "",
//api接口
- url:{
- riverwaySelectName:"http://192.168.0.200:82/blade-ycreal/riverway/selectName?name=%E6%B0%B4",
- waterlineSelectName:"http://192.168.0.200:82/blade-ycreal/waterline/selectName",
- childpage:"http://192.168.0.200:82/blade-ycreal/water/childpage",
- getCzByGlCodeByGlQdj:"http://192.168.0.200:82/blade-ycreal/waterline/getCzByGlCodeByGlQdj"
+ url: {
+ riverwaySelectName: "http://192.168.0.200:82/blade-ycreal/riverway/selectName?name=%E6%B0%B4",
+ waterlineSelectName: "http://192.168.0.200:82/blade-ycreal/waterline/selectName",
+ childpage: "http://192.168.0.200:82/blade-ycreal/water/childpage",
+ getCzByGlCodeByGlQdj: "http://192.168.0.200:82/blade-ycreal/waterline/getCzByGlCodeByGlQdj"
},
startup: function startup() {
var self = this
@@ -63,44 +63,49 @@
})
+ //河段输入框聚焦、失焦、值改变事件
+ $('#hd-input').focus(function () {
+ $("#hd-select").show()
+ })
- // $('#hd-input').focus(function () {
- // $("#hd-select").css({"display": ""});
- // })
- //
- // $('#hd-input').blur(function () {
- // $("#hd-select").css({"display": "none"});
- // })
- //
- // $('#hd-select').change(function () {
- // console.log($('#hd-select').find("option:selected").text(), "----")
- // $("#hd-input").val($('#hd-select').find("option:selected").text());
- // $("#hd-select").css({"display": "none"});
- // })
- //
+ $('#hd-input').blur(function () {
+ //隐藏域触发改变事件需要手动触发
+ $("#hd-select").val().change()
+ $("#hd-select").hide()
+ })
-
-
+ $('#hd-input').on("input", function () {
+ var searchString = $('#hd-input').val()
+ var filterArray = self.hdDataList.filter(e => {
+ return e.riverway.indexOf(searchString) != -1
+ })
+ self.hdSelect.find("option").remove();//添加新值 删除旧值
+ filterArray.forEach(e => {
+ self.hdSelect.append("<option value='" + JSON.stringify(e) + "'>" + e.riverway + "</option>");
+ })
+ })
this.hdSelect.change(function () {
+ $("#hd-input").val($(this).find("option:selected").text());
var selected = JSON.parse($(this).val())
self.currentHdId = selected.id
$('#sw-input').val("")
- self.getSmxData(selected.river_code,selected.default_smx)
+ self.getSmxData(selected.river_code, selected.default_smx)
+ self.hdSelect.hide()
})
this.smxSelect.change(function () {
- var selected =$(this).val()
+ var selected = $(this).val()
self.getPointData(selected)
})
$('#sw-input').keypress(function (event) {
- if (event.which == 13){
+ if (event.which == 13) {
let sw = $('#sw-input').val()
- self.analysisTableList.forEach(e=>{
- e.sw = self.calculateSw(e.water,sw)
+ self.analysisTableList.forEach(e => {
+ e.sw = self.calculateSw(e.water, sw)
})
- self.loadPagination(self.analysisTableList,"analysis-pagination")
+ self.loadPagination(self.analysisTableList, "analysis-pagination")
}
})
@@ -134,6 +139,7 @@
$('#hd-select option').remove()
$('#smx-select option').remove()
$('#sw-input').val("")
+ $('#hd-input').val("")
$('#flood-tbody').html("")
$('#analysis-pagination').hide()
@@ -218,7 +224,8 @@
this.spanTip.css('visibility', 'hidden')
this.divFloodHistory.hide()
this.divFloodAnalysis.show()
- $("input[type=radio][name=middleRadio][value='realtime']").prop('checked','checked')
+ $("input[type=radio][name=middleRadio][value='realtime']").prop('checked', 'checked')
+ this.hdSelect.hide()
this.analysisBtn.addClass('choose-button')
this.analysisBtn.removeClass('unchoose-button')
@@ -240,8 +247,8 @@
data: {},
success: function (res) {
let data = res.data
+ self.hdDataList = data
self.hdSelect.find("option").remove();//添加新值 删除旧值
- self.hdSelect.prepend("<option value=''>请选择</option>");//添加第一个option值
data.forEach(e => {
self.hdSelect.append("<option value='" + JSON.stringify(e) + "'>" + e.riverway + "</option>");
})
@@ -250,7 +257,7 @@
},
//获取水面线数据
- getSmxData(hdid,defaultId) {
+ getSmxData(hdid, defaultId) {
const self = this
$.ajax({
url: self.url.waterlineSelectName,
@@ -259,17 +266,22 @@
jsonp: 'callback',
jsonpCallback: 'data',
data: {
- hdid:hdid
+ hdid: hdid
},
success: function (res) {
let data = res.data
self.smxSelect.find("option").remove();//添加新值 删除旧值
- data.forEach(e => {
- // $("#chapterName").prepend("<option value='无'>无</option>");//添加第一个option值
- self.smxSelect.append("<option value="+ e.smxcode +">" + e.waterline + "</option>");
+ if (data.length <= 0) {
+ $('#flood-tbody').html("")
+ $('#analysis-pagination').hide()
+ }
- if (e.smxcode == defaultId){
- $("#smx-select option[value="+e.smxcode + "] ").attr("selected",true)
+ data.forEach(e => {
+
+ self.smxSelect.append("<option value=" + e.smxcode + ">" + e.waterline + "</option>");
+
+ if (e.smxcode == defaultId) {
+ $("#smx-select option[value=" + e.smxcode + "] ").attr("selected", true)
self.smxSelect.trigger("change")
}
})
@@ -279,7 +291,7 @@
},
//获取点数据
- getPointData(smxcode){
+ getPointData(smxcode) {
this.currentSmxcode = smxcode
const self = this
$.ajax({
@@ -289,14 +301,14 @@
jsonp: 'callback',
jsonpCallback: 'data',
data: {
- parentId:smxcode,
- size:9999999
+ parentId: smxcode,
+ size: 9999999
},
success: function (res) {
- if (res.code == 200){
+ if (res.code == 200) {
let data = res.data.records
self.analysisTableList = data
- self.getSub(self.currentHdId,self.currentSmxcode)
+ self.getSub(self.currentHdId, self.currentSmxcode)
}
}
});
@@ -308,11 +320,13 @@
* @param pageElementId 分页html的id
* @param tableElementId tbody id
*/
- loadPagination(tableData,pageElementId) {
- if (tableData.length < 0) return
+ loadPagination(tableData, pageElementId) {
+ if (tableData.length <= 0) {
+ $('#analysis-pagination').hide()
+ }
var count = Math.ceil(tableData.length / 10);
var self = this
- $('#'+pageElementId).pagination({
+ $('#' + pageElementId).pagination({
mode: 'fixed',
jump: true,
coping: false,
@@ -350,9 +364,9 @@
* @param listData 需要加载的数据
* @param elementId 需要加载的表格的tbody id
*/
- loadAnalysisTable(listData,elementId) {
+ loadAnalysisTable(listData, elementId) {
var table = ""
- listData.forEach(e=>{
+ listData.forEach(e => {
table += '<tr>' +
'<td><div>' + e.location + '</div></td>' +
'<td><div>' + e.origin + '</div></td>' +
@@ -370,15 +384,14 @@
* @param waterline 水面线高度
* @param number 差值
*/
- calculateSw(waterline,sub){
- let sw = this.floatAdd(Number(waterline) , Number(sub))
+ calculateSw(waterline, sub) {
+ let sw = this.floatAdd(Number(waterline), Number(sub))
return sw
},
//获取差值
- getSub(hdid,smxcode){
+ getSub(hdid, smxcode) {
const self = this
- console.log(hdid,smxcode)
$.ajax({
url: self.url.getCzByGlCodeByGlQdj,
type: 'get',
@@ -386,22 +399,22 @@
jsonp: 'callback',
jsonpCallback: 'data',
data: {
- hdId:hdid,
- smxcode:smxcode
+ hdId: hdid,
+ smxcode: smxcode
},
success: function (res) {
- if (res.code == 200){
+ if (res.code == 200) {
let sub = res.data
- self.analysisTableList.forEach(e=>{
+ 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.sw = self.calculateSw(e.water, sub)
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")
}
}
});
--
Gitblit v1.9.3