{{ pageTitle }}
{{ currentUser.role === 'boss' ? '🏆' : currentUser.role === 'manager' ? '👔' : '💰' }}
{{ currentUser.name }} · {{ roleLabel }}

总览看板

品牌返利数据概览 · {{ currentMonth }}

{{ s.label }}
{{ s.icon }}
{{ s.value }}{{ s.unit || '' }}
{{ s.trend > 0 ? '↑' : '↓' }} {{ Math.abs(s.trend) }}% 较上月
{{ b.icon }}
{{ b.name }}
{{ b.type }}
¥{{ b.rebate }}
本月返利
达成率 {{ b.rate }}%
返利趋势(近6个月)
⚠️ 异常预警 {{ alerts.length }}
✅ 暂无异常
🚨
{{ a.text }}
{{ a.time }}
🛠️ 售后概况 点击查看详情 →
待派单
📋
{{ serviceStats?.pendingDispatch || 0 }}
待处理
进行中
🔧
{{ serviceStats?.inProgress || 0 }}
维修中
今日完成
{{ serviceStats?.todayDone || 0 }}
已完成
库存预警
⚠️
{{ serviceStats?.inventoryAlerts || 0 }}
需补货

📈 经营看板

Boss 智数中心 · {{ bossCurrentMonth }}

本月总销售额
💰
{{ bossCards.monthSales }}
不含税
Q3 达成率
🎯
{{ bossCards.completionRate }}%
{{ bossCards.completionRate >= 33 ? '✅ 进度正常' : '⚠️ 进度落后' }}
当前返利
🏆
{{ bossCards.totalRebate }}
含品牌政策返利
预警数
⚠️
{{ bossAlertCount }}
{{ bossAlertCount > 0 ? '需关注' : '无预警' }}
🏷️ 品牌销售排行
👤 销售员排名 Top5
排名 姓名 部门 销售额 占比
🥇 🥈 🥉 {{ i + 1 }} {{ sp.name }} {{ sp.dept }} {{ sp.totalSales }} {{ sp.ratio }}%
🎯 Q3 目标进度
{{ bp.isOnPace ? '✅' : '⚠️' }} {{ bp.brand }} {{ bp.rate }}%
{{ bp.rate }}%
已达成 {{ bp.currentSales }} 目标 {{ bp.target }}
⛰️ 爬坡返利 {{ bossPoolInfo }}
📈 月度趋势
⚡ 快捷提问
{{ bossAnswer }}

{{ currentBrand?.name }} · 返利详情

6层返利分解 · 对账明细

{{ t.level }}
{{ t.rate }}
¥{{ t.amount }}
返利对账明细
批次号 月份 返利金额 达成率 状态 操作
{{ row.batch }} {{ row.month }} ¥{{ row.amount }}
{{ row.rate }}%
{{ row.status }} {{ detailExpandIndex === i ? '收起' : '展开' }}
明细分解:
基础返利:¥{{ detailRows[detailExpandIndex]?.breakdown?.base || 0 }}
超额完成奖:¥{{ detailRows[detailExpandIndex]?.breakdown?.bonus || 0 }}
季度返利:¥{{ detailRows[detailExpandIndex]?.breakdown?.quarter || 0 }}

📚 知识库

品牌政策 · 返利规则 · 操作手册

分类筛选
全部 {{ kbTotal }}
{{ c.label }} {{ kbTotal }}
加载中...
📭
暂无匹配的知识条目
{{ item.title }}
{{ item.content_preview || (item.content ? item.content.slice(0,120) : '') }}
🏷️ {{ kbCategoryLabel(item.category) }} 🏢 {{ item.brand }} 📅 {{ item.created_at ? item.created_at.slice(0,10) : '' }} 编辑 删除

📤 上传资料

支持 PDF、Excel、Word、图片等文件格式

📁
拖拽文件到此处上传
或点击选择文件 · 最大 50MB
上传中... {{ uploadProgress }}%
上传历史
文件名大小类型上传时间状态
{{ f.name }} {{ f.size }} {{ f.type }} {{ f.time }} {{ f.status }}

💬 对话日志

用户与 AI 助手的对话记录

{{ msg.role === 'user' ? '👤' : '🤖' }}
{{ msg.content }}
{{ msg.time }}
💬
暂无对话记录

📋 售后工单管理

工单派发 · 维修进度 · 服务闭环

