From 072f1c666b2367a1feafcb94dacc620ebc341ef6 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Wed, 27 Dec 2017 09:40:10 +0800
Subject: [PATCH] Merge branch 'develop' of http://blit.7drlb.com:8888/r/screen-frontend into develop

---
 .gitignore                                            |    2 
 src/app/routes/devices/version/version.component.html |   60 ++++++++++++++
 src/app/routes/devices/version/version.component.ts   |  124 ++++++++++++++++++++++++++++++
 3 files changed, 182 insertions(+), 4 deletions(-)

diff --git a/.gitignore b/.gitignore
index 03e50e6..22ea4c3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -37,3 +37,5 @@
 .DS_Store
 Thumbs.db
 .angulardoc.json
+yarn.lock
+
diff --git a/src/app/routes/devices/version/version.component.html b/src/app/routes/devices/version/version.component.html
index eca275a..3129a38 100644
--- a/src/app/routes/devices/version/version.component.html
+++ b/src/app/routes/devices/version/version.component.html
@@ -1,3 +1,57 @@
-<p>
-  version works1!
-</p>
+<pro-header [title]="grid.title"></pro-header>
+<nz-card [nzBordered]="false">
+    	<div class="mb-md">
+                <button nz-button (click)="add()" [nzType]="'primary'" [nzSize]="'large'">
+                    <i class="anticon anticon-plus"></i><span>������</span>
+                </button>
+                <ng-container *ngIf="grid.selectedIndexs.length > 0"> &nbsp;
+                <button nz-button [nzSize]="'large'" (click)="remove()">������������</button>
+                </ng-container>
+                <nz-input [ngStyle]="{'width': '280px','float':'right'}" [(ngModel)]="queryMap.value" name=""  [nzPlaceHolder]="queryMap.text"
+                (change)="queryTextChanged($event)" ></nz-input>
+        </div>
+    	<div class="mb-md">
+                <nz-alert *ngIf="grid.selectedIndexs.length > 0" [nzType]="'info'" [nzShowIcon]="true"> 
+                    <span alert-body>
+                         ���������<strong class="text-primary">{{grid.selectedIndexs.length}}</strong>���
+                    </span> 
+                </nz-alert>
+    </div>
+    <nz-table #nzTable
+              [nzAjaxData]="grid.data"              
+              [nzTotal]="grid.total"
+              [(nzPageIndex)]="grid.pageIndex"
+              [(nzPageSize)]="grid.pageSize"
+              [nzLoading]="http.loading"
+              [nzShowTotal]="true"
+              (nzPageIndexChange)="load()"
+              (nzDataChange)="dataChange($event)">
+              <thead nz-thead>
+                  <tr>
+                    <th nz-th [nzCheckbox]="true">
+                        <label nz-checkbox [(ngModel)]="grid.allChecked" [nzIndeterminate]="grid.indeterminate" (ngModelChange)="grid.checkAll($event)"></label>
+                    </th>
+                    <th nz-th *ngFor="let col of grid.columns"
+                     [ngStyle]="{'width':col.width,'text-align':col['align'] === undefined?'left':col.align}" >
+                           <span>{{ col.text }}</span>
+                    </th>
+                  </tr>
+              </thead>
+              <tbody nz-tbody>
+                <tr nz-tbody-tr *ngFor="let row of nzTable.data">
+                    <td nz-td [nzCheckbox]="true">
+                       <label nz-checkbox [(ngModel)]="row.checked" (ngModelChange)="grid.refreshStatus($event)"></label>
+                    </td>
+                    <td nz-td *ngFor="let col of grid.columns"
+                    [ngStyle]="{'width':col.width,'text-align':col['align'] === undefined?'left':col.align}">
+                        <span [ngSwitch]="col.type">
+                             <!-- ������������������������������������ -->
+                            <span *ngSwitchDefault> {{ row[col.name]|tyepHandle:col }} </span>
+                             <!-- ������������������������������������ -->        
+                        </span>
+                    </td>
+                </tr>
+              </tbody>
+              </nz-table>
+  </nz-card>
+  
diff --git a/src/app/routes/devices/version/version.component.ts b/src/app/routes/devices/version/version.component.ts
index 3297984..28cc822 100644
--- a/src/app/routes/devices/version/version.component.ts
+++ b/src/app/routes/devices/version/version.component.ts
@@ -1,5 +1,23 @@
+import { Subject } from 'rxjs/Subject';
+import '../../../rxjs-operators';
+import { ToolsService } from '@core/services/tools.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 { environment } from '../../../../environments/environment';
+import { DateService } from '@core/services/date.service';
+import { VersionService } from 'app/routes/devices/version/version.service';
+import { Types } from '@core/enum/types.enum';
+import { Column, Grid, PageBean } from '@core/entity/grid';
 
