arraySpanMethod({ rowIndex, columnIndex }) {
// 要合并的行下标
if (columnIndex <= 4) {
const spanArr = this.rowspan()
for (let i = 0; i < spanArr.length; i++) {
const _row = spanArr[rowIndex]
return {
rowspan: _row,
colspan: 1
}
}
}
},
rowspan() {
// 二维数组,用于存放单元格合并规则
const spanArr = []
// 用于存储相同项的开始index
let position = 0
this.dealProtocolTrackingList.forEach((item, index) => {
if (index === 0) {
spanArr.push(1)
position = 0
} else {
if (this.dealProtocolTrackingList[index].dealId === this.dealProtocolTrackingList[index - 1].dealId && this.dealProtocolTrackingList[index].type !== this.dealProtocolTrackingList[index - 1].type) {
spanArr[position] += 1 // 有相同项
spanArr.push(0) // 名称相同后往数组里面加一项0
} else {
spanArr.push(1) // 同列的前后两行单元格不相同
position = index
}
}
})
return spanArr
},