SECURE WORKSPACE

登录客户增长运营中台

已启用服务端会话认证与角色权限控制。

部署提示: 当前生产版通过同源服务端 API 连接数据库;登录会话使用 HttpOnly Cookie,服务端密钥与会话令牌不暴露给前端脚本。
操作提示
{{ toastMessage }}
客户增长运营中台
FB / TikTok · 合同 · 资产 · SOP · 数据
运营数据实时概览

客户、合同、资产和投放数据,集中在一个工作台。

快速识别临期合同、账号资产风险和投放表现,把续费、交付与优化动作放在同一条运营链路里。

{{ card.label }}
{{ card.value }}
{{ card.hint }}

近期客户与合作状态

点击客户可直接进入详情页

客户平台服务费合同投放状态操作
{{ formatMoney(client.monthlyFee, client.currency) }} {{ client.endDate }}
{{ contractStatusText(client) }}
{{ client.status==='ACTIVE'?'合作中':'暂停' }}

运营预警

{{ alertList.length }}

按紧急程度自动排序

当前暂无到期或低余额事项

{{ showArchivedClients?'归档客户':'客户管理' }}

{{ showArchivedClients?'仅显示已归档客户;历史广告、开户、财务和回款数据继续保留。':'统一管理当前客户资料、平台账号、合同周期和服务状态。' }}

共 {{ filteredClients.length }} 家{{ showArchivedClients?'归档客户':'客户' }}
支持本地实时搜索与筛选
{{ client.name }}
{{ client.product }}
月服务费
{{ formatMoney(client.monthlyFee,client.currency) }}
合同到期
{{ client.endDate }}
该客户已归档
历史广告、财务、开户与回款数据仍完整保留,不参与当前运营预警。

{{ selectedClient.name }}

{{ selectedClient.product }} · {{ selectedClient.project }}

月服务费
{{ formatMoney(selectedClient.monthlyFee, selectedClient.currency) }}
{{ billingModeText(selectedClient.billingMode) }}
合同周期
{{ selectedClient.startDate }} → {{ selectedClient.endDate }}
收款节奏
{{ selectedClient.collectionPlan.firstDay || 15 }} 日 + 月末
每月 {{ selectedClient.renewalAlertDay }} 号
首笔 {{ Math.round(Number(selectedClient.collectionPlan.firstRatio || 0.5) * 100) }}% · 余额月末收取
合作状态
{{ selectedClient.archived?'已归档':(selectedClient.status==='ACTIVE'?'合作中':'暂停') }}

平台资产与账号

BM / BC / 广告账号 / 登录资料集中归档;费用数据在投放分析维护

Facebook
{{ (selectedClient.fbAccounts || []).length }} 个账号
{{ clampedAssetPagerIndex('detail','FB',(selectedClient.fbAccounts||[]).length)+1 }} / {{ (selectedClient.fbAccounts || []).length }}
暂未添加 Facebook 账号
TikTok
{{ (selectedClient.tkAccounts || []).length }} 个账号
{{ clampedAssetPagerIndex('detail','TK',(selectedClient.tkAccounts||[]).length)+1 }} / {{ (selectedClient.tkAccounts || []).length }}
暂未添加 TikTok 账号

合同续费记录

从预警页执行续费后会自动写入记录

{{ record.note }}
{{ record.date }} · 新到期日 {{ record.newEndDate }}
暂无续费历史

网络与环境

{{ (selectedClient.networkEnvironments || []).length }} 个环境
网络环境 {{ idx + 1 }}{{ env.ipEnvironment || '未录入 Profile' }}
暂未添加网络环境
当前账户风险规则

{{ selectedClient.riskRules || '暂无单独风控规则。' }}

提醒中心

统一汇总合同、IP、收入应收回款与广告账户低余额提醒,并支持独立添加提醒。

{{ item.type }}
{{ item.clientName }}
{{ item.typeKey==='AD_RECHARGE' ? (item.balanceStage==='CRITICAL' ? '再次提醒 · ≤ $30' : '首次提醒 · ≤ $100') : daysLeftLabel(item.daysLeft) }}
当前 USD 余额{{ item.balanceText }}
当前提醒阶段{{ item.balanceStage==='CRITICAL' ? '二次紧急提醒 · ≤ $30' : '首次低余额提醒 · ≤ $100' }}
广告账户{{ item.target || '—' }}
到期日期{{ item.dueDate }}
费用{{ item.cost || '—' }}
{{ item.typeKey==='CONTRACT' ? '产品 / 服务' : item.typeKey==='RECEIVABLE' ? '账单 / 已收' : '环境 / 平台' }}{{ item.target || '—' }}
当前筛选下没有需要处理的预警

账号与商业资产

按客户独立管理 Facebook、TikTok、Google、Instagram 账号资产与登录资料。

当前客户
资产全局搜索
快速定位客户与平台账号资产
资产搜索结果{{ globalSearchResults.length }} 条
没有找到匹配的客户或账号资产
全部客户
{{ clients.length }}
客户档案总数
Facebook
{{ clients.reduce((n,c)=>n+(c.fbAccounts||[]).length,0) }}
账号资产
TikTok
{{ clients.reduce((n,c)=>n+(c.tkAccounts||[]).length,0) }}
账号资产
Google
{{ clients.reduce((n,c)=>n+(c.googleAccounts||[]).length,0) }}
账号资产
Instagram
{{ clients.reduce((n,c)=>n+(c.instagramAccounts||[]).length,0) }}
账号资产

全部客户账号资产

汇总每个客户的 Facebook、TikTok、Google 与 Instagram 资产;点击“查看资产”进入该客户详细资料。

