Skip to content
discovery-list.component.ts 4.95 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Component, OnInit, ViewChild} from '@angular/core';
import {ActivatedRoute, Router} from '@angular/router';
import {CommonService} from '../../../shared/common/common.service';
import {SystemService} from '../../../system/system.service';
wangqinghua's avatar
wangqinghua committed
import {pageSize, SERVER_API_URL} from '../../../app.constants';
wangqinghua's avatar
wangqinghua committed
import {NzMessageService} from 'ng-zorro-antd';
wangqinghua's avatar
wangqinghua committed
import {OverAllService} from '../../overAll.service';
wangqinghua's avatar
wangqinghua committed
import {DiscoveryComponent} from '../../../modal/discovery/discovery.component';
wangqinghua's avatar
wangqinghua committed

@Component({
wangqinghua's avatar
wangqinghua committed
    selector: 'smart-discovery-list',
    templateUrl: './discovery-list.component.html',
    styles: []
wangqinghua's avatar
wangqinghua committed
})
export class DiscoveryListComponent implements OnInit {
wangqinghua's avatar
wangqinghua committed
    @ViewChild('smartDiscovery') smartDiscovery: DiscoveryComponent;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    templateid;
wangqinghua's avatar
wangqinghua committed
    discoveryList;
wangqinghua's avatar
wangqinghua committed
    tempName;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    loading = false;
wangqinghua's avatar
wangqinghua committed
    pageNum = 1;
    pageCount = pageSize;
    totalNum;

wangqinghua's avatar
wangqinghua committed
    allChecked = false;
    selectList = [];
    disabledButton = true;
    indeterminate = false;

wangqinghua's avatar
wangqinghua committed
    constructor(private overAllSer: OverAllService, private routerInfo: ActivatedRoute, private router: Router,
                private message: NzMessageService, private systemSer: SystemService,
                private commonSer: CommonService) {
wangqinghua's avatar
wangqinghua committed
        this.routerInfo.queryParams.subscribe(
            (res) => {
wangqinghua's avatar
wangqinghua committed
                this.templateid = res.templateid;
wangqinghua's avatar
wangqinghua committed
                this.tempName = res.name;
wangqinghua's avatar
wangqinghua committed
            }
        );
    }

    checkAll(value: boolean): void {
wangqinghua's avatar
wangqinghua committed
        this.discoveryList.forEach(data => data.checked = value);
wangqinghua's avatar
wangqinghua committed
        this.refreshStatus();
    }

    currentPageDataChange($event: Array<{ checked: boolean }>): void {
wangqinghua's avatar
wangqinghua committed
        this.discoveryList = $event;
wangqinghua's avatar
wangqinghua committed
    }

    selectItem(item, e) {
        if (e) {
            this.selectList.push(item);
        } else {
            this.selectList.forEach((value, index) => {
                if (value.id == item.id) {
                    this.selectList.splice(index, 1);
                }
            });
        }
        this.refreshStatus();
    }

    refreshStatus(): void {
wangqinghua's avatar
wangqinghua committed
        const allChecked = this.discoveryList.every(value => value.checked === true);
        const allUnChecked = this.discoveryList.every(value => !value.checked);
wangqinghua's avatar
wangqinghua committed
        this.allChecked = allChecked;
        this.indeterminate = (!allChecked) && (!allUnChecked);
    }

    ngOnInit() {
        this.getList();
    }

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

wangqinghua's avatar
wangqinghua committed
    getList() {
wangqinghua's avatar
wangqinghua committed
        this.loading = true;
wangqinghua's avatar
wangqinghua committed
        const data = {
wangqinghua's avatar
wangqinghua committed
            pageNum: this.pageNum,
            pageCount: this.pageCount,
            hostIds: [this.templateid]
wangqinghua's avatar
wangqinghua committed
        };
        this.overAllSer.findPageLldrule(data).subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
wangqinghua's avatar
wangqinghua committed
                this.discoveryList = res.data.data;
                this.totalNum = res.data.totalNum;
wangqinghua's avatar
wangqinghua committed
                this.loading = false;
wangqinghua's avatar
wangqinghua committed
            }
        );
    }

wangqinghua's avatar
wangqinghua committed
    //添加自动发现
    showAddModal() {
wangqinghua's avatar
wangqinghua committed
        this.smartDiscovery.showAddModal(this.templateid, '添加自动发现');
wangqinghua's avatar
wangqinghua committed
    }

    //编辑自动发现
wangqinghua's avatar
wangqinghua committed
    showEditModal(data) {
        this.smartDiscovery.showEditModal(this.templateid, data.itemid, '编辑自动发现');
wangqinghua's avatar
wangqinghua committed
    }

    //goto 监测项原型
wangqinghua's avatar
wangqinghua committed
    goToCheck(data) {
        this.router.navigate(['app/main/checkList'], {
            queryParams: {
                hostId: this.templateid,
                discoveryids: data.itemid,
                name: data.name,
                tempName: this.tempName
wangqinghua's avatar
wangqinghua committed
            }
wangqinghua's avatar
wangqinghua committed
        });
wangqinghua's avatar
wangqinghua committed
    }

    //goto 阈值原型
wangqinghua's avatar
wangqinghua committed
    goToTrigger(data) {
        this.router.navigate(['app/main/triggerList'], {
            queryParams: {
                id: data.itemid,
                name: data.name,
                tempName: this.tempName
wangqinghua's avatar
wangqinghua committed
            }
wangqinghua's avatar
wangqinghua committed
        });
wangqinghua's avatar
wangqinghua committed
    }

    //单个删除
wangqinghua's avatar
wangqinghua committed
    deleteDiscovery(item) {
        this.commonSer.confirmThing('删除', '确定删除当前的自动发现', () => {
            const data = {
                ids: []
wangqinghua's avatar
wangqinghua committed
            };
            data.ids.push(item.itemid);
wangqinghua's avatar
wangqinghua committed
            this.overAllSer.deleteLldrule(data).subscribe(
wangqinghua's avatar
wangqinghua committed
                (res) => {
                    if (res.errCode == 10000) {
                        this.message.success('删除成功');
wangqinghua's avatar
wangqinghua committed
                        this.getList();
                    }
                }
wangqinghua's avatar
wangqinghua committed
            );
        });
wangqinghua's avatar
wangqinghua committed
    }

    //批量删除
wangqinghua's avatar
wangqinghua committed
    deleteBatchDiscovery() {
        if (this.selectList.length == 0) {
            this.message.warning('请选择需要删除的自动发现');
wangqinghua's avatar
wangqinghua committed
            return false;
        }
wangqinghua's avatar
wangqinghua committed
        this.commonSer.confirmThing('删除', '确定删除选择的自动发现', () => {
            const data = {
                ids: this.selectList.map(e => {
wangqinghua's avatar
wangqinghua committed
                    return e.itemid;
                })
            };
wangqinghua's avatar
wangqinghua committed
            this.overAllSer.deleteLldrule(data).subscribe(
wangqinghua's avatar
wangqinghua committed
                (res) => {
                    if (res.errCode == 10000) {
                        this.message.success('删除成功');
wangqinghua's avatar
wangqinghua committed
                        this.getList();
                    }
                }
wangqinghua's avatar
wangqinghua committed
            );
        });
wangqinghua's avatar
wangqinghua committed
    }
}