$(function () { //获取父窗口传来的数据 var data = JSON.parse(GetQueryString("parentData")) var hd = data.hd var evaluateData = data.data //配置数据 var nameData = [] var houseData = [] var peopleData = [] var areaData = [] var moneyData = [] if (evaluateData.length > 0) { evaluateData.forEach(e => { nameData.push(e.name) houseData.push(e.house) peopleData.push(e.population) areaData.push(e.area) moneyData.push(e.value) }) } //初始化 init() //确认弹窗 function confirmPopup() { const self = this let url = '../popup/saveConfirm.html' var top = ($(window).height() - 300) / 2 - 124; var left = ($(window).width() - 500) / 2; layer.open({ title: '保存', type: 2, maxmin: false, //开启最大化最小化按钮 area: ['500px', '200px'], skin: 'saveConfirm', offset: [top, left], content: url, id: "saveConfirmLayer", closeBtn: 1, //把父页面数据传递给子弹窗并渲染 success: function (layero, index) { //绑定父子之间的关系,用于数据传递,缺少则无法传递 var body = layer.getChildFrame("body", index); //得到iframe页的窗口对象 var iframeWin = window[layero.find('iframe')[0]['name']]; iframeWin.$('#confirm-button').click(function () { let saveName = iframeWin.$('#save-name').val() if (saveName == "") return saveHistoryData(saveName,index) }) } }) } //加载柱状图 function loadEcharts() { var chartDom = document.getElementById('evaluate-echarts'); var myChart = echarts.init(chartDom); var app = {} app.config = { rotate: 0, align: 'left', verticalAlign: 'middle', position: 'right', distance: 15, onChange: function () { const labelOption = { rotate: app.config.rotate, align: app.config.align, verticalAlign: app.config.verticalAlign, position: app.config.position, distance: app.config.distance }; myChart.setOption({ series: [ { label: labelOption }, { label: labelOption }, { label: labelOption }, { label: labelOption } ] }); } }; const labelOption = { show: true, position: app.config.position, distance: app.config.distance, align: app.config.align, verticalAlign: app.config.verticalAlign, rotate: app.config.rotate, formatter: '{c} {name|{a}}', fontSize: 13, rich: { name: {} } }; var echartsOption = { tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' } }, legend: { left: 'left', width: "70%" }, xAxis: [ { type: 'value', axisTick: {show: false}, } ], yAxis: [ { type: 'category', data: nameData } ], series: [ { name: '受淹户数(户)', type: 'bar', barGap: 0, label: labelOption, emphasis: { focus: 'series' }, data: houseData }, { name: '受淹人口(人)', type: 'bar', label: labelOption, emphasis: { focus: 'series' }, data: peopleData }, { name: '受淹居民地面积(km²)', type: 'bar', label: labelOption, emphasis: { focus: 'series' }, data: areaData }, { name: '受淹房屋价值(万元/人)', type: 'bar', label: labelOption, emphasis: { focus: 'series' }, data: moneyData } ] }; echartsOption && myChart.setOption(echartsOption, true); } //控制echarts图的长宽 function recharts_z() { var width = $(window).width(); var height = $(window).height() - 400 $('#evaluate-echarts').empty(); $('#evaluate-echarts').removeAttr("_echarts_instance_").empty(); var chartPie = document.getElementById('evaluate-echarts'); var myChartPie = echarts.init(chartPie); var resize = { width: width, height: height } myChartPie.resize(resize); } //获取url携带参数 function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = decodeURI(window.location.search).substr(1).match(reg); if (r != null) return unescape(r[2]); return null; } //导出成果图 function exportPicture() { // 获取要下载的图片 var img = document.getElementById('show-img'); // 获取图片地址 var url = img.src; // 创建一个a节点插入的document var a = document.createElement('a'); // 模拟鼠标click点击事件 var event = new MouseEvent('click') // 设置a节点的download属性值 a.download = '成果图' // 将图片的src赋值给a节点的href a.href = url; a.dispatchEvent(event) } //初始化 function init() { $('#list').click(function () { $('.evaluate-echarts').hide() $('.evaluate-table').show() $('.flood-analysis-pagination').show() $('.list').addClass('choose-button') $('.list').removeClass('unchoose-button') $('.echarts').addClass('unchoose-button') $('.echarts').removeClass('choose-button') }) $('#echarts').click(function () { $('.evaluate-table').hide() $('.flood-analysis-pagination').hide() recharts_z() loadEcharts() $('.evaluate-echarts').show() $('.echarts').addClass('choose-button') $('.echarts').removeClass('unchoose-button') $('.list').addClass('unchoose-button') $('.list').removeClass('choose-button') }) //淹没图弹窗事件 $('#create-flood-image').click(function () { exportPicture() }) //保存按钮点击事件 $('#save-btn').click(function () { confirmPopup() }) //导出按钮点击事件 $('#export-img').click(function () { exportPicture() }) //图片展示 $('#show-img').prop('src', 'image/floodAnalysisEvaluate-2.png') $('.list').addClass('choose-button') $('.list').removeClass('unchoose-button') $('.echarts').addClass('unchoose-button') $('.echarts').removeClass('choose-button') loadPagination() loadSumData() } //加载表格 function loadTable(listData) { // $('#evaluate-tbody').remove() var table = "" var house = 0 var people = 0 var area = 0 var money = 0 for (let i = 0; i < listData.length; i++) { table += '