| | |
| | | "dojo/topic", |
| | | 'jimu/BaseWidget', |
| | | 'dojo/on', |
| | | 'dojo/mouse', |
| | | 'dstore/Memory', |
| | | 'dstore/Trackable', |
| | | 'dgrid/Grid', |
| | |
| | | 'dgrid/test/data/createSyncStore', |
| | | "libs/echarts/v4/echarts.min", |
| | | 'libs/layer/layer.js', |
| | | 'libs/turf/turf.min.js'], function (declare, lang, array, html, topic, BaseWidget, on, Memory, Trackable, Grid, Keyboard, Selection,Editor, RequestMemory, createSyncStore, echarts, layer, turf) { |
| | | 'libs/turf/turf.min.js'], function (declare, lang, array, html, topic, BaseWidget, on,mouse, Memory, Trackable, Grid, Keyboard, Selection,Editor, RequestMemory, createSyncStore, echarts, layer, turf) { |
| | | return declare([BaseWidget], { |
| | | baseClass: 'jimu-widget-FloodAnalysis', |
| | | name: 'FloodAnalysis', |
| | |
| | | currentSmxcode: "", |
| | | //水文站最近的点 |
| | | currentNearPoint:null, |
| | | evaluateLayerIndex:"", |
| | | //收起框打开状态 |
| | | isOpen: true, |
| | | popupLayer: null, |
| | | //api接口 |
| | | url: { |
| | | riverwaySelectName: "http://localhost:82/blade-ycreal/riverway/selectName", |
| | | waterlineSelectName: "http://localhost:82/blade-ycreal/waterline/selectName", |
| | | childpage: "http://localhost:82/blade-ycreal/water/childpage", |
| | | getCzByGlCodeByGlQdj: "http://localhost:82/blade-ycreal/waterline/getCzByGlCodeByGlQdj", |
| | | getRealTimeWaterByhdId: "http://localhost:82/blade-ycreal/waterline/getRealTimeWaterByhdId", |
| | | getHistoryList: "http://localhost:82/blade-ycreal/inundationResult/list", |
| | | saveHistoryData: "http://localhost:82/blade-ycreal/inundationResult/save", |
| | | getCoordinatesMinQdj: "http://localhost:82/blade-ycreal/water/getCoordinatesMinQdj", |
| | |
| | | population: 100, |
| | | area: 8.551, |
| | | value: 39.789 |
| | | }, |
| | | { |
| | | name: ">3.0", |
| | | house: 70, |
| | | population: 350, |
| | | area: 24.6, |
| | | value: 20.4 |
| | | } |
| | | ], |
| | | startup: function startup() { |
| | | var self = this |
| | | const self = this |
| | | this.bindHtmlElement() |
| | | //实时、预测改变事件 |
| | | $('input[type=radio][name=middleRadio]').change(function () { |
| | |
| | | if (self.currentHd){ |
| | | $('#analysis-pagination').show() |
| | | } |
| | | $('#search-name').val("") |
| | | }) |
| | | |
| | | //历史风险图按钮点击事件 |
| | |
| | | self.divFloodHistory.show() |
| | | $('#analysis-pagination').hide() |
| | | $('#history-pagination').show() |
| | | |
| | | //获取历史数据 |
| | | self.getHistoryList() |
| | | |
| | |
| | | $('#hd-input').blur(function () { |
| | | //隐藏域触发改变事件需要手动触发 |
| | | // $("#hd-select").val().change() |
| | | //关闭分析窗口 |
| | | if (self.evaluateLayerIndex){ |
| | | layer.close(self.evaluateLayerIndex) |
| | | self.evaluateLayerIndex = "" |
| | | $('#restore-icon').hide() |
| | | } |
| | | setTimeout(function(){//有bug 需要延迟执行隐藏 |
| | | $("#hd-select").hide() |
| | | },300) |
| | | }) |
| | | // 河段输入事件 |
| | | $('#hd-input').on("input", function () { |
| | | var searchString = $('#hd-input').val() |
| | | var filterArray = self.hdDataList.filter(e => { |
| | | let searchString = $('#hd-input').val() |
| | | let filterArray = self.hdDataList.filter(e => { |
| | | return e.riverway.indexOf(searchString) != -1 |
| | | }) |
| | | self.hdSelect.find("option").remove();//添加新值 删除旧值 |
| | | filterArray.forEach(e => { |
| | | let v = '' |
| | | if (e.stnm) { |
| | | v += '-' + e.stnm.trim() + '站' |
| | | } |
| | | if (e.gl_qdj) { |
| | | v += '-起点距' + e.gl_qdj |
| | | } |
| | | self.hdSelect.append("<option value='" + JSON.stringify(e) + "'>" + e.riverway + v + "</option>"); |
| | | self.hdSelect.append("<option value='" + JSON.stringify(e) + "'>" + e.riverway + "</option>"); |
| | | }) |
| | | }) |
| | | |
| | | //水位输入事件 |
| | | $('#sw-input').on("input", function () { |
| | | self.getYcSub() |
| | | $('#sw-input').on("input", function (e,v) { |
| | | self.getSw($('#sw-input').val()) |
| | | }) |
| | | |
| | | //河段选择框改变事件 |
| | | this.hdSelect.change(function () { |
| | | $("#hd-input").val($(this).find("option:selected").text()); |
| | | var selected = JSON.parse($(this).val()) |
| | | let selected = JSON.parse($(this).val()) |
| | | // 设置站点信息 |
| | | $('#glzd').val(selected.stnm) |
| | | $('#qdj').val(selected.gl_qdj.substring(0,selected.gl_qdj.length - 2)) |
| | | self.currentHd = selected |
| | | // 获取水面线数据 |
| | | self.getSmxData(selected.river_code, selected.default_smx) |
| | | // 获取最近起点距数据 |
| | | self.getMin(selected.default_smx,selected.gl_qdj) |
| | | // 获取实时水位 |
| | | |
| | | if (self.waterEntity) |
| | | self.map.entities.remove(self.waterEntity) |
| | | //地图定位 |
| | |
| | | |
| | | //水面线选择框改变事件 |
| | | this.smxSelect.change(function () { |
| | | var selected = $(this).val() |
| | | let selected = $(this).val() |
| | | self.getPointData(selected) |
| | | }) |
| | | |
| | | //水位输入框按下回车事件 |
| | | $('#sw-input').keypress(function (event) { |
| | | if (event.which == 13) { |
| | | self.analysisTableList.forEach(e => { |
| | | e.sw = self.calculateSw(e.water, sw) |
| | | }) |
| | | self.loadPagination(self.analysisTableList, "analysis-pagination") |
| | | } |
| | | }) |
| | | // //水位输入框按下回车事件 |
| | | // $('#sw-input').keypress(function (event) { |
| | | // if (event.which == 13) { |
| | | // self.analysisTableList.forEach(e => { |
| | | // e.sw = self.calculateSw(e.water, sw) |
| | | // }) |
| | | // self.loadPagination(self.analysisTableList, "analysis-pagination") |
| | | // } |
| | | // }) |
| | | |
| | | //搜索按钮点击事件 |
| | | $('#search-button').click(function () { |
| | |
| | | self.loadPagination(filterArray, "history-pagination") |
| | | }) |
| | | |
| | | $('#save-button').click(function () { |
| | | self.confirmPopup() |
| | | // self.floodAnalysisPopup() |
| | | $('#restore-icon').click(function () { |
| | | if (self.popupLayer){ |
| | | self.popupLayer.show() |
| | | $(this).hide() |
| | | } |
| | | }) |
| | | }, |
| | | |
| | |
| | | //清空表格数据 |
| | | $('.analysis-box-list').empty(); |
| | | $('.history-box-list').empty(); |
| | | |
| | | $('#analysis-pagination').hide() |
| | | |
| | | this.analysisTableList = [] |
| | | |
| | | //关闭分析窗口 |
| | | if (this.evaluateLayerIndex){ |
| | | layer.close(this.evaluateLayerIndex) |
| | | this.evaluateLayerIndex = "" |
| | | $('#restore-icon').hide() |
| | | } |
| | | }, |
| | | |
| | | onMinimize: function onMinimize() { |
| | |
| | | $('.content').show() |
| | | $("#sw-input").prop('disabled', true); |
| | | $('#search-name').val("") |
| | | $('#glzd').val("") |
| | | $('#qdj').val('') |
| | | $('.restore-icon').hide() |
| | | this.isOpen = true |
| | | |
| | | this.analysisBtn.addClass('choose-button') |
| | |
| | | self.hdDataList = data |
| | | self.hdSelect.find("option").remove();//添加新值 删除旧值 |
| | | data.forEach(e => { |
| | | let v = '' |
| | | if (e.stnm) { |
| | | v += '-' + e.stnm.trim() + '站' |
| | | } |
| | | if (e.gl_qdj) { |
| | | v += '-起点距' + e.gl_qdj |
| | | } |
| | | self.hdSelect.append("<option value='" + JSON.stringify(e) + "'>" + e.riverway + v + "</option>"); |
| | | self.hdSelect.append("<option value='" + JSON.stringify(e) + "'>" + e.riverway + "</option>"); |
| | | }) |
| | | } |
| | | }); |
| | |
| | | if (data.length <= 0) { |
| | | $('#flood-tbody').html("") |
| | | $('#analysis-pagination').hide() |
| | | self.deleteEntities(self.pointEntities) |
| | | if (self.drawingPolyline){ |
| | | self.map.entities.remove(self.drawingPolyline); |
| | | } |
| | | } |
| | | |
| | | 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") |
| | |
| | | let data = res.data.records |
| | | self.createPointAndLine(data,self.pointEntities) |
| | | self.analysisTableList = data |
| | | self.getSub(self.currentHd.id, self.currentSmxcode) |
| | | self.getRealTimeWaterByhdId(self.currentHd.id) |
| | | } |
| | | } |
| | | }); |
| | |
| | | cartesians.push(new Cesium.Cartesian3.fromDegrees(data[i].lng, data[i].lat,data[i].sw)) |
| | | let temp = this.map.entities.add({ |
| | | position: Cesium.Cartesian3.fromDegrees(data[i].lng, data[i].lat,data[i].sw), |
| | | point: { |
| | | color: Cesium.Color.RED, |
| | | pixelSize: 11, |
| | | //防止地形遮挡住点 |
| | | disableDepthTestDistance: Number.POSITIVE_INFINITY, |
| | | heightReference: Cesium.HeightReference.CLAMP_TO_GROUND |
| | | }, |
| | | billboard:{ |
| | | image: "./images/jiangshui_sq.png", |
| | | pixelOffset: new Cesium.Cartesian2(0, 0), |
| | | color: new Cesium.Color(20, 20, 0, 1), |
| | | width: 14, |
| | | height: 14, |
| | | heightReference : Cesium.HeightReference.CLAMP_TO_GROUND, |
| | | disableDepthTestDistance: Number.POSITIVE_INFINITY |
| | | } |
| | | }); |
| | | // 清空使用 |
| | | pointEntities.push(temp) |
| | | } |
| | | //防止切换面板后渲染水面出错 |
| | | this.map.scene.globe.depthTestAgainstTerrain = true; |
| | | |
| | | // 先清空 后画线 |
| | | if (this.drawingPolyline){ |
| | |
| | | if (tableData.length <= 0 && pageElementId == "history-pagination") { |
| | | $('#history-pagination').hide() |
| | | } |
| | | let pageSize = 10 |
| | | var count = Math.ceil(tableData.length / pageSize); |
| | | var self = this |
| | | let pageSize = 22 |
| | | let count = Math.ceil(tableData.length / pageSize); |
| | | const self = this |
| | | $('#' + pageElementId).pagination({ |
| | | mode: 'fixed', |
| | | jump: true, |
| | | coping: false, |
| | | pageCount: count, |
| | | callback: function (index) { |
| | | var listdata = []; |
| | | let listdata = []; |
| | | //显示页数 |
| | | var index = (index.getCurrent() - 1) * pageSize; |
| | | for (var i = index; i < index + pageSize; i++) { |
| | | for (let i = index; i < index + pageSize; i++) { |
| | | listdata.push(tableData[i]); |
| | | if (i == tableData.length - 1) { |
| | | break; |
| | | } |
| | | } |
| | | |
| | | pageElementId == "analysis-pagination" ? self.createList(listdata,"洪水淹没分析") : self.createList(listdata,"历史风险图") |
| | | |
| | | } |
| | | }); |
| | | |
| | | //首次加载前11条数据 |
| | | var startData = []; |
| | | let startData = []; |
| | | if (tableData.length > pageSize) { |
| | | for (var i = 0; i < pageSize; i++) { |
| | | for (let i = 0; i < pageSize; i++) { |
| | | startData.push(tableData[i]); |
| | | } |
| | | } else { |
| | | for (var i = 0; i < tableData.length; i++) { |
| | | for (let i = 0; i < tableData.length; i++) { |
| | | startData.push(tableData[i]); |
| | | } |
| | | } |
| | |
| | | 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(3) |
| | | e.sw = Number(e.sw).toFixed(3) |
| | | }) |
| | | |
| | | self.loadPagination(self.analysisTableList, "analysis-pagination") |
| | | //减法函数 |
| | | accSub(arg1,arg2){ |
| | | let r1,r2,m,n; |
| | | r1 = arg1.toString().length |
| | | try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0} |
| | | m=Math.pow(10,Math.max(r1,r2)); |
| | | //last modify by deeka |
| | | //动态控制精度长度 |
| | | n=(r1>=r2)?r1:r2; |
| | | return ((arg1*m-arg2*m)/m).toFixed(n); |
| | | }, |
| | | |
| | | //实时水位计算 |
| | | getSub(hdid, smxcode) { |
| | | //获取实时水位 |
| | | getRealTimeWaterByhdId(hdid) { |
| | | const self = this |
| | | // 实时 需要请求服务器获取实时水位数据 |
| | | if ($('input[name=middleRadio]:checked').val() == 'realtime') { |
| | | $.ajax({ |
| | | url: self.url.getCzByGlCodeByGlQdj, |
| | | url: self.url.getRealTimeWaterByhdId, |
| | | type: 'get', |
| | | dataType: 'json', |
| | | jsonp: 'callback', |
| | | jsonpCallback: 'data', |
| | | data: { |
| | | hdId: hdid, |
| | | smxcode: smxcode |
| | | hdId: hdid |
| | | }, |
| | | 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(3) |
| | | e.sw = Number(e.sw).toFixed(3) |
| | | }) |
| | | |
| | | self.loadPagination(self.analysisTableList, "analysis-pagination") |
| | | self.getSw(sub) |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | self.getYcSub() |
| | | self.getSw($('#sw-input').val()) |
| | | } |
| | | |
| | | }, |
| | | |
| | | //计算水位 |
| | | getSw(val){ |
| | | const self = this |
| | | let chazhi = 0 |
| | | if (val > 0) { |
| | | chazhi = self.accSub(val,self.currentNearPoint.water) |
| | | } |
| | | |
| | | let list = JSON.parse(JSON.stringify(self.analysisTableList)) |
| | | |
| | | list.forEach(e => { |
| | | e.lng = Number(e.lng).toFixed(4) |
| | | e.lat = Number(e.lat).toFixed(4) |
| | | e.sw = self.calculateSw(e.water, chazhi) |
| | | e.water = Number(e.water).toFixed(2) |
| | | e.sw = Number(e.sw).toFixed(2) |
| | | }) |
| | | self.loadPagination(list, "analysis-pagination") |
| | | }, |
| | | |
| | | //获取最接近水文站的值 |
| | |
| | | |
| | | //防止出现两个小数相加出现很多0的情况 |
| | | floatAdd(arg1, arg2) { |
| | | var r1, r2, m; |
| | | let r1, r2, m; |
| | | try { |
| | | r1 = arg1.toString().split(".")[1].length; |
| | | } catch (e) { |
| | |
| | | |
| | | //评估分析弹窗 |
| | | evaluatePopup(flag) { |
| | | var self = this |
| | | const self = this |
| | | let selectSmx = this.smxDataList.filter(e=>{ |
| | | return e.smxcode == this.currentSmxcode |
| | | }) |
| | |
| | | let isAnalysis = flag == 'analysis'?true:false |
| | | |
| | | let parentData = {} |
| | | |
| | | if (isAnalysis){ |
| | | parentData.data = this.evaluateData |
| | | parentData.hd = this.currentHd |
| | |
| | | parentData.point = this.currentSelectHistoryData.smxVal.point |
| | | } |
| | | |
| | | |
| | | var url = './corelib/common/popup/evaluateAnalysis.html' |
| | | var top = ($(window).height() - 550) / 2; |
| | | var left = ($(window).width() - 400 - 340) / 2 + 340; |
| | | let url = './corelib/common/popup/evaluateAnalysis.html' |
| | | let top = ($(window).height() - 764) / 2; |
| | | let left = ($(window).width() -465); |
| | | layer.open({ |
| | | title: '评估分析', |
| | | title: '分析结果', |
| | | shade: 0, |
| | | type: 2, |
| | | maxmin: false, //开启最大化最小化按钮 |
| | | area: ['900px', '600px'], |
| | | maxmin: true, //开启最大化最小化按钮 |
| | | area: ['465px', '818px'], |
| | | skin: 'floodAnalysis', |
| | | offset: [top,left], |
| | | content: url + "?parentData=" + encodeURIComponent(JSON.stringify(parentData)),//使用encodeURIComponent转码,避免中文字符乱码,避免url截取错误 |
| | | id: "floodAnalysisLayer", |
| | | closeBtn: 1, |
| | | closeBtn: 0, |
| | | shade: 0, |
| | | move:false, |
| | | maxmin: false, |
| | | //设置默认不在左下角 |
| | | minStack:false, |
| | | zIndex:-100000, |
| | | success:function (layero,index) { |
| | | $('.layui-layer-setwin .layui-layer-min cite').css("background-color",'white') |
| | | //绑定父子之间的关系,用于数据传递,缺少则无法传递 |
| | | var body = layer.getChildFrame("body", index); |
| | | let body = layer.getChildFrame("body", index); |
| | | //得到iframe页的窗口对象 |
| | | var iframeWin = window[layero.find('iframe')[0]['name']]; |
| | | let iframeWin = window[layero.find('iframe')[0]['name']]; |
| | | self.evaluateLayerIndex = index |
| | | |
| | | if (isAnalysis){ |
| | | iframeWin.$('#save-btn').show() |
| | | }else { |
| | | iframeWin.$('#save-btn').hide() |
| | | } |
| | | |
| | | self.popupLayer = $('.layui-layer') |
| | | iframeWin.$('#close-btn').click(function () { |
| | | self.popupLayer.hide() |
| | | $('#restore-icon').show() |
| | | }) |
| | | |
| | | if ($('.layui-layer-max').hasClass('layui-layer-maxmin')){ |
| | | $('.layui-layer-max').show() |
| | | }else { |
| | | $('.layui-layer-max').hide() |
| | | } |
| | | |
| | | //图片放大方法 |
| | | // 思路: 获取所有要用的 => 然后通过点击图片显示弹窗 => 赋值到弹窗里面 => 图片赋值 => 文本赋值 |
| | | // 获取点击图片 |
| | | let img = iframeWin.$('#show-img') |
| | | // 获取弹窗 |
| | | let modal = $('#myModal') |
| | | // 弹窗图片 |
| | | let contImg = $('#img01') |
| | | |
| | | img.click(function () { |
| | | modal.css({ |
| | | "display":"block", |
| | | 'position':'fixed', |
| | | 'background-color':'#2f353cd4' |
| | | }) |
| | | contImg.prop('src',img.prop('src')) |
| | | }) |
| | | // 点击x按钮关闭弹窗 |
| | | let closeBox = $('.close') |
| | | closeBox.click(function () { |
| | | modal.hide() |
| | | }) |
| | | |
| | | }, |
| | | cancel:function (layero,index) { |
| | | self.popupLayer.hide() |
| | | $('#restore-icon').show() |
| | | return false |
| | | } |
| | | }); |
| | | }, |
| | |
| | | //http://dgrid.io/tutorials/1.0/hello_dgrid/ 创建表格 |
| | | createList: function (dataList, txt) { |
| | | const self = this |
| | | var CustomGrid = declare([Grid, Keyboard, Selection,Editor]); |
| | | var column, tab, moon, dauy; |
| | | var formatter = function (value,object) { |
| | | let CustomGrid = declare([Grid, Keyboard, Selection,Editor]); |
| | | let column, tab, moon, dauy; |
| | | let formatter = function (value,object) { |
| | | if (self.currentNearPoint.id == object.id) { |
| | | return '<span style="color:red">' + value + '</span>' |
| | | } else { |
| | |
| | | column = { |
| | | location: { |
| | | label:'位置', |
| | | className:'dgrid-cell_200', |
| | | formatter:formatter |
| | | }, |
| | | origin: { |
| | | label:'起点距', |
| | | formatter:formatter |
| | | className:'dgrid-cell_40', |
| | | formatter:function (value,object) { |
| | | if (self.currentNearPoint.id == object.id) { |
| | | return '<span style="color:red">' + value.substring(0,value.length - 2) + '</span>' |
| | | } else { |
| | | return value.substring(0,value.length - 2) |
| | | } |
| | | } |
| | | }, |
| | | water: { |
| | | label:'水面线', |
| | | className:'dgrid-cell_60', |
| | | formatter:formatter |
| | | }, |
| | | sw: { |
| | | label:'水位', |
| | | className:'dgrid-cell_60', |
| | | formatter:formatter |
| | | }, |
| | | lng:{ |
| | | label:'经度', |
| | | formatter:formatter |
| | | }, |
| | | lat:{ |
| | | label:'纬度', |
| | | formatter:formatter |
| | | }, |
| | | // lng:{ |
| | | // label:'经度', |
| | | // formatter:formatter |
| | | // }, |
| | | // lat:{ |
| | | // label:'纬度', |
| | | // formatter:formatter |
| | | // }, |
| | | } |
| | | tab = 'analysis-tab1-grid' |
| | | } else if (txt == "历史风险图") { |
| | |
| | | } |
| | | tab = 'history-tab2-grid' |
| | | } |
| | | var grid = new CustomGrid({ |
| | | let grid = new CustomGrid({ |
| | | columns: column, |
| | | selectionMode: 'single', // for Selection; only select a single row at a time |
| | | cellNavigation: false, // for Keyboard; allow only row-level keyboard navigation |
| | | }, tab); |
| | | grid.startup(); |
| | | |
| | | //change事件 |
| | | // grid.on("dgrid-datachange", function(evt){ |
| | | // //获取行数据 |
| | | // let data = evt.cell.row.data |
| | | // }); |
| | | function makeHandler (grid, type, dir) { |
| | | return function (event) { |
| | | let tip = $('#tableTip') |
| | | let obj = grid[type](event) |
| | | |
| | | if (dir == 'entered' && obj.column.field == 'location' ){ |
| | | tip.show() |
| | | tip.css({ |
| | | "top":(194+(Number(obj.row.id)*24.5))+'px', |
| | | // "left":event.offsetX+10+'px' |
| | | }) |
| | | tip.html(obj.row.data.location) |
| | | }else if (dir == 'left'){ |
| | | tip.hide() |
| | | } |
| | | }; |
| | | } |
| | | |
| | | grid.on(on.selector('.dgrid-content .dgrid-cell', mouse.enter), makeHandler(grid, 'cell', 'entered')); |
| | | grid.on(on.selector('.dgrid-content .dgrid-cell', mouse.leave), makeHandler(grid, 'cell', 'left')); |
| | | |
| | | //防止绑定多次点击事件 |
| | | if (this.dgridSelectEvent){ |
| | | this.dgridSelectEvent.remove() |
| | | } |
| | |
| | | this.dgridSelectEvent = grid.on("dgrid-select", function(evt){ |
| | | //获取行数据 |
| | | let data = evt.rows[0].data |
| | | self.currentSelectHistoryData = data |
| | | if (data.smxVal.point.length>0){ |
| | | |
| | | self.deleteEntities(self.pointEntities) |
| | | if (self.drawingPolyline) |
| | | self.map.entities.remove(self.drawingPolyline); |
| | | |
| | | if (self.waterEntity) |
| | | self.map.entities.remove(self.waterEntity) |
| | | |
| | | $('#sw-input').val("") |
| | | $('#hd-input').val("") |
| | | $('#smx-select option').remove() |
| | | //清空表格数据 |
| | | $('.analysis-box-list').empty(); |
| | | $('#analysis-pagination').hide() |
| | | |
| | | self.analysisTableList = [] |
| | | |
| | | self.createPointAndLine(data.smxVal.point,self.pointEntities) |
| | | |
| | | //历史风险、洪水分析,表格不同的点击事件 |
| | | if (data.smxVal){ |
| | | self.currentSelectHistoryData = data |
| | | if (data.smxVal.point.length>0){ |
| | | self.deleteEntities(self.pointEntities) |
| | | if (self.drawingPolyline) |
| | | self.map.entities.remove(self.drawingPolyline); |
| | | if (self.waterEntity) |
| | | self.map.entities.remove(self.waterEntity) |
| | | $('#sw-input').val("") |
| | | $('#hd-input').val("") |
| | | $('#hd-input').trigger("input") |
| | | $('#smx-select option').remove() |
| | | //清空表格数据 |
| | | $('.analysis-box-list').empty(); |
| | | $('#analysis-pagination').hide() |
| | | //清空关联站和起点距 |
| | | $('#glzd').val("") |
| | | $('#qdj').val('') |
| | | self.analysisTableList = [] |
| | | self.createPointAndLine(data.smxVal.point,self.pointEntities) |
| | | self.map.camera.flyTo({ |
| | | destination: Cesium.Cartesian3.fromDegrees(data.lon, data.lat, 50000), |
| | | }); |
| | | self.drawWater('history') |
| | | } |
| | | }else { |
| | | self.map.camera.flyTo({ |
| | | destination: Cesium.Cartesian3.fromDegrees(data.lon, data.lat, 50000), |
| | | destination: Cesium.Cartesian3.fromDegrees(data.lng, data.lat, 3000), |
| | | }); |
| | | |
| | | self.drawWater('history') |
| | | } |
| | | |
| | | }); |
| | | |
| | | grid.renderArray(dataList); |
| | | }, |
| | | |
| | | // 洪水淹没效果 |
| | | drawWater(flag) { |
| | | |
| | | //关闭分析窗口 |
| | | if (this.evaluateLayerIndex){ |
| | | layer.close(this.evaluateLayerIndex) |
| | | $('#restore-icon').hide() |
| | | this.evaluateLayerIndex = "" |
| | | } |
| | | |
| | | //地图定位 |
| | | // this.map.camera.flyTo({ |
| | | // destination: Cesium.Cartesian3.fromDegrees(115.93791, 25.989108, 5000), |
| | |
| | | }) |
| | | $('.dong-progress').stop().show(); |
| | | // 总长度 |
| | | var totalWidth = $('.dong-progress .container').width(); |
| | | let totalWidth = $('.dong-progress .container').width(); |
| | | // 过度长度 |
| | | var excessiveWidth = totalWidth / 100; |
| | | var watchWidth = 0; |
| | | let excessiveWidth = totalWidth / 100; |
| | | let watchWidth = 0; |
| | | // 进度条的定时器 |
| | | var proTime = setInterval(function () { |
| | | let proTime = setInterval(function () { |
| | | watchWidth += excessiveWidth; |
| | | if (watchWidth > totalWidth) { |
| | | watchWidth = totalWidth; |