客户FacebookTikTokGoogleInstagram资产合计操作
{{ c.name }}已归档
{{ c.project || c.product || '客户项目' }}
{{ (c.fbAccounts||[]).length }} {{ (c.tkAccounts||[]).length }} {{ (c.googleAccounts||[]).length }} {{ (c.instagramAccounts||[]).length }} {{ (c.fbAccounts||[]).length+(c.tkAccounts||[]).length+(c.googleAccounts||[]).length+(c.instagramAccounts||[]).length }}
暂无客户资料
{{ selectedAssetsClient.name }}
{{ selectedAssetsClient.product }} · {{ selectedAssetsClient.project }}
FB {{ (selectedAssetsClient.fbAccounts || []).length }} 个 TK {{ (selectedAssetsClient.tkAccounts || []).length }} 个 Google {{ (selectedAssetsClient.googleAccounts || []).length }} 个 INS {{ (selectedAssetsClient.instagramAccounts || []).length }} 个
Facebook 资产
{{ (selectedAssetsClient.fbAccounts || []).length }} 个账号
{{ clampedAssetPagerIndex('assets','FB',(selectedAssetsClient.fbAccounts||[]).length)+1 }} / {{ (selectedAssetsClient.fbAccounts || []).length }}
当前客户暂无 Facebook 账号资产
TikTok 资产
{{ (selectedAssetsClient.tkAccounts || []).length }} 个账号
{{ clampedAssetPagerIndex('assets','TK',(selectedAssetsClient.tkAccounts||[]).length)+1 }} / {{ (selectedAssetsClient.tkAccounts || []).length }}
当前客户暂无 TikTok 账号资产
Google 资产
Google 登录账号 / Google Ads 客户 ID / MCC 统一归档
{{ (selectedAssetsClient.googleAccounts || []).length }} 个账号
{{ clampedAssetPagerIndex('assets','GOOGLE',(selectedAssetsClient.googleAccounts||[]).length)+1 }} / {{ (selectedAssetsClient.googleAccounts || []).length }}
当前客户暂无 Google 账号资产
Instagram 资产
Instagram 用户名 / ID / 登录资料统一归档
{{ (selectedAssetsClient.instagramAccounts || []).length }} 个账号
{{ clampedAssetPagerIndex('assets','INSTAGRAM',(selectedAssetsClient.instagramAccounts||[]).length)+1 }} / {{ (selectedAssetsClient.instagramAccounts || []).length }}
当前客户暂无 Instagram 账号资产
暂无客户资料

每日 SOP 管理

按客户和具体 FB / TikTok 账号管理每日任务;直接在 Checklist 中添加、删除和修改任务,并可切换日期查看历史或安排未来任务。

在管客户
{{ activeClients.length }}
所有未归档客户
可执行账号
{{ sopAllAccountCount }}
Facebook + TikTok
已配置 SOP 账号
{{ sopAllConfiguredAccountCount }}
已建立账号级执行配置
今日任务
{{ sopAllTodayTaskCount }}
全部客户账号今日计划任务

所有客户每日 SOP

先查看所有客户的账号与今日任务概况;点击「进入 SOP」后,再选择该客户的具体 Facebook / TikTok 账号执行任务。

客户FacebookTikTok可执行账号已配置 SOP今日任务操作
{{ row.client.name }}
{{ row.client.project || row.client.product || '客户项目' }}
{{ row.fbAccounts }} 个账户{{ row.tkAccounts }} 个账户{{ row.accounts }}{{ row.configured }}{{ row.todayTasks }}
暂无在管客户
当前执行客户 / 账号
{{ selectedSopClient.name }} · {{ selectedSopAccount.account.accountName || '未命名账号' }}
{{ selectedSopAccount.platformName }} · 广告账号 {{ selectedSopAccount.account.adAccountId || '未录入' }} · {{ selectedSopAccount.platform==='FB' ? 'BM ' + (selectedSopAccount.account.bmId || '未录入') : 'BC ' + (selectedSopAccount.account.bcId || '未录入') }}
{{ sopSelectedDateBadge }} · {{ completedSopCount }} / {{ selectedSopSteps.length }} 已完成

{{ sopChecklistTitle }}

任务和完成状态按“客户 + 账号 + 日期”独立保存,通过日期选择器查看历史或安排未来任务。

任务日期
计划
{{ step.plan || '未设置计划' }}
备注
{{ step.note || '暂无备注' }}
{{ sopSelectedDateBadge }} 暂无任务,点击右上角「添加任务」开始安排。
计划与账号备注

长期执行计划和账号注意事项,只属于当前选择的客户账号。

客户风控规则

{{ selectedSopClient.riskRules || '暂无风控规则' }}

选择执行账号

{{ selectedSopClient.name }} 有 {{ selectedSopAccounts.length }} 个可执行 FB / TikTok 账号;已按平台分组,直接点击账号进入对应 SOP Checklist。

{{ platformGroup.name }} 账号
选择 {{ platformGroup.name }} 账号进入对应 SOP
{{ selectedSopAccounts.filter(item=>item.platform===platformGroup.key).length }} 个账号
暂无 {{ platformGroup.name }} 可执行账号
当前客户暂无可执行账号
请先到客户资料中添加 Facebook / TikTok 账号资产。
请先选择客户
选择客户后,系统只会加载该客户名下的 Facebook / TikTok 账号。

投放数据分析

广告数据只录入一次并自动同步到账户汇总;账户卡展示 CPM、CTR、CPC、CVR、CPA、ROAS,并可在费用管理的「广告数据同步分析」按日期切换查看。

全部 FACEBOOK 消耗
{{ analyticsAllFbSpendText }}
{{ analyticsAllFbAccountCount }} 个广告账户
全部 TIKTOK 消耗
{{ analyticsAllTkSpendText }}
{{ analyticsAllTkAccountCount }} 个广告账户
所有客户累计广告消耗
{{ analyticsAllSpendText }}
{{ activeClients.length }} 个在管客户 · 不同币种分别汇总
全部累计广告充值
{{ analyticsAllRechargeText }}
来自全部客户广告账户充值记录
Facebook 全客户汇总
统一广告数据自动汇总
{{ analyticsAllFbMetrics.records }} 条数据
{{ m.l }}
{{ m.v }}
TikTok 全客户汇总
统一广告数据自动汇总
{{ analyticsAllTkMetrics.records }} 条数据
{{ m.l }}
{{ m.v }}

