From 60b58b47cecd7611ad8df2561a84bf0548ad6ad9 Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Wed, 20 Dec 2017 13:54:45 +0800
Subject: [PATCH] Merge branch 'develop' of http://blit.7drlb.com:8888/r/screen-frontend.git into develop

---
 src/app/core/services/date.service.ts                   |   11 +++
 /dev/null                                               |   45 ---------------
 src/app/routes/users/installer/edit/edit.component.ts   |    6 +
 src/app/routes/users/installer/installer.component.html |   15 ++--
 src/app/routes/users/installer/installer.component.ts   |   77 +++++++++++++++----------
 src/app/app.module.ts                                   |    2 
 6 files changed, 72 insertions(+), 84 deletions(-)

diff --git a/_mock/installer.service.ts b/_mock/installer.service.ts
deleted file mode 100644
index a579dda..0000000
--- a/_mock/installer.service.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-const list = [];
-
-for (let i = 0; i < 50; i += 1) {
-  list.push({
-    key: i,
-    name: '������' + (i + 1),
-    sex: ['���', '���'][i % 2],
-    mobile: 13713713777 + i,
-    email: `test_${i + 1}@test.com`,
-    weixin: 'test' + (i + 1),
-    password: 'ISGMyneATSuhkiwz4BURBQ==',
-    organization: '������' + (i + 1),
-    nickname:  '������' + (i + 1),
-    updatedAt: new Date(`2017-07-${Math.floor(i / 2) + 1}`)
-  });
-}
-
-export function getInstaller(params: any) {
-  let ret = [...list];
-  if (params.sorter) {
-    const s = params.sorter.split('_');
-    ret = ret.sort((prev, next) => {
-      if (s[1] === 'descend') {
-        return next[s[0]] - prev[s[0]];
-      }
-      return prev[s[0]] - next[s[0]];
-    });
-  }
-  if (params.u_name) {
-    ret = ret.filter(data => data.name.indexOf(params.u_name) > -1);
-  }
-  if (params.u_mobile) {
-    ret = ret.filter(data => data.mobile.toString().indexOf(params.u_mobile) > -1);
-  }
-  return ret;
-}
-
-export function deleteInstaller(name: string): boolean {
-  const idx = list.findIndex(w => w.name === name);
-  if (idx !== -1) {
-    list.splice(idx, 1);
-    return true;
-  }
-  return false;
-}
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 84691c5..2d1fc5b 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -10,6 +10,7 @@
 import { AppComponent } from './app.component';
 import { RoutesModule } from './routes/routes.module';
 import { LayoutModule } from './layout/layout.module';
+import { DateService } from './core/services/date.service';
 import { StartupService } from './core/services/startup.service';
 import { DefaultInterceptor } from '@core/net/default.interceptor';
 import { AlainAuthModule, SimpleInterceptor } from '@delon/auth';
@@ -60,6 +61,7 @@
         { provide: HTTP_INTERCEPTORS, useClass: SimpleInterceptor, multi: true},
         { provide: HTTP_INTERCEPTORS, useClass: DefaultInterceptor, multi: true},
         { provide: ALAIN_I18N_TOKEN, useClass: I18NService, multi: false },
+        DateService,
         StartupService,
         {
             provide: APP_INITIALIZER,
diff --git a/src/app/core/services/date.service.ts b/src/app/core/services/date.service.ts
new file mode 100644
index 0000000..f49e6be
--- /dev/null
+++ b/src/app/core/services/date.service.ts
@@ -0,0 +1,11 @@
+import {Injectable} from '@angular/core';
+
+import * as moment from 'moment';
+
+@Injectable()
+export class DateService {
+
+  date_format(date: string, format: string) {
+    return moment(date).format('YYYY-MM-DD');
+  }
+}
diff --git a/src/app/routes/users/installer/edit/edit.component.ts b/src/app/routes/users/installer/edit/edit.component.ts
index bfa8e97..9d5b573 100644
--- a/src/app/routes/users/installer/edit/edit.component.ts
+++ b/src/app/routes/users/installer/edit/edit.component.ts
@@ -3,6 +3,7 @@
 import { ModalHelper } from '@delon/theme';
 import { HttpClient } from '@angular/common/http';
 import { environment } from '../../../../../environments/environment';
+import { DateService } from '../../../../core/services/date.service';
 
 @Component({
   selector: 'app-edit',
@@ -16,13 +17,16 @@
   constructor(
     private modalHelper: ModalHelper,
     private subject: NzModalSubject,
+    public dateSrv: DateService,
     public msgSrv: NzMessageService,
     public http: HttpClient) { }
 
   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.data[0];
+        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');
       });
     }
   }
diff --git a/src/app/routes/users/installer/installer.component.html b/src/app/routes/users/installer/installer.component.html
index 11daadb..ceab058 100644
--- a/src/app/routes/users/installer/installer.component.html
+++ b/src/app/routes/users/installer/installer.component.html
@@ -6,7 +6,7 @@
         <div nz-form-item class="d-flex">
           <div nz-form-label><label for="u_name">������</label></div>
           <div nz-form-control class="flex-1">
