<el-table
:row-key="getRowKeys"
:data="YYFXTJtableData.slice((YYFXTJpagination.YYFXTJcurrentPage-1)*YYFXTJpagination.YYFXTJpageSize,YYFXTJpagination.YYFXTJcurrentPage*YYFXTJpagination.YYFXTJpageSize)"
v-loading="loading"
element-loading-text="拼命加载中"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0, 0, 0, 0.5)"
highlight-current-row
tooltip-effect="dark"
:row-class-name="tableRowClassName"
style="width:100%;height:300px;margin-top:10px"
:span-method="handleObjectSpanMethod"
border
@select="YYFXTJadminSelect"
@selection-change="YYFXTJhandleSelectionChange"
>
<el-table-column type="selection" align="center" width='50' :reserve-selection="false"></el-table-column>
<el-table-column type="index" label="序号" align="center" width='100'></el-table-column>
<el-table-column prop="stationName" align="center" label="单位" width='100'></el-table-column>
<el-table-column prop="stationReason" align="center" label="换流站原因" width='120'></el-table-column>
<el-table-column prop="deviceReason" label="设备原因" align="center" width='200'></el-table-column>
<el-table-column prop="jhtycs" label="计划停运次数" align="center" width='120'></el-table-column>
<el-table-column prop="qptycs" label="强迫停运次数" align="center" width='120'></el-table-column>
<el-table-column prop="dccs" label="降额运行次数" align="center" width='120'></el-table-column>
<el-table-column prop="zjcs" label="总计次数" align="center" width='100'></el-table-column>
<el-table-column prop="qptyfoh" label="强迫停运实际停运小时数" align="center" width='200'></el-table-column>
<el-table-column prop="jhtyfoh" label="计划停运实际停运小时数" align="center" width='200'></el-table-column>
<el-table-column prop="eoh" label="降额运行等效停运小时数" align="center" width='200'></el-table-column>
<el-table-column prop="dcsh" label="降额运行实际降额小时数" align="center" width='200'></el-table-column>
<el-table-column prop="zjeoh" label="总计等效停运小时数" align="center" width='200'></el-table-column>
</el-table>
// 计算需要合并的单元格
getSpanData(data) {
// 存放计算好的合并单元格的规则
this.spanData = []
for (var i = 0; i < data.length; i++) {
if (i === 0) {
this.spanData.push(1)
this.pos = 0
} else {
// 判断当前元素与上一个元素是否相同
if (data[i].stationReason === data[i - 1].stationReason) {
this.spanData[this.pos] += 1
this.spanData.push(0)
} else {
this.spanData.push(1)
this.pos = i
}
}
}
},
// 合并单元格
handleObjectSpanMethod({ row, column, rowIndex, columnIndex }) {
// 需要合并的列
// [0, 1, 2].includes(columnIndex ), 表示合并前三列
if (columnIndex === 3) {
//此处3表示合并的是上面table的换流站原因
const _row = this.spanData[rowIndex]
const _col = _row > 0 ? 1 : 0
return {
rowspan: _row,
colspan: _col
}
}
},
this.getSpanData(this.YYFXTJtableData)