所有客户投放数据

选择「所有客户」时展示客户级汇总;点击查看后进入该客户的广告账户明细分析。

客户FB 账户TK 账户广告消耗累计充值数据记录操作
{{ row.client.name }}
{{ row.client.project || row.client.product || '客户项目' }}
{{ row.fbAccounts }}{{ row.tkAccounts }}{{ row.spendText }}{{ row.rechargeText }}{{ row.records }} 条
暂无客户广告数据
FACEBOOK 广告消耗
{{ platformSpendText(selectedAnalyticsClient,'FB') }}
{{ (selectedAnalyticsClient.fbAccounts || []).length }} 个广告账户
TIKTOK 广告消耗
{{ platformSpendText(selectedAnalyticsClient,'TK') }}
{{ (selectedAnalyticsClient.tkAccounts || []).length }} 个广告账户
客户累计广告消耗
{{ clientSpendText(selectedAnalyticsClient) }}
不同币种分别汇总
累计广告充值
{{ clientRechargeText(selectedAnalyticsClient) }}
来自各广告账户充值记录
统一广告数据:只需要录入一次。同一条记录后续直接更新,广告管理、账户消耗、CTR、CPL、ROAS、余额提醒都会自动重新计算。

广告账户费用管理

切换广告账户后,只查看当前账户的消耗、累计充值与实时余额;USD 余额 ≤ $100 时自动生成广告费充值提醒。

支持按广告账户切换费用数据
Facebook 广告账户
累计消耗 {{ selectedAnalyticsFbAccount ? accountSpendText(selectedAnalyticsFbAccount) : '—' }}
更换 Facebook 广告账户
{{ account.accountName || 'Facebook 广告账户' }}
{{ account.adAccountId || '未录入广告账号 ID' }}
FB
账户累计消耗 · 广告数据自动同步
{{ accountSpendText(account) }}
{{ account.adDataRecords.length }} 条数据
暂无广告数据
无需单独填写消耗,录入一次广告数据后会自动计算并同步两处。
累计充值
{{ accountRechargeText(account) }}
当前账户余额
{{ accountBalanceText(account) }}
余额计算方式
累计 USD 充值 − USD 广告消耗
自动充值提醒
≤ $100 首次提醒 · ≤ $30 再次提醒
{{ !hasUsdBalanceData(account) ? '登记一笔 USD 充值后开始自动监控' : (isCriticalBalance(account) ? '余额已到 $30 或以下:已触发二次紧急充值提醒' : (isLowBalance(account) ? '余额已到 $100 或以下:已触发首次充值提醒' : '当前余额充足,无需充值')) }}
广告数据同步分析
数据来自「广告管理 → 广告数据记录」· 可按日期切换
当前范围:{{ selectedAnalyticsFbDataDate==='ALL' ? '全部日期' : selectedAnalyticsFbDataDate }} · {{ accountDataSummary(account,selectedAnalyticsFbDataDate).records }} 条记录
曝光
{{ accountDataSummary(account,selectedAnalyticsFbDataDate).impressions.toLocaleString() }}
点击
{{ accountDataSummary(account,selectedAnalyticsFbDataDate).clicks.toLocaleString() }}
潜客
{{ accountDataSummary(account,selectedAnalyticsFbDataDate).leads.toLocaleString() }}
转化
{{ accountDataSummary(account,selectedAnalyticsFbDataDate).conversions.toLocaleString() }}
CTR
{{ accountDataSummary(account,selectedAnalyticsFbDataDate).ctrText }}
CPL
{{ accountDataSummary(account,selectedAnalyticsFbDataDate).cplText }}
ROAS
{{ accountDataSummary(account,selectedAnalyticsFbDataDate).roasText }}
收入
{{ accountDataSummary(account,selectedAnalyticsFbDataDate).revenueText }}
最近充值:{{ latestRechargeLabel(account) }}
{{ record.date }} · {{ record.note || '广告账户充值' }}
{{ formatMoney(record.amount,record.currency) }}
暂无 Facebook 广告账户,请先在客户资料中添加账号资产。
TikTok 广告账户
累计消耗 {{ selectedAnalyticsTkAccount ? accountSpendText(selectedAnalyticsTkAccount) : '—' }}
更换 TikTok 广告账户
{{ account.accountName || 'TikTok 广告账户' }}
{{ account.adAccountId || '未录入广告账号 ID' }}
TK
账户累计消耗 · 广告数据自动同步
{{ accountSpendText(account) }}
{{ account.adDataRecords.length }} 条数据
暂无广告数据
无需单独填写消耗,录入一次广告数据后会自动计算并同步两处。
累计充值
{{ accountRechargeText(account) }}
当前账户余额
{{ accountBalanceText(account) }}
余额计算方式
累计 USD 充值 − USD 广告消耗
自动充值提醒
≤ $100 首次提醒 · ≤ $30 再次提醒
{{ !hasUsdBalanceData(account) ? '登记一笔 USD 充值后开始自动监控' : (isCriticalBalance(account) ? '余额已到 $30 或以下:已触发二次紧急充值提醒' : (isLowBalance(account) ? '余额已到 $100 或以下:已触发首次充值提醒' : '当前余额充足,无需充值')) }}
广告数据同步分析
数据来自「广告管理 → 广告数据记录」· 可按日期切换
当前范围:{{ selectedAnalyticsTkDataDate==='ALL' ? '全部日期' : selectedAnalyticsTkDataDate }} · {{ accountDataSummary(account,selectedAnalyticsTkDataDate).records }} 条记录
曝光
{{ accountDataSummary(account,selectedAnalyticsTkDataDate).impressions.toLocaleString() }}
点击
{{ accountDataSummary(account,selectedAnalyticsTkDataDate).clicks.toLocaleString() }}
潜客
{{ accountDataSummary(account,selectedAnalyticsTkDataDate).leads.toLocaleString() }}
转化
{{ accountDataSummary(account,selectedAnalyticsTkDataDate).conversions.toLocaleString() }}
CTR
{{ accountDataSummary(account,selectedAnalyticsTkDataDate).ctrText }}
CPL
{{ accountDataSummary(account,selectedAnalyticsTkDataDate).cplText }}
ROAS
{{ accountDataSummary(account,selectedAnalyticsTkDataDate).roasText }}
收入
{{ accountDataSummary(account,selectedAnalyticsTkDataDate).revenueText }}
最近充值:{{ latestRechargeLabel(account) }}
{{ record.date }} · {{ record.note || '广告账户充值' }}
{{ formatMoney(record.amount,record.currency) }}
暂无 TikTok 广告账户,请先在客户资料中添加账号资产。

