加载中…

乐巴薪资核算系统

{{ error || tip }}

本月进度 {{ monthProgress.hint }}

未走完流程 {{ monthProgress.incomplete_count }} 人: {{ x.name }}({{ x.reason }})

  1. {{ s.label }} {{ s.detail }}

{{ teacherNextAction.title }}

{{ teacherNextAction.text }}

{{ error || tip }}

{{ approvals.length + (tempPayroll.pending ? 1 : 0) }}
待确认
{{ principalPayDone }}/{{ payList.length || 0 }}
已确认可发放
{{ exportReadyFlag ? '✓' : '…' }}
导出/发财务

本月进度 {{ monthProgress.hint }}

未走完流程 {{ monthProgress.incomplete_count }} 人: {{ x.name }}({{ x.reason }})

  1. {{ s.label }} {{ s.detail }}

待确认 {{ approvals.length }} 人 · 已确认 {{ (approvalsConfirmed || []).length }} 人

待确认 {{ approvals.length }}

{{ a.name }} {{ empTypeLabel(a.emp_type) }} 应发 {{ formatMoney(a.total_pay) }}

{{ a.formula }}

项目金额
{{ draftLabel(item) }} {{ formatMoney(item.value) }}
课时费明细 {{ a.fee_lines.length }} 条
类型班级人数课时金额
{{ r.fee_type_label || r.fee_type }} {{ r.class_name }} {{ r.people }} {{ r.hours }} {{ formatMoney(r.amount) }}

三通道合计须等于应发 {{ formatMoney(a.total_pay) }}

暂无待确认的正式员工(需工资总管先审批通过)。

临时老师 {{ tempPayroll.status_label }}

合计 {{ tempPayroll.line_count || 0 }} 人 · {{ formatMoney(tempPayroll.total_amount) }}(确认后走支付宝发放)

姓名项目次数单次金额总金额收款账号
{{ r.name }} {{ r.project || '—' }} {{ r.times }} {{ formatMoney(r.unit_amount) }} {{ formatMoney(r.total_amount) }} {{ r.pay_account || '—' }}
无明细

临时老师已确认,请到「发放」按人标记支付宝已发放。

银行 {{ formatMoney(payListTotals.bank) }} · 支付宝 {{ formatMoney(payChannelAlipayTotal) }} · 微信 {{ formatMoney(payListTotals.wechat) }}

暂无已确认可发放的人,请先到「工资确认」。

银行卡 {{ payBankRows.length }} 人 · {{ formatMoney(payListTotals.bank) }}

姓名金额状态
{{ p.name_zh || p.name }} {{ formatMoney(p.bank) }} 已发放 待发放
合计{{ formatMoney(payListTotals.bank) }}

支付宝 {{ formatMoney(payChannelAlipayTotal) }}

姓名金额状态操作
{{ p.name }} {{ formatMoney(p.alipay) }} 已发放 待发放

临时老师

姓名金额状态操作
{{ r.name }} {{ formatMoney(r.total_amount) }} 已发放 待发放

微信 {{ payWechatRows.length }} 人 · {{ formatMoney(payListTotals.wechat) }}

姓名金额状态操作
{{ p.name }} {{ formatMoney(p.wechat) }} 已发放 待发放

已满足导出条件。

{{ exportReadyMsg }}

{{ exportNote }}

工资表 · {{ ym }} {{ exportRows.length }} 人 · 应发合计 {{ formatMoney(exportTotals.total_pay) }}

应发 = 基本工资 + 奖金 + 报销 − 请假扣款 − 罚款 − 社保。

姓名类型基本工资奖金 报销事假天数请假扣款罚款社保 应发银行卡支付宝微信 确认状态校长确认
{{ r.name }} {{ empTypeLabel(r.emp_type) }} {{ formatMoney(r.base_salary) }} {{ formatMoney(r.bonus) }} {{ formatMoney(r.reimburse) }} {{ r.leave_days || 0 }} {{ formatMoney(r.leave_deduct) }} {{ formatMoney(r.fine) }} {{ formatMoney(r.social_security) }} {{ formatMoney(r.total_pay) }} {{ formatMoney(r.bank) }} {{ formatMoney(r.alipay) }} {{ formatMoney(r.wechat) }} {{ r.status_label }} {{ r.pay_confirmed ? '已确认' : '—' }}
合计 {{ formatMoney(exportTotals.base_salary) }} {{ formatMoney(exportTotals.bonus) }} {{ formatMoney(exportTotals.reimburse) }} {{ exportTotals.leave_days }} {{ formatMoney(exportTotals.leave_deduct) }} {{ formatMoney(exportTotals.fine) }} {{ formatMoney(exportTotals.social_security) }} {{ formatMoney(exportTotals.total_pay) }} {{ formatMoney(exportTotals.bank) }} {{ formatMoney(exportTotals.alipay) }} {{ formatMoney(exportTotals.wechat) }}

