From 6efb2a0076a544b5714bccba214d81904264540d Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Tue, 12 Jun 2018 08:49:31 +0800
Subject: [PATCH] 报表展示 增加镇村选项
---
src/app/routes/report/report.component.ts | 96 ++++++++++++++++++++++++++++++++----------------
1 files changed, 64 insertions(+), 32 deletions(-)
diff --git a/src/app/routes/report/report.component.ts b/src/app/routes/report/report.component.ts
index aeebed5..85643f5 100644
--- a/src/app/routes/report/report.component.ts
+++ b/src/app/routes/report/report.component.ts
@@ -39,7 +39,7 @@
legend: {
data: [],
orient: 'vertical',
- right: 40,
+ right: 30,
top: 5,
bottom: 20,
type: 'scroll'
@@ -59,17 +59,18 @@
};
public sensorArr: any = [];
+ public resultArr: any = [];
public items: any = [];
public title: string;
private timeArr = ['���', '���', '���', '���', '���'];
public typeArr = ['year', 'month', 'day', 'hour'];
public sensorKeys: any = [
- {key: 'e1', name: 'PM 2.5'},
- {key: 'e2', name: 'PM 10'},
- {key: 'e10', name: '���������������CO���'},
- {key: 'e11', name: '���������������SO������'},
- {key: 'e15', name: '���������O������'},
- {key: 'e16', name: '���������������NO������'}
+ {key: 'e1', name: 'PM 2.5', effect: 'PM2.5������������������������������������������������������������������������������������', measures: '������������������������������������������������������������������������������������'},
+ {key: 'e2', name: 'PM 10', effect: '���������PM10������������������������������������������������������������������������������������', measures: '���������������������������������������������������������������������������������������'},
+ {key: 'e10', name: '���������������CO���', effect: '���������������������������������������������������������������������������������������', measures: '������������������������������������������'},
+ {key: 'e11', name: '���������������SO������', effect: '������������������������������������������������������������������������������������', measures: '������������������������������������������������������������������������������������������������������������������SO2'},
+ {key: 'e15', name: '���������O������', effect: '������������������������ ������������������������������������������������������������������������������', measures: '������������������������������������'},
+ {key: 'e16', name: '���������������NO������', effect: '���������������������������������������������������������������������������������������', measures: '���������������������������������(���������)������������������������������������������'}
];
private pieCharOption: any = {
@@ -89,7 +90,7 @@
graphic: [],
series: []
};
-
+ public isShow = true;
ngOnInit() {
const params = JSON.parse(sessionStorage.getItem('queryParams'));
if (!!params) {
@@ -114,7 +115,7 @@
option.yAxis.name = split[2] && split[2] !== 'null' ? '������:' + split[2] : '';
option.series = [];
option.legend.data = [];
- if (index % 2 == 0) {
+ if (index % 2 === 0) {
option.backgroundColor = 'rgba(0,0,0,0)';
} else {
option.backgroundColor = 'rgba(23,133,23,0.06)';
@@ -122,27 +123,34 @@
for (let i = 0; i < items.length; i++) {
this.title = items[i].formatTime;
items[i].deviceCount = deviceCounts[i];
- if (!(items[i].monitorPointId)) {
+ /* if (!(items[i].monitorPointId)) {
items[i].monitorPointName = items[i].areaName;
- }
- const legendName = items[i].formatTime + label +
- (items[i].mac ? '������:' + items[i].deviceName : (items[i].monitorPointId ? '���������:' + items[i].monitorPointName : items[i].areaName));
+ } */
+ const showName = this.items[i].showName =
+ items[i].mac ? ('������:' + items[i].deviceName) :
+ ((items[i].monitorPointId ? '���������:' + items[i].monitorPointName : items[i].areaName) + (items[i].professionName ? items[i].professionName : ''));
+ const legendName = items[i].formatTime + label + showName;
items[i].legendName = option.legend.data[i] = legendName;
- option.series.push({
- name: legendName,
- data: res.data.datas[i][sensorKey],
- type: params.reportType,
- smooth: true,
- itemStyle: {
- normal: {
- barBorderRadius: [10, 10, 10, 10]
+ if (res.data.datas[i][sensorKey]) {
+ option.series.push({
+ name: legendName,
+ data: res.data.datas[i][sensorKey],
+ type: params.reportType,
+ smooth: true,
+ itemStyle: {
+ normal: {
+ barBorderRadius: [10, 10, 10, 10]
+ }
}
- }
- });
+ });
+ }
}
const myChart = echarts.init(document.getElementById('mydiv' + index));
myChart.setOption(option, true);
window.onresize = myChart.resize;
+ if (option.series.length < 1) {
+ $('#mydiv' + index).remove();
+ }
}
this.sensorArr.forEach(i => {
if (i >= sensors.length) {
@@ -150,20 +158,23 @@
}
});
this.spinning = false;
+ if (!this.title) {
+ this.title = items[0].formatTime;
+ }
const title: any[] = this.title.replace(' ', '-').split('-');
this.title = '';
for (let i = 0; i < title.length; i++) {
this.title += title[i] + timeArr[i];
}
- if ((params.type == 'month' || params.type == 'year') && res.data.sortList.length > 0) {
+ if ((params.type === 'month' || params.type === 'year') && res.data.sortList.length > 0) {
let center = ['50%', '50%'];
let left = '40%';
const length = items.length;
const alarmDatas = res.data.alarmDatas;
for (let i = 0; i < length; i++) {
this.pieCharOption.legend.data = [];
- let data = [];
+ const data = [];
this.sensorKeys.forEach(sensorKey => {
this.pieCharOption.legend.data.push(sensorKey.name);
if (alarmDatas[i]) {
@@ -173,8 +184,8 @@
});
}
});
- if (length == 2) {
- if (i == 0) {
+ if (length === 2) {
+ if (i === 0) {
center = ['25%', '50%'];
left = '15%';
} else {
@@ -189,7 +200,7 @@
center: center,
label: {
normal: {
- formatter: "{b}:{d}%"
+ formatter: '{b}:{d}%'
}
},
labelLine: {
@@ -209,16 +220,37 @@
});
}
- if (sensors.length % 2 == 0) {
+ if (sensors.length % 2 === 0) {
this.pieCharOption.backgroundColor = 'rgba(0,0,0,0)';
} else {
this.pieCharOption.backgroundColor = 'rgba(23,133,23,0.06)';
}
- const myChart = echarts.init(document.getElementById('pieChar'));
- myChart.setOption(this.pieCharOption, true);
- window.onresize = myChart.resize;
+ const myChart = echarts.init(document.getElementById('pieChar'));
+ myChart.setOption(this.pieCharOption, true);
+ window.onresize = myChart.resize;
+
+ for (let i = 0, j = res.data.sortList.length; i < j; i++) {
+ if (i < 5) {
+ for (const key in res.data.sortList[i]) {
+ const split = key.split('-');
+ this.sensorKeys.forEach(sensor => {
+ if (sensor.key === split[0] && res.data.sortList[i][key] != 0) {
+ this.resultArr.push({
+ sensorName: sensor.name,
+ monitorPointName: this.items[split[1]].showName,
+ result: res.data.sortList[i][key] + '%',
+ effect: sensor.effect,
+ measures: sensor.measures
+ });
+ }
+
+ });
+ }
+ }
+ }
} else {
$('#pieChar').remove();
+ this.isShow = false;
}
}
});
--
Gitblit v1.8.0