This commit is contained in:
薇薇安 2026-01-16 14:19:27 +08:00
parent 48e657e8cc
commit 6d1f45ac9a

View File

@ -83,6 +83,9 @@ const TradeList = () => {
return (
<div className="trade-list">
<h2>交易记录</h2>
<p style={{ color: '#666', fontSize: '14px', marginTop: '-10px', marginBottom: '20px' }}>
说明每条记录代表一笔完整的交易开仓+平仓统计总盈亏时每条记录只计算一次
</p>
{/* 筛选面板 */}
<div className="filter-panel">
@ -212,6 +215,7 @@ const TradeList = () => {
<div className="stat-card">
<div className="stat-label">总交易数</div>
<div className="stat-value">{stats.total_trades}</div>
<div style={{ fontSize: '12px', color: '#999', marginTop: '4px' }}>已平仓的完整交易</div>
</div>
<div className="stat-card">
<div className="stat-label">胜率</div>
@ -240,6 +244,7 @@ const TradeList = () => {
<table className="trades-table">
<thead>
<tr>
<th>交易ID</th>
<th>交易对</th>
<th>方向</th>
<th>数量</th>
@ -250,8 +255,7 @@ const TradeList = () => {
<th>盈亏比例</th>
<th>状态</th>
<th>平仓类型</th>
<th>开仓订单号</th>
<th>平仓订单号</th>
<th>币安订单号</th>
<th>入场时间</th>
<th>平仓时间</th>
</tr>
@ -288,8 +292,20 @@ const TradeList = () => {
}
}
//
const formatOrderIds = () => {
const entry = trade.entry_order_id || '-'
const exit = trade.exit_order_id || '-'
if (entry === '-' && exit === '-') return '-'
if (entry !== '-' && exit !== '-') {
return `开仓: ${entry} / 平仓: ${exit}`
}
return entry !== '-' ? `开仓: ${entry}` : `平仓: ${exit}`
}
return (
<tr key={trade.id}>
<td style={{ fontSize: '12px', color: '#999' }}>#{trade.id}</td>
<td>{trade.symbol}</td>
<td className={trade.side === 'BUY' ? 'buy' : 'sell'}>{trade.side}</td>
<td>{parseFloat(trade.quantity).toFixed(4)}</td>
@ -306,8 +322,7 @@ const TradeList = () => {
<span className={`status ${trade.status}`}>{trade.status === 'open' ? '持仓中' : trade.status === 'closed' ? '已平仓' : '已取消'}</span>
</td>
<td>{trade.exit_reason_display || '-'}</td>
<td className="order-id">{trade.entry_order_id || '-'}</td>
<td className="order-id">{trade.exit_order_id || '-'}</td>
<td className="order-id" style={{ fontSize: '12px' }}>{formatOrderIds()}</td>
<td>{formatTime(trade.entry_time)}</td>
<td>{trade.exit_time ? formatTime(trade.exit_time) : '-'}</td>
</tr>
@ -350,6 +365,7 @@ const TradeList = () => {
<div key={trade.id} className="trade-card">
<div className="trade-card-header">
<span className="trade-card-symbol">{trade.symbol}</span>
<span style={{ fontSize: '11px', color: '#999', marginLeft: '8px' }}>交易ID: #{trade.id}</span>
<span className={`trade-card-side ${trade.side === 'BUY' ? 'buy' : 'sell'} status ${trade.status}`}>
{trade.side === 'BUY' ? '买入' : '卖出'} · {trade.status === 'open' ? '持仓中' : trade.status === 'closed' ? '已平仓' : '已取消'}
</span>
@ -389,16 +405,14 @@ const TradeList = () => {
<span className="trade-card-value">{trade.exit_reason_display}</span>
</div>
)}
{trade.entry_order_id && (
{(trade.entry_order_id || trade.exit_order_id) && (
<div className="trade-card-field">
<span className="trade-card-label">开仓订单号</span>
<span className="trade-card-value order-id">{trade.entry_order_id}</span>
</div>
)}
{trade.exit_order_id && (
<div className="trade-card-field">
<span className="trade-card-label">平仓订单号</span>
<span className="trade-card-value order-id">{trade.exit_order_id}</span>
<span className="trade-card-label">币安订单号</span>
<span className="trade-card-value order-id" style={{ fontSize: '12px' }}>
{trade.entry_order_id ? `开仓: ${trade.entry_order_id}` : ''}
{trade.entry_order_id && trade.exit_order_id ? ' / ' : ''}
{trade.exit_order_id ? `平仓: ${trade.exit_order_id}` : ''}
</span>
</div>
)}
</div>