点击「刷新工资表」加载本月数据。

员工主档 (只读;点「修改」后才能改,再点「保存」)

姓名类型基本工资社保支付宝银行卡号操作
{{ e.name_zh }} {{ e.name_en }} {{ empTypeLabel(e.emp_type) }}
姓名 病假天 请假条 事假天 罚款 报销金额 报销事由 操作
{{ row.name }}
暂无人员。点「载入全部全职」或点「修改本表」后从上方增加。

先点「修改本表」再改;保存后变灰防误改。病假不扣薪须请假条;事假扣薪。

上传考勤文件(可选·仅存档)

上传不会自动扣款。事假/罚款请在上方「手工考勤表」填写后才会进工资。

来源 {{ feeDetailMeta.filename }} · 班课 {{ formatMoney(feeDetailMeta.headcount_amount) }} · 1vN {{ formatMoney(feeDetailMeta.one_vn_amount) }} · Baby {{ formatMoney(feeDetailMeta.baby_amount) }} · 合计 {{ formatMoney(feeDetailMeta.total_amount) }} · {{ feeDetailRows.length }} 条

课时费明细

老师类型班级 上课人数课时课次金额
{{ r.teacher }} {{ r.fee_type_label || r.fee_type }} {{ r.class_name }} {{ r.people }} {{ r.hours }} {{ r.sessions }} {{ formatMoney(r.amount) }}
暂无明细。请先在工作台上传本月小麦课消。

老师/行政填报摘要 {{ teacherFills.length }}

姓名类型审批状态辅班次数辅班金额 测评次数测评金额 转介绍条数已上课转介绍 谈单条数已开课谈单 续班条数可计续班
{{ t.name }} {{ empTypeLabel(t.emp_type) }} {{ t.fills_status_label || '填写中' }} {{ t.assist_times }} {{ formatMoney(t.assist_total) }} {{ t.assess_count }} {{ formatMoney(t.assess_total) }} {{ t.referral_count }} {{ formatMoney(t.referral_attended_amount) }} {{ t.deal_count }} {{ formatMoney(t.deal_amount) }} {{ t.renewal_count }} {{ formatMoney(t.renewal_ready_amount) }}

本月暂无老师填报数据。

月初班级名单 {{ classRosterResult.filename }}

班级 {{ classRosterResult.summary.class_count }} · 学员 {{ classRosterResult.summary.student_count }} · 已分配 {{ classRosterResult.summary.matched_class_count }} · 未匹配 {{ classRosterResult.summary.unmatched_class_count || 0 }} · 班课 {{ (classRosterResult.summary.by_kind || {}).regular || 0 }} / 1vN {{ (classRosterResult.summary.by_kind || {}).one_vn || 0 }} / 寒暑假 {{ (classRosterResult.summary.by_kind || {}).camp || 0 }} / Baby {{ (classRosterResult.summary.by_kind || {}).baby || 0 }}(不分配)

按老师汇总

老师班级数学员数班课1vN寒暑假
{{ t.teacher_name }} {{ t.class_count }} {{ t.student_count }} {{ t.regular }} {{ t.one_vn }} {{ t.camp }}

未匹配班级老师: {{ u.teacher }}({{ u.class_count }})

班级明细 {{ (classRosterResult.classes || []).length }} 个
班级类型名单老师系统老师 人数应续(默认)教室
{{ c.class_name }} {{ c.class_kind_label }} {{ c.teacher_raw || '—' }} {{ c.teacher_name || '未匹配' }} {{ c.roster_count }} {{ c.expected_renew_count }} {{ c.classroom || '—' }}

本月尚未导入班级名单,请到「待办操作」上传。

新增 / 更新开班月

{{ openProfilesHint }}

