{{t.msg}}
正在加载...
{{currentPageLabel}}
通知
{{appNotificationUnread}} 未读
加载中...
{{notificationKindLabel(item.kind)}} {{notificationDisplayTime(item)}}
{{item.title || '系统提醒'}}
{{notificationDisplayMessage(item)}}
暂时没有新的提醒
{{(u.display_name||u.username).charAt(0).toUpperCase()}}
+{{onlineUsers.length-6}}
{{onlineUsers ? onlineUsers.length : 0}}人在线
数据看板
总线索
{{stats.total||0}}
待审核
{{stats.pending_review||0}}
可获取
{{stats.pool_count||0}}
跟进中
{{stats.following_count||0}}
{{s.display_name}} {{s.following}}
已录小满
{{stats.xiaoman_count||0}}
{{s.display_name}} {{s.xiaoman}}
已回复
{{stats.replied_count||0}}
{{s.display_name}} {{s.replied}}
已成交
{{stats.deal_count||0}}
{{s.display_name}} {{s.deal}}
新增线索与处理趋势
~
🔧 调试面板
当前用户: {{currentUser?.username}} ({{currentUser?.role}})
当前Tab: {{custTab}}
线索数量: {{customers.length}}
第一条线索数据:
ID: {{customers[0].id}}
名称: {{customers[0].website_name}}
status: '{{customers[0].status}}'
assigned_to: '{{customers[0].assigned_to}}'
客户阶段下拉框测试:
已选 {{custSelected.size}}
暂无数据,点击上方"新增客户"开始录入
{{c.website_name||'—'}}
{{c.country}} {{c.contact_name}} {{c.email}}
#
操作
暂无数据,点击筛选栏"新增客户"按钮开始录入
{{(filter.page-1)*filter.per_page + idx + 1}}
线索管理待审 {{reviewManualTotal}}
AI挖掘候选 {{candPendingTotal}}
已选 {{reviewManualSelected.size}} 条 / 共 {{reviewManualTotal}} 条待审
📭
{{reviewProductFilter ? reviewProductFilter + ' 暂无待审客户' : '暂无待审客户'}}
通过「新增客户」或「批量导入」录入后,将出现在此处等待审核
#
公司名称
归属
国家
产品线
官网
邮箱
联系人
录入时间 {{reviewSort==='desc'?'↓':'↑'}}
操作
{{(reviewManualPage-1)*20 + idx + 1}}
{{c.website_name||''}}
{{c.country||'—'}} {{c.product_group||'EV Charger'}} {{c.main_domain||c.official_website}} {{c.email||''}} {{c.contact_name||''}} {{c.created_at ? c.created_at.slice(0,10) : '—'}}
已选 {{candSelected.size}} 条 / 共 {{candFilter==='pending' ? candPendingTotal : candTotal}} 条{{candFilter==='pending' ? '待审' : ''}}
📭
{{reviewProductFilter ? reviewProductFilter + ' 暂无AI挖掘候选客户' : '暂无AI挖掘候选客户'}}
通过「AI挖掘」页面送入候选,或手动录入
公司名称
国家
产品线
官网
邮箱
联系人
来源说明
状态
操作
{{c.website_name||'—'}}
{{c.notes}}
{{c.country||'—'}} {{c.product_group||'EV Charger'}} {{c.official_website}} {{c.email||'—'}}
{{c.contact_name||'—'}}
{{c.contact_title}}
{{c.source || '—'}}
{{c.notes}}
{{c.status==='pending'?'待审':c.status==='approved'?'已收录':'已排除'}}

批量导入客户

