fix: 小分歧联动波段单显示,杠杆改为按币种默认只读
option 增加 data-trade-style;修复 JS 初始化顺序。杠杆隐藏输入,显示 BTC/ETH 10x 其它 5x。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -64,7 +64,10 @@
|
||||
}
|
||||
if (tab === "trade") {
|
||||
if (typeof global.refreshOrderDefaults === "function") global.refreshOrderDefaults();
|
||||
if (typeof global.initOrderEntryModelSelect === "function") global.initOrderEntryModelSelect();
|
||||
if (typeof global.initOrderEntryModelSelect === "function") {
|
||||
var root = document.getElementById("embed-page-root") || document;
|
||||
global.initOrderEntryModelSelect(root);
|
||||
}
|
||||
if (global.ManualOrderRrPreview && typeof global.ManualOrderRrPreview.wire === "function") {
|
||||
global.ManualOrderRrPreview.wire();
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
.order-trade-style-hint{font-size:.78rem;color:#8fc8ff;margin-left:4px;white-space:nowrap}
|
||||
.order-leverage-hint{font-size:.78rem;color:#cfd3ef;white-space:nowrap;align-self:center}
|
||||
body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#0b0d14;color:#eaeaea;padding:14px 20px}
|
||||
.container{width:100%;max-width:min(1440px,94vw);margin:0 auto;padding:0 clamp(8px,1.5vw,20px)}
|
||||
.header{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:12px}
|
||||
|
||||
@@ -1,28 +1,61 @@
|
||||
(function (global) {
|
||||
function tradeStyleForSelect(sel) {
|
||||
if (!sel || !sel.value) return "trend";
|
||||
var opt = sel.options[sel.selectedIndex];
|
||||
if (opt && opt.getAttribute) {
|
||||
var ds = opt.getAttribute("data-trade-style");
|
||||
if (ds === "swing" || ds === "trend") return ds;
|
||||
}
|
||||
var map = global.ORDER_ENTRY_MODEL_TRADE_STYLE || {};
|
||||
return map[sel.value] || "trend";
|
||||
}
|
||||
|
||||
function syncOrderEntryModelTradeStyle() {
|
||||
var sel = document.getElementById("order-entry-model");
|
||||
var hidden = document.getElementById("order-trade-style-hidden");
|
||||
var hint = document.getElementById("order-trade-style-hint");
|
||||
if (!sel || !hidden) return;
|
||||
var map = global.ORDER_ENTRY_MODEL_TRADE_STYLE || {};
|
||||
var labels = { trend: "趋势单", swing: "波段单" };
|
||||
var ts = map[sel.value] || "trend";
|
||||
var ts = tradeStyleForSelect(sel);
|
||||
hidden.value = ts;
|
||||
if (hint) hint.textContent = labels[ts] || ts;
|
||||
}
|
||||
|
||||
function initOrderEntryModelSelect() {
|
||||
var sel = document.getElementById("order-entry-model");
|
||||
if (!sel || sel.dataset.entryModelWired === "1") return;
|
||||
sel.dataset.entryModelWired = "1";
|
||||
sel.addEventListener("change", syncOrderEntryModelTradeStyle);
|
||||
function initOrderEntryModelSelect(root) {
|
||||
var scope = root && root.querySelector ? root : document;
|
||||
var sel =
|
||||
scope === document
|
||||
? document.getElementById("order-entry-model")
|
||||
: scope.querySelector("#order-entry-model");
|
||||
if (!sel) return;
|
||||
if (sel.dataset.entryModelWired !== "1") {
|
||||
sel.dataset.entryModelWired = "1";
|
||||
sel.addEventListener("change", syncOrderEntryModelTradeStyle);
|
||||
}
|
||||
syncOrderEntryModelTradeStyle();
|
||||
}
|
||||
|
||||
global.paintOrderLeverageHint = function (leverage) {
|
||||
var hidden = document.getElementById("order-leverage");
|
||||
var hint = document.getElementById("order-leverage-hint");
|
||||
if (!hidden && !hint) return;
|
||||
var lev = parseInt(leverage, 10);
|
||||
if (!Number.isFinite(lev) || lev <= 0) {
|
||||
if (hint) hint.textContent = "杠杆 —";
|
||||
if (hidden) hidden.value = "";
|
||||
return;
|
||||
}
|
||||
if (hidden) hidden.value = String(lev);
|
||||
if (hint) hint.textContent = "杠杆 " + lev + "x";
|
||||
};
|
||||
|
||||
global.initOrderEntryModelSelect = initOrderEntryModelSelect;
|
||||
global.syncOrderEntryModelTradeStyle = syncOrderEntryModelTradeStyle;
|
||||
|
||||
if (document.readyState === "loading") {
|
||||
document.addEventListener("DOMContentLoaded", initOrderEntryModelSelect);
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
initOrderEntryModelSelect();
|
||||
});
|
||||
} else {
|
||||
initOrderEntryModelSelect();
|
||||
}
|
||||
|
||||
@@ -1026,8 +1026,12 @@ function refreshOrderDefaults(){
|
||||
.then(data=>{
|
||||
if(!data.ok){ return; }
|
||||
if(data.leverage){
|
||||
const levEl = document.getElementById("order-leverage");
|
||||
if(levEl) levEl.value = data.leverage;
|
||||
if(typeof paintOrderLeverageHint === "function"){
|
||||
paintOrderLeverageHint(data.leverage);
|
||||
} else {
|
||||
const levEl = document.getElementById("order-leverage");
|
||||
if(levEl) levEl.value = data.leverage;
|
||||
}
|
||||
}
|
||||
if(typeof data.available_trading_usdt !== "undefined" && data.available_trading_usdt !== null){
|
||||
latestAvailableUsdt = Number(data.available_trading_usdt);
|
||||
|
||||
@@ -44,9 +44,8 @@
|
||||
</select>
|
||||
{% from 'order_entry_model_fields.html' import order_entry_type_fields with context %}
|
||||
{{ order_entry_type_fields() }}
|
||||
{% if position_sizing_mode != 'full_margin' %}
|
||||
<input id="order-leverage" name="leverage" type="number" min="1" step="1" placeholder="杠杆(可选)">
|
||||
{% endif %}
|
||||
{% from 'order_leverage_fields.html' import order_leverage_fields with context %}
|
||||
{{ order_leverage_fields() }}
|
||||
<label style="display:flex;align-items:center;gap:4px;font-size:.82rem;color:#cfd3ef">
|
||||
<input type="checkbox" name="breakeven_enabled" value="1" checked> 启用移动保本(关闭则仅保留初始止损与交易所挂单)
|
||||
</label>
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
<script src="/static/time_close_ui.js?v=2"></script>
|
||||
<script src="/static/ai_review_render.js?v=2"></script>
|
||||
<script src="/static/form_submit_guard.js?v=2"></script>
|
||||
<script src="/static/order_entry_model.js?v=1"></script>
|
||||
<script src="/static/order_entry_model.js?v=2"></script>
|
||||
<script src="/static/manual_order_rr_preview.js?v=5"></script>
|
||||
<script src="/static/symbol_live_price.js?v=2"></script>
|
||||
<script src="/static/strategy_roll.js?v=6"></script>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<select name="entry_model" id="order-entry-model" required title="大分歧A/B为趋势单,小分歧为波段单">
|
||||
<option value="">开仓类型</option>
|
||||
{% for opt in entry_model_options %}
|
||||
<option value="{{ opt.code }}" title="{{ opt.help }}">{{ opt.label }}</option>
|
||||
<option value="{{ opt.code }}" data-trade-style="{{ opt.trade_style }}" title="{{ opt.help }}">{{ opt.label }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<input type="hidden" name="trade_style" id="order-trade-style-hidden" value="trend">
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
{# 以损定仓:杠杆按币种默认(BTC/ETH 10x,其它 5x),不可选手输 #}
|
||||
{% macro order_leverage_fields() -%}
|
||||
{% if position_sizing_mode != 'full_margin' %}
|
||||
<input type="hidden" id="order-leverage" name="leverage" value="">
|
||||
<span id="order-leverage-hint" class="order-leverage-hint" title="BTC/ETH 默认10x,其它默认5x">杠杆 —</span>
|
||||
{% endif %}
|
||||
{%- endmacro %}
|
||||
Reference in New Issue
Block a user