From 0e184df30a1d07a30d412e2d5fd91bc37711455d Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Wed, 10 Jan 2018 10:04:33 +0800
Subject: [PATCH] 安装用户 管理

---
 src/app/routes/users/installer/edit/edit.component.ts                          |   60 ++++++-----
 src/app/routes/users/alarm-user/alarm-user-edit/alarm-user-edit.component.html |    2 
 src/app/routes/users/installer/installer.component.html                        |   12 -
 src/app/routes/users/installer/edit/edit.component.html                        |   36 ++----
 src/app/routes/users/installer/installer.component.ts                          |   52 +++-------
 src/app/routes/systems/account/account.component.ts                            |    4 
 src/app/routes/users/alarm-user/alarm-user-edit/alarm-user-edit.component.ts   |   31 +++--
 src/app/routes/systems/account/account-edit/account-edit.component.html        |    8 
 src/app/routes/systems/account/account-edit/account-edit.component.ts          |   37 ++++---
 9 files changed, 110 insertions(+), 132 deletions(-)

diff --git a/src/app/routes/systems/account/account-edit/account-edit.component.html b/src/app/routes/systems/account/account-edit/account-edit.component.html
index 3ab5a28..b9d3adc 100644
--- a/src/app/routes/systems/account/account-edit/account-edit.component.html
+++ b/src/app/routes/systems/account/account-edit/account-edit.component.html
@@ -13,10 +13,10 @@
 			<div nz-form-explain *ngIf="validateForm.controls.accountName.dirty && validateForm.controls.accountName.hasError('unique')">���������������������!</div>
 		</div>
 		<div nz-form-label nz-col [nzSpan]="4">
-			<label nz-form-item-required>������</label>
+			<label>������</label>
 		</div>
 		<div nz-form-control nz-col [nzSpan]="8" nzHasFeedback>
-			<input nz-input maxlength="11" formControlName="mobile" required/>
+			<input nz-input maxlength="11" formControlName="mobile" />
 		</div>
 	</div>
 	<div nz-form-item nz-row class="mb-sm">
@@ -35,9 +35,9 @@
 	</div>
 	<div nz-form-item nz-row class="mb-sm">
 		<div nz-form-label nz-col [nzSpan]="4">
-			<label>������</label>
+			<label nz-form-item-required>������</label>
 		</div>
-		<div nz-form-control nz-col [nzSpan]="8" >
+		<div nz-form-control nz-col [nzSpan]="8" nzHasFeedback>
 			<nz-select style="width: 290px;" nzAllowClear [nzPlaceHolder]="'input search text'" [nzFilter]="false" nzShowSearch 
 				formControlName="organizationId" (nzSearchChange)="searchChange($event)" [nzNotFoundContent]="'������������'" > 
 				<nz-option *ngFor="let option of searchOptions"  [nzLabel]="option['name']" [nzValue]="option['id']"> </nz-option> 
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 4964b13..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
@@ -24,30 +24,33 @@
   }
 
   ngOnInit() {
+    const account = this.account;
     this.validateForm = this.formBuilder.group({
-      accountName: [this.account.accountName],
-      mobile: [this.account.mobile],
-      email: [this.account.email],
-      weixin: [this.account.weixin],
-      organizationId: [this.account.organizationId],
-      expireTime: [this.account.expireTime],
-      id: [this.account.id]
+      accountName: [account.accountName],
+      mobile: [account.mobile],
+      email: [account.email],
+      weixin: [account.weixin],
+      organizationId: [account.organizationId],
+      expireTime: [account.expireTime],
+      id: [account.id]
     });
-    this.searchOptions = this.account.organization ? [this.account.organization] : [];
+    this.searchOptions = account.organization ? [account.organization] : [];
   }
 
   save() {
-    if (this.validateForm.valid) {
-      for (const i in this.validateForm.controls) {
-        this.validateForm.controls[i].disable();
+    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', this.validateForm.value).subscribe(() => {
+      this.http.post(environment.SERVER_BASH_URL + '/account/account', validateForm.value).subscribe(() => {
         this.subject.next('true');
         this.close();
       });
     } else {
-      for (const i in this.validateForm.controls) {
-        this.validateForm.controls[i].markAsDirty();
+      for (const i in controls) {
+        controls[i].markAsDirty();
       }
     }
   }
@@ -57,14 +60,15 @@
   }
 
   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) {
-          this.validateForm.controls.accountName.setErrors({unique: true});
+          controlsAccountName.setErrors({unique: true});
         }
       });
     } else {
-      this.validateForm.controls.accountName.setErrors({required: true});
+      controlsAccountName.setErrors({required: true});
     }
   }
 
