This commit is contained in:
aaron 2026-03-29 12:20:09 +08:00
parent 625f59d036
commit ce493b622f

View File

@ -326,8 +326,8 @@
<tr v-for="order in openPositions" :key="order.order_id">
<td><strong>{{ order.symbol }}</strong></td>
<td>
<span class="badge" :class="order.is_long ? 'badge-success' : 'badge-error'">
{{ order.is_long ? '做多' : '做空' }}
<span class="badge" :class="order.side === 'long' ? 'badge-success' : 'badge-error'">
{{ order.side === 'long' ? '做多' : '做空' }}
</span>
</td>
<td>{{ order.quantity ? order.quantity.toFixed(4) : '0.0000' }}</td>
@ -369,8 +369,8 @@
<tr v-for="order in pendingOrders" :key="order.order_id">
<td><strong>{{ order.symbol }}</strong></td>
<td>
<span class="badge" :class="order.is_long ? 'badge-success' : 'badge-error'">
{{ order.is_long ? '做多' : '做空' }}
<span class="badge" :class="order.side === 'long' ? 'badge-success' : 'badge-error'">
{{ order.side === 'long' ? '做多' : '做空' }}
</span>
</td>
<td>{{ order.quantity ? order.quantity.toFixed(4) : '0.0000' }}</td>
@ -397,9 +397,9 @@
<th>数量</th>
<th>入场价</th>
<th>出场价</th>
<th>已实现盈亏</th>
<th>盈亏比例</th>
<th>平仓原因</th>
<th>实际收益</th>
<th>收益率</th>
<th>状态</th>
<th>时间</th>
</tr>
</thead>
@ -407,20 +407,24 @@
<tr v-for="order in orderHistory" :key="order.order_id">
<td><strong>{{ order.symbol }}</strong></td>
<td>
<span class="badge" :class="order.is_long ? 'badge-success' : 'badge-error'">
{{ order.is_long ? '做多' : '做空' }}
<span class="badge" :class="order.side === 'long' ? 'badge-success' : 'badge-error'">
{{ order.side === 'long' ? '做多' : '做空' }}
</span>
</td>
<td>{{ order.quantity ? order.quantity.toFixed(4) : '0.0000' }}</td>
<td>{{ order.entry_price ? '$' + order.entry_price.toFixed(2) : '$0.00' }}</td>
<td>{{ order.exit_price ? '$' + order.exit_price.toFixed(2) : '$0.00' }}</td>
<td :class="order.realized_pnl >= 0 ? 'text-success' : 'text-error'">
{{ order.realized_pnl >= 0 ? '+' : '' }}${{ order.realized_pnl ? order.realized_pnl.toFixed(2) : '0.00' }}
<td :class="order.pnl_amount >= 0 ? 'text-success' : 'text-error'">
{{ order.pnl_amount >= 0 ? '+' : '' }}${{ order.pnl_amount ? order.pnl_amount.toFixed(2) : '0.00' }}
</td>
<td :class="order.pnl_percent >= 0 ? 'text-success' : 'text-error'">
{{ order.pnl_percent >= 0 ? '+' : '' }}{{ order.pnl_percent ? order.pnl_percent.toFixed(2) : '0.00' }}%
</td>
<td>{{ getCloseReason(order.close_reason) }}</td>
<td>
<span class="badge" :class="getStatusBadgeClass(order.status)">
{{ getStatusText(order.status) }}
</span>
</td>
<td>{{ formatTime(order.closed_at) }}</td>
</tr>
</tbody>
@ -733,6 +737,32 @@
toggleAdminMode() {
this.promptAdminMode();
},
getStatusBadgeClass(status) {
const classMap = {
'closed_tp': 'badge-success',
'closed_sl': 'badge-error',
'closed_be': 'badge-warning',
'closed_ts': 'badge-success',
'closed_manual': 'badge-info',
'cancelled': 'badge-secondary'
};
return classMap[status] || 'badge-secondary';
},
getStatusText(status) {
const textMap = {
'pending': '挂单中',
'open': '持仓中',
'closed_tp': '止盈平仓',
'closed_sl': '止损平仓',
'closed_be': '保本平仓',
'closed_ts': '移动止盈',
'closed_manual': '手动平仓',
'cancelled': '已取消'
};
return textMap[status] || status;
}
},
mounted() {