数组下对象去重
let obj={}
this.dataList=this.dataList.reduce((item,next)=>{
obj[next.projectcode]?'':obj[next.projectcode]=true&&item.push(next)
return item
},[])
el-table 改变第几行字体颜色
<el-table
:data="dataList"
border
style="width: 100%"
:span-method="objectSpanMethod"
:header-cell-style="tableHeaderColor"
>
</el-table>
tableHeaderColor({ row, column, rowIndex, columnIndex }) {
if (rowIndex === 1) {
return "color: red;";
}
},
el-table 动态合并行
<el-table
:data="dataList1"
border
style="width: 100%"
:span-method="objectSpanMethod"
:header-cell-style="tableHeaderColor"
>
</el-table>
objectSpanMethods({ row, column, rowIndex, columnIndex }) {
if (
column.label == "内容" ||
column.label == "单价" ||
column.label == "数量"
) {
} else {
if ([columnIndex].includes(columnIndex)) {
const _row = this.rowspan[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col,
};
}
}
},
convertTableData() {
let data = this.dataList1s;
let arr = [];
let rowspan = [];
data.forEach((item) => {
for (let i = 0; i < item.data.length; i++) {
let rdata = {
...item,
...item.data[i],
};
rdata.combineNum = item.data.length;
delete rdata.data;
arr.push(rdata);
if (i == 0) {
rowspan.push(item.data.length);
} else {
rowspan.push(0);
}
}
});
this.dataList1 = arr;
this.rowspan = rowspan;
},
getDataList1(val) {
console.log(val);
if (val) {
val.map((item) => {
this.dataList1s.push(item);
});
this.convertTableData();
}
},