fix: 已激活判定按市场区分(hk策略匹配hk:前缀,A股匹配无前缀)——港股温区表正确显示已激活
This commit is contained in:
+10
-4
@@ -2688,7 +2688,13 @@ function renderStrategyTable(strategies) {
|
||||
if (comp >= 75) return 'good';
|
||||
return 'ok';
|
||||
};
|
||||
const renderRegimeRow = (s, rg, bkKey) => {
|
||||
// 2026-08-18 按市场×温区判定激活(兼容 hk: 前缀)
|
||||
window._isActRegime = function(s, rg) {
|
||||
const cr = s.current_regimes || [];
|
||||
const isHk = (s.market === 'hk') || cr.some(x => x.indexOf('hk:') === 0);
|
||||
return isHk ? cr.includes('hk:' + rg) : cr.includes(rg);
|
||||
};
|
||||
const renderRegimeRow = (s, rg, bkKey) => {
|
||||
// 2026-08-15 行级激活按策略自身(后端已按所属市场温区算好 s.current),不再按表格 isCur
|
||||
const rw = (s.regime_winrates || {})[rg] || {};
|
||||
const rwPf = rw.portfolio || null;
|
||||
@@ -2730,7 +2736,7 @@ function renderStrategyTable(strategies) {
|
||||
// 评分 = 不合格(≥2叉)/待观察(1叉)/合格/良好/优秀(3勾+综合分区间)
|
||||
const rGrade = gradeOf(qg, comp);
|
||||
let rStateCls, rStateBadge, rRowBg;
|
||||
const _rgActive = (s.current_regimes || []).includes(rg); // 该策略在当前表温区激活
|
||||
const _rgActive = window._isActRegime(s, rg); // 该策略在当前表温区激活
|
||||
if (!rManual) { rStateCls = 'text-slate-500'; rStateBadge = '<span class="text-[10px] bg-slate-500/20 text-slate-400 px-1 rounded">手动停用</span>'; rRowBg = 'opacity-50'; }
|
||||
else if (_rgActive) {
|
||||
rStateCls = 'text-emerald-400';
|
||||
@@ -2743,7 +2749,7 @@ function renderStrategyTable(strategies) {
|
||||
}
|
||||
const rGradeBadge = rGrade && rGrade !== 'ok' && rGrade !== 'good' && rGrade !== 'great' ? '' : '';
|
||||
// 2026-08-18 按温区判定激活(而非全局 s.current)——该策略在当前表温区 rg 是否激活
|
||||
const isActive = (s.current_regimes || []).includes(rg);
|
||||
const isActive = window._isActRegime(s, rg);
|
||||
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>' +
|
||||
@@ -2849,7 +2855,7 @@ function renderStrategyTable(strategies) {
|
||||
'<th class="text-center px-2 py-1.5">操作</th></tr></thead>' +
|
||||
// ── 2026-08-17 分区(老莫):上区=已激活,下区=备选(资格达标未激活),默认折叠 ──
|
||||
(() => {
|
||||
const _isAct = (s) => (s.current_regimes || []).includes(rg);
|
||||
const _isAct = (s) => window._isActRegime(s, rg);
|
||||
const active = metas.filter(_isAct);
|
||||
const backup = metas.filter(s => !_isAct(s));
|
||||
let html = '<tbody class="align-top">';
|
||||
|
||||
Reference in New Issue
Block a user