Files

128 lines
8.4 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{% extends "base.html" %}
{% block title %}自动化{% endblock %}
{% block page_title %}自动化监控{% endblock %}
{% block content %}
<div class="card">
<div class="tabs">
<button class="tab-item active" data-tab="monitor">📰 舆情驱动自动化</button>
<button class="tab-item" data-tab="tracking">🧭 持仓跟踪智能体</button>
</div>
<!-- ======================= 舆情驱动 ======================= -->
<div class="tab-panel" id="panel-monitor">
<div class="between mt16">
<div class="card-title" style="margin-bottom:0"><span class="bar" style="background:var(--cyan)"></span>定期扫描最新新闻,重要信息邮件通知</div>
<label class="switch"><input type="checkbox" id="monitorEnabled"><span></span></label>
</div>
<div class="mt8 settings-form">
<div class="sf-row"><label>扫描间隔(分钟)</label><input class="input" id="monitorInterval" type="number" min="5" style="width:120px"></div>
<div class="sf-row"><label>重要度阈值 (0-100)</label><input class="input" id="monitorImportance" type="number" min="0" max="100" style="width:120px"></div>
<div class="sf-row"><label>情感权重</label><input class="input" id="monitorSentiment" type="number" step="0.05" style="width:120px"></div>
<div class="sf-row" style="align-items:flex-start"><label>监控分类</label>
<div class="chk-group" id="monitorCats">
<label><input type="checkbox" value="公司"> 公司</label>
<label><input type="checkbox" value="业绩"> 业绩</label>
<label><input type="checkbox" value="机构观点"> 机构观点</label>
<label><input type="checkbox" value="行业"> 行业</label>
<label><input type="checkbox" value="市场"> 市场</label>
</div>
</div>
<div class="sf-row" style="align-items:flex-start"><label>关键词(逗号分隔)</label><textarea class="input" id="monitorKeywords" rows="2" style="width:100%"></textarea></div>
</div>
<div class="mt16" style="border-top:1px solid var(--border);padding-top:6px">
<div class="between mt16">
<div class="card-title" style="font-size:14px;margin-bottom:0"><span class="bar" style="background:#f472b6"></span>🌙 静默期 —— 某些时段不发送邮件通知</div>
<label class="switch"><input type="checkbox" id="monitorQuietEnabled"><span></span></label>
</div>
<div class="mt8 settings-form">
<div class="sf-row" style="align-items:flex-start"><label>静默时段</label><input class="input" id="monitorQuietRanges" placeholder="如 22:00-07:30(跨午夜)或 23:00-07:30,12:00-13:00(多段逗号分隔)" style="width:100%"></div>
</div>
<div style="color:var(--muted);font-size:12px;line-height:1.8">开启后,落在静默时段内的扫描将<span style="color:var(--gold)">不发送邮件</span>(通知日志标记为“静默”,水位正常推进,不会在结束后补发积压)。</div>
</div>
<div class="flex mt16 wrap">
<button class="btn btn-primary" onclick="saveMonitor()">💾 保存监控设置</button>
<button class="btn" onclick="scanNow()">⚡ 立即扫描</button>
</div>
<div class="mt16 mini-stats" id="monitorState"></div>
<div class="mt16" style="border-top:1px solid var(--border);padding-top:6px">
<div class="card-title mt16" style="font-size:14px"><span class="bar" style="background:var(--cyan)"></span>通知日志</div>
<div style="overflow:auto;max-height:340px">
<table>
<thead><tr><th>时间</th><th>标题</th><th>分类</th><th>情感</th><th>重要度</th><th>状态</th></tr></thead>
<tbody id="logTb"><tr><td colspan="6" class="empty">暂无记录</td></tr></tbody>
</table>
</div>
</div>
</div>
<!-- ======================= 持仓跟踪 ======================= -->
<div class="tab-panel" id="panel-tracking" style="display:none">
<div class="between mt16">
<div class="card-title" style="margin-bottom:0"><span class="bar" style="background:#8b5cf6"></span>AI 智能体定期跟踪持仓,深度分析产业链上下游</div>
<label class="switch"><input type="checkbox" id="trackingEnabled"><span></span></label>
</div>
<div class="mt8 settings-form">
<div class="sf-row"><label>跟踪间隔(分钟)</label><input class="input" id="trackingInterval" type="number" min="15" style="width:120px"></div>
<div class="sf-row"><label>重大判定阈值</label><input class="input" id="trackingImpact" type="number" min="0" max="100" style="width:120px"></div>
<div class="sf-row"><label>重大变化邮件通知</label>
<label class="switch"><input type="checkbox" id="trackingNotify"><span></span></label>
</div>
</div>
<div class="mt16" style="border-top:1px solid var(--border);padding-top:6px">
<div class="between mt16">
<div class="card-title" style="font-size:14px;margin-bottom:0"><span class="bar" style="background:#f472b6"></span>🌙 静默期 —— 某些时段不发送邮件通知</div>
<label class="switch"><input type="checkbox" id="trackingQuietEnabled"><span></span></label>
</div>
<div class="mt8 settings-form">
<div class="sf-row" style="align-items:flex-start"><label>静默时段</label><input class="input" id="trackingQuietRanges" placeholder="如 22:00-07:30(跨午夜)或 23:00-07:30,12:00-13:00(多段逗号分隔)" style="width:100%"></div>
</div>
<div style="color:var(--muted);font-size:12px;line-height:1.8">开启后,落在静默时段内发现的重大变化将<span style="color:var(--gold)">不发送邮件</span>(跟踪报告照常生成入库)。</div>
</div>
<div class="flex mt16 wrap">
<button class="btn btn-primary" onclick="saveTracking()">💾 保存跟踪设置</button>
<button class="btn" onclick="runTrackAll()">⚡ 立即跟踪全部目标</button>
<button class="btn" onclick="location.href='/tracking'">🧭 查看全部跟踪报告</button>
</div>
<div class="mt16 mini-stats" id="trackingState"></div>
<!-- 持仓(自选股)管理 -->
<div class="mt16" style="border-top:1px solid var(--border);padding-top:6px">
<div class="card-title mt16" style="font-size:14px"><span class="bar" style="background:var(--gold)"></span>💼 持仓(自选股)管理 —— 跟踪对象 = 持仓</div>
<div class="flex mb8 wrap">
<input class="input" id="posSearch" placeholder="输入代码 / 名称搜索股票,回车添加" style="flex:1;min-width:200px">
<button class="btn btn-primary" onclick="addPos()"> 添加持仓</button>
</div>
<div id="posManage" style="overflow:auto;max-height:260px"><div class="loading">加载中…</div></div>
</div>
<!-- 概念/主题目标 -->
<div class="mt16" style="border-top:1px solid var(--border);padding-top:6px">
<div class="card-title mt16" style="font-size:14px"><span class="bar" style="background:#f472b6"></span>🎯 概念 / 主题 / 股票 跟踪目标</div>
<div class="flex mb8 wrap">
<select class="input" id="tgtType" style="width:110px">
<option value="concept">概念/主题</option>
<option value="stock">股票代码</option>
</select>
<input class="input" id="tgtName" placeholder="目标名称,如:AI算力 / 低空经济(股票类型填代码)" style="flex:1;min-width:200px">
<input class="input" id="tgtKeywords" placeholder="检索关键词,逗号分隔(概念填)" style="flex:1;min-width:180px">
<button class="btn btn-primary" onclick="addTarget()"> 添加目标</button>
</div>
<div id="tgtManage" style="overflow:auto;max-height:260px"><div class="loading">加载中…</div></div>
</div>
<div class="mt16" style="border-top:1px solid var(--border);padding-top:6px">
<div class="card-title mt16" style="font-size:14px"><span class="bar" style="background:#8b5cf6"></span>最近跟踪报告</div>
<div style="overflow:auto;max-height:340px">
<table>
<thead><tr><th>时间</th><th>类型</th><th>目标</th><th>影响度</th><th>性质</th><th>摘要</th><th>操作</th></tr></thead>
<tbody id="trackTb"><tr><td colspan="7" class="empty">暂无跟踪记录</td></tr></tbody>
</table>
</div>
</div>
</div>
</div>
{% endblock %}
{% block scripts %}
<script src="{{ url_for('static', filename='js/automation.js') }}"></script>
{% endblock %}