xufenglei
2018-07-25 7aabdfc457bf7dd9a30f46b4d6efb032a196c3d8
环境管理 图表实现
4 files modified
86 ■■■■ changed files
src/app/routes/environment/management/management.component.html 4 ●●● patch | view | raw | blame | history
src/app/routes/environment/management/management.component.ts 80 ●●●● patch | view | raw | blame | history
src/app/routes/forecasting-warning/forecasting-warning.component.ts 1 ●●●● patch | view | raw | blame | history
tslint.json 1 ●●●● patch | view | raw | blame | history
src/app/routes/environment/management/management.component.html
@@ -22,8 +22,10 @@
            <ng-template #nzTitle>
                同期对比
                <small class="text-sm font-weight-normal"></small>
                <span class="text-md font-weight-normal" style="color:red">PM2.5</span>
            </ng-template>
            <timeline [data]="offlineChartData" [height]="239" [padding]="[0, 0, 0, 0]" [titleMap]="{ y1: '本月数据', y2: '上月同期' }"></timeline>
            <div id="PM25" style="height: 300px; width: 100%"></div>
            <!-- <timeline [data]="offlineChartData" [height]="239" [padding]="[0, 0, 0, 0]" [titleMap]="{ y1: '本月数据', y2: '上月同期' }"></timeline> -->
        </nz-card>
    </div>
</div>
src/app/routes/environment/management/management.component.ts
@@ -1,9 +1,11 @@
import { Component, OnInit, OnDestroy } from '@angular/core';
import { environment } from '../../../../environments/environment';
import { Component, OnInit, OnDestroy, AfterViewInit } from '@angular/core';
import { NzMessageService } from 'ng-zorro-antd';
import { _HttpClient } from '@delon/theme';
import { HttpClient } from '@angular/common/http';
import * as moment from 'moment';
import { DeviceService } from '@business/services/http/device.service';
import * as echarts from 'echarts';
@Component({
    selector: 'environment-management',
@@ -21,26 +23,64 @@
        public msg: NzMessageService,
        private http2: HttpClient) {
    }
    public option = {
      tooltip: {
        trigger: 'item',
        axisPointer: {
          type: 'cross'
        }
      },
      legend: {
        right: '10%',
        top: '10%',
        data: ['本月数据', '上月同期']
      },
      xAxis: {
        type: 'category',
        data: []
      },
      yAxis: {
        type: 'value',
        name: '单位:ug/m³'
      },
      series: [
        {
          data: [],
          type: 'line',
          smooth: true,
          name: '本月数据'
        }, {
          data: [],
          type: 'line',
          smooth: true,
          name: '上月同期'
        }
      ]
    };
    ngAfterViewInit() {
      const PM25 = echarts.init(document.getElementById('PM25'));
      PM25.showLoading();
      const params = {
        type: 'month',
        sensors: JSON.stringify(['e1']),
        items: JSON.stringify([
          {areaCode: 320583, formatTime: moment().format('YYYY-MM')},
          {areaCode: 320583, formatTime: moment().subtract(1, 'M').format('YYYY-MM')}
        ])
      };
      this.http2.get(environment.SERVER_BASH_URL + 'report/compare', {params: params}).subscribe((res: any) => {
        this.option.xAxis.data = res.data.times;
        this.option.series[0].data = res.data.datas[0]['e1'];
        this.option.series[1].data = res.data.datas[1]['e1'];
        PM25.setOption(this.option, false);
        window.onresize = PM25.resize;
        PM25.hideLoading();
      });
    }
    ngOnInit() {
        const searchData = [];
        for (let i = 0; i < 50; i += 1) {
            searchData.push({
                index: i + 1,
                point: `监测站点-${i}`,
                value: Math.floor(Math.random() * 100)
            });
        }
        const offlineChartData = [];
        for (let i = 0; i < 20; i += 1) {
            offlineChartData.push({
                x: new Date().getTime() + 1000 * 60 * 30 * i,
                y1: Math.floor(Math.random() * 100) + 10,
                y2: Math.floor(Math.random() * 100) + 10
            });
        }
        this.offlineChartData = offlineChartData;
    }
    ngOnDestroy(): void {
src/app/routes/forecasting-warning/forecasting-warning.component.ts
@@ -56,6 +56,7 @@
      }
    ]
  };
  public type = 'warning';
  ngOnInit() {
    this.initWarning();
  }
tslint.json
@@ -131,7 +131,6 @@
    "use-host-property-decorator": true,
    "no-input-rename": false,
    "no-output-rename": false,
    "use-life-cycle-interface": true,
    "use-pipe-transform-interface": true,
    "component-class-suffix": true,
    "directive-class-suffix": true,