fix: 研究Tab备选表格错位(v3完整)——renderRegimeRow加bkKey+行data-bk+hidden,备选区直接进tbody去嵌套table

This commit is contained in:
xxm
2026-08-18 00:31:13 +08:00
parent ddb4acf9dd
commit 8fc1367a60
+5 -6
View File
@@ -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 '<tr class="border-b border-slate-800/50 hover:bg-slate-800/30 cursor-pointer ' + rRowBg + '" onclick="showStrategyDetail(\'' + s.version + '\')">' +
const _bkAttr = bkKey ? ' data-bk="' + bkKey + '" class="hidden"' : '';
return '<tr' + (_bkAttr || '') + ' class="border-b border-slate-800/50 hover:bg-slate-800/30 cursor-pointer ' + rRowBg + '" onclick="showStrategyDetail(\'' + s.version + '\')">' +
'<td class="px-2 py-1.5 font-mono font-bold ' + rStateCls + '">' + s.version + ' ' + rStateBadge + ((s.market && s.market !== 'all') ? ' <span class="text-[10px] bg-cyan-500/20 text-cyan-300 px-1 rounded">' + (s.market === 'hk' ? '港' : 'A') + '</span>' : '') + '</td>' +
'<td class="px-2 py-1.5 whitespace-normal break-words" title="' + (s.hypothesis || s.summary || '').replace(/"/g, '&quot;') + '">' + (s.name || '') + (smallSample ? ' <span class="text-amber-500" title="样本<40笔">⚠️</span>' : '') + ' ' +
(rGrade ? '<span class="text-[10px] px-1 py-0.5 rounded ' + GRADE_STD[rGrade].cls + '" title="评分: ' + GRADE_STD[rGrade].need + '">' + GRADE_STD[rGrade].label + '</span>' : '') + '</td>' +
@@ -2817,10 +2818,8 @@ function renderStrategyTable(strategies) {
html += '<tr class="border-t border-slate-700/50"><td colspan="15" class="px-2 py-1 text-[10px] text-slate-400">' +
'<button onclick="toggleBackup(\'' + marketLabel + rg + '\')" class="hover:text-slate-200">' +
'<span id="bk-arrow-' + marketLabel + rg + '">▶</span> 备选 (资格达标未激活, ' + backup.length + ') <span class="text-slate-600">点击展开</span></button></td></tr>';
html += '<tr id="bk-body-' + marketLabel + rg + '" class="hidden">' +
'<td colspan="15" class="p-0">' +
'<table class="w-full"><tbody>' + backup.map(s => renderRegimeRow(s, rg)).join('') + '</tbody></table>' +
'</td></tr>';
// 2026-08-17 修复:备选行直接进同一 tbodyrenderRegimeRow 传 bkKey, 行加 data-bk+hidden),列宽与表头对齐
html += backup.map(s => renderRegimeRow(s, rg, marketLabel + rg)).join('');
}
html += '</tbody></table></div></div>';
return html;