跨平台 ROAS 对比

按当前选择的 Facebook / TikTok 广告账户对比,最高 ROAS 归一化为 100%

{{ bar.name }}{{ bar.value || 0 }}
OPTIMIZATION NOTE

预算与素材建议

{{ analyticsAdvice }}

广告管理

广告方案保存后进入列表;广告数据只录入一次,同一条数据更新后会自动同步到投放数据分析。

当前客户
在管客户
{{ activeClients.length }}
所有未归档客户
广告账户
{{ adsAllAccountCount }}
FB + TikTok
已保存方案
{{ adsAllSavedPlanCount }}
全部客户广告方案
广告数据
{{ adsAllDataRecordCount }}
统一广告数据记录
所有客户累计广告消耗
{{ analyticsAllSpendText }}
不同币种分别汇总

所有客户广告管理

总览每个客户的广告账户、方案、数据和消耗。点击「管理广告」进入该客户后再选择平台和广告账户。

客户FacebookTikTok已保存方案数据记录广告消耗累计充值操作
{{ row.client.name }}
{{ row.client.project || row.client.product || '客户项目' }}
{{ row.fbAccounts }} 个账户{{ row.tkAccounts }} 个账户{{ row.savedPlans }}{{ row.records }} 条{{ row.spendText }}{{ row.rechargeText }}
暂无在管客户
广告账户
{{ selectedAdsAccount.accountName || selectedAdsAccount.adAccountId || '未命名账户' }}
{{ selectedAdsAccount.adAccountId || '未录入广告账户 ID' }}
广告账户消耗
{{ accountSpendText(selectedAdsAccount) }}
{{ accountAdDataRecords.length ? `由 ${accountAdDataRecords.length} 条统一广告数据自动汇总` : '暂无数据,请从任一页面录入一次即可同步' }}
累计广告充值
{{ accountRechargeText(selectedAdsAccount) }}
{{ (selectedAdsAccount.rechargeHistory || []).length }} 条充值记录
最近充值日期
{{ latestRechargeDate(selectedAdsAccount) }}
登记充值时自动写入日期
广告费充值记录
充值日期会在每次登记时自动记录,可在充值窗口修改当天日期。
日期金额备注
{{ record.date }}{{ formatMoney(record.amount,record.currency) }}{{ record.note || '广告账户充值' }}

已保存广告方案

方案保存后会变成列表记录;点击「详情」查看完整广告设置方案。

方案名称广告系列目标广告组 / 广告方案预算数据消耗数据记录更新时间操作
{{ campaign.planName || '未命名方案' }}
{{ selectedAdsPlatform==='FB'?'Facebook':'TikTok' }} · {{ selectedAdsAccount.accountName }}
{{ campaign.name || '未命名广告系列' }} {{ objectiveLabel(campaign.objective) }}
{{ (campaign.adSets||[]).length }} 个广告组
{{ campaignAdCount(campaign) }} 个广告
{{ campaignBudgetText(campaign) }} {{ campaignDataSpendText(campaign) }} {{ campaignDataRecordCount(campaign) }} 条 {{ campaign.updatedAt || campaign.savedAt || campaign.createdAt || '—' }}
还没有已保存的广告方案
点击「新建广告方案」设置完成后保存,方案会自动出现在这里。
AD PLAN EDITOR · 广告方案编辑
{{ campaign.planName || campaign.name || '新广告方案' }}
设置完成后点击保存,当前编辑器会收起并生成一条方案列表。
方案预算
{{ campaignBudgetText(campaign) }}
广告设置方案 / 测试思路 / 优化备注
广告组 Ad Set
AD SET {{ adsetIndex+1 }}
{{ adset.name || `广告组 ${adsetIndex+1}` }}
实际消耗 {{ adSetDataSpendText(campaign,adset) }}
广告组实际消耗
由广告数据自动汇总{{ adSetDataSpendText(campaign,adset) }}
广告 Ad
AD {{ adIndex+1 }}
{{ ad.name || `广告 ${adIndex+1}` }}
广告文案
暂无广告素材,点击「添加广告」记录照片 / 视频、文案和 CTA。
暂无广告组,点击「添加广告组」记录国家、年龄、性别、兴趣受众、预算和消耗。

广告数据记录

统一数据源:同一日期 + 方案 + 广告组 + 广告只保留一条记录;再次保存会更新原记录,并自动同步到「投放数据分析」。