ℹ️
导入前会自动去重(以总表为基准)。
支持字段:公司名称、联系人昵称、联系人邮箱、公司简称、国家地区、标签、客户阶段、客户来源、公司网址、座机、详细地址、公司备注、客户编号、公海分组、联系人电话、Facebook、Twitter、LinkedIn、Instagram、职位、性别、联系人备注
📊
点击或拖拽上传 Excel 文件
支持 .xlsx / .xls 格式
✅ 导入完成!新增 {{importResult.added}} 条,跳过重复/无效 {{importResult.skipped}}
识别到字段:{{importResult.mapped_fields.join('、')}}
部分行出错:{{e}}
🔍 调试信息
📊 字段映射详情 (headerIdx_detail):
{{JSON.stringify(importResult.debug.headerIdx_detail, null, 2)}}
📋 原始表头 (raw_headers):
{{JSON.stringify(importResult.debug.raw_headers, null, 2)}}
⚠️ 未映射字段:
{{JSON.stringify(importResult.debug.unmapped_headers, null, 2)}}
📄 第一行原始数据:
行号: {{importResult.debug.first_row_data.row_num}} | 列数: {{importResult.debug.first_row_data.row_length}} | URL字段索引: {{importResult.debug.first_row_data.url_field_index}} | 提取到的URL: "{{importResult.debug.first_row_data.url}}" | 提取的域名: "{{importResult.debug.first_row_data.extracted_domain}}"
插入结果: {{importResult.debug.first_row_data.insert_result === false ? '失败' : '成功'}} | 影响行数: {{importResult.debug.first_row_data.changes}} | 最后错误: {{importResult.debug.first_row_data.last_error}}
查看完整数据
{{JSON.stringify(importResult.debug.first_row_data.raw_full, null, 2)}}
❌ 跳过原因 (前10条):
{{reason}}
...还有 {{importResult.debug.skip_reasons.length - 10}} 条跳过原因
🗄️ 已存在域名数: {{importResult.debug.existing_domains_count}}
❌ 导入失败:{{importResult.error}}
检测到的列头:{{importResult.detected_cols.join(' | ')}}
数据导出:

挖掘规则管理

优先挖掘对象

{{idx+1}} {{rule}}

排除规则

{{idx+1}} {{rule}}

新增硬标准

{{idx+1}} {{rule}}

去重规则

{{idx+1}} {{rule}}

AI 规则助手

输入想法,AI 帮你优化分类

