From 87292da309d5037adc35741acecf9f14b11de742 Mon Sep 17 00:00:00 2001 From: xxm Date: Tue, 18 Aug 2026 07:42:22 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=B7=B2=E6=BF=80=E6=B4=BB=E5=88=A4?= =?UTF-8?q?=E5=AE=9A=E6=8C=89=E5=B8=82=E5=9C=BA=E5=8C=BA=E5=88=86(hk?= =?UTF-8?q?=E7=AD=96=E7=95=A5=E5=8C=B9=E9=85=8Dhk:=E5=89=8D=E7=BC=80,A?= =?UTF-8?q?=E8=82=A1=E5=8C=B9=E9=85=8D=E6=97=A0=E5=89=8D=E7=BC=80)?= =?UTF-8?q?=E2=80=94=E2=80=94=E6=B8=AF=E8=82=A1=E6=B8=A9=E5=8C=BA=E8=A1=A8?= =?UTF-8?q?=E6=AD=A3=E7=A1=AE=E6=98=BE=E7=A4=BA=E5=B7=B2=E6=BF=80=E6=B4=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- static/index.html | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/static/index.html b/static/index.html index d10182d1..cda10f42 100644 --- a/static/index.html +++ b/static/index.html @@ -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 = '手动停用'; 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 '' + '' + s.version + ' ' + rStateBadge + ((s.market && s.market !== 'all') ? ' ' + (s.market === 'hk' ? '港' : 'A') + '' : '') + '' + @@ -2849,7 +2855,7 @@ function renderStrategyTable(strategies) { '操作' + // ── 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 = '';