累计消耗
{{ accountDataSummary(selectedAdsAccount).spendText }}
曝光
{{ accountDataSummary(selectedAdsAccount).impressions.toLocaleString() }}
点击
{{ accountDataSummary(selectedAdsAccount).clicks.toLocaleString() }}
潜在客户
{{ accountDataSummary(selectedAdsAccount).leads.toLocaleString() }}
转化
{{ accountDataSummary(selectedAdsAccount).conversions.toLocaleString() }}
CTR
{{ accountDataSummary(selectedAdsAccount).ctrText }}
CPL
{{ accountDataSummary(selectedAdsAccount).cplText }}
ROAS
{{ accountDataSummary(selectedAdsAccount).roasText }}
同一日期 + 广告方案 + 广告组 + 广告只保留一条最新记录;Facebook 效率指标与视频指标直接保留在每条数据记录中查看。
日期广告方案广告组 / 广告消耗曝光点击潜客转化收入FB 效率指标视频指标备注操作
{{ record.date }}
{{ record.planName || record.campaignName || '—' }}
系列:{{ record.campaignName }}
{{ record.adSetName || record.adName || '全部广告组 / 广告' }}
广告:{{ record.adName }}
{{ formatMoney(record.spend,record.currency) }}{{ Number(record.impressions||0).toLocaleString() }}{{ Number(record.clicks||0).toLocaleString() }}{{ Number(record.leads||0).toLocaleString() }}{{ Number(record.conversions||0).toLocaleString() }}{{ formatMoney(record.revenue,record.currency) }}
CPM {{ adRecordMetrics(record).cpmText }}Reach {{ adRecordMetrics(record).reachText }}Freq {{ adRecordMetrics(record).frequencyText }}CTR {{ adRecordMetrics(record).ctrText }}CPC {{ adRecordMetrics(record).cpcText }}CVR {{ adRecordMetrics(record).cvrText }}CPA {{ adRecordMetrics(record).cpaText }}ROAS {{ adRecordMetrics(record).roasText }}
3秒 {{ percentText(record.video3sRate) }} · 完播 {{ percentText(record.videoCompleteRate) }}
25% {{ percentText(record.video25Rate) }} · 50% {{ percentText(record.video50Rate) }}
75% {{ percentText(record.video75Rate) }} · 95% {{ percentText(record.video95Rate) }}
{{ record.note || '—' }}
暂无广告数据记录
保存广告方案后,可持续记录每日或阶段性投放数据。
当前客户暂无可用广告账户

请先在客户资料中添加 Facebook 或 TikTok 广告账户。

LEAD PIPELINE

潜在客户

默认只展示仍需跟进的潜客;确认合作并完成正式客户建档后,线索会自动移入成交历史,不再占用当前潜客池。

{{ leadPoolFilter==='ACTIVE' && leadQuickFilter==='DUE' ? '待跟进 / 已逾期客户' : leadPoolFilter==='ACTIVE' && leadQuickFilter==='HIGH' ? '高意向客户' : '潜在客户跟进列表' }}
潜在客户来源 / 平台预计预算投放报价阶段下次跟进负责人备注操作
{{ lead.company }}
{{ lead.contact || '未填联系人' }} · {{ lead.contactInfo }}
{{ lead.source || '—' }}
{{ lead.expectedBudget ? formatMoney(lead.expectedBudget,lead.budgetCurrency) : '—' }}
{{ lead.adQuote ? formatMoney(lead.adQuote,lead.quoteCurrency || lead.budgetCurrency || 'USD') : '—' }}
投放合作报价
{{ leadStageText(lead.stage) }}
{{ lead.nextFollowUp || '未设置' }}
{{ followupLabel(lead.nextFollowUp) }}
{{ lead.owner || '—' }}
{{ lead.notes || '—' }}
{{ leadPoolFilter==='ACTIVE' && leadQuickFilter==='DUE' ? '当前没有待跟进或已逾期客户' : leadPoolFilter==='ACTIVE' && leadQuickFilter==='HIGH' ? '当前没有高意向客户' : leadPoolFilter==='ACTIVE' ? '当前没有需要跟进的潜在客户' : leadPoolFilter==='WON' ? '暂无成交历史' : leadPoolFilter==='LOST' ? '暂无流失线索' : '暂无历史线索' }}

{{ leadPoolFilter==='ACTIVE' ? '新增潜客后会显示在这里;完成正式客户建档后会自动移入成交历史。' : '可通过右侧分类切换回进行中的潜客。' }}

ACCOUNT OPENING CHANNELS

开户商渠道

维护开户商、多位对接人及各自返点政策和客户开户关系,并自动按客户所选对接人核算广告消耗与返点金额。

{{ unboundOpeningDealCount }} 条开户记录未绑定有效对接人,返点按 0 计算
广告消耗统计周期
{{ openingSpendPeriodLabel }} · {{ openingSelectedProviderName }} · 消耗来自已关联广告账户的「广告数据记录」,返点按每条开户记录所选对接人的独立返点政策自动计算
当前统计范围
{{ openingSelectedProviderName }}
周期
{{ openingSpendPeriodLabel }}
客户开户记录
{{ openingStats.total }}
{{ openingStats.clients }} 个客户 / 项目
当前代理商
{{ openingSelectedProviderName }}
共 {{ openingProviderFilter==='ALL' ? openingProviders.length : 1 }} 个渠道纳入统计
已开户
{{ openingStats.opened }}
审核中 {{ openingStats.processing }} · 异常 {{ openingStats.rejected }}
{{ openingSpendPeriodLabel }}总广告消耗
{{ openingTotalSpendText }}
按开户记录关联的广告账户汇总
{{ openingSpendPeriodLabel }}预计返点
{{ openingTotalRebateText }}
按各客户所选对接人返点比例分别计算
开户商资料
维护渠道基础资料,以及多个对接人的联系方式与独立返点政策
{{ row.provider.name }}
{{ (row.provider.contacts||[]).length }} 位对接人 {{ providerRateRangeText(row.provider) }}
{{ row.provider.platforms || 'FB + TK' }} · {{ row.provider.region }}
开户客户
{{ row.clientCount }} 个
{{ openingSpendPeriodLabel }}消耗
{{ row.spendText }}
返点 {{ row.rebateText }}
消耗 / 返点自动核算按对接人政策
累计总消耗
{{ row.totalSpendText }}
返点 {{ row.totalRebateText }}
{{ openingMonthLabel }}消耗
{{ row.monthSpendText }}
返点 {{ row.monthRebateText }}
{{ openingQuarterLabel }}消耗
{{ row.quarterSpendText }}
返点 {{ row.quarterRebateText }}
{{ openingYearLabel }}消耗
{{ row.yearSpendText }}
返点 {{ row.yearRebateText }}
对接人与独立返点
{{ cr.contact.name }}
当前 {{ Number(contactCurrentRebateRate(cr.contact)||0).toFixed(2) }}%
{{ providerContactText(cr.contact) }}
消耗
{{ cr.spendText }}
返点
{{ cr.rebateText }}
当前政策:{{ rebatePolicyForContact(cr.contact,localDateKey())?.rebatePolicy }}
尚未维护对接人。编辑开户商后可为不同对接人设置独立返点。
开户政策:{{ row.provider.policy }}
客户开户渠道记录
直接查看客户开户渠道、对接人和返点政策;只有“已开户”状态才进入广告消耗与返点财务归属,开户费用会自动进入客户成本。
客户 / 平台开户商 / 对接人开户类型 / 地区开户费用{{ openingSpendPeriodLabel }}广告消耗{{ openingSpendPeriodLabel }}返点提交 / 预计完成状态BM/BC / 广告账户操作
{{ openingClientName(deal) }}
{{ deal.platform==='FB'?'Facebook':'TikTok' }}
{{ openingProviderName(deal) }}
对接人:{{ openingContactName(deal) }}
{{ deal.accountType || '标准广告账户' }}
{{ deal.region || openingProvider(deal)?.region || '—' }} · {{ deal.quantity || 1 }} 个账户
{{ Number(deal.fee||0)>0 ? formatMoney(deal.fee,deal.currency) : '—' }}
{{ openingDealSpendText(deal) }}
{{ openingDealAccountMatchText(deal) }}
{{ openingDealRebateText(deal) }}
按广告日期有效政策 · {{ openingContactName(deal) }}
{{ deal.submitDate || '未提交' }}
预计 {{ deal.expectedDate || '—' }}
生效 {{ openingDealEffectiveStart(deal) || '历史全部' }} → {{ deal.effectiveEndDate || '持续' }}
{{ openingStatusText(deal.status) }}
BM / BC
{{ deal.businessId || '—' }}
广告账户 ID
{{ deal.accountScope==='ALL' ? '当前平台全部账户' : (deal.adAccountIds || '—') }}
暂无客户开户渠道记录

