/** * 封装表格指定行单元格 * @param data 表格数据 * @param merge 合并的列表头字段数组 * @returns */ export function useMergeTableRow(data: any, merge: any) { // let data = deepCopy(list) if (!merge || merge.length === 0) { return data } merge.forEach((m: any) => { const mList = {} as any data = data.map((v: any, index: number) => { const rowVal = v[m] if (mList[rowVal] && mList[rowVal].newIndex === index) { mList[rowVal].num++ mList[rowVal].newIndex++ data[mList[rowVal].index][`${m}-span`].rowspan++ v[`${m}-span`] = { rowspan: 0, colspan: 0, } } else { mList[rowVal] = { num: 1, index, newIndex: index + 1 } v[`${m}-span`] = { rowspan: 1, colspan: 1, } } return v }) }) return data } export function mergeTableRow({ row, column }: any) { // console.log(row, column, rowIndex, columnIndex); const span = `${column.property}-span` if (row[span]) { return row[span] } }