-            <nz-input [(ngModel)]="q.u_name" name="u_name" [nzSize]="'large'" [nzPlaceHolder]="'���������'" nzId="u_name"></nz-input>
+            <nz-input [(ngModel)]="q.u_name" name="u_name" [nzSize]="'large'" [nzPlaceHolder]="'���������������'" nzId="u_name"></nz-input>
           </div>
         </div>
       </div>
@@ -14,7 +14,7 @@
         <div nz-form-item class="d-flex">
           <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>
+            <nz-input [(ngModel)]="q.u_mobile" name="u_mobile" [nzSize]="'large'" [nzPlaceHolder]="'���������������'" nzId="u_mobile"></nz-input>
           </div>
         </div>
       </div>
@@ -40,13 +40,14 @@
     </nz-alert>
   </div>
   <nz-table #nzTable
-            [nzAjaxData]="data"
+            [nzDataSource]="data"
             [nzLoading]="http.loading"
             [nzTotal]="total"
             [(nzPageIndex)]="q.pi"
             [nzPageSize]="q.ps"
             [nzShowTotal]="true"
-            (nzPageIndexChange)="load()">
+            (nzPageIndexChange)="load()"
+            (nzDataChange)="dataChange($event)">
     <thead nz-thead>
     <tr>
       <th nz-th [nzCheckbox]="true">
@@ -61,7 +62,7 @@
       <th nz-th><span>������������</span></th>
       <th nz-th>
         <span>������������</span>
-        <nz-table-sort [(nzValue)]="sortMap.updatedAt" (nzValueChange)="sort('expireTime',$event)"></nz-table-sort>
+        <nz-table-sort [(nzValue)]="sortMap.updatedAt" (nzValueChange)="sort('expireTime', $event)"></nz-table-sort>
       </th>
       <th nz-th><span>������</span></th>
     </tr>
@@ -78,8 +79,8 @@
       <td nz-td>{{i.weixin}}</td>
       <td nz-td>{{i.password}}</td>
       <td nz-td>{{i.organizationId}}</td>
-      <td nz-td>{{i.createTime | _date}}</td>
-      <td nz-td>{{i.expireTime | _date}}</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>
         <span nz-table-divider></span>
diff --git a/src/app/routes/users/installer/installer.component.ts b/src/app/routes/users/installer/installer.component.ts
index 1aaec00..99bf082 100644
--- a/src/app/routes/users/installer/installer.component.ts
+++ b/src/app/routes/users/installer/installer.component.ts
@@ -2,9 +2,9 @@
 import { NzMessageService } from 'ng-zorro-antd';
 import { ModalHelper } from '@delon/theme';
 import { HttpClient } from '@angular/common/http';
-import * as moment from 'moment';
 import { UserInstallerEditComponent } from './edit/edit.component';
 import { environment } from '../../../../environments/environment';
+import { DateService } from '../../../core/services/date.service';
 
 @Component({
   selector: 'app-installer',
@@ -22,6 +22,7 @@
   };
   data: any[] = [];
   total: 0;
+
   selectedRows: any[] = [];
   curRows: any[] = [];
   allChecked = false;
@@ -30,6 +31,7 @@
 
   constructor(
     public http: HttpClient,
+    public dateSrv: DateService,
     public msgSrv: NzMessageService,
     private modalHelper: ModalHelper) {}
 
@@ -42,30 +44,32 @@
       this.q.pi = 1;
     }
     this.http.get(environment.SERVER_BASH_URL + '/user/operate_user', 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;
 
-      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;
+      this.total = res.total;
     });
   }
 
@@ -92,24 +96,31 @@
   }
 
   remove() {
+    const ids = [];
     this.selectedRows.forEach(i => {
-      this.http.delete(environment.SERVER_BASH_URL + '/user/operate_user/' + i.id).subscribe((res: any) => {
-        // TODO
-      });
+      ids.push(i.id);
     });
-    this.load(true);
+    console.log(ids);
+    this.http.post(environment.SERVER_BASH_URL + '/user/operate_user/deleteList', ids).subscribe((res: any) => {
+      this.load(true);
+    });
   }
 
   checkAll(value: boolean) {
     this.curRows.forEach(i => {
-      if (!i.disabled) i.checked = value;
+      i.checked = value;
     });
     this.refreshStatus();
   }
 
+  dataChange(res: any) {
+    this.curRows = res;
+    this.refreshStatus();
+  }
+
   refreshStatus() {
-    const allChecked = this.curRows.every(value => value.disabled || value.checked);
-    const allUnChecked = this.curRows.every(value => value.disabled || !value.checked);
+    const allChecked = this.curRows.every(value => value.checked);
+    const allUnChecked = this.curRows.every(value => !value.checked);
     this.allChecked = allChecked;
     this.indeterminate = (!allChecked) && (!allUnChecked);
     this.selectedRows = this.data.filter(value => value.checked);
@@ -126,4 +137,8 @@
     for (const item of ls) item.value = false;
     this.load(true);
   }
+
+  format_date(date) {
+    return this.dateSrv.date_format(date, 'YYYY-MM-DD');
+  }
 }

--
Gitblit v1.8.0