From f71832a6389efa2f851b8b7bd7a615ed2d3250e4 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期四, 28 三月 2024 13:16:16 +0800 Subject: [PATCH] 完成模具页面 --- src/views/common/ztt-table.vue | 106 +++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 79 insertions(+), 27 deletions(-) diff --git a/src/views/common/ztt-table.vue b/src/views/common/ztt-table.vue index e9cb8d8..4fc75c2 100644 --- a/src/views/common/ztt-table.vue +++ b/src/views/common/ztt-table.vue @@ -150,6 +150,7 @@ v-on="$listeners" :highlight-current-row="true" :row-key="rowKey" + :tree-props="{children: 'children', hasChildren: 'hasChildren'}" @row-dblclick="dbClickRow" @row-contextmenu="contextMenu" @header-click="headClick" @@ -164,7 +165,7 @@ :span-method="objectSpanMethod" :header-cell-style="tableHeaderStyle" v-adaptive="{ bottomOffset: bottomOffset, fixedHeight: fixedHeight }" - height="100px" + height="300px" :class="[ 'commonTable', isGeneralSearch && !isEdit @@ -182,6 +183,7 @@ v-if="options.multiSelect && !isEdit" style="width: 55px;" :selectable="selectHandle" + > </el-table-column> <!--鍗曢�夋--> @@ -245,6 +247,7 @@ :show-overflow-tooltip="!item.noShowTip" :width="inMemoryColWidth[item.prop] || item.width" :prop="item.prop" + align="center" > <template slot="header" slot-scope="scope"> <template v-if="item.isSearch"> @@ -323,8 +326,13 @@ <template v-else> <template v-if="!item.render"> <template v-if="item.formatter"> - <span v-if="item.isTag" style="text-align: center;"> - <el-tag style="width:50px;margin: 3px;" :type="scope.row[item.prop] == 0 ? 'success' : 'info'"> + <span v-if="item.isTag&&scope.row[item.prop]!=null" style="text-align: center;"> + <el-tag style="width:60px;margin: 3px;" :type="scope.row[item.prop] == 0 ? 'success' : 'info'"> + <span v-html="item.formatter(scope.row, item, scope.row[item.prop])"></span> + </el-tag> + </span> + <span v-if="item.isTags&&scope.row[item.prop]!=null" style="text-align: center;"> + <el-tag style="width:60px;margin: 3px;" :type="scope.row[item.prop] == '姝e父' ? 'success' : (scope.row[item.prop] == '寮傚父'?'warning':(scope.row[item.prop] == '杩斾慨'?'danger':'info'))"> <span v-html="item.formatter(scope.row, item, scope.row[item.prop])"></span> </el-tag> </span> @@ -397,6 +405,7 @@ @size-change="sizeChangeHandle" :page-sizes="[10, 20, 50, 100]" :page-size="pagination.pageSize" + :page-count="pagination.size" :layout=" size ? 'total, prev, pager, next' @@ -506,8 +515,9 @@ <div class="el-upload__tip" slot="tip" > 鍙兘涓婁紶xlsx/xls鏂囦欢锛屼笖涓嶈秴杩�10M<el-button type="text" - style="font-size:12px;" - @click="downDataTemplate" v-if="uploadInfo.Download" + style="font-size:14px;text-decoration: underline;" + @click="downDataTemplate(uploadInfo.fileName)" + v-if="uploadInfo.download" >涓嬭浇妯℃澘</el-button > </div> @@ -564,6 +574,17 @@ default: ()=>{ return 'id' } + }, + //闇�瑕佸悎骞剁殑瀛楁闆嗗悎 + mergeSpanArr: { + type: Array, + default: ()=>{ + return [] + } + }, + toolbarMaxLength: { + type: Number, + default: 5, }, // 琛ㄦ牸鍨嬪彿锛歮ini,medium,small tableSize: { type: String, default: 'small' }, @@ -718,6 +739,7 @@ currentPage: this.table.currentPage == null ? 1 : this.table.currentPage, pageSize: this.table.pageSize == null ? 20 : this.table.pageSize, + size: this.table.size == null ? 7 : this.table.size, total: this.table.total == null ? 0 : this.table.total }, // 鍒嗛〉淇℃伅 inMemoryColWidth: {}, // 璁板繂涓垪瀹斤紝榛樿鍒楀 @@ -751,11 +773,11 @@ return colList }, getToolBarBtn() { - return this.table.toolbar ? this.table.toolbar.slice(0, 5) : [] + return this.table.toolbar ? this.table.toolbar.slice(0, this.toolbarMaxLength) : [] }, getToolbarDown() { - return this.getToolBarBtn.length === 5 - ? this.table.toolbar.slice(5, this.table.toolbar.length) + return this.getToolBarBtn.length == this.toolbarMaxLength + ? this.table.toolbar.slice(this.toolbarMaxLength, this.table.toolbar.length) : [] }, isRefreshBtn() { @@ -920,27 +942,45 @@ }, objectSpanMethod({ row, column, rowIndex, columnIndex }) { if (this.options.tableCellMerge) { - let result = '' - this.$emit( - 'objectSpanMethod', - row, - column, - rowIndex, - columnIndex, - (val) => { - if (val) { - result = val + const propName = column.property + if (propName) { + if(this.mergeSpanArr.includes(propName)){ + if (rowIndex > 0 && row[propName] === this.tableData[rowIndex - 1][propName]) { + return { rowspan: 0, colspan: 0 }; + } else { + let rowspan = 1; + for (let i = rowIndex + 1; i < this.tableData.length; i++) { + if (this.tableData[i][propName] === row[propName]) { + rowspan++; + } else { + break; + } + } + return { rowspan: rowspan, colspan: 1 }; + } } - } - ) - if (result) { - return result } + // let result = '' + // this.$emit( + // 'objectSpanMethod', + // row, + // column, + // rowIndex, + // columnIndex, + // (val) => { + // console.log(val); + // if (val) { + // result = val + // } + // } + // ) + // if (result) { + // return result + // } } }, getDataList(selectedId) { - // this.dataListLoading = true - this.dataListLoading = false + this.dataListLoading = true var criteria = {} criteria.dateTimeFilters = this.dateTimeFilters criteria.multiSearchFilter = this.multiSearchFilter @@ -966,6 +1006,7 @@ return this.doCallback(this.ajaxFun, arr, selectedId) }, doCallback(fn, args, selectedId) { + this.tableData=[] return fn .apply(this, args) .then((response) => { @@ -1401,7 +1442,6 @@ } } } - console.log(this.multipleSelection) this.$emit('handleSelectionChange', this.multipleSelection) } else { this.multipleSelection = val @@ -1536,7 +1576,6 @@ } } } - console.log(this.columnList); this.tableKey = Math.random() // this.$forceUpdate(); const currPathColumnOrder = this.currPath + '_column' @@ -1578,10 +1617,19 @@ if (response.code != '0') { this.$message.warning(response.msg) } else { + if(response.data!=""&&response.data!=[]&&response.data!=null){ + this.$message({ + message: response.data, + type: 'success', + dangerouslyUseHTMLString: true, + }) + }else{ this.$message({ message: '涓婁紶鎴愬姛', type: 'success' }) + } + this.importDialogVisible=false this.getDataList() } this.$refs.uploadScan.clearFiles() @@ -1605,7 +1653,11 @@ const blob = new Blob([response.data], { type: 'application/force-download' }) - const filename = decodeURI('妯℃澘鏂囦欢.xlsx') + let fileName="妯℃澘鏂囦欢"; + if(this.uploadInfo.fileName!=undefined&&this.uploadInfo.fileName!=''&&this.uploadInfo.fileName!=null){ + fileName=this.uploadInfo.fileName + } + const filename = decodeURI(fileName+'.xlsx') // 鍒涘缓涓�涓秴閾炬帴锛屽皢鏂囦欢娴佽祴杩涘幓锛岀劧鍚庡疄鐜拌繖涓秴閾炬帴鐨勫崟鍑讳簨浠� const elink = document.createElement('a') elink.download = filename -- Gitblit v1.9.3