已维护档案 {{ (openProfiles || []).length }}

班级名开班月保底至别名备注
{{ r.code }} {{ openProfileUntil(r.open_ym) }}

暂无档案。请先按小麦「所在班级」名称填写开班月。

小麦测算结果 {{ xiaomaiResult.filename }}

测算失败:{{ xiaomaiResult.error }}

本月尚未上传小麦课消,请到「待办操作」上传。

本月操作

待总管审批 {{ principalQueue.length }}

本人已确认底稿。核对无误后点下方按钮审批通过,校长即可保存发放。

姓名类型应发合计确认时间备注
{{ r.name }} {{ r.role_note || empTypeLabel(r.emp_type) }} {{ formatMoney(r.total_pay) }} {{ r.confirmed_at ? String(r.confirmed_at).replace('T',' ').slice(0,19) : '—' }} {{ r.comment || '—' }}

暂无「已确认、待总管审批」的人。等本人确认后再操作。

1. 月初班级导入

已选:{{ rosterBanFileName }}

已选:{{ rosterOneVnFileName }}

小麦班课 / 一对一可分开选,不必先合并。可只传一份(只更新该类)。同月再导会覆盖对应类型。

2. 上传小麦课消

测算班课 / 1vN / Baby / 寒暑假 / 分成。

{{ fillPendingCount }}
老师填报待审批

同意后才计入底稿。

{{ feedbacks.length }}
有误反馈待处理

改完后请重新下发。

老师填报审批 {{ fillApprovals.length }}

老师提交后在此展开明细核对;确认无误再同意。撤回须填写原因。仅「已通过」会计入工资底稿。

姓名类型状态 辅班测评转介绍谈单续班试听填报合计 提交时间操作
{{ r.name }} {{ empTypeLabel(r.emp_type) }} {{ r.fills_status_label }} {{ r.assist_times || 0 }}次 / {{ formatMoney(r.assist_total) }} {{ r.assess_count || 0 }}次 / {{ formatMoney(r.assess_total) }} {{ formatMoney(r.referral_attended_amount) }} {{ formatMoney(r.deal_amount) }} {{ formatMoney(r.renewal_ready_amount) }} 课 {{ formatMoney(r.trial_class_amount) }} / 报 {{ formatMoney(r.trial_enroll_amount) }} {{ formatMoney(r.fills_total) }} {{ r.submitted_at ? r.submitted_at.replace('T',' ').slice(0,19) : '—' }}

辅班

{{ r.assist_times }} 次 × {{ formatMoney(r.assist_unit || 30) }} = {{ formatMoney(r.assist_total) }}

试听({{ (r.details && r.details.trials || []).length }})· 课时费 {{ formatMoney(r.trial_class_amount) }} · 报名奖金 {{ formatMoney(r.trial_enroll_amount) }}

无明细

序号类型姓名日期安排老师人数金额计入
{{ i + 1 }} {{ t.kind_label || '—' }} {{ t.student_name || '—' }} {{ t.trial_date || '—' }} {{ t.arrange_teacher || '—' }} {{ t.people || 1 }} {{ formatMoney(t.amount) }} {{ t.bucket || '—' }}

测评({{ (r.details && r.details.assessments || []).length }})· {{ formatMoney(r.assess_total) }}

姓名日期安排老师金额
{{ a.student_name || '—' }} {{ a.assess_date || '—' }} {{ a.arrange_teacher || '—' }} {{ formatMoney(a.unit_amount) }}

转介绍({{ (r.details && r.details.referrals || []).length }})· 已上课计入 {{ formatMoney(r.referral_attended_amount) }}

序号新学员老学员报名班级金额已上课计入奖金
{{ ref.seq }} {{ ref.new_student }} {{ ref.old_student }} {{ ref.enroll_class || '—' }} {{ formatMoney(ref.amount) }} {{ ref.attended ? '是' : '否' }} {{ ref.count_in_bonus ? '是' : '否' }}

谈单({{ (r.details && r.details.deals || []).length }})· 已开课计入 {{ formatMoney(r.deal_amount) }}

学生班级金额第一次上课已开课计入奖金
{{ d.student_name || '—' }} {{ d.class_name || '—' }} {{ formatMoney(d.amount) }} {{ d.first_class_date || '—' }} {{ d.started ? '是' : '否' }} {{ d.count_in_bonus ? '是' : '否' }}