待派单
📋
{{ serviceStats?.pendingDispatch || 0 }}
待处理
进行中
🔧
{{ serviceStats?.inProgress || 0 }}
维修中
今日完成
{{ serviceStats?.todayDone || 0 }}
已完成
紧急工单
🚨
{{ serviceStats?.urgentOrders || 0 }}
需加急
工单号 客户名 产品型号 紧急程度 状态 维修工 创建时间 操作
暂无工单数据
{{ o.order_no }} {{ o.customer_name }} {{ o.product_model }} {{ o.urgency === 'high' ? '紧急' : o.urgency === 'medium' ? '一般' : '普通' }} {{ orderStatusLabel(o.status) }} {{ o.technician_name || '—' }} {{ o.created_at }} 详情 派单 取消

🏗️ 中央空调安装工单

7阶段闭环 · 登记→看现场→打孔→安装→隐蔽→量风口→调试

📋 安装工单
🥇 铜管需求
📦 材料出库
进行中
{{ installationStats.in_progress || 0 }}
今日新增
{{ installationStats.today_created || 0 }}
今日完成
{{ installationStats.today_completed || 0 }}
已完成
{{ (installationStats.stage_counts || {}).completed || 0 }}
工单号 客户 电话 地址 型号 阶段 创建时间 操作
{{ o.order_no }} {{ o.customer_name }} {{ o.customer_phone }} {{ o.customer_address || '—' }} {{ o.product_model || '—' }} {{ o.stage_label }} {{ (o.created_at || '').substring(0, 16) }} 详情
暂无安装工单
工单号 客户 小区 铜管米数 上报人 时间
{{ r.order_no || '—' }} {{ r.customer_name || '—' }} {{ r.community || '—' }} {{ r.copper_tube_meters != null ? r.copper_tube_meters + ' 米' : '—' }} {{ r.reporter_name || '—' }} {{ (r.created_at || r.reported_at || '').substring(0, 16) }}
暂无铜管需求记录
草稿
{{ materialOutboundStats.draft || 0 }}
已提交
{{ materialOutboundStats.submitted || 0 }}
已审核
{{ materialOutboundStats.approved || 0 }}
同步失败
{{ materialOutboundStats.sync_failed || 0 }}
T+单号 工单号 客户 小区 材料明细 状态 操作人 时间 操作
{{ ob.tplus_voucher_code || ob.tplus_external_code || '—' }} {{ ob.order_no || '—' }} {{ ob.customer_name || '—' }} {{ ob.community || '—' }} {{ formatOutboundItems(ob.items) }} {{ materialOutboundStatusLabel(ob.tplus_status) }} {{ ob.operator_name || '—' }} {{ (ob.created_at || '').substring(0, 16) }}
暂无材料出库记录

📋 安装工单详情 · {{ installationDetail?.order?.order_no }}

客户:{{ installationDetail.order.customer_name }}
电话:{{ installationDetail.order.customer_phone }}
地址:{{ installationDetail.order.customer_address || '—' }}
类型:{{ installationDetail.order.product_type || '—' }}
型号:{{ installationDetail.order.product_model || '—' }}
数量:{{ installationDetail.order.quantity }}
部门:{{ installationDetail.order.department || '—' }}
业务员:{{ installationDetail.order.salesman || '—' }}
阶段:{{ installationDetail.order.stage_label }}
创建时间:{{ (installationDetail.order.created_at || '').substring(0, 19) }}

📍 7阶段进度时间线

{{ tl.done ? '✅' : (tl.stage_key === installationDetail.order.stage ? '🔄' : '⏳') }} {{ tl.stage }} 师傅:{{ tl.technician }}
预约:{{ tl.scheduled_at.substring(0, 16) }}
完成:{{ tl.completed_at.substring(0, 16) }}
备注:
{{ installationDetail.order.remark }}

📊 安装监管看板

在途工单 · T+单据审核 · SLA达成 · 师傅绩效 · 一致性校验

在途工单数 🚚
{{ supervisionData.in_progress || 0 }}
进行中工单
待审核T+单据 📝
{{ ((supervisionData.voucher_status || {}).draft || 0) + ((supervisionData.voucher_status || {}).submitted || 0) }}
⚠ 超时未审核 {{ supervisionData.voucher_overdue }} 单
草稿 + 已提交
超时工单数
{{ supervisionData.sla_overdue || 0 }}
超过 SLA 时长
SLA 达成率 🎯
{{ supervisionData.sla_rate != null ? supervisionData.sla_rate : 100 }}%
本月完成 {{ supervisionData.month_completed || 0 }} 单 · 均 {{ supervisionData.avg_hours || 0 }}h

