From 9b9d123105d851bfb651bf1ebecf4a14abd79e5b Mon Sep 17 00:00:00 2001 From: GitHub Date: Fri, 4 Sep 2026 22:42:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BF=9D=E5=AD=98=E7=AD=96=E7=95=A5?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=90=8D=E7=A7=B0=E6=8C=82=E8=82=A1=E7=A5=A8?= =?UTF-8?q?=E5=90=8D=20=E2=80=94=20=E5=BC=B9=E7=AA=97=E6=89=93=E5=BC=80?= =?UTF-8?q?=E6=97=B6=E6=9F=A5=20/mac/symbol-info=20=E6=8B=BC=E6=88=90?= =?UTF-8?q?=E3=80=8C=E7=AD=96=E7=95=A5=20=C2=B7=20=E4=BB=A3=E7=A0=81=20?= =?UTF-8?q?=C2=B7=20=E8=82=A1=E7=A5=A8=E5=90=8D=E3=80=8D=EF=BC=8C=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5/=E6=89=8B=E5=8A=A8=E6=94=B9=E5=90=8D=E4=B8=8D?= =?UTF-8?q?=E6=89=93=E6=89=B0=EF=BC=8C=E6=91=98=E8=A6=81=E8=A1=8C=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E5=B8=A6=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web-ui/src/views/BacktestView.vue | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/web-ui/src/views/BacktestView.vue b/web-ui/src/views/BacktestView.vue index d383afa..d8debc9 100644 --- a/web-ui/src/views/BacktestView.vue +++ b/web-ui/src/views/BacktestView.vue @@ -16,7 +16,7 @@ import StrategyPicker from '../components/StrategyPicker.vue' import SymbolPicker from '../components/SymbolPicker.vue' import TradeTable from '../components/TradeTable.vue' import WalkForwardPanel from '../components/WalkForwardPanel.vue' -import { formatError, saveStrategy } from '../api' +import { fetchSymbolName, formatError, saveStrategy } from '../api' import { detectMarket } from '../market' import { GRADE_META, gradePerformance } from '../grading' import { buildAiPrompt } from '../aiPrompt' @@ -146,12 +146,23 @@ function fullSymbol(code6: string): string { return `${detectMarket(code6)}:${code6}` } -function openSaveForm() { - saveName.value = `${strategyLabel.value} · ${code.value}` +// 当前标的的股票名(打开保存弹窗时异步查询,挂到名称/摘要后;查不到则为空) +const symbolName = ref('') + +async function openSaveForm() { + const baseName = `${strategyLabel.value} · ${code.value}` + saveName.value = baseName saveTags.value = '' saveNotes.value = '' saveMsg.value = '' + symbolName.value = '' showSaveForm.value = true + // 查询股票中文名,拼成「策略 · 代码 · 股票名」(如 双均线交叉 · 002163 · 海南发展)。 + // 查询失败/市场不支持(如 BJ)时保持原名称;若用户在等待期间已手动改名则不打扰。 + const name = await fetchSymbolName(detectMarket(code.value), code.value) + if (!name) return + symbolName.value = name + if (saveName.value === baseName) saveName.value = `${baseName} · ${name}` } async function onSave() { @@ -420,7 +431,7 @@ const aiTip = computed(() =>