Skip to content
analysis-status.component.ts 3.52 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import { Component, OnInit } from '@angular/core';
import {DatePipe} from '@angular/common';
import {AnalysisService} from '../../analysis.service';
import {OverAllService} from '../../../overAll/overAll.service';
import {NzMessageService} from 'ng-zorro-antd';

@Component({
  selector: 'smart-analysis-status',
  templateUrl: './analysis-status.component.html',
  styles: []
})
export class AnalysisStatusComponent implements OnInit {

    startTime;
    endTime;
    timeType;
wangqinghua's avatar
wangqinghua committed
    chartOption;
    statusList;
wangqinghua's avatar
wangqinghua committed

    obj = {
        startTime: '',
        endTime: ''
    };

    constructor(private analysisSer: AnalysisService, private message: NzMessageService, private datePipe: DatePipe,
                private overAllSer: OverAllService,) {
    }

    ngOnInit() {
        const today = new Date().getTime();
        this.obj.startTime = this.datePipe.transform(today, 'yyyy-MM-dd') + ' 00:00:00';
        this.obj.endTime = this.datePipe.transform(today, 'yyyy-MM-dd') + ' 23:59:59';
        this.getEcharts();
    }

    //获取图表
    getEcharts() {
        this.analysisSer.operateStatus(this.obj).subscribe(
            (res) => {
wangqinghua's avatar
wangqinghua committed
            if(res.errCode == 10000){
                this.statusList = res.data;
                this.setEcharts();
            }
wangqinghua's avatar
wangqinghua committed
            }
        );
    }

wangqinghua's avatar
wangqinghua committed
    setEcharts(){
        this.chartOption = {
            xAxis: {
                type: 'category',
                data: this.statusList.map(e=>{
                    return e.operateStatusName;
                })
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                data: this.statusList.map(e=>{
                    return e.num;
                }),
                type: 'bar'
            }]
        };
    }

wangqinghua's avatar
wangqinghua committed
    //时间改变
    changeType() {
        const nowDate = new Date().getTime();
        let day1, day2;
        switch (this.timeType) {
            case'1': {
                this.obj.startTime = this.datePipe.transform(nowDate, 'yyyy-MM-dd') + ' 00:00:00';
                this.obj.endTime = this.datePipe.transform(nowDate, 'yyyy-MM-dd') + ' 23:59:59';
                break;
            }
            case'2': {
                day1 = nowDate - 1 * 24 * 60 * 60 * 1000;
                this.obj.startTime = this.datePipe.transform(day1, 'yyyy-MM-dd') + ' 00:00:00';
                this.obj.endTime = this.datePipe.transform(day1, 'yyyy-MM-dd') + ' 23:59:59';
                break;
            }
            case'3': {
                day1 = nowDate - 3 * 24 * 60 * 60 * 1000;
                day2 = nowDate - 1 * 24 * 60 * 60 * 1000;
                this.obj.startTime = this.datePipe.transform(day1, 'yyyy-MM-dd') + ' 00:00:00';
                this.obj.endTime = this.datePipe.transform(day2, 'yyyy-MM-dd') + ' 23:59:59';
                break;
            }
            case'4': {
                day1 = nowDate - 7 * 24 * 60 * 60 * 1000;
                day2 = nowDate - 1 * 24 * 60 * 60 * 1000;
                this.obj.startTime = this.datePipe.transform(day1, 'yyyy-MM-dd') + ' 00:00:00';
                this.obj.endTime = this.datePipe.transform(day2, 'yyyy-MM-dd') + ' 23:59:59';
                break;
            }
            case'5': {
                break;
            }
        }
    }

    //搜索
    search() {
        if (this.timeType == '5') {
            this.obj.startTime = this.datePipe.transform(this.startTime, 'yyyy-MM-dd HH:mm:ss');
            this.obj.endTime = this.datePipe.transform(this.endTime, 'yyyy-MM-dd HH:mm:ss');
        }
        this.getEcharts();
    }

}