Skip to content

Commit 77a435a

Browse files
authored
Merge pull request #94 from QuantStrategyLab/fix/console-layout-restore
Restore strategy switch console layout
2 parents 58da42d + 73e2e3c commit 77a435a

3 files changed

Lines changed: 22 additions & 70 deletions

File tree

tests/strategy_switch_worker_validation.mjs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ assert.ok(indexHtml.includes('qmt: { label: "QMT"'));
4545
assert.ok(indexHtml.includes('cn_industry_etf_rotation'));
4646
assert.ok(indexHtml.includes('id="income-layer-section"'));
4747
assert.ok(indexHtml.includes('id="option-overlay-section"'));
48-
assert.ok(indexHtml.includes('id="margin-policy-card"'));
49-
assert.ok(indexHtml.includes('id="reserve-policy-card"'));
50-
assert.ok(indexHtml.includes('class="policy-card"'));
48+
assert.ok(indexHtml.includes('id="reserve-policy-stack"'));
49+
assert.ok(indexHtml.includes('class="reserve-policy-stack"'));
50+
assert.equal(indexHtml.match(/class="form-section dca-section"/g)?.length, 1);
5151
assert.ok(indexHtml.includes('qmtDryRunOnlyNote'));
5252
assert.ok(indexHtml.includes('cashOnlyExecutionMode: "允许融资"'));
5353
assert.ok(indexHtml.includes('cashOnlyExecutionValueYes: "允许融资:是"'));

web/strategy-switch-console/index.html

Lines changed: 18 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -319,25 +319,15 @@
319319
}
320320

321321
.execution-cash-policy-section {
322-
gap: 12px 14px;
322+
grid-template-columns: 1fr;
323323
}
324324

