From 6efb2a0076a544b5714bccba214d81904264540d Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Tue, 12 Jun 2018 08:49:31 +0800
Subject: [PATCH] 报表展示 增加镇村选项
---
src/app/routes/devices/basic-info/device-edit/device-edit.component.ts | 40 +++++++++++++++++++++++++++++++++++-----
1 files changed, 35 insertions(+), 5 deletions(-)
diff --git a/src/app/routes/devices/basic-info/device-edit/device-edit.component.ts b/src/app/routes/devices/basic-info/device-edit/device-edit.component.ts
index 3fa4dfb..15870e2 100644
--- a/src/app/routes/devices/basic-info/device-edit/device-edit.component.ts
+++ b/src/app/routes/devices/basic-info/device-edit/device-edit.component.ts
@@ -3,7 +3,7 @@
import { VersionService } from '@business/services/http/version.service';
import { MonitorPointService } from '@business/services/http/monitor-point.service';
import { NzModalSubject } from 'ng-zorro-antd';
-import { FormBuilder, FormGroup, Validators } from '@angular/forms';
+import { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';
import { DeviceService } from '@business/services/http/device.service';
import { Component, OnInit } from '@angular/core';
import { Device} from '@business/entity/data';
@@ -11,7 +11,8 @@
import { PageBean, ResultBean } from '@business/entity/grid';
import { _HttpClient } from '@delon/theme';
import { environment } from '@env/environment';
-import { debug } from 'util';
+import { ExampleService } from '@business/services/util/example.service';
+import { Observable } from 'rxjs/Observable';
@Component({
selector: 'app-device-edit',
@@ -30,11 +31,18 @@
private monitorPointService: MonitorPointService,
private versionService: VersionService,
private operateUserService: OperateUserService,
+ private deviceService:DeviceService,
private http:_HttpClient
) { }
data: Device;
+ //������������������
+ originalData: Device = {};
validateForm: FormGroup;
ngOnInit() {
+ debugger;
+ if(!!this.data){
+ Object.assign(this.originalData,this.data);
+ }
const data = this.data;
this.monitorPointChange(null);
this.deviceVersionChange(null);
@@ -43,10 +51,9 @@
if (this.data.createTime == null) {
this.data.createTime = new Date().getTime();
}
- debugger;
const validates: Device = {
name: [data.name, [Validators.required]],
- mac: [data.mac, [Validators.required]],
+ mac: [data.mac, [Validators.required],[this.macAsyncValidator]],
deviceVersionId: [data.deviceVersionId],
monitorPointId: [data.monitorPointId],
professionId: [data.professionId],
@@ -62,6 +69,30 @@
validates
);
}
+ macAsyncValidator = (control: FormControl): any => {
+ return Observable.create(observer =>{
+ // ���������������mac���������
+ if(!!this.originalData&&this.originalData.mac === control.value){
+ observer.next(null);
+ observer.complete();
+ }else {
+ const exampleService = new ExampleService();
+ exampleService.or().andEqualTo({name:'mac',value:control.value});
+ this.deviceService.countByExample(exampleService).subscribe(
+ res => {
+ debugger;
+ if(!!res.code&&!!res.data){
+ observer.next({ error: true, duplicated: true });
+ }else{
+ observer.next(null);
+ }
+ observer.complete();
+ }
+ );
+ }
+
+ });
+ };
close() {
this.subject.destroy();
}
@@ -79,7 +110,6 @@
this.http.get<ResultBean<any[]>>(environment.SERVER_BASH_URL+"profession/getall").subscribe(
result => {
if(!!result.code){
- debugger;
this.professions = result.data;
}
}
--
Gitblit v1.8.0