From 904bca110bbd3cd7775c7dcbfabf0447f03e4c91 Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Mon, 08 Jan 2018 11:55:21 +0800 Subject: [PATCH] 账户 管理 --- src/app/core/entity/grid.ts | 29 +++++++++++++++++++++++++---- 1 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/app/core/entity/grid.ts b/src/app/core/entity/grid.ts index a66711d..3a1ac82 100644 --- a/src/app/core/entity/grid.ts +++ b/src/app/core/entity/grid.ts @@ -1,11 +1,19 @@ -import { Type } from '@angular/core'; +import { Column } from '@core/entity/grid'; import { Types } from '@core/enum/types.enum'; + +export interface AreaNames { + provinceName?: string; + cityName?: string; + areaName?: string; +} export interface Column { text?: string; name?: string; width?: string; - sort?: boolean; + sort?: string; + isSort?: boolean; type?: DataType; + format?: (value: any, col: Column, row: any) => string; } export interface DataType { name: Types; @@ -18,8 +26,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 +48,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