arraySpanMethod({row, column, rowIndex, columnIndex}) { const fields = ["CELL_NAME", "TYPE_NAME", "CLASSNAME"]; const cellValue = row[column.property]; if (cellValue && fields.includes(column.property)) { const prevRow = this.restable_body[rowIndex - 1]; let nextRow = this.restable_body[rowIndex + 1]; if (prevRow && prevRow[column.property] === cellValue) { return {rowspan: 0, colspan: 0}; } else { let countRowspan = 1; while (nextRow && nextRow[column.property] === cellValue) { nextRow = this.restable_body[++countRowspan + rowIndex]; } if (countRowspan > 1) { return {rowspan: countRowspan, colspan: 1}; } } } },
:data="restable_body"
<el-table-column fixed="left" align="left" prop="CELL_NAME" min-width="80" label="单元" type="Y"></el-table-column> <el-table-column fixed="left" align="left" prop="TYPE_NAME" min-width="100" label="区域" type="Y"></el-table-column> <el-table-column fixed="left" align="left" prop="CLASSNAME" min-width="100" label="分类" type="Y"></el-table-column> <el-table-column fixed="left" align="left" prop="ITEM_NAME" min-width="120" label="指标" type="Y"></el-table-column> <el-table-column fixed="left" align="left" prop="ITEM_UNIT" min-width="80" label="单位" type="Y"></el-table-column>