refactor(frontend): #86a实例不再选标的——用户定稿「实例不选标的,创建模拟/实盘时再定」:实例表单删「标的/池」整卡(POOL_OPTIONS/isPortfolio随删),symbol_or_pool不再必填展示;策略库卡片标的空显'—(发起时定)';发起表单本就有可编辑标的输入(实例值仅作预填兜底,新实例空→默认600000/池默认),发起时输入即权威(后端paper create本就用表单值,无覆盖雷);老实例已存值不受影响继续预填;build绿(vue-tsc) [nas]
This commit is contained in:
@@ -41,15 +41,7 @@ const form = reactive({
|
||||
const paramValues = reactive<Record<string, string>>({})
|
||||
|
||||
const selectedCode = computed(() => codes.value.find((c) => c.name === form.code_file))
|
||||
const isPortfolio = computed(() => selectedCode.value?.type === 'portfolio')
|
||||
|
||||
const POOL_OPTIONS = [
|
||||
{ label: '沪深300', value: 'HS300' },
|
||||
{ label: '中证500', value: 'ZZ500' },
|
||||
{ label: '中证1000', value: 'ZZ1000' },
|
||||
{ label: '中证2000', value: 'ZZ2000' },
|
||||
{ label: '全市场', value: 'ALL' },
|
||||
]
|
||||
// miniQMT 成品K线周期全量选项(共享常量,默认日线)
|
||||
const SESSION_OPTIONS = [
|
||||
{ label: '下一根 K线 · 开盘价(防未来函数,推荐)', value: 'next_open', dayOnly: false },
|
||||
@@ -201,19 +193,6 @@ async function onDelete(): Promise<void> {
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never" class="blk">
|
||||
<template #header><span class="section-title">标的 / 池</span></template>
|
||||
<el-form label-width="100px">
|
||||
<el-form-item label="标的/股票池">
|
||||
<el-select v-if="isPortfolio" v-model="form.symbol_or_pool" style="width: 280px" placeholder="选择股票池">
|
||||
<el-option v-for="p in POOL_OPTIONS" :key="p.value" :label="p.label" :value="p.value" />
|
||||
</el-select>
|
||||
<el-input v-else v-model="form.symbol_or_pool" placeholder="如 600519.SH(不需交易所后缀也可)" style="width: 280px" />
|
||||
<span class="muted form-hint">{{ isPortfolio ? '组合策略选预设池(成分股由数据层展开)' : 'CTA 输入单标的代码' }}</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never" class="blk">
|
||||
<template #header><span class="section-title">撮合 · 精度与时点</span></template>
|
||||
<el-form label-width="100px">
|
||||
|
||||
@@ -318,7 +318,7 @@ const runningRows = computed(() =>
|
||||
<span class="sub mono">#{{ i.id }} · {{ i.interval }} · 更新 {{ i.updated_at }}</span>
|
||||
</div>
|
||||
<div class="params mono muted">{{ paramSummary(i.params) }}</div>
|
||||
<div class="sym mono">{{ i.symbol_or_pool }}</div>
|
||||
<div class="sym mono">{{ i.symbol_or_pool || '—(发起时定)' }}</div>
|
||||
<div class="ret mono" :class="retClass(latestRet(i))">{{ pct(latestRet(i)) }}<span class="sub">{{ retInfoOf(i).label }}</span></div>
|
||||
<div class="runs">
|
||||
<button class="run-btn" @click="runGo(i, 'backtest')"><span class="lamp" :class="lampOf(i.status.backtest)"></span>回测{{ badge(i, 'backtest') }}</button>
|
||||
|
||||
Reference in New Issue
Block a user