import {Component, OnInit} from '@angular/core';
import {SystemService} from '../../system.service';
import {NzMessageService} from 'ng-zorro-antd';

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

    isVisible = false;
    isDisabled = false;
    title;
    list = [];
    value = 0;
    first = {
        id:"",
        scValue:null,
        check:null
    };
    second = {
        id:"",
        scValue:null,
        check:null,
        comment:"",
    };
    third = {
        id:"",
        scValue:null,
        check:null,
        comment:"",
    };

    constructor(private systemSer: SystemService,private message:NzMessageService) {
    }

    ngOnInit() {}

    //查询三员分立
    separationPowerStatus() {
        this.systemSer.getSeparationConfig().subscribe(
            (res) => {
                if (res.errCode == 10000) {
                    this.first = res.data[0];
                    this.second = res.data[1];
                    this.third = res.data[2];
                    this.first.check =  this.first.scValue == 1 ? true : false;
                    this.second.check =  this.second.scValue == 1 ? true : false;
                    this.third.check =  this.third.scValue == 1 ? true : false;
                }
            }
        );
    }

    showModal(title) {
        this.title = title;
        this.isVisible = true;
        this.separationPowerStatus();
    }

    handleCancel() {
        this.isVisible = false;
    }

    changeValue(type) {
        switch (type) {
            case "1":{
                if(this.first.check){
                    this.systemSer.separationConfigOpen().subscribe(
                        (res) => {
                            if (res.data == 1) {
                                this.message.success("已开启三员分立功能");
                            } else {
                                this.message.error(res.errMsg);
                            }
                            this.separationPowerStatus();
                        }
                    )
                }else{
                    this.systemSer.separationConfigClose().subscribe(
                        (res) => {
                            if (res.data == 1) {
                                this.message.success("已关闭三员分立功能");
                            } else {
                                this.message.error(res.errMsg);
                            }
                            this.separationPowerStatus();
                        }
                    )
                }
                break;
            }
            case "3":{
                if(this.third.check){
                    this.systemSer.openSystem().subscribe(
                        (res) => {
                            if (res.data == 1) {
                               this.message.success("已开启组织用户管理");
                            } else {
                                this.message.error(res.errMsg);
                            }
                            this.separationPowerStatus();
                        }
                    )
                }else{
                    this.systemSer.closeSystem().subscribe(
                        (res) => {
                            if (res.data == 1) {
                                this.message.success("已关闭组织用户管理");
                            } else {
                                this.message.error(res.errMsg);
                            }
                            this.separationPowerStatus();
                        }
                    )
                }
                break;
            }
            case "2":{
                if(this.second.check){
                    this.systemSer.openAuth().subscribe(
                        (res) => {
                            if (res.data == 1) {
                                this.message.success("已开启角色与权限");
                            } else {
                                this.message.error(res.errMsg);
                            }
                            this.separationPowerStatus();
                        }
                    )
                }else{
                    this.systemSer.closeAuth().subscribe(
                        (res) => {
                            if (res.data == 1) {
                                this.message.success("已关闭角色与权限");
                            } else {
                                this.message.error(res.errMsg);
                            }
                            this.separationPowerStatus();
                        }
                    )
                }
                break;
            }
        }
    }

    //保存
    handleOk() {
        let arr = [];
        arr.push(this.first);
        arr = arr.concat(this.list);
      let arr1 = arr.map(res=>{
           const data = {
               id:res.id,
               scValue:null,
           };
           if(res.check){
               data.scValue = 0;
           }else{
               data.scValue = 1;
           }
           return data;
       });
      this.systemSer.updateValue(arr1).subscribe(
          (res)=>{
              if(res.errCode == 10000){
                  if(this.first.check){
                      this.message.success("已开启三员分立功能");
                  }else{
                      this.message.success("已关闭三员分立功能");
                  }
                  this.isVisible = false;
              }else{
                  this.message.error(res.errMsg);
              }
          }
      )

    }

}
