From 8bd8986bdd426e5ee8ac5f610e286104adc166c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A6=BE=E5=87=A0=E6=B5=B7?= Date: Thu, 2 Jul 2020 23:16:10 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E7=94=A8=E8=A1=A8=E6=A0=BC=E7=BB=84?= =?UTF-8?q?=E4=BB=B6-=E6=9B=B4=E6=94=B9getValue=E5=87=BD=E6=95=B0=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E9=80=BB=E8=BE=91=EF=BC=8C=E6=9B=B4=E6=94=B9Data?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common-table/common-table.component.html | 30 +++++++++---------- .../common-table/common-table.component.ts | 18 +++++------ .../admin/components/common-table/data.ts | 2 +- 3 files changed, 23 insertions(+), 27 deletions(-) diff --git a/src/app/view/admin/components/common-table/common-table.component.html b/src/app/view/admin/components/common-table/common-table.component.html index 7aed052..35a0ab3 100644 --- a/src/app/view/admin/components/common-table/common-table.component.html +++ b/src/app/view/admin/components/common-table/common-table.component.html @@ -9,35 +9,35 @@ [nzScroll]="{x:'1300px'}"> - - - {{headData.fieldName}} + + + {{data.title}} - - + - - + + + *ngTemplateOutlet="template[data.fieldValue].temp; context:getContext(data.fieldValue,index) "> - - {{ getValue(index, headData.fieldValue) }} + + {{ getValue(index, data.fieldValue) }} - - + {{action.name}} - + diff --git a/src/app/view/admin/components/common-table/common-table.component.ts b/src/app/view/admin/components/common-table/common-table.component.ts index 7f9d56c..b9c63bd 100644 --- a/src/app/view/admin/components/common-table/common-table.component.ts +++ b/src/app/view/admin/components/common-table/common-table.component.ts @@ -17,7 +17,7 @@ export class CommonTableComponent implements OnInit, OnChanges { /** * 设置readonly data 因为后面有使用eval 为了安全 */ - @Input() readonly data: Data[]; + @Input() headData: Data[]; @Input() request: RequestObj; @Input() cardTitle: string; @Input() template: { @@ -33,7 +33,7 @@ export class CommonTableComponent implements OnInit, OnChanges { ngOnInit(): void { if (!this.template) this.template = {} - this.data.forEach(dat => { + this.headData.forEach(dat => { if (!dat.action) return; dat.action.forEach(act => { if (!act.hover) { @@ -73,18 +73,14 @@ export class CommonTableComponent implements OnInit, OnChanges { } - getValue(index: number, fieldValue: string) { - let str = `this.dataList.list[${index}].` + fieldValue; - const regexp = /<|>|=|onload|$|{|}|《/ - str = str.replace(regexp, ''); - let value; + getValue(index: number, fieldValue: string): string { + let value = this.dataList.list[index]; try { - // tslint:disable-next-line:no-eval - value = eval(str); + for (const key of fieldValue.split('.')) value = value[key] } catch (e) { - value = null + // ignore } - return (value != null) ? value : '————'; + return (value != null) ? value.toString() : '————'; } getContext = (fieldValue: string, index: number) => { diff --git a/src/app/view/admin/components/common-table/data.ts b/src/app/view/admin/components/common-table/data.ts index 4eb528f..304b9cf 100644 --- a/src/app/view/admin/components/common-table/data.ts +++ b/src/app/view/admin/components/common-table/data.ts @@ -1,7 +1,7 @@ import {TemplateRef} from '@angular/core'; export class Data { - fieldName: string; + title: string; fieldValue: string; show: boolean = true; primaryKey?: boolean = false;