永尚 ERP
连接全球生意,让协作更简单
从客户线索到订单交付,让每一步业务清晰可见。
永尚ERP
账密登录
登录系统
退出
仅为当前 Windows 用户安全保存最近一个账号;重开软件后仍需点击“登录系统”。
账号由总账号统一创建
首次登录必须修改临时密码
{{ sidebarCollapsed ? '☰' : '☷' }}
{{ pageTitle }}
正在核验账号并切换页面,请稍候…
{{ todayText }}
进销存
🔔
总账号
子账号
⟳刷新全部
{{ currentUser.name.slice(0, 1) }}
{{ currentUser.name }}@{{ currentUser.username }}
⌄
检查系统更新
修改我的密码
回退到本次升级前数据
恢复演示数据
退出登录
{const q=await apiRequest('/api/v1/quotations/'+id);openQuote(q)}" @open-customer="openCrmCustomer({customerId:$event})">
原业务提醒
按原来源权限读取;打开后在原模块处理,不自动改变原审批或跟进状态。
{{r.title}} {{r.detail}} 查看原事项标记提醒已处理
流程通知
{{r.title}}查看原通知
日报 / 周报
TODAY'S OVERVIEW
{{ greeting }},{{ currentUser.name }}
{{ currentUser.role === 'admin' ? '按业务员查看客户结构、跟进节奏与操作日志。' : '这里仅展示你自己的客户进展和操作日志。' }}
刷新
+ 新建客户
{{ stat.icon }}
{{ stat.label }}{{ stat.value }}{{ stat.note }}
客户等级分布
A/B/C/D 客户数量,统计口径与上方客户总数一致
{{ item.level }} 级{{ item.count }}
{{ row.grades.A }}/{{ row.grades.B }}/{{ row.grades.C }}/{{ row.grades.D }}
{{ row.overdueFollowups }}
账号状态
在线仅表示近期存在有效会话或心跳,并非绝对实时
{{ item.name }}最后活跃:{{ formatDashboardTime(item.lastActiveAt) }}
{{ presenceStatusLabel(item.status) }}
近期新增客户
最近 {{ dashboardView.recentCustomerDays }} 天及最新录入记录
{{ row.grade }}
{{ ownerName(row.ownerId) }}
{{ formatDashboardTime(row.createdAt) }}
操作日志
服务端筛选与统计;不采集键盘、屏幕、鼠标、剪贴板或系统外行为,不提供删除和篡改入口
显示时区:{{ operationLogTimezone }}
当前筛选操作数{{ dashboardView.operationLogs.statistics.totalOperations }}
成功 / 失败{{ dashboardView.operationLogs.statistics.successfulOperations }} / {{ dashboardView.operationLogs.statistics.failedOperations }}
产品库新增产品{{ dashboardView.operationLogs.statistics.productCreatedQuantity }} 个
可靠对象数量{{ dashboardView.operationLogs.statistics.affectedQuantity }}{{ dashboardView.operationLogs.statistics.quantityKnownOperations }} 条日志有数量口径
按账号
{{ item.label }} {{ item.operations }}无数据
按业务板块
{{ item.label }} {{ item.operations }}无数据
按操作类型
{{ item.label }} {{ item.operations }}无数据
{{ formatOperationLogTime(row.createdAt) }}
{{ row.accountName }}{{ row.accountId || '系统' }}
{{ row.objectLabel }}可靠数量:{{ row.quantity }}数量未知
{{ row.resultLabel }}
业务提醒
系统自动检查询盘、报价、客户、订单和采购节点
查看全部 {{ visibleReminders.length }}
SALES PLAYBOOK
销售SOP
从每一次沟通开始,让销售经验成为可复用的行动参考。
话术与物料库刷新
建立流程编辑流程设为全局默认流程前移流程后移{{ sopFlow.active ? '停用流程' : '恢复流程' }}显示已停用
总账号统一维护 · 当前账号只读
{{ sopFlow.name }}+ 新增环节
{{ stage.name }} {{ sopItems('step',stage.id).length }}
已停用
编辑左移右移{{ stage.active ? '停用' : '恢复' }}
编辑上移下移{{ item.active ? '停用' : '恢复' }}
+ 新增步骤此环节暂无步骤
添加第一个环节,开始整理销售经验。
{{ sopEntry(sopStep.parentId)?.name }}销售建议
{{ sopStep.advice || '暂无建议' }}
新增{{ sopLabel(sop.tab) }}关联已有资料
编辑资料的“关联销售步骤”可跨流程复用;修改后所有关联处同步。
{{ item.name }}
已停用{{ item.access === 'preview' ? '仅预览' : '允许下载' }}
{{ item.content }}
关键词:{{ item.keywords || '—' }}
{{ item.unavailable ? '引用记录失效或当前账号无权访问,请联系总账号。' : item.description }}
更新人:{{ item.updatedName || '—' }} · {{ item.updatedAt ? new Date(item.updatedAt).toLocaleString() : '—' }}
关联步骤与历史
{{ sopLinkedLabels(item) || '尚未关联步骤' }}
复制话术预览下载编辑与关联{{ item.active ? '停用' : '恢复' }}
{{ sop.form.coverUpload?.name || sop.form.cover?.name }}
{{ sop.form.fileUpload?.name || sop.form.file?.name || '尚未选择文件' }}文档提供已有能力支持的文字预览;DOC、AVI不能内嵌预览。MP4是否可播放取决于浏览器支持的编码。
只在主动点击时打开,外部网站不受ERP下载设置控制。
保留原资料访问权限,不复制正文。
允许下载仅预览仅预览会关闭ERP下载入口;预览内容仍可被截屏或由浏览器保存。
取消保存
{{ sop.preview.content || '暂无可提取文字' }}
打开外部资料 ↗
WORK REPORT
日报管理
在同一模块填写日报或周报;草稿可修改,提交后锁定,所有内容字段都允许留空。
刷新
{{ dailyReport.mode === 'weekly' ? '本周周报' : '今日日报' }}
{{ dailyReportPeriodLabel(dailyReport.today) }} · {{ dailyReport.today.employeeName }} · {{ dailyReport.today.departmentName }}
{{ dailyReportStatusLabel(dailyReport.today.status) }}
保存草稿提交{{ dailyReportModeLabel }}
{{ dailyReportPeriodLabel(row) }}{{ row.template?.label || dailyReportTemplateLabel(row.templateKey) }}{{ dailyReportStatusLabel(row.status) }}{{ row.attachments?.length || 0 }}查看历史作废
{{ dailyReportPeriodLabel(dailyReport.selected) }} · {{ dailyReport.selected.employeeName }}
{{ dailyReport.selected.departmentName }} · {{ dailyReport.selected.template?.label || dailyReportTemplateLabel(dailyReport.selected.templateKey) }} · 版本 {{ dailyReport.selected.revision }}
关闭
- {{ field.label }}
- {{ dailyReportFieldValue(dailyReport.selected, field) }}
历史版本
仅总账号可核对;已作废版本保留原文、模板快照和图片。
关闭
关闭
{{ pageTitle }}
{{ activeModule==='contacts'?'集中查找客户联系人':'维护同行公司资料' }}
{{ activeModule==='contacts'?'新增联系人':'新增竞争对手' }}
搜索刷新
{{ row.isPrimary?'是':'否' }}
详情编辑
{{ pageTitle }}
{{ pageDescription }}
字段设置批量导入客户字段设置导入产品信息导入供应商报价待处理产品({{ productConflictDialog.items.length }})分类管理+ 新建供应商字段设置字段设置采购合同字段设置调整字段顺序+ {{ createButtonText }}
刷新当前数据
{{ agentRoleLabel(agentSettingsForTab(aiWorkbench.tab).role) }}状态
连接与模型只在“接口配置 → 用途分配”维护;安全限制由后台默认保护。
保存状态
{{ role.role === 'sales' ? '销' : role.role === 'service' ? '客' : '媒' }}{{ role.enabled ? '管理员已启用' : '默认停用' }}
{{ agentRoleLabel(role.role) }}
{{ role.role === 'sales' ? '确定性今日重点、人工触发分析与客户语言联系草稿;所有写回均需员工明确选择。' : role.role === 'service' ? '预留客服运行入口,本阶段不接入渠道或生成回复草稿。' : '在一个工作台完成周计划、内容与素材编排、模拟发布、效果回收和下周优化;不连接真实平台。' }}
默认模型{{ role.modelOptions?.find(item => item.modelId === role.primaryModel)?.label || '未配置' }}
查看今日重点
进入统一工作台
新建基础任务草稿
当前账号未获得该角色的独立运行权限
草稿任务{{ aiWorkbench.taskCounts.draft || 0 }}
待审核知识{{ aiWorkbench.knowledge.pendingDrafts || 0 }}
可用知识版本{{ aiWorkbench.knowledge.activeVersions || 0 }}
冲突/不可用版本{{ (aiWorkbench.knowledge.unavailableVersions || 0) + (aiWorkbench.knowledge.openConflicts || 0) }}
通用任务
子账号只能看到自己的任务;本阶段任务仅保存状态、对象引用和版本链。
{{ agentRoleLabel(row.role) }}
{{ agentStatusLabel(row.status) }}
{{ row.businessObjectType ? `${row.businessObjectType} · ${row.businessObjectId}` : '未关联' }}
查看
今日重点{{ aiSales.priorities.length }}
清单 AI 调用{{ aiSales.meta.aiCalls || 0 }}
AI 调用{{ aiSales.meta.aiCalls || 0 }}
销售今日重点
按现有数据范围和提醒规则生成;原因与规则依据可解释,不会因刷新触发 AI。
重新计算
{{ row.priority === 'urgent' ? '紧急' : '重点' }}
查看并分析
一个目标 · 一个周期 · 一条完整执行链社媒获客智能体
从周计划、文案与分镜,到图片/配音/视频编排、平台适配、模拟发布、指标回收和下周优化,都在这一页完成。
仅本地模拟不绑定账号 · 不真实发布 · 不调用付费 AI失败不会自动重试或更换供应商;每次物理模拟调用均留痕。
发布渠道 / 账号
社媒平台账号只在本智能体内管理,不进入统一 AI 中心。当前仅 simulation 可运行;private-test / real 未授权。
真实 OAuth 硬关闭
保存 simulation 账号
- {{ step.state==='current' ? '当前' : step.state==='complete' ? '完成' : '待办' }}{{ step.label }}{{ step.detail }}
所需账号{{ youtubeReadiness.requiredAccount }}请准备自有 Google Cloud 测试项目,以及专用 YouTube 测试频道或 Brand Account;当前页面不会登录或绑定它们。
当前模式仅本地模拟真实 OAuth、YouTube API 与 private 上传均已锁定;现有 simulation 账号和其他平台行为不变。
后续所需最小权限只申请连接测试必需的三项权限
{{ item.name }}{{ item.description }}
等待真实账号授权
此按钮不可点击,键盘也不能触发;刷新、保存和复制地址都不会发起 OAuth、平台测试或上传。
密钥安全:Client Secret、API 密钥和 Token 不要粘贴到聊天、截图或任何前端输入框。未来只允许通过服务端加密设置录入。
{{ socialPlatformLabel(account.platform) }}{{ socialModeLabel(account.mode) }}
{{ account.displayName }}账号:{{ account.accountHint }}
Scope:{{ account.scopes.length ? account.scopes.join('、') : '未授权 / 未获取' }}
过期:{{ account.tokenExpiresAt || '未知(无真实 Token)' }}
最近人工测试:{{ account.lastTest ? `${account.lastTest.testedAt} · ${account.lastTest.message}` : '从未测试' }}
模拟连通测试
页面加载、刷新和保存均不会连接平台;只有明确点击“模拟连通测试”才新增一条本地记录,外部请求始终为 0。
按推荐快速开始一周
只选目标和 IANA 时区;平台、频率、发布时间、语言、语气、CTA、主题配比、上限和失败暂停规则会保存为可复用策略。
{{ socialAgent.role?.enabled ? '角色已启用' : '角色未启用' }}
保存策略并开始一周
推荐默认值LinkedIn / Facebook / Instagram 各 1 条/周英语 · 专业克制语气每日最多 2 条 · 21:00–07:30 静默失败/超时/unknown/权利或声明阻断立即暂停,不重试、不换账号或供应商知识不足仍生成草稿,但继续显示 fact / inference / pending;真实发布始终关闭。
按此策略开始新周期修改策略只影响以后创建的周期;旧周期始终使用自己的锁定快照。
本周期 AI 能力选择
这里只选择统一 AI 中心已允许的连接和模型;实际素材仍由明确标识的本地 mock 适配器执行。
{{ aiHubCapabilityLabel(capability) }}{{ socialAiSelectionStatus(capability) }}
启动本地模拟周期social.run 负责规划与生成;social.cycleApprove 仅在开启审核策略时使用,social.publish 不会在本页面触发。
当前周期{{ socialAgent.selected.cycle.name }}
{{ socialAgent.selected.cycle.objective }}
{{ socialStatusLabel(socialAgent.selected.cycle.status) }}{{ socialAgent.selected.cycle.pauseReason }}
市场{{ socialAgent.selected.cycle.markets.join('、') || '未指定' }}产品{{ [socialAgent.selected.cycle.productCategory,socialAgent.selected.cycle.productSubcategory].filter(Boolean).join(' / ') || '未指定' }}平台{{ socialAgent.selected.cycle.platforms.map(socialPlatformLabel).join('、') }}知识成熟度{{ socialAgent.selected.cycle.knowledgeMaturityScore == null ? '尚无快照(不阻止)' : `${socialAgent.selected.cycle.knowledgeMaturityScore} 分(仅提醒)` }}
{{ aiHubCapabilityLabel(capability) }}{{ socialAgent.selected.cycle.aiConnectivitySnapshot?.[capability]?.connectionName || '未知供应商' }} · {{ socialAgent.selected.cycle.aiConnectivitySnapshot?.[capability]?.modelName || '未知模型' }}{{ aiHubKindLabel(socialAgent.selected.cycle.aiConnectivitySnapshot?.[capability]?.connectionKind) }}|{{ aiHubConnectivityLabel(socialAgent.selected.cycle.aiConnectivitySnapshot?.[capability]?.status) }}
本周运营策略 / 下周草案
本周期使用创建时锁定版本;以后修改或停用策略不会让这里漂移。
{{ socialAgent.selected.strategySnapshot?.kind==='legacy' ? '历史只读 legacy' : `策略 v${socialAgent.selected.strategySnapshot?.strategyVersion || 1}` }}
本周目标{{ socialAgent.selected.strategySnapshot?.snapshot?.strategy?.objective || socialAgent.selected.cycle.objective }}
时区 / 周期{{ socialAgent.selected.strategySnapshot?.snapshot?.strategy?.timezone }} · {{ socialAgent.selected.cycle.startDate }} 起
平台 / 频率{{ socialStrategyFrequencyText() }}
自动程度{{ socialAutomationModeLabel(socialAgent.selected.cycle.automationMode) }}
下一步{{ socialCycleNextStep() }}
阻断原因{{ socialAgent.selected.cycle.pauseReason || '当前无周期级阻断;发布前仍复验声明、权利、指纹、连接和权限' }}
人工通知{{ socialAgent.selected.notifications?.[0] ? `${socialAgent.selected.notifications[0].code}|${socialAgent.selected.notifications[0].message}` : '当前无待处理通知' }}
下周草案只消费真实已知指标;unknown 保持 unknown,不显示伪造的 0。
{{ socialAgent.selected.nextWeekDraft.draft.startDate }}–{{ socialAgent.selected.nextWeekDraft.draft.endDate }} · {{ socialAgent.selected.nextWeekDraft.draft.planItems.length }} 项
{{ socialAgent.selected.nextWeekDraft.draft.adjustmentSummary }}
{{ reason.source }}|{{ reason.message }}
指标:曝光 {{ socialMetricText(socialAgent.selected.nextWeekDraft.evidence.metrics.impressions) }} · 点击 {{ socialMetricText(socialAgent.selected.nextWeekDraft.evidence.metrics.clicks) }} · 线索 {{ socialMetricText(socialAgent.selected.nextWeekDraft.evidence.metrics.leads) }}
{{ socialAgent.selected.nextWeekDraft ? '查看已保存草案' : '生成并保存下周草案' }}
一周发布日历
{{ socialAgent.selected.cycle.timezone }} 时区;计划时间持久化,刷新/重启后继续恢复,过期不会自动补发。
{{ content.scheduledLocal || content.scheduledAt }} · UTC{{ content.timezoneOffsetMinutes == null ? '?' : `${content.timezoneOffsetMinutes>=0?'+':''}${content.timezoneOffsetMinutes/60}` }}{{ socialPlatformLabel(content.platform) }} · {{ content.contentType }}{{ content.pillar || '等待计划' }}账号 {{ socialAgent.accounts.find(account=>account.id===content.accountId)?.accountHint || '未知' }}
{{ stage.name }}{{ socialStatusLabel(socialStageStatus(stage.types)) }}
批准继续模拟发布
暂停本周期
恢复本周期
人工接管
取消周期
内容、素材与平台适配
每条内容都将事实、推断和待确认内容分开,不把未知商业信息写成承诺。
{{ socialAgent.selected.contents.length }} 条
视频生成与预览{{ socialAgent.videoRuntime.message }}
{{ socialAgent.videoRuntime.available ? '本地 simulation 可用' : '明确不可用' }}
素材来源与发布资格
这里只显示稳定来源、证据和权利状态;页面不会自动上传、测试或批准。录制夹具固定仅限隔离测试,真实发布继续关闭。
{{ socialAgent.permissions.rightsReview ? '具备审查权限' : '仅可查看' }}
{{ socialRightsSourceLabel(rights.sourceType) }}{{ socialVideoRightsLabel(rights.effectiveStatus) }}
素材 {{ rights.assetId.slice(0,8) }}… · {{ rights.assetType }} · 审查 v{{ rights.reviewVersion }}证据 {{ rights.evidenceIds.length }} 条 · 最后引用 {{ rights.lastReferencedAt || '未知' }}
周期知识快照
创建周期时锁定检索查询、算法版本、正式知识来源和成熟度;旧周期不会随知识更新改写。
{{ socialAgent.selected.knowledgeSnapshot?.retrievalStatus==='completed'?'已锁定':'资料受限/未知' }}
检索算法{{ socialAgent.selected.knowledgeSnapshot?.retrievalAlgorithmVersion || '未知' }}正式来源命中{{ socialAgent.selected.knowledgeSnapshot?.items?.length || 0 }} 条社媒成熟度{{ socialAgent.selected.knowledgeSnapshot?.maturity?.socialScore == null ? '未评估' : `${socialAgent.selected.knowledgeSnapshot.maturity.socialScore} 分` }}检索时间{{ socialAgent.selected.knowledgeSnapshot?.retrievedAt || '未知' }}
查询:{{ socialAgent.selected.knowledgeSnapshot.query }}
说明:{{ socialAgent.selected.knowledgeSnapshot.retrievalReason }}
{{ socialPlatformLabel(content.platform) }}{{ content.language }}{{ content.pillar }}
{{ socialStatusLabel(content.status) }}
{{ content.title || '等待内容生成' }}
{{ content.copy || '计划已建立,正在等待内容任务。' }}
脚本{{ content.script }}分镜- {{ shot }}
CTA{{ content.cta }}
内容事实依据事实 {{ socialClaimsFor(content.id).filter(item=>item.epistemicStatus==='fact').length }} · 推断 {{ socialClaimsFor(content.id).filter(item=>item.epistemicStatus==='inference').length }} · 待确认 {{ socialClaimsFor(content.id).filter(item=>item.epistemicStatus==='pending').length }}
{{ socialClaimsFor(content.id).some(item=>item.mappingStatus!=='valid'||item.reviewStatus==='rejected')?'存在阻断':socialClaimsFor(content.id).some(item=>item.epistemicStatus!=='fact'&&item.reviewStatus!=='approved')?'需要逐声明审核':'依据已确认' }}
{{ socialClaimStatusLabel(claim.epistemicStatus) }}{{ socialClaimRiskLabel(claim.riskLevel) }} · {{ claim.category }}{{ socialClaimReviewLabel(claim.reviewStatus) }} v{{ claim.reviewVersion }}
{{ claim.text }}
{{ source.sourceDisplayName || '正式知识来源' }} · 知识 v{{ source.knowledgeVersion || '未知' }} · 来源 {{ source.sourceVersionLabel || `v${source.sourceVersionNumber || '?'}` }}
{{ claim.gap || claim.inferenceBasis || '没有可核验的直接正式来源' }}
不确定性:{{ claim.uncertainty }}审核理由:{{ claim.reviewReason }}
逐声明批准拒绝
{{ asset.type==='image'?'图片':asset.type==='voice'?'配音':'视频' }}{{ asset.specification.instruction }}素材任务等待中
本条内容的素材权利{{ socialRightsFor(content.id).length }} 个稳定素材引用
检查发布资格{{ socialRightsSourceLabel(rights.sourceType) }} · {{ socialVideoRightsLabel(rights.effectiveStatus) }}尚无稳定素材引用
适配规格{{ content.platformSpec.format }} · {{ content.platformSpec.aspectRatio }} · {{ content.platformSpec.durationSeconds }} 秒
视频生成与预览仅手动启动本地 simulation;页面加载、刷新和保存不会自动生成。
生成模拟成片
{{ socialStatusLabel(socialVideoFor(content.id).status) }}{{ socialVideoRightsLabel(socialVideoFor(content.id).rightsStatus) }}{{ socialVideoFor(content.id).pauseReason }}
{{ output.profileId }}{{ output.width || '未知' }} × {{ output.height || '未知' }} · {{ output.durationSeconds == null ? '时长未知' : `${Number(output.durationSeconds).toFixed(2)} 秒` }} · {{ output.videoCodec || '编码未知' }}/{{ output.audioCodec || '编码未知' }}
加载预览安全下载
正式环境未配置资产根或 FFmpeg 时明确不可用,不会静默写入项目目录。
最终成品 → 权利 → 排期 → 发布准备{{ content.scheduledLocal || content.scheduledAt }} · {{ content.timezone }}
{{ socialStatusLabel(socialPublishIntentFor(content.id)?.gateStatus || 'waiting') }}
成品 {{ socialPublishIntentFor(content.id).finalArtifactId ? `${socialPublishIntentFor(content.id).finalArtifactId.slice(0,8)}…` : '缺失' }}SHA-256 {{ socialPublishIntentFor(content.id).assetSha256 ? `${socialPublishIntentFor(content.id).assetSha256.slice(0,10)}…` : '缺失' }}manifest {{ socialPublishIntentFor(content.id).renderManifestId ? `${socialPublishIntentFor(content.id).renderManifestId.slice(0,8)}…` : '缺失' }}审批 {{ socialPublishIntentFor(content.id).approvalSnapshot.status || '未知' }}
- {{ reason.message }}({{ reason.code }})
全部依赖已锁定;真正 dispatch 前仍会再次核验文件、权利、内容版本、审批和连接。
尚未形成最终成品,因此服务端不会创建发布意图或 publish 作业。
持久执行队列
依赖、并发与状态都由服务端控制;publish 只会在最终成品和全部门禁 ready 后出现。
{{ {plan:'周计划',content:'内容',image:'图片',voice:'配音',video:'视频片段',adapt:'适配',assemble:'本地成片',publish:'模拟发布',metrics:'指标',optimize:'优化'}[row.type] || row.type }}{{ socialStatusLabel(row.status) }}{{ row.attemptCount }}/{{ row.maxAttempts }}{{ row.errorMessage || row.provider || '等待领取' }}
发布意图与模拟回执
每个平台按内容版本与最终成品生成稳定幂等键;unknown 只进入人工对账,不自动重试。
{{ socialPlatformLabel(target.platform) }} · v{{ target.contentVersion }}{{ socialStatusLabel(target.status) }}成品:{{ target.finalArtifactId ? `${target.finalArtifactId.slice(0,8)}…` : '缺失' }} · 回执:{{ target.receiptClassification || 'none' }}阻断:{{ target.blockerReasons.map(item=>item.message).join(';') }}平台 Post ID:{{ target.receipt.remotePostId || '未知' }} · 发布时间:{{ target.receipt.publishedAt || '未知' }}
本周效果
按平台、隔离账号、内容版本、最终成品和模拟回执锁定证据;0 是已知零值,未知始终显示“未知”。稳定链路显示“关联已确认”,不一致项显示“待人工核对”。
生成 / 刷新冻结报告
数据完整度{{ socialReportCompleteness(socialAgent.selected.weeklyEffectReport.report) }}稳定关联{{ socialAgent.selected.weeklyEffectReport.report.completeness.resolvedSnapshotCount }}/{{ socialAgent.selected.weeklyEffectReport.report.completeness.snapshotCount }}报告版本v{{ socialAgent.selected.weeklyEffectReport.version }}结论状态{{ socialAgent.selected.weeklyEffectReport.report.comparisonStatus==='descriptive_only'?'仅描述性比较':'证据不足' }}
本周目标:{{ socialAgent.selected.weeklyEffectReport.report.cycle.objective }}
曝光 {{ socialMetricText(socialAgent.selected.weeklyEffectReport.report.overall.impressions.value) }}触达 {{ socialMetricText(socialAgent.selected.weeklyEffectReport.report.overall.reach.value) }}播放 {{ socialMetricText(socialAgent.selected.weeklyEffectReport.report.overall.plays.value) }}点击 {{ socialMetricText(socialAgent.selected.weeklyEffectReport.report.overall.clicks.value) }}互动 {{ socialMetricText(socialAgent.selected.weeklyEffectReport.report.overall.interactions.value) }}新增关注 {{ socialMetricText(socialAgent.selected.weeklyEffectReport.report.overall.newFollowers.value) }}平台线索 {{ socialMetricText(socialAgent.selected.weeklyEffectReport.report.overall.leads.value) }}
{{ {platform:'平台',theme:'主题',content_type:'内容类型',language:'语言'}[item.dimension] }} · {{ item.dimension==='platform'?socialPlatformLabel(item.value):item.value }}{{ item.resolvedSampleCount }}/{{ item.sampleCount }} 条可用 · 点击 {{ socialMetricText(item.metrics.clicks.value) }} · 线索 {{ socialMetricText(item.metrics.leads.value) }}
证据:{{ socialAgent.selected.weeklyEffectReport.snapshotRefs.length }} 个当前快照 · 输入指纹 {{ socialAgent.selected.weeklyEffectReport.inputHash.slice(0,12) }}… · {{ socialAgent.selected.weeklyEffectReport.generatedAt }}
{{ socialPlatformLabel(metric.platform) }} · {{ metric.contentTheme || metric.contentType }}{{ socialMetricAssociationLabel(metric.associationStatus) }}
窗口 {{ metric.window.startAt || '未知' }} → {{ metric.window.endAt || '未知' }} · {{ metric.window.timeZone || '时区未知' }}内容 v{{ metric.contentVersion }} · 成品 {{ metric.finalArtifactId ? `${metric.finalArtifactId.slice(0,8)}…` : '未知' }} · 快照修订 v{{ metric.revision }}曝光 {{ socialMetricText(metric.impressions) }}{{ socialMetricStateLabel(metric.metricStates.impressions) }}触达 {{ socialMetricText(metric.reach) }}{{ socialMetricStateLabel(metric.metricStates.reach) }}播放 {{ socialMetricText(metric.plays) }}{{ socialMetricStateLabel(metric.metricStates.plays) }}观看时长 {{ socialMetricText(metric.watchTimeSeconds,' 秒') }}{{ socialMetricStateLabel(metric.metricStates.watchTimeSeconds) }}点击 {{ socialMetricText(metric.clicks) }}{{ socialMetricStateLabel(metric.metricStates.clicks) }}点赞 / 评论 / 分享 {{ socialMetricText(metric.likes) }} / {{ socialMetricText(metric.comments) }} / {{ socialMetricText(metric.shares) }}新增关注 {{ socialMetricText(metric.newFollowers) }}{{ socialMetricStateLabel(metric.metricStates.newFollowers) }}平台线索 {{ socialMetricText(metric.leads) }}{{ socialMetricStateLabel(metric.metricStates.leads) }}人工核对:{{ metric.associationReasons.map(item=>item.message).join(';') }}来源 {{ metric.sourceFixtureId }} / {{ metric.sourceFixtureVersion }} · 哈希 {{ metric.sourceSnapshotHash ? `${metric.sourceSnapshotHash.slice(0,12)}…` : '未知' }}
下周优化
建议只影响新的下周草案;当前周期、历史报告和已发布结果不会被改写。
生成 / 查看下周草案草案 v{{ socialAgent.selected.nextWeekDraft.version }} · {{ socialAgent.selected.nextWeekDraft.draft.startDate }}–{{ socialAgent.selected.nextWeekDraft.draft.endDate }}
{{ socialAgent.selected.nextWeekDraft.draft.adjustmentSummary }}
{{ item.type }}{{ item.message }}依据 {{ item.evidenceRefs?.length || 0 }} 条
锁定策略 {{ socialAgent.selected.nextWeekDraft.draft.strategyRef.snapshotHash ? `${socialAgent.selected.nextWeekDraft.draft.strategyRef.snapshotHash.slice(0,12)}…` : '未知' }} · 父版本 {{ socialAgent.selected.nextWeekDraft.parentVersion || '无' }} · 操作者 {{ socialAgent.selected.nextWeekDraft.createdBy }}
资料对话
知识总览
待我确认
知识库
高级管理
{{ systemRead.detail?.display }}
{{ systemRead.detail?.readAt }}{{ attachment.filename || '查看图片' }}
![]()
{{ systemRead.detail.image.notice }}
正式知识{{ aiWorkbench.knowledge.activeItems || aiWorkbench.knowledge.activeVersions || 0 }} 条仅统计人工批准且当前有效的知识查看知识库
待我确认{{ aiWorkbench.knowledge.pendingCards || aiWorkbench.knowledge.pendingDrafts || 0 }} 条逐卡确认后才会进入正式知识去确认
来源授权{{ aiWorkbench.knowledge.sourceAuthorizations || 0 }} 个日常补资料请直接在资料对话中完成开始对话
正在只读查看员工会话。需要提问时请新建自己的会话。
{{ notice.text }}重新加载
知
有什么想聊的?可以直接提问、写作、总结文字或附件。默认只用于当前会话,不会自动进入知识库。
你{{ knowledgeIntakeBatchUserSummary(batch) }}
{{ knowledgeStoredAttachmentIsImage(item)?'▧':'▤' }}{{ item.displayName }}{{ item.mimeType }} · {{ knowledgeStoredAttachmentSize(item) }}
知
{{ knowledgeIntakeStatusLabel(batch.stage||batch.status) }}正在整理你明确指定的资料;完成后先生成独立资料卡片草稿。
本轮整理已停止,不会新增草稿、候选或正式知识。
{{ knowledgeIntakeOutcomeSummary(batch) }}
已生成 {{ knowledgeIntakeDraftCount(batch) }} 张资料卡片草稿;需要逐张点击“进入待确认”。
本轮没有生成资料卡片草稿;原材料仍保留,可重新整理或手动处理。
停止查看待我确认({{ knowledgeIntakeCandidateCount(batch) }})
知
资料卡片未完成{{ item.failureMessage || '本轮没有生成资料卡片;原材料、解析结果和已有草稿都已保留。' }}
重新整理 只有模型已确定完成但卡片格式异常时,系统才会用同一个模型自动修正一次格式;超时、限流、连接中断或状态未知不会自动重试,也不会切换模型或供应商。
知
{{ knowledgeTaskDescription(batch) }}
- {{ step.label }} · {{ step.readCount }} 项
实际处理记录 · 切换页面后仍会继续
{{ batch.historyNotice }}
{{ item.previewPlaceholder ? '原文件是占位图片,无可见内容' : item.previewUnavailable ? '当前图片不可读取' : '正在读取图片…' }}
{{ item.label || item.name || '产品图片' }}{{ item.sku }}{{ item.name }} · 网络图片,未核实
另有 {{ knowledgeAnswerImages(batch).filter(item=>item.previewPlaceholder).length }} 份原文件是占位图片,无法预览。
{{ knowledgeMissingDescription(batch) }}。 联网查询:{{ knowledgeWebSearch(batch).query }}
{{ knowledgeWebSearch(batch).providerLabel }} · {{ knowledgeWebSearch(batch).costNotice }}
联网搜索
停止本次联网{{ ({declined:'已拒绝联网',running:'正在联网搜索,可切换页面,返回后继续查看',completed:'联网已完成,结果为未核实线索',cancelled:'已主动停止联网,未自动重试',interrupted:'搜索中断,结果未知,未自动重试',revoked:'权限已失效,搜索已中断',unavailable:'未配置可用搜索服务,未发送请求'})[knowledgeWebSearch(batch).state]||'本次搜索状态已更新' }}
{{ knowledgeEvidenceLabel(batch) }}
{{ knowledgeOrderScope(view.summary) }} · {{ view.summary.statusScope }} · 共 {{ view.summary.total }} 单
下单日期:{{ view.summary.dateFrom }} 起,至 {{ view.summary.dateTo }} 前(北京时间);展示前 20 笔,总数包含全部结果
| 订单 | 下单日期 | 状态 |
|---|
| {{ item.orderNo }} | {{ item.orderDate }} | {{ item.status }} |
匹配到多款产品:{{ (view.summary.matches||[]).map(item=>item.sku||item.name).join('、') }}。可在对话中指定产品自编号。
{{ missing.sku }} {{ ({no_match:'系统未匹配到该产品',no_images:'该产品没有图片',no_relationship:'该产品没有关联供应商'})[missing.reason]||'所需资料缺失' }}
{{ item.sku || item.name || item.label }}{{ item.name }}含税价 {{ item.taxIncludedUnitPrice }} {{ item.currency }}未税价 {{ item.taxExcludedUnitPrice }} {{ item.currency }}价格未知{{ item.contact }} {{ item.phone }} {{ item.email }}
外部来源(未核实)
读取记录:{{ knowledgeAnswerReceipts(batch).filter(row=>row.status==='succeeded').length }} 项成功,部分资料读取未完成
- {{ knowledgeReceiptLabel(receipt) }} · {{ receipt.status==='succeeded'?'读取成功':receipt.status==='partial'?'仅完成部分读取':'读取失败' }}
已读取第 {{ item.result.websiteBatchNumber || 1 }} 批继续下一批官网目标范围已读取完成
知
资料卡片草稿每张卡独立保存版本;只有点击“进入待确认”才会创建真实待审记录。
本次使用的资料:{{ item.displayName }}
勾选两张以上草稿可合并;合并会创建新版本。合并所选
{{ card.title }}{{ card.status==='submitted'?'已进入待确认':'草稿' }}v{{ card.version }}
{{ card.fact || '当前草稿内容为空,请手动修改' }}
摘要:{{ card.summary }}
来源:{{ card.sourceLocator || '待核对来源定位' }}来源摘录:{{ card.evidenceLocator || '待核对原文摘录' }}
适用范围:产品 {{ card.applicabilityScope.productIds.length }} 项分类 {{ card.applicabilityScope.categoryIds.length }} 项市场 {{ card.applicabilityScope.markets.join('、') }}语言 {{ card.applicabilityScope.languages.join('、') }}{{ card.applicabilityScope.notes }}未限定,等待人工确认
不确定项:未报告
- {{ issue.message || issue.reason || issue.detail || issue }}
分类:{{ knowledgeCategoryLabel(card.category) }} · 动态主题:{{ card.dynamicTopics.join('、') }} · 固定题库主题:{{ card.topics.map(knowledgeTopicLabel).join('、') }}
toggleKnowledgeDraftMergeSelection(card,checked)">选中合并重新整理手动修改删除进入待确认
待确认记录已由后端真实创建;重复点击不会重复生成。
你{{ aiWorkbench.intake.liveTurn.text }}
▤{{ attachment.name }}{{ attachment.type }} · {{ attachment.size }}
知
{{ aiWorkbench.intake.liveTurn.progressLabel || '正在提交本轮任务…' }}
已停止
本轮后续内容已安全忽略,不会因停止产生知识副作用。
未中断本批的失败页面- {{ failure.url }}{{ failure.reason || failure.message }} · {{ failure.retryable?'可重试':'不可自动重试' }} · {{ failure.suggestion }}
关闭确认本批材料并核对AI调用
取消{{ aiWorkbench.intake.candidateEditDialog.mode==='draft'?'保存草稿新版本':'保存待确认修改' }}
待我确认
批量确认会逐条检查安全、冲突和来源。动态主题用于自然归类;固定 60 题只评估准备度,不是入库门槛。
安全批量通过({{ aiWorkbench.selectedPendingCardIds.length }}){{ aiWorkbench.candidatePage.total }} 条待审
正文:{{ row.factPreview || '展开编辑可查看完整正文' }}
来源与精确定位:{{ row.sourceLocator }} · {{ row.evidenceLocator }}
适用范围:产品 {{ row.applicabilityScope?.productIds?.length || 0 }} 项 · 分类 {{ row.applicabilityScope?.categoryIds?.length || 0 }} 项 · {{ row.applicabilityScope?.notes || '无补充说明' }}
冲突 / 缺口 / 不确定性:{{ row.uncertainties?.map(item=>item.message || item.description).join(';') || '未报告' }}
建议智能体:{{ row.suggestedRoles?.map(agentRoleLabel).join('、') || '未建议' }}(仅建议,批准不等于授权)
动态主题:{{ row.dynamicTopics?.join('、') || '未建议,可人工补充' }}
固定题库主题:{{ row.topics.map(knowledgeTopicLabel).join('、') || '未关联(不影响入库)' }}
置信提示:{{ Math.round(row.confidence*100) }}% · {{ row.usageState==='known'?'用量已记录':'费用/用量未知' }}
有效期 / 复审:{{ row.reviewValidUntil || '未设置;批准前可人工设置,到期后立即退出检索' }}
{{ knowledgeCategoryLabel(row.category) }}
{{ row.dangerousInstruction ? '疑似危险指令' : row.conflict ? '存在冲突' : row.expired ? '可能过期' : '无法核验' }}安全可核验
编辑通过退回拒绝已处理
公司唯一正式知识库
这里只展示人工确认并且当前有效的正式知识;测试、诊断、范围授权和索引维护统一放在“高级管理”。
查询
内容摘要:{{ row.factPreview || row.summaryPreview || '点击编辑查看完整正文' }}
来源:{{ row.sourceDisplayName || row.sourceLocator }} · {{ row.sourceLocator }}
版本:{{ row.versionNumber }}
标准主题:{{ row.topics.map(knowledgeTopicLabel).join('、') || '尚未补充' }}
适用范围:产品 {{ row.applicabilityScope?.productIds?.length || 0 }} 项 · 分类 {{ row.applicabilityScope?.categoryIds?.length || 0 }} 项
智能体:{{ row.assignedRoles?.map(agentRoleLabel).join('、') || '未授权任何智能体' }}
v{{ row.versionNumber }}{{ knowledgeCategoryLabel(row.category) }}{{ knowledgeVisibilityLabel(row.visibility) }}查看 / 编辑 / 分配 markKnowledgeItemV1(row,state)">停用⌄冲突过期待复核撤回永久删除
{{ row.dynamicTopics?.join('、') || '未设置' }}
取消保存并进入待确认
{{ systemRead.configuration.notice }}
{{ source.label }}
联系方式金额与成本(仍需原成本权限)图片与附件正文(仍需原资源权限)
允许AI处理:以下范围可将本人有权查看的本轮必要片段发送给当前配置的模型。默认关闭;不授权制卡、业务修改或发送客户消息。
{{ source.label }}
跟进自由正文、图片可能混有联系方式与成本,须同时开启敏感字段并具备原产品、采购成本权限。图片在来源中按张读取,不访问外部图片网址。
允许AI处理必要联系方式允许AI处理必要金额与成本(仍需原权限)
保存读取设置
Embedding 状态
{{ aiWorkbench.embeddingStatus.message || '展开后读取当前配置与测试状态' }}
{{ aiWorkbench.embeddingStatus.label }} 供应商:{{ aiWorkbench.embeddingStatus.providerName || '未配置' }} · 模型:{{ aiWorkbench.embeddingStatus.modelName || '未配置' }} · 最近测试:{{ aiWorkbench.embeddingStatus.testedAt || '无' }}测试向量模型补建 / 重建所选索引({{ aiWorkbench.selectedEmbeddingItemIds.length }})
{{ knowledgeIndexStatusLabel(row.indexStatus?.code) }}{{ knowledgeIndexRunStatusLabel(run.status) }}{{ run.selectedCount }} 条 · 物理调用 {{ run.physicalCallCount }}/{{ run.plannedCallCount }}
实际命中({{ aiWorkbench.retrieval.items.length }})
诊断
结论:历史信息不足。该编号可能来自改造前,无法反查,不编造原因。
阶段:{{ aiWorkbench.diagnostic.result.stage }} · {{ aiWorkbench.diagnostic.result.internalCode }}
关联:批次 {{ aiWorkbench.diagnostic.result.batchId || '无' }} · 条目 {{ aiWorkbench.diagnostic.result.intakeItemId || '无' }} · 会话 {{ aiWorkbench.diagnostic.result.conversationId || '无' }}
原因:{{ aiWorkbench.diagnostic.result.publicReason }}
影响:{{ aiWorkbench.diagnostic.result.impact }}
已保留:{{ aiWorkbench.diagnostic.result.preserved }}
建议:{{ aiWorkbench.diagnostic.result.suggestedAction }}
响应证据:{{ aiWorkbench.diagnostic.result.responseLength }} 字符 · SHA-256 {{ aiWorkbench.diagnostic.result.responseHash || '无响应正文' }}
确认授权范围{{ agentRoleLabel(item.role) }} · {{ item.scopeType }}:{{ item.scopeValue }}尚未给销售或客服分配知识范围
固定 60 题准备度
评测仅生成历史快照,不会改写正式知识。
运行并保存快照公司{{ aiWorkbench.maturity.company.score }}{{ agentRoleLabel(role) }}{{ aiWorkbench.maturity.roles[role].score }}
接口配置
保存连接与模型、一次测试全部已启用能力,并为每个用途明确选择一个模型。
刷新页面
{{ aiProviderHub.connectionForm.id ? '连接设置' : '添加连接' }}
保存只记录配置,不会联网或测试。
版本 {{ aiProviderHub.connectionForm.version }}
起一个自己看得懂的名称,方便以后选择。
已保存的密钥只显示掩码,完整内容不会回显。
保存配置批量测试删除连接
快速套用官方默认地址:{{ template.name }}
说明这条连接来自官方还是中转,不会改变真实接口协议。
系统不会根据网址或协议猜测模型能力。
Host、Authorization 等受保护头不能覆盖;敏感值加密并遮罩。
下次保存时清除已保存密钥
模型
填写模型名称、勾选真实能力并决定是否启用;保存不会测试。
添加模型
保存取消
尚无模型;可以安全同步或手工添加。
模型名称{{ row.displayName }}
能力与验证状态{{ aiHubCapabilityLabel(capability) }}{{ aiHubCapabilityTestLabel(row.capabilityTests?.[capability]) }}
能力未声明:请先设置能力,系统不会按模型名称猜测。
状态{{ row.enabled ? '启用' : '停用' }}
{{ scene.scene === 'knowledge_card' ? '知识库智能体资料整理' : scene.name }}
需要能力:{{ scene.requiredCapabilities.map(aiHubCapabilityLabel).join('、') }}
分别为文案、图片、配音和视频选择一个模型。
保存已绑定模型会原样保留;配置失败时不自动切换。
{{ aiHubCapabilityLabel(binding.capability) }}
保存
保存启用状态
模型 {{ aiProviderHub.batchDialog.preview.modelCount }} 个预计外部调用次数:{{ aiProviderHub.batchDialog.preview.estimatedExternalCalls }}
{{ aiHubBatchCapabilityLabel(row.capability) }}
我已核对模型清单和能力,并确认可能由供应商计费
{{ aiHubBatchStatusLabel(aiProviderHub.batchDialog.batch.status) }}{{ aiProviderHub.batchDialog.batch.completedCallCount }} / {{ aiProviderHub.batchDialog.batch.plannedCallCount }}通过 {{ aiProviderHub.batchDialog.batch.succeededCount }},失败 {{ aiProviderHub.batchDialog.batch.failedCount }}
{{ aiHubBatchCapabilityLabel(row.capability) }}{{ aiHubBatchStatusLabel(row.status) }}{{ row.errorMessage }}{{ row.physicalCallCount }}
关闭确认并开始停止后续测试仅重测失败项
客服智能体
接收咨询、根据已审核知识回复,遇到不确定内容交给人工。
本地模拟连接
企业微信、WhatsApp、邮箱均未连接真实账号模拟客户来信和客服回复只保存在本电脑,不会发送给客户。当前使用知识直答,不调用付费 AI。
{{ serviceChannelLabel(serviceAgent.channel) }}账号添加模拟账号
{{ serviceCurrentAccount.name }}重命名
仅控制本账号的新模拟来信;恢复不会补发旧消息。
此平台暂无账号。添加模拟账号后,可分别验证各账号的会话和回复。
需要人工处理{{ serviceAgent.selected.handoffReason || serviceAgent.selected.escalationReason }}
加载更早的消息
正在读取会话…
开启一次客服对话在下方输入客户问题,自动模式会根据可对外使用的已审核知识生成回复。无可靠依据或涉及商业承诺时转人工。
{{ message.role==='customer'?'客户':message.role==='human'?'人工客服':'客服智能体' }}仅本地保存
{{ message.text }}
转人工原因:{{ message.handoffReason || message.escalationReason || message.reason }}
知识依据 · {{ message.sources.length }} 条
{{ serviceSourceLabel(source) }}版本 {{ source.versionNumber || source.version }}{{ source.excerpt || source.factSummary || source.fact || source.summary }}
正在接收来信并处理回复…
{{ !serviceCurrentAccount?.autoReplyEnabled?'账号自动回复已暂停,仅保存来信':serviceAgent.selected.mode==='auto'?'提交后模拟回复;不确定内容转人工':'人工模式仅接收来信,不自动回复' }}模拟接收
选择账号,处理该账号的咨询新建本地模拟会话,体验知识自动回复与人工接管。重新进入后可以继续查看已保存的消息。
新建第一条会话
{{ serviceChannelLabel(serviceAgent.channel) }} · {{ serviceCurrentAccount?.name }}默认自动回复,只使用已审核且允许对外使用的知识;不会连接真实渠道。
取消创建会话
{{ serviceChannelLabel(serviceAgent.channel) }}此处创建用于验证的账号分组,不登录或连接真实账号。真实渠道配置继续使用系统原有设置。
取消保存账号
历史客服基础任务
{{ agentStatusLabel(row.status) }}
{{ aiSales.selected.title }}{{ aiSales.selected.type }}
{{ aiSales.selected.reason }}
{{ aiSales.selected.ruleBasis }}
本次模型调用前固定使用下方明确选择的模型。
我已核对业务对象,并确认现在运行销售分析
确认运行 AI
实际调用{{ aiSales.actualRouting.actual?.connectionName }} / {{ aiSales.actualRouting.actual?.modelName }} · {{ aiSales.actualRouting.attemptCount }} 次物理尝试{{ aiSales.actualRouting.selectionReason }}
保存人工修改版本当前版本:v{{ aiSales.output.versionNumber }} · {{ aiSales.output.origin === 'ai_original' ? 'AI 原稿' : '人工修改' }}
选择写回位置
保存为跟进待办保存为内部沟通草稿追加到客户备注
不选择就不会写入任何业务对象;内部沟通草稿绝不会触发邮件、WhatsApp、Facebook 或 Instagram。
保存并写回所选位置
已保存{{ salesWritebackLabel(item.writebackType) }} · {{ item.status }}
{{ activeSettingsGroup.label }}
{{ activeSettingsSection.description }}
{{ settingsSectionStatusText(activeSettingsSectionStatus.state) }}
{{ item.label }}
新建子账号批量设置权限
公司菜单调整主菜单分组调整{{ group.label }}二级菜单各账号只会看到公司设为显示且自己有查看权限的入口。
我的授权
{{ permissionSummary(currentUser) }}
账号状态:{{ currentUser.status }}。授权变更请联系总账号。
saveMainTableColumnWidth('accounts',newWidth,oldWidth,column)">
{{ row.name.slice(0,1) }}{{ row.name }}@{{ row.username }}
{{ row.role === 'admin' ? '总账号' : '子账号' }}
{{ row.status }}
{{ row.role === 'admin' ? '全部功能' : permissionSummary(row) }}
{{ row.createdAt || '—' }}
编辑
{{ row.status === '启用' ? '停用' : '启用' }}
重置密码
删除
历史身份已保留
客户联系人沿用客户权限;供应商沿用产品权限。采购询价由“采购管理 → 供应商询价专项权限”控制,与历史客户询盘分开。
日报按既定本人 / 查看人规则展示;销售SOP总账号管理、子账号只读;竞争对手沿用现有查看、新增和编辑策略。数据范围保留本人 / 总账号全部及公海规则。
当前登录身份
密码不会显示在此页,修改操作会进入独立窗口。
账
{{ currentUser.name.slice(0,1) }}{{ currentUser.name }}@{{ currentUser.username }} · {{ currentUser.role === 'admin' ? '总账号' : '子账号' }}
修改我的密码
界面与显示
当前值只会在点击保存后写入当前登录账号。
界
默认进入模块当前值:{{ settingsDefaultModuleOptions.find(item => item.value === settingsSectionDrafts.display.defaultModule)?.label || '工作台' }};无权限时自动回到工作台。
表格显示密度当前值:{{ settingsSectionDrafts.display.tableDensity === 'compact' ? '紧凑' : '标准' }}。
标准紧凑
产品库每页数量当前值:{{ settingsSectionDrafts.display.productPageSize }} 条;保存后从第 1 页重新显示。
折叠左侧菜单当前值:{{ settingsSectionDrafts.display.sidebarCollapsed ? '已折叠' : '展开' }}。
保存本板块
产品库布局
产品分类栏只按当前账号保存,不影响产品资料。
产
显示产品分类栏当前值:{{ settingsSectionDrafts.productLayout.categoryPanelVisible ? '显示' : '隐藏' }};关闭后可在产品库搜索框左侧重新显示。
分类栏宽度当前值:{{ settingsSectionDrafts.productLayout.categoryPanelWidth }} 像素;范围 180–420 像素。
产品列表专用行高{{ productRowHeightCustom === null ? `当前跟随${state.uiSettings.tableDensity === 'compact' ? '紧凑' : '标准'}密度(${productRowHeight} 像素)` : `当前自定义 ${productRowHeight} 像素;只影响产品库主列表` }}。
重置为跟随密度
保存本板块
个人表格字段
字段顺序、显示和宽度只影响当前账号。公司菜单在“公司菜单”分类调整。
表
业务表字段{{ settingsTableOptions.length }} 张有权限的业务表可调整
供应商详情{{ state.uiSettings.supplierColumnOrder.length }} 个字段可排序
调整字段调整供应商详情字段
系统版本
{{ desktopUpdate.isDesktop ? '桌面端启动后会在后台进行一次轻量检查;下载和重启安装始终由你确认。' : '网页与 PWA 只检查业务页面版本,不具备桌面安装包更新能力。' }}
版
当前已加载业务版本{{ appVersion.currentRelease?.name || '加载版本待确认' }}
发布状态{{ appVersion.currentRelease?.status === 'preview' ? '开发预览 · 未发布' : appVersion.currentRelease?.status === 'deployed' ? '已部署 · 待业务验收' : '加载状态待确认' }}
正式发布日期{{ appVersion.currentRelease?.publishedAt ? new Date(appVersion.currentRelease.publishedAt).toLocaleString('zh-CN') : '尚未正式发布' }}
服务器可用业务版本{{ appVersion.latestRelease?.name || '尚未检查' }} {{ appVersion.latest && appVersion.current !== appVersion.latest ? '(页面尚未刷新)' : '' }}
- {{ change.type }} · {{ change.module }} {{ change.text }}
检查业务更新
历史更新记录
仅列出已核实部署日期与内容的记录;技术部署完成不代表业务验收通过。更早缺少完整依据的记录未补写日期或内容。
{{ release.name }} · {{ new Date(release.publishedAt).toLocaleString('zh-CN') }} · {{ release.status === 'accepted' ? '验收完成' : '已部署 · 待业务验收' }}
- {{ change.type }} · {{ change.module }} {{ change.text }}
桌面应用版本{{ desktopUpdate.currentVersion || '读取中' }}
可用新版本{{ desktopUpdate.availableVersion || '暂无' }}
业务系统版本{{ appVersion.currentRelease?.name || '加载版本待确认' }}
更新状态{{ desktopUpdateStatusText(desktopUpdate.status) }}
{{ formatDesktopUpdateBytes(desktopUpdate.transferred) }} / {{ formatDesktopUpdateBytes(desktopUpdate.total) }}
检查桌面更新立即下载稍后提醒取消下载重试下载立即重启更新稍后退出时更新
系统服务状态
这里只显示当前账号有权使用的业务服务,不会显示无权限模块。
{{ settingsReadyServiceCount }}/{{ settingsServiceItems.length }} 正常
{{ item.label }}{{ settingsServiceStatusText(item.server.status) }}{{ item.server.error ? ':' + item.server.error : '' }}
产品字段必填规则
公司统一生效;普通子账号可看到实际录入要求,但不能修改。模板版本 {{ productFieldTemplate.version }}。
必
字段稳定字段标识类型录入显示必填状态说明
{{ field.label }}{{ field.kind === 'system' ? '核心' : '自定义' }}
{{ field.id }}
{{ customerFieldTypeLabel(field.type) }}
{{ field.visible ? '显示' : '隐藏' }}
{{ productRequiredDraft.values[field.id] ? '必填' : '选填' }}
{{ field.requiredLocked ? `系统锁定:${field.requiredLockReason}` : field.requiredConfigurable ? (field.visible ? '可由总账号修改' : '当前隐藏;需先显示才能设为必填') : field.requiredLockReason }}
保存 {{ changedProductRequiredFields.length ? `${changedProductRequiredFields.length} 项变化` : '必填规则' }}恢复系统默认必填规则恢复只影响本板块,不修改产品数据、字段显示、其他设置或账号偏好。
公司与外贸单据
统一维护 PI、PL 使用的发货方、银行账户、贸易条款和签章。
单
覆盖单据PI / PL
资料范围公司、收款、条款、签章
管理外贸单据资料
业务提醒规则
设置询盘、报价、采购和订单节点的超时或提前提醒。
醒
新询盘未处理{{ state.reminderSettings.inquiryUnprocessedHours }} 小时
报价后未跟进{{ state.reminderSettings.quoteNoFollowupDays }} 天
订单交期提醒提前 {{ state.reminderSettings.orderDueDays }} 天
调整提醒时间
智能背调
模型选择和接口配置统一在“AI工作台 → 接口配置”维护。
调
背调状态{{ !can('research','view') ? '无智能背调权限' : researchServer.status === 'unavailable' ? '连接异常' : research.capability.qualified ? '可用' : !research.capability.configured ? '未配置' : research.capability.message || '未启用或尚未通过最小测试' }}
管理入口AI工作台
外部渠道
公司渠道用于已有开发与平台会话;个人“孚盟邮”独立绑定本人邮箱,两个配置源互不代替。此页不发消息。
渠
公司邮件渠道{{ outreach.email.configured ? (outreach.email.providerName || '已配置') : '尚未配置' }} · {{ outreach.email.mode === 'real' ? '真实发送已启用' : '模拟模式' }}
邮件设置WhatsApp{{ settingsChannelSummary('whatsapp') }}
管理 WhatsAppMeta{{ settingsChannelSummary('meta') }}
管理 Facebook / Instagram
孚盟设置对照与未接通项目
当前规则:{{ poolRuleSummary }}。存在进行中业务或被总账号保护的客户不会自动转入。
查看最近公海审计记录({{ poolEvents.length }})
{{ formatPoolTime(row.createdAt) }}
{{ customerName(row.customerId) }}
{{ poolEventTypeLabel(row.type) }}
{{ ownerName(row.previousOwnerId) }}
{{ ownerName(row.newOwnerId) }}
♻
回收站中的数据可恢复彻底删除后无法找回,请谨慎操作。
⌕
共 {{ visiblePurchases.length }} 条采购任务
☰ 显示产品分类
⌕
{{ productFilterTitle }} · 共 {{ visibleProducts.length }} 个产品 · 已选择 {{ selectedProductIds.length }} 项 清除
重置产品行高
saveMainTableColumnWidth('products',newWidth,oldWidth,column)">
{{ productListImages(row)[0] ? '图片不可用' : '无图' }}
{{ row.sku }}
{{ row.name || '—' }}
{{ oem }}—
{{ row.automotiveBrand || '—' }}
{{ row.vehicleZh || '—' }}
{{ row.vehicle || '—' }}
{{ row.modelYear || '—' }}
{{ row.productSpecification || '—' }}
{{ productCategoryLabel(row) }}
{{ row.status }}
{{ formatConfiguredFieldValue(row.customFields?.[column.fieldId],column.type) }}
{{ row.profile?.[key] ?? '—' }}
{{row.profile?.purchasePrice ?? '—'}} {{row.profile?.purchaseCurrency||''}}
详情
编辑
删除
{{ row.name || '—' }}{{ [row.contact,row.phone,row.email].filter(Boolean).join(' · ') }}同名资料待管理员确认
{{ row.productCount }} 个
查看修改名称
当前模型{{ research.capability.model || '未配置' }}
接口连通{{ research.capability.configured ? '可连接' : '不可用' }}
最近最小测试{{ researchMinimalStatusText }}{{ research.capability.minimalTest?.testedAt ? formatResearchDate(research.capability.minimalTest.testedAt) : '尚无记录' }}
具体原因{{ research.capability.minimalTest?.message || research.capability.message || researchServer.error || '服务状态尚未读取' }}
进行最小测试
{{ item.label }}{{ item.value }}{{ item.note }}
⌕
查询
{{ row.displayName }}{{ researchClueSummary(row) }}
{{ researchTargetLabel(row.targetType) }}
{{ researchDisplayStatus(row) }}{{ row.activeRun.queue?.position ? `队列第 ${row.activeRun.queue.position} 位` : formatResearchDuration(row.activeRun) }}
{{ formatResearchDate((row.activeRun || row.latestRun).startedAt || (row.activeRun || row.latestRun).queuedAt) }}—
第 {{ row.latestReport.versionNumber }} 版尚无报告
{{ ownerName(row.ownerId) }}
{{ formatResearchDate(row.updatedAt) }}
详情
{{ row.activeRun ? '已有任务' : row.latestReport ? '重新背调' : '执行背调' }}
编辑
删除
扫码连接状态
刷新账号配置
本轮仅隔离验证,默认停用。模拟二维码不能登录真实 WhatsApp;真实启用仍待独立审批。
{{row.name}}{{row.connector?.state || 'not_connected'}} · {{row.connector?.enabled ? '已启用隔离连接' : '停用'}}扫码管理
{{communicationBoard.simulation?'隔离模拟,禁止使用真实手机扫码':'第三方扫码连接'}} · {{communicationBoard.connectionState}}
没有本次真实连接批准,不能切换真实模式。
连接时同步平台可提供的历史(仅展示,不自动回复)
有效至 {{new Date(communicationBoard.qrExpires).toLocaleTimeString()}};过期请刷新
连接刷新二维码/状态
完成模拟扫码
断开退出并清除该账号扫码凭据
扫码营销任务快照
先保存草稿,再明确执行。模板和接收会话锁定,未知结果不重发。
保存营销草稿定时任务约每15秒检查一次;须保持连接及确认人登录有效。服务重启或失去权限后暂停,不自动恢复。
{{row.snapshot.scheduledAt ? new Date(row.snapshot.scheduledAt).toLocaleString() : '立即执行'}}确认执行取消任务刷新任务状态
人工接管当前会话恢复当前会话自动回复接管后持续暂停自动回复;恢复仅影响新来信。已提交的消息不能追回。
{{outreachConversation.mediaFile.name}}(待点击发送)移除附件
查看当前会话附件附件未经过病毒扫描,仅以二进制文件下载,不会在页面内执行。打开前请自行检查。
{{file.mime}} · {{file.size}} 字节下载附件
生成已保存配置的嵌入链接仅生成公开号码和默认消息,不包含 ERP 身份或密钥;不会发布到网站。
{{day}}
仅新来信匹配关键词并等待人工处理后执行;历史同步不触发回复。模板更改后需重新保存规则。
{{ row.company }}{{ row.website || row.country || '未填写地区' }}
{{ row.contactName || '未填写' }}{{ row.jobTitle }}
{{ row.email || '无邮箱' }}WhatsApp:{{ row.whatsapp || '未填写' }}
{{ row.status }}
{{ ownerName(row.ownerId) }}
会话背调编辑转为客户删除
{{ step.position + 1 }}. {{ outreachChannelLabel(step.channel) }} / {{ step.delayDays }}天后
{{ row.recipients.length }} 人{{ row.status }}
启动暂停取消
{{ outreachChannelLabel(row.channel) }}编辑删除
扫码账号与分配
开发阶段仅显示隔离账号;真实手机扫码和凭据保护由服务端权限控制。
+ 添加账号 编辑分配连接设置
营销历史
按服务端保存的准确消息状态查看,未知回执保持未知。
网站 WhatsApp 联系按钮
本地预览并生成可嵌入链接,不会发布到外部网站。
本地预览{{ communicationBoard.component.buttonText || 'WhatsApp 联系我们' }}预览链接:{{ communicationBoard.component.accountId ? '服务端已选账号,公开发布仍关闭' : '请先选择接待账号' }}
保存服务端配置
关键词自动回复
默认关闭;人工接管、账号失效和关闭后由服务端再次判断。
保存自动回复规则
{{ outreachChannelLabel(row.channel) }}{{ outreachPlatformAccountName(row.platformAccountId) }}
{{ row.fullName || row.company || '未填写姓名' }}{{ row.company || '未填写公司' }}
{{ row.email || '无邮箱' }}{{ row.phone || '无电话' }}
{{ row.matchStatus==='matched'?'已匹配':'待认领' }}
{{ formatOutreachTimestamp(row.receivedAt) }}
查看潜客
{{ isUnmatchedEmailFolder?'未匹配邮件':'客户会话' }}{{ isUnmatchedEmailFolder?`${filteredUnmatchedEmails.length} 封待处理`: `${filteredOutreachConversations.length} 个联系人` }}
⌕
未匹配回信{{ selectedUnmatchedEmail.subject || '主题尚未读取' }}发件人:{{ selectedUnmatchedEmail.fromEmail || '尚未读取' }}
收到时间{{ formatOutreachTimestamp(selectedUnmatchedEmail.receivedAt) }}IMAP UID {{ selectedUnmatchedEmail.imapUid }}
{{ selectedUnmatchedEmail.content || '邮件正文尚未读取' }}
关联到客户确认后,这封邮件会进入所选客户的收件箱;原企业邮箱邮件不会被移动或删除。
潜在客户正式客户
重新读取未匹配邮件确认关联
{{ activeOutreachConversation.contactName || activeOutreachConversation.company }}{{ activeOutreachConversation.company }} · {{ activeOutreachConversation.country || '国家未填写' }}
客户当地时间{{ outreachCustomerLocalTime }}{{ activeOutreachConversation.timezone }}
账号:{{ selectedOutreachPlatformAccount?.identifier }}
{{ outreachSendModeText }}{{ outreachSendButtonText }}
测试:模拟客户发来消息
模拟收到回复
{{ outreachChannelLabel(row.channel) }}解除
⌕
共 {{ trackingCustomers.length }} 个客户档案
⌕
搜索
清空
高级筛选
共 {{ customerList.total }} 条
重新加载
saveMainTableColumnWidth('customers',newWidth,oldWidth,column)">
全部客户
{{ level.value }} · {{ level.label }}
{{ row.customerNo || '—' }}
{{ initials(row.shortName || row.company) }}{{ row.shortName || row.company }} 业务保护{{ row.company }}{{ row.contactName || '暂无联系人' }} · 共{{ row.contacts.length }}位联系人
{{ row.country || '—' }}
{{ row.source || '—' }}
{{ row.website }}—
{{ row.stage }}
{{ row.level }}
{{ ownerName(row.ownerId) }}
{{ row.lastFollowup || '尚未跟进' }}
{{ formatConfiguredFieldValue(row.customFields?.[column.fieldId],column.type) }}
详情
跟踪
背调
编辑
放入公海
{{ row.poolProtected ? '取消保护' : '业务保护' }}
删除
saveMainTableColumnWidth('pool',newWidth,oldWidth,column)">
{{ initials(row.company) }}{{ row.company }}{{ row.source }}
{{ ownerName(row.previousOwnerId) }}
{{ formatPoolTime(row.poolDate) }}
{{ row[column.key] || '—' }}
详情
领取
采购询价
这里只显示销售指派给当前采购账号的供应商询价任务;客户售价、利润和客户联系方式不会展示。
新建询价刷新任务
{{ row.rfqNo }}来源 {{ supplierRfqQuoteNo(row) }}
{{ ownerName(row.ownerId) }}
{{ row.itemCount || row.items?.length || 0 }} 项
{{ row.submittedTaskCount || 0 }} / {{ row.taskCount || 0 }}已回执 / 已生成供应商任务
{{ procurementRfqStatusLabel(row) }}
{{ formatSupplierRfqDate(row.updatedAt || row.createdAt) }}
处理询价删除任务
历史待跟进逾期
saveMainTableColumnWidth('followups',newWidth,oldWidth,column)">
{{ customerName(row.customerId) }}
{{ methodIcon(row.method) }} {{ row.method }}
{{ ownerName(row.ownerId) }}
{{ row[column.key] || '—' }}
详情
编辑
删除
saveMainTableColumnWidth('quotations',newWidth,oldWidth,column)">
{{ row.quoteNo }}
{{ quoteCustomerCompany(row) }}
{{ quoteProductSummary(row) }}{{ quoteLineCount(row) }} 项产品
{{ money(quoteAmount(row),row.currency) }}
{{ row.validUntil || '—' }}
{{ row.status }}
{{ ownerName(row.ownerId) }}
{{ formatConfiguredFieldValue(row.customFields?.[column.fieldId],column.type) }}
详情
客户版
让采购询价
确认成交
已成交
编辑
删除
saveMainTableColumnWidth('purchases',newWidth,oldWidth,column)">
{{ row.purchaseNo }}
{{ purchaseSupplierSummary(row) }}{{ purchaseSupplierGroups(row).length }} 家供应商 · {{ row.lines.length }} 项产品
{{ purchaseAmountSummary(row) }}
{{ row.signDate }}交货:{{ row.deliveryDate || '未填写' }}
{{ purchaseProgress(row).received }} / {{ purchaseProgress(row).total }}
{{ row.status }}
{{ ownerName(row.ownerId) }}
{{ formatConfiguredFieldValue(row.customFields?.[column.fieldId],column) }}
详情
采购合同
编辑
提交
批准驳回
登记到货
取消
删除
saveMainTableColumnWidth('tracking',newWidth,oldWidth,column)">
{{ initials(row.company) }}{{ row.company }}{{ row.source }} · {{ row.country }}
{{ row.stage }}
{{ row.transactionCount }}
{{ ownerName(row.ownerId) }}
{{ row[column.key] ?? '—' }}
查看轨迹
saveMainTableColumnWidth('orders',newWidth,oldWidth,column)">
{{ row.orderNo }}
{{ row.autoGenerated ? '报价成交' : row.documentState === 'draft' ? '订单草稿' : row.documentState === 'legacy' ? '历史订单' : '手工订单' }}
{{ orderCustomerName(row) }}
{{ money(row.amount,row.currency) }}
{{ row.status }}
{{ ownerName(row.ownerId) }}
{{ formatConfiguredFieldValue(row.customFields?.[column.fieldId],column.type) }}
{{ row[column.key] || '—' }}
详情
出库 / 履约
销售合同
编辑
删除
saveMainTableColumnWidth('recycle',newWidth,oldWidth,column)">
{{ row.label }}{{ moduleLabel(row.type) }}
{{ ownerName(row.deletedBy) }}
{{ row.deletedAt || '—' }}
恢复
彻底删除
{{ crm.form.company }}
{{ crm.form[field.key] || '—' }}
主要联系人
{{ crm.form[field.key] || '—' }}
进入所属客户编辑保存关闭
当前 {{ desktopUpdate.currentVersion || '—' }}→新版 {{ desktopUpdate.availableVersion || '检查中' }}
更新说明{{ desktopUpdate.releaseNotes }}
{{ formatDesktopUpdateBytes(desktopUpdate.transferred) }} / {{ formatDesktopUpdateBytes(desktopUpdate.total) }}
本地隔离模拟只验证更新状态机和 SHA-512 完整性;未使用正式代码签名材料,也不会安装正式软件。
正式更新文件只写入专用缓存,并由 HTTPS、SHA-512 与 Windows 发布者签名共同校验;失败不会清除账号密文、个人设置、附件或业务数据。
稍后提醒立即下载取消下载重试下载稍后退出时更新立即重启更新继续使用
查询 / 刷新
增加自有仓库
按产品与仓库记账,多 OEM 共用库存。未核对的数量显示“未初始化”;期初填写开始本账本前的核对数,已登记的新到货另行累加。旧产品数量仅供核对,不自动导入。
未初始化{{ row.quantity }} 本账本新增 {{ row.pendingQuantity }}
低库存 ≤ {{ row.threshold }}阈值 {{ row.threshold }}
核对期初盘点调拨阈值
请从采购管理的“登记到货”或订单管理的“出库 / 履约”进入。退货在“库存流水”选择实际入库或出库记录。
{{ inventory.source.number }} · {{ inventory.source.status }} · 本次{{ inventory.sourceType==='purchase'?'入':'出' }}库至 {{ inventoryWarehouse(inventory.warehouseId) }}
{{ inventory.sourceType==='purchase'?row.receivedQty:row.fulfilled }}
{{ Math.max(0,Math.round((row.quantity-(inventory.sourceType==='purchase'?row.receivedQty:row.fulfilled))*1000000)/1000000) }}
确认实际{{ inventory.sourceType==='purchase'?'收货':'发货' }}
按日期查询
显示当前权限范围的流水;数量不含财务成本。已确认流水永久保留,退货和反向更正追加关联记录。
{{ entry.sku }} {{ entry.name }}{{ inventoryWarehouse(entry.warehouse_id) }}:{{ entry.before }} → {{ entry.after }}({{ entry.delta_units/1000000 }}){{ entry.initialized?'':'期初尚未接续' }}来源行 {{ entry.line_id || '—' }} · 关联流水 {{ entry.related_entry_id || '—' }}
{{ inventoryKind(row.kind) }}
来源履约退货反向更正
{{ inventory.form.sku }} {{ inventory.form.name }}
盘点前数量 {{ inventory.form.before }}。确认时会检查库存是否发生变化。
核对并保存
{{ photo.name }}{{ Math.max(1, Math.round((photo.size || 0) / 1024)) }}KB
移除
![]()
{{ card.name }}{{ Math.max(1, Math.round((card.size || 0) / 1024)) }}KB
移除
已保存的截图跟进删除单条记录后可在回收站恢复,不会保存客户资料或待保存截图。
刷新已保存记录
{{ item.content }}
上传人:{{ item.creatorName }} · 保存时间:{{ customerFollowupDate(item.createdAt) }}
删除这条跟进
新增截图跟进跟进单独保存,不会提交上方尚未保存的客户资料。
点击这里,按 Ctrl+V 粘贴聊天截图(可连续粘贴多张)每次 1–8 张 JPG / PNG / WEBP,单张 5MB,总计 15MB;长图可分段粘贴。
移除
保存跟进
询价产品({{ (recordDialog.form.items || []).length }} 项)可从产品库批量选择,或直接粘贴 Excel 内容;同一产品重复添加时自动合并数量。
从产品库选择Excel 粘贴导入
{{ [row.sku, row.name].filter(Boolean).join(' · ') || '待确认产品' }}{{ [row.vehicle, row.year].filter(Boolean).join(' · ') }}待确认
移除
订单产品({{ (recordDialog.form.lines || []).length }} 项)可从产品库批量添加;尚未录入产品库的产品可先作为“未关联”行保存草稿,正式保存前需逐行手动绑定。
从产品库选择添加未关联产品
{{ row.productId ? '已关联' : '未关联' }}
{{ money(orderLineAmount(row), recordDialog.form.currency) }}
{{ row.productId ? '重新绑定' : '绑定产品' }}↑↓移除
订单总额{{ money(orderFormTotal, recordDialog.form.currency) }}
取消
保存历史订单
保存草稿保存订单
保存
保存并去报价
拖动排序字段名称类型必填显示操作
↑↓
{{ row.label }}{{ row.kind === 'system' ? '系统核心' : '自定义' }}
{{ customerFieldTypeLabel(row.type) }}{{ row.required ? '是' : '否' }}
{{ row.kind === 'system' ? '修改显示名' : '编辑' }}删除不可删除
关闭
必填字段立即显示
取消保存
拖动排序字段名称类型必填显示操作
↑↓
{{ row.label }}{{ row.kind === 'system' ? '系统核心' : '自定义' }}
{{ customerFieldTypeLabel(row.type) }}{{ row.required ? '是' : '否' }}
{{ row.kind === 'system' ? '修改显示名' : '编辑' }}删除不可删除
关闭
必填字段立即显示
取消保存
拖动排序字段名称类型必填显示操作
↑↓
{{ row.label }}{{ row.kind === 'system' ? '系统核心' : '自定义' }}
{{ customerFieldTypeLabel(row.type) }}{{ row.required ? '是' : '否' }}
{{ row.kind === 'system' ? '修改显示名' : '编辑' }}删除不可删除
关闭
必填字段立即显示
取消保存
拖动排序字段名称类型必填显示操作
↑↓
{{ row.label }}{{ row.kind === 'system' ? '系统核心' : '自定义' }}
{{ customerFieldTypeLabel(row.type) }}{{ row.required ? '是' : '否' }}
{{ row.kind === 'system' ? '修改显示名' : '编辑' }}删除{{ row.visibilityLocked ? '必显 · 不可删除' : '不可删除' }}
关闭
必填字段立即显示
取消保存
拖动排序字段名称类型必填显示操作
↑↓
{{ row.label }}{{ row.kind === 'system' ? '系统核心' : '自定义' }}
{{ customerFieldTypeLabel(row.type) }}{{ row.required ? '是' : '否' }}
{{ row.kind === 'system' ? '修改显示名' : '编辑' }}删除{{ row.visibilityLocked ? '必显 · 不可删除' : '不可删除' }}
关闭
必填字段立即显示
取消保存
产品基本信息产品本身的档案资料
{{ item.value ?? '—' }}
产品图片点击图片查看完整大图
正式产品图
厂家图
供应商对比一家供应商一行,可左右滚动对比采购资料
调整字段顺序
{{ row.name || '未命名供应商' }}
{{ supplierDetailValue(row, column.key) }}
客户名片客户资料中保存的名片正反面
{{ card.name }}
客户照片客户资料中保存的照片
{{ photo.name }}
{{ item.value || '—' }}
往来与附件
跟进与关联单据({{ customerFollowup.total }})刷新
{{ item.title }}{{ item.kind === 'screenshot' ? '人工截图' : item.kind === 'legacy' ? '历史人工记录' : item.kind === 'system' ? '系统业务事件' : (item.label || '关联单据') }}
{{ item.kind === 'screenshot' ? '保存时间:' : '业务时间:' }}{{ customerFollowupDate(item.date) }} · {{ item.status }} · 上传人:{{ item.creatorName }}
{{ item.content }}
原记录编号:{{ item.number }}
目标单价:{{ money(item.targetUnitPrice, item.currency) }}
{{ money(item.amount, item.currency) }}
查看单据
{{ item.value || '—' }}
订单产品({{ detailDialog.orderLines.length }} 项){{ detailDialog.orderState === 'legacy' ? '历史兼容订单未强制补录产品明细。' : '显示订单保存时的产品快照,产品库后续修改不会改写这里。' }}
{{ row.productId ? '已关联' : '未关联' }}
{{ [row.sku,row.name].filter(Boolean).join(' · ') || '—' }}
{{ (row.oemNumbers || []).join(' / ') || '—' }}
{{ [row.vehicle,row.productSpecification].filter(Boolean).join(' · ') || '—' }}
{{ money(row.unitPrice, detailDialog.orderCurrency) }}
{{ money(row.lineAmount, detailDialog.orderCurrency) }}
{{ item.value || '—' }}
查看 / 生成采购合同
![]()
图片暂时无法显示,请关闭后稍后再试。
{{ orderDialog.type === 'navigationOrder' ? '公司统一菜单' : ['menu','customerMenu'].includes(orderDialog.type) ? '公司统一顺序' : '仅影响当前账号' }}
{{ orderDialog.type === 'navigationOrder' ? '总账号调整一、二级菜单顺序和显示状态;隐藏不会删除业务,也不会绕过权限。' : ['menu','customerMenu'].includes(orderDialog.type) ? '总账号保存后统一调整所有账号的菜单顺序;员工仍只显示权限内的菜单。' : orderDialog.tableKey ? '可调整字段顺序和显示状态;也可在表头拖动边界调整宽度。勾选、序号和操作列保持固定。' : '供应商名称固定在第一列,以下字段顺序只保存到我的账号。' }}
{{ index + 1 }}
{{ item.label }}
上移
下移
恢复默认宽度
{{ orderDialog.tableKey || orderDialog.type === 'navigationOrder' ? '恢复默认排序和显示' : '恢复默认顺序' }}
取消
保存
下载客户导入模板
{{ customerImportDialog.fileName || '尚未选择文件' }}
下载全部预检
A|1个月内预计成交B|1个半月内预计成交C|2个月内预计成交D|无效客户客户全称、客户简称、国家/地区为必填项;模板最多支持5位联系人。
数据行{{ customerImportDialog.preview.total }}
可导入{{ customerImportDialog.preview.ready }}
待复核{{ customerImportDialog.preview.review }}
错误{{ customerImportDialog.preview.errors }}
包含待复核客户;导入前逐项核查全部名称、网站和邮箱风险
{{ customerImportSourceRow(row).company || '未填写' }}
{{ customerImportSourceRow(row).shortName || '未填写' }}
{{ customerImportSourceRow(row).level || '—' }}
{{ (customerImportSourceRow(row).contacts || []).length }}
{{ customerImportStatusText(row.status) }}
取消确认导入可用数据
按左侧菜单逐页授权;关联资料仍受原有数据范围和敏感信息权限限制。
{{ mod.label }}{{ mod.notice }}
真实社媒发布(当前无接口)
永久删除知识
批量导入客户
批量导入产品信息和供应商报价
管理供应商询价
查看供应商报价
entry.action==='view'&&permissionViewChanged(mod,value)">{{ batchActionLabel(entry.action) }}
取消保存账号
先选择子账号,再逐项选择“允许/禁止/保持不变”。操作权限需要同模块的查看权限;客户数据仍按原有负责人和公海规则限制。
{{ account.name }}(@{{ account.username }})
{{ mod.label }}{{ mod.notice }}
保存前预览:{{ batchPermissionDialog.preview.changed }} 个账号有变化
{{ account.name }}:无变化- {{ permissionModules.find(mod=>mod.key===change.module)?.label || change.module }} · {{ batchActionLabel(change.action) }}:{{ change.before?'允许':'禁止' }} → {{ change.after?'允许':'禁止' }}
取消预览变化保存批量权限
表单潜客正式客户潜在客户
广告表单及已有线索可只填写姓名、邮箱或电话;信息越完整,排除同名对象的准确率越高
取消保存背调任务
任务状态{{ researchDisplayStatus(researchDetail.task) }}开始时间{{ formatResearchDate((researchDetail.task.activeRun || researchDetail.task.latestRun)?.startedAt || (researchDetail.task.activeRun || researchDetail.task.latestRun)?.queuedAt) }}排队 / 运行时长{{ formatResearchDuration(researchDetail.task.activeRun || researchDetail.task.latestRun) }}报告版本{{ researchDetail.task.versions.length }} 个
最近一次执行记录{{ researchDetail.task.latestAttempt.provider }} · {{ researchDetail.task.latestAttempt.model || '模型待确认' }} · {{ formatResearchDate(researchDetail.task.latestAttempt.startedAt) }}
{{ researchDetail.task.latestAttempt.status }}
{{ researchDetail.task.latestAttempt.errorMessage }}
{{ item.order }}. {{ item.query }}
版本变化当前第 {{ selectedResearchVersion.versionNumber }} 版与第 {{ previousResearchVersion.versionNumber }} 版逐项比较
{{ researchComparison.length }} 项变化
{{ item.label }}
执行摘要 · 身份状态 {{ selectedResearchVersion.report.identityStatus || '待核实' }} · 可信度 {{ selectedResearchVersion.report.confidence }}{{ selectedResearchVersion.report.executiveSummary }}
潜客身份匹配
{{ selectedResearchVersion.report.identityStatus || '待核实' }}
{{ item.name || item.company || '候选身份' }}匹配度 {{ item.confidence }}{{ [item.jobTitle,item.company,item.country].filter(Boolean).join(' · ') || '公司及职位待核实' }}
{{ [item.email,item.phone].filter(Boolean).join(' · ') }}{{ item.social }}{{ (item.sourceIds || []).length }} 个证据来源,请在下方逐一复核
关联公司与登记资料
{{ item.relationship || '与潜客关系待核实' }}
- 注册号
- {{ item.registrationNumber || '待核实' }}
- 注册日期
- {{ item.registrationDate || '待核实' }}
- 经营状态
- {{ item.operatingStatus || '待核实' }}
- 董事
- {{ (item.directors || []).join('、') || '待核实' }}
- 地址
- {{ item.address || '待核实' }}
- 邮寄地址
- {{ item.postalAddress || '待核实' }}
- VAT
- {{ item.vatNumber || '待核实' }}
- 网站
- {{ item.website || '未找到' }}
{{ item.description }}
身份匹配证据链
- {{ index + 1 }}
{{ item.clue }} → {{ item.matchedFact || '未匹配' }}{{ item.conclusion }}
标准化线索:{{ item.normalizedClue || '—' }} · 可信度 {{ item.confidence }} · {{ (item.sourceIds || []).length }} 个来源
冲突与待核实事项
公司概况
- {{ item[0] }}
- {{ item[1] || '待核实' }}
{{ selectedResearchVersion.report.companyProfile.description || '暂无补充说明' }}
产品与业务
- {{ item.name }}{{ item.detail }}
市场区域
- {{ item.name }}{{ item.detail }}
采购信号
- {{ item.title }}{{ item.date }} {{ item.detail }}
联系人
社媒账号
风险提示
客户开发建议
优先级{{ selectedResearchVersion.report.developmentAdvice.priority || '待评估' }}推荐产品{{ selectedResearchVersion.report.developmentAdvice.recommendedProducts.join('、') || '待分析' }}
{{ selectedResearchVersion.report.developmentAdvice.approach }}
{{ selectedResearchVersion.report.developmentAdvice.openingMessage }}
- {{ item }}
信息来源与原文
系统直接保留联网搜索返回的网址,供业务员人工确认是否与当前潜客属于同一对象。
- {{ source.title }}{{ source.publisher }} · {{ source.publishedAt }}
{{ source.originalText }}
联网检索审计完整保存系统生成的搜索计划、实际工具调用、来源数量和失败原因;用于解释为什么两次背调结果不同。
{{ (selectedResearchVersion.rawMeta?.searchAudit || []).length }} 次工具动作
{{ item.type }} · {{ item.normalized }}{{ item.inference }}搜索变体:{{ (item.variants || []).join('、') }}
{{ row.actionType }}{{ (row.queries || []).join(';') || row.targetUrl || row.pattern || '接口未返回具体搜索词' }}{{ row.status }}{{ row.resultCount || 0 }}{{ row.failureReason || '—' }}
{{ item.order }}. {{ item.query }}旧版报告没有检索审计数据
说明:背调报告基于公开信息与已录入线索生成,可能存在遗漏、过期或同名误判。用于业务判断前,请通过来源链接进行人工复核。
取消保存
下载固定模板{{ outreachImportDialog.fileName || '尚未选择文件' }}
{{ row.value.company || '未填写' }}{{ row.value.email || row.value.whatsapp || '未填写' }}{{ row.error }}重复:{{ row.duplicateCompany }}可导入
取消导入可用数据
取消加入开发名单
允许其他有权限的账号使用可用变量:{{company}} 公司、{{contact}} 联系人、{{country}} 国家、{{product}} 目标产品、{{owner}} 负责人、{{signature}} 签名
取消保存模板
开发步骤第1步立即进入队列,后续步骤按上一封发送后的天数计算。
+ 添加步骤
第 {{ index+1 }} 步天后移除
取消保存为草稿
取消保存账号
模拟发送真实发送
必须先保存完整配置并通过 Meta 连接测试,才能开启真实发送。
删除Access Token删除App Secret删除Verify Token
保存并测试连接
验证名称:{{ whatsappSettingsDialog.settings.providerStatus.verifiedName || '未返回' }}号码:{{ whatsappSettingsDialog.settings.providerStatus.displayPhoneNumber || '未返回' }}质量状态:{{ whatsappSettingsDialog.settings.providerStatus.qualityRating || '未返回' }}号码ID:{{ whatsappSettingsDialog.settings.providerStatus.id }}
关闭保存设置
本地模拟真实接口
必须保存完整配置并通过Meta连接测试,才能开启真实接口。
删除Access Token删除App Secret删除Verify Token
保存并测试连接模拟收到私信模拟广告线索
平台:{{ outreachChannelLabel(metaSettingsDialog.settings.channel) }}名称:{{ metaSettingsDialog.settings.providerStatus.name || metaSettingsDialog.settings.providerStatus.username || '未返回' }}ID:{{ metaSettingsDialog.settings.providerStatus.id }}
关闭保存设置
取消确认禁止联系
发送模式模板、名单和限制确认完成前请保留模拟模式。
{{ emailSettingsDialog.form.mode==='real'?'真实发送':'模拟发送' }}
模拟发送真实发送
保存当前渠道配置并成功发送测试邮件后,才可以开启真实发送。
安全限额系统逐人投递;达到限额后自动延后,不会绕过限制。
保存并发送1封测试邮件立即同步回复
平台域名:{{ emailSettingsDialog.settings.providerStatus.sendingDomain }}信誉度:{{ emailSettingsDialog.settings.providerStatus.reputation || '未返回' }}今日额度:{{ emailSettingsDialog.settings.providerStatus.todayUsedQuota || 0 }} / {{ emailSettingsDialog.settings.providerStatus.quota || '未返回' }}打开追踪:{{ emailSettingsDialog.settings.providerStatus.openTracking?'已开启(首封建议关闭)':'关闭' }}点击追踪:{{ emailSettingsDialog.settings.providerStatus.clickTracking?'已开启(首封建议关闭)':'关闭' }}退订:{{ emailSettingsDialog.settings.providerStatus.unsubscribeTracking?'已开启':'未开启' }}
SMTP:{{ emailSettingsDialog.settings.providerStatus.smtpHost }}:{{ emailSettingsDialog.settings.providerStatus.smtpPort }}IMAP:{{ emailSettingsDialog.settings.providerStatus.imapHost }}:{{ emailSettingsDialog.settings.providerStatus.imapPort }}收件箱模式:{{ emailSettingsDialog.settings.providerStatus.imapReadOnly?'只读':'未确认' }}
关闭保存设置
两级汽车配件分类只有总账号可以维护。已保存的编号作为分类身份固定不变,名称和状态可以调整。
+ 新增大类
关联产品{{ categoryUsageCount(category.code) }}
移除大类
小类明细({{ category.children.length }} 项)+ 新增小类
{{ categoryUsageCount(category.code,row.code) }}
编号固定移除
取消保存分类
重复产品不会自动合并。请确认新的产品编号后,再把原始记录转为正式产品。
{{ (row.source?.oemNumbers || []).join(' / ') || '—' }}
{{ row.source?.vehicle || '—' }}
转为正式产品
关闭
新增商品更新已有商品
按稳定自编号匹配。更新中的空白不覆盖已有值;所有错误修正后才整批写入。
下载{{ productImportDialog.kind === 'products' ? '产品信息' : '供应商' }}模板
单次最多 10000 行;Excel 内嵌图片本次不导入
已选择 {{ productImportDialog.selectedRowNumbers.length }} 行
全选当前筛选
批量设为含税
批量设为含运费
批量设为未知
清除选择
{{ row.rowNumber || '—' }}
{{ row.supplierCode || '自动匹配/新建' }}
{{ importActionLabel(row.action) }}
取消确认整批导入
取消{{ supplierMasterDialog.isEdit ? '保存名称' : '新建供应商' }}
取消核对并修改编号
刷新预览
{{ row.safeToConsolidate ? '可安全整组处理' : '已暂停,需管理员确认' }} · {{ row.fieldConflictCount }} 个字段冲突 · {{ row.relationshipConflictCount }} 个产品保留多条关系
{{ row.safeToConsolidate ? '预览整组处理' : '处理冲突' }}
近似名称人工确认(可选)
只有管理员确认这些不同名称确属同一家公司时才可整理;系统不会自动推荐或自动合并近似名称。
搜索预览已选 {{ supplierMergeDialog.selectedIds.length }} 条
{{ row.productCount }} 个
← 返回同名组{{ supplierMergeDialog.preview.recommendationReason }}
同名来源记录{{ supplierMergeDialog.preview.candidateCount }} 条
关联产品{{ supplierMergeDialog.preview.distinctProductCount }} 个
最终名称{{ supplierMergeFinalValue('name') }}
剩余冲突{{ supplierMergeDialog.preview.conflicts.filter(item => !supplierMergeDialog.fieldSelections[item.key]).length }} 项
{{ supplierMergeDialog.preview.safeToConsolidate ? '系统已稳定选择保留记录' : '请选择保留记录' }}
当前显示来源 {{ supplierMergeDialog.preview.sourcePage.rangeStart }}-{{ supplierMergeDialog.preview.sourcePage.rangeEnd }},确认仍作用于整组 {{ supplierMergeDialog.preview.sourcePage.total }} 条
选择 {{ row.code }}
{{ row.completenessScore }} 项
{{ row.productCount }} 条
建议保留—
只处理真实字段冲突
{{ supplierMergeConflictValues(row) }}
共 {{ supplierMergeDialog.preview.productPage.total }} 个,当前 {{ supplierMergeDialog.preview.productPage.rangeStart }}-{{ supplierMergeDialog.preview.productPage.rangeEnd }}
同一产品的多条关系({{ supplierMergeDialog.preview.relationshipConflictCount }} 个产品,全部保留)
关闭{{ supplierMergeDialog.preview.wholeExactNameGroup ? '确认整理整个同名组' : '确认人工整理所选记录' }}
{{ productDialog.isEdit ? '编辑产品 · 自编号:' + (productDialog.form.sku || '未填写') : '新建产品' }}
商品主档主档、展示资料与供货关系分别保存。
自定义字段由产品字段模板统一配置,隐藏或删除字段不会清除历史值。
系统供货设置用于报价和采购计算,不改变上面的商品模板字段。
供应商方案同一产品可以维护多家供应商及各自价格、含税运情况和交期
未找到,手工新增供货关系
供应商 {{ index + 1 }}移除
含税
含运费
未知
取消保存产品
{{ purchaseDialog.form.status }}
{{ $index + 1 }}
{{ row.sku }}{{ row.name }}{{ row.categoryLabel || '历史产品' }}OEM:{{ (row.oemNumbers || []).join(' / ') || '—' }}工厂号码:{{ row.factoryNumber }}{{ row.vehicle }}
{{ row.supplierName || '未填写' }}{{ row.supplierContact || '暂无联系人' }}
{{ row.unit }}
{{ money(row.unitPrice,row.currency) }}
{{ money(purchaseLineAmount(row),row.currency) }}
{{ row.receivedQty || 0 }} / {{ row.quantity }}
{{ row.deliveryDate || purchaseDialog.form.deliveryDate || '—' }}
编辑替换↑↓移除
供应商付款安排每家供应商分别记录定金、尾款状态和付款日期
{{ purchaseDialog.form.payments.length }} 家供应商
{{ row.supplierName }}
{{ money(purchaseSupplierTotal(purchaseDialog.form,row),row.currency) }}
{{ money(purchaseDepositAmount(purchaseDialog.form,row),row.currency) }}
{{ money(purchaseBalanceAmount(purchaseDialog.form,row),row.currency) }}
取消保存采购任务
拖动排序字段名称类型必填显示操作
↑↓
{{ row.label }}{{ row.kind === 'system' ? `核心字段 · ${row.id}` : `自定义字段 · ${row.id}` }}
{{ customerFieldTypeLabel(row.type) }}
{{ row.required ? '是' : '否' }}
{{ row.kind === 'system' ? '修改显示名' : '编辑' }}删除{{ row.visibilityLocked ? '必显 · 不可删除' : '不可删除' }}
关闭
取消保存
手动选择每个产品添加一条明细,默认在该行保留全部 OEM,可按需要删选或清空。需要另一条明细时,再次选择该产品添加。按明确 OEM 批量匹配时仍一条输入一条明细。
批量匹配
普通空格、横杠、下划线、斜杠和点号不会被当作分隔符;未命中不会自动创建或转成临时产品。
{{ item.input }}重复输入,已保留,请检查{{ batchMatchStatusText(item.status) }}{{ item.candidates[0].sku }} · {{ item.candidates[0].name }}产品库无匹配项{{ candidate.sku }} · {{ candidate.name }}
⌕
仅显示启用产品 · 共 {{ orderProductPicker.total }} 个 · 当前页 {{ orderPickerProducts.length }} 个 · 将添加 {{ pickerDetailCount(orderProductPicker) }} 条明细
toggleOrderProductSelection(row,checked)">
{{ row.sku }}
主数据:{{ (row.oemNumbers || []).join(' / ') || '无' }}
{{ [row.vehicleZh,row.vehicle,row.productSpecification].filter(Boolean).join(' · ') || '—' }}
{{ productCategoryLabel(row) }}
取消{{ orderProductPicker.mode === 'bind' ? '确认绑定' : `添加明细(${pickerDetailCount(orderProductPicker)})` }}
手动选择每个产品添加一条明细,默认全部 OEM 合在该行,可删选或清空。需要另一条明细时,再次选择该产品添加。供应商可在添加后逐行调整。
批量匹配
普通空格、横杠、下划线、斜杠和点号不会被当作分隔符;未命中不会自动创建产品。
{{ item.input }}重复输入,已保留,请检查{{ batchMatchStatusText(item.status) }}{{ item.candidates[0].sku }} · {{ item.candidates[0].name }}产品库无匹配项{{ candidate.sku }} · {{ candidate.name }}
⌕
仅显示启用产品 · 共 {{ purchaseProductPicker.total }} 个 · 当前页 {{ purchasePickerProducts.length }} 个 · 将添加 {{ pickerDetailCount(purchaseProductPicker) }} 条明细;切换搜索、分类或页面不会丢失已选产品。
togglePurchaseProductSelection(row,checked)">
{{ row.sku }}
主数据:{{ (row.oemNumbers || []).join(' / ') || '无' }}
{{ productCategoryLabel(row) }}
{{ row.sourceType }}
{{ supplySummary(row) }}
取消添加明细({{ pickerDetailCount(purchaseProductPicker) }})
visible && searchPurchaseSuppliers('')" @change="onPurchaseSupplierChange(purchaseLineEditor.line)" data-testid="purchase-line-supplier-search">
可按供应商名称或编号精确/部分搜索;已合并旧编号会指向最终供应商。
只填写本次实际收到的数量。确认后系统会累计已到货数量,并自动增加关联产品的库存。
{{ row.sku }}
取消确认到货并更新库存
选择查看供应商
每次只显示一家供应商,避免泄露其他供应商信息。
供应商{{ selectedPurchasePreviewGroup.supplierName }}
联系人{{ selectedPurchasePreviewGroup.supplierContact || '—' }}
是否开票{{ purchasePreview.purchase.invoiceRequired ? '是' : '否' }}
| # | 产品编码 / 名称 | 车型 / 规格 | 数量 | 单位 | 采购单价 | 金额 |
| {{ index+1 }} | {{ line.sku }}{{ line.name }}OEM: {{ (line.oemNumbers || []).join(' / ') || '—' }}工厂号码: {{ line.factoryNumber }} | {{ line.vehicle || '—' }} | {{ line.quantity }} | {{ line.unit }} | {{ money(line.unitPrice,line.currency) }} | {{ money(purchaseLineAmount(line),line.currency) }} |
采购总额{{ money(selectedPurchasePreviewGroup.total,selectedPurchasePreviewGroup.currency) }}
定金({{ selectedPurchasePreviewPayment.depositRate }}%){{ money(purchaseDepositAmount(purchasePreview.purchase,selectedPurchasePreviewPayment),selectedPurchasePreviewPayment.currency) }}
尾款{{ money(purchaseBalanceAmount(purchasePreview.purchase,selectedPurchasePreviewPayment),selectedPurchasePreviewPayment.currency) }}
采购备注{{ purchasePreview.purchase.notes || '请按约定产品、数量和交期安排生产及交付。' }}
继续编辑 v{{ purchaseDocumentForSupplier.version }}
选择三套固定模板或自定义模板固定模板不会被直接修改;复制后才可保存为自定义模板。
{{ template.name }}{{ template.description }}{{ template.isFixed ? '固定模板' : `自定义 v${template.version}` }} · {{ template.status === 'inactive' ? '已停用' : '可用' }}
选择
{{ template.isFixed ? '预览' : '预览/编辑' }}
复制
{{ template.status === 'active' ? '停用' : '启用' }}
永久删除
PDF 使用本地字体与本地安全生成技术,文字、表格和线条保持矢量清晰;多页自动重复表头。系统不提供应用内打印或打印预览。
PDF 表头列名与宽度列宽单位 px,允许范围 35–240;超出范围将在保存时提示。
{{ purchasePdfDialog.document.content.summary.currency }} {{ Number(purchasePdfDialog.document.content.summary.total||0).toFixed(2) }}
关闭
生成文档
有未保存修改保存文档版本下载PDF
{{ purchaseTemplateDialog.preview.headerTitle }}
{{ purchaseTemplateDialog.preview.title }}
{{ purchaseTemplateDialog.preview.headerSubtitle }}
{{ purchaseTemplateDialog.preview.intro }}
| {{ column.label }} |
|---|
| {{ line.name }} | {{ line.oem }} | {{ line.quantity }} | {{ line.unitPrice }} |
关闭复制为自定义模板保存自定义模板
{{ row.name }}
{{ money(row.amount,row.currency) }}
打开 {{ row.document.contractNo }} · {{ purchaseContractStatusText(row.document.status) }}
生成合同
搜索共 {{ purchaseContractList.total }} 份
{{ row.contractNo }}
{{ row.supplier.name }}
{{ money(row.totalAmount,row.currency) }}
{{ purchaseContractStatusText(row.status) }}
打开
{{ tradeContractHistory.version.content.pageHeader }}
{{ tradeContractHistory.version.content.title }}
{{ tradeContractHistory.version.content.headerSubtitle }}
合同编号:{{ tradeContractHistory.version.content.meta.contractNo }} · 来源单号:{{ tradeContractHistory.version.content.meta.sourceNo }}
签约日期:{{ tradeContractHistory.version.content.meta.signDate }} · 交付日期:{{ tradeContractHistory.version.content.meta.deliveryDate }} · 交付地点:{{ tradeContractHistory.version.content.meta.deliveryPlace }}
{{ party.label }}:{{ party.name }} {{ party.contact }} {{ party.phone }} {{ party.email }} {{ party.address }}
{{ tradeContractHistory.version.content.intro }}
| {{ column.label }} |
|---|
暂无产品图{{ tradeContractLineValue(line,column) }} |
{{ tradeContractHistory.version.content.summary.label }}:{{ money(tradeContractHistory.version.content.summary.total,tradeContractHistory.version.content.summary.currency) }}
{{ tradeContractHistory.version.content.notes.label }}:{{ tradeContractHistory.version.content.notes.text }}
{{ section.title }}
{{ section.text }}
{{ tradeContractHistory.version.content.signature.leftTitle }} {{ tradeContractHistory.version.content.signature.leftLines }}
{{ tradeContractHistory.version.content.signature.rightTitle }} {{ tradeContractHistory.version.content.signature.rightLines }}
A4 纸张预览 · {{ contractPreview.pages.length }} 页正在排版…
关闭{{ purchaseContractDialog.contract.templateId?.startsWith('template-') || purchaseContractDialog.contract.templateId === 'sales-yongshang-a4' ? '保存为可复用模板' : '保存通用模板新版本' }}停用自定义模板打印当前合同下载 ▾下载清晰 PDF下载可编辑 Word (.docx)保存
拖动排序字段名称类型必填显示操作
↑↓
{{ row.label }}{{ row.kind === 'system' ? '系统核心' : '自定义' }}
{{ customerFieldTypeLabel(row.type) }}{{ row.required ? '是' : '否' }}
{{ row.kind === 'system' ? '修改显示名' : '编辑' }}删除{{ row.visibilityLocked ? '必显 · 不可删除' : '不可删除' }}
关闭
必填字段立即显示
取消保存
English中文
{{ $index + 1 }}
![]()
{{ quoteLineSku(row) || '待建档' }}临时{{ quoteLineDisplaySourcingStatus(row) }}
{{ quoteLineProductName(row) }}{{ quoteLineCategoryLabel(row) }}OEM:{{ quoteLineOems(row).join(' / ') || '—' }}汽车商:{{ quoteLineAutomotiveBrand(row) }}客户编号:{{ row.customerPartNo }}车型:{{ row.quotedVehicle }} / {{ row.quotedYear }}采购新价:{{ money(row.procurementUpdate.newCost.unitCost,row.procurementUpdate.newCost.currency) }} · {{ formatSupplierRfqDate(row.procurementUpdate.reviewedAt) }}原成本:{{ row.procurementUpdate.oldCost ? money(row.procurementUpdate.oldCost.unitCost,row.procurementUpdate.oldCost.currency) : '无' }};当前最终售价保持 {{ money(row.finalUnitPrice,quoteDialog.form.currency) }}采用新价格并重新计算
{{ quoteLineSupplierName(row) }}{{ quoteLineLeadTime(row) }}快速更换供应商
正在加载回执…
{{ receipt.supplierName }}{{ receipt.reviewed ? '已审核' : '待人工审核' }}{{ money(receipt.unitPrice,receipt.currency) }} · {{ receipt.taxIncluded ? '含税' : '未税' }} · MOQ {{ receipt.moq }}交期 {{ receipt.leadTime || '—' }} · 有效期 {{ receipt.validUntil || '—' }}备注:{{ receipt.notes }}回执时间:{{ formatSupplierRfqDate(receipt.submittedAt) }} 暂无有效回执
{{ quoteLineSupplierPrice(row) }}{{ quoteLineSupplierTax(row) }}
{{row.priceMessage}}
{{ money(row.finalTotal, quoteDialog.form.currency) }}
上移
下移
编辑
移除
共 {{ quoteDialog.form.lines.length }} 项,含 {{ quoteTempCount(quoteDialog.form) }} 项临时产品
产品小计{{ money(quoteProductsSubtotal, quoteDialog.form.currency) }}税费({{ Number(quoteDialog.form.customerTaxRate || 0) }}%){{ money(quoteDialogTaxAmount, quoteDialog.form.currency) }}运费{{ money(quoteDialog.form.totalFreight, quoteDialog.form.currency) }}{{ quoteFieldLabel('amount','客户应付总额') }}{{ money(quoteDialogTotal, quoteDialog.form.currency) }}
取消保存报价
采购负责人 *
取消确认交给采购
询价产品({{ autonomousRfqDialog.items.length }} / 200)
可从产品库服务端分页选择,也可复用报价表格解析粘贴文件或单元格。从产品库选择表格粘贴录入
{{ $index + 1 }}
删除
取消创建询价
{{ row.rfqNo }}
{{ supplierRfqQuoteNo(row) }}
{{ row.status }}
{{ formatSupplierRfqDate(row.createdAt) }}
{{ ownerName(row.ownerId) }}
详情删除任务
询价编号{{ supplierRfqDetail.record.rfqNo }}
来源报价{{ supplierRfqQuoteNo(supplierRfqDetail.record) }}
状态{{ supplierRfqDetail.record.status }}
创建时间{{ formatSupplierRfqDate(supplierRfqDetail.record.createdAt) }}
客户报价进度{{ supplierRfqQuoteReady(supplierRfqDetail.record) ? '客户报价已完整' : '客户报价仍待完善' }}全部 {{ supplierRfqQuoteLines(supplierRfqDetail.record).length }} 项产品均已有客户报价,可以生成完整客户版报价。已完成 {{ supplierRfqQuoteCompletedCount(supplierRfqDetail.record) }} / {{ supplierRfqQuoteLines(supplierRfqDetail.record).length }} 项;{{ supplierRfqQuoteIssueText(supplierRfqDetail.record) }}。
{{ supplierRfqQuoteReady(supplierRfqDetail.record) ? '可以生成报价' : '暂不可生成' }}
本次询价商品资料({{ supplierRfqDetail.record.items.length }})
产品编号、产品名称/描述、客户产品编号至少填写一项;OEM、车型、年份可按实际资料补充。生成过任何供应商链接后,历史快照将锁定,不能再移出。选择询价产品移出本次询价批量补资料保存本次询价资料
{{ row.inclusionReason==='procurement_added' ? '采购选择' : '历史销售提交' }}
资料完整缺少资料{{ supplierRfqMissingFields(row).join('、') }}
移出
供应商专用链接({{ supplierRfqDetail.record.tasks.length }})
至少选择一个产品并补齐产品编号、产品名称/描述或客户产品编号中的一项,才能创建供应商链接。新增供应商询价链接
{{ row.supplier?.name || row.response?.supplier?.name || '历史供应商' }}
历史链接仍按原令牌有效,明文不可恢复
生成:{{ formatSupplierRfqDate(row.linkCreatedAt) }}有效至:{{ formatSupplierRfqDate(row.linkExpiresAt) }}
{{ row.linkStatus }}
{{ row.submittedAt ? formatSupplierRfqDate(row.submittedAt) : '尚未回执' }}
复制询价文案复制链接查看对应回执撤销该链接审核回执
供应商可见说明默认模板草稿 · 尚未保存
空任务会从正式标准版生成可编辑草稿;只有明确点击保存才写入。已经生成的链接继续显示生成时的旧说明,不会静默改变。保存说明
转交采购退回销售取消任务
删除任务返回报价草稿多供应商比价审核查看完整客户报价关闭
当前供应商{{ supplierRfqLinkDialog.preview.supplier?.name }}采购负责人{{ supplierRfqLinkDialog.preview.procurementContact?.name||'—' }}产品项数{{ supplierRfqLinkDialog.preview.items?.length||0 }}
{{ supplierRfqLinkDialog.preview.publicNotes }}
| 公司编码 | 名称 | 公司图片 | 报价状态 | 工厂编码/图片 | 单价/币种 | 税/运费 | MOQ/交期 | 备注 |
|---|
| {{ item.productNumber||'—' }} | {{ item.name||'—' }}OEM:{{ item.oemNumbers?.join(' / ')||'—' }}数量:{{ item.quantity }} | {{ item.companyImageUrl?'产品库当前公开图片':'无图' }} | 可以报价 / 无法报价 | 选填 | 可以报价时必填 | 可以报价时必填 | 选填 | 每行独立选填 |
这是与正式链接相同的服务端模板和快照数据;返回修改不会写入任何内容。
关闭返回修改预览供应商页面确认并生成正式链接复制链接
supplierRfqAvailableDialog.selectedIds=rows.map(item=>item.quoteLineId)">
{{ row.oemNumbers?.join(' / ') || '—' }}
{{ money(row.factoryUnitPrice,row.factoryCurrency) }}—{{ row.hasFactoryPrice ? (row.factoryTaxIncluded === null ? '税型未知' : row.factoryTaxIncluded ? '含税' : '未税') : '—' }}
取消加入本次询价
显式覆盖所选行已有内容
取消应用到所选行
取消确认
{{ supplierRfqReceiptDialog.receipt.supplier?.name || '历史供应商' }}回执时间:{{ formatSupplierRfqDate(supplierRfqReceiptDialog.receipt.submittedAt) }} · 第 {{ supplierRfqReceiptDialog.receipt.responseVersion }} 版
{{ [supplierRfqReceiptDialog.receipt.supplier?.contact,supplierRfqReceiptDialog.receipt.supplier?.phone,supplierRfqReceiptDialog.receipt.supplier?.email].filter(Boolean).join(' · ') || '未补充联系方式' }}
{{ row.oemNumbers?.join(' / ') || '—' }}
{{ [row.automotiveBrand,row.vehicle,row.year].filter(Boolean).join(' / ') || '—' }}
可报价无法报价
{{ row.response?.factoryNumber || '—' }}
{{ money(row.response.unitPrice,row.response.currency) }}({{ supplierRfqTaxLabel(row.response) }})—
{{ row.response?.moq || '—' }}
{{ row.response?.leadTime || '—' }}
{{ row.response?.validUntil || '—' }}
{{ row.response?.notes || '—' }}
整单说明:{{ supplierRfqReceiptDialog.receipt.notes }}
关闭
{{ supplierRfqReviewDialog.receipt?.supplier?.name }}第 {{ supplierRfqReviewDialog.receipt?.responseVersion || 0 }} 版 · {{ formatSupplierRfqDate(supplierRfqReviewDialog.receipt?.submittedAt) }} · {{ [supplierRfqReviewDialog.receipt?.supplier?.contact,supplierRfqReviewDialog.receipt?.supplier?.phone,supplierRfqReviewDialog.receipt?.supplier?.email].filter(Boolean).join(' · ') }}
全选有报价商品清空选择批量设为新增产品
应用分类和单位
{{ item.name }}{{ item.name }}OEM:{{ item.oemNumbers.join(' / ') || '—' }}{{ [item.automotiveBrand,item.vehicle,item.year].filter(Boolean).join(' / ') || '未填写车型资料' }} · 数量 {{ item.quantity }}
已选供应商价({{ supplierRfqTaxLabel(item.response) }} · {{ item.response?.freightIncluded ? '含运费' : '不含运费' }}){{ money(item.response?.unitPrice,item.response?.currency) }}工厂编号 {{ item.response?.factoryNumber || '—' }} · MOQ {{ item.response?.moq }} · 数量条件 {{ item.response.quantityCondition }} · 交期 {{ item.response?.leadTime }}有效期 {{ item.response?.validUntil || '—' }} · 说明 {{ item.response?.notes || '—' }}
{{ supplierRfqReviewDialog.mode==='comparison'&&item.offers.length?'请选择供应商报价':'供应商未报价' }}{{ item.response?.notes || '未填写无法报价原因' }}
{{ supplierRfqDetail.record?.sourceType==='procurement_created' ? '该项目记为已驳回,不同步产品库,也不关联任何客户报价。' : (item.available ? '该产品保持“待询价”,不会修改产品库或客户报价行。' : '供应商未报价,该产品将继续保持“待询价”。') }}
交接给下一步销售负责人 *采购完成后,对方会收到系统通知并继续填写客户报价。
取消{{ supplierRfqReviewDialog.mode==='comparison'?'确认择优并整批处理':'确认审核并处理' }}
粘贴 OEM 号或产品编号批量勾选支持换行、Tab、逗号和分号分隔;匹配时忽略大小写、空格和常见标点。
唯一匹配 {{ productPicker.matchedOemCount }} 个标识,将添加 {{ pickerDetailCount(productPicker) }} 条明细
存在重复输入,已逐条保留,请检查。
未匹配({{ productPicker.unmatchedOems.length }})
{{ oem }}
以下标识匹配到多个产品,不会自动勾选;请人工选择一个候选
{{ item.input }}{{ candidate.sku }} · {{ candidate.name }}
下方手动选择每个产品添加一条明细,多个 OEM 合在该行,可删选或清空。需要另一条明细时,再次选择该产品添加。上方明确 OEM 的批量匹配结果仍逐条添加。
⌕
共 {{ productPicker.total }} 个 · 将添加 {{ pickerDetailCount(productPicker) }} 条明细
正在加载产品列表…
重试
{{ row.sku }}
主数据:{{ (row.oemNumbers || []).join(' / ') || '无' }}
{{ productCategoryLabel(row) }}
{{ row.sourceType }}
{{ supplySummary(row) }}
{{ productLeadTime(row) }}
取消添加明细({{ pickerDetailCount(productPicker) }})
先选择本次粘贴内容的类型。单列 OEM 会进入 OEM 字段,未匹配时产品名称显示“待确认产品”;完整表格仍按标题或推荐列顺序识别。
在这里按 Ctrl+V 粘贴整个表格文件支持 .xlsx、.xls、.csv、.ods;也可直接在下方粘贴 Excel / WPS 单元格。不支持 .et、PDF、图片或扫描件;不会提取表格内嵌图片。已读取:{{ pasteDialog.fileName }}
完整表格单列 OEM 号单列产品编号单列产品名称/其他描述
解析并预览缺少数量时按 1;保留原始行顺序,重复行只提示、不自动合并。
同第 {{ row.duplicateOf }} 行—
{{ row.status }}{{ row.matchType }}
{{ row.errors.join(';') }}—
删除
取消确认导入
内部报价编辑列
{{ column.label }}
客户 Excel 字段
{{ quotePreview.language==='zh' ? column.labelZh : column.labelEn }}
取消保存设置
有勾选行时只应用到所选行;未勾选时应用到全部正式产品。临时产品仍由业务员手动填写最终单价。
取消应用
待询价产品可以先不填最终单价;供应商回执必须经过内部审核后才会回填报价或进入产品库。
基础成本 {{ money(lineEditor.line.baseTotalCost, quoteDialog.form.currency) }}
{{ quotePreview.editing ? '收起编辑' : '编辑当前内容' }}
保存
报价语言
English
中文
语言和图片设置都会记住到当前报价
| # | {{ quotePreview.language === 'zh' ? '产品' : 'Product' }} | {{ quotePreview.language === 'zh' ? '数量' : 'Qty' }} | {{ quotePreview.language === 'zh' ? '单位' : 'Unit' }} | {{ quotePreview.language === 'zh' ? '单价' : 'Unit Price' }} | {{ quotePreview.language === 'zh' ? '金额' : 'Amount' }} |
| {{ quotePreviewLineNumber(index) }} | {{ quoteLineProductName(line) }}{{ quoteLineSku(line) }}OEM: {{ quoteLineOems(line).join(' / ') || '—' }}{{ quotePreview.language === 'zh' ? '汽车商' : 'Automaker' }}: {{ quoteLineAutomotiveBrand(line) }}{{ quotePreview.language === 'zh' ? '客户产品编号' : 'Customer P/N' }}: {{ line.customerPartNo }}{{ quotePreview.language === 'zh' ? '车型' : 'Vehicle' }}: {{ line.quotedVehicle }}{{ quotePreview.language === 'zh' ? '交期' : 'Lead Time' }}: {{ quoteLineLeadTime(line) }} | {{ line.quantity }} | {{ quoteLineUnit(line) }} | {{ money(line.finalUnitPrice, quotePreview.quote.currency) }} | {{ money(line.finalTotal, quotePreview.quote.currency) }} |
{{ quotePreview.language === 'zh' ? '产品小计' : 'Products Subtotal' }}{{ money(quoteProductsAmount(quotePreview.quote), quotePreview.quote.currency) }}
{{ quotePreview.language === 'zh' ? `税费(${Number(quotePreview.quote.customerTaxRate || 0)}%)` : `Tax (${Number(quotePreview.quote.customerTaxRate || 0)}%)` }}{{ money(quoteTaxAmount(quotePreview.quote), quotePreview.quote.currency) }}
{{ quotePreview.language === 'zh' ? '运费' : 'Freight' }}{{ money(quotePreview.quote.totalFreight, quotePreview.quote.currency) }}
{{ quotePreview.language === 'zh' ? '客户应付总额' : 'Total' }}{{ money(quoteAmount(quotePreview.quote), quotePreview.quote.currency) }}
{{ quotePreview.language === 'zh' ? '备注' : 'Remarks' }}{{ quotePreview.quote.notes || (quotePreview.language === 'zh' ? '本报价仅在上述有效期内有效。' : 'Prices are subject to the validity date shown above.') }}
复制报价文字下载客户 Excel下载 PNGPI / PL PDF复制报价图片
PI 形式发票
显示客户价格、贸易条款、银行及签章资料。
编辑 PI 资料
PL 装箱单
显示包装件数、净重、毛重、尺寸、体积和唛头,不显示价格。
编辑 PL 资料
同时生成时,浏览器可能询问是否允许下载多个文件;桌面软件会直接分别下载。
取消生成已选 PDF
取消保存 PI 资料{{ can('quotations','edit') ? '保存并下载 PI PDF' : '下载 PI PDF' }}
取消保存 PL 资料{{ can('quotations','edit') ? '保存并下载 PL PDF' : '下载 PL PDF' }}
取消保存外贸单据资料
负责人交接通知
{{ notification.event.detail }}
自动业务提醒
仅在打开系统时根据业务日期计算
{{ reminder.detail }}
关闭后停止自动业务提醒和对应角标;保留时间设置和处理记录。客户核查、审批、人工待办及系统通知继续显示。
设置由总账号统一管理,保存后立即应用于所有账号。
{{ field.unit }}
取消保存设置
取消确认延后
询盘{{ trackingDialog.customer.inquiryCount }}
报价{{ trackingDialog.customer.quoteCount }}
订单{{ trackingDialog.customer.orderCount }}
成交记录{{ trackingDialog.customer.transactionCount }}
{{ transaction.transactionNo }}来源 {{ transaction.quoteNo }} · {{ transaction.dealDate }}
{{ money(transaction.amount,transaction.currency) }}预计交付 {{ transaction.expectedDeliveryDate || '未填写' }}
明细
全部业务动态询盘、跟进、报价、采购流程、成交和订单按时间倒序汇总;系统流程不会被计算为已联系客户
{{ event.type }}{{ event.title }}{{ event.status }}
{{ event.detail }}
查看交易明细
退出登录取消确认修改