将行数据中公司名相同的数据进行合并

1. 代码

// 单元格合并
const getTablecells = (_, index, s) => {
    let str = _.companyName
    // 取出公司名
    var arr = config.tableData.map((item) => {
        return item.companyName
    })
    function duplicates(arr) {
        var Arr = []
        arr.forEach((elem, index) => {
            if (
                arr.indexOf(elem) !== arr.lastIndexOf(elem) &&
                Arr.indexOf(elem) === -1
            ) {
                Arr.push({
                    indexs: index,
                    val: elem,
                })
            }
        })
        return Arr
    }
    // 找到相同公司名项
    let sameArr = duplicates(arr)
    let arr0 = sameArr.filter((item1) => item1.val == str)
    // 如果是index匹配上了,并且是匹配到的第一项那么当前格需要合并.
    // 如果是index匹配上了,但不是匹配到的第一项那么当前格需要去除.
    // 如果是index没匹配,显示默认的一格 
    let obj = {
        rowSpan:
            arr0[0] && index == arr0[0].indexs
                ? arr0.length
                : arr0.filter((item1) => item1.indexs == index).length
                    ? 0
                    : 1,
    }
	for(var i = 0;i<9;i++){
		return obj
	}
    return {}
}

// 配置表格列
const columns: TableListItem[] = [
    {
        title: '序号',
        // dataIndex: 'id',
        valueType: 'indexBorder',
        hideInSearch: true,
        width: 40,
        onCell: (_, index, s) => { return getTablecells(_, index, s) },
    },
    {
        title: '公司名称',
        width: 120,
        dataIndex: 'companyName',
        onCell: (_, index, s) => { return getTablecells(_, index, s) },
    }, {
        title: '印章数量',
        width: 80,
        dataIndex: 'sealNumber',
        hideInSearch: true,
        onCell: (_, index, s) => { return getTablecells(_, index, s) },
    },
]
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