{{ toast.msg }}
当前视角:

仪表盘 {{ stores.find(s=>s._id===currentStoreId)?.name || '本店' }} 📊 {{ hqViewMode === '汇总' ? '全部门店汇总' : (stores.find(s=>s._id===currentStoreId)?.name || '本店') }}

📋 待办提醒({{ todoReminders.length }})

✅ 暂无待办提醒
🎂 ⚠️ {{ r.customerName }} {{ r.phone }} 生日 {{ r.birthday }}({{ r.daysUntil }}天后) {{ r.daysSince }}天未到店(上次 {{ r.lastVisit }})
⬇ 下载数据备份

建议每次修改前先下载一份,以防万一

💡 小程序顾客的余额/积分存储在云端。点击"云端同步"可从云端更新本地顾客的余额/积分数据。
姓名手机号门店余额积分本年消费额本年业绩额到店次数操作
{{ c.name }}{{ c.phone }} {{ stores.find(s=>s._id===c.storeId)?.name || '-' }} ¥{{ fmt(c.balance) }}{{ c.points }}¥{{ fmt(c.yearConsume) }}¥{{ fmt(c.yearAchievement) }}{{ c.visitCount }} 已授权 授权通知 详情 编辑 删除
暂无顾客数据

收银台 {{ stores.find(s=>s._id===currentStoreId)?.name || '本店' }}

{{ c.name }}({{ c.phone }})余额: ¥{{ fmt(c.balance) }}
搜索中...
未找到匹配顾客
当前顾客: {{ cashierCustomer.name }}({{ cashierCustomer.phone }})余额: ¥{{ fmt(cashierCustomer.balance) }}

核销登记

该顾客暂无已购卡项
{{ e.name }}
{{ item.name }}

消费登记

{{ e.name }}
{{ item.name }}

会员充值

{{ e.name }}
{{ item.name }}

卡项购买

选择套餐 自定义卡项
暂无套餐卡。请到 项目管理,编辑项目时将分类设为“套餐卡”。
{{ e.name }}
{{ item.name }}
💳
搜索顾客后开始操作
名称分类价格时长次数默认提成操作
{{ p.name }}{{ p.category==='face'?'面部':p.category==='body'?'身体':'套餐卡' }}¥{{ p.price }}{{ p.duration }}分钟{{ p.totalTimes||1 }}次{{ p.defaultCommission||0 }}% 编辑 删除
姓名手机号角色门店累计提成服务次数操作
{{ e.name }}{{ e.phone||'-' }}{{ e.role||'美容师' }} {{ e.storeId ? (stores.find(s=>s._id===e.storeId)?.name || e.storeId) : '总部' }} ¥{{ fmt(e.totalCommission) }}{{ e.serviceCount||0 }} 业绩 编辑 删除
‹ 前一天
{{ fmtDateCN(bookingDate) }}
后一天 ›
共 {{ boardCards.length }} 个预约 待确认 {{ boardCards.filter(function(c){return c.status==='待确认'}).length }} 已确认 {{ boardCards.filter(function(c){return c.status==='已确认'}).length }}
员工
{{ row.name.charAt(0) }} {{ row.name }}
{{ (h+9) + ':00' }}
{{ card.tagLabel || '预约' }} 待确认
{{ card.customerName || '-' }}
{{ card.maskedPhone }}
{{ card.projectName || '未指定' }}
{{ card.time }} - {{ card.endTime }}
{{ bookingDate === new Date().toISOString().slice(0,10) ? '今日' : bookingDate }}暂无预约
顾客姓名门店项目价格预约时间手机号状态操作
{{ b.customerName||'-' }}{{ b.storeName||'-' }}{{ b.projectName||'-' }}¥{{ b.projectPrice||0 }}{{ b.date }} {{ b.time }}{{ b.endTime && b.endTime!==b.time ? ' - '+b.endTime : '' }}{{ b.phone||'-' }} {{ b.status }} 确认 取消 完成
{{ bookingDate === new Date().toISOString().slice(0,10) ? '今日' : bookingDate }}暂无预约
历史之前的预约已自动隐藏,可切换日期查询