先添加开户商,再为客户选择开户渠道。

FINANCE & PROFIT

财务核算

以应收账单作为投放服务费财务凭证;广告消耗统一读取“广告数据记录”,预计返点按历史生效政策计算,实际返点只在代理商返点对账中确认。

财务统计周期
{{ financePeriodLabel }} · 正式客户的非手工计费账单会自动生成;账单金额保存后即成为历史财务凭证,后续修改客户月费不会追溯改变旧账单。
当前核算口径
{{ financePeriodLabel }}
月结检查
应收账单、渠道返点对账、未归属广告消耗、账号匹配和实际返点归集全部通过后才能完成月结。
应收 {{ financeMonthCheck.missingBills ? `缺 ${financeMonthCheck.missingBills}` : '完整' }}返点 {{ financeMonthCheck.pendingReconciliations ? `待对账 ${financeMonthCheck.pendingReconciliations}` : '已对账' }}渠道 {{ financeMonthCheck.unmatchedChannels ? `异常 ${financeMonthCheck.unmatchedChannels}` : '正常' }}未归属消耗 {{ financeMonthCheck.unassignedSpendTotal>0.01 ? financeMonthCheck.unassignedSpendText : '0' }}返点归集 {{ financeMonthCheck.unallocatedTotal>0.01 ? financeMonthCheck.unallocatedText : '完整' }}
投放与返点
“广告总消耗”与广告管理 / 投放数据分析读取同一套广告数据记录;渠道归属只影响预计返点,不再影响总消耗。
{{ financePeriodLabel }}
本期广告总消耗
{{ item.currency }}{{ item.text }}
直接汇总广告数据记录;无返点 / 客户自有账户按币种独立核算。
已归属渠道消耗
{{ item.currency }}{{ item.text }}
“有渠道返点”账户中已匹配有效已开户渠道的消耗
未归属消耗
{{ item.currency }}{{ item.text }}
应有渠道返点但尚未归属的消耗;存在时禁止月结
预计返点
{{ item.currency }}{{ item.text }}
已归属消耗 × 广告发生日期当时有效返点政策
实际返点
{{ item.currency }}{{ item.text }}
代理商对账确认后的精确金额
收入、应收、回款与净利润
利润按全部收入项目确认;收入可关联客户,也可作为公司收入独立记录。回款只反映现金是否到账,不改变利润确认口径。
财务核心
{{ financeClientFilter==='ALL'?'本期收入':'客户关联收入' }}
{{ item.currency }}{{ item.text }}
{{ financeClientFilter==='ALL'?'客户关联收入 + 公司独立收入':'仅统计当前客户关联收入' }}
当前核算周期暂无收入项目。
账单已收
{{ item.currency }}{{ item.text }}
当前周期账单截至现在累计已收;跨月回款也会回填到原账单。
本期实际到账
{{ item.currency }}{{ item.text }}
严格按回款流水的实际到账日期统计,用于查看本期现金回收。
待收款
{{ item.currency }}{{ item.text }}
收入金额 − 账单已收;仅表示仍需收回的金额。
{{ financeClientFilter==='ALL'?'本期总成本':'客户归属成本' }}
{{ item.currency }}{{ item.text }}
已包含客户专属成本 + 公司项目成本 + 公司公共成本;详细构成在下方成本模块查看。
构成:客户专属成本 {{ spendGroupsText(financeDirectClientCostGroups) }} · 公共成本分摊 {{ spendGroupsText(financePublicCostDisplayGroups) }}
净利润只扣减本卡金额一次。
预计净利润
{{ item.currency }}{{ item.text }}
{{ item.currency }}
收入 {{ item.receivableText }} + 预计返点 {{ item.rebateText }} − 成本 {{ item.costText }} = {{ item.netText }}
{{ financeActualProfitLabel }}
{{ item.currency }}{{ item.text }}
{{ item.currency }}
收入 {{ item.receivableText }} + 实际返点 {{ item.rebateText }} − 成本 {{ item.costText }} = {{ item.netText }}
{{ financeActualProfitNote }}
①收入 / 应收 / 回款
收入项目可以关联客户,也可以不关联客户。关联客户的直接成本进入客户专属成本;公司独立收入的直接成本进入公司项目成本。
“全部收入项目”用于查看完整收入台账;“仅待收 / 应收”只显示仍有未收金额的项目。收入归属与回款状态相互独立。
结算月份归属 / 客户或来源收入项目收入金额项目成本项目差价已收未收到期日收款状态发票操作
{{ r.settlementMonth }}
{{ r.ownerType==='COMPANY'?'公司收入':'关联客户' }}
{{ financeReceivableClientName(r) }}
{{ r.note || '—' }}
{{ financeIncomeTypeText(r.incomeType) }}
{{ r.projectName || financeIncomeTypeText(r.incomeType) }}
系统自动出账
{{ formatMoney(r.amount,r.currency) }}
{{ formatMoney(r.directCost||0,r.currency) }}
{{ r.ownerType==='COMPANY'?'自动同步公司项目成本':'自动同步客户专属成本' }}
—
{{ formatMoney(financeReceivableMargin(r),r.currency) }}
毛利率 {{ financeReceivableMarginRate(r) }}
收入 − 项目直接成本
{{ formatMoney(financeReceivablePaid(r),r.currency) }}
{{ (r.payments||[]).length }} 笔回款
{{ formatMoney(financeReceivableUnpaid(r),r.currency) }}{{ r.dueDate || '—' }}{{ financeReceivableStatusText(r) }}
{{ financeInvoiceStatusText(r.invoiceStatus) }}
{{ r.invoiceNo || '—' }}
已结清
当前筛选条件下没有收入 / 应收记录。可清除筛选、补生成投放服务费账单,或新增网络代充、账号销售等收入项目。
显示第 {{ receivablePageStart + 1 }} - {{ receivablePageEnd }} 条,共 {{ financeVisibleReceivables.length }} 条
{{ receivableCurrentPage }} / {{ financeReceivableTotalPages }}
②代理商返点对账单
实际返点唯一录入口。只有状态为“已开户”的渠道才参与消耗、预计返点、实际返点归集与月结检查。
月份开户商 / 对接人系统广告消耗代理商确认消耗消耗差额预计返点实际返点状态操作
{{ row.month }}
{{ row.providerName }}
{{ row.contactName }}
{{ formatMoney(row.systemSpend,row.currency) }}{{ row.record && row.record.status!=='VOID' ? formatMoney(row.record.confirmedSpend||0,row.currency) : '待确认' }}{{ row.record && row.record.status!=='VOID' ? formatMoney(row.spendDiff,row.currency) : '—' }}{{ formatMoney(row.expectedRebate,row.currency) }}{{ row.record && row.record.status!=='VOID' ? formatMoney(row.record.actualRebate||0,row.currency) : '待确认' }}{{ row.record?.status==='VOID'?'已撤销':(row.record?'已对账':'待代理商对账') }}
已月结
当前周期暂无需要对账的渠道消耗。
③成本 / 支出
IP 月费、开户费和收入项目直接成本优先由业务来源自动生成;这里只手工补录工具、人员、素材、服务器、外包及其他实际支出。
客户专属成本
{{ item.currency }} · {{ item.text }}
公司项目 / 公共成本
{{ item.currency }} · {{ item.text }}
{{ financeClientFilter==='ALL'?'本期总成本':'客户归属成本' }}
{{ item.currency }} · {{ item.text }}
客户专属 + 公司项目 + 公司公共
专属 {{ spendGroupsText(financeDirectClientCostGroups) }}
公共分摊 {{ spendGroupsText(financePublicCostDisplayGroups) }}
日期成本类型归属 / 分摊供应商 / 收款方原始金额{{ financeClientFilter==='ALL'?'本期计入':'本客户归属' }}备注操作
{{ cost.date }}
{{ financeCostCategoryText(cost.category) }}
自动生成
{{ financeCostScopeText(cost) }}
{{ financeCostClientName(cost) }}
{{ cost.vendor || '—' }}{{ formatMoney(cost.amount,cost.currency) }}{{ financeVisibleCostAllocatedText(cost) }}{{ cost.note || '—' }}
来源联动
当前周期暂无成本记录。
核算规则:预计返点来自已归属渠道的广告消耗 × 广告发生日期对应的有效返点政策;实际返点以代理商最终对账金额为准。实际返点只在「代理商返点对账单」确认;系统按“开户商 + 对接人 + 结算月份”保存唯一对账结果,并按各客户在该渠道当月的返点贡献权重自动归集到客户盈利明细。
客户盈利明细
只读查看客户关联收入、回款、广告消耗、返点归集、成本与净利润;公司独立收入不会进入任何客户盈利。
当前 {{ financeRows.length }} 个客户
客户盈利只使用顶部“核算周期 + 客户”筛选;开户商筛选只用于上方渠道返点对账,不再拆分客户关联收入与客户利润。
客户客户关联收入已收款广告消耗开户商 / 对接人预计返点实际返点归集归属成本预计净利润当前 / 已确认净利润
{{ row.client.name }}
{{ row.client.project || row.client.product }}
月费 {{ formatMoney(row.client.monthlyFee,row.client.currency) }}
{{ spendGroupsText(row.receivableGroups) }}
{{ row.receivableCount }} 个收入项目 · {{ financeReceivableIncomeBreakdownText(row.receivableRows) }}
{{ spendGroupsText(row.paidGroups) }}
仅反映实际回款
{{ spendGroupsText(row.spendGroups) }}
统一广告数据汇总
{{ label }}
未关联开户商
{{ spendGroupsText(row.expectedRebateGroups) }}
政策自动预估
{{ spendGroupsText(row.actualRebateGroups) }}
{{ row.actualEntryCount ? `已确认对账 ${row.actualEntryCount} 条` : '待代理商对账' }}
按渠道确认返点贡献比例自动归集
{{ spendGroupsText(row.costGroups) }}
客户专属 + 公共成本分摊
{{ spendGroupsText(row.expectedNetProfitGroups) }}
客户关联收入 + 预计返点 − 成本
{{ spendGroupsText(row.actualNetProfitGroups) }}
{{ row.actualProfitLabel }}
客户关联收入 + 实际返点 − 成本
当前筛选范围暂无财务数据