📍 在途工单阶段分布

合计 {{ supervisionData.in_progress || 0 }} 单
{{ st.label }}
{{ st.count }}
暂无在途工单

🧾 T+出库单审核状态

超时 {{ supervisionData.voucher_overdue }} 单
草稿
{{ (supervisionData.voucher_status || {}).draft || 0 }}
已提交
{{ (supervisionData.voucher_status || {}).submitted || 0 }}
已审核
{{ (supervisionData.voucher_status || {}).approved || 0 }}
被拒
{{ (supervisionData.voucher_status || {}).rejected || 0 }}
同步失败
{{ (supervisionData.voucher_status || {}).sync_failed || 0 }}

👷 本月师傅绩效

按完成数降序
排名 师傅名 完成数
🥇 1 🥈 2 🥉 3 {{ idx + 1 }} {{ t.tech || '-' }} {{ t.completed || 0 }}
暂无绩效数据

🔍 一致性校验汇总

本地 vs T+ 单据
匹配
{{ (supervisionData.consistency || {}).match || 0 }}
差异
{{ (supervisionData.consistency || {}).mismatch || 0 }}
失败
{{ (supervisionData.consistency || {}).check_failed || 0 }}
待校验
{{ (supervisionData.consistency || {}).pending || 0 }}

📋 一致性校验记录

工单号 T+单号 差异摘要 状态 时间
{{ c.order_no || '-' }} {{ c.tplus_voucher_code || '-' }} {{ c.diff_summary || '-' }} {{ consistencyStatusLabel(c.check_status) }} {{ c.checked_at ? c.checked_at.substring(0, 16) : '-' }}
暂无校验记录
{{ consistencyPage }} / {{ consistencyTotalPages }}

🔧 维修工管理

工人信息 · 技能管理 · 工作状态

暂无维修工数据
{{ t.name.charAt(0) }}
{{ t.name }}
{{ t.phone }}
{{ t.status === 'idle' ? '空闲' : t.status === 'busy' ? '忙碌' : '离线' }}
{{ skill }}
📍 {{ t.area || '未指定' }} 📋 {{ t.active_orders || 0 }} 个工单

📦 库存管理

T+实时库存 · 备件入库出库 · 库存预警

T+在售SKU
📦
{{ tplusInvSummary?.total_sku || 0 }}
种商品有库存
总现存量
📊
{{ fmtNum(tplusInvSummary?.total_existing) }}
{{ tplusInvSummary?.brand_count || 0 }}个品牌 · {{ tplusInvSummary?.warehouse_count || 0 }}个仓库
总可用量
{{ fmtNum(tplusInvSummary?.total_avail) }}
可立即销售
共 {{ tplusInvTotal }} 项 · 刷新于 {{ tplusSyncTime }}
商品编码 名称 型号 品牌 品类 渠道 仓库 现存量 可用量
{{ tplusSearch || tplusBrandFilter ? '无匹配结果' : 'T+库存同步中...首次加载需1分钟' }}
{{ item.code }} {{ item.name }} {{ item.spec || '-' }} {{ item.brand }} {{ item.category }} {{ item.channel || '-' }} {{ item.warehouse }} {{ item.existing_qty }} {{ item.avail_qty }}
第 {{ tplusInvPage }} / {{ Math.ceil(tplusInvTotal / 50) || 1 }} 页

🔧 售后备件管理

名称 型号 品牌 兼容机型 库存量 最低阈值 单位 操作
暂无库存数据
{{ item.name }} {{ item.model }} {{ item.brand }} {{ item.compatible_models || '—' }} {{ item.stock }} {{ item.threshold }} {{ item.unit }} 入库 出库 编辑 删除

👥 用户管理

管理后台登录账号 · 按角色分配权限

账号姓名角色可见页面状态创建时间操作
暂无用户 · 点击右上角「+ 添加用户」创建
{{ u.user_id }}{{ u.name }} {{ {boss:'🏆老板',manager:'👔部门负责人',finance:'💰财务'}[u.role] || u.role }} {{ u.pages ? u.pages.join('·') : '' }} {{ u.is_active?'启用':'停用' }} {{ u.created_at ? u.created_at.slice(0,10) : '' }}

🤖 AI 使用统计