+interface DeviceVersion {
+  createTime: Column;
+  description: Column;
+  id?: Column;
+  name: Column;
+  version: Column;
+}
 @Component({
   selector: 'app-version',
   templateUrl: './version.component.html',
@@ -7,9 +25,113 @@
 })
 export class VersionComponent implements OnInit {
 
-  constructor() { }
+  grid: Grid = new Grid(null);
+  queryMap = { text: '������������������������', value: ''};
+  queryTextStream: Subject<string> = new Subject<string>();
+    private initPage() {
+    const columns: DeviceVersion = {
+       name: {
+        text: '������',
+        width: '22%'
+       },
+       version: {
+        text: '������',
+        width: '22%'
+      },
+      createTime: {
+          text: '������������',
+          width: '22%',
+          type: {
+            name: Types.Date,
+            format: 'YYYY-MM-DD HH:mm:ss'
+          }
+      },
+      description: {
+          text: '������',
+          width: '22%'
+      }
+    };
+    this.grid.title = '������������';
+    this.grid.setColumns(columns);
+    this.grid.pageSize = 10;
+  }
+  constructor(
+    public http: HttpClient,
+    private versionService: VersionService,
+    public dateSrv: DateService,
+    public msgSrv: NzMessageService,
+    private modalHelper: ModalHelper,
+    private toolsService: ToolsService) {}
 
   ngOnInit() {
+    this.initPage();
+    this.queryTextStream
+    .debounceTime(1000)
+    .distinctUntilChanged()
+    .subscribe(queryText => {
+        this.load();
+    });
+  }
+  queryTextChanged($event) {
+      // tslint:disable-next-line:no-debugger
+      debugger;
+      this.queryTextStream.next(this.queryText);
+  }
+  load(reload: boolean = false) {
+    if (reload) {
+      this.grid.pageIndex = 1 ;
+    }
+    this.versionService.getPagingList(this.grid, this.queryText).subscribe(
+       (res: PageBean) => {
+            if (res.total > 0 && res.data != null) {
+              this.grid.initData(res);
+              this.grid.refreshStatus();
+            }
+       }
+    );
+  }
+
+  edit() {
+    // this.modalHelper.static(VersionEditComponent, { user }).subscribe(() => {
+    //   this.load(true);
+    //   this.msgSrv.success('���������������������������');
+    // });
+  }
+
+  add() {
+    // const user = {};
+    // this.modalHelper.static(VersionEditComponent, { user }).subscribe(() => {
+    //   this.load(true);
+    //   this.msgSrv.success('���������������������������');
+    // });
+  }
+
+  delete(user) {
+    this.http.delete(environment.SERVER_BASH_URL + '/user/operate_user/' + user.id).subscribe((res: any) => {
+      this.msgSrv.success('���������������������������');
+      this.load(true);
+    });
+  }
+
+  remove() {
+
+  }
+
+
+  dataChange(res: any) {
+
+  }
+
+  sort(field: string, value: any) {
+    // this.sortMap = {};
+    // this.sortMap[field] = value;
+    // this.q.sorter = value ? `${field}_${value}` : '';
+    // this.load(true);
+  }
+
+  reset(ls: any[]) {
+    for (const item of ls) item.value = false;
+    this.load(true);
   }
 
 }

--
Gitblit v1.8.0