营业额 ¥{{ formatMoney(store.monthlyRevenueCent) }} · 已确认费用 ¥{{ formatMoney(store.approvedExpenseCent) }}
采购类 ¥{{ formatMoney(store.purchaseExpenseCent) }} · 维修设备 ¥{{ formatMoney(store.repairEquipmentExpenseCent) }} · 其他 ¥{{ formatMoney(store.otherExpenseCent) }}MEIMEIPAI
运营管理
统一进入门店、员工、排班、考勤、库存和经营数据
MEIMEIPAI OPS · V2.4.0
{{ adminSection === 'business' ? '经营' : adminSection === 'people' ? '人员' : '设置' }}
{{ adminSection === 'business' ? '经营中心' : adminSection === 'people' ? '人员中心' : '系统设置' }}
先看结果,再进入具体功能处理。
门店费用中心
- 本月营业额
- ¥{{ formatMoney(storeExpenseCenter.summary.monthlyRevenueCent) }}
- 已审核报账
- ¥{{ formatMoney(storeExpenseCenter.summary.approvedExpenseCent) }}
- 采购类费用
- ¥{{ formatMoney(storeExpenseCenter.summary.purchaseExpenseCent) }}
- 维修/设备费用
- ¥{{ formatMoney(storeExpenseCenter.summary.repairEquipmentExpenseCent) }}
- 活动费用
- ¥{{ formatMoney(storeExpenseCenter.summary.activityExpenseCent) }} 现有分类暂无独立活动科目
- 其他费用
- ¥{{ formatMoney(storeExpenseCenter.summary.otherExpenseCent) }}
- 经营参考净额
- ¥{{ formatMoney(storeExpenseCenter.summary.referenceNetCent) }}
{{ storeExpenseCenter.disclaimer }}
经营分析
选择多家门店对比
正在读取经营数据…
- 今日营业额
- ¥{{ formatMoney(operationsAnalytics.summary.todayRevenueCent) }}
- 本月累计
- ¥{{ formatMoney(operationsAnalytics.summary.monthlyRevenueCent) }}
- 本月目标
- {{ operationsAnalytics.summary.targetConfigured ? `¥${formatMoney(operationsAnalytics.summary.targetAmountCent)}` : '暂未设置目标' }}
- 目标完成率
- {{ operationsAnalytics.summary.completionRate === null ? '-' : `${operationsAnalytics.summary.completionRate}%` }}
- 剩余目标
- {{ operationsAnalytics.summary.remainingAmountCent === null ? '-' : `¥${formatMoney(operationsAnalytics.summary.remainingAmountCent)}` }}
- 本月已通过费用
- ¥{{ formatMoney(operationsAnalytics.summary.approvedExpenseCent) }}
每日营业趋势
近月门店对比
暂无经营数据
数据导出中心 →日报记录
先选择门店和日期范围再查询;错误数据请到“日报纠错”处理。
请选择门店和日期后查询日报记录
当前条件下暂无日报记录
营业额 ¥{{ formatMoney(report.totalRevenueCent) }} · 订单 {{ report.todayOrderCount }}单
提交:{{ reportActorLabel(report) }} · {{ formatCreatedAt(report.createdAt) }}
{{ selectedReportRecord.reportDate }} · {{ selectedReportRecord.storeName }}
- 今日营业额
- ¥{{ formatMoney(selectedReportRecord.totalRevenueCent) }}
- 今日订单
- {{ selectedReportRecord.todayOrderCount }}单
- 宽幅拍立得
- 销售{{ selectedReportRecord.wideInstaxCount }} / 损耗{{ selectedReportRecord.wideInstaxLossCount }}
- Mini拍立得
- 销售{{ selectedReportRecord.miniCount }} / 损耗{{ selectedReportRecord.miniLossCount }}
- 宝利来
- 销售{{ selectedReportRecord.polaroidCount }} / 损耗{{ selectedReportRecord.polaroidLossCount }}
- 撕拉片
- 销售{{ selectedReportRecord.peelApartCount }} / 损耗{{ selectedReportRecord.peelApartLossCount }}
退款:¥{{ formatMoney(selectedReportRecord.refundAmountCent) }} · 设备异常:{{ textOrNone(selectedReportRecord.deviceIssue) }} · 备注:{{ textOrNone(selectedReportRecord.remark) }}
当日已通过费用:¥{{ formatMoney(selectedReportExpenses.amountCent) }}({{ selectedReportExpenses.count }}笔) 查看费用报账
费用报账
审核状态与报销状态分别记录;正式费用统计只计入已通过报账。
- 待审核
- {{ expenseSummary.pendingCount }}笔 ¥{{ formatMoney(expenseSummary.pendingAmountCent) }}
- 待报销
- {{ expenseSummary.pendingReimbursementCount }}笔 ¥{{ formatMoney(expenseSummary.pendingReimbursementAmountCent) }}
- 本月已通过费用
- ¥{{ formatMoney(expenseSummary.monthApprovedAmountCent) }} {{ expenseSummary.monthApprovedCount }}笔
正在读取费用报账…
{{ expenseAdminView === 'PENDING' ? '暂无待审核报账' : expenseAdminView === 'REIMBURSEMENT' ? '暂无待报销记录' : '暂无符合条件的报账记录' }}
{{ claim.expenseDate }} · {{ expenseCategoryLabel(claim.category) }} · {{ expensePaymentLabel(claim.paymentMethod) }}
{{ claim.purpose }}
{{ claim.claimNo }} · {{ expenseApprovalLabel(claim.approvalStatus) }} · {{ expenseReimbursementLabel(claim.reimbursementStatus) }}{{ selectedAdminExpenseClaim.claimNo }}
- 提交员工
- {{ selectedAdminExpenseClaim.employeeName }}
- 所属门店
- {{ selectedAdminExpenseClaim.storeName }}
- 费用日期
- {{ selectedAdminExpenseClaim.expenseDate }}
- 费用类型
- {{ expenseCategoryLabel(selectedAdminExpenseClaim.category) }}
- 金额
- ¥{{ formatMoney(selectedAdminExpenseClaim.amountCent) }}
- 支付方式
- {{ expensePaymentLabel(selectedAdminExpenseClaim.paymentMethod) }}
- 用途
- {{ selectedAdminExpenseClaim.purpose }}
- 审核状态
- {{ expenseApprovalLabel(selectedAdminExpenseClaim.approvalStatus) }}
- 报销状态
- {{ expenseReimbursementLabel(selectedAdminExpenseClaim.reimbursementStatus) }}
- 驳回原因
- {{ selectedAdminExpenseClaim.rejectionReason }}
未上传凭证
数据导出中心
选择时间、门店和数据内容,一次生成一个可继续编辑的 Excel 文件。
{{ newStoreGuide.name }}初始化
只复制模板和配置,不复制员工、日报、考勤、排班历史、库存数量或业务流水;日报自动扣库存保持关闭。
- {{ step.completed ? '✓' : '○' }} {{ step.label }}
尚未完成:{{ newStoreGuide.initialization.incompleteSteps.map((step) => step.label).join('、') }}
全部门店
正在读取…
ID {{ store.id }} · {{ store.openedAt || '未设开业日期' }} · {{ store.timezone }} · {{ operationModeLabel(store.operationMode) }}
定位:{{ store.latitude === null ? '未设置' : `${store.attendanceRadiusMeters}米范围${store.locationRequired ? '(必须定位)' : '(允许无定位)'}` }}
初始化 {{ store.initialization.completedCount }}/{{ store.initialization.totalCount }} · 库存自动扣减{{ store.inventoryAutoDeductEnabled ? '已开启' : '已关闭' }}
{{ store.isActive ? '已启用' : '已停用' }}密码与安全
员工个人密码请在“人员 → 员工详情”中重置。
员工管理
员工日常使用个人账号。密码只能设置或重置,不能查看。
员工档案
正在读取…
暂无员工档案
{{ employee.storeName }} · {{ employeeRoleLabel(employee.role) }} · 账号 {{ employee.loginName }}
{{ employee.status === 'ACTIVE' ? '已启用' : '已停用' }}公司兼职库
兼职不是正式员工,不会生成工号、账号或排班档案。店长只能选择可服务本店的可用兼职。
兼职人员
正在读取…
暂无兼职资料
{{ worker.mobile }} · {{ worker.stores.map(store => store.name).join(' / ') }}
{{ worker.remark }}
最近值班:{{ worker.recentShiftDate || '暂无' }}
{{ worker.status === 'ACTIVE' ? '可用' : '已停用' }}兼职值班记录
请选择条件后查询兼职值班记录
当前条件下暂无兼职值班记录
{{ record.mobileSnapshot }} · {{ record.shiftName }} {{ record.scheduledStartTime }}—{{ record.scheduledEndTime }}
职责:{{ responsibilityTypeLabels(record.responsibilities) }}
日报:{{ record.reportCompleted ? '已完成' : '未完成' }} · 闭店检查:{{ record.closingCompleted ? '已完成' : '未完成' }}
排班管理
班次和排班都按门店隔离。过去日期及已产生考勤的日期不能直接覆盖。
门店班次
正在读取…
暂无班次,请先新增
{{ shift.startTime }}—{{ shift.endTime }} · {{ shift.isActive ? '已启用' : '已停用' }}
员工周排班
正在读取排班…
该门店暂无启用员工
| 员工 | {{ day.weekday }}{{ day.workDate.slice(5) }} |
|---|---|
| {{ employee.name }}{{ employee.employeeCode }} | 已批准请假,仅可查看 已打卡,仅可查看 历史已锁定 |
| 兼职值班不计入正式排班 |
员工月排班与汇总
排班{{ item.scheduledDays }}天 · 休息{{ item.restDays }}天 · 请假{{ item.leaveDays || 0 }}天 · 计划{{ formatAttendanceDuration(item.plannedMinutes) }}
已打卡{{ item.checkedInDays }}天 · 未打卡排班{{ item.missedScheduledDays }}天
当前月份暂无排班汇总
| 员工 | {{ day.day }}周{{ day.weekday }} |
|---|---|
| {{ employee.name }}{{ employee.employeeCode }} | {{ scheduleMonthCell(employee.id, day.workDate) }} |
| 兼职值班独立值班记录 |
当前门店暂无员工排班
请假与换班管理
批准请假会将对应排班标记为“已请假”;批准换班前系统会再次校验员工、考勤和排班唯一性。
当前待审批:请假 {{ adminLeaves.length }} 条 · 换班 {{ adminSwaps.length }} 条
查看历史申请
请假审批
正在读取…
暂无请假申请
{{ adminLeaveTypeLabel(item.leaveType) }} · {{ item.startDate }} 至 {{ item.endDate }}
原因:{{ item.reason }}
处理:{{ item.reviewedAt }} · {{ item.reviewNote }}
换班审批
正在读取…
暂无换班申请
{{ item.storeName }} · {{ item.requesterWorkDate }} ↔ {{ item.targetWorkDate }}
原因:{{ item.reason }}
处理:{{ item.reviewedAt }} · {{ item.reviewNote }}
员工工作记录
按门店、日期和员工查看当天负责什么、实际完成什么,以及日报提交和最后修改人。
请选择门店、日期和员工后查询工作记录
当前条件没有员工记录
上班打卡:{{ record.attendance ? formatAttendanceTime(record.attendance.checkInAt) : '未打卡' }}
定位:{{ workRecordLocation(record, 'in') }}
开店检查:{{ workRecordStatus(record, 'OPENING') }}
日报:{{ workRecordReportStatus(record) }}
闭店检查:{{ workRecordStatus(record, 'CLOSING') }}
下班打卡:{{ record.attendance?.checkOutAt ? formatAttendanceTime(record.attendance.checkOutAt) : '未打卡' }}
提交人:{{ reportActorLabel(record.report, 'created') }} · {{ formatCreatedAt(record.report.createdAt) }}
最后修改人:{{ reportActorLabel(record.report, 'updated') }} · {{ formatCreatedAt(record.report.updatedAt || record.report.createdAt) }}
{{ item.workDate }} · {{ item.storeName }} · 临时值班入口
日报:{{ item.report ? `${formatCreatedAt(item.report.createdAt)}提交` : '未提交' }}
开店检查:{{ item.checklist ? (item.checklist.status === 'COMPLETED' ? '已完成' : '有异常') : '未完成' }}
闭店检查:{{ item.checklist ? (item.checklist.status === 'COMPLETED' ? '已完成' : '有异常') : '未完成' }}
{{ item.productName }} {{ item.quantity }}{{ item.unit }} · 执行人:{{ item.executedBy }}
每日责任安排
单人店由当日最早班员工负责开店、日报和闭店;双人店由最早班负责开店,最晚班负责日报和闭店。没有责任人不会阻止其他员工打卡。
正在生成责任安排…
{{ item.assigneeName }}{{ item.assigneeType === 'TEMPORARY' ? '(临时兼职,不登录、不打卡)' : `(${item.employeeCode})` }}
当天暂无有效排班,尚未生成责任人。
临时上班与兼职记录
正式员工临时上班 · {{ item.status === 'PENDING' ? '待店长确认' : (item.status === 'CONFIRMED' ? '已确认' : '已驳回/异常') }}
临时上班,存在正式责任人。
外部兼职 · {{ item.revoked ? '链接已撤销' : '当天链接' }}
当天暂无临时上班或外部兼职记录。
临时值班入口
{{ temporaryAccessResult.workDate }} 当天有效,到当天结束自动失效。
{{ temporaryAccessResult.accessUrl }}考勤记录与汇总
当前筛选汇总
- 出勤天数
- {{ attendanceSummary.attendanceDays }}
- 迟到次数
- {{ attendanceSummary.lateCount }}
- 早退次数
- {{ attendanceSummary.earlyLeaveCount }}
- 未下班打卡
- {{ attendanceSummary.notCheckedOutCount }}
- 累计工作时长
- {{ formatAttendanceDuration(attendanceSummary.workMinutes) }}
{{ item.employeeName }}:{{ item.attendanceDays }}天,迟到{{ item.lateCount }}次,早退{{ item.earlyLeaveCount }}次,{{ formatAttendanceDuration(item.workMinutes) }}
考勤明细
请选择门店、员工、日期和状态后查询考勤记录
正在读取…
当前条件暂无考勤记录
{{ record.storeName }} · 上班 {{ formatAttendanceTime(record.checkInAt) }}({{ attendanceStatusLabel(record.attendanceStatus || record.checkInStatus) }})
下班 {{ formatAttendanceTime(record.checkOutAt) }}({{ attendanceStatusLabel(record.checkOutStatus) }})· 工作 {{ formatAttendanceDuration(record.workMinutes) }}
{{ selectedAttendanceRecord.workDate }} · {{ selectedAttendanceRecord.employeeName }}
上班:{{ formatAttendanceTime(selectedAttendanceRecord.checkInAt) }} · {{ attendanceStatusLabel(selectedAttendanceRecord.attendanceStatus || selectedAttendanceRecord.checkInStatus) }}
上班位置:{{ attendanceLocationStatusLabel(selectedAttendanceRecord.checkInLocationStatus) }} · 距离 {{ attendanceDistance(selectedAttendanceRecord.checkInDistanceMeters) }} · 精度 {{ attendanceDistance(selectedAttendanceRecord.checkInLocationAccuracy) }}
下班:{{ formatAttendanceTime(selectedAttendanceRecord.checkOutAt) }} · {{ attendanceStatusLabel(selectedAttendanceRecord.checkOutStatus) }}
下班位置:{{ attendanceLocationStatusLabel(selectedAttendanceRecord.checkOutLocationStatus) }} · 距离 {{ attendanceDistance(selectedAttendanceRecord.checkOutDistanceMeters) }} · 精度 {{ attendanceDistance(selectedAttendanceRecord.checkOutLocationAccuracy) }}
备注:{{ selectedAttendanceRecord.employeeNote || '无' }}
已纠错:{{ selectedAttendanceRecord.correctionReason }}
考勤异常
优先处理缺卡、迟到早退和异常打卡申请;拍照凭证与服务器时间仍使用现有考勤记录。
{{ item.storeName }} · {{ item.workDate }} · {{ item.shiftName }} {{ item.scheduledStartTime }}–{{ item.scheduledEndTime }}
实际时间:{{ item.actualTime || '无' }} · 状态:{{ item.status }} · 已有拍照凭证当前筛选下暂无考勤异常
检查项列表
正在读取…
暂无检查项
{{ template.sortOrder }}. {{ template.itemText }} · {{ template.isRequired ? '必检' : '选检' }} · {{ evidenceRequirementLabel(template.evidenceRequirement) }} · {{ template.isActive ? '已启用' : '已停用' }}
复制门店检查配置
只复制来源门店当前启用的模板,不复制历史检查记录。
检查记录与异常
{{ checklistSummary.month }} 检查完成情况
- 应完成
- {{ checklistSummary.expectedCount }}
- 已提交
- {{ checklistSummary.submittedCount }}
- 正常完成
- {{ checklistSummary.completedCount }}
- 异常记录
- {{ checklistSummary.exceptionCount }}
- 未完成
- {{ checklistSummary.missingCount }}
- 完成率
- {{ checklistSummary.completionRate === null ? '-' : `${checklistSummary.completionRate.toFixed(1)}%` }}
员工检查记录
请选择门店、日期和检查类型后查询检查记录
正在读取…
当前条件暂无检查记录
{{ checklistTypeLabel(record.checklistType) }} · {{ record.status === 'COMPLETED' ? '正常完成' : '存在异常' }} · {{ record.completedAt }}
{{ selectedChecklistRecord.workDate }} · {{ checklistTypeLabel(selectedChecklistRecord.checklistType) }}
{{ selectedChecklistRecord.storeName }} · {{ selectedChecklistRecord.employeeName }} · {{ selectedChecklistRecord.status === 'COMPLETED' ? '正常完成' : '存在异常' }}
提交时间:{{ selectedChecklistRecord.completedAt || '-' }}
整体备注:{{ selectedChecklistRecord.employeeNote || '无' }}
说明:{{ item.exceptionNote }}