diff --git a/static/index.html b/static/index.html index 746b68dc..1963c1ee 100644 --- a/static/index.html +++ b/static/index.html @@ -2648,7 +2648,7 @@ function renderStrategyTable(strategies) { if (comp >= 75) return 'good'; return 'ok'; }; - const renderRegimeRow = (s, rg) => { + const renderRegimeRow = (s, rg, bkKey) => { // 2026-08-15 行级激活按策略自身(后端已按所属市场温区算好 s.current),不再按表格 isCur const rw = (s.regime_winrates || {})[rg] || {}; const rwPf = rw.portfolio || null; @@ -2702,7 +2702,8 @@ function renderStrategyTable(strategies) { } const rGradeBadge = rGrade && rGrade !== 'ok' && rGrade !== 'good' && rGrade !== 'great' ? '' : ''; const isActive = s.current === true; - return '' + + const _bkAttr = bkKey ? ' data-bk="' + bkKey + '" class="hidden"' : ''; + return '' + '' + s.version + ' ' + rStateBadge + ((s.market && s.market !== 'all') ? ' ' + (s.market === 'hk' ? '港' : 'A') + '' : '') + '' + '' + (s.name || '') + (smallSample ? ' ⚠️' : '') + ' ' + (rGrade ? '' + GRADE_STD[rGrade].label + '' : '') + '' + @@ -2817,10 +2818,8 @@ function renderStrategyTable(strategies) { html += '' + ''; - html += '' + - '' + - '' + backup.map(s => renderRegimeRow(s, rg)).join('') + '
' + - ''; + // 2026-08-17 修复:备选行直接进同一 tbody(renderRegimeRow 传 bkKey, 行加 data-bk+hidden),列宽与表头对齐 + html += backup.map(s => renderRegimeRow(s, rg, marketLabel + rg)).join(''); } html += ''; return html;