From 4754120748b4fb947a4cef0137c5f0192dc28cec Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期五, 22 三月 2024 10:38:16 +0800
Subject: [PATCH] 表格树

---
 Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue |  120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 116 insertions(+), 4 deletions(-)

diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue
index eebd67d..aefe368 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue
@@ -1,5 +1,6 @@
 <template>
-  <div class="UI-dynamic" :id="'UI-dynamic-'+areasName+componentVO.oid">
+  <div>
+    <div class="UI-dynamic" :id="'UI-dynamic-'+areasName+componentVO.oid" v-if="tableType === 'table'">
       <avue-crud v-model="form"
                  ref="dataTable"
                  :data="tableList"
@@ -18,6 +19,30 @@
         </template>
       </avue-crud>
     </div>
+
+    <div class="UI-dynamic" :id="'UI-dynamic-'+areasName+componentVO.oid" v-if="tableType === 'TreeTable'">
+      <avue-crud v-model="TreeForm"
+                 :option="TreeOption"
+                 :data="TreeData"
+                 :page.sync="TreePage"
+                 ref="treeTable"
+                 @selection-change="TreeSelectChange">
+        <template #icon="scope">
+          <i :class="scope.row.icon"
+             style="font-size:24px"></i>
+        </template>
+        <!--top鍖哄煙鎸夐挳-->
+        <template slot="menuLeft" slot-scope="scope">
+          <dynamic-button LocationType="top" type="table":butttonList="componentVO.buttons" :selectList="selectList"></dynamic-button>
+        </template>
+
+        <!--menu鍖哄煙鎸夐挳-->
+        <template slot="menu" slot-scope="scope">
+          <dynamic-button :scope="scope" LocationType="menu" type="table":butttonList="componentVO.buttons" :selectList="selectList"></dynamic-button>
+        </template>
+      </avue-crud>
+    </div>
+  </div>
 </template>
 
 <script>
@@ -55,15 +80,21 @@
       type:Array,
       default: []
     },
+    tableType:{
+      type:String
+    }
   },
   data() {
     return {
       parentHeight:'100%',//褰撳墠缁勪欢鏍硅妭鐐瑰厓绱犻珮搴�
       form: {},
-      formName: '',
       loading: false,
-      visible: false,
       page: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 5,
+      },
+      TreePage:{
         pageSize: 10,
         currentPage: 1,
         total: 5,
@@ -475,7 +506,85 @@
         menuFixed: false,
         column: [],
       },
-      selectList:[]
+      selectList:[],
+      //琛ㄦ牸鏍�
+      TreeForm:{},
+      TreeOption:{
+        height: '100%',
+        addBtn:false,
+        editBtn:false,
+        delBtn:false,
+        selection: true,
+        calcHeight: 15,
+        indexFixed: false,
+        menuFixed: false,
+        column: [
+          {
+            label: '浜嬩欢',
+            prop: 'event',
+            align: 'left',
+            width: 200
+          },
+          {
+            label: '鏃堕棿绾�',
+            prop: 'timeLine'
+          },
+          {
+            label: '澶囨敞',
+            prop: 'comment'
+          }
+        ],
+        rowKey: 'id',
+        rowParentKey: 'parentId',
+
+      },
+      TreeData:[
+        {
+          id: 10,
+          event: '浜嬩欢1',
+          timeLine: 50,
+          comment: '鏃�'
+        },
+        {
+          id: 1,
+          event: '浜嬩欢1',
+          timeLine: 100,
+          comment: '鏃�',
+          children: [
+            {
+              parentId: 1,
+              id: 2,
+              event: '浜嬩欢2',
+              timeLine: 10,
+              comment: '鏃�'
+            },
+            {
+              parentId: 1,
+              id: 3,
+              event: '浜嬩欢3',
+              timeLine: 90,
+              comment: '鏃�',
+              children: [
+                {
+                  parentId: 3,
+                  id: 4,
+                  event: '浜嬩欢4',
+                  timeLine: 5,
+                  comment: '鏃�'
+                },
+                {
+                  parentId: 3,
+                  id: 5,
+                  event: '浜嬩欢5',
+                  timeLine: 10,
+                  comment: '鏃�'
+                }
+              ]
+            }
+          ]
+        }
+      ],
+      TreeSelectList:[]
     }
   },
   computed: {
@@ -530,6 +639,9 @@
   methods: {
     selectChange(row){
       this.selectList = row;
+    },
+    TreeSelectChange(row){
+      this.TreeSelectList = row;
     }
   }
 }

--
Gitblit v1.9.3