价格/百分比模式开仓按钮靠右;持仓上限红字移到预估风险下方。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-08-12 20:45:47 +08:00
parent ce22f8c7d6
commit bacb5fdde4
6 changed files with 44 additions and 16 deletions
+29 -7
View File
@@ -31,9 +31,22 @@
.order-monitor-form .om-field{display:flex;flex-direction:column;gap:4px;min-width:7.5rem}
.order-monitor-form .om-field-lab{font-size:.72rem;color:#9aa3c7;line-height:1;letter-spacing:.02em}
.order-monitor-form .om-field input{width:9.5rem;max-width:160px;box-sizing:border-box}
.order-monitor-form .om-live-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:2px;margin-left:auto}
.order-monitor-form .om-live-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:2px}
.order-monitor-form .om-row-levels .om-submit{align-self:flex-end;min-width:11rem;padding:10px 18px;font-weight:600;flex:0 0 auto}
.order-monitor-form .om-row-levels .om-open-block-note{align-self:center;padding-bottom:2px}
/* 固定盈亏比:开仓紧跟盈亏比;价格/百分比:开仓靠右 */
.order-monitor-form .om-row-levels[data-sltp-mode="fixed_rr"] #om-field-sl{order:1}
.order-monitor-form .om-row-levels[data-sltp-mode="fixed_rr"] #om-field-rr{order:2}
.order-monitor-form .om-row-levels[data-sltp-mode="fixed_rr"] .om-submit{order:3}
.order-monitor-form .om-row-levels[data-sltp-mode="fixed_rr"] .om-live-meta{order:10;margin-left:auto}
.order-monitor-form .om-row-levels[data-sltp-mode="price"] #om-field-sl,
.order-monitor-form .om-row-levels[data-sltp-mode="pct"] #om-field-sl{order:1}
.order-monitor-form .om-row-levels[data-sltp-mode="price"] #om-field-tp,
.order-monitor-form .om-row-levels[data-sltp-mode="pct"] #om-field-sl-pct{order:2}
.order-monitor-form .om-row-levels[data-sltp-mode="pct"] #om-field-tp-pct{order:3}
.order-monitor-form .om-row-levels[data-sltp-mode="price"] .om-live-meta,
.order-monitor-form .om-row-levels[data-sltp-mode="pct"] .om-live-meta{order:40;margin-left:auto}
.order-monitor-form .om-row-levels[data-sltp-mode="price"] .om-submit,
.order-monitor-form .om-row-levels[data-sltp-mode="pct"] .om-submit{order:50}
.order-monitor-form .om-row-opts{align-items:center;gap:12px;padding-top:2px}
.order-monitor-form .om-check{display:inline-flex;align-items:center;gap:5px;font-size:.82rem;color:#cfd3ef;cursor:pointer;user-select:none}
.order-monitor-form .om-time-close{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:#cfd3ef}
@@ -53,13 +66,22 @@
filter:grayscale(.35);
pointer-events:none;
}
.order-monitor-form .om-open-block-note{
color:var(--danger,#ff7b7b);
.order-plan-preview-wrap{margin:4px 0 10px}
.order-plan-preview{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin:0;padding:10px 12px;background:#151a28;border:1px solid #2a3150;border-radius:8px;font-size:.85rem}
.om-open-block-note,
.om-open-block-note--below{
color:#ff6b6b;
font-size:13px;
line-height:1.4;
max-width:min(28rem,100%);
line-height:1.45;
font-weight:600;
max-width:100%;
}
.order-plan-preview{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin:4px 0 10px;padding:10px 12px;background:#151a28;border:1px solid #2a3150;border-radius:8px;font-size:.85rem}
.om-open-block-note--below{
margin-top:8px;
padding:0 2px;
}
.om-open-block-note[hidden],
.om-open-block-note--below[hidden]{display:none !important}
#add-order-form #sltp-mode{min-width:12.5rem;max-width:16rem;width:auto}
.order-preview-risk{color:#ff6b6b}
.order-preview-risk strong{color:#ff8f8f;font-weight:600}
@@ -1306,6 +1306,8 @@ function setOmFieldVisible(inputEl, show){
}
function toggleSltpMode(){
const mode = sltpModeEl ? sltpModeEl.value : "fixed_rr";
const levelsRow = document.querySelector("#add-order-form .om-row-levels");
if(levelsRow) levelsRow.setAttribute("data-sltp-mode", mode);
const slEl = document.getElementById("order-sl");
const tpEl = document.getElementById("order-tp");
const fixedRrEl = document.getElementById("order-fixed-rr");
+1 -1
View File
@@ -7,7 +7,7 @@
<script src="/static/autofill_guard.js?v=1"></script>
<link rel="stylesheet" href="/static/instance_theme_early.css?v=4">
<link rel="stylesheet" href="/static/account_risk_badge.css?v=4">
<link rel="stylesheet" href="/static/instance_page.css?v=14">
<link rel="stylesheet" href="/static/instance_page.css?v=15">
<link rel="stylesheet" href="/static/instance_theme.css?v=118">
<script src="/static/account_risk_badge.js?v=4"></script>
<script src="/static/open_submit_gate.js?v=1"></script>
+3 -1
View File
@@ -18,7 +18,7 @@
<link rel="apple-touch-icon" href="/static/icons/apple-touch-icon.png">
<link rel="manifest" href="/static/icons/manifest.webmanifest">
<title>{{ pwa_app_name }}</title>
<link rel="stylesheet" href="/static/instance_page.css?v=14">
<link rel="stylesheet" href="/static/instance_page.css?v=15">
<link rel="stylesheet" href="/static/instance_theme.css?v=118">
</head>
@@ -1812,6 +1812,8 @@ function setOmFieldVisible(inputEl, show){
}
function toggleSltpMode(){
const mode = sltpModeEl ? sltpModeEl.value : "fixed_rr";
const levelsRow = document.querySelector("#add-order-form .om-row-levels");
if(levelsRow) levelsRow.setAttribute("data-sltp-mode", mode);
const slEl = document.getElementById("order-sl");
const tpEl = document.getElementById("order-tp");
const fixedRrEl = document.getElementById("order-fixed-rr");
@@ -15,7 +15,7 @@
{{ order_leverage_fields() }}
</div>
<div class="om-row om-row-levels">
<div class="om-row om-row-levels" data-sltp-mode="fixed_rr">
<label class="om-field" id="om-field-sl">
<span class="om-field-lab">止损价格</span>
<input id="order-sl" name="sl" step="any" placeholder="必填" required>
@@ -24,8 +24,6 @@
<span class="om-field-lab">盈亏比</span>
<input id="order-fixed-rr" name="fixed_rr" type="number" min="0.01" step="0.01" placeholder="默认1.5" value="1.5" title="止盈距离=止损距离×盈亏比">
</label>
<button type="submit" class="om-submit{% if not can_trade %} is-blocked{% endif %}" id="om-submit-btn"{% if not can_trade %} disabled aria-disabled="true"{% endif %}>{{ open_position_button_label }}</button>
<span id="om-open-block-note" class="om-open-block-note"{% if can_trade or not (open_block_note|default('')) %} hidden{% endif %}>{% if not can_trade and (open_block_note|default('')) %}{{ open_block_note }}{% endif %}</span>
<label class="om-field" id="om-field-tp" style="display:none">
<span class="om-field-lab">止盈价格</span>
<input id="order-tp" name="tgt" step="any" placeholder="止盈价格">
@@ -42,6 +40,7 @@
{% from 'symbol_live_price_snippet.html' import symbol_live_price_hint %}
{{ symbol_live_price_hint('order-symbol-live-price', 'order-symbol', 'order-direction') }}
</div>
<button type="submit" class="om-submit{% if not can_trade %} is-blocked{% endif %}" id="om-submit-btn"{% if not can_trade %} disabled aria-disabled="true"{% endif %}>{{ open_position_button_label }}</button>
</div>
{% if not intraday_discipline %}
@@ -1,5 +1,8 @@
<div id="order-plan-preview" class="order-plan-preview">
<span id="order-risk-preview" class="order-preview-risk">预估风险:<strong></strong></span>
<span id="order-profit-preview" class="order-preview-profit">预估盈利:<strong></strong></span>
<span id="order-rr-preview" class="order-preview-rr">预估盈亏比:<strong></strong></span>
<div class="order-plan-preview-wrap">
<div id="order-plan-preview" class="order-plan-preview">
<span id="order-risk-preview" class="order-preview-risk">预估风险:<strong></strong></span>
<span id="order-profit-preview" class="order-preview-profit">预估盈:<strong></strong></span>
<span id="order-rr-preview" class="order-preview-rr">预估盈亏比:<strong></strong></span>
</div>
<div id="om-open-block-note" class="om-open-block-note om-open-block-note--below"{% if can_trade or not (open_block_note|default('')) %} hidden{% endif %}>{% if not can_trade and (open_block_note|default('')) %}{{ open_block_note }}{% endif %}</div>
</div>