数据报表 {{ stores.find(s=>s._id===currentStoreId)?.name || '本店' }}

¥{{ fmt(reportData.summary.totalRevenue) }}
消费金额
¥{{ fmt(reportData.summary.totalAchievement) }}
业绩金额
¥{{ fmt(reportData.summary.totalCommission) }}
总提成
{{ reportData.summary.transactionCount }}
交易笔数

手工提成排行(消费+核销)

员工门店服务次数消费总额手工提成
{{ e.name }}{{ e.storeId ? (stores.find(s=>s._id===e.storeId)?.name || e.storeId) : '-' }}{{ e.count }}¥{{ fmt(e.revenue) }}¥{{ fmt(e.manualCommission||0) }}

暂无数据

业绩提成排行(充值+购卡)

员工门店业绩金额业绩提成
{{ e.name }}{{ e.storeId ? (stores.find(s=>s._id===e.storeId)?.name || e.storeId) : '-' }}¥{{ fmt(e.achievement) }}¥{{ fmt(e.achievementCommission||0) }}

暂无数据

前20消费贡献排行(顾客)

排名顾客消费次数消费总额
{{ i+1 }}{{ c.name }}{{ c.count }}¥{{ fmt(c.totalAmount) }}

前20业绩贡献排行(顾客)

排名顾客充值/购卡次数业绩总额
{{ i+1 }}{{ c.name }}{{ c.count }}¥{{ fmt(c.totalAmount) }}

前10业绩贡献排行(项目)

排名项目购买次数业绩总额
{{ i+1 }}{{ p.name }}{{ p.count }}¥{{ fmt(p.amount) }}

项目销售排行

项目销售次数销售额
{{ p.name }}{{ p.count }}¥{{ fmt(p.revenue) }}

账单明细导出

共 {{ billList.length }} 条记录,总金额 ¥{{ fmt(billTotal) }}

时间顾客类型项目员工金额
{{ fmtTime(t.createdAt) }} {{ t.customerName || '-' }} {{ t.type }} {{ t.projectName || t.packageName || '-' }} {{ t.employeeName || '-' }} {{ t.type==='消费'?'-':'+' }}¥{{ fmt(t.amount) }}
¥{{ fmt(expenseSummary['租金']||0) }}
租金
¥{{ fmt(expenseSummary['工资']||0) }}
工资
¥{{ fmt(expenseSummary['进货']||0) }}
进货
¥{{ fmt(expenseSummary['水电']||0) }}
水电
¥{{ fmt(expenseSummary['营销']||0) }}
营销
¥{{ fmt(expenseSummary['其他']||0) }}
其他
日期分类明细门店金额操作
{{ e.date }} {{ e.category }} {{ e.description || '-' }}{{ e.subCategory ? ' (' + e.subCategory + ')' : '' }} {{ e.storeId ? (stores.find(s=>s._id===e.storeId)?.name || '-') : '-' }} ¥{{ fmt(e.amount) }} 详情 编辑 删除
暂无支出记录

💰 工资明细

月份员工门店基本工资提成奖金扣款实发操作
{{ s.month }} {{ s.employeeName }} {{ s.storeId ? (stores.find(st=>st._id===s.storeId)?.name || '-') : '-' }} ¥{{ fmt(s.baseSalary) }} ¥{{ fmt(s.commission) }} ¥{{ fmt(s.bonus) }} -¥{{ fmt(s.deduction) }} ¥{{ fmt(s.total) }} 编辑 删除
暂无工资记录
门店名称联系电话地址操作
{{ s.name }}{{ s.phone||'-' }}{{ s.address||'-' }} 编辑
用户名昵称角色所属门店操作
{{ a.username }}{{ a.nickname || '-' }} {{ a.role==='hq'?'总部':a.role==='manager'?'店长':'美容师' }} {{ a.storeId ? (stores.find(s=>s._id===a.storeId)?.name || a.storeId) : '总部' }} 编辑 删除
暂无账号