可清除客户筛选,或重新选择核算日期 / 统计周期。

显示第 {{ profitPageStart + 1 }} - {{ profitPageEnd }} 个客户,共 {{ financeRows.length }} 个
{{ profitCurrentPage }} / {{ financeProfitTotalPages }}
MEDIA BUYING TOOLKIT

投放工具

先选择客户,再选择该客户的 Facebook / TikTok 具体账号,查看这个账号正在使用的工具。

CLIENT → ACCOUNT → TOOL
选择工具使用范围
客户与账号采用两级筛选。选定具体账号后,只显示绑定该账号或绑定该客户全部账号的工具。
1
选择客户
先确定工具属于哪个客户
2
选择客户账号
Facebook / TikTok 账号独立查看
当前查看范围
{{ selectedToolClientName }}
{{ selectedToolAccountName }}
匹配工具
{{ filteredMediaTools.length }}
{{ selectedToolClientId==='ALL' ? '工具总数' : (selectedToolAccountKey==='ALL'?'当前客户工具':'当前账号工具') }}
{{ toolStats.total }}
使用中
{{ toolStats.active }}
账号绑定
{{ toolStats.bindings }}
工具分类
{{ toolStats.categories }}
{{ tool.name }}
{{ toolCategoryText(tool.category) }}
{{ tool.status==='ACTIVE'?'使用中':'停用' }}
登录账号{{ tool.loginAccount || '—' }}
登录密码
{{ tool.loginPassword ? (toolPasswordVisible[tool.id] ? tool.loginPassword : '••••••••') : '—' }}
席位{{ tool.seats || 1 }}
负责人{{ tool.owner || '—' }}
主要用途
{{ tool.purpose || '—' }}
绑定客户 / 账号
{{ binding.clientName }}
{{ binding.accountLabel }}
未绑定客户账号
打开工具未设置网址
{{ selectedToolClientId==='ALL' ? '暂无符合条件的投放工具' : (selectedToolAccountKey==='ALL'?'当前客户暂未绑定投放工具':'当前账号暂未绑定投放工具') }}

