赣州市洪水风险预警系统三维版本
guoshilong
2023-02-03 17ab57553df0ff07d4b913bb1f315f9f45a9bc0e
widgets/FloodAnalysis/Widget.js
@@ -310,7 +310,7 @@
            this.addPoint()
            //切换底图
            $($('div.cesium-viewer').find('.cesium-baseLayerPicker-choices')[0]).children('div:eq(0)').trigger('click');
            $($('div.cesium-viewer').find('.cesium-baseLayerPicker-choices')[1]).children('div:eq(2)').trigger('click');
         },
@@ -449,17 +449,17 @@
         //洪水分析弹窗
         floodAnalysisPopup:function (){
            var url = './corelib/common/popup/floodAnalysis.html';
            var urlEvaluate = './corelib/common/popup/evaluateAnalysis.html'
            var top = ($(window).height() - 600) / 2;
            var left = ($(window).width() - 900 - 340) / 2 + 340;
            var self = this
            var inPolygon = []
            for (let i = 0; i < this.peoplePositionArray.length; i++) {
               let inPolygon = this.isPointInPolygon(this.peoplePositionArray[i])
               this.peoplePositionArray[i].inPolygon = inPolygon
               let isIn = this.isPointInPolygon(this.peoplePositionArray[i])
               if (isIn){
                  inPolygon.push(this.peoplePositionArray[i])
               }
            }
            layer.open({
               title:'模拟分析',
               type: 2,
@@ -467,14 +467,44 @@
               area: ['1100px', '600px'],
               skin: 'floodAnalysis',
               offset: [top, left],
               content: url,
               content: urlEvaluate,
               id: "floodAnalysisLayer",
               closeBtn: 1,
               //把父页面数据传递给子弹窗并渲染
               success: function(layero, index) {
                  var body = layer.getChildFrame("body",index);//绑定父子之间的关系,用于数据传递,缺少则无法传递
                  var iframeWin = window[layero.find('iframe')[0]['name']];//得到iframe页的窗口对象
                  iframeWin.$('#canvasImage')[0].src = self.canvasImage; //渲染子页面中的img
                  //绑定父子之间的关系,用于数据传递,缺少则无法传递
                  var body = layer.getChildFrame("body",index);
                  //得到iframe页的窗口对象
                  var iframeWin = window[layero.find('iframe')[0]['name']];
                  console.log(iframeWin)
                  // //渲染子页面中的img
                  // iframeWin.$('#canvasImage')[0].src = self.canvasImage;
                  var table = ""
                  var house = 0
                  var people = 0
                  var area = 0
                  var money = 0
                  for (let i = 0; i < inPolygon.length; i++) {
                     table += '<tr>'+
                        '<td><div>' + inPolygon[i].name + '</div></td>' +
                        '<td><div>' + inPolygon[i].house + '</div></td>' +
                        '<td><div>' + inPolygon[i].people + '</div></td>' +
                        '<td><div>' + inPolygon[i].area + '</div></td>' +
                        '<td><div>' + inPolygon[i].money + '</div></td>' +
                        '</tr>'
                     house += inPolygon[i].house
                     people += inPolygon[i].people
                     area += inPolygon[i].area
                     money += inPolygon[i].money
                  }
                  iframeWin.$('#evaluate-tbody').html(table)
                  iframeWin.$(".house").html(house + '户')
                  iframeWin.$(".people").html(people + '人')
                  iframeWin.$(".area").html(area + 'km²')
                  iframeWin.$(".money").html(money + '万元')
               },
            });
         },
@@ -499,7 +529,6 @@
            var poly= turf.polygon([turfPolygon])
            var pt = turf.point([point.LGTD,point.LTTD])
            return turf.booleanPointInPolygon(pt,poly)
         },
@@ -513,6 +542,13 @@
               success: function success(data) {
                  const viewer = self.map
                  var dataArray = data.data
                  dataArray.forEach(e=>{
                     e.house = Number(e.house)
                     e.people = Number(e.people)
                     e.area = Number(e.area)
                     e.money = Number(e.money)
                  })
                  self.peoplePositionArray = []
                  self.peoplePositionArray = dataArray
                  for (let i = 0; i < dataArray.length; i++) {
                     var temp = viewer.entities.add({