续班 · 可计合计 {{ formatMoney(r.renewal_ready_amount) }}

以「班级确认」为准;旧版逐人登记仅在有金额时显示。

班级确认({{ (r.details && r.details.roster_renewals || []).length }})

暂无已确认班级

班级类型应续实续 计价升班续班奖金合计奖金 新上课日计入本月
{{ n.class_name || '—' }} {{ n.class_kind_label || '—' }} {{ n.class_kind === 'one_vn' ? '—' : n.expected_renew_count }} {{ n.class_kind === 'one_vn' ? '—' : n.actual_renew_count }} {{ n.is_upgrade ? ('是 · ' + formatMoney(n.upgrade_bonus)) : '否' }} {{ formatMoney(n.renew_bonus) }} {{ formatMoney(n.bonus_amount) }} {{ n.new_class_date || '—' }} {{ n.count_in_bonus ? '是' : '否(未到上课日)' }}

本月暂无待审批 / 已通过可撤回的老师填报。

有误反馈 {{ feedbacks.length }}

老师/教务点「数据有误」后的备注,请按反馈改完后重新下发。

姓名类型反馈内容时间
{{ f.name }} {{ empTypeLabel(f.emp_type) }} {{ f.comment }} {{ f.confirmed_at ? f.confirmed_at.replace('T',' ').slice(0,19) : '—' }}

本月暂无「数据有误」反馈。

教务/行政奖金 (无课时项,直接填奖金;改完后重新下发)

姓名奖金操作
{{ row.name }}
暂无教务/行政人员

临时老师工资 {{ tempPayroll.status_label || '填写中' }}

临时老师无需登录、无需本人确认。总管填写后提交,校长审批通过即可发放。

校长已退回:{{ tempPayroll.review_comment }}

姓名项目次数单次金额总金额收款账号操作
{{ r.name }} {{ r.project || '—' }} {{ r.times }} {{ formatMoney(r.unit_amount) }} {{ formatMoney(r.total_amount) }} {{ r.pay_account || '—' }}
暂无临时老师,请添加。

合计 {{ tempPayroll.line_count || 0 }} 人 · {{ formatMoney(tempPayroll.total_amount) }}

全职录入 (先点修改,再保存;课时等级如 9/15/17)

姓名绩效基础课时课时等级 试听课(填>0覆盖老师明细)试听报名奖金(填>0覆盖插班明细) 寒暑假班课时费(课消自动,可改)寒暑假班奖金操作
{{ row.name }}

本月薪资 · {{ snapStatusLabel }}

尚未下发本月底稿,请等待工资总管下发。

总管已撤回:{{ fillReport.review_comment }}。请修改后重新提交。

填报已提交,等待工资总管审批,暂不可修改。

填报已通过审批。如需改数请联系工资总管撤回。

本月底稿已确认,报表不可再改。如需改数请到「工资确认」点数据有误,或联系工资总管重新下发。

填报状态 {{ fillReport.status_label || '填写中' }}

流程:填写/删除 → 提交总管 → 同意后生效;撤回会注明原因。

本月已填合计:辅班 {{ formatMoney(assistTotal) }} · 测评 {{ formatMoney(assessTotal) }} · 转介绍 {{ formatMoney(refAttendedTotal) }} · 谈单 {{ formatMoney(dealTotal) }} · 试听课时费 {{ formatMoney(trialClassTotal) }} · 试听报名 {{ formatMoney(trialBonusTotal) }} · 续班预估 {{ formatMoney(renewPreview.total) }}

尚未提交:总管审批列表里看不到你,工资底稿也不会计入上述金额。

试听 (单独试听→课时费:1人100/次,>1人120/次;插班试听→40/人;试听成功报名额外:单独+60/人、插班+40/人)

预估 {{ formatMoney(trialFormPreview) }}({{ trialFormBucketLabel }})
序号类型姓名日期安排老师人数金额计入
{{ i + 1 }} {{ t.kind_label || trialKindLabel(t.kind) }} {{ t.student_name || '—' }} {{ t.trial_date || '—' }} {{ t.arrange_teacher || '—' }} {{ t.people || 1 }} {{ formatMoney(t.amount) }} {{ t.bucket || trialBucketLabel(t.kind) }}
暂无试听记录

