From 7c833f1e9be0acb6247c66909ec4ff86cc92aa57 Mon Sep 17 00:00:00 2001 From: WrBug Date: Sat, 31 Jan 2026 21:15:09 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=B5=84=E9=87=91=E5=8F=98=E5=8C=96?= =?UTF-8?q?=E5=9B=BE=E5=A7=8B=E7=BB=88=E6=98=BE=E7=A4=BA=E6=89=80=E6=9C=89?= =?UTF-8?q?=E4=BA=A4=E6=98=93=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加 allTrades 状态存储所有交易数据 - 添加 fetchAllTrades 方法获取所有数据(size=10000) - 图表使用 allTrades 而不是分页的 trades - 修复图表因分页只显示部分数据的问题 --- frontend/src/pages/BacktestDetail.tsx | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/frontend/src/pages/BacktestDetail.tsx b/frontend/src/pages/BacktestDetail.tsx index f7bdab3..e0d9a27 100644 --- a/frontend/src/pages/BacktestDetail.tsx +++ b/frontend/src/pages/BacktestDetail.tsx @@ -19,6 +19,7 @@ const BacktestDetail: React.FC = () => { const [, setConfig] = useState(null) const [statistics, setStatistics] = useState(null) const [trades, setTrades] = useState([]) + const [allTrades, setAllTrades] = useState([]) // 用于图表显示的所有交易数据 const [tradesLoading, setTradesLoading] = useState(false) const [tradesTotal, setTradesTotal] = useState(0) const [tradesPage, setTradesPage] = useState(1) @@ -68,10 +69,27 @@ const BacktestDetail: React.FC = () => { } } + // 获取所有交易记录(用于图表显示) + const fetchAllTrades = async () => { + try { + const response = await backtestService.trades({ + taskId: parseInt(id!), + page: 1, + size: 10000 // 获取所有数据 + }) + if (response.data.code === 0 && response.data.data) { + setAllTrades(response.data.data.list) + } + } catch (error) { + console.error('Failed to fetch all trades for chart:', error) + } + } + // 初始加载任务详情和交易记录 useEffect(() => { fetchTaskDetail() fetchTrades(tradesPage) + fetchAllTrades() // 加载所有交易数据用于图表 }, [id]) // 根据任务状态控制轮询 @@ -416,9 +434,9 @@ const BacktestDetail: React.FC = () => { )} {/* 资金变化图表 */} - {trades.length > 0 && ( + {allTrades.length > 0 && ( - + )}