diff --git a/tests/strategy_switch_worker_validation.mjs b/tests/strategy_switch_worker_validation.mjs index fd59271..4555225 100644 --- a/tests/strategy_switch_worker_validation.mjs +++ b/tests/strategy_switch_worker_validation.mjs @@ -45,7 +45,9 @@ assert.ok(indexHtml.includes('qmt: { label: "QMT"')); assert.ok(indexHtml.includes('cn_industry_etf_rotation')); assert.ok(indexHtml.includes('id="income-layer-section"')); assert.ok(indexHtml.includes('id="option-overlay-section"')); -assert.ok(indexHtml.includes('id="mode-meta"')); +assert.ok(indexHtml.includes('id="margin-policy-card"')); +assert.ok(indexHtml.includes('id="reserve-policy-card"')); +assert.ok(indexHtml.includes('class="policy-card"')); assert.ok(indexHtml.includes('qmtDryRunOnlyNote')); assert.ok(indexHtml.includes('cashOnlyExecutionMode: "允许融资"')); assert.ok(indexHtml.includes('cashOnlyExecutionValueYes: "允许融资:是"')); diff --git a/web/strategy-switch-console/index.html b/web/strategy-switch-console/index.html index 6cda9c2..87bee20 100644 --- a/web/strategy-switch-console/index.html +++ b/web/strategy-switch-console/index.html @@ -319,15 +319,25 @@ } .execution-cash-policy-section { - grid-template-columns: 1fr; + gap: 12px 14px; } - .execution-cash-policy-heading { + .form-section-head { grid-column: 1 / -1; margin: 0; - font-size: 13px; + font-size: 12px; + line-height: 1.3; font-weight: 780; + letter-spacing: 0.05em; + text-transform: uppercase; + color: var(--muted); + } + + .execution-cash-policy-heading { color: var(--ink); + font-size: 13px; + letter-spacing: 0.03em; + text-transform: none; } .execution-cash-policy-note { @@ -343,7 +353,43 @@ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; - align-items: start; + align-items: stretch; + } + + .policy-card { + display: grid; + gap: 12px; + min-width: 0; + padding: 14px 14px 12px; + border: 1px solid var(--line); + border-radius: 10px; + background: + linear-gradient(180deg, color-mix(in srgb, var(--platform-color, var(--accent)) 4%, #ffffff), #ffffff 72%); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85); + } + + .policy-card-title { + margin: 0; + font-size: 13px; + line-height: 1.35; + font-weight: 780; + color: var(--ink); + } + + .policy-card .control-block { + grid-template-rows: auto 48px minmax(18px, auto); + } + + .policy-card .control-block > span:first-child:not(.selection-meta) { + display: none; + } + + .policy-card.policy-card-muted { + opacity: 0.58; + } + + .policy-card.policy-card-muted .selection-meta { + color: var(--danger); } .policy-block-muted .selection-meta { @@ -452,7 +498,7 @@ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; - gap: 16px 14px; + gap: 18px 14px; } .control-block { @@ -475,7 +521,8 @@ } .form-section + .form-section { - padding-top: 16px; + padding-top: 18px; + margin-top: 2px; border-top: 1px solid var(--line); } @@ -1346,6 +1393,7 @@
允许融资与预留现金覆盖不能同时生效。
A 股 QMT 不使用 margin / 平台预留现金;现金约束在策略参数 execution_cash_reserve_ratio 内配置。
允许融资
+ +预留现金策略
+ + + + + +