From a68ce68105de4a7d61c89298f4e4ef079443ba4a Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期一, 09 十二月 2024 16:53:58 +0800 Subject: [PATCH] 图标管理 --- Source/plt-web/plt-web-ui/src/components/dynamic-components/dynamic-table.vue | 74 +++++++++++++++++++++++++++--------- 1 files changed, 55 insertions(+), 19 deletions(-) diff --git a/Source/plt-web/plt-web-ui/src/components/dynamic-components/dynamic-table.vue b/Source/plt-web/plt-web-ui/src/components/dynamic-components/dynamic-table.vue index 6dca0c5..551742c 100644 --- a/Source/plt-web/plt-web-ui/src/components/dynamic-components/dynamic-table.vue +++ b/Source/plt-web/plt-web-ui/src/components/dynamic-components/dynamic-table.vue @@ -4,15 +4,15 @@ v-model="form" :data="tableList" :option="option" - :page.sync="pageType" + :page.sync="componentVO.uiComponentType == 'TreeTable'?{}:pageType" :table-loading="loading" @on-load="onLoad" @search-reset="searchReset" + @search-change='searchChange' @refresh-change="handleRefresh" @current-change="currentChange" @size-change="sizeChange" @row-click="rowClickChange" - @search-change='searchChange' @filter="filterChange" @selection-change="selectChange"> <!--top鍖哄煙鎸夐挳--> @@ -57,6 +57,14 @@ <el-button icon="el-icon-refresh" circle @click="$refs.dataTable.refreshChange()" :size="scope.size"></el-button> </el-tooltip> + </template> + <template #icon="{ row }"> + <span class="avue-icon avue-icon--small"> + <svg v-if="row.icon && row.icon.indexOf('#')==0" aria-hidden="true"> + <use :xlink:href="row.icon"></use> + </svg> + <i v-else :class="row.icon"></i> + </span> </template> </avue-crud> </div> @@ -143,6 +151,8 @@ //琛ㄦ牸鏁版嵁 tableList: [], option: { + border:true, + stripe:true, index: true, addBtn: false, editBtn: false, @@ -200,9 +210,8 @@ }, 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; + this.parentHeight = this.$el.clientHeight - this.$children[0].$children[1].$children[0].$el.clientHeight - (this.$children[0].$children[2].$el.clientHeight || 57) - 5; } if(newval){ this.handleRefresh(); @@ -225,7 +234,7 @@ }, 'sourceData':{ handler(newval) { - if(newval) { + if(newval && Object.keys(newval).length>0) { this.sourceDataMapParams=this.sourceDataMap(); this.getParams(); this.handleRefresh(); @@ -261,6 +270,7 @@ 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 閲� + item.type = this.columnType[item.fieldType] || item.fieldType; if (this.currentDefineVO.btmType == 'fileobject' && item.field == 'name') { //鏄枃浠� item.formatter = function (d) { @@ -271,38 +281,57 @@ if (typeof formatter == "string" && formatter != '') { formatter = eval("(" + formatter + ")"); } - item.type = this.columnType[item.fieldType] || item.fieldType; + if (['date', 'datetime', 'time'].includes(item.type)) { + item.valueFormat = item.dateFormate; + item.format = item.dateFormate; + } return { ...item, prop: item.field, label: item.title, search: search, - formatter: formatter + formatter: formatter, + overHidden: true }; }); }, sourceDataMap: function () { const sourceDataMap = {}; if (Object.keys(this.sourceData).length>0) { - if(this.sourceData.oid ) { - if (this.sourceData.oid.indexOf('@vcitreesep@') > -1) { - this.sourceData.oid = this.sourceData.oid.split('@vcitreesep@')[1]; + if(this.sourceData.part && Object.keys(this.sourceData.part).length>0){ + //璇存槑婧愭暟鎹槸鏍戣妭鐐� + if(this.sourceData.part.oid ) { + if (this.sourceData.part.oid.indexOf('@vcitreesep@') > -1) { + this.sourceData.part.oid = this.sourceData.oid.split('@vcitreesep@')[1]; + } + sourceDataMap.sourceBtmName = this.sourceBtmType; + sourceDataMap.sourceOid = this.sourceData.part.oid; } - sourceDataMap.sourceBtmName = this.sourceBtmType;; - sourceDataMap.sourceOid = this.sourceData.oid; + }else { + if(this.sourceData.oid ) { + if (this.sourceData.oid.indexOf('@vcitreesep@') > -1) { + this.sourceData.oid = this.sourceData.oid.split('@vcitreesep@')[1]; + } + sourceDataMap.sourceBtmName = this.sourceBtmType; + sourceDataMap.sourceOid = this.sourceData.oid; + } } + for (let i in this.sourceData) { const item = this.sourceData[i] - if (item && item.constructor === Object) continue; - if (i == 'type' || i == 'context' || i == 'content') continue; - sourceDataMap['sourceData["' + i + '"]'] = item + if (['type', 'context', 'content', 'querytemplate', 'querytype'].includes(i)) continue; + if (item && item.constructor === Object) { + sourceDataMap['sourceData["' + i + '"]'] = JSON.stringify(item) + }else { + sourceDataMap['sourceData["' + i + '"]'] = item + } } } if (Object.keys(this.paramVOS).length>0) { 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; + if (['type', 'context', 'content', "getdataurl", "getdatamethod", "url", "method", "uploadfileurl", "title", 'querytemplate', 'querytype', 'usesourcedata','component'].includes(j)) continue; sourceDataMap['sourceData["' + j + '"]'] = this.paramVOS[j] } } @@ -310,7 +339,7 @@ }, getParams: function () { const tableParams = { - btmname: this.currentDefineVO.btmType, + btmName: this.currentDefineVO.btmType, btmType:this.currentDefineVO.btmType, tableDefineId: this.currentDefineVO.id, componentOid: this.componentVO.oid, @@ -325,8 +354,13 @@ }, onLoad(page, params = {}) { if (Object.keys(this.sourceData).length>0 && this.isShow) { + this.tableList = []; this.loading = true; - getList(page.currentPage, page.pageSize, Object.assign({},this.params,this.query,params)).then(res => { + let url=''; + if(this.componentVO.bsCustQueryCLsOrUrl && this.componentVO.bsCustQueryCLsOrUrl.indexOf('/')!=-1){ + url=this.componentVO.bsCustQueryCLsOrUrl; + } + getList(page.currentPage, page.pageSize, Object.assign({},this.params,this.query,params),url).then(res => { let data = []; if (res.data && res.data.data) { data = res.data.data; @@ -351,7 +385,7 @@ this.$refs.dataTable.rowView(row,index) }, rowClickChange(row){ - this.$refs.dataTable.toggleRowSelection(row); + this.$refs.dataTable.toggleRowSelection(row,true); }, selectChange(row) { this.selectList = row; @@ -398,6 +432,7 @@ this.onLoad(this.page,parms); }, searchReset() { + console.log('searchReset') this.query = {}; this.onLoad(this.page); }, @@ -410,6 +445,7 @@ } }, handleRefresh(type) { + console.log('handleRefresh') this.onLoad(this.page); }, rowExcel() { -- Gitblit v1.9.3