- |
+ |
-
-
+
+
+ *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;
|