feat(portfolio): max_pool 字段透传(model+handler+前端,解除30硬编码)
CI/CD / test (push) Successful in 8s
CI/CD / nas-deploy (push) Successful in 21s
CI/CD / nas-verify (push) Successful in 3s

model 加 max_pool 字段(默认30,0=全市场不限);handler 用 req.max_pool 替换硬编码30;
前端加选股池上限 input + onSubmit 透传。下游 submit_portfolio→spec→argv--max-pool
链路异步化时已存在,本次只补入口。全周期验收可传 max_pool=0 对比 docker exec 旁证
This commit is contained in:
2026-08-01 23:20:40 +08:00
parent 7a14d7da82
commit e22c8ee939
3 changed files with 15 additions and 1 deletions
@@ -29,6 +29,7 @@ let pollTimer: ReturnType<typeof setInterval> | null = null
const form = reactive({
pool: 'hs300_subset',
strategy: 'all_weather',
max_pool: 30,
start: '2024-01-01',
end: '2024-02-29',
cash: 1_000_000,
@@ -108,6 +109,7 @@ async function onSubmit(): Promise<void> {
const tid = await postPortfolioBacktest({
pool: form.pool,
strategy: form.strategy,
max_pool: form.max_pool,
start_date: form.start,
end_date: form.end,
initial_cash: form.cash,
@@ -193,6 +195,16 @@ async function onSubmit(): Promise<void> {
</el-select>
<span class="muted form-hint">选择回测策略</span>
</el-form-item>
<el-form-item label="选股池上限">
<el-input-number
v-model="form.max_pool"
:min="0"
:step="10"
:controls="false"
style="width: 220px"
/>
<span class="muted form-hint">0=全市场不限, N=前N只(MVP验证用, 默认30)</span>
</el-form-item>
<el-form-item label="开始日期">
<el-date-picker
v-model="form.start"