From c4d9e7a20dac267c5496ad3586c5053be279a17a Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期五, 26 四月 2024 20:09:59 +0800 Subject: [PATCH] 添加action,表单组件 --- Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue | 59 ++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 34 insertions(+), 25 deletions(-) diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue index 25d75c8..92ee092 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue @@ -16,7 +16,9 @@ @selection-change="selectChange"> <!--top鍖哄煙鎸夐挳--> <template slot="menuLeft" slot-scope="scope"> - <dynamic-button :componentVO="componentVO" :butttonList="componentVO.buttons" :dataStore="selectList" LocationType="top" :sourceData="sourceData" + <dynamic-button :componentVO="componentVO" + :key="areasName+'buttons-'+componentVO.oid" + :butttonList="componentVO.buttons" :dataStore="selectList" LocationType="top" :sourceData="sourceData" type="table"></dynamic-button> </template> @@ -85,6 +87,7 @@ }, data() { return { + currentDefineVO:this.componentVO.uiComponentType=='table'?this.componentVO.tableDefineVO:this.componentVO.treeTableDefineVO, parentHeight: '100%',//褰撳墠缁勪欢鏍硅妭鐐瑰厓绱犻珮搴� form: {}, query:{}, @@ -113,7 +116,7 @@ height: '100%', calcHeight: 15, indexFixed: false, - menuFixed: false, + menuFixed: this.areasName === 'westArea' ? false : 'right', searchMenuSpan:12, searchShow:false, column: [], @@ -175,11 +178,16 @@ created() { this.getParams(); this.option.column = this.updatedColumns(); + if (this.componentVO.uiComponentType == 'TreeTable') { + //鏍戣〃 + this.option.rowKey = this.currentDefineVO.treeCurrentField || 'oid'; + this.option.rowParentKey = this.currentDefineVO.treeParentField || 'parentOid' + } this.page = { - pageSize: this.componentVO.tableDefineVO.pageVO ? this.componentVO.tableDefineVO.pageVO.limit : 10, - currentPage: this.componentVO.tableDefineVO.pageVO? this.componentVO.tableDefineVO.pageVO.page :1, + pageSize: this.currentDefineVO.pageVO ? this.currentDefineVO.pageVO.limit : 10, + currentPage: this.currentDefineVO.pageVO ? this.currentDefineVO.pageVO.page : 1, total: 0, - pageSizes:this.componentVO.tableDefineVO.limits || [10, 20, 30, 40, 50, 100] + pageSizes: this.currentDefineVO.limits || [10, 20, 30, 40, 50, 100] }; }, mounted() { @@ -190,10 +198,10 @@ }, methods: { updatedColumns: function () { - const queryFields = !validatenull(this.componentVO.tableDefineVO.queryColumns) ? this.componentVO.tableDefineVO.queryColumns.map(item => item.field) : []; - return this.componentVO.tableDefineVO.cols[0].map(item => { + const queryFields = !validatenull(this.currentDefineVO.queryColumns) ? this.currentDefineVO.queryColumns.map(item => item.field) : []; + return this.currentDefineVO.cols[0].map(item => { const search = queryFields.includes(item.field); // 鍒ゆ柇 field 鏄惁鍦� queryColumns 閲� - if (this.componentVO.tableDefineVO.btmType == 'fileobject' && item.field == 'name') { + if (this.currentDefineVO.btmType == 'fileobject' && item.field == 'name') { //鏄枃浠� item.formatter = function (d) { return '<a class="layui-btn layui-btn-intable" lay-event="PREVIEW">' + d.name + '</a>' @@ -231,28 +239,29 @@ } } - return sourceDataMap; - }, - getParams: function () { - const tableParams = { - btmname: this.componentVO.tableDefineVO.btmType, - btmType:this.componentVO.tableDefineVO.btmType, - tableDefineId: this.componentVO.tableDefineVO.id, - componentOid: this.componentVO.oid, - uiDefineId: this.uiContext, - linkTypeFlag: this.componentVO.tableDefineVO.linkTypeFlag - }; - - const sourceDataMapList = this.sourceDataMapParams; - - if (this.paramVOS) { + if (Object.keys(this.paramVOS).length>0) { for (let i in this.paramVOS) { let item = this.paramVOS[i] if (item && item.constructor === Object) return; if (i == 'type' || i == 'context' || i == 'content') return; - sourceDataMapList['sourceData["' + i + '"]'] = item + sourceDataMap['sourceData["' + i + '"]'] = item } } + return sourceDataMap; + }, + getParams: function () { + const tableParams = { + btmname: this.currentDefineVO.btmType, + btmType:this.currentDefineVO.btmType, + tableDefineId: this.currentDefineVO.id, + componentOid: this.componentVO.oid, + uiDefineId: this.uiContext, + linkTypeFlag: this.currentDefineVO.linkTypeFlag, + treeTableFlag:this.componentVO.uiComponentType == 'TreeTable' + }; + + const sourceDataMapList = this.sourceDataMapParams; + this.params = Object.assign({},tableParams, sourceDataMapList); }, onLoad(page, params = {}) { @@ -287,7 +296,7 @@ this.$emit("setDataStore", { area: this.areasName, type:this.componentVO.uiComponentType, - btmType:this.componentVO.tableDefineVO.btmType, + btmType:this.currentDefineVO.btmType, dataStore:row }); }, -- Gitblit v1.9.3