💡 AI 建议
{{aiSuggestion.text}}
{{aiSuggestion.reason}}
→ {{aiSuggestion.categoryLabel || aiSuggestion.category}}
大模型配置 只读
API 状态
{{apiStatus==='ok'?'连接正常':apiStatus==='checking'?'检测中...':apiStatus==='fail'?apiStatusMsg:'未检测'}}
挖掘 API
挖掘模型
GLM API Key
DeepSeek API Key
MiniMax API Key
MiniMax 模型
手动挖掘
先输入方向再拉取候选,结果会留在当前页,确认后再导入待审线索。
结果总数
{{mineResults.length}}
已选数量
{{mineSelected.size}}
规则总数
{{(miningRules.priority.length + miningRules.exclude.length + miningRules.standards.length + miningRules.dedup.length)}}
挖掘条件
先给出方向,再按规则过滤和去重。
挖掘方向
数量
操作
结果会先在右侧列表出现。确认后再导入待审线索,后端会继续按域名、邮箱、电话做去重。
优先规则
{{miningRules.priority.length}}
{{idx+1}} {{rule}}
暂无
排除规则
{{miningRules.exclude.length}}
{{idx+1}} {{rule}}
暂无
标准规则
{{miningRules.standards.length}}
{{idx+1}} {{rule}}
暂无
去重规则
{{miningRules.dedup.length}}
{{idx+1}} {{rule}}
暂无
挖掘结果
共 {{mineResults.length}} 条,已选 {{mineSelected.size}} 条
{{mineStatus || '正在向 AI 发起挖掘请求...'}}
暂无结果
先输入挖掘方向,再点击“开始挖掘”。
公司 国家 官网 邮箱 联系人 / 电话 来源
{{c.website_name || c.company_name || '—'}}
{{c.notes || c.fit_points || '—'}}
{{c.country || '—'}} {{c.official_website || '—'}} {{c.email || '—'}}
{{c.contact_name || '—'}}
{{c.phone || '—'}}
{{c.source || 'AI挖掘'}}
{{c.competitor_brands || '—'}}
自动挖掘
{{mineCurrentProductStatusText}} 最近同步 {{formatMineSyncTime(mineLastSyncedAt)}}
{{card.label}}
{{card.tip}}
挖掘趋势
{{mineTrendSubtitle}}
候选线索
{{formatNumber(mineTrendChart.candidateTotal)}}
写入待审
{{formatNumber(mineTrendChart.insertedTotal)}}
{{line.label}} {{tick.label}}
{{mineTrendHover.label}}
候选线索{{formatNumber(mineTrendHover.candidates)}}
写入待审{{formatNumber(mineTrendHover.inserted)}}
线路总览
{{task.name}}
{{isTaskBusy(task) ? ('当前:' + activityStepLabel(taskCurrentStage(task))) : ('下次:' + formatMineNextRun(task))}}
{{formatMineTaskStatus(task)}}
最近候选
{{lastRunMetric(task,'raw_found')}}
最近写入
{{lastRunMetric(task,'inserted')}}
累计待审
{{formatMineTaskProgress(task)}}
健康状态
{{task.last_error ? '异常' : '正常'}}
{{formatMineKeyword(task)}}
暂无运行线路
启用自动任务后,这里会按状态和累计待审数量自动排序,方便快速切换到需要关注的线路。
地区分布热力
固定世界地图,颜色越深表示数量越高。鼠标悬停查看国家数量。
未标注国家 {{mineUnknownCountryCount}} 条,暂不显示在地图上
{{mineMapHover.country}}
{{mineMapMode==='today' ? '今日待审' : '累计待审'}} {{mineMapHover.count}} 条
正在加载世界地图...
{{mineWorldMapError || '世界地图加载失败'}}
{{item.country}}
{{item.count}}
调试信息
按时间连续展示搜索、提取、校验和写入日志,方便快速判断当前线路在做什么、卡在哪里、最近有没有产出。
{{mineDebugOutputTitle}} 最近 {{mineTerminalRows.length}} / 200 行
{{mineDebugTerminalTitle}} ? tail -f runtime.log
$
[{{formatMineActivityTime(row.time)}}] [{{row.task_name || ('任务#' + row.task_id)}}] [{{activityStepLabel(row.step)}}] {{row.message}} | {{formatMineActivityDetail(row)}}
还没有调试输出
当线路开始生成关键词、搜索网页、提取候选或写入待审后,这里会像终端一样连续追加调试日志。
汇率换算 实时汇率 · 支持{{exchangeCurrencies.length}}种货币(数据来源:ExchangeRate-API)
{{exchangeResult}}
📅 更新时间:{{exchangeRateTime}}
💡 点击任意货币卡片快速换算为人民币
{{c.flag}} {{c.code}} {{c.name}}
{{c.rate ? c.rate.toFixed(4) : '—'}}
1 {{c.code}} = ? CNY
世界时钟 全球主要城市当地时间(共{{filteredToolClocks.length}}个城市)
{{tz.flag}}
{{tz.city}} 本地
{{tz.country}}
办公中 休息中
{{tz.time}}
{{tz.date}} · {{tz.offset}}
未找到匹配的城市
💡 绿色边框 = 当地工作时间(周一至周五 9:00-18:00)
开发信模板
模板统计
总数
{{emailTplTotal}}
分类
{{emailTplCategories.length}}
Excel同步
已选择: {{uploadFileName}}
检查结果
总数: {{checkResult.total}} | 有效: {{checkResult.valid_count}} | 无效: {{checkResult.invalid_count}}
新增: {{checkResult.new.length}}个
更新: {{checkResult.update.length}}个
删除: {{checkResult.delete.length}}个
无变化: {{checkResult.noChange.length}}个
重复: {{checkResult.duplicates.join(', ')}}
缺失字段: {{checkResult.missing_fields.join('; ')}}
模板详情
分类编号:
{{emailTplView.category_code}}
客户类型:
{{emailTplView.category_name}}
模板编号:
{{emailTplView.template_code}}
邮件角度:
{{emailTplView.angle}}
来源工作表:
{{emailTplView.source_sheet || '-'}}
更新时间:
{{emailTplView.updated_at || '-'}}
完整英文
{{emailTplView.full_email_en}}
完整中文
{{emailTplView.full_email_cn}}
Opening EN
{{emailTplView.opening_en || '-'}}
Body EN
{{emailTplView.body_en || '-'}}
Closing EN
{{emailTplView.closing_en || '-'}}
文件管理 (支持 PDF、图片、Excel 等文件)
暂无文件,点击上方"上传文件"开始
{{(f.file_type||'FILE').toUpperCase().slice(0,3)}}
{{f.name}}
{{formatFileSize(f.file_size)}}
{{f.uploader_name}} · {{f.created_at.slice(0,10)}}
{{term.abbr}} {{term.cat}}
{{term.en}}
{{term.cn}}
{{term.desc}}
未找到匹配的术语
收件箱
总计 {{ inboxMeta.total || 0 }} 封,未读 {{ inboxMeta.unread || 0 }} 封,当前已显示 {{ (inboxMails||[]).length || 0 }} 封
正在读取收件箱...
{{mail.from_name || mail.from_email || '未知'}} 客户:{{mail.customer_name}} {{mail.received_at?.substring(5,16) || ''}}
{{mail.subject || '(无主题)'}}
收件箱:{{ mail.to_email || mail.smtp_email || '-' }} 归属:{{ mail.owner_display_name || mail.owner_username }}
命中历史开发信 {{ mail.reply_match_count }} 次 最近外发:{{ mail.last_outreach_at?.substring(5,16) || '-' }} 主题:{{ mail.last_outreach_subject }}
{{mail.preview || ''}}
邮件正文
{{mail.body_text || '(无正文)'}}
暂无收件
点击「同步当前」或「同步全部」拉取邮件历史
邮件发送日志
账号
开始日期
结束日期
收件人
主题
发件邮箱
发件人
状态
发送时间
暂无邮件记录
加载中...
邮箱检测
先确认发件账号、收件邮箱和邮件内容风险,再进入开发信发送队列。
发件账号检测
综合分
{{emailSenderCheck.score}}
MX:{{emailSenderCheck.mx?'正常':'异常'}}
SPF:{{emailSenderCheck.spf?'存在':'缺失'}}
黑名单:{{emailSenderCheck.blacklist_label || (emailSenderCheck.blacklist?'疑似命中':'未命中')}}
{{emailSenderCheck.blacklist_note}}
收件邮箱检测
{{r.email}} {{r.valid?'有效':(r.reason||'无效')}}
内容风险检测
{{emailSpamResult.score}} {{emailSpamResult.level==='safe'?'风险较低':emailSpamResult.level==='warning'?'需要优化':'高风险'}}
{{emailSpamResult.flags.join('、')}}
未发现明显垃圾词风险
邮箱预热状态
{{w.email}}
状态:{{w.status}}
预热天数:{{w.warmup_day}} 天
今日已发:{{w.sent_today}} / {{w.daily_limit}}
暂无发件账号预热数据
开发信助手
按客户资料、官网摘要和发件身份生成开发信预览。只有你确认后,邮件才会正式入队发送。
数据看板
时间范围只切换下方看板数据,不影响下面的任务创建和规则配置。
看板时间范围
{{card.label}}
{{card.value}}
打开率
{{emailStats.open_rate}}% ({{emailStats.opened}}/{{emailStats.sent}})
回复率
{{emailStats.reply_rate}}% ({{emailStats.replied}})
退信率
{{emailStats.bounce_rate}}% ({{emailStats.bounced}})
发送成功率
{{emailStats.success_rate}}%
创建开发信任务
先确定客户范围、发件账号和写信方式,再生成预览。只有你确认后,邮件才会真正进入发送队列。
1. 选择客户
只从当前产品线挑选本次要发送的客户,优先筛出潜力和高价值线索,选完后回到当前页继续分配。
当前产品线 {{mailAssistantCurrentProductGroup}} · 已选 {{batchSelectedCustomerCount}} 条,发送规则按下方分配表执行
{{c.website_name || c.contact_name || ('#'+c.id)}} {{c.country || '-'}} {{getLevelLabel(c.customer_level)}} 尚未选择客户
2. 分配发件账号
按账号和身份拆分数量,系统会据此生成最终的入队明细。
{{batchAllocationSummaries[idx]?.smtpLabel || '请选择账号'}} / {{batchAllocationSummaries[idx]?.signatureLabel || '请选择身份'}} / 计划 {{batchAllocationSummaries[idx]?.count || 0}} 封
已选 {{batchSelectedCustomerCount}} 条 计划 {{batchAllocationPlanTotal}} 封 可执行 {{batchAllocationValidTotal}} 封 未完成分配 {{batchAllocationIncompleteCount}} 行
{{batchAllocationWarningText}}
3. 写信、节奏和生成开发信
这一块一次完成写信设置、发送节奏和预览生成。先把规则配好,再生成开发信到下方审核。
发送节奏
系统会在该区间内随机抖动排队,模拟真人发送节奏。
模板生成会按模板库自动匹配;当前默认 AI 开放测试直接按客户资料生成,不读取这里的草稿参考。
生成开发信
提交到后台生成预览,完成后直接在下方审核,再决定是否正式入队。
ChatGPT 浏览器:{{chatgptBridgeStatusLabel()}} · {{chatgptBridgeStatus.detail}}
{{queuePreviewProgressText(batchSendPreview)}}
{{queuePreviewProgressMeta(batchSendPreview)}}
{{queuePreviewIsAiMode(queuePreviewStateMode(batchSendPreview, batchSendForm.aiEnabled ? 'ai_experiment' : 'template')) ? 'AI 写作台' : '模板生成中'}}
第 {{batchSendPreview.typingDraftIndex || Math.min(Math.max(1, batchSendPreview.progressDone + batchSendPreview.progressSkipped + 1), batchSendPreview.progressTotal || 1)}} 封
正在处理:{{batchSendPreview.progressCurrent || '正在读取客户资料'}}
刚生成 · {{batchSendPreview.typingCustomer}}{{batchSendPreview.typingSubject}}
{{queuePreviewIsAiMode(queuePreviewStateMode(batchSendPreview, batchSendForm.aiEnabled ? 'ai_experiment' : 'template')) ? '正在分析客户资料并组织邮件内容' : '正在按模板库匹配并生成预览'}}
后台生成失败:{{batchSendPreview.jobError || '请稍后重试'}}
{{queuePreviewProgressText(batchSendPreview)}}
已创建队列 {{batchSendForm.previewResult.queued || 0}},跳过 {{batchSendForm.previewResult.skipped || 0}}
开发信预览
先检查每封开发信内容,确认后才会真正进入发送队列。
可入队 {{batchSendPreview.drafts.length}} 封,未生成 {{queuePreviewNoDraftCount(batchSendPreview)}} 家,跳过/失败 {{queuePreviewIssueCount(batchSendPreview)}} 封
分配 {{alloc.index + 1}} 计划 {{alloc.requested || 0}} 预览 {{alloc.queued || 0}} 跳过 {{alloc.skipped}} {{alloc.error}}
未生成 Codex 草稿({{queuePreviewNoDraftCount(batchSendPreview)}} 家)
这些客户当前没有可审核草稿。CRM 没有调用 GLM,也没有自动套模板。
{{item.company || item.email || ('#' + (item.customer_id || idx + 1))}}
{{item.email}}
状态:{{item.reason || 'Codex 未生成草稿'}}
跳过 / 失败原因
{{item.email || item.company || ('#' + (item.customer_id || idx + 1))}}
原因:{{queuePreviewIssueReasonText(item)}}
本次有 {{queuePreviewIssueCount(batchSendPreview)}} 封被跳过或生成失败,但当前预览里没有附带明细。我已经把这条链路补强了,后续新的预览会直接写出原因。
{{idx + 1}}. {{item.company || item.email}}
{{item.email}} · {{item.country || '-'}} · {{item.product_group || '未分组'}}
{{item.smtp_label}} / {{item.signature_label}} / {{item.scheduled_at}}
{{queuePreviewDraftSourceLabel(item)}}
{{queuePreviewCodexRewriteHint(item)}}
主题
{{item.subject}}
正文预览
中文对照
仅系统查看,不会随邮件发送
{{item.subject_cn}}
{{item.body_cn || ''}}
中文对照自动生成失败:{{queuePreviewTranslationError(batchSendPreview, item, idx)}}
{{queuePreviewIsCodexDraft(item) ? '研究草稿缺少中文对照,请让 ChatGPT 重写,CRM 不会调用其他模型补写。' : (batchSendPreview.draftTranslatingIndex === idx ? '系统正在生成中文对照...' : '中文对照暂未生成,可手动补充,仅在系统内查看。')}}
仅修改主题和正文,邮件 Logo、签名和预览版式会自动保留。中文对照会清空,按需重新生成。
1. 选择发件账号
这一步决定用哪个 SMTP 账号、哪个电子名片身份,以及是否套用现有模板。
可用身份:{{autoSendAvailableSignatures.length ? autoSendAvailableSignatures.map(sig => signatureIdentityLabel(sig)).join(' / ') : '当前账号未匹配到可用身份'}}
2. 设置筛选范围
系统只会从 {{mailAssistantCurrentProductGroup}} 产品线里,按你选择的客户状态、国家和数量生成本轮预览。
3. 写信、节奏和生成开发信
这一块一次完成写信设置、发送节奏和预览生成。系统会基于当前产品线为每个客户生成单独开发信。
发送节奏
系统会在该区间内随机抖动排队,模拟真人发送节奏。
模板生成会按模板库自动匹配;当前默认 AI 开放测试直接按客户资料生成,不读取这里的草稿参考。
生成开发信
提交到后台生成预览,完成后直接在下方审核,再决定是否正式入队。
{{queuePreviewProgressText(autoSendPreview)}}
{{queuePreviewProgressMeta(autoSendPreview)}}
{{queuePreviewIsAiMode(queuePreviewStateMode(autoSendPreview, autoSendForm.aiEnabled ? 'ai_experiment' : 'template')) ? 'AI 写作台' : '模板生成中'}}
第 {{autoSendPreview.typingDraftIndex || Math.min(Math.max(1, autoSendPreview.progressDone + autoSendPreview.progressSkipped + 1), autoSendPreview.progressTotal || 1)}} 封
正在处理:{{autoSendPreview.progressCurrent || '正在读取客户资料'}}
刚生成 · {{autoSendPreview.typingCustomer}}{{autoSendPreview.typingSubject}}
{{queuePreviewIsAiMode(queuePreviewStateMode(autoSendPreview, autoSendForm.aiEnabled ? 'ai_experiment' : 'template')) ? '正在分析客户资料并组织邮件内容' : '正在按模板库匹配并生成预览'}}
后台生成失败:{{autoSendPreview.jobError || '请稍后重试'}}
{{queuePreviewProgressText(autoSendPreview)}}
已创建队列 {{autoSendLastResult.queued}},跳过 {{autoSendLastResult.skipped}}
开发信预览
先审核本次生成的开发信内容,确认后再正式进入发送队列。
可入队 {{autoSendPreview.drafts.length}} 封,跳过/失败 {{queuePreviewIssueCount(autoSendPreview)}} 封
跳过 / 失败原因
{{item.email || item.company || ('#' + (item.customer_id || idx + 1))}}
原因:{{queuePreviewIssueReasonText(item)}}
本次有 {{queuePreviewIssueCount(autoSendPreview)}} 封被跳过或生成失败,但当前预览里没有附带明细。我已经把这条链路补强了,后续新的预览会直接写出原因。
{{idx + 1}}. {{item.company || item.email}}
{{item.email}} · {{item.country || '-'}} · {{item.product_group || '未分组'}}
{{item.smtp_label}} / {{item.signature_label}} / {{item.scheduled_at}}
{{queuePreviewDraftSourceLabel(item)}}
{{queuePreviewCodexRewriteHint(item)}}
主题
{{item.subject}}
正文预览
中文对照
仅系统查看,不会随邮件发送
{{item.subject_cn}}
{{item.body_cn || ''}}
中文对照自动生成失败:{{queuePreviewTranslationError(autoSendPreview, item, idx)}}
{{queuePreviewIsCodexDraft(item) ? '研究草稿缺少中文对照,请让 ChatGPT 重写,CRM 不会调用其他模型补写。' : (autoSendPreview.draftTranslatingIndex === idx ? '系统正在生成中文对照...' : '中文对照暂未生成,可手动补充,仅在系统内查看。')}}
仅修改主题和正文,邮件 Logo、签名和预览版式会自动保留。中文对照会清空,按需重新生成。
规则设置
先定规则,再选客户,再生成开发信预览。这里控制入队准入、冷却周期、工作时间和抑制名单。
工作时间 {{autoSendRules.workdayStart || '08:00'}} - {{autoSendRules.workdayEnd || '18:00'}} 联系人冷却 {{autoSendRules.minDaysSameContact || 0}} 天 同域冷却 {{autoSendRules.minDaysSameDomain || 0}} 天 单日上限 {{autoSendRules.maxDailyPerCampaign || 0}} 封 校验 MX 跳过退信 跳过已回复 跳过退订
入队与冷却
公共邮箱、角色邮箱等更细的限制暂按当前后台默认策略处理。
抑制名单
类型 目标 原因 操作
{{item.target_type}} {{item.target_value}} {{item.reason || '-'}}
暂无抑制名单
选择客户
直接按现有线索表的结构从公海或私海勾选客户,选完后回到当前发件页继续配置。
没有匹配国家
# 公司名称 联系人 邮箱 国家地区 标签 公司网址 线索等级 客户阶段
{{((batchPicker.page || 1) - 1) * (batchPicker.per_page || 20) + idx + 1}}
{{row.website_name || row.company_name || row.contact_name || '-'}}
{{row.company_notes || '—'}}
{{row.product_group}} {{row.customer_type}}
{{row.contact_name || '—'}} {{row.email}} {{row.country || '—'}} {{row.tags || '—'}} {{row.main_domain || row.official_website || row.source_url}} {{getLevelLabel(row.customer_level)}} 公海 {{statusLabel(row.status || 'following')}}
加载中...
暂无客户
支持 Shift 连选:先点一条,再按住 Shift 点另一条,可批量选择中间范围。
共 {{batchPicker.total}} 条
/ {{Math.ceil(batchPicker.total / (batchPicker.per_page||20)) || 1}} 页
{{custDetail?.website_name || custDetail?.contact_name || '客户详情'}} {{custDetail.country}}
联系信息
联系人
{{custDetail?.contact_name || '-'}}
性别
{{custDetail?.gender || '-'}}
职位
{{custDetail?.contact_title || '-'}}
邮箱
{{custDetail?.email || '-'}}
电话
{{custDetail?.phone || '-'}}
联系手机
{{custDetail?.contact_phone || '-'}}
地址
{{custDetail?.address || '-'}}
公司信息
公司名称
{{custDetail?.website_name || '-'}}
国家
{{custDetail?.country || '-'}}
官方网站
{{custDetail?.official_website || '-'}}
客户类型
{{custDetail?.customer_type || '-'}}
客户等级
{{custDetail?.customer_level || '-'}}
产品分组
{{custDetail?.product_group || '-'}}
主域名
{{custDetail?.main_domain || '-'}}
客户代码
{{custDetail?.customer_code || '-'}}
公司备注
{{custDetail?.company_notes || '-'}}
来源URL
{{custDetail?.source_url || '-'}}
来源与情报
{{custDetail?.lead_origin==='codex_competitor_intel'?'Codex挖掘':'Codex补充'}} {{custDetail.intel_competitor_brands}} {{custDetail.intel_evidence_grade}}级 {{custDetail.intel_lead_tier||'评分'}} {{custDetail.intel_lead_score||''}}
线索来源
{{custDetail?.lead_origin==='codex_competitor_intel'?'Codex挖掘':'Codex补充'}}
关联同行
{{custDetail?.intel_competitor_brands || '-'}}
证据等级
{{custDetail?.intel_evidence_grade || '-'}}
优先评分
{{custDetail?.intel_lead_tier || '-'}} / {{custDetail.intel_lead_score}}
运行批次
{{custDetail?.intel_run_id || '-'}}
社交媒体
Facebook
{{custDetail?.facebook || '-'}}
Instagram
{{custDetail?.instagram || '-'}}
LinkedIn
{{custDetail?.linkedin || '-'}}
Twitter
{{custDetail?.twitter || '-'}}
竞争/OEM分析
竞争对手品牌
{{custDetail?.competitor_brand || '-'}}
中国公司
{{custDetail?.china_company || '-'}}
OEM判断
{{custDetail?.oem_judgment || '-'}}
产品证据
{{custDetail?.product_evidence || '-'}}
匹配点
{{custDetail?.fit_points || '-'}}
状态信息
状态
{{stageLabels[custDetail?.status] || custDetail?.status || '-'}}
优先级
{{custDetail?.priority || '-'}}
归属
{{custDetail?.assigned_to || custDetail?.owner_name || '-'}}
已录小满
{{custDetail?.in_xiaoman ? '是' : '否'}}
创建时间
{{custDetail?.created_at?.substring(0,16) || '-'}}
更新时间
{{custDetail?.updated_at?.substring(0,16) || '-'}}
分配时间
{{custDetail?.assigned_at?.substring(0,16) || '-'}}
小满录入时间
{{custDetail?.xiaoman_at?.substring(0,16) || '-'}}
最后联系
{{custDetail?.last_contacted?.substring(0,16) || '-'}}
挖掘时间
{{custDetail?.mined_at?.substring(0,16) || '-'}}
标签
{{custDetail?.tags || '-'}}
备注
{{custDetail.notes}}
发邮件给此客户
{{em.direction==='out'?'📤 我发出的':'📥 客户回复'}} {{em.date || ''}}
{{em.subject || '(无主题)'}}
{{em.body || em.body_preview || ''}}
暂无邮件往来记录
{{log.action_label || log.action}} {{log.created_at?.substring(0,16) || ''}}
{{log.detail}}
暂无操作日志
SMTP 发件账号

