Fix dashboard daily loss risk cell text overlap

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-07-03 12:49:51 +08:00
parent 2081bf2da9
commit 08be5f34c8
2 changed files with 50 additions and 15 deletions
+20
View File
@@ -337,6 +337,26 @@
white-space: nowrap;
}
.dashboard-risk-item--daily-loss {
flex: 1.4 1 8.75rem;
min-width: 8.75rem;
}
.dashboard-risk-item--daily-loss .dashboard-risk-value {
white-space: normal;
line-height: 1.35;
font-size: 0.86rem;
}
.dashboard-risk-sub {
margin-top: 0.14rem;
font-size: 0.68rem;
font-weight: 500;
line-height: 1.3;
color: var(--text-muted);
white-space: normal;
}
.dashboard-risk-value.risk-switch-on {
color: var(--profit);
}
+30 -15
View File
@@ -367,8 +367,9 @@
riskGridEl.innerHTML = items.map(function (it) {
var val = it.valueHtml != null ? it.valueHtml : escHtml(it.value);
var cls = 'dashboard-risk-value' + (it.valueClass ? ' ' + it.valueClass : '');
var itemCls = 'dashboard-risk-item' + (it.itemClass ? ' ' + it.itemClass : '');
return (
'<div class="dashboard-risk-item">' +
'<div class="' + itemCls + '">' +
'<div class="dashboard-risk-label">' + escHtml(it.label) + '</div>' +
'<div class="' + cls + '">' + val + '</div>' +
'</div>'
@@ -376,6 +377,30 @@
}).join('');
}
function buildDailyRiskItem(used, lim, slipBuf, cap) {
var main = used != null ? fmtNum(used) + '%' : '—';
if (lim != null) {
main += ' / ' + fmtNum(lim) + '%';
}
var item = {
label: '日亏损风控',
itemClass: 'dashboard-risk-item--daily-loss',
};
var sub = '';
if (slipBuf != null && cap != null) {
sub = '滑点 ' + fmtNum(slipBuf) + '% · 合计≤' + fmtNum(cap) + '%';
} else if (slipBuf != null) {
sub = '滑点 ' + fmtNum(slipBuf) + '%';
}
if (sub) {
item.valueHtml = escHtml(main) +
'<div class="dashboard-risk-sub">' + escHtml(sub) + '</div>';
} else {
item.value = main;
}
return item;
}
function fmtHours(h) {
if (h == null) return '—';
var n = Number(h);
@@ -459,19 +484,9 @@
var dailyRiskCap = lim.daily_loss_total_cap_pct != null
? lim.daily_loss_total_cap_pct
: st.daily_loss_total_cap_pct;
var dailyRiskText = dailyRiskUsed != null ? fmtNum(dailyRiskUsed) + '%' : '—';
if (dailyRiskLim != null && dailyRiskUsed != null) {
dailyRiskText += ' / ' + fmtNum(dailyRiskLim) + '%';
if (slipBuf != null) {
dailyRiskText += '+滑点' + fmtNum(slipBuf) + '%';
if (dailyRiskCap != null) {
dailyRiskText += ',合计≤' + fmtNum(dailyRiskCap) + '%';
}
dailyRiskText += '';
}
} else if (dailyRiskLim != null) {
dailyRiskText += ' / ' + fmtNum(dailyRiskLim) + '%';
}
var dailyRiskItem = buildDailyRiskItem(
dailyRiskUsed, dailyRiskLim, slipBuf, dailyRiskCap,
);
var marginPct = risk.margin_pct_used;
var maxMarginPct = lim.max_margin_pct;
var rollMaxPct = lim.roll_max_margin_pct;
@@ -502,7 +517,7 @@
},
{ label: '持仓限制', value: active + ' / ' + (maxPos != null ? maxPos : '—') },
{ label: '日持仓限制', value: dailyOpens + ' / ' + (dailyPosLim != null ? dailyPosLim : '—') },
{ label: '日亏损风控', value: dailyRiskText },
dailyRiskItem,
{ label: '手动平仓次数', value: manualCnt + ' / ' + (manualLim != null ? manualLim : '—') },
{
label: '综合保证金占比',