From 5b29289d508e4272c368cf39d9c95717e3a17df1 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 06 Feb 2023 14:52:11 +0800
Subject: [PATCH] 水文水环境分析-洪水淹没:表格添加分页,修正小数相加,结果数据有误差的问题
---
corelib/common/popup/js/evaluateAnalysis.js | 132 +++++++++++++++++++++++++++++++++++++++----
1 files changed, 119 insertions(+), 13 deletions(-)
diff --git a/corelib/common/popup/js/evaluateAnalysis.js b/corelib/common/popup/js/evaluateAnalysis.js
index 2f5431e..bfc7977 100644
--- a/corelib/common/popup/js/evaluateAnalysis.js
+++ b/corelib/common/popup/js/evaluateAnalysis.js
@@ -2,13 +2,13 @@
//获取父窗口传来的数据
var data = JSON.parse(GetQueryString("data"))
//配置数据
- var nameData=[]
+ var nameData = []
var houseData = []
var peopleData = []
var areaData = []
var moneyData = []
- if (data.length>0){
- data.forEach(e=>{
+ if (data.length > 0) {
+ data.forEach(e => {
nameData.push(e.name)
houseData.push(e.house)
peopleData.push(e.people)
@@ -16,15 +16,19 @@
moneyData.push(e.money)
})
}
+
+ //初始化
+ init()
+
// change事件
$('input[type=radio][name=value]').change(function () {
- if (this.value == 'list'){
+ if (this.value == 'list') {
$('.evaluate-echarts').hide()
- $('.evaluate-box-top-left').css('visibility','visible')
+ $('.evaluate-box-top-left').css('visibility', 'visible')
$('.evaluate-table').show()
- }else {
+ } else {
$('.evaluate-table').hide()
- $('.evaluate-box-top-left').css('visibility','hidden')
+ $('.evaluate-box-top-left').css('visibility', 'hidden')
recharts_z()
loadEcharts()
@@ -33,12 +37,12 @@
});
//淹没图弹窗事件
- $('#create-flood-image').click(function (){
+ $('#create-flood-image').click(function () {
imagePopup()
})
//加载柱状图
- function loadEcharts(){
+ function loadEcharts() {
var chartDom = document.getElementById('evaluate-echarts');
var myChart = echarts.init(chartDom);
var app = {}
@@ -98,7 +102,7 @@
xAxis: [
{
type: 'value',
- axisTick: { show: false },
+ axisTick: {show: false},
}
],
yAxis: [
@@ -148,7 +152,7 @@
]
};
- echartsOption&&myChart.setOption(echartsOption,true);
+ echartsOption && myChart.setOption(echartsOption, true);
}
function recharts_z() {
@@ -174,12 +178,12 @@
}
//淹没图弹窗
- function imagePopup(){
+ function imagePopup() {
var url = './corelib/common/popup/floodImage.html';
var top = ($(window).height() - 526) / 2;
var left = ($(window).width() - 500 - 340) / 2 + 340;
parent.layer.open({
- title:'影响分析',
+ title: '影响分析',
type: 2,
maxmin: false, //开启最大化最小化按钮
area: ['1000px', '800px'],
@@ -190,4 +194,106 @@
closeBtn: 1
});
}
+
+ function init() {
+ loadSumData()
+ loadPagination()
+ }
+
+ 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 += '<tr>' +
+ '<td><div>' + listData[i].name + '</div></td>' +
+ '<td><div>' + listData[i].house + '</div></td>' +
+ '<td><div>' + listData[i].people + '</div></td>' +
+ '<td><div>' + listData[i].area + '</div></td>' +
+ '<td><div>' + listData[i].money + '</div></td>' +
+ '</tr>'
+
+ house += data[i].house
+ people += data[i].people
+ area += data[i].area
+ money += data[i].money
+ }
+ $('#evaluate-tbody').html(table)
+ }
+
+ function loadSumData() {
+ var house = 0
+ var people = 0
+ var area = 0
+ var money = 0
+ for (let i = 0; i < data.length; i++) {
+ house = floatAdd(house, data[i].house)
+ people = floatAdd(people, data[i].people)
+ area = floatAdd(area, data[i].area)
+ money = floatAdd(money, data[i].money)
+ }
+
+ $(".house").html(house + '户')
+ $(".people").html(people + '人')
+ $(".area").html(area + 'km²')
+ $(".money").html(money + '万元')
+ }
+
+ function loadPagination() {
+ if (data.length < 0) return
+ var count = Math.ceil(data.length / 10);
+
+ $('.Pagination').pagination({
+ mode: 'fixed',
+ jump: true,
+ coping: false,
+ pageCount: count,
+ callback: function (index) {
+ var listdata = [];
+ //显示页数
+ var index = (index.getCurrent() - 1) * 10;
+ for (var i = index; i < index + 10; i++) {
+ listdata.push(data[i]);
+ if (i == data.length - 1) {
+ break;
+ }
+ }
+ loadTable(listdata)
+ }
+ });
+
+ //首次加载前10条数据
+ var startData = [];
+ if (data.length > 10) {
+ for (var i = 0; i < 10; i++) {
+ startData.push(data[i]);
+ }
+ } else {
+ for (var i = 0; i < data.length; i++) {
+ startData.push(data[i]);
+ }
+ }
+ loadTable(startData)
+ }
+
+ //防止出现两个小数相加出现很多0的情况
+ function floatAdd(arg1, arg2) {
+ var r1, r2, m;
+ try {
+ r1 = arg1.toString().split(".")[1].length;
+ } catch (e) {
+ r1 = 0;
+ }
+ try {
+ r2 = arg2.toString().split(".")[1].length;
+ } catch (e) {
+ r2 = 0;
+ }
+ m = Math.pow(10, Math.max(r1, r2));
+ return (arg1 * m + arg2 * m) / m;
+ }
});
--
Gitblit v1.9.3