AI 对话使用情况分析 · 活跃用户与热门问题

总对话数
💬
{{ usageStats.total_conversations || usageStats.total || 0 }}
活跃用户数
👥
{{ usageStats.active_users || 0 }}
平均响应时间
{{ usageStats.avg_response_time || 0 }} s
错误数
⚠️
{{ usageStats.error_count || usageStats.errors || 0 }}
📅 日期范围: ~

🏆 TOP 活跃用户

#用户名部门对话次数
暂无数据
{{ i+1 }} {{ u.name || u.user_id || '-' }} {{ u.department || '-' }} {{ u.count || u.conversations || 0 }}

🔥 TOP 热门问题

#问题分类次数占比
暂无数据
{{ i+1 }} {{ q.category || q.question || '-' }} {{ q.count || 0 }} {{ q.percentage || (q.ratio ? (q.ratio*100).toFixed(1)+'%' : '0%') }}

🔔 反馈管理

处理用户对 AI 回答的反馈与错误报告

待处理
{{ feedbackStats.pending || 0 }}
已处理
{{ feedbackStats.handled || 0 }}
🔍 状态: 共 {{ feedbackList.length }} 条
用户问题AI回答反馈类型状态时间操作
暂无反馈
{{ f.user_name || f.user_id || '-' }} {{ f.question || '-' }} {{ (f.ai_answer||f.answer||'-').slice(0,50) }} {{ feedbackTypeLabel(f.feedback_type||f.type) }} {{ f.status==='pending'?'待处理':'已处理' }} {{ f.created_at ? String(f.created_at).slice(0,16).replace('T',' ') : '' }} 已处理

标签识别

批量上传产品标签图片,自动OCR识别文字并生成文本文件

📤
拖拽图片到此处,或点击选择文件
支持 JPG / PNG 格式,最多 50 张
正在识别中... ({{ ocrCurrentIdx }}/{{ ocrTotalCount }})

识别结果 ({{ ocrSuccessCount }}/{{ ocrResults.length }} 成功)

【图{{ r.index }}】{{ r.filename }} {{ r.success ? '✅ 识别成功' : '❌ 识别失败: ' + r.error }}
{{ r.text }}

{{ kbDetail.title }}

🏷️ {{ kbCategoryLabel(kbDetail.category) }} 🏢 {{ kbDetail.brand }} 📅 {{ kbDetail.created_at ? kbDetail.created_at.slice(0,10) : '' }}
{{ kbDetail.content }}

工单详情 · {{ orderDetail?.order_no }}

客户:{{ orderDetail?.customer_name }}
电话:{{ orderDetail?.customer_phone }}
产品:{{ orderDetail?.product_model }}
品牌:{{ orderDetail?.product_brand }}
紧急程度: {{ orderDetail?.urgency === 'high' ? '紧急' : orderDetail?.urgency === 'medium' ? '一般' : '普通' }}
状态: {{ orderStatusLabel(orderDetail?.status) }}
维修工:{{ orderDetail?.technician_name || '未分配' }}
创建时间:{{ orderDetail?.created_at }}
故障描述:
{{ orderDetail?.fault_desc || '无' }}
客户地址:
{{ orderDetail?.address }}
状态流转:
{{ tl.action }}
{{ tl.time }}
操作日志:
{{ log.time }} — {{ log.content }}

{{ kbDetail.title }}

🏷️ {{ kbCategoryLabel(kbDetail.category) }} 🏢 {{ kbDetail.brand }} 📅 {{ kbDetail.created_at ? kbDetail.created_at.slice(0,10) : '' }}
{{ kbDetail.content }}

工单详情 · {{ orderDetail?.order_no }}

客户:{{ orderDetail?.customer_name }}
电话:{{ orderDetail?.customer_phone }}
产品:{{ orderDetail?.product_model }}
品牌:{{ orderDetail?.product_brand }}
紧急程度: {{ orderDetail?.urgency === 'high' ? '紧急' : orderDetail?.urgency === 'medium' ? '一般' : '普通' }}
状态: {{ orderStatusLabel(orderDetail?.status) }}
维修工:{{ orderDetail?.technician_name || '未分配' }}
创建时间:{{ orderDetail?.created_at }}
故障描述:
{{ orderDetail?.fault_desc || '无' }}
客户地址:
{{ orderDetail?.address }}
状态流转:
{{ tl.action }}
{{ tl.time }}
操作日志:
{{ log.time }} — {{ log.content }}