点击右上角“添加投放工具”,按客户 → 账号完成绑定。

ACCESS & BACKUP

权限与数据备份

④ 登录角色、页面权限、操作审计和全量数据备份。正式版业务数据同步至 Supabase 云端数据库。

当前登录
登录会话由服务端 HttpOnly Cookie 维护,业务数据同步云端
{{ currentUser?.name || '未登录' }}
{{ currentRoleLabel }}
备份状态
{{ backupSnapshots.length }} 个
最多保留最近 5 个云端快照
最近:{{ lastBackupText }}
导入 / 恢复

支持本系统导出的 JSON 全量备份。导入前会先创建当前数据快照。

仅管理员可导入或恢复备份
用户与角色权限
管理员、财务、投手 / 运营、销售四种角色;页面菜单会按角色自动隐藏。
姓名登录账号角色状态可访问范围操作
{{ u.name }}{{ u.username }}{{ roleLabel(u.role) }}{{ u.enabled!==false?'启用':'停用' }}{{ roleScopeText(u.role) }}
安全提示:正式版已连接 Supabase 云端数据库与服务端登录认证,并保留页面权限、敏感凭证隐藏、审计日志、月结锁定和数据备份保护。
浏览器本地缓存占用 {{ storageUsageText }}
{{ storageWarning?'浏览器本地缓存占用较大,建议立即导出脱敏备份;业务主数据仍以云端为准。':'当前浏览器本地缓存占用正常;这里只统计此浏览器的 localStorage,不代表 Supabase 数据库或存储配额。' }}
云端数据快照
恢复快照会覆盖当前业务数据。
{{ snap.name }}
{{ formatBackupTime(snap.createdAt) }}
暂无快照
操作审计
记录客户、账号、广告、回款、返点、成本、开户商、工具、月结和备份等关键动作。
{{ log.action }}
{{ formatBackupTime(log.at) }}
{{ log.user || '系统' }} · {{ log.detail }}
暂无审计记录

{{ form.id?'编辑客户':'新增客户' }}

客户、合同、账号资产与运营环境一次录入。

1基本信息与合同
仅影响之后新生成应收的催款节点;历史已生成账单不追溯修改。
月结一次时使用;半月收款由节点日期覆盖提醒。
进入提前提醒窗口后持续显示;到期前 7 / 3 / 1 天自动升级提醒。
当前角色仅可维护客户基本资料与合同。BM / BC、广告账号、登录凭证和网络环境由管理员或投手 / 运营维护。
Facebook 资产

一个客户可以添加多个 BM / 广告账号与登录资料。

{{ idx + 1 }}
{{ account.accountName || `Facebook 账号 ${idx + 1}` }}
独立 BM / 广告账号 / 登录凭证
选择“有渠道返点”时,该账户产生消耗后必须绑定已开户渠道;否则月结会提示未归属消耗。
暂无 Facebook 账号
TikTok 资产

一个客户可以添加多个 BC / 广告账号与登录资料。

{{ idx + 1 }}
{{ account.accountName || `TikTok 账号 ${idx + 1}` }}
独立 BC / 广告账号 / 登录凭证
选择“有渠道返点”时,该账户产生消耗后必须绑定已开户渠道;否则月结会提示未归属消耗。
暂无 TikTok 账号
4网络环境与到期节点

一个客户可以添加多个独立 IP / 指纹浏览器环境,每个环境单独计算到期提醒。

{{ idx + 1 }}
网络环境 {{ idx + 1 }}
独立 IP / Profile / 到期节点 / 月费
暂无网络环境