可添加多个发件邮箱账号,发送时自动使用已设为默认的账号。

邮箱 / 名称
SMTP 服务器
状态
操作
{{acc.username}}
{{acc.name}}
{{acc.host}}
端口 {{acc.port}} · {{(acc.encryption||'tls').toUpperCase()}}
默认 备用
暂未配置发件邮箱
添加一个 SMTP 账号即可开始发送邮件
电子名片

管理邮件签名名片,发送邮件时选择使用的名片自动追加到正文末尾。

名片名称
姓名 / 职位
邮箱 / 电话
状态
操作
{{sig.name || '未命名'}}
{{sig.display_name || '-'}}
{{sig.title || ''}}
{{sig.email || '-'}}
{{sig.phone || ''}}
默认 备用
暂未创建电子名片
添加名片后,发送邮件时自动追加签名

系统设置

管理系统配置、用户和功能设置

外观设置
主题、侧边栏等界面设置
用户管理
管理用户账号和权限
大模型配置
AI API 配置和测试
获取线索规则
线索获取和分配策略
更新日志
系统版本更新记录
外观设置
主题选择
当前:{{ isDarkMode ? '暗色模式' : '亮色模式' }}
跟随系统
清除手动设置,自动跟随操作系统的深色/浅色模式
侧边栏自动折叠
开启后,鼠标离开侧边栏区域时自动折叠
用户管理 共 {{userList.length}} 个账号
用户名 角色 状态 初始密码 最后登录 创建时间 操作
暂无用户
{{(u.username||'?')[0].toUpperCase()}}
{{u.username}}
{{u.email}}
{{u.role==='admin'?'管理员':'业务'}} {{u.status==='active'?'● 启用':'● 停用'}}
{{u.plain_password}}
{{u.last_login||'从未登录'}} {{u.created_at}}
我的账号信息
✅ 账号信息已更新,管理员可查看
获取线索规则
每次获取数量(条)
业务每次点击「获取线索」时获取的数量
每日获取上限(条)
每位业务每天最多从公海获取的总数量
获取条件
公海分配策略
✅ 已保存
更新日志
{{entry.version}} {{entry.date}} 最新
  • {{item}}
客户分发管理
已选 {{assignMgrSelected.size}} 条
暂无分发记录
公司名称国家官网状态分发给分发时间操作
{{a.website_name||'—'}} {{a.country||'—'}} {{a.official_website}} {{statusLabel(a.cstatus)}} {{a.username}} {{a.created_at}}
????? ??
API ????
{{apiStatus==='ok'?'????':apiStatus==='checking'?'???...':apiStatus==='fail'?apiStatusMsg:'???'}}
???????
GLM API Key
DeepSeek API Key
MiniMax API Key
??????
MiniMax ??