From 9adc219110433853d9e7017e94502aa0a3819e7f Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Mon, 05 Mar 2018 10:36:10 +0800
Subject: [PATCH] 报表优化
---
src/app/routes/report/report.component.ts | 67 +++++++++++++++++----------------
1 files changed, 35 insertions(+), 32 deletions(-)
diff --git a/src/app/routes/report/report.component.ts b/src/app/routes/report/report.component.ts
index c74c6b9..a021f06 100644
--- a/src/app/routes/report/report.component.ts
+++ b/src/app/routes/report/report.component.ts
@@ -4,29 +4,30 @@
import {HttpClient} from '@angular/common/http';
import {ActivatedRoute} from '@angular/router';
import * as echarts from 'echarts';
-
+import * as $ from 'jquery';
@Component({
selector: 'app-report',
templateUrl: './report.component.html',
styles: []
})
export class ReportComponent implements OnInit {
-
- public data: any;
-
- public isShow = true;
+ [x: string]: any;
constructor(
- injector: Injector,
+ public injector: Injector,
public http: HttpClient,
public activeRoute: ActivatedRoute,
public msgSrv: NzMessageService
- ) { }
+ ) {
+ for (let index = 0; index < 19; index++) {
+ this.sensorArr.push(index);
+ }
+ }
public echartOption = {
title: {
text: '',
- subtext: '12������',
+ // subtext: '12������',
left: 'center'
},
tooltip: {
@@ -37,7 +38,7 @@
left: 'left'
},
toolbox: {
- show: true,
+ show: false,
feature: {
dataZoom: {
yAxisIndex: 'none'
@@ -61,7 +62,7 @@
},
series: [
{
- smooth: false,
+ smooth: true,
type: 'line',
data: [],
name: ''
@@ -80,10 +81,15 @@
]
};
+ sensorArr: any = [];
+ arr = new Array();
+
ngOnInit() {
this.activeRoute.queryParams.subscribe(params => {
const query = params;
- this.http.get(environment.SERVER_BASH_URL + 'report/compare', {params: query}).subscribe((res: any) => {
+ console.info(query.label);
+ query.items = JSON.parse(query.items);
+ this.http.post(environment.SERVER_BASH_URL + 'report/compare', query).subscribe((res: any) => {
if (res.code === 0) {
this.msgSrv.error(res.message);
} else {
@@ -91,18 +97,34 @@
const data = res.data;
if (data['time']) {
option.xAxis.data = data['time'];
- option.title.text = query.sensorName + query.label + '������������';
option.series[0].data = [];
option.legend.data[0] = '';
option.series[0].name = '';
option.series[1].data = [];
option.legend.data[1] = '';
option.series[1].name = '';
+ option.xAxis.name = query.xAxisName;
if (data.dataA) {
const legendNamea = (query.deviceaName ? query.deviceaName : query.monitorPointaName) + query.time + query.label;
- option.series[0].data = data.dataA;
option.legend.data[0] = legendNamea;
option.series[0].name = legendNamea;
+ let index = 0;
+ for (const key in data.dataA[0]) {
+ this.arr.push(index);
+ let split = key.split('-');
+ option.title.text = split[1] + query.label + '������������';
+ option.series[0].data = data.dataA[0][key];
+ option.yAxis.name = split[2];
+ const myChart = echarts.init(document.getElementById('mydiv' + index));
+ myChart.setOption(option, true);
+ window.onresize = myChart.resize;
+ index++;
+ }
+ this.sensorArr.forEach(i => {
+ if (this.arr.indexOf(i) == -1) {
+ $('#mydiv' + i).remove();
+ }
+ });
}
if (data.dataB) {
const legendNameb = (query.devicebName ? query.devicebName : params.monitorPointbName) + query.timeb + query.label;
@@ -110,29 +132,10 @@
option.legend.data[1] = legendNameb;
option.series[1].name = legendNameb;
}
- option.yAxis.name = query.sensorUnit;
- option.xAxis.name = query.xAxisName;
- const myChart = echarts.init(document.getElementById('mydiv'));
- myChart.setOption(option, true);
- window.onresize = myChart.resize;
}
- this.isShow = true;
}
-
});
});
-
}
- doPrint() {
- this.isShow = false;
- window.print();
- }
- printBtnBoolean = true;
- printComplete() {
- this.printBtnBoolean = true;
- }
- beforePrint() {
- this.printBtnBoolean = false;
- }
}
--
Gitblit v1.8.0