fix: 滚仓斐波/突破价输入框可在切换模式后编辑

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-26 23:07:08 +08:00
parent 7d03e8e93e
commit 5a887de6f4
8 changed files with 42 additions and 38 deletions
-4
View File
@@ -1305,10 +1305,6 @@ html[data-theme="light"] .detail-actions {
align-items: center;
}
.roll-field[hidden] {
display: none !important;
}
#strategy-roll-panel .roll-risk-banner {
margin-bottom: 8px;
color: #8fc8ff;
+30 -22
View File
@@ -1,6 +1,35 @@
(function () {
"use strict";
function syncRollFormMode(form, mode) {
if (!form) return;
const m = mode || "market";
form.setAttribute("data-add-mode", m);
const showFib = m === "fib_618" || m === "fib_786";
const showBreakout = m === "breakout";
const fibWrap = form.querySelector(".roll-field-fib");
const breakoutWrap = form.querySelector(".roll-field-breakout");
const fibUpper = form.querySelector("#roll-fib-upper");
const fibLower = form.querySelector("#roll-fib-lower");
const breakoutInput = form.querySelector("#roll-breakout");
function tuneInput(inp, active, required) {
if (!inp) return;
inp.disabled = !active;
inp.required = !!required && active;
inp.tabIndex = active ? 0 : -1;
if (!active) inp.value = "";
}
if (fibWrap) fibWrap.setAttribute("aria-hidden", showFib ? "false" : "true");
if (breakoutWrap) breakoutWrap.setAttribute("aria-hidden", showBreakout ? "false" : "true");
tuneInput(fibUpper, showFib, showFib);
tuneInput(fibLower, showFib, showFib);
tuneInput(breakoutInput, showBreakout, showBreakout);
}
window.syncRollFormMode = syncRollFormMode;
const form = document.getElementById("roll-form");
if (!form) return;
@@ -13,11 +42,6 @@
const previewBox = document.getElementById("roll-preview-box");
const previewText = document.getElementById("roll-preview-text");
const countdownEl = document.getElementById("roll-countdown");
const fibWrap = form.querySelector(".roll-field-fib");
const breakoutWrap = form.querySelector(".roll-field-breakout");
const fibUpper = document.getElementById("roll-fib-upper");
const fibLower = document.getElementById("roll-fib-lower");
const breakoutInput = document.getElementById("roll-breakout");
let countdownTimer = null;
let previewOk = false;
@@ -40,24 +64,8 @@
"当前风险:" + rp + "%(来自监控单 #" + (opt.getAttribute("data-monitor-id") || "?") + "";
}
function setFieldGroup(wrap, inputs, visible, required) {
if (!wrap) return;
wrap.hidden = !visible;
inputs.forEach(function (inp) {
if (!inp) return;
inp.disabled = !visible;
inp.required = !!required && visible;
if (!visible) inp.value = "";
});
}
function syncFieldVisibility() {
const mode = modeSel.value || "market";
form.setAttribute("data-add-mode", mode);
const showFib = mode === "fib_618" || mode === "fib_786";
const showBreakout = mode === "breakout";
setFieldGroup(fibWrap, [fibUpper, fibLower], showFib, showFib);
setFieldGroup(breakoutWrap, [breakoutInput], showBreakout, showBreakout);
syncRollFormMode(form, modeSel.value || "market");
resetPreview();
}