summary={getSummaryNode}
const getSummaryCell = (cellArr) =>
cellArr?.map((it, index) => {
if (index === 0) {
return <Table.Summary.Cell>汇总</Table.Summary.Cell>;
}
const isColor =
parseFloat(it.total?.replace(/,/gi, '')) > 0
? 'red'
: parseFloat(it.total?.replace(/,/gi, '')) < 0
? 'green'
: 'black';
return (
// eslint-disable-next-line react/jsx-key
<Table.Summary.Cell index={index} align="right">
<div
style={it?.dataIndex === 'compareValue' ? { color: isColor } : {}}
>
{it.total ?? null}
</div>
</Table.Summary.Cell>
);
});
const getSummaryNode = (pageData, tip) => {
const sumData = [];
const data = _.cloneDeep(pageData);
const totalKey = ['marketValue', 'proportion', 'compareValue'];
const key = columns?.map((it, index) => ({
dataIndex: it.dataIndex,
index,
unit: it.unit,
}));
key?.forEach((item) => {
let total = 0;
if (totalKey.includes(item.dataIndex)) {
data?.forEach((el) => {
total += el[item.dataIndex];
});
}
sumData.push({
...item,
total: Accuracy(item.unit, total),
});
});
return (
<Table.Summary fixed={true}>
<Table.Summary.Row>{getSummaryCell(sumData)}</Table.Summary.Row>
</Table.Summary>
);
};