import { Component, Input, OnInit, ViewChild } from '@angular/core';
import { SFComponent, SFRadioWidgetSchema, SFSchema, SFStringWidgetSchema, SFUISchema } from '@delon/form';
import { NzMessageService } from 'ng-zorro-antd/message';
import { NzModalRef } from 'ng-zorro-antd/modal';
import { SystemService } from '../../../services/system.service';

@Component({
  selector: 'app-cart-config-action-modal',
  templateUrl: './cart-config-action-modal.component.html',
  styleUrls: ['./cart-config-action-modal.component.less']
})
export class CartConfigActionModalComponent implements OnInit {
  @ViewChild('sf', { static: false })
  sf!: SFComponent;
  i: any;
  schema!: SFSchema;
  ui: SFUISchema = {
    '*': {
      spanLabelFixed: 120,
      grid: { span: 24 }
    }
  };
  @Input()
  configType: number = 1;
  constructor(private modal: NzModalRef, public service: SystemService) {}

  ngOnInit(): void {
    this.initSF(this.i);
    console.log(this.configType);
  }
  initSF(staff: any) {
    let required: any = [];
    switch (this.configType) {
      case 1:
        required = ['phone1'];
        break;
      case 2:
        required = ['phone2'];
        break;
      case 3:
        required = ['phone3'];
        break;

      default:
        break;
    }
    this.schema = {
      properties: {
        phone1: {
          title: '车型',
          type: 'string',
          ui: {
            placeholder: '请输入',
            hidden: this.configType === 2 || this.configType === 3
          },
          default: staff.phone1
        },
        phone2: {
          title: '车长',
          type: 'string',
          ui: {
            placeholder: '请输入',
            addOnAfter: '米',
            hidden: this.configType === 1 || this.configType === 3
          } as SFStringWidgetSchema,
          default: staff.phone2
        },
        phone3: {
          title: '物品名称',
          type: 'string',
          ui: {
            placeholder: '请输入',
            hidden: this.configType === 1 || this.configType === 2
          },
          default: staff.phone3
        },
        roleId: {
          type: 'string',
          title: '状态',
          enum: [
            { label: '启用', value: 1 },
            { label: '停用', value: 0 }
          ],
          ui: {
            widget: 'radio'
          } as SFRadioWidgetSchema,
          default: staff?.roleId || 1
        }
      },
      required: required
    };
  }

  sure() {
    if (this.i.id === 0) {
      const params: any = {
        ...this.sf.value,
        roleId: this.sf.value.roleId,
        telephone: this.sf.value.phone,
        staffName: this.sf.value.name
      };
      // this.service.request(this.service.$api_addStaff, params).subscribe((res) => {
      //   console.log(res);
      //   if (res) {
      //     this.service.msgSrv.success('保存成功！');
      //     this.modal.close(true);
      //   }
      //   // this.showInviteFlag = true;
      //   // this.inviteCode = res.inviteCode;
      // });
    } else {
      const params: any = {
        appUserId: this.i.appUserId,
        staffName: this.sf.value.name,
        roleId: this.sf.value.roleId,
        telephone: this.i.telephone
      };
    }
  }

  close() {
    this.modal.destroy();
  }
}
