diff --git a/modules/web/static/js/strategy.js b/modules/web/static/js/strategy.js index f9a9997..5b82237 100644 --- a/modules/web/static/js/strategy.js +++ b/modules/web/static/js/strategy.js @@ -122,11 +122,13 @@ btnExec.textContent = mode === 'market' ? '执行滚仓' : '提交监控'; } if (btnPreview) { - btnPreview.disabled = !inTradingSession && !isBreak; + btnPreview.disabled = false; btnPreview.title = (!inTradingSession && !isBreak) - ? '休盘期间请切换为突破加仓' + ? '休盘可预览;市价加仓须交易时段内执行' : ''; } + var offHint = document.getElementById('roll-off-session-hint'); + if (offHint) offHint.hidden = inTradingSession || isBreak; } function syncRollRiskHint() { @@ -203,7 +205,7 @@ var rollPayload = null; var rollMonitorSel = document.getElementById('roll-monitor-select'); var rollModeSel = document.getElementById('roll-add-mode'); - var inTradingSession = {{ 'true' if trading_session else 'false' }}; + var inTradingSession = !!(window.STRATEGY_PAGE && window.STRATEGY_PAGE.inTradingSession); if (rollModeSel) rollModeSel.addEventListener('change', syncRollModeUi); if (rollMonitorSel) rollMonitorSel.addEventListener('change', syncRollRiskHint); @@ -212,19 +214,29 @@ if (btnRollP && rollForm) { btnRollP.addEventListener('click', function () { - btnRollP.disabled = true; rollPayload = formData(rollForm); + var sl = parseFloat(rollPayload.new_stop_loss); + if (!sl || sl <= 0) { + showPreview(rollPrev, '请填写新统一止损', false, false); + if (btnRollE) btnRollE.hidden = true; + return; + } + btnRollP.disabled = true; jsonPost('/api/strategy/roll/preview', rollPayload).then(function (d) { if (!d.ok) { - showPreview(rollPrev, d.error, false, false); + showPreview(rollPrev, d.error || '预览失败', false, false); btnRollE.hidden = true; return; } showPreview(rollPrev, formatRoll(d.preview), true, false); btnRollE.hidden = false; syncRollModeUi(); + }).catch(function () { + showPreview(rollPrev, '预览请求失败,请稍后重试', false, false); + if (btnRollE) btnRollE.hidden = true; }).finally(function () { btnRollP.disabled = false; + syncRollModeUi(); }); }); } diff --git a/modules/web/templates/strategy.html b/modules/web/templates/strategy.html index 6211a4b..bc885a4 100644 --- a/modules/web/templates/strategy.html +++ b/modules/web/templates/strategy.html @@ -138,7 +138,9 @@
市价加仓:须交易时段内确认,10 秒倒计时执行;突破加仓:休盘也可提交,开盘后再监控触价
{% if not trading_session %} -当前{{ session_clock.status_label or '休盘' }}:请选「突破加仓」填写突破价后预览并提交监控。
+当前{{ session_clock.status_label or '休盘' }}:市价加仓须交易时段内执行;休盘可先预览,或选「突破加仓」提交监控。
+ {% else %} + {% endif %} {% else %} @@ -211,5 +213,10 @@ {% endblock %} {% block extra_js %} + {% endblock %}