Skip to content
create-group.component.ts 2.92 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Component, OnInit, Output} from '@angular/core';
wangqinghua's avatar
wangqinghua committed
import {
    FormBuilder,
    FormControl,
    FormGroup,
    ValidationErrors,
    Validators
} from '@angular/forms';
wangqinghua's avatar
wangqinghua committed
import {OverAllService} from '../../overAll/overAll.service';
import {NzMessageService} from 'ng-zorro-antd';
import {Observable, Observer} from 'rxjs';
import {EmitService} from '../../shared/event/eventEmitter';
import {EventEmitter} from '@angular/core';
wangqinghua's avatar
wangqinghua committed

@Component({
wangqinghua's avatar
wangqinghua committed
    selector: 'smart-create-group',
    templateUrl: './create-group.component.html',
    styles: []
wangqinghua's avatar
wangqinghua committed
})
export class CreateGroupComponent implements OnInit {
    @Output() add = new EventEmitter<any>();
wangqinghua's avatar
wangqinghua committed

    title;
wangqinghua's avatar
wangqinghua committed
    isCreate = false;
    validateForm: FormGroup;

wangqinghua's avatar
wangqinghua committed
    groupid;
wangqinghua's avatar
wangqinghua committed

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

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

wangqinghua's avatar
wangqinghua committed
    showModal(title): void {
        this.title = title;
        this.isCreate = true;
    }

    showEditModal(title,item){
wangqinghua's avatar
wangqinghua committed
        this.title = title;
wangqinghua's avatar
wangqinghua committed
        this.isCreate = true;
wangqinghua's avatar
wangqinghua committed
        this.groupid = item.groupid;
        this.validateForm.patchValue(item);
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    handleOk() {
wangqinghua's avatar
wangqinghua committed
        for (let i in this.validateForm.controls) {
wangqinghua's avatar
wangqinghua committed
            this.validateForm.controls[i].markAsDirty();
            this.validateForm.controls[i].updateValueAndValidity();
        }
        if(this.validateForm.invalid){
            return false;
        }

wangqinghua's avatar
wangqinghua committed
        if(this.title == '添加分组' || this.title == '添加模版组'){
wangqinghua's avatar
wangqinghua committed
            this.create();
        }else{
            this.update();
wangqinghua's avatar
wangqinghua committed
        }
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    create() {
wangqinghua's avatar
wangqinghua committed
        this.overAllSer.createGroup(this.validateForm.value).subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
                if (res.errCode == 10000) {
wangqinghua's avatar
wangqinghua committed
                    this.message.info('添加成功');
                    this.isCreate = false;
                    this.add.emit();
wangqinghua's avatar
wangqinghua committed
                    this.initForm();
                } 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
    update() {
        const data = {
            groupid:this.groupid,
            groupDescribe:this.validateForm.value.groupDescribe,
            name:this.validateForm.value.name
        }
        this.overAllSer.updataGroup(data).subscribe(
            (res) => {
                if (res.errCode == 10000) {
                    this.message.info('修改成功');
                    this.isCreate = false;
                    this.add.emit();
                    this.initForm();
                } else {
                    this.message.info(res.errMsg);
                }
            }
        );
wangqinghua's avatar
wangqinghua committed
    }

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

    //初始化
    initForm(){
        this.validateForm = this.fb.group({
            name: ['', [Validators.required]],
            groupDescribe: ['']
        });
wangqinghua's avatar
wangqinghua committed
    }

}