近30天新增客户
{{ dash.new_customers }}
当前数据范围内
30天未跟进客户
{{ dash.uncontacted_count }}
需要立即预警
近7天零拜访成员
{{ alerts.inactive_members.length }}
需主管关注
拜访量成员排行 近{{ dash.rank_days }}天 · 前10名 · 按当前数据范围
暂无拜访数据
客户阶段漏斗 共 {{ funnel.total }} 人 · 当前数据范围
暂无客户数据
保险提醒 生日{{ insAlerts.birthday_days }}天内 · 缴费{{ insAlerts.payment_days }}天内
客户生日
近期无客户生日
| {{ b.name }} | {{ b.birthday.slice(5) || b.birthday }} | {{ b.days === 0 ? '今天' : b.days + ' 天后' }} | {{ b.owner_name }} |
续期缴费
近期无续期缴费
| {{ p.customer_name }} | {{ p.product_name }} | {{ p.next_payment_date }} | {{ p.days === 0 ? '今天' : p.days + ' 天后' }} |
顺为成交漏斗 黄金四面 · 当前数据范围
暂无漏斗数据
| 姓名 | 一面 | 二面 | 邀约 | 到场 | 签单 |
|---|---|---|---|---|---|
| {{ m.name }} | {{ m.mian1 }} | {{ m.mian2 }} | {{ m.invited }} | {{ m.attended }} | {{ m.signed }} |
口径:一面/二面按面见记录去重客户;三面/到场/签单按产说会嘉宾。标准转化率为顺为体系参考值。
客户跟踪情况表 共 {{ tracking.list.length }} 个客户 · 逾期/预警排在前面 · 建档→约访→一面→邀约→到场→成交,每月复盘
暂无客户
{{ c.name }}
{{ c.status }}
约定 {{ c.next_visit_date }} 跟进,已过期
已 {{ c.days_since_visit }} 天未跟进
从未跟进
归属:{{ c.owner_name }} · {{ c.stage }} · {{ c.golden_stage }}
| 编号 | 姓名 | 性别 | 详细地址 | 出生年月日 | 所购险种 | 客户信息汇总 | 第一次 | 第二次 | 第三次 | 第四次 | 第五次 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ c.customer_no }} | {{ c.name }} | {{ c.gender || '—' }} | {{ c.address || '—' }} | {{ c.birthday || '—' }} |
暂无已确认保单
{{ p }}
|
{{ t }}
{{ c.note || '' }}
|
{{ c.visits5[i-1].date }} {{ c.visits5[i-1].channel }}
{{ c.visits5[i-1].text }}
|
来源:{{ c.source || '—' }} · 星级:{{ c.star_level > 0 ? c.star_level + ' 星' : '未评级' }} · 累计跟进 {{ c.visit_count }} 次(近30天 {{ c.visit_30d }} 次) · 约定下次跟进 {{ c.next_visit_date }}
30天未跟进客户预警 共 {{ alerts.uncontacted_customers.length }} 个
暂无未跟进预警
| 客户 | 归属 | 最近拜访 | 未跟进 |
|---|---|---|---|
| {{ c.name }} {{ t }} | {{ c.owner_name }} | {{ c.last_visit_date || '从未拜访' }} | {{ c.days_uncontacted }} 天 |
客户列表 共 {{ customers.length }} 人 · 随数据范围自动变化
| 姓名 | 电话 | 阶段 | 标签 | 归属 | 操作 | |
|---|---|---|---|---|---|---|
| {{ c.name }} | {{ c.phone }} | {{ c.stage || '线索' }} | {{ t }} | {{ c.owner_name }} |
暂无客户数据
保单台账 按客户聚合 · 共 {{ ledger.total }} 户 · 点击行查看家庭保单全景
暂无台账数据(仅统计已确认且挂客户的保单)
| 客户 | 归属人 | 保单数 | 年缴保费合计(元) | 保额合计(元) | 险种 | 最近缴费日 |
|---|---|---|---|---|---|---|
| {{ r.name }} | {{ r.owner_name }} | {{ r.policy_count }} | {{ r.total_premium }} | {{ r.total_coverage }} | {{ t }} | {{ r.nearest_payment || '—' }} |
应续保单
{{ renewals.summary.due_count }}
{{ renewals.month }}
已缴费
{{ renewals.summary.paid_count }}
当月
续期达成率
{{ renewals.summary.rate }}%
已缴 / 应续
失效预警
{{ renewals.summary.overdue_60d }}
超60天未缴
本月跟进
{{ renewals.summary.follow_count }}
催收跟进条数
应续清单 共 {{ renewals.total }} 件 · 缴费日落在 {{ renewals.month }} · 红色为宽限期待催缴
该月暂无应续保单
| 客户 | 保单号 | 产品 | 年缴保费(元) | 缴费日 | 状态 | 归属人 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ r.customer_name || '—' }} | {{ r.policy_no || '—' }} | {{ r.product_name }} | {{ r.annual_premium }} | {{ r.next_payment_date }} 宽限期 {{ -r.days_left }} 天 | {{ r.status }}
最近跟进 {{ r.last_follow.date }} · {{ r.last_follow.result }}
|
{{ r.owner_name }} |
转介绍 共 {{ referrals.total }} 条 · 状态随成交推进
暂无转介绍记录
| 介绍人客户 | 被介绍客户 | 日期 | 状态 | 归属人 | 备注 | 操作 |
|---|---|---|---|---|---|---|
| {{ r.referrer_name }} | {{ r.customer_name }} | {{ r.date }} | {{ r.status }} | {{ r.owner_name }} | {{ r.note || '—' }} |
活动列表
暂无活动,点击「新建活动」开始
{{ ev.name }}
{{ ev.event_date }}
{{ ev.location }}
邀约 {{ ev.invited }}
到场 {{ ev.attended }}
签单 {{ ev.signed }}
{{ ev.note }}
嘉宾管理 {{ events.current.name }} · {{ events.current.event_date }}
请先选择左侧活动
{{ c.name }} {{ c.phone }}
+ 邀约
暂无嘉宾,搜索客户添加邀约
| 客户姓名 | 归属成员 | 状态 | 备注 | 操作 |
|---|---|---|---|---|
| {{ g.customer_name }} | {{ g.owner_name }} |
保单体检 独立模式 · 不关联客户,适合还没建客户档案的场景
仅支持电子版 Word/PDF;AI 抽取结果需人工确认
| 状态 | 保单号 | 公司 | 产品 | 险种 | 保额(元) | 年保费(元) | 缴费期 | 保障期 | 被保险人 | 受益人 | 操作 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| {{p.confirmed ? '已确认' : '待确认'}}已承保 | {{p.policy_no || '—'}} | {{p.company}} | {{p.product_name}} | {{p.insurance_type}} | {{p.coverage_amount ?? '—'}} | {{p.annual_premium ?? '—'}} | {{p.payment_period}} | {{p.coverage_period}} | {{p.insured}} | {{p.beneficiary || '—'}} |
暂无保单,点击「上传保单」开始
体检报告(完备度 {{detail.report.score}} 分 / 保单 {{detail.report.policy_count}} 份 / {{detail.report.generated_at}})
| 险种 | 份数 | 总保额(元) | 年缴保费(元) |
|---|---|---|---|
| {{s.type}} | {{s.count}} | {{s.total_coverage}} | {{s.total_premium}} |
家庭成员保障明细
{{m.insured}}{{m.score}} 分
{{ m.summary.map(s => s.type + ' ' + s.count + '份').join('、') || '—' }}
缺口:{{ m.gaps.map(g => g.category + (g.gap_amount ? '(缺' + fmtWan(g.gap_amount) + ')' : '')).join('、') }}
核心险种配置齐全
保障缺口
| 类别 | 现状 | 缺口金额 | 通用标准 | 建议 | |
|---|---|---|---|---|---|
| {{g.category}} | {{g.current}} | {{ g.gap_amount ? fmtWan(g.gap_amount) : '—' }} | {{g.standard}} | {{g.advice}} |
核心险种配置齐全,无明显缺口
缴费压力:年缴保费合计 {{ detail.report.premium_burden.annual_premium }} 元,
占年收入 {{ (detail.report.premium_burden.ratio*100).toFixed(1) }}%({{ detail.report.premium_burden.level }})
{{ detail.report.premium_burden.note }}
风险提醒
- {{r.detail}}
暂无风险提醒
方案PK 独立模式 · 不关联客户,适合方案初步筛选
勾选 2–5 份已确认的同险种方案
| 状态 | 公司 | 产品 | 险种 | 关键信息 | 操作 | |
|---|---|---|---|---|---|---|
| {{p.confirmed ? '已确认' : '待确认'}} | {{p.company}} | {{p.product_name}} | {{p.insurance_type}} | {{Object.entries(p.fields).slice(0,3).map(([k,v]) => v).join(' / ')}} |
暂无方案,点击「上传方案」开始
方案对比({{detail.pk.insurance_type}})
| 对比维度 | {{c.company}} {{c.product_name}} |
|---|---|
| {{d.label}} | {{c.cells[d.key].text || '—'}} |
成员列表 共 {{ members.length }} 人
| 姓名 | 角色 | 职级 | 所属组织 | 客户数 | 30天拜访 | 操作 |
|---|---|---|---|---|---|---|
| {{ m.name }} | {{ m.role_name }} | {{ m.rank_name || '—' }} | {{ m.org_name }} | {{ m.customer_count }} | {{ m.visit_count_30d }} |
成员业绩 已承保单据 · 共 {{ perf.total_count }} 件 / 年缴保费 {{ perf.total_premium }} 元
暂无出单记录,在保单列表点「承保」登记出单
| 排名 | 成员 | 承保件数 | 年缴保费(元) |
|---|---|---|---|
| {{ (perfPage - 1) * 15 + i + 1 }} | {{ r.name }} | {{ r.count }} | {{ r.premium }} |
近7天零拜访成员 需主管关注
全员均有拜访,暂无预警
| 姓名 | 所属组织 |
|---|---|
| 零拜访 {{ m.name }} | {{ m.org_name }} |
晋升考核看板 国寿收展基本法B版口径 · M值={{ perfBoard.m_value }}元 · FYC≈年缴保费×{{ perfBoard.fyc_rate }}(演示口径)
暂无数据
| 成员 | 职级 | 当月FYC / 件数 | 责任额达成 | 晋升差距(近3月) | 维持考核 | 操作 |
|---|---|---|---|---|---|---|
| {{ r.name }} {{ r.org_name }} · 签约{{ r.tenure_months }}个月 |
{{ r.rank_name }} {{ r.series }}系列 |
{{ r.m_fyc_m }}M({{ r.m_fyc }}元) {{ r.m_cases }} 件 |
责任额 {{ r.quota_m }}M
{{ r.quota_rate }}%
|
→ {{ r.promo.next_rank_name }}
达标可申报
({{ r.promo.note }})
{{ it.ok===null ? '○' : (it.ok ? '✓' : '✗') }} {{ it.label }}:{{ it.curr }} / {{ it.need }}
{{ r.promo.note || '—' }}
|
{{ r.sustain.level==='ok' ? '维持达标' : (r.sustain.level==='warn' ? '接近降级线' : '降级预警') }}
{{ r.sustain.summary }}
|
委托报酬估算 基本法第六章公式 · 演示口径(FYC≈年缴保费×{{ comm.fyc_rate }},续期佣金×2%估算),非真实发佣依据
团队合计:{{ comm.team_total }} 元
{{ s.label }} {{ s.amount }}
暂无数据
| 成员 | 职级 | 当月FYC | 达成率 | 报酬明细 | 合计(元) |
|---|---|---|---|---|---|
| {{ r.name }} | {{ r.rank_name }} | {{ r.m_fyc_m }}M {{ r.m_fyc }}元 |
{{ r.quota_rate }}% |
{{ it.label }} {{ it.amount }} 元
({{ it.note }})
本月无适用报酬项目
|
{{ r.total }} |
目标管理 月度目标 vs 实际承保 · 冲刺/奖励门槛/保级提醒 · M值={{ goalBoard.m_value }}元(演示口径)
本月还剩 {{ goalBoard.days_left }} 天
提醒 {{ goalBoard.remind_count }} 人
暂无数据
| 成员 | 职级 | 目标 FYC / 件数 | 实际达成 | 提醒 | 操作 |
|---|---|---|---|---|---|
| {{ r.name }} {{ r.org_name }} |
{{ r.rank_name }} | {{ r.goal_fyc }} 元 / {{ r.goal_cases }} 件 未设定 |
{{ r.actual_fyc }} 元({{ r.actual_fyc_m }}M)· {{ r.actual_cases }} 件
{{ r.rate }}%
|
{{ t.level==='danger' ? '🔴' : (t.level==='warn' ? '🟡' : (t.level==='ok' ? '🟢' : '⚪')) }} {{ t.text }}
|
活动量看板 {{ actBoard.week_start }} ~ {{ actBoard.week_end }} · 本周电话/面谈/陪访
{{ actBoard.week_start }}
暂无数据
| 成员 | 组织 | 电话 达成/目标 | 面谈 达成/目标 | 陪访 达成/目标 | 操作 |
|---|---|---|---|---|---|
| {{ r.name }} | {{ r.org_name }} | {{ r.calls }} / {{ r.calls_target }} {{ r.calls_rate }}% | {{ r.meetings }} / {{ r.meetings_target }} {{ r.meetings_rate }}% | {{ r.accompany }} / {{ r.accompany_target }} {{ r.accompany_rate }}% |
早会培训 {{ trainings.month }} · 共 {{ trainings.total }} 场
该月暂无场次
| 日期 | 主题 | 类型 | 讲师/组织者 | 应到 | 实到 | 参会率 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ t.date }} | {{ t.title }} | {{ t.type }} | {{ t.organizer }} | {{ t.expected }} | {{ t.checked }} | {{ t.rate }}% |
行事历
{{ calMode==='month' ? cal.month : calWeekLabel }}
筛选:{{ cal.filter_label }}
{{ t }}
{{ w }}
{{ c.day }}
{{ it.title }}
+{{ c.items.length - 2 }} 条
{{ w }}
{{ +c.date.slice(8) }}日
{{ it.title }}
无安排
{{ cal.selected || '选择日期' }} 当日 {{ calDayItems.length }} 条
当日无安排
{{ it.type }}{{ it.title }}
(已完成)
(已过期未完成)
{{ it.sub }}
{{ it.note }}
{{ it.grace_left > 0 ? '已过缴费日,宽限期剩 ' + it.grace_left + ' 天' + (it.grace_left <= 15 ? ',立即催缴!' : '') : '宽限期已满,保单可能失效!' }}
本月汇总 {{ cal.month }} · 共 {{ cal.items.length }} 条
{{ t }} {{ calTypeCount(t) }}
计划完成 {{ calDoneCount }}/{{ calTypeCount('计划') }}
本月未完成拜访计划 {{ calPending.length }} 条 · 点击定位到当日
本月计划全部完成,或还没有安排计划
{{ it.date }} · {{ it.title }}
{{ it.sub }}
知识库 邀约/面见/促成话术与方法论 · 全员可读
暂无知识条目
| 标题 | 分类 | 标签 | 创建人 | 时间 | 操作 |
|---|---|---|---|---|---|
| {{ k.title }} | {{ k.category }} | {{ t }} | {{ k.created_by_name }} | {{ fmtTime(k.created_at) }} |
暂无历史对话
{{ s.title }}
✕
AI助理 基于你的客户/跟进/保单数据回答 · 数据不出系统 · 有每日用量保护
点左侧「+ 新对话」开始
可以问我:哪些客户该跟进了 / 某客户怎么推进 / 帮我写条跟进话术
可以问我:哪些客户该跟进了 / 某客户怎么推进 / 帮我写条跟进话术
新对话,输入你的问题
{{ m.content }}
思考中 {{ asst.thinkSec }}s...
承保件数
{{ rpt.totals.cases }}
{{ rpt.from }} ~ {{ rpt.to }}
年缴保费合计
{{ rpt.totals.premium }}
元 · 已承保单据
FYC 合计
{{ rpt.totals.fyc }}
元 · 演示口径
多维业绩报表 时间桶 × 分组 · 数据范围跟随角色
至
该区间暂无承保数据
| 分组 | 件数 | 年缴保费(元) | FYC(元) | 时间桶明细 |
|---|---|---|---|---|
| {{ r.label }} | {{ r.cases }} | {{ r.premium }} | {{ r.fyc }} | {{ k }}:{{ b.cases }}件 / FYC {{ b.fyc }} |
质检报告
{{ qcSummary.total_checked }}
命中敏感词的抽检记录
违规数
{{ qcSummary.violations }}
需整改
级别分布(按命中词最高级)
高 {{ qcSummary.by_level['高'] }} / 中 {{ qcSummary.by_level['中'] }} / 低 {{ qcSummary.by_level['低'] }}
违规报告分级
近7天新增
{{ qcSummary.recent7d }}
质检报告
质检报告 拜访记录 / AI对话敏感词抽检 · 命中即记违规
暂无质检报告,点击「发起抽检」开始
| 时间 | 来源 | 被检人 | 质检人 | 结果 | 命中词 | 内容摘录 |
|---|---|---|---|---|---|---|
| {{ fmtTime(r.created_at) }} | {{ r.source_type === 'visit' ? '拜访记录' : 'AI对话' }} | {{ r.target_user_name }} | {{ r.inspector_name }} | {{ r.result }} | {{ h.word }} | {{ r.content }} |
敏感词库 租户级词表 · 抽检时做子串匹配
| 敏感词 | 级别 | 创建时间 | 操作 |
|---|---|---|---|
| {{ w.word }} | {{ w.level }} | {{ fmtTime(w.created_at) }} |
佣金对账批次 保司佣金单 × 系统保单按保单号+归属人核对
暂无批次,点击「导入佣金单」上传保司 xlsx
| 批次 | 期间 | 文件名 | 明细数 | 已匹配 | 异常 | 上传人 | 时间 | 操作 |
|---|---|---|---|---|---|---|---|---|
| #{{ b.id }} | {{ b.period }} | {{ b.filename }} | {{ b.total }} | {{ b.matched }} | {{ b.mismatched }} | {{ b.uploader_name }} | {{ fmtTime(b.created_at) }} |
批次明细 #{{ crItems.batch ? crItems.batch.id : '' }} · {{ crItems.batch ? crItems.batch.filename : '' }}
暂无明细
| 保单号 | 业务员 | 产品 | 金额(元) | 核对状态 |
|---|---|---|---|---|
| {{ it.policy_no }} | {{ it.agent_name }} | {{ it.product_name || '—' }} | {{ it.amount }} | {{ it.status }} |
AI 大模型设置 全团队所有 AI 功能共用 · 更换立即生效
当前生效:{{ aiModel.current }}
模型列表来自你的 API Key 实际可用模型。不同模型单价不同:轻量模型更省钱,适合识图/字段抽取等简单任务;旗舰模型效果更好,适合 AI助理对话、报告生成。
更换后 AI助理、保单体检、方案PK、AI识图等全部 AI 功能统一使用新模型。
AI 用量统计 按 token 记账 · 共 {{ aiUsage.total }} 条
今日:{{ aiUsage.today_tokens }} tokens
本月:{{ aiUsage.month_tokens }} tokens
按人(本月):{{ u.name }} {{ u.tokens }}—
按功能(本月):{{ aiKindLabel(k.kind) }} {{ k.tokens }}—
暂无用量记录
| 时间 | 用户 | 功能 | 内容 | 模型 | 输入 | 输出 | 合计 |
|---|---|---|---|---|---|---|---|
| {{ fmtTime(r.created_at) }} | {{ r.user_name }} | {{ aiKindLabel(r.kind) }} | {{ r.ref || '—' }} | {{ r.model }} | {{ r.prompt_tokens }} | {{ r.completion_tokens }} | {{ r.total_tokens }} |
第 {{ aiUsage.page }} / {{ Math.ceil(aiUsage.total / aiUsage.size) }} 页 · 共 {{ aiUsage.total }} 条
账号管理 团队登录账号 · 停用后无法登录
| 姓名 | 手机号 | 角色 | 部门 | 名下客户 | 状态 | 创建时间 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ a.name }} | {{ a.phone }} | {{ a.role_name }} | {{ a.org_name }} | {{ a.customer_count }} | {{ a.status==='active' ? '正常' : '已停用' }} | {{ fmtTime(a.created_at) }} | 编辑 重置密码 {{ a.status==='active' ? '停用' : '启用' }} — |
权限管理 角色 × 功能点矩阵 · 保存后立即生效 · 每次变更记入操作日志
数据范围不受本矩阵影响,始终按角色控制:负责人全团队 / 主管本组及下级 / 业务员仅本人。
团队负责人恒为全量权限(不可改,防止把自己锁死);勾选只控制「功能能不能用」。
当前为只读视图,仅团队负责人可修改。
| 分组 | 功能点 | 团队负责人 | 主管 | 业务员 |
|---|---|---|---|---|
| {{ g.name }} | {{ item.label }} {{ item.key }} |
操作日志 最近 {{ auditLogs.length }} 条 · 按数据范围过滤
暂无操作记录
| 时间 | 操作人 | 动作 | 对象 | 详情 |
|---|---|---|---|---|
| {{ fmtTime(a.created_at) }} | {{ a.user_name }} | {{ actionLabel(a.action) }} | {{ entityLabel(a.entity) }}#{{ a.entity_id }} | {{ fmtDetail(a.detail) }} |
系统更新 从 Gitee 拉取最新代码并自动重启 · 更新前自动备份数据库(滚动保留 10 份)
{{ upd.result.text }}{{ upd.result.ts }}
✕
⚠ 当前分支为「{{ upd.info.branch }}」,不是 master!一键更新仅在 master 分支上使用,否则可能拉错代码。
请先在服务器上执行:
请先在服务器上执行:
git checkout master && git pull --ff-only
当前版本:v{{ sysVer.version || '—' }}
当前 commit:{{ upd.info.current_commit || '—' }}
当前分支:{{ upd.info.branch || '—' }}
发现新版本:落后 {{ upd.info.behind }} 个提交 最新:{{ upd.info.latest_commit }}({{ fmtTime(upd.info.latest_time) }})
已是最新版本
检查失败:{{ upd.checkErr }}
提示:{{ upd.checkHint }}
提示:{{ upd.checkHint }}
正在重启服务,请勿关闭页面…(最长等待 4 分钟)
更新日志(update_web.log 末尾):
{{ upd.log }}