Files
xb/app/static/index.html

246 lines
8.8 KiB
HTML

<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>喜报处理初始版</title>
<link rel="stylesheet" href="./styles.css?v=20260227.28" />
</head>
<body>
<div class="bg-shape bg-shape-a"></div>
<div class="bg-shape bg-shape-b"></div>
<main class="container">
<section class="card composer-card">
<div class="section-head">
<h2>输入接龙文本</h2>
<span class="muted">粘贴后可直接解析或生成</span>
</div>
<textarea id="raw-text" placeholder="#接龙
1、营江路张三30万一年期定期他行挖转
2、中心所李四50万保险揽收现金
3、营江路所王五20万5年交礼金
4、潇水南路保险2万"></textarea>
<div class="row">
<button id="paste-btn" class="secondary">粘贴文本</button>
<button id="generate-btn">生成</button>
<button id="parse-btn" class="secondary">仅解析预览</button>
<button id="force-clear-btn" class="danger">强制清理截图</button>
<button id="clear-btn" class="danger">清空历史</button>
</div>
<div id="progress-wrap" class="progress-wrap hidden">
<div class="progress-head">
<span id="progress-stage">等待开始</span>
<span id="progress-percent">0%</span>
</div>
<div class="progress-bar">
<div id="progress-fill" class="progress-fill"></div>
</div>
<div id="progress-detail" class="muted progress-detail"></div>
</div>
<div id="msg" class="msg"></div>
</section>
<section class="card metrics metrics-bar">
<div class="metric"><span>输入行</span><strong id="m-input">0</strong></div>
<div class="metric"><span>有效解析</span><strong id="m-parsed">0</strong></div>
<div class="metric"><span>新增</span><strong id="m-new">0</strong></div>
<div class="metric"><span>重复</span><strong id="m-dup">0</strong></div>
<div class="metric"><span>跳过</span><strong id="m-skip">0</strong></div>
</section>
<div class="workspace">
<section class="main-col">
<section class="card stage-card" id="preview-card">
<div class="section-head">
<h2>预览图</h2>
<span id="preview-note" class="muted">生成后显示</span>
</div>
<div id="preview-grid" class="preview-grid"></div>
</section>
<section class="card stage-card" id="new-card">
<div class="section-head">
<h2>新增记录</h2>
<span class="muted">自动识别后可手动修正或标识</span>
</div>
<div class="table-wrap">
<table>
<thead>
<tr>
<th>网点</th>
<th>金额</th>
<th>类型</th>
<th>页面</th>
<th>状态</th>
<th>输出文件</th>
<th>标记</th>
</tr>
</thead>
<tbody id="new-body"></tbody>
</table>
</div>
</section>
</section>
<aside class="side-col">
<details class="card fold-card" id="dup-panel">
<summary>重复记录(可展开)</summary>
<div class="fold-body">
<div class="table-wrap">
<table>
<thead>
<tr>
<th>网点</th>
<th>金额</th>
<th>类型</th>
<th>状态</th>
<th>原因</th>
<th>操作</th>
</tr>
</thead>
<tbody id="dup-body"></tbody>
</table>
</div>
</div>
</details>
<details class="card fold-card" id="skip-panel">
<summary>跳过明细(可展开)</summary>
<div class="fold-body">
<ul id="skip-list" class="skip-list"></ul>
</div>
</details>
<details class="card fold-card" id="advanced-panel">
<summary>高级设置(可选)</summary>
<div class="fold-body">
<div class="form-grid">
<label>
模板文件路径(可留空走配置)
<input id="template-file" placeholder="/home/yuyx/黄金三十天喜报模版(余额、保险、理财)(1).pptx" />
</label>
<label>
输出目录(可留空走配置)
<input id="output-dir" placeholder="/home/yuyx/xibao_web_initial/output" />
</label>
</div>
<div id="config-summary" class="muted config-summary">加载中...</div>
</div>
</details>
<details class="card fold-card" id="history-panel">
<summary>历史记录(刷新后仍可见)</summary>
<div class="fold-body">
<div class="section-head">
<span id="history-note" class="muted">加载中...</span>
<button id="history-refresh-btn" class="secondary">刷新历史</button>
</div>
<div class="table-wrap">
<table>
<thead>
<tr>
<th>时间</th>
<th>网点</th>
<th>金额</th>
<th>类型</th>
<th>状态</th>
<th>原始行</th>
<th>操作</th>
</tr>
</thead>
<tbody id="history-body"></tbody>
</table>
</div>
</div>
</details>
<details class="card fold-card" id="issue-panel">
<summary>已标识错误(可编辑/删除)</summary>
<div class="fold-body">
<div class="section-head">
<span id="issue-note" class="muted">加载中...</span>
<button id="issue-refresh-btn" class="secondary">刷新标识</button>
</div>
<div class="table-wrap">
<table>
<thead>
<tr>
<th>时间</th>
<th>类型</th>
<th>原始行</th>
<th>备注</th>
<th>操作</th>
</tr>
</thead>
<tbody id="issue-body"></tbody>
</table>
</div>
</div>
</details>
</aside>
</div>
</main>
<div id="insurance-modal" class="modal hidden">
<div class="modal-card">
<h3>检测到保险记录</h3>
<p>有保险条目未写明年限,请逐条选择期交年限:</p>
<div id="insurance-items" class="insurance-list"></div>
<div class="row">
<button id="insurance-submit">确认并继续生成</button>
<button id="insurance-cancel" class="danger">取消</button>
</div>
</div>
</div>
<div id="correction-modal" class="modal hidden">
<div class="modal-card correction-card">
<h3>手动修正并重生图</h3>
<p>保存后只重生当前这条,并可选择记住规则。</p>
<div class="form-grid">
<label>
网点
<input id="corr-branch" />
</label>
<label>
金额(万)
<input id="corr-amount" />
</label>
<label>
类型
<input id="corr-type" />
</label>
<label>
页面
<input id="corr-page" placeholder="page_2" />
</label>
<label>
状态
<input id="corr-status" />
</label>
<label>
备注(可选)
<input id="corr-note" />
</label>
</div>
<label class="check-line">
<input id="corr-remember" type="checkbox" />
记住规则(下次自动套用)
</label>
<label id="corr-keyword-wrap" class="hidden">
规则关键词(可留空自动推断)
<input id="corr-keyword" placeholder="如:揽收他行" />
</label>
<div class="row">
<button id="corr-submit">保存并生成</button>
<button id="corr-cancel" class="danger">取消</button>
</div>
</div>
</div>
<script src="./app.js?v=20260227.28"></script>
</body>
</html>