fix(hub): two-column trend plan card; docs for records and hub layout
Left column shows plan metrics, right column DCA table, footer for breakeven and snapshot info; update strategy and exchange usage docs. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1375,11 +1375,28 @@ body.market-chart-fs-open {
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.hub-trend-plan-body-cols {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
|
||||
gap: 14px 18px;
|
||||
align-items: start;
|
||||
margin-bottom: 10px;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px dashed #2a3558;
|
||||
}
|
||||
|
||||
.hub-trend-plan-col-left .plan-card-meta {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.hub-trend-plan-col-left .plan-card-grid {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.hub-trend-plan-card .plan-card-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
gap: 10px 14px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.hub-trend-plan-card .plan-cell {
|
||||
@@ -1429,10 +1446,38 @@ body.market-chart-fs-open {
|
||||
filter: brightness(1.08);
|
||||
}
|
||||
|
||||
.hub-trend-plan-card .plan-dca-block {
|
||||
margin-top: 12px;
|
||||
padding-top: 10px;
|
||||
border-top: 1px dashed #2a3558;
|
||||
.hub-trend-plan-card .plan-dca-block--side {
|
||||
margin-top: 0;
|
||||
padding-top: 0;
|
||||
border-top: none;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.hub-trend-plan-col-right {
|
||||
min-width: 0;
|
||||
border-left: 1px solid #243050;
|
||||
padding-left: 14px;
|
||||
}
|
||||
|
||||
.hub-dca-empty {
|
||||
font-size: 0.76rem;
|
||||
color: #8892b0;
|
||||
padding: 8px 0;
|
||||
}
|
||||
|
||||
.hub-trend-plan-foot {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.hub-trend-plan-foot .hub-plan-breakeven-row {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.hub-trend-plan-foot .hub-plan-account-foot {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.hub-trend-plan-card .plan-dca-title {
|
||||
@@ -1532,6 +1577,19 @@ body.market-chart-fs-open {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
@media (max-width: 900px) {
|
||||
.hub-trend-plan-body-cols {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.hub-trend-plan-col-right {
|
||||
border-left: none;
|
||||
padding-left: 0;
|
||||
padding-top: 10px;
|
||||
border-top: 1px dashed #2a3558;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 720px) {
|
||||
.hub-trend-plan-card .plan-card-grid {
|
||||
grid-template-columns: 1fr;
|
||||
|
||||
@@ -1607,7 +1607,7 @@
|
||||
</tr>`;
|
||||
})
|
||||
.join("");
|
||||
return `<div class="plan-dca-block">
|
||||
return `<div class="plan-dca-block plan-dca-block--side">
|
||||
<div class="plan-dca-title">补仓计划明细</div>
|
||||
<table class="plan-dca-table">
|
||||
<tr><th>档位</th><th>触发价</th><th>张数</th><th>状态</th></tr>
|
||||
@@ -1669,6 +1669,9 @@
|
||||
? `<span class="hub-plan-be-done">已保本 ${esc(String(t.breakeven_applied_at || "").slice(0, 16))}</span>`
|
||||
: "";
|
||||
const dcaHtml = renderTrendDcaTable(t, tickMap);
|
||||
const dcaCol = dcaHtml
|
||||
? `<div class="hub-trend-plan-col hub-trend-plan-col-right">${dcaHtml}</div>`
|
||||
: `<div class="hub-trend-plan-col hub-trend-plan-col-right"><div class="plan-dca-block plan-dca-block--side plan-dca-block--empty"><div class="plan-dca-title">补仓计划明细</div><div class="hub-dca-empty">暂无补仓档位</div></div></div>`;
|
||||
return `<div class="plan-position-card hub-trend-plan-card">
|
||||
<div class="plan-card-head">
|
||||
<div class="plan-card-title">
|
||||
@@ -1677,30 +1680,36 @@
|
||||
</div>
|
||||
${endBtn}
|
||||
</div>
|
||||
<div class="plan-card-meta">
|
||||
来源: 趋势回调计划 | 风险: ${riskTxt}
|
||||
| <span class="accent">${esc(trendAddZoneLabel(t.direction))} ${esc(addZone)}</span>
|
||||
| 已补仓 <strong>${legsTxt}</strong>
|
||||
<div class="hub-trend-plan-body-cols">
|
||||
<div class="hub-trend-plan-col hub-trend-plan-col-left">
|
||||
<div class="plan-card-meta">
|
||||
来源: 趋势回调计划 | 风险: ${riskTxt}
|
||||
| <span class="accent">${esc(trendAddZoneLabel(t.direction))} ${esc(addZone)}</span>
|
||||
| 已补仓 <strong>${legsTxt}</strong>
|
||||
</div>
|
||||
<div class="plan-card-grid">
|
||||
<div class="plan-cell"><span class="lbl">均价</span><span class="val">${esc(avg)}</span></div>
|
||||
<div class="plan-cell"><span class="lbl">止损</span><span class="val">${esc(sl)}</span></div>
|
||||
<div class="plan-cell"><span class="lbl">止盈</span><span class="val">${esc(tp)}</span></div>
|
||||
<div class="plan-cell"><span class="lbl">盈亏比</span><span class="val">${esc(rrTxt)}</span></div>
|
||||
<div class="plan-cell"><span class="lbl">标记价</span><span class="val">${esc(mark)}</span></div>
|
||||
<div class="plan-cell"><span class="lbl">浮盈亏</span>${pnlVal}</div>
|
||||
</div>
|
||||
</div>
|
||||
${dcaCol}
|
||||
</div>
|
||||
<div class="plan-card-grid">
|
||||
<div class="plan-cell"><span class="lbl">均价</span><span class="val">${esc(avg)}</span></div>
|
||||
<div class="plan-cell"><span class="lbl">止损</span><span class="val">${esc(sl)}</span></div>
|
||||
<div class="plan-cell"><span class="lbl">止盈</span><span class="val">${esc(tp)}</span></div>
|
||||
<div class="plan-cell"><span class="lbl">盈亏比</span><span class="val">${esc(rrTxt)}</span></div>
|
||||
<div class="plan-cell"><span class="lbl">标记价</span><span class="val">${esc(mark)}</span></div>
|
||||
<div class="plan-cell"><span class="lbl">浮盈亏</span>${pnlVal}</div>
|
||||
</div>
|
||||
${dcaHtml}
|
||||
<div class="plan-card-meta hub-plan-breakeven-row">
|
||||
<label class="hub-plan-be-label">
|
||||
保本移交 偏移%
|
||||
<input type="number" disabled value="${bePct}" class="hub-plan-be-input" />
|
||||
</label>
|
||||
${beBtn}
|
||||
${beApplied}
|
||||
</div>
|
||||
<div class="plan-card-meta hub-plan-account-foot">
|
||||
快照可用: ${esc(snapTxt)} | 计划保证金${esc(marginTxt)} | 杠杆: ${levTxt}
|
||||
<div class="hub-trend-plan-foot">
|
||||
<div class="plan-card-meta hub-plan-breakeven-row">
|
||||
<label class="hub-plan-be-label">
|
||||
保本移交 偏移%
|
||||
<input type="number" disabled value="${bePct}" class="hub-plan-be-input" />
|
||||
</label>
|
||||
${beBtn}
|
||||
${beApplied}
|
||||
</div>
|
||||
<div class="plan-card-meta hub-plan-account-foot">
|
||||
快照可用: ${esc(snapTxt)} | 计划保证金${esc(marginTxt)} | 杠杆: ${levTxt}
|
||||
</div>
|
||||
</div>
|
||||
</div>`;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Orbitron:wght@500;600;700&display=swap" rel="stylesheet" media="print" onload="this.media='all'" />
|
||||
<noscript><link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Orbitron:wght@500;600;700&display=swap" rel="stylesheet" /></noscript>
|
||||
<link rel="stylesheet" href="/assets/app.css?v=20260604-hub-trend-instance" />
|
||||
<link rel="stylesheet" href="/assets/app.css?v=20260604-hub-trend-2col" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="app-bg" aria-hidden="true"></div>
|
||||
@@ -235,6 +235,6 @@
|
||||
<div id="toast"></div>
|
||||
<script src="https://unpkg.com/lightweight-charts@4.2.0/dist/lightweight-charts.standalone.production.js"></script>
|
||||
<script src="/assets/chart.js?v=20260604-hub-trend-plan"></script>
|
||||
<script src="/assets/app.js?v=20260604-hub-trend-instance"></script>
|
||||
<script src="/assets/app.js?v=20260604-hub-trend-2col"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user