From 7b7eef674dadae72f087135bea7cb6096fbc4aff Mon Sep 17 00:00:00 2001 From: zlt Date: Wed, 12 Aug 2026 15:55:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A1=B5=E9=9D=A2=E5=B8=83?= =?UTF-8?q?=E5=B1=80=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/web/static/index.html | 79 ++++++++++++++++++++++++--------------- 1 file changed, 48 insertions(+), 31 deletions(-) diff --git a/app/web/static/index.html b/app/web/static/index.html index 3311d87..c3e3921 100644 --- a/app/web/static/index.html +++ b/app/web/static/index.html @@ -101,6 +101,11 @@ pre.json{background:var(--surface-2);border:1px solid var(--hair);border-radius: .el-tabs__item.is-active{color:var(--ink);} .el-tabs__active-bar{background:var(--accent);} .el-tabs__nav-wrap::after{background:var(--hair);height:1px;} +.pos-exp{display:grid;grid-template-columns:minmax(0,540px) minmax(0,1fr);gap:26px;padding:10px 16px 12px;} +.pos-exp .exp-h{font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:8px;} +.exp-led{padding:5px 0;border-bottom:1px solid var(--hair);font-size:12.5px;line-height:1.5;} +.exp-led:last-child{border-bottom:none;} +@media(max-width:900px){.pos-exp{grid-template-columns:1fr;gap:14px;}} @@ -206,23 +211,26 @@ pre.json{background:var(--surface-2);border:1px solid var(--hair);border-radius: @@ -248,7 +256,7 @@ pre.json{background:var(--surface-2);border:1px solid var(--hair);border-radius: +
{{ tx('frozen', s.row.frozen_reason) }}
@@ -350,15 +358,17 @@ pre.json{background:var(--surface-2);border:1px solid var(--hair);border-radius:
-

操作日志 · 最近 {{ opLog.length }} 条

-
每一次页面写操作都留一行;被仓位 / 盈亏 / T+1 可卖 / 单股上限挡下的,连原因一起记,不静默。
-
还没有操作记录。
-
- {{ (o.at||'').slice(11,16) }} - {{ o.result }} - {{ o.op }} · {{ nm(o.ts_code) }} - — {{ o.reason }} -
+

操作日志 · {{ opLog.length }} 条 {{ showOpLog?'▲ 收起':'▼ 展开' }}

+ @@ -488,7 +498,8 @@ pre.json{background:var(--surface-2);border:1px solid var(--hair);border-radius:
-

设置

+

设置 {{ showSettings?'▲ 收起':'▼ 展开' }}

+

系统在盯的候选 · 今日选股计划 · 计划日 {{ planStatus.date || '—' }}

-
决策系统盯着、可能冒出建仓提议的票。每只都标了今天为什么下单、或为什么没下单。
+
系统还在盯、可能建仓的票。已下单 / 待你确认 / 被否决的,见上方「今日在办」与「等我拍板」。
{{ n }}
上游计划暂不可用。
- + @@ -1238,6 +1250,8 @@ createApp({ const instructions = ref([]), ledger = ref([]), proposals = ref([]); const strategies = ref([]), stratEnabled = ref(false), opLog = ref([]); const showLedger = ref(false); // 「今天发生了什么」默认折叠 + const showOpLog = ref(false); // 操作日志默认折叠 + const showSettings = ref(false); // 设置默认折叠 const openScan = ref({ by_code: {}, notes: [] }); const insTab = ref('live'); const stratDlg = reactive({ visible:false, busy:false, reasons:[], ts_code:'', price:0, @@ -1417,6 +1431,8 @@ createApp({ const d = dispOf(r.ts_code); return d.cls === 'deny' ? { ts_code: r.ts_code, name: (r.name || nm(r.ts_code)), why: d.why } : null; }).filter(Boolean)); + const watchCandidates = computed(() => (planRows.value || []).filter(r => + ['would', 'wait'].includes(dispOf(r.ts_code).cls)).slice(0, 20)); const settingKeys = ['PMS_TOTAL_SCALE', 'PMS_PORTFOLIO_CAP', 'PMS_STOCK_CAP', 'PMS_MAX_NAMES', 'PMS_CASH_RESERVE', @@ -1901,7 +1917,8 @@ createApp({ strategies, stratEnabled, opLog, stratDlg, stratQty, loadStrategies, loadOpLog, openStrategy, validateStrategy, attachStrategy, setStrategyStatus, stratStateText, resumeBuy, showLedger, onPosExpand, - openScan, insTab, todayYmd, insLive, insDone, insEnd, dispOf, loadOpenScan, denyToday }; + openScan, insTab, todayYmd, insLive, insDone, insEnd, dispOf, loadOpenScan, denyToday, + showOpLog, showSettings, watchCandidates }; } }).use(ElementPlus).mount('#app');