From f01d6b7e6bf8132524c1c2821fdcbbc5ca548369 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Fri, 29 Dec 2017 16:57:22 +0800
Subject: [PATCH] 设备型号完成

---
 src/app/core/entity/grid.ts |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/src/app/core/entity/grid.ts b/src/app/core/entity/grid.ts
index a66711d..4567923 100644
--- a/src/app/core/entity/grid.ts
+++ b/src/app/core/entity/grid.ts
@@ -1,10 +1,11 @@
-import { Type } from '@angular/core';
+import { Column } from '@core/entity/grid';
 import { Types } from '@core/enum/types.enum';
 export interface Column {
    text?: string;
    name?: string;
    width?: string;
-   sort?: boolean;
+   sort?: string;
+   isSort?: boolean;
    type?: DataType;
 }
 export interface DataType {
@@ -18,8 +19,21 @@
     total?: number;
     data?: any[];
     queryParams?: string;
+    orderByClause?: string;
+    getOrderByClause ?(): string;
 }
 export class Grid<T> implements PageBean {
+    getOrderByClause(): string {
+        const orderby = this.sorts.map( (fn) => {
+          return this.columns.find( (col: Column) => {
+                 return fn === col.name;
+           } );
+        }).map( (col: Column) => {
+            const sort = col.sort.startsWith('asc') ? 'asc' : 'desc' ;
+            return col.name + '||' + sort;
+        }).join('|||');
+        return  encodeURI(orderby);
+    }
     title = '';
     pageIndex = 0; // ������
     pageSize = 10; // ������������������
@@ -27,14 +41,14 @@
     total = 0;
     queryParams = '';   
     pages = 0; // ���������
-    queryMap?: any = {};
     size  = 0;  // ���������������������
     sorts?: any[] = [];
+    loading = false;
     indeterminate = false;
     allChecked = false;
     selectedIndexs?: number[] = []; // ������������������
     columns?: Column[] = [];    
-    
+
     checkAll(value: boolean) {
         this.data.forEach(
             row => {row['checked'] = value; }

--
Gitblit v1.8.0