325-
.form-section-head {
325+
.execution-cash-policy-heading {
326326
grid-column: 1 / -1;
327327
margin: 0;
328-
font-size: 12px;
329-
line-height: 1.3;
328+
font-size: 13px;
330329
font-weight: 780;
331-
letter-spacing: 0.05em;
332-
text-transform: uppercase;
333-
color: var(--muted);
334-
}
335-
336-
.execution-cash-policy-heading {
337330
color: var(--ink);
338-
font-size: 13px;
339-
letter-spacing: 0.03em;
340-
text-transform: none;
341331
}
342332

343333
.execution-cash-policy-note {
@@ -353,45 +343,19 @@
353343
display: grid;
354344
grid-template-columns: repeat(2, minmax(0, 1fr));
355345
gap: 14px;
356-
align-items: stretch;
346+
align-items: start;
357347
}
358348

359-
.policy-card {
349+
.reserve-policy-stack {
360350
display: grid;
361-
gap: 12px;
351+
gap: 14px;
362352
min-width: 0;
363-
padding: 14px 14px 12px;
364-
border: 1px solid var(--line);
365-
border-radius: 10px;
366-
background:
367-
linear-gradient(180deg, color-mix(in srgb, var(--platform-color, var(--accent)) 4%, #ffffff), #ffffff 72%);
368-
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
369353
}
370354

371-
.policy-card-title {
372-
margin: 0;
373-
font-size: 13px;
374-
line-height: 1.35;
375-
font-weight: 780;
376-
color: var(--ink);
377-
}
378-
379-
.policy-card .control-block {
380-
grid-template-rows: auto 48px minmax(18px, auto);
381-
}
382-
383-
.policy-card .control-block > span:first-child:not(.selection-meta) {
384-
display: none;
385-
}
386-
387-
.policy-card.policy-card-muted {
355+
.reserve-policy-stack.policy-stack-muted {
388356
opacity: 0.58;
389357
}
390358

391-
.policy-card.policy-card-muted .selection-meta {
392-
color: var(--danger);
393-
}
394-
395359
.policy-block-muted .selection-meta {
396360
color: var(--danger);
397361
}
@@ -498,7 +462,7 @@
498462
display: grid;
499463
grid-template-columns: repeat(2, minmax(0, 1fr));
500464
align-items: start;
501-
gap: 18px 14px;
465+
gap: 16px 14px;
502466
}
503467

504468
.control-block {
@@ -521,8 +485,7 @@
521485
}
522486

523487
.form-section + .form-section {
524-
padding-top: 18px;
525-
margin-top: 2px;
488+
padding-top: 16px;
526489
border-top: 1px solid var(--line);
527490
}
528491

@@ -1205,7 +1168,7 @@
12051168
background: transparent;
12061169
}
12071170

1208-
@media (max-width: 980px) {
1171+
@media (max-width: 820px) {
12091172
.platform-strip {
12101173
grid-template-columns: repeat(2, minmax(0, 1fr));
12111174
}
@@ -1393,7 +1356,6 @@ <h2 id="platform-title">LongBridge</h2>
13931356
</div>
13941357

13951358
<div class="form-section runtime-section">
1396-
<h3 class="form-section-head" data-i18n="runtimeSectionTitle">运行与插件</h3>
13971359
<label class="control-block account-status-block">
13981360
<span data-i18n="runtimeTargetMode">账号运行状态</span>
13991361
<select id="runtime-target-enabled-select"></select>
@@ -1414,7 +1376,6 @@ <h3 class="form-section-head" data-i18n="runtimeSectionTitle">运行与插件</h
14141376
</div>
14151377

14161378
<div class="form-section income-layer-section" id="income-layer-section">
1417-
<h3 class="form-section-head" data-i18n="incomeLayerSectionTitle">收入层</h3>
14181379
<label class="control-block income-layer-mode-block section-wide">
14191380
<span data-i18n="incomeLayerMode">收入层状态</span>
14201381
<select id="income-layer-mode-select"></select>
@@ -1435,7 +1396,6 @@ <h3 class="form-section-head" data-i18n="incomeLayerSectionTitle">收入层</h3>
14351396
</div>
14361397

14371398
<div class="form-section option-overlay-section" id="option-overlay-section">
1438-
<h3 class="form-section-head" data-i18n="optionOverlaySectionTitle">期权层</h3>
14391399
<label class="control-block option-overlay-mode-block section-wide">
14401400
<span data-i18n="optionOverlayMode">期权层状态</span>
14411401
<select id="option-overlay-mode-select"></select>
@@ -1444,21 +1404,17 @@ <h3 class="form-section-head" data-i18n="optionOverlaySectionTitle">期权层</h
14441404
</div>
14451405

14461406
<div class="form-section execution-cash-policy-section" id="execution-cash-policy-section">
1447-
<h3 class="form-section-head execution-cash-policy-heading" data-i18n="executionCashPolicyTitle">现金与融资</h3>
1407+
<h3 class="execution-cash-policy-heading" data-i18n="executionCashPolicyTitle">现金与融资</h3>
14481408
<p class="execution-cash-policy-note" id="execution-cash-policy-note" data-i18n="executionCashPolicyNote">允许融资与预留现金覆盖不能同时生效。</p>
14491409
<p class="execution-cash-policy-note qmt-platform-cash-note" id="qmt-platform-cash-note" hidden data-i18n="qmtPlatformCashNote">A 股 QMT 不使用 margin / 平台预留现金;现金约束在策略参数 execution_cash_reserve_ratio 内配置。</p>
14501410
<div class="execution-cash-policy-grid" id="execution-cash-policy-grid">
1451-
<div class="policy-card" id="margin-policy-card">
1452-
<p class="policy-card-title" data-i18n="cashOnlyExecutionMode">允许融资</p>
1453-
<label class="control-block cash-only-mode-block policy-block" id="cash-only-policy-block">
1454-
<span data-i18n="cashOnlyExecutionMode">允许融资</span>
1455-
<select id="cash-only-execution-mode-select"></select>
1456-
<span class="selection-meta" id="cash-only-execution-mode-meta"></span>
1457-
</label>
1458-
</div>
1411+
<label class="control-block cash-only-mode-block policy-block" id="cash-only-policy-block">
1412+
<span data-i18n="cashOnlyExecutionMode">允许融资</span>
1413+
<select id="cash-only-execution-mode-select"></select>
1414+
<span class="selection-meta" id="cash-only-execution-mode-meta"></span>
1415+
</label>
14591416

1460-
<div class="policy-card" id="reserve-policy-card">
1461-
<p class="policy-card-title" data-i18n="reservedCashMode">预留现金策略</p>
1417+
<div class="reserve-policy-stack" id="reserve-policy-stack">
14621418
<label class="control-block reserve-policy-block policy-block" id="reserve-policy-block">
14631419
<span data-i18n="reservedCashMode">预留现金策略</span>
14641420
<select id="reserve-policy-mode-select"></select>
@@ -1481,7 +1437,6 @@ <h3 class="form-section-head execution-cash-policy-heading" data-i18n="execution
14811437
</div>
14821438

14831439
<div class="form-section dca-section">
1484-
<h3 class="form-section-head" data-i18n="dcaSectionTitle">定投</h3>
14851440
<label class="control-block dca-mode-block">
14861441
<span data-i18n="dcaMode">定投模式</span>
14871442
<select id="dca-mode-select"></select>
@@ -1494,8 +1449,6 @@ <h3 class="form-section-head" data-i18n="dcaSectionTitle">定投</h3>
14941449
<span class="selection-meta" id="dca-base-meta"></span>
14951450
</label>
14961451
</div>
1497-
1498-
<div class="form-section dca-section">
14991452
</div>
15001453

15011454
<div class="run-area" id="run-area">
@@ -3724,7 +3677,7 @@ <h2 data-i18n="summary">切换摘要</h2>
37243677
el("reserve-policy-block").classList.toggle("policy-block-muted", marginBlocksReserve);
37253678
el("min-reserve-block").classList.toggle("policy-block-muted", marginBlocksReserve);
37263679
el("reserve-ratio-block").classList.toggle("policy-block-muted", marginBlocksReserve);
3727-
el("reserve-policy-card").classList.toggle("policy-card-muted", marginBlocksReserve);
3680+
el("reserve-policy-stack").classList.toggle("policy-stack-muted", marginBlocksReserve);
37283681
el("reserve-policy-mode-meta").textContent = marginBlocksReserve
37293682
? t("executionCashMarginBlocksReserve")
37303683
: t("reservedCashModeMeta");
@@ -3783,7 +3736,6 @@ <h2 data-i18n="summary">切换摘要</h2>
37833736
cashOnlyExecutionModeSelect.append(option);
37843737
}
37853738
el("cash-only-policy-block").classList.toggle("policy-block-muted", reserveBlocksMargin);
3786-
el("margin-policy-card").classList.toggle("policy-card-muted", reserveBlocksMargin);
37873739
el("cash-only-execution-mode-meta").textContent = reserveBlocksMargin
37883740
? t("executionCashReserveBlocksMargin")
37893741
: t("cashOnlyExecutionModeMeta");

web/strategy-switch-console/page_asset.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)