From 0b67fd879ccd4fb6319dc016babd3bb8ea79dff0 Mon Sep 17 00:00:00 2001
From: shikeying <pxzsky@163.com>
Date: 星期二, 25 四月 2023 18:47:35 +0800
Subject: [PATCH] 修改列表组件,支持属性子属性

---
 src/views/components/myTableV3.vue |   40 ++++++++++++++++++++++++++++++++--------
 1 files changed, 32 insertions(+), 8 deletions(-)

diff --git a/src/views/components/myTableV3.vue b/src/views/components/myTableV3.vue
index ec86898..6c38590 100644
--- a/src/views/components/myTableV3.vue
+++ b/src/views/components/myTableV3.vue
@@ -122,7 +122,8 @@
             <template v-else>
               <!--鐐瑰嚮寮瑰嚭鍗曞厓鏍煎唴瀹�-->
               <el-popover placement="top-start" trigger="click" :content="getPopoverContent(scope.row, column)">
-                <span slot="reference" class="content-text">{{ scope.row[column.field] }}</span>
+<!--                <span slot="reference" class="content-text">{{ scope.row[column.field] }}</span>-->
+                <span slot="reference" class="content-text">{{ splitField(scope.row, column.field) }}</span>
               </el-popover>
             </template>
           </template>
@@ -187,13 +188,14 @@
 </template>
 
 <script>
-import myButtonV2 from '@/views/components/myButtonV2'
-import myButton from '@/views/components/myButton'
-import mySwitch from './mySwitch'
-import request from '@/utils/request'
-import * as valid from '@/utils/validate'
-import previewPicture from '@/views/components/previewPicture'
-export default {
+  import myButtonV2 from '@/views/components/myButtonV2'
+  import myButton from '@/views/components/myButton'
+  import mySwitch from './mySwitch'
+  import request from '@/utils/request'
+  import * as valid from '@/utils/validate'
+  import previewPicture from '@/views/components/previewPicture'
+
+  export default {
   components: { myButtonV2, myButton, mySwitch, previewPicture },
   props: {
     table: {
@@ -348,6 +350,28 @@
     this.initTable()
   },
   methods: {
+    /**
+     * 瑙e喅锛歠ield涓睘鎬у灞炴�х殑鎯呭喌銆�2023-04-25
+     * @param row
+     * @param field
+     */
+    splitField(row, field){
+      if(field.indexOf('.') > -1){
+        const arr = field.split('.');
+        let fieldStr = '';
+        for(let i=0, len=arr.length; i<len; i++){
+          if(i == len - 1){
+            fieldStr += arr[i];
+          } else {
+            fieldStr += arr[i] + '.';
+          }
+        }
+        return eval('row.' + fieldStr);
+      } else {
+        return row[field];
+      }
+    },
+
     initTable() {
       if (this.table !== null) {
         Object.assign(this.myTable, this.table)

--
Gitblit v1.9.1