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 | 159 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 141 insertions(+), 18 deletions(-) diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue index 8da8fb6..aefe368 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue @@ -1,21 +1,47 @@ <template> - <div class="UI-dynamic" :id="'UI-dynamic-'+areasName+componentVO.oid"> - <avue-crud v-model="form" - ref="dataTable" - :data="tableList" - :option="option" - :page.sync="page" - :table-loading="loading"> - <!--top鍖哄煙鎸夐挳--> - <template slot="menuLeft" slot-scope="scope"> - <dynamic-button LocationType="top" type="table":butttonList="componentVO.buttons" ></dynamic-button> - </template> + <div> + <div class="UI-dynamic" :id="'UI-dynamic-'+areasName+componentVO.oid" v-if="tableType === 'table'"> + <avue-crud v-model="form" + ref="dataTable" + :data="tableList" + :option="option" + :page.sync="page" + :table-loading="loading" + @selection-change="selectChange"> + <!--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" ></dynamic-button> - </template> - </avue-crud> + <!--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 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> @@ -49,15 +75,26 @@ type: Boolean, default: true }, + dataStore:{ + //寮圭獥鏃舵寜閽墍灞炲尯鍩熼�変腑鏁版嵁 + 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, @@ -462,12 +499,92 @@ addBtn: false, editBtn: false, delBtn: false, + selection:true, height: '100%', calcHeight: 15, indexFixed: false, menuFixed: false, column: [], }, + 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: { @@ -520,6 +637,12 @@ } }, methods: { + selectChange(row){ + this.selectList = row; + }, + TreeSelectChange(row){ + this.TreeSelectList = row; + } } } </script> -- Gitblit v1.9.3