Skip to content
now-alarm.component.ts 3.51 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Component, OnInit, ViewChild, ElementRef, OnDestroy} from '@angular/core';
wangqinghua's avatar
wangqinghua committed
import {AlarmService} from '../alarm.service';
import {NzMessageService} from 'ng-zorro-antd';
import {SendLogComponent} from '../modal/send-log/send-log.component';
wangqinghua's avatar
wangqinghua committed
import {color, pageSize} from '../../app.constants';
wangqinghua's avatar
wangqinghua committed
import {WarnListComponent} from '../../modal/warn-list/warn-list.component';
wangqinghua's avatar
wangqinghua committed
import {OverAllService} from '../../overAll/overAll.service';
wangqinghua's avatar
wangqinghua committed
import {CommonService} from '../../shared/common/common.service';
import {WorkService} from '../../work/work.service';
wangqinghua's avatar
wangqinghua committed

@Component({
wangqinghua's avatar
wangqinghua committed
    selector: 'smart-now-alarm',
    templateUrl: './now-alarm.component.html',
    styles: [
wangqinghua's avatar
wangqinghua committed
            `
            .tag-warn{
                padding: 5px;
            }
            .tag-warn span{
                border: 1px solid #ccc;
                margin-right: 10px;
                display: inline-block;
                margin-bottom: 10px;
                padding: 2px 4px;
                border-radius: 4px;
            }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
            .tag-warn span.select-border {
                border: 1px solid #1626e2;
                border-radius: 5px;
                padding: 2px;
                margin-right: 5px;
            }
wangqinghua's avatar
wangqinghua committed

            :host ::ng-deep .tag-warn .ant-tag {
wangqinghua's avatar
wangqinghua committed
                margin-right: 0px;
            }
wangqinghua's avatar
wangqinghua committed
        `
    ]
wangqinghua's avatar
wangqinghua committed
})
wangqinghua's avatar
wangqinghua committed
export class NowAlarmComponent implements OnInit, OnDestroy {
wangqinghua's avatar
wangqinghua committed
    @ViewChild('sendLog') sendLog: SendLogComponent;
    @ViewChild('warnList') warnList: WarnListComponent;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    color = color;
wangqinghua's avatar
wangqinghua committed
    alarmTotal;
wangqinghua's avatar
wangqinghua committed
    warnCountList = [];
wangqinghua's avatar
wangqinghua committed
    loading = false;
    pageCount = pageSize;
    pageNum = 1;
    totalNum;
wangqinghua's avatar
wangqinghua committed
    time_;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    selectHostId;
wangqinghua's avatar
wangqinghua committed
    isDownload;
wangqinghua's avatar
wangqinghua committed
    obj = {
        name: ''
    };
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    constructor(public alarmSer: AlarmService, public message: NzMessageService, private workSer: WorkService,
                public overAllSer: OverAllService, private commonSer: CommonService) {
wangqinghua's avatar
wangqinghua committed
    }

    ngOnInit() {
wangqinghua's avatar
wangqinghua committed
        this.getType();
wangqinghua's avatar
wangqinghua committed
        this.search();
        this.time_ = setInterval(() => {
            this.search();
        }, 2 * 60 * 1000);
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    ngOnDestroy() {
wangqinghua's avatar
wangqinghua committed
        clearInterval(this.time_);
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    search() {
wangqinghua's avatar
wangqinghua committed
        const obj = {
wangqinghua's avatar
wangqinghua committed
            isWaring: 'yes',
            name: this.obj.name,
wangqinghua's avatar
wangqinghua committed
        };
wangqinghua's avatar
wangqinghua committed
        this.warnList.outGet(obj);
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    getType() {
wangqinghua's avatar
wangqinghua committed
        this.overAllSer.findHostWarningCount().subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
                if (res.errCode == 10000) {
wangqinghua's avatar
wangqinghua committed
                    this.warnCountList = res.data;
wangqinghua's avatar
wangqinghua committed
                } else {
wangqinghua's avatar
wangqinghua committed
                    this.message.info(res.errMsg);
                }
            }
wangqinghua's avatar
wangqinghua committed
        );
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    change(e) {
wangqinghua's avatar
wangqinghua committed
        this.pageNum = e;
    }

    //打开modal
wangqinghua's avatar
wangqinghua committed
    showModal(data) {
wangqinghua's avatar
wangqinghua committed
        this.sendLog.showModal(data);
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    getTotal(num) {
wangqinghua's avatar
wangqinghua committed
        this.alarmTotal = num;
    }
wangqinghua's avatar
wangqinghua committed

    //导出文件
wangqinghua's avatar
wangqinghua committed
    downLoadExcel() {
wangqinghua's avatar
wangqinghua committed
        this.isDownload = true;
        const data = {
wangqinghua's avatar
wangqinghua committed
            isWaring: 'yes',
            hostid: this.selectHostId,
wangqinghua's avatar
wangqinghua committed
        };
        this.alarmSer.getExportUrlEvent(data).subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
                if (res.errCode == 10000) {
                    this.workSer.downloadTemplate('alarm', res.data).subscribe(
                        (data) => {
wangqinghua's avatar
wangqinghua committed
                            this.isDownload = false;
wangqinghua's avatar
wangqinghua committed
                            this.commonSer.downloadFile('当前告警.xlsx', data);
wangqinghua's avatar
wangqinghua committed
                        }
wangqinghua's avatar
wangqinghua committed
                    );
                } else {
wangqinghua's avatar
wangqinghua committed
                    this.message.error(res.errMsg);
                }
                this.isDownload = false;
            }
wangqinghua's avatar
wangqinghua committed
        );
wangqinghua's avatar
wangqinghua committed
    }
wangqinghua's avatar
wangqinghua committed
}