From a9bbbe822377536e6f3374b05e2b64b12b2f188c Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期一, 27 五月 2024 10:25:43 +0800 Subject: [PATCH] action文档 --- Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 105 insertions(+), 15 deletions(-) diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue index 886e7f7..6dca0c5 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue @@ -13,19 +13,50 @@ @size-change="sizeChange" @row-click="rowClickChange" @search-change='searchChange' + @filter="filterChange" @selection-change="selectChange"> <!--top鍖哄煙鎸夐挳--> <template slot="menuLeft" slot-scope="scope"> <dynamic-button :componentVO="componentVO" :key="areasName+'buttons-'+componentVO.oid" :butttonList="componentVO.buttons" :dataStore="selectList" LocationType="top" :sourceData="sourceData" + @afterMethod="handleRefresh" type="table"></dynamic-button> </template> <!--menu鍖哄煙鎸夐挳--> <template slot="menu" slot-scope="scope"> - <dynamic-button :componentVO="componentVO" :butttonList="componentVO.buttons" :scope="scope" :dataStore="selectList" :sourceData="sourceData" LocationType="menu" + <dynamic-button :componentVO="componentVO" :butttonList="componentVO.buttons" :scope="scope" :dataStore="selectList" :sourceData="sourceData" + LocationType="menu" + @afterMethod="handleRefresh" + @rowView="rowView" type="table"></dynamic-button> + </template> + <template slot="menuRight" slot-scope="scope"> + <el-tooltip class="item" effect="dark" content="鎵撳嵃" placement="top"> + <el-button icon="el-icon-printer" circle @click="$refs.dataTable.rowPrint()" + :size="scope.size"></el-button> + </el-tooltip> + <el-tooltip class="item" effect="dark" content="瀵煎嚭" placement="top"> + <el-button icon="el-icon-download" circle @click="rowExcel" + :size="scope.size"></el-button> + </el-tooltip> + <el-tooltip class="item" effect="dark" content="绛涢��" placement="top"> + <el-button icon="el-icon-tickets" circle @click="$refs.dataTable.$refs.dialogFilter.box=!0" + :size="scope.size"></el-button> + </el-tooltip> + <el-tooltip class="item" effect="dark" content="鍒楁樉闅�" placement="top"> + <el-button icon="el-icon-s-operation" circle @click="$refs.dataTable.$refs.dialogColumn.columnBox=!0" + :size="scope.size"></el-button> + </el-tooltip> + <el-tooltip class="item" effect="dark" content="鏌ヨ" placement="top"> + <el-button icon="el-icon-search" circle @click="$refs.dataTable.$refs.headerSearch.handleSearchShow()" + :size="scope.size"></el-button> + </el-tooltip> + <el-tooltip class="item" effect="dark" content="鍒锋柊" placement="top"> + <el-button icon="el-icon-refresh" circle @click="$refs.dataTable.refreshChange()" + :size="scope.size"></el-button> + </el-tooltip> </template> </avue-crud> </div> @@ -116,8 +147,15 @@ addBtn: false, editBtn: false, delBtn: false, + refreshBtn:false, + columnBtn:false, + searchShowBtn:false, + printBtn:false, + excelBtn:false, + filterBtn:false, selection: true, tip: false, + menuWidth:260, height: '100%', calcHeight: 15, indexFixed: false, @@ -162,6 +200,7 @@ }, isShow: { handler(newval) { + debugger; 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; } @@ -170,6 +209,20 @@ } } }, + tableList:{ + handler(newval) { + if(newval) { + this.$emit("setData", { + area: this.areasName, + type:this.componentVO.uiComponentType, + currentDefineVO:this.currentDefineVO, + data:newval + }); + } + }, + deep: true, + immediate: true + }, 'sourceData':{ handler(newval) { if(newval) { @@ -177,7 +230,9 @@ this.getParams(); this.handleRefresh(); } - } + }, + deep: true, + immediate: true } }, created() { @@ -198,7 +253,7 @@ mounted() { 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; + this.parentHeight = this.$el.clientHeight - this.$children[0].$children[1].$children[0].$el.clientHeight - 57 -5; } }, methods: { @@ -237,19 +292,18 @@ sourceDataMap.sourceOid = this.sourceData.oid; } for (let i in this.sourceData) { - let item = this.sourceData[i] - if (item && item.constructor === Object) return; - if (i == 'type' || i == 'context' || i == 'content') return; + const item = this.sourceData[i] + if (item && item.constructor === Object) continue; + if (i == 'type' || i == 'context' || i == 'content') continue; sourceDataMap['sourceData["' + i + '"]'] = item } } 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; - sourceDataMap['sourceData["' + i + '"]'] = item + for (let j in this.paramVOS) { + if (this.paramVOS[j] && this.paramVOS[j].constructor === Object) continue; + if (j == 'type' || j == 'context' || j == 'content' || j == "getdataurl" || j == "getdatamethod" || j == "url" || j == "method" || j == "uploadfileurl" || j == "title") continue; + sourceDataMap['sourceData["' + j + '"]'] = this.paramVOS[j] } } return sourceDataMap; @@ -272,7 +326,7 @@ onLoad(page, params = {}) { if (Object.keys(this.sourceData).length>0 && this.isShow) { this.loading = true; - getList(page.currentPage, page.pageSize, Object.assign(params,this.params,this.query)).then(res => { + getList(page.currentPage, page.pageSize, Object.assign({},this.params,this.query,params)).then(res => { let data = []; if (res.data && res.data.data) { data = res.data.data; @@ -293,6 +347,9 @@ }); } }, + rowView(row,index){ + this.$refs.dataTable.rowView(row,index) + }, rowClickChange(row){ this.$refs.dataTable.toggleRowSelection(row); }, @@ -312,10 +369,33 @@ this.page.pageSize = pageSize; }, searchChange(params,done){ - this.query = params; + this.query = {}; + for (let i in params) { + this.query['conditionMap["' + i + '"]'] = "*" + params[i] + "*"; + } this.page.currentPage = 1; this.onLoad(this.page); done(); + }, + filterChange(result){ + let parms={} + for (let i in result) { + if(!validatenull(result[i][2])) { + const fieldVal = result[i][2] + if (result[i][1] == "=") { + parms['conditionMap["' + result[i][0] + '"]'] = fieldVal; + } else if (result[i][1] == "鈮�") { + parms['conditionMap["' + result[i][0] + '"]'] = '!=' + fieldVal; + } else if (result[i][1] == "like") { + parms['conditionMap["' + result[i][0] + '"]'] = "*" + fieldVal + "*"; + } else if (result[i][1] == "鈭�") { + parms['conditionMap["' + result[i][0] + '"]'] = "*" + fieldVal + "*"; + } else { + parms['conditionMap["' + result[i][0] + '"]'] = result[i][1] + fieldVal; + } + } + } + this.onLoad(this.page,parms); }, searchReset() { this.query = {}; @@ -329,8 +409,18 @@ } }, - handleRefresh() { - this.onLoad(this.page, this.query); + handleRefresh(type) { + this.onLoad(this.page); + }, + rowExcel() { + //瀵煎嚭 + this.$refs.dataTable.$refs.dialogExcel.handleShow(); + //瀵煎嚭寮圭獥涓殑纭畾鎸夐挳 + this.$refs.dataTable.$refs.dialogExcel.handleSubmit = function () { + this.$Export.excel({title: this.$refs.dataTable.$refs.dialogExcel.form.name, columns: this.$refs.dataTable.$refs.dialogExcel.columns, data: this.$refs.dataTable.$refs.dialogExcel.handleSum()}); + this.$refs.dataTable.$refs.dialogExcel.box = !1 + } + //this.$refs.dataTable.rowExcel() } } } -- Gitblit v1.9.3