From 4f65f8c746fced7bce54a1073e7cbfaf3b104713 Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Tue, 02 Jan 2018 15:51:29 +0800
Subject: [PATCH] 账户管理

---
 src/app/routes/devices/version/add-or-edit/add-or-edit.component.ts |   62 ++++++++++++++++++++++++++++++-
 1 files changed, 60 insertions(+), 2 deletions(-)

diff --git a/src/app/routes/devices/version/add-or-edit/add-or-edit.component.ts b/src/app/routes/devices/version/add-or-edit/add-or-edit.component.ts
index ca244f8..4e61d6d 100644
--- a/src/app/routes/devices/version/add-or-edit/add-or-edit.component.ts
+++ b/src/app/routes/devices/version/add-or-edit/add-or-edit.component.ts
@@ -1,4 +1,9 @@
+import { DeviceVersion } from './../version.component';
 import { Component, OnInit } from '@angular/core';
+import { HttpClient } from '@angular/common/http';
+import { NzMessageService, NzModalSubject } from 'ng-zorro-antd';
+import { DateService } from '@core/services/date.service';
+import { FormGroup, FormBuilder, Validators } from '@angular/forms';
 
 @Component({
   selector: 'app-add-or-edit',
@@ -6,10 +11,63 @@
   styles: []
 })
 export class AddOrEditComponent implements OnInit {
+ 
+  cols: DeviceVersion;
 
-  constructor() { }
+  data: DeviceVersion;
+  isSaving = false;
+  validateForm: FormGroup;
+  constructor(    
+    private subject: NzModalSubject,
+    private formBuilder: FormBuilder
+    ) { }
 
   ngOnInit() {
+     const validates: DeviceVersion = {
+          name: [this.data.name, [Validators.required] ],
+          version: [this.data.version == null ? 1 : this.data.version, [Validators.required] ],
+          createTime: [this.data.createTime, [Validators.required] ],
+          description: [this.data.description, [Validators.required] ]
+     };
+     this.validateForm = this.formBuilder.group(
+      validates
+     );
   }
-
+  close() {
+       this.subject.destroy();
+  }
+  save($event, value, valid) {
+      $event.preventDefault();
+      if (valid) {
+        for (const i in this.validateForm.controls) {
+          this.validateForm.controls[ i ].disable();
+        } 
+       const isModified =  Object.keys(value).some(
+          (key: string) => {
+              return this.data[key] !== value[key];    
+          } 
+        );
+        // ������������
+        if (!isModified) { 
+          this.close();
+          return;
+        }
+        this.isSaving = true;
+        Object.keys(this.data).forEach( (key: string) => {
+              if ( value[key] != null ) {
+                   this.data[key] = value[key];
+              }
+        } );
+        this.subject.next( this );
+      }else {
+          for (const i in this.validateForm.controls) {
+          this.validateForm.controls[ i ].markAsDirty();
+         } 
+      }
+  }
+  validate() {
+     for (const i in this.validateForm.controls) {
+       this.validateForm.controls[ i ].markAsDirty();
+     }
+  }
 }

--
Gitblit v1.8.0