| | |
| | | import { ResultBean } from '@business/entity/grid'; |
| | | import { Subject } from 'rxjs/Subject'; |
| | | import {NzModalSubject, NzMessageService} from 'ng-zorro-antd'; |
| | | import {Component, OnInit} from '@angular/core'; |
| | | import {ModalHelper} from '@delon/theme'; |
| | | import {HttpClient} from '@angular/common/http'; |
| | | import {HttpClient, HttpResponse} from '@angular/common/http'; |
| | | import {environment} from 'environments/environment'; |
| | | import {DateService} from '@business/services/util/date.service'; |
| | | import {FormGroup, FormBuilder, FormControl, Validators} from '@angular/forms'; |
| | | import { catchError } from 'rxjs/operators'; |
| | | import { ErrorObservable } from 'rxjs/observable/ErrorObservable'; |
| | | |
| | | @Component({ |
| | | selector: 'app-edit', |
| | |
| | | |
| | | user: any; |
| | | public validateForm: FormGroup; |
| | | |
| | | constructor( |
| | | private modalHelper: ModalHelper, |
| | | constructor( |
| | | private subject: NzModalSubject, |
| | | public dateSrv: DateService, |
| | | public msgSrv: NzMessageService, |
| | | public http: HttpClient, |
| | | private formBuilder: FormBuilder |
| | | private formBuilder: FormBuilder, |
| | | ) {} |
| | | |
| | | ngOnInit() { |
| | |
| | | expireTime: [user.expireTime], |
| | | id: [user.id] |
| | | }); |
| | | const mobileControl = this.validateForm.get('mobile'); |
| | | mobileControl.valueChanges.filter(val => { |
| | | return val != null && val.trim() != ''; |
| | | }).debounceTime(900).distinctUntilChanged().subscribe( value => { |
| | | if(mobileControl.errors==null){ |
| | | mobileControl.setErrors({unique:true}) |
| | | this.http.get(environment.SERVER_BASH_URL + '/operateUser/unique-mobile?mobile='+value) |
| | | .pipe( |
| | | catchError(() => { |
| | | const req = <XMLHttpRequest>event.target; |
| | | if(req.status==401){ |
| | | this.subject.destroy(); |
| | | } |
| | | // 以错误的形式结束本次请求 |
| | | return ErrorObservable.create(event); |
| | | }) |
| | | ) |
| | | .subscribe( |
| | | (value:ResultBean<boolean>) => { |
| | | if(value.code == 1 && value.data){ |
| | | this.validateForm.get('mobile').setErrors(null); |
| | | } |
| | | } |
| | | ); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | save() { |