单独试听课时费 {{ formatMoney(trialClassTotal) }} · 试听报名奖金 {{ formatMoney(trialBonusTotal) }} · 合计 {{ formatMoney(trialClassTotal + trialBonusTotal) }}

辅班 (先点修改,再保存;默认每次 30 元)

测评 (每次 20 元;请自己提前记好,月底再补容易漏)

金额 20 元/次
序号姓名测评日期安排老师金额
{{ i + 1 }} {{ a.student_name || '—' }} {{ a.assess_date || '—' }} {{ a.arrange_teacher || '—' }} {{ formatMoney(a.unit_amount || 20) }}
暂无测评记录

测评合计:{{ assessments.length }} 次 × 20 = {{ formatMoney(assessTotal) }}

转介绍 (第1条100元,第2条起每条150元;勾选已上课才计奖金)

下一条自动金额:{{ referrals.length ? 150 : 100 }} 元

序号新学员老学员报名班级金额已上课
{{ r.seq }} {{ r.new_student }} {{ r.old_student }} {{ r.enroll_class || '—' }} {{ formatMoney(r.amount) }}

已上课合计计入运营奖金:{{ formatMoney(refAttendedTotal) }}

谈单 0~500 (填学生/金额/班级/第一次上课时间;开始上课后才计奖金)

序号学生金额班级 第一次上课已开课
{{ i + 1 }} {{ d.student_name || '—' }} {{ formatMoney(d.amount) }} {{ d.class_name || '—' }} {{ d.first_class_date || '—' }}
暂无谈单记录

已开课合计计入运营奖金:{{ formatMoney(dealTotal) }}

续班确认 (班名含「精」:续班档位×2,升班也×2 即 40/人;普通班升班 20/人;1vN 仍按学费 2%)

勾选后点下方确认才计入;不需要算续班的班请取消勾选再确认——会取消该班此前确认,不再计入奖金。

若班级已结课、小麦名单里已没有,可在下方「添加已结课班」自行补录,再按同样流程确认续班奖金。总管重导名单不会覆盖你自建的结课班。

续班 {{ formatMoney(renewPreview.regular) }} · 升班 {{ formatMoney(renewPreview.upgrade) }} · 1vN {{ formatMoney(renewPreview.one_vn) }} · 合计 {{ formatMoney(renewPreview.total) }}
班级类型名单 应续实续 1vN学费新上课日 升班升班奖金 档次预估奖金状态
{{ c.class_name }} 已结课 自建
学员 {{ c.students.length }} {{ s.student_name }}
{{ c.class_kind_label }} {{ c.roster_count }} {{ c.expected_renew_count }} {{ c.actual_renew_count }} {{ c.class_kind==='regular' ? formatMoney(previewUpgradeBonus(c)) : '—' }} {{ renewTierLabel(c) }} {{ formatMoney(previewClassBonus(c)) }} {{ c.confirm_status === 'confirmed' ? '已确认' : '待确认' }}

本月尚无班级名单。若班级已结课不在小麦导出里,请用上方表单添加后确认续班。

工资底稿确认 · {{ snapStatusLabel }}

尚未下发本月底稿。请先在「提交工资报表」填好并点「提交给总管审批」,总管同意后再下发。

总管已撤回:{{ fillReport.review_comment }}。请修改后重新提交。

已提交,等待工资总管审批,暂不可修改。

已通过审批。如需改数请联系工资总管撤回。

本月底稿已确认,不可再改填报。

填报状态 {{ fillReport.status_label || '填写中' }}

填错可删除;填完后提交总管,同意后生效。

转介绍 / 谈单 (开始上课后才计奖金)

序号学生金额报名班级 第一次上课已开课
{{ i + 1 }} {{ d.student_name || '—' }} {{ formatMoney(d.amount) }} {{ d.class_name || '—' }} {{ d.first_class_date || '—' }}
暂无记录

已开课合计:{{ formatMoney(dealTotal) }}(总管同意后计入工资)

工资底稿确认 · {{ snapStatusLabel }}

尚未下发本月底稿,请等待工资总管下发后再确认。

工资底稿确认 · {{ snapStatusLabel }}

尚未下发本月底稿,请等待工资总管下发后再确认。

兼职登记 (先点修改,再添加)

日期次数小时备注
{{ t.work_date }}{{ t.times }}{{ t.hours }}{{ t.note }}