5aa9f11733
Co-authored-by: Cursor <cursoragent@cursor.com>
103 lines
5.8 KiB
HTML
103 lines
5.8 KiB
HTML
{% extends "base.html" %}
|
|
{% block title %}开单计划 - 国内期货监控系统{% endblock %}
|
|
{% block content %}
|
|
<div class="split-grid">
|
|
<div class="card">
|
|
<span class="card-corner tl"></span><span class="card-corner br"></span>
|
|
<h2>今日计划 <span class="text-muted" style="font-size:.8rem;font-weight:normal">今日 {{ today }}</span></h2>
|
|
<div class="card-body">
|
|
<p class="hint" style="margin-bottom:.75rem">开盘前制定,当日有效;请先选择<strong>主力合约</strong>,下方为进行中计划。</p>
|
|
<form action="{{ url_for('add_plan') }}" method="post" class="form-compact">
|
|
<div class="form-line line-plan-1">
|
|
<div class="symbol-wrap">
|
|
<input type="text" class="symbol-input" placeholder="主力合约" autocomplete="off" required>
|
|
<input type="hidden" name="symbol" required>
|
|
<input type="hidden" name="symbol_name">
|
|
<input type="hidden" name="market_code" required>
|
|
<input type="hidden" name="sina_code">
|
|
<div class="symbol-dropdown"></div>
|
|
<div class="symbol-selected"></div>
|
|
</div>
|
|
<select name="direction" class="field-short" required>
|
|
<option value="">方向</option>
|
|
<option value="long">做多</option>
|
|
<option value="short">做空</option>
|
|
</select>
|
|
<input name="decision_reason" type="text" placeholder="决策理由">
|
|
</div>
|
|
<div class="form-line line-plan-2">
|
|
<input name="zone_lower" type="number" step="0.0001" placeholder="决策区间下限" required>
|
|
<input name="zone_upper" type="number" step="0.0001" placeholder="决策区间上限" required>
|
|
<input name="stop_loss" type="number" step="0.0001" placeholder="止损" required>
|
|
<input name="take_profit" type="number" step="0.0001" placeholder="止盈" required>
|
|
<button type="submit" class="btn-primary">添加</button>
|
|
</div>
|
|
</form>
|
|
<h3 class="section-label">进行中</h3>
|
|
<div class="list card-scroll" id="plan-monitor-list">
|
|
{% for p in plans %}
|
|
<div class="list-item key-item plan-item" data-plan-id="{{ p.id }}" style="padding:.75rem;font-size:.85rem">
|
|
<div>
|
|
<strong>{{ p.symbol_name or p.symbol }}</strong>
|
|
<span class="badge dir">{{ '多' if p.direction == 'long' else '空' }}</span>
|
|
{% if p.status == 'planned' %}<span class="badge planned">待触发</span>
|
|
{% else %}<span class="badge active">已激活</span>{% endif %}
|
|
</div>
|
|
<div class="key-live">
|
|
<span class="live-price-line">现价:<span class="live-price">--</span></span>
|
|
<span class="live-dist">距上<span class="dist-up">--</span> 距下<span class="dist-down">--</span></span>
|
|
</div>
|
|
<div>
|
|
区间{{ p.zone_lower }}~{{ p.zone_upper }}
|
|
{% if p.decision_reason %} · {{ p.decision_reason }}{% endif %}
|
|
· 损{{ p.stop_loss }} 盈{{ p.take_profit }}
|
|
</div>
|
|
<a href="{{ url_for('del_plan', pid=p.id) }}" class="btn-del" onclick="return confirm('删除?')">删</a>
|
|
</div>
|
|
{% else %}
|
|
<div class="empty-hint">今日暂无进行中的计划</div>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h2>历史计划</h2>
|
|
<div class="card-body">
|
|
<form method="get" class="filter-row">
|
|
<div class="field"><label>开始</label><input type="date" name="start" value="{{ start }}"></div>
|
|
<div class="field"><label>结束</label><input type="date" name="end" value="{{ end }}"></div>
|
|
<button type="submit" class="btn-primary">筛选</button>
|
|
<a href="{{ url_for('plans') }}" class="text-muted" style="font-size:.85rem;padding:.7rem">重置</a>
|
|
</form>
|
|
<div class="card-scroll">
|
|
<table>
|
|
<thead><tr><th>日期</th><th>品种</th><th>方向</th><th>决策区间</th><th>决策理由</th><th>状态</th></tr></thead>
|
|
<tbody>
|
|
{% for p in history %}
|
|
<tr>
|
|
<td>{{ p.plan_date or '' }}</td>
|
|
<td>{{ p.symbol_name or p.symbol }}</td>
|
|
<td><span class="badge dir">{{ '多' if p.direction == 'long' else '空' }}</span></td>
|
|
<td>{{ p.zone_lower }}~{{ p.zone_upper }}</td>
|
|
<td>{{ p.decision_reason or '—' }}</td>
|
|
<td>
|
|
{% if p.status == 'closed' %}<span class="badge profit">完成</span>
|
|
{% elif p.status == 'expired' %}<span class="badge expired">失效</span>
|
|
{% else %}{{ p.status }}{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% else %}
|
|
<tr><td colspan="6" class="text-muted">暂无历史</td></tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|
|
{% block extra_js %}
|
|
<script src="{{ url_for('static', filename='js/plans.js') }}"></script>
|
|
{% endblock %}
|