Skip to content
website.component.ts 3.6 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Component, EventEmitter, OnInit, Output} from '@angular/core';
wangqinghua's avatar
wangqinghua committed
import {OverAllService} from '../../overAll/overAll.service';
import {NzMessageService} from 'ng-zorro-antd';
wangqinghua's avatar
wangqinghua committed

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

wangqinghua's avatar
wangqinghua committed
    @Output() done = new EventEmitter<any>();
wangqinghua's avatar
wangqinghua committed
    isVisible = false;
    title;
wangqinghua's avatar
wangqinghua committed
    tabNum = 0;
wangqinghua's avatar
wangqinghua committed
    indexNo = 1;
wangqinghua's avatar
wangqinghua committed

    validateForm;
    steps = [];
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    constructor(private overAllSer:OverAllService,private message:NzMessageService) {
wangqinghua's avatar
wangqinghua committed
    }

    ngOnInit() {
wangqinghua's avatar
wangqinghua committed
        this.initForm();
    }

wangqinghua's avatar
wangqinghua committed
    initForm() {
wangqinghua's avatar
wangqinghua committed
        this.tabNum = 0;
wangqinghua's avatar
wangqinghua committed
        this.steps = [
            {
                name:'',
                url:'',
                status_codes:200,
                posts:'',
                no:this.indexNo,
                timeout:'15',
                follow_redirects:'1',
                condition:'',
                faultCondition:'',
            }
        ];
wangqinghua's avatar
wangqinghua committed
        this.validateForm = {
wangqinghua's avatar
wangqinghua committed
            name: '',
wangqinghua's avatar
wangqinghua committed
            delay:'',
            retries:'',
            http_proxy:'',
            ssl_cert_file:'',
            ssl_key_file:'',
            ssl_key_password:'',
wangqinghua's avatar
wangqinghua committed
            steps: this.steps,
        };
wangqinghua's avatar
wangqinghua committed
    }

    showAddModal() {
        this.title = '添加网站监测';
        this.isVisible = true;
    }

wangqinghua's avatar
wangqinghua committed
    showEditModal(id) {
        this.title = '编辑网站监测';
wangqinghua's avatar
wangqinghua committed
        this.isVisible = true;
wangqinghua's avatar
wangqinghua committed
        this.overAllSer.findWeb(id).subscribe(
            (res)=>{
                if(res.errCode == 10000){
                    this.validateForm = res.data;
                    this.steps = res.data.steps;
                }
            }
        )
wangqinghua's avatar
wangqinghua committed
    }

    handleOk() {
wangqinghua's avatar
wangqinghua committed
        if(!this.validateForm.name){
wangqinghua's avatar
wangqinghua committed
            this.message.error("请输入网站名称");
wangqinghua's avatar
wangqinghua committed
            return false;
        }
        if(!this.validateForm.delay){
wangqinghua's avatar
wangqinghua committed
            this.message.error("请输入更新间隔");
wangqinghua's avatar
wangqinghua committed
            return false;
        }
wangqinghua's avatar
wangqinghua committed
        if(this.title == '添加网站监测'){
            this.create();
        }else{
            this.update();
        }
    }

    //创建
    create(){
        const data = {};
        this.overAllSer.createWebscenario(this.validateForm).subscribe(
            (res)=>{
                if(res.errCode == 10000){
wangqinghua's avatar
wangqinghua committed
                    this.message.success('添加成功');
wangqinghua's avatar
wangqinghua committed
                    this.isVisible = false;
                    this.done.emit();
wangqinghua's avatar
wangqinghua committed
                    this.initForm();
                }else{
wangqinghua's avatar
wangqinghua committed
                    this.message.error(res.errMsg);
wangqinghua's avatar
wangqinghua committed
                }
            }
        )
    }

    //更新
    update(){
wangqinghua's avatar
wangqinghua committed
        this.overAllSer.updateWebscenario(this.validateForm).subscribe(
            (res)=>{
                if(res.errCode == 10000){
wangqinghua's avatar
wangqinghua committed
                    this.message.success('保存成功');
wangqinghua's avatar
wangqinghua committed
                    this.isVisible = false;
                    this.done.emit();
                    this.initForm();
                }else{
wangqinghua's avatar
wangqinghua committed
                    this.message.error(res.errMsg);
wangqinghua's avatar
wangqinghua committed
                }
            }
        )
wangqinghua's avatar
wangqinghua committed
    }

    handleCancel() {
wangqinghua's avatar
wangqinghua committed
        this.initForm();
wangqinghua's avatar
wangqinghua committed
        this.isVisible = false;
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    tabsChange(index) {
wangqinghua's avatar
wangqinghua committed
        this.tabNum = index;
    }

wangqinghua's avatar
wangqinghua committed
    //添加步骤
    addStep(){
        this.indexNo += 1;
        const data =
        {
            name:'',
            url:'',
            status_codes:200,
            posts:'',
            no:this.indexNo,
            timeout:'15',
            follow_redirects:'1',
            condition:'',
            faultCondition:'',
        };
        this.steps.push(data);
    }

    deleteStep(index){
        this.steps.splice(index,1);
    }
wangqinghua's avatar
wangqinghua committed
}