@@ -78,4 +82,5 @@
       }
     }
   }
+
 }
diff --git a/src/app/routes/systems/account/account.component.ts b/src/app/routes/systems/account/account.component.ts
index 053d41d..69ff1db 100644
--- a/src/app/routes/systems/account/account.component.ts
+++ b/src/app/routes/systems/account/account.component.ts
@@ -13,7 +13,7 @@
 
 export class AccountComponent implements OnInit {
 
-  isDeleteOptions = [
+  private isDeleteOptions = [
     {value: '1', label: '���'},
     {value: '0', label: '���'}
   ];
@@ -98,7 +98,7 @@
       }
     });
   }
-  
+
   checkAll(value: boolean) {
     this.data.forEach(i => {
       if (i.isDelete == '1') {
diff --git a/src/app/routes/users/alarm-user/alarm-user-edit/alarm-user-edit.component.html b/src/app/routes/users/alarm-user/alarm-user-edit/alarm-user-edit.component.html
index 2f23f91..9b8d9f3 100644
--- a/src/app/routes/users/alarm-user/alarm-user-edit/alarm-user-edit.component.html
+++ b/src/app/routes/users/alarm-user/alarm-user-edit/alarm-user-edit.component.html
@@ -1,7 +1,7 @@
 <div class="modal-header">
 	<div class="modal-title">{{alarmUser.id > 0 ? '������' : '������'}} - ������������</div>
 </div>
-<form #f="ngForm" (ngSubmit)="save()" nz-form [nzType]="'horizontal'" [formGroup]="validateForm">
+<form (ngSubmit)="save()" nz-form [nzType]="'horizontal'" [formGroup]="validateForm">
 	<div nz-form-item nz-row class="mb-sm">
 		<div nz-form-label nz-col [nzSpan]="4">
 			<label>���������</label>
diff --git a/src/app/routes/users/alarm-user/alarm-user-edit/alarm-user-edit.component.ts b/src/app/routes/users/alarm-user/alarm-user-edit/alarm-user-edit.component.ts
index 82e80f5..fa64f79 100644
--- a/src/app/routes/users/alarm-user/alarm-user-edit/alarm-user-edit.component.ts
+++ b/src/app/routes/users/alarm-user/alarm-user-edit/alarm-user-edit.component.ts
@@ -22,30 +22,33 @@
   ) {}
 
   ngOnInit() {
+    const alarmUser = this.alarmUser;
     this.validateForm = this.formBuilder.group({
-      name: [this.alarmUser.name],
-      mobile: [this.alarmUser.mobile, [Validators.pattern("^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8}$")]],
-      email: [this.alarmUser.email,[Validators.email]],
-      weixin: [this.alarmUser.weixin],
-      organizationId: [this.alarmUser.organizationId],
-      expireTime: [this.alarmUser.expireTime],
-      id: [this.alarmUser.id]
+      name: [alarmUser.name],
+      mobile: [alarmUser.mobile, [Validators.pattern("^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8}$")]],
+      email: [alarmUser.email, [Validators.email]],
+      weixin: [alarmUser.weixin],
+      organizationId: [alarmUser.organizationId],
+      expireTime: [alarmUser.expireTime],
+      id: [alarmUser.id]
     });
-    this.searchOptions = this.alarmUser.organization ? [this.alarmUser.organization] : [];
+    this.searchOptions = alarmUser.organization ? [alarmUser.organization] : [];
   }
 
   save() {
-    if (this.validateForm.valid) {
-      for (const i in this.validateForm.controls) {
-        this.validateForm.controls[i].disable();
+    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 + '/alarmUser/alarmUser', this.validateForm.value).subscribe(() => {
+      this.http.post(environment.SERVER_BASH_URL + '/alarmUser/alarmUser', validateForm.value).subscribe(() => {
         this.subject.next('true');
         this.close();
       });
     } else {
-      for (const i in this.validateForm.controls) {
-        this.validateForm.controls[i].markAsDirty();
+      for (const i in controls) {
+        controls[i].markAsDirty();
       }
     }
   }
diff --git a/src/app/routes/users/installer/edit/edit.component.html b/src/app/routes/users/installer/edit/edit.component.html
index 480658d..12a0a00 100644
--- a/src/app/routes/users/installer/edit/edit.component.html
+++ b/src/app/routes/users/installer/edit/edit.component.html
@@ -1,48 +1,36 @@
 <div class="modal-header">
   <div class="modal-title">{{user.id > 0 ? '������' : '������'}} - ������������</div>
 </div>
-<form #f="ngForm" (ngSubmit)="save()" nz-form [nzType]="'horizontal'">
+<form (ngSubmit)="save()" nz-form [nzType]="'horizontal'"  [formGroup]="validateForm">
   <div nz-form-item nz-row class="mb-sm">
-    <div nz-form-label nz-col [nzSpan]="4"><label>������</label></div>
-    <div nz-form-control nz-col [nzSpan]="8">
-      <input nz-input [(ngModel)]="user.name" name="name" maxlength="30" required />
+    <div nz-form-label nz-col [nzSpan]="4"><label nz-form-item-required>������</label></div>
+    <div nz-form-control nz-col [nzSpan]="8" nzHasFeedback>
+      <input nz-input formControlName="name" maxlength="30" required />
     </div>
-    <div nz-form-label nz-col [nzSpan]="4"><label>������</label></div>
-    <div nz-form-control nz-col [nzSpan]="8">
-      <input nz-input [(ngModel)]="user.mobile" name="mobile" maxlength="11" required />
+    <div nz-form-label nz-col [nzSpan]="4"><label nz-form-item-required>������/������</label></div>
+    <div nz-form-control nz-col [nzSpan]="8" nzHasFeedback>
+      <input nz-input formControlName="mobile" maxlength="11" required />
     </div>
   </div>
   <div nz-form-item nz-row class="mb-sm">
     <div nz-form-label nz-col [nzSpan]="4"><label>������������</label></div>
     <div nz-form-control nz-col [nzSpan]="8">
-      <input nz-input [(ngModel)]="user.email" name="email" required />
+      <input nz-input formControlName="email"/>
     </div>
     <div nz-form-label nz-col [nzSpan]="4"><label>���������</label></div>
     <div nz-form-control nz-col [nzSpan]="8">
-      <input nz-input [(ngModel)]="user.weixin" name="weixin" />
+      <input nz-input formControlName="weixin" />
     </div>
   </div>
   <div nz-form-item nz-row class="mb-sm">
     <div nz-form-label nz-col [nzSpan]="4"><label>������</label></div>
     <div nz-form-control nz-col [nzSpan]="8">
-      <input nz-input [(ngModel)]="user.organizationId" name="organizationId" maxlength="20" placeholder="20���������" />
-    </div>
-    <div nz-form-label nz-col [nzSpan]="4"><label>������</label></div>
-    <div nz-form-control nz-col [nzSpan]="8">
-      <input nz-input [(ngModel)]="user.password" name="password" maxlength="30" placeholder="30���������" required />
-    </div>
-  </div>
-  <div nz-form-item nz-row class="mb-sm">
-    <div nz-form-label nz-col [nzSpan]="4"><label>������������</label></div>
-    <div nz-form-control nz-col [nzSpan]="8">
-      <div nz-form-control [nzValidateStatus]="createTime">
-        <nz-datepicker [(ngModel)]="user.createTime" name="createTime"></nz-datepicker>
-      </div>
+      <input nz-input formControlName="organizationId" maxlength="20" placeholder="20���������" />
     </div>
     <div nz-form-label nz-col [nzSpan]="4"><label>������������</label></div>
     <div nz-form-control nz-col [nzSpan]="8">
-      <div nz-form-control [nzValidateStatus]="expireTime">
-        <nz-datepicker [(ngModel)]="user.expireTime" name="expireTime"></nz-datepicker>
+      <div nz-form-control >
+        <nz-datepicker style="width: 290px;" formControlName="expireTime"></nz-datepicker>
       </div>
     </div>
   </div>
diff --git a/src/app/routes/users/installer/edit/edit.component.ts b/src/app/routes/users/installer/edit/edit.component.ts
index fa8d5ff..6509fe4 100644
--- a/src/app/routes/users/installer/edit/edit.component.ts
+++ b/src/app/routes/users/installer/edit/edit.component.ts
@@ -1,9 +1,10 @@
-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 { environment } from '../../../../../environments/environment';
-import { DateService } from '../../../../core/services/date.service';
+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 {environment} from '../../../../../environments/environment';
+import {DateService} from '../../../../core/services/date.service';
+import {FormGroup, FormBuilder, FormControl, Validators} from '@angular/forms';
 
 @Component({
   selector: 'app-edit',
@@ -13,42 +14,47 @@
 export class UserInstallerEditComponent implements OnInit {
 
   user: any;
+  private validateForm: FormGroup;
 
   constructor(
     private modalHelper: ModalHelper,
     private subject: NzModalSubject,
     public dateSrv: DateService,
     public msgSrv: NzMessageService,
-    public http: HttpClient) { }
+    public http: HttpClient,
+    private formBuilder: FormBuilder
+  ) {}
 
   ngOnInit() {
-//    if (this.user.id > 0) {
-//      this.http.get(environment.SERVER_BASH_URL + '/user/operate_user/' + this.user.id).subscribe((res: any) => {
-//        this.user = res;
-//        this.user.createTime = this.dateSrv.date_format(this.user.createTime, 'YYYY-MM-DD');
-//        this.user.expireTime = this.dateSrv.date_format(this.user.expireTime, 'YYYY-MM-DD');
-//      });
-//    } else {
-//      this.user.createTime = this.dateSrv.today('YYYY-MM-DD');
-//      this.user.expireTime = this.dateSrv.today('YYYY-MM-DD');
-//    }
+    const user = this.user;
+    this.validateForm = this.formBuilder.group({
+      name: [user.name],
+      mobile: [user.mobile, [Validators.pattern("^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8}$")]],
+      email: [user.email],
+      weixin: [user.weixin],
+      organizationId: [user.organizationId],
+      expireTime: [user.expireTime],
+      id: [user.id]
+    });
   }
 
   save() {
-    if (this.user.name == null || this.user.name === '') {
-      this.msgSrv.error('���������������');
-    } else if (this.user.mobile == null || this.user.mobile === '') {
-      this.msgSrv.error('���������������');
-    } else if (this.user.email == null || this.user.email === '') {
-      this.msgSrv.error('���������������������');
-    } else if (this.user.password == null || this.user.password === '') {
-      this.msgSrv.error('���������������');
-    } else {
-      this.http.post(environment.SERVER_BASH_URL + '/operateUser/operateUser', this.user).subscribe(() => {
+    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 + '/operateUser/operateUser', validateForm.value).subscribe(() => {
         this.subject.next('true');
         this.close();
       });
+    } else {
+      for (const i in controls) {
+        controls[i].markAsDirty();
+      }
     }
+
   }
 
   close() {
diff --git a/src/app/routes/users/installer/installer.component.html b/src/app/routes/users/installer/installer.component.html
index 849b08c..9f6c4ab 100644
--- a/src/app/routes/users/installer/installer.component.html
+++ b/src/app/routes/users/installer/installer.component.html
@@ -12,7 +12,7 @@
       </div>
       <div nz-col [nzSpan]="8" class="mb-md">
         <div nz-form-item class="d-flex">
-          <div nz-form-label><label for="u_mobile">������</label></div>
+          <div nz-form-label><label for="u_mobile">������/������</label></div>
           <div nz-form-control class="flex-1">
             <nz-input [(ngModel)]="q.u_mobile" name="u_mobile" [nzSize]="'large'" [nzPlaceHolder]="'���������������'" nzId="u_mobile"></nz-input>
           </div>
@@ -20,7 +20,7 @@
       </div>
       <div nz-col [nzSpan]="8" class="mb-md">
         <button nz-button type="submit" [nzType]="'primary'" [nzLoading]="loading" [nzSize]="'large'">������</button>
-        <button nz-button type="reset" (click)="load(true)" [nzSize]="'large'" class="mx-sm">������</button>
+        <button nz-button type="reset" [nzSize]="'large'" class="mx-sm">������</button>
       </div>
     </div>
   </form>
@@ -41,7 +41,7 @@
   </div>
   <nz-table #nzTable
             [nzAjaxData]="data"
-            [nzLoading]="http.loading"
+            [nzLoading]="loading"
             [nzTotal]="total"
             [(nzPageIndex)]="q.pi"
             [nzPageSize]="q.ps"
@@ -53,10 +53,9 @@
         <label nz-checkbox [(ngModel)]="allChecked" [nzIndeterminate]="indeterminate" (ngModelChange)="checkAll($event)"></label>
       </th>
       <th nz-th><span>������</span></th>
-      <th nz-th><span>������</span></th>
+      <th nz-th><span>������/������</span></th>
       <th nz-th><span>������������</span></th>
       <th nz-th><span>���������</span></th>
-      <th nz-th><span>������</span></th>
       <th nz-th><span>������</span></th>
       <th nz-th><span>������������</span></th>
       <th nz-th>
@@ -76,18 +75,15 @@
       <td nz-td>{{i.mobile}}</td>
       <td nz-td>{{i.email}}</td>
       <td nz-td>{{i.weixin}}</td>
-      <td nz-td>{{i.password}}</td>
       <td nz-td>{{i.organizationId}}</td>
       <td nz-td>{{format_date(i.createTime)}}</td>
       <td nz-td>{{format_date(i.expireTime)}}</td>
       <td nz-td>
         <a (click)="edit(i)">������</a>
-        <ng-container *ngIf="i.isDelete == '0'">
         <span nz-table-divider></span>
           <nz-popconfirm [nzTitle]="'���������������������������?'" [nzOkText]="'Yes'" [nzCancelText]="'No'" (nzOnConfirm)="delete(i)" >
             <a nz-popconfirm>������</a>
           </nz-popconfirm>
-         </ng-container>
       </td>
     </tr>
     </tbody>
diff --git a/src/app/routes/users/installer/installer.component.ts b/src/app/routes/users/installer/installer.component.ts
index d1cacb7..f59a364 100644
--- a/src/app/routes/users/installer/installer.component.ts
+++ b/src/app/routes/users/installer/installer.component.ts
@@ -1,10 +1,10 @@
-import { Component, OnInit } from '@angular/core';
-import { NzMessageService } from 'ng-zorro-antd';
-import { ModalHelper } from '@delon/theme';
-import { HttpClient } from '@angular/common/http';
-import { UserInstallerEditComponent } from './edit/edit.component';
-import { environment } from '../../../../environments/environment';
-import { DateService } from '../../../core/services/date.service';
+import {Component, OnInit} from '@angular/core';
+import {NzMessageService} from 'ng-zorro-antd';
+import {ModalHelper} from '@delon/theme';
+import {HttpClient} from '@angular/common/http';
+import {UserInstallerEditComponent} from './edit/edit.component';
+import {environment} from '../../../../environments/environment';
+import {DateService} from '../../../core/services/date.service';
 
 @Component({
   selector: 'app-installer',
@@ -28,6 +28,7 @@
   allChecked = false;
   indeterminate = false;
   sortMap: any = {};
+  loading: boolean = true;
 
   constructor(
     public http: HttpClient,
@@ -44,39 +45,15 @@
       this.q.pi = 1;
     }
     this.http.get(environment.SERVER_BASH_URL + '/operateUser/list', {params: this.q}).subscribe((res: any) => {
-      // let data = res.data;
-      // const total = res.total;
-      //
-      // if (this.q.sorter !== '') {
-      //   const s = this.q.sorter.split('_');
-      //   data.sort((prev, next) => {
-      //     if (s[1] === 'descend') {
-      //       return moment(next[s[0]]).unix() - moment(prev[s[0]]).unix();
-      //     }
-      //     return moment(prev[s[0]]).unix() - moment(next[s[0]]).unix();
-      //   });
-      // }
-      //
-      // if (this.q.u_name) {
-      //   data = data.filter(d => d.name.indexOf(this.q.u_name) > -1);
-      // }
-      // if (this.q.u_mobile) {
-      //   data = data.filter(d => d.mobile.toString().indexOf(this.q.u_mobile) > -1);
-      // }
-      //
-      // const start = (this.q.pi - 1) * this.q.ps;
-      // this.data = data.slice(start, start + this.q.ps);
-      // this.total = total;
-
       this.data = res.data.data;
       this.total = res.data.total;
       this.dataChange(this.data);
-
+      this.loading = false;
     });
   }
 
   edit(user) {
-    this.modalHelper.static(UserInstallerEditComponent, { user }).subscribe(() => {
+    this.modalHelper.static(UserInstallerEditComponent, {user}).subscribe(() => {
       this.load(true);
       this.msgSrv.success('���������������������������');
     });
@@ -84,14 +61,14 @@
 
   add() {
     const user = {};
-    this.modalHelper.static(UserInstallerEditComponent, { user }).subscribe(() => {
+    this.modalHelper.static(UserInstallerEditComponent, {user}).subscribe(() => {
       this.load(true);
       this.msgSrv.success('���������������������������');
     });
   }
 
   delete(user) {
-    this.http.post(environment.SERVER_BASH_URL + '/operateUser/operateUser/id',user).subscribe((res: any) => {
+    this.http.post(environment.SERVER_BASH_URL + '/operateUser/operateUser/id', user).subscribe((res: any) => {
       this.msgSrv.success('���������������������������');
       this.load(true);
     });
@@ -103,6 +80,7 @@
       ids.push(i.id);
     });
     this.http.post(environment.SERVER_BASH_URL + '/operateUser/operateUsers/ids', ids).subscribe((res: any) => {
+      this.msgSrv.success('���������������������������');
       this.load(true);
     });
   }
@@ -144,6 +122,8 @@
   }
 
   format_date(date) {
-    return this.dateSrv.date_format(date, 'YYYY-MM-DD');
+    if (date) {
+      return this.dateSrv.date_format(date, 'YYYY-MM-DD');
+    }
   }
 }

--
Gitblit v1.8.0