From 55fdd88d12e656fae07f54e53af60fcf3bb19c8a Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期二, 26 三月 2024 17:12:09 +0800 Subject: [PATCH] 动态按钮封装方法-表格树添加默认新增子级按钮 --- Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue | 188 +++++++++++----------------------------------- 1 files changed, 46 insertions(+), 142 deletions(-) diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue index aefe368..774c6e4 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue @@ -1,47 +1,24 @@ <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> + <div :id="'UI-dynamic-'+areasName+componentVO.oid" class="UI-dynamic"> + <avue-crud ref="dataTable" + v-model="form" + :data="tableList" + :option="option" + :page.sync="pageType" + :table-loading="loading" + @selection-change="selectChange"> + <!--top鍖哄煙鎸夐挳--> + <template slot="menuLeft" slot-scope="scope"> + <dynamic-button :butttonList="componentVO.buttons" :selectList="selectList" LocationType="top" + type="table"></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 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> + <!--menu鍖哄煙鎸夐挳--> + <template slot="menu" slot-scope="scope"> + <dynamic-button :butttonList="componentVO.buttons" :scope="scope" :selectList="selectList" LocationType="menu" + type="table"></dynamic-button> + </template> + </avue-crud> </div> </template> @@ -75,29 +52,30 @@ type: Boolean, default: true }, - dataStore:{ + dataStore: { //寮圭獥鏃舵寜閽墍灞炲尯鍩熼�変腑鏁版嵁 - type:Array, + type: Array, default: [] }, - tableType:{ - type:String + tableType: { + type: String } }, data() { return { - parentHeight:'100%',//褰撳墠缁勪欢鏍硅妭鐐瑰厓绱犻珮搴� + parentHeight: '100%',//褰撳墠缁勪欢鏍硅妭鐐瑰厓绱犻珮搴� form: {}, loading: false, page: { pageSize: 10, currentPage: 1, - total: 5, + total: 50, }, - TreePage:{ - pageSize: 10, + simplePage: { currentPage: 1, - total: 5, + total: 100, + pagerCount: 4, + layout: "prev, pager, next" }, //琛ㄦ牸鏁版嵁 tableList: [ @@ -499,92 +477,15 @@ addBtn: false, editBtn: false, delBtn: false, - selection:true, + selection: true, + tip: false, 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:[] + selectList: [], } }, computed: { @@ -603,14 +504,17 @@ }; }); }, + pageType() { + return this.areasName === 'westArea' ? this.simplePage : this.page; + } }, - watch:{ - parentHeight:{ + watch: { + parentHeight: { handler(newval) { - if(newval >50){ - this.option.height=newval; + if (newval > 50) { + this.option.height = newval; //doLayout涓嶇敓鏁堬紝鎵嬪姩璁剧疆琛ㄦ牸楂樺害 - this.$children[0].$children[1].$children[1].$children[0].$el.style.height=newval+'px'; + this.$children[0].$children[1].$children[1].$children[0].$el.style.height = newval + 'px'; /*this.$nextTick(() => { if (this.$refs.dataTable && this.$refs.dataTable.doLayout) { this.$refs.dataTable.doLayout(); @@ -619,28 +523,28 @@ } } }, - isShow:{ + isShow: { handler(newval) { - if(newval && this.$el.clientHeight>50) { + if (newval && this.$el.clientHeight > 50) { this.parentHeight = this.$el.clientHeight - this.$children[0].$children[1].$children[0].$el.clientHeight - this.$children[0].$children[2].$el.clientHeight - 5; } } } }, created() { - this.option.column=this.updatedColumns; + this.option.column = this.updatedColumns; }, mounted() { - if(this.$el.clientHeight>50) { + if (this.$el.clientHeight > 50) { //鐖跺厓绱犻珮搴�-鎸夐挳楂樺害-鍒嗛〉楂樺害 this.parentHeight = this.$el.clientHeight - this.$children[0].$children[1].$children[0].$el.clientHeight - this.$children[0].$children[2].$el.clientHeight - 5; } }, methods: { - selectChange(row){ + selectChange(row) { this.selectList = row; }, - TreeSelectChange(row){ + TreeSelectChange(row) { this.TreeSelectList = row; } } -- Gitblit v1.9.3