Fix roll position display: live contracts, TP profit, and 2-decimal qty precision.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-07-08 17:06:33 +08:00
parent 5ef6affabf
commit e3e53ff7f5
15 changed files with 217 additions and 33 deletions
+20 -1
View File
@@ -788,6 +788,8 @@ function submitTpslEntrust(){
if(data.exchange_tpsl) paintExchangeTpslRow(orderId, data.exchange_tpsl);
paintPlanTpslDisplay(orderId, data);
paintLatestRiskDisplay(orderId, data);
paintContractsDisplay(orderId, data);
paintTpProfitDisplay(orderId, data);
const rrEl = document.getElementById(`order-rr-${orderId}`);
if(rrEl){
const rr = data.display_rr_ratio != null && data.display_rr_ratio !== "" ? data.display_rr_ratio : data.planned_rr;
@@ -881,7 +883,20 @@ function paintContractsDisplay(orderId, snap){
if(!el || !snap) return;
const v = snap.contracts != null && snap.contracts !== "" ? snap.contracts : snap.order_amount;
const n = v != null && v !== "" ? Number(v) : NaN;
el.innerText = Number.isFinite(n) ? String(parseFloat(n.toFixed(4))) : "—";
el.innerText = Number.isFinite(n) ? n.toFixed(2) : "—";
}
function paintTpProfitDisplay(orderId, snap){
const el = document.getElementById(`order-tp-profit-${orderId}`);
if(!el) return;
const v = snap && snap.reward_at_tp_usdt;
const n = v != null && v !== "" ? Number(v) : NaN;
if(Number.isFinite(n)){
el.innerText = `${n.toFixed(2)}U`;
el.classList.add("pos-tp-profit");
} else {
el.innerText = "—";
el.classList.remove("pos-tp-profit");
}
}
function paintPriceTrend(el, key, value){
@@ -983,6 +998,7 @@ function refreshPriceSnapshot(){
}
paintLatestRiskDisplay(o.id, o);
paintContractsDisplay(o.id, o);
paintTpProfitDisplay(o.id, o);
paintBreakevenBadge(o.id, o.sl_breakeven_secured);
if(o.exchange_tpsl) paintExchangeTpslRow(o.id, o.exchange_tpsl);
paintPlanTpslDisplay(o.id, o);
@@ -1317,6 +1333,9 @@ function refreshPriceSnapshotConditional(){
if(tradePage){
(data.order_prices || []).forEach(o=>{
paintOrderMarkAndPnl(o.id, o);
paintLatestRiskDisplay(o.id, o);
paintContractsDisplay(o.id, o);
paintTpProfitDisplay(o.id, o);
const exM = document.getElementById(`order-ex-margin-${o.id}`);
if(exM){
const mv = o.exchange_initial_margin;