platform-assistant/线索管理操作白皮书.html
Sisyphus afac18e843 feat(F002): W26 + W29.x + W30 + W31 平台助手全部改动首次 commit
- W26: NestJS API + Next.js Web + Prisma + SQLite scaffold
- W26: Lead 模型 + Crawler + 询价发布助手 (线索池 + 一键发布)
- W29.x: MCP 集成 (Integration 模型 + connectMcp + publish_rfq 5 工具端到端跑通)
- W30: 3 字段补充 (notes / quotationType / quotationDemand)
- W31 P1: 自动填 enterpriseId / userId (Prisma companyUserId 字段 + get_app_identity tool + lead.service.ts publishArgs)
- W31: detail 详情页 + admin UI 集成管理 (OpenAppListView + AuditLogListView)

关联: ~/Documents/02-平台开发/产品开发/F002-W31-交接文档.md
GIT-AUDIT-REPORT-2026-06-24.md
2026-06-24 11:07:11 +08:00

467 lines
27 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.

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>巨变平台 · 可视化工作台操作白皮书</title>
<style>
:root {
--bg: #f4f7fb; --surface: #fff; --text: #0f172a; --muted: #475569;
--line: #dbe3ef; --primary: #0052cc;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: "PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif; background: var(--bg); color: var(--text); line-height: 1.7; }
.container { max-width: 960px; margin: 0 auto; padding: 32px 24px 80px; }
h1 { font-size: 28px; font-weight: 700; margin-bottom: 4px; }
h1 + p { color: var(--muted); font-size: 14px; margin-bottom: 32px; }
h2 { font-size: 20px; font-weight: 700; margin: 40px 0 16px; padding-bottom: 8px; border-bottom: 2px solid var(--line); display: flex; align-items: center; gap: 8px; }
h2 .num { display: inline-flex; width: 28px; height: 28px; background: var(--primary); color: #fff; border-radius: 6px; font-size: 14px; align-items: center; justify-content: center; flex-shrink: 0; }
h3 { font-size: 16px; font-weight: 600; margin: 20px 0 8px; color: var(--primary); }
h4 { font-size: 14px; font-weight: 600; margin: 12px 0 4px; }
p, li { font-size: 14px; }
ul, ol { padding-left: 20px; }
li { margin-bottom: 4px; }
table { width: 100%; border-collapse: collapse; margin: 12px 0 20px; font-size: 13px; }
th, td { padding: 10px 14px; text-align: left; border-bottom: 1px solid var(--line); }
th { background: var(--bg); font-weight: 600; color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
tr:hover td { background: #f8fafc; }
.tag { display: inline-block; padding: 2px 8px; border-radius: 99px; font-size: 11px; font-weight: 600; }
.tag-done { background: #ecfdf5; color: #059669; }
.tag-todo { background: #fffbeb; color: #d97706; }
.tag-info { background: #eff6ff; color: #2563eb; }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 20px; margin: 12px 0; box-shadow: 0 2px 8px rgba(15,23,42,.04); }
.action-item { padding: 10px 0; border-bottom: 1px solid var(--line); }
.action-item:last-child { border-bottom: none; }
.action-item .title { font-weight: 600; display: flex; align-items: center; gap: 8px; }
.action-item .desc { color: var(--muted); font-size: 13px; margin-top: 2px; }
.flow-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 8px 0; font-size: 13px; }
.flow-step { padding: 4px 12px; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 6px; font-weight: 500; }
.flow-arrow { color: var(--primary); font-weight: 700; }
.toc a { display: block; padding: 6px 0; color: var(--primary); text-decoration: none; font-size: 14px; }
.toc a:hover { text-decoration: underline; }
.stat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; margin: 12px 0; }
.stat-box { background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: 14px; }
.stat-box .stat-label { font-size: 12px; color: var(--muted); }
.stat-box .stat-value { font-size: 24px; font-weight: 700; margin-top: 4px; }
.note { background: #fffbeb; border: 1px solid #fde68a; border-radius: 8px; padding: 12px 16px; font-size: 13px; color: #92400e; margin: 12px 0; }
@media print {
body { background: #fff; }
.container { max-width: 100%; padding: 20px 0; }
h2 { break-before: page; }
}
</style>
</head>
<body>
<div class="container">
<h1>巨变平台 · 可视化工作台</h1>
<p>操作白皮书 V1.0 · 2026-04-26 · 原型阶段</p>
<div class="card">
<h4 style="margin-top:0">核心业务流程</h4>
<div class="flow-row">
<span class="flow-step">采集</span><span class="flow-arrow">→</span>
<span class="flow-step">研判</span><span class="flow-arrow">→</span>
<span class="flow-step">分池</span><span class="flow-arrow">→</span>
<span class="flow-step">分发</span><span class="flow-arrow">→</span>
<span class="flow-step">跟进</span><span class="flow-arrow">→</span>
<span class="flow-step">反馈</span>
</div>
<p style="margin-top:8px;font-size:13px;color:var(--muted)">每日 19:00 智能体自动抓取 → 次日 08:00 规则引擎研判并推送 → 业务员上班查看「昨日输出」→ 处理待跟进 → 转询价/协同 → 成交后反馈优化规则</p>
</div>
<div class="toc card">
<h4 style="margin-top:0">页面导航</h4>
<a href="#p1">一、工作台首页</a>
<a href="#p2">二、线索池</a>
<a href="#p3">三、线索详情</a>
<a href="#p4">四、报告中心</a>
<a href="#p5">五、规则中心</a>
<a href="#p6">六、系统监控</a>
<a href="#global">七、全局交互</a>
</div>
<!-- ==================== 一、工作台首页 ==================== -->
<h2 id="p1"><span class="num">一</span> 工作台首页</h2>
<p>业务驾驶舱。运营/业务员打开后 3 分钟看清「今天先做什么」。</p>
<div class="stat-grid">
<div class="stat-box"><div class="stat-label">昨日抓取</div><div class="stat-value">42</div><div style="font-size:12px;color:#059669">+12% vs 均值</div></div>
<div class="stat-box"><div class="stat-label">昨日高价值</div><div class="stat-value">11</div><div style="font-size:12px;color:var(--muted)">4-5 星线索</div></div>
<div class="stat-box"><div class="stat-label">待跟进</div><div class="stat-value">24</div><div style="font-size:12px;color:var(--muted)">需当天处理</div></div>
<div class="stat-box"><div class="stat-label">超时预警</div><div class="stat-value" style="color:#e11d48">07</div><div style="font-size:12px;color:#e11d48">关键动作缺失</div></div>
<div class="stat-box"><div class="stat-label">本周转询价</div><div class="stat-value">68%</div><div style="font-size:12px;color:#059669">+5%</div></div>
</div>
<h3>1.1 操作按钮</h3>
<div class="card">
<div class="action-item">
<div class="title"><span class="tag tag-info">按钮</span>「昨日输出」</div>
<div class="desc"><b>定义</b>:查看昨日 19:00 智能体抓取后的完整产出摘要。<br><b>触发</b>:运营/业务员上班后首件事。<br><b>动作</b>:弹出模态窗,展示昨日抓取概况、星级分布图、TOP5 高价值线索、推送状态。<br><b>下游</b>:查看后可跳转「查看全部线索」或「进入线索池」。<br><span class="tag tag-done">原型完成</span></div>
</div>
<div class="action-item">
<div class="title"><span class="tag tag-info">按钮</span>「创建询价」</div>
<div class="desc"><b>定义</b>:手动发起一条询价任务,不经过线索研判流程。<br><b>触发</b>:业务员已有已知需求,不需要系统推荐。<br><b>动作</b>:弹出询价表单(项目名、品类、金额、甲方、备注),提交后创建询价单。<br><b>下游</b>:询价单进入巨变平台询报价模块,通知供应商报价。<br><span class="tag tag-todo">本期不开放</span> 询报价是已有平台功能,非本工作台范畴。</div>
</div>
</div>
<h3>1.2 分池展示</h3>
<div class="card">
<div class="action-item">
<div class="title"><span class="tag tag-info">Tab</span> 待跟进池 / 观察池</div>
<div class="desc"><b>定义</b>:按线索星级分流。<br><b>待跟进池</b>(4-5 星):需立即处理的高价值线索,显示甲方级别和截止时间。<br><b>观察池</b>(1-3 星):可人工复核的低价值线索,含「需人工探查」标记。<br><b>下游</b>:业务员从待跟进池挑选线索进入详情页执行动作。<br><span class="tag tag-done">原型完成</span></div>
</div>
</div>
<h3>1.3 只读组件</h3>
<div class="card">
<div class="action-item">
<div class="title">指标卡(5 个)</div>
<div class="desc">只读看板。昨日抓取(原始公告数)· 昨日高价值(4-5 星数)· 待跟进(总待处理数)· 超时预警(72h 未跟进或 48h 截止)· 本周转询价率。<span class="tag tag-done">完成</span></div>
</div>
<div class="action-item">
<div class="title">转化漏斗</div>
<div class="desc">只读柱状图。抓取(42)→研判(38)→待跟进(24)→转询价(16)→成交(3),含各环节转化率。<span class="tag tag-done">完成</span></div>
</div>
<div class="action-item">
<div class="title">风险预警卡片</div>
<div class="desc">临期预警(L001 不足 48h)、信息缺失(3 条缺联系人)、规则复盘提醒(低分中标 1 条)。<span class="tag tag-done">完成</span> 部分链接待接入。</div>
</div>
<div class="action-item">
<div class="title">数据源告警横幅</div>
<div class="desc">当 PowerChina 等数据源不可达时显示琥珀色横幅,可跳转系统监控页或忽略。<span class="tag tag-done">完成</span>(模拟触发)</div>
</div>
</div>
<div class="note"><b>角色差异</b>:业务员看全部指标+待跟进池;主管额外看团队转化率;运营关注规则复盘提醒;管理层只看漏斗和指标卡。</div>
<!-- ==================== 二、线索池 ==================== -->
<h2 id="p2"><span class="num">二</span> 线索池</h2>
<p>集中筛选、批量动作、快速预览线索。线索全生命周期管理主界面。</p>
<h3>2.1 筛选器(7 个)</h3>
<div class="card">
<table>
<tr><th>筛选项</th><th>可选值</th><th>说明</th></tr>
<tr><td>时间范围</td><td>全部 / 今天 / 昨天 / 本周 / 本月</td><td>按抓取时间筛选</td></tr>
<tr><td>星级</td><td>全部 / 5星 / 4星 / 3星 / 2星及以下</td><td>按研判推荐指数筛选</td></tr>
<tr><td>状态</td><td>全部 / 待复核→已成交→无效</td><td>按 9 种状态筛选</td></tr>
<tr><td>甲方级别</td><td>全部 / S级 / A级 / B级</td><td>按甲方分级筛选</td></tr>
<tr><td>品类</td><td>全部 / 防火门→瓷砖</td><td>按品类关键词筛选</td></tr>
<tr><td>来源平台</td><td>全部 / PowerChina / 新矿 / 发改委 / 资讯</td><td>按数据来源筛选</td></tr>
<tr><td>负责人</td><td>全部 / 郑钊 / 赵主任 / 运营 / 未分配</td><td>按指派筛选</td></tr>
</table>
<span class="tag tag-done">原型完成</span> 筛选逻辑待后端实现。
</div>
<h3>2.2 批量操作(4 个)</h3>
<div class="card">
<p style="font-size:13px;color:var(--muted);margin-bottom:12px">前置条件:先在表格左侧勾选至少 1 条线索。</p>
<table>
<tr><th>按钮</th><th>定义</th><th>隐含动作</th><th>下游影响</th></tr>
<tr>
<td><b>批量分配</b></td>
<td>将勾选线索指派给指定业务员</td>
<td>弹出选择人员对话框,确认后更新每条线索的「负责人」字段</td>
<td>被指派人工作台「待跟进」列表更新</td>
</tr>
<tr>
<td><b>批量转询价</b></td>
<td>将勾选线索批量创建为询价任务</td>
<td>弹出确认框(预填线索信息),一键生成多条询价单</td>
<td>询价单进入巨变平台询报价模块</td>
</tr>
<tr>
<td><b>批量转协同</b></td>
<td>将勾选线索批量转为供应商协同任务</td>
<td>弹出确认框,选择邀请的供应商,发起协同</td>
<td>供应商收到协同邀请</td>
</tr>
<tr>
<td><b>批量变更状态</b></td>
<td>批量修改勾选线索的状态</td>
<td>弹出状态选择,确认后批量更新</td>
<td>工作台首页统计数据同步</td>
</tr>
</table>
<span class="tag tag-todo">按钮已就位</span> 批量逻辑待后端实现,当前点击提示「请先勾选线索」。
</div>
<h3>2.3 列表交互</h3>
<div class="card">
<div class="action-item">
<div class="title"><span class="tag tag-info">行点击</span> 右侧预览抽屉</div>
<div class="desc">点击表格行(非链接区域)→ 右侧滑出 460px 面板,展示:星级、摘要、研判依据、8 字段信息、上架状态。底部「查看完整详情」跳转线索详情页。<span class="tag tag-done">完成</span></div>
</div>
<div class="action-item">
<div class="title"><span class="tag tag-info">链接</span> 项目名称</div>
<div class="desc">线索名称本身是超链接,直接跳转线索详情页。<span class="tag tag-done">完成</span></div>
</div>
<div class="action-item">
<div class="title"><span class="tag tag-info">按钮</span> 导出 / 一键上架</div>
<div class="desc">导出:将当前筛选结果导出为 Excel/CSV。<br>一键上架:与线索详情页同功能,将线索发布到外部展示平台。<br><span class="tag tag-todo">占位</span></div>
</div>
</div>
<div class="note"><b>角色差异</b>:业务员只能操作自己负责的线索;主管可分配和查看全部线索;运营可执行批量操作和导出。</div>
<!-- ==================== 三、线索详情 ==================== -->
<h2 id="p3"><span class="num">三</span> 线索详情</h2>
<p>从「看到」到「行动」不跳系统。线索核心行动页。</p>
<h3>3.1 核心动作按钮</h3>
<div class="card">
<table>
<tr><th>按钮</th><th>定义</th><th>触发</th><th>动作</th><th>下游影响</th><th>状态</th></tr>
<tr>
<td><b>提交跟进意向</b></td>
<td>确认值得跟进</td>
<td>业务员看过详情后决定</td>
<td>弹出确认框,状态推进</td>
<td>状态机从「待复核」→「待跟进」</td>
<td><span class="tag tag-todo">待完善</span></td>
</tr>
<tr>
<td><b>转询价</b></td>
<td>基于当前线索创建询价任务</td>
<td>业务员确认线索可报价后</td>
<td>弹窗预填线索信息,补充备注+指派负责人,提交</td>
<td>状态→「已转询价」,跟进记录追加,询价单进入平台询报价</td>
<td><span class="tag tag-done">完成</span></td>
</tr>
<tr>
<td><b>转供应商协同</b></td>
<td>创建供应商协同任务</td>
<td>需要多家供应商报价时</td>
<td>弹窗预填线索信息,选供应商(4 家 checkbox),设优先级,补备注</td>
<td>状态→「已转协同」,供应商收到邀请</td>
<td><span class="tag tag-done">完成</span></td>
</tr>
<tr>
<td><b>一键上架</b></td>
<td>发布到外部展示平台</td>
<td>线索已确认,需要公开展示</td>
<td>弹窗选目标平台(4 个 checkbox),确认上架</td>
<td>线索标记「已上架」,跟进记录追加</td>
<td><span class="tag tag-done">完成</span></td>
</tr>
<tr>
<td><b>撤销上一步</b></td>
<td>撤销最近一次动作</td>
<td>误操作或情况变更</td>
<td>恢复上一步状态,删除最近跟进记录</td>
<td>状态回退</td>
<td><span class="tag tag-todo">占位</span></td>
</tr>
</table>
</div>
<h3>3.2 跟进记录</h3>
<div class="card">
<div class="action-item">
<div class="title"><span class="tag tag-info">按钮</span>「+ 添加跟进」</div>
<div class="desc"><b>定义</b>:手动记录一次跟进动作。<br><b>动作</b>:展开行内表单,选择类型(电话触达/发送资料/关系拜访/内部讨论/待补充信息/其他),填写内容,提交。<br><b>下游</b>:追加到时间线顶部,最新记录高亮并显示「删除」按钮。<br><span class="tag tag-done">完成</span></div>
</div>
<div class="action-item">
<div class="title"><span class="tag tag-info">按钮</span>「删除」(仅最新记录可见)</div>
<div class="desc"><b>定义</b>:删除本条跟进记录。<b>动作</b>:从列表移除并重新渲染时间线。<span class="tag tag-done">完成</span></div>
</div>
</div>
<h3>3.3 信息展示</h3>
<div class="card">
<div class="action-item">
<div class="title">投标倒计时</div>
<div class="desc">实时刷新的天·时·分·秒倒计时,48h 内红色高亮。<span class="tag tag-done">完成</span></div>
</div>
<div class="action-item">
<div class="title">9 状态流转图</div>
<div class="desc">已抓取→已研判→待复核→待跟进→跟进中→已转询价→已转协同→已成交→无效。当前状态蓝底高亮,已完成状态蓝色浅底。<span class="tag tag-done">完成</span></div>
</div>
<div class="action-item">
<div class="title">原文链接与附件</div>
<div class="desc">原始招标公告(外链)+ 附件 PDF/ZIP(模拟下载)。<span class="tag tag-done">完成</span></div>
</div>
<div class="action-item">
<div class="title">空间覆盖图</div>
<div class="desc">可点击河南/山东/新疆区域按钮,显示该区域活跃线索数量。<span class="tag tag-done">完成</span></div>
</div>
</div>
<div class="note"><b>角色差异</b>:业务员可执行全部动作;主管可查看但不能修改他人线索;运营只能查看不能操作业务动作。</div>
<!-- ==================== 四、报告中心 ==================== -->
<h2 id="p4"><span class="num">四</span> 报告中心</h2>
<p>日报/周报管理、预览与推送配置。管理层和业务层共享同一事实。</p>
<h3>4.1 报告列表与预览</h3>
<div class="card">
<div class="action-item">
<div class="title"><span class="tag tag-info">按钮</span>「查看」(每条报告行)</div>
<div class="desc"><b>定义</b>:在线预览报告完整内容。<br><b>动作</b>:弹出模态窗,展示四板块完整报告:<br>① 摘要概览(新增/高价值/待跟进/预警)<br>② 高价值线索清单(8 字段表格,可点击跳详情)<br>③ 需人工探查线索(琥珀色高亮,含风险提示)<br>④ 行业动态摘要(区域分布、品类热度、发改委动态)<br><b>板块显示</b>受右侧「报告模板」checkbox 控制。<br><span class="tag tag-done">完成</span></div>
</div>
<div class="action-item">
<div class="title"><span class="tag tag-info">按钮</span>「手动生成」/「推送配置」</div>
<div class="desc">手动生成:在定时任务外触发报告生成。推送配置:保存当前推送渠道设置。<span class="tag tag-todo">占位</span></div>
</div>
</div>
<h3>4.2 推送管理</h3>
<div class="card">
<div class="action-item">
<div class="title">推送渠道</div>
<div class="desc">企业微信群机器人(每日 08:00)· 站内消息(实时)· 邮件(每日 08:30)。<span class="tag tag-done">完成</span></div>
</div>
<div class="action-item">
<div class="title">推送频率配置</div>
<div class="desc">日报 08:00 / 周报 周一 09:00 / 晚报(未启用)。「修改时间配置」按钮。<span class="tag tag-done">完成</span> 修改逻辑待后端</div>
</div>
<div class="action-item">
<div class="title">推送历史</div>
<div class="desc">记录每条推送的:报告类型·版本·渠道标签·时间戳·成功/待推送状态。<span class="tag tag-done">完成</span></div>
</div>
</div>
<h3>4.3 报告模板</h3>
<div class="card">
<div class="action-item">
<div class="title">6 个 checkbox</div>
<div class="desc">摘要概览 / 高价值线索清单 / 需人工探查 / 行业动态(以上默认启用)<br>供应商报价行动简报 / 品类市场指数分析(默认未启用)<br><b>动作</b>:勾选/取消后保存配置,并实时影响报告预览弹窗的板块显示。<br><span class="tag tag-done">完成</span></div>
</div>
</div>
<div class="note"><b>角色差异</b>:管理层看报告预览和推送历史;运营配置模板和推送时间;业务员只接收推送结果。</div>
<!-- ==================== 五、规则中心 ==================== -->
<h2 id="p5"><span class="num">五</span> 规则中心</h2>
<p>把专家经验变成可管理、可迭代的系统资产。三个 Tab:评分权重 / 关键词库 / 甲方分级。</p>
<h3>5.1 评分权重(Tab 1)</h3>
<div class="card">
<div class="action-item">
<div class="title"><span class="tag tag-info">滑块</span> 4 个权重参数</div>
<div class="desc">基础分(0-100)· 品类加分(0-40)· 金额加分(0-30)· 风险扣分(0-40)。<br><b>动作</b>:拖动滑块 → 实时刷新「影响预估」三个指标卡(待重算线索数、预计评分上升/下降比例)。<br><span class="tag tag-done">完成</span></div>
</div>
<div class="action-item">
<div class="title"><span class="tag tag-info">按钮</span>「保存并重算评分」</div>
<div class="desc"><b>定义</b>:将当前权重设定应用到全部已抓取线索,重新计算星级。<br><b>下游</b>:工作台分池数据变化,报告内容变化。<br><span class="tag tag-todo">占位</span></div>
</div>
<div class="action-item">
<div class="title"><span class="tag tag-info">按钮</span>「发布新版本」</div>
<div class="desc"><b>定义</b>:将当前规则配置正式发布为一个带版本号的快照。<br><b>动作</b>:弹出变更说明输入框 → 提交后写入审计日志(localStorage 持久化),版本号+1。<br><b>回滚</b>:版本历史列表每条有「回滚」按钮,可恢复旧版本规则。<br><span class="tag tag-done">完成</span></div>
</div>
</div>
<h3>5.2 关键词库(Tab 2)</h3>
<div class="card">
<div class="action-item">
<div class="title"><span class="tag tag-info">按钮</span>「+ 添加关键词」</div>
<div class="desc"><b>定义</b>:向品类关键词库添加新词。<br><b>动作</b>:两次 prompt(词 + 品类)→ 加入列表,命中率初始 0%。<br><b>下游</b>:后续抓取的线索将按新词库匹配。<br><span class="tag tag-done">完成</span></div>
</div>
<div class="action-item">
<div class="title"><span class="tag tag-info">按钮</span>「删除」(每行)</div>
<div class="desc">从库中移除该关键词,后续研判不再使用。<span class="tag tag-done">完成</span></div>
</div>
<div class="action-item">
<div class="title">偏好词 / 规避词</div>
<div class="desc">偏好词(抽水蓄能、光伏、学校等 7 个)→ 匹配加分。规避词(商品住宅、房地产等 3 个)→ 标记高风险。<span class="tag tag-done">完成</span></div>
</div>
</div>
<h3>5.3 甲方分级(Tab 3)</h3>
<div class="card">
<div class="action-item">
<div class="title"><span class="tag tag-info">按钮</span>「+ 添加甲方」</div>
<div class="desc"><b>定义</b>:向甲方分级库添加新单位。<br><b>动作</b>:两次 prompt(名称 + 级别 S/A/B)→ 加入列表。<br><b>下游</b>:后续抓取的线索将按新分级加权。<br><span class="tag tag-done">完成</span></div>
</div>
<div class="action-item">
<div class="title">甲方列表(16 条)</div>
<div class="desc">含所属机构、级别、本月命中数、历史成交金额。S 级 8 家、A 级 5 家、B 级 3 家。支持删除。<span class="tag tag-done">完成</span></div>
</div>
</div>
<div class="note"><b>角色差异</b>:仅运营管理员可修改规则。业务员和主管只读。</div>
<!-- ==================== 六、系统监控 ==================== -->
<h2 id="p6"><span class="num">六</span> 系统监控</h2>
<p>保障采集→研判→推送流程稳定性与可追溯。</p>
<div class="card">
<div class="action-item">
<div class="title"><span class="tag tag-info">按钮</span>「手动触发抓取」</div>
<div class="desc"><b>定义</b>:在定时任务之外立即执行一次全源抓取。<br><b>触发</b>:定时任务失败后补抓,或紧急需要最新数据。<br><b>动作</b>:调用抓取脚本,完成后入库。<br><span class="tag tag-todo">占位</span></div>
</div>
</div>
<h3>6.1 监控面板</h3>
<div class="card">
<table>
<tr><th>模块</th><th>内容</th><th>状态</th></tr>
<tr><td>抓取任务状态</td><td>PowerChina(正常·42条·2.8s)+ 2 个待接入源</td><td><span class="tag tag-done">完成</span></td></tr>
<tr><td>数据源健康度</td><td>PowerChina 正常 / 页面结构告警 / 发改委待接入</td><td><span class="tag tag-done">完成</span></td></tr>
<tr><td>数据源列表</td><td>3 个数据源:接口地址·频率·状态·最近抓取·累计记录</td><td><span class="tag tag-done">完成</span></td></tr>
<tr><td>审计日志</td><td>规则变更·上架操作·定时抓取·告警记录</td><td><span class="tag tag-done">完成</span></td></tr>
</table>
</div>
<div class="note"><b>角色差异</b>:仅平台管理员可手动触发抓取和配置数据源。运营可查看审计日志。</div>
<!-- ==================== 七、全局交互 ==================== -->
<h2 id="global"><span class="num">七</span> 全局交互</h2>
<div class="card">
<table>
<tr><th>交互</th><th>定义</th><th>状态</th></tr>
<tr><td><b>侧边栏导航</b></td><td>6 页互跳,当前页蓝色高亮 + 右侧边框标记</td><td><span class="tag tag-done">完成</span></td></tr>
<tr><td><b>退出</b></td><td>返回统一入口.html</td><td><span class="tag tag-done">完成</span></td></tr>
<tr><td><b>支持</b></td><td>toast「支持功能建设中」</td><td><span class="tag tag-done">完成</span></td></tr>
<tr><td><b>ESC 键</b></td><td>关闭所有模态窗 / 侧滑抽屉</td><td><span class="tag tag-done">完成</span></td></tr>
<tr><td><b>顶部搜索框</b></td><td>全局搜索线索/甲方/项目</td><td><span class="tag tag-todo">占位</span></td></tr>
<tr><td><b>Toast 反馈</b></td><td>操作后底部居中黑底白字提示,2 秒自动消失</td><td><span class="tag tag-done">完成</span></td></tr>
</table>
</div>
<h3>状态机(9 状态)</h3>
<div class="flow-row">
<span class="flow-step">已抓取</span><span class="flow-arrow">→</span>
<span class="flow-step">已研判</span><span class="flow-arrow">→</span>
<span class="flow-step">待复核</span><span class="flow-arrow">→</span>
<span class="flow-step">待跟进</span><span class="flow-arrow">→</span>
<span class="flow-step">跟进中</span><span class="flow-arrow">→</span>
<span class="flow-step">已转询价</span><span class="flow-arrow">→</span>
<span class="flow-step">已转协同</span><span class="flow-arrow">→</span>
<span class="flow-step">已成交</span>
</div>
<div class="flow-row" style="margin-top:4px">
<span class="flow-step" style="background:#fef2f2;border-color:#fecaca">无效线索</span>
</div>
<h3>角色权限矩阵</h3>
<div class="card">
<table>
<tr><th>功能域</th><th>业务员</th><th>主管</th><th>运营管理员</th><th>平台管理员</th></tr>
<tr><td>查看线索 / 详情</td><td>自己负责</td><td>全部</td><td>只读</td><td>只读</td></tr>
<tr><td>发起跟进 / 转询价 / 协同</td><td>✅</td><td>✅</td><td>—</td><td>—</td></tr>
<tr><td>批量分配</td><td>—</td><td>✅</td><td>✅</td><td>—</td></tr>
<tr><td>修改规则(权重/关键词/甲方)</td><td>—</td><td>—</td><td>✅</td><td>—</td></tr>
<tr><td>配置数据源 / 系统参数</td><td>—</td><td>—</td><td>—</td><td>✅</td></tr>
<tr><td>查看报告 / 漏斗</td><td>自己</td><td>团队</td><td>全部</td><td>全部</td></tr>
</table>
</div>
<p style="text-align:center;color:var(--muted);margin-top:48px;font-size:13px">巨变平台 · 可视化工作台 · 操作白皮书 V1.0 · 原型阶段</p>
</div>
</body>
</html>