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 | 351 +++++++++++++++++++++++----------------------------------- 1 files changed, 140 insertions(+), 211 deletions(-) diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue index 60a97c6..aefe368 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue @@ -1,24 +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" @buttonClick="buttonClick" ></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" @buttonClick="buttonClick" ></dynamic-button> - </template> - </avue-crud> - <!-- 琛ㄦ牸鍐呮寜閽搷浣滃璇濇琛ㄥ崟 --> - <dynamic-table-form ref="dynamicForm" :formList="formList" :title="formName" :visible.sync="visible" - style="display: none"></dynamic-table-form> + <!--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> @@ -52,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, @@ -460,178 +494,97 @@ ts: "2022-02-18 14:35:53.177" }, ], - // 琛ㄥ崟鏁版嵁 - formList: [ - { - comboxKey: null, - customClass: null, - data: null, - dateFormate: null, - defaultValue: "", - displayExtension: "", - extendAttrMap: null, - extendAttrString: null, - field: "name", - hidden: false, - keyAttr: true, - prefix: null, - readOnly: false, - referConfig: null, - required: true, - selectLibFlag: null, - showField: null, - suffix: '$', - text: "鍚嶇О", - tooltips: '鍚嶇О', - type: "text", - unique: false, - verify: "" - }, - { - comboxKey: null, - customClass: null, - data: null, - dateFormate: null, - defaultValue: "", - displayExtension: "", - extendAttrMap: null, - extendAttrString: null, - field: "code", - hidden: false, - keyAttr: false, - prefix: null, - readOnly: false, - referConfig: null, - required: false, - selectLibFlag: null, - showField: null, - suffix: null, - disabled:true, - text: "缂栫爜", - tooltips: null, - type: "text", - unique: false, - verify: "" - }, - { - comboxKey: "EnumReviewType", - customClass: null, - data: null, - dateFormate: null, - defaultValue: "department", - displayExtension: "", - extendAttrMap: null, - extendAttrString: null, - field: "reviewtype", - hidden: false, - keyAttr: false, - prefix: null, - readOnly: false, - referConfig: null, - required: false, - selectLibFlag: null, - showField: null, - suffix: null, - text: "绫诲瀷", - tooltips: null, - type: "combox", - unique: false, - verify: "", - dicData: [{ - label: '娴嬭瘯1', - value: 'department' - }, { - label: '娴嬭瘯2', - value: 'departments' - }] - }, - { - comboxKey: null, - customClass: null, - data: null, - dateFormate: null, - defaultValue: "", - displayExtension: "", - extendAttrMap: null, - extendAttrString: null, - field: "creator", - hidden: true, - keyAttr: false, - prefix: null, - readOnly: true, - referConfig: null, - required: false, - selectLibFlag: null, - showField: null, - suffix: null, - text: "鍒涘缓浜�", - tooltips: null, - type: "text", - unique: false, - verify: "" - }, - { - comboxKey: null, - customClass: null, - data: null, - dateFormate: "yyyy-MM-dd HH:mm:ss", - defaultValue: "", - displayExtension: "", - extendAttrMap: null, - extendAttrString: null, - field: "createtime", - hidden: true, - keyAttr: false, - prefix: null, - readOnly: false, - referConfig: null, - required: false, - selectLibFlag: null, - showField: null, - suffix: null, - text: "鍒涘缓鏃堕棿", - tooltips: null, - type: "datetime", - unique: false, - verify: "" - }, - { - comboxKey: null, - customClass: null, - data: null, - dateFormate: null, - defaultValue: "", - displayExtension: "", - extendAttrMap: null, - extendAttrString: null, - field: "content", - hidden: false, - keyAttr: false, - prefix: null, - readOnly: false, - referConfig: null, - required: false, - selectLibFlag: null, - showField: null, - suffix: null, - text: "澶囨敞", - tooltips: null, - type: "textarea", - unique: false, - verify: "" - }, - ], option: { index: true, 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: { @@ -684,35 +637,11 @@ } }, methods: { - buttonClick(scope, item) { - this.formName = item.name; - - function handleAdd() { - this.visible = true; - } - - function handleEdit() { - this.visible = true; - this.$refs.dynamicForm.form = scope.row; - } - - function handleDelete() { - this.$message.success('鍒犻櫎鎴愬姛锛�'); - } - - const methodHandlers = { - add: handleAdd.bind(this), - edit: handleEdit.bind(this), - delete: handleDelete.bind(this), - }; - - const method = item.paramVOS.buttonMethods; - const handler = methodHandlers[method]; - if (handler) { - handler(); - } else { - this.$message.error('璇烽噸鏂伴厤缃寜閽紒') - } + selectChange(row){ + this.selectList = row; + }, + TreeSelectChange(row){ + this.TreeSelectList = row; } } } -- Gitblit v1.9.3