From 3bbe9a88d9ab747ee2e4f01128547efd1fc20038 Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Mon, 29 Jan 2018 16:27:17 +0800 Subject: [PATCH] 编译精简完成 --- src/app/routes/systems/account/account-edit/account-edit.component.ts | 75 +++++++++++++++++++++++++++++++------ 1 files changed, 62 insertions(+), 13 deletions(-) diff --git a/src/app/routes/systems/account/account-edit/account-edit.component.ts b/src/app/routes/systems/account/account-edit/account-edit.component.ts index 52ec4e7..01a6157 100644 --- a/src/app/routes/systems/account/account-edit/account-edit.component.ts +++ b/src/app/routes/systems/account/account-edit/account-edit.component.ts @@ -1,9 +1,8 @@ -import {NzModalSubject, NzMessageService} from 'ng-zorro-antd'; +import {NzModalSubject} from 'ng-zorro-antd'; import {Component, OnInit} from '@angular/core'; -import {ModalHelper} from '@delon/theme'; import {HttpClient} from '@angular/common/http'; import {environment} from '../../../../../environments/environment'; -import {DateService} from '../../../../core/services/date.service'; +import {FormGroup, FormBuilder, FormControl, Validators} from '@angular/forms'; @Component({ selector: 'app-account-edit', @@ -13,25 +12,75 @@ export class AccountEditComponent implements OnInit { account: any; + validateForm: FormGroup; + searchOptions = []; - constructor(private modalHelper: ModalHelper, + constructor( private subject: NzModalSubject, - public dateSrv: DateService, - public msgSrv: NzMessageService, - public http: HttpClient) {} + public http: HttpClient, + private formBuilder: FormBuilder + ) { + + } ngOnInit() { - } - - save() { - this.http.post(environment.SERVER_BASH_URL + '/account/account', this.account).subscribe(() => { - this.subject.next('true'); - this.close(); + const account = this.account; + this.validateForm = this.formBuilder.group({ + accountName: [account.accountName], + mobile: [account.mobile], + email: [account.email], + weixin: [account.weixin], + organizationId: [account.organizationId], + expireTime: [account.expireTime], + id: [account.id] }); + this.searchOptions = account.organization ? [account.organization] : []; + } + + save() { + const validateForm = this.validateForm; + const controls = validateForm.controls; + if (validateForm.valid) { + for (const i in controls) { + controls[i].disable(); + } + this.http.post(environment.SERVER_BASH_URL + '/account/account', validateForm.value).subscribe(() => { + this.subject.next('true'); + this.close(); + }); + } else { + for (const i in controls) { + controls[i].markAsDirty(); + } + } } close() { this.subject.destroy(); } + check(accountName) { + const controlsAccountName = this.validateForm.controls.accountName; + if (accountName) { + this.http.get(environment.SERVER_BASH_URL + '/account/' + accountName).subscribe((res: any) => { + if (res.data > 0) { + controlsAccountName.setErrors({unique: true}); + } + }); + } else { + controlsAccountName.setErrors({required: true}); + } + } + + searchChange(searchText) { + if (searchText) { + const query = encodeURI(searchText); + if (query) { + this.http.get(environment.SERVER_BASH_URL + '/organization/list/' + query).subscribe((res: any) => { + this.searchOptions = res.data; + }); + } + } + } + } -- Gitblit v1.8.0