//html(td种加入:rowspan="item.sampleFineCategoryspan" :style="{ display: item.sampleFineCategorydis }"动态样式)
<tr v-for="(item, index) in form.ssfaQuotationItemList" :key="index">
<td class="td-lable" colspan="1"><span >{{index + 1}}</span></td>
<td class="td-lable" colspan="1" :rowspan="item.sampleFineCategoryspan" :style="{ display: item.sampleFineCategorydis }"><span >{{item.sampleFineCategory}}</span></td>
<td class="td-lable" colspan="2"><span >{{item.itemName}}</span></td>
<td class="td-lable" colspan="1"><span >{{item.number}}</span></td>
<td class="td-lable" colspan="1"><span >{{item.standardUnitPrice}}</span></td>
<td class="td-lable" colspan="1"><span >{{item.preferentialUnitPrice}}</span></td>
<td class="td-lable" colspan="1"><span >{{item.preferentialPrice}}</span></td>
</tr>
// 合并数据函数
function combineCell(list) {
// 循环每个字段
for (var field in list[0]) {
var k = 0;
while (k < list.length) {
// 增加统计和显示隐藏字段
list[k][field + "span"] = 1;
list[k][field + "dis"] = "";
for (var i = k + 1; i <= list.length - 1; i++) {
//该if可以去掉,加上‘region ’是根据‘region ’字段相同的情况下其他字段才能合并,可以根据需求自行修改
if (
list[k].region === list[i].region &&
list[k][field] === list[i][field]
) {
list[k][field + "span"]++;
list[k][field + "dis"] = "";
list[i][field + "span"] = 1;
list[i][field + "dis"] = "none";
} else {
break;
}
}
k = i;
}
}
return list;
}
不加条件的方法,相同就合并
// 合并数据函数
function combineCell(list) {
// 循环每个字段
for (var field in list[0]) {
var k = 0;
while (k < list.length) {
// 增加统计和显示隐藏字段
list[k][field + "span"] = 1;
list[k][field + "dis"] = "";
for (var i = k + 1; i <= list.length - 1; i++) {
// 判断第k条数据的field字段,与下一条是否重复
if (list[k][field] === list[i][field] && list[k][field] !== "") {
// 如果重复,第k条数据的字段统计+1
list[k][field + "span"]++;
// 设置为显示
list[k][field + "dis"] = "";
// 重复的记录,则设置为1,表示不跨行
list[i][field + "span"] = 1;
// 并且该字段设置为隐藏
list[i][field + "dis"] = "none";
} else {
break;
}
}
k = i;
}
}
return list;
}