/** * 现金流量表 Tab */ import React, { memo } from 'react'; import { Box, VStack, HStack, Heading, Badge, Text, Spinner, Center } from '@chakra-ui/react'; import { CashflowTable } from '../components'; import type { CashflowData } from '../types'; export interface CashflowTabProps { cashflow: CashflowData[]; loading?: boolean; showMetricChart: (name: string, key: string, data: unknown[], path: string) => void; calculateYoYChange: (value: number, period: string, data: unknown[], path: string) => { change: number; intensity: number }; getCellBackground: (change: number, intensity: number) => string; positiveColor: string; negativeColor: string; bgColor: string; hoverBg: string; } const CashflowTabInner: React.FC = ({ cashflow, loading, showMetricChart, calculateYoYChange, getCellBackground, positiveColor, negativeColor, bgColor, hoverBg, }) => { // 加载中状态 if (loading && (!Array.isArray(cashflow) || cashflow.length === 0)) { return (
); } const tableProps = { showMetricChart, calculateYoYChange, getCellBackground, positiveColor, negativeColor, bgColor, hoverBg, }; return ( 现金流量表 显示最近{Math.min(cashflow.length, 8)}期 红涨绿跌 | 同比变化 提示:现金流数据为累计值,正值红色表示现金流入,负值绿色表示现金流出 ); }; const CashflowTab = memo(CashflowTabInner); export default CashflowTab;