{{ currentYear }}年{{ currentMonth + 1 }}月
设置

{{ currentMonth + 1 }}月预计到账

¥ {{ boardMain.int }} {{ boardMain.frac }}

{{ settings.payDayB }}日 {{ money(payoutThisB) }} · {{ settings.payDayA }}日 {{ money(payoutThisA) }}

出勤 {{ monthStats.workDays }}/{{ settings.fullDays }} 工时 {{ fmt(monthStats.totalHours) }}h 工时收入 {{ money(monthStats.basePay) }}
日一二三四五六
{{ day }} {{ day }}
{{ getRecord(day).shift_type === 'day' ? '白' : '夜' }} {{ fmt(getRecord(day).hours) }}h 休 假 —
线上 → 当月{{ settings.payDayA }}号发 · 线下 → 次月{{ settings.payDayB }}号发

奖励与处罚统一在次月{{ settings.payDayB }}号结算

本月到账 时薪 {{ settings.rate }} 元/h

{{ currentMonth + 1 }}月{{ settings.payDayB }}日

{{ prevLabel.month + 1 }}月下半月 {{ fmt(prevStats.h2) }}h + 奖惩 {{ signed(prevStats.adjustNet) }}

{{ money(payoutThisB) }}

{{ currentMonth + 1 }}月{{ settings.payDayA }}日

本月上半月 {{ fmt(monthStats.h1) }}h · 纯工时

{{ money(payoutThisA) }}
本月现金流合计 {{ money(payoutThisB + payoutThisA) }}

本月工时

上半月 1–{{ settings.cutoff }}日

{{ fmt(monthStats.h1) }}h

{{ money(monthStats.h1 * settings.rate) }}

下半月 {{ settings.cutoff + 1 }}日–月底

{{ fmt(monthStats.h2) }}h

{{ money(monthStats.h2 * settings.rate) }}

出勤天数{{ monthStats.workDays }} 天(白 {{ monthStats.dayShifts }} / 夜 {{ monthStats.nightShifts }})
休息 / 请假{{ monthStats.restDays }} / {{ monthStats.leaveDays }} 天
工时收入合计{{ money(monthStats.basePay) }}

本月奖惩

次月{{ settings.payDayB }}号结算

以下金额不计入当月工资

满勤奖{{ monthStats.workDays >= settings.fullDays ? '(' + fmt(monthStats.totalHours) + 'h×' + settings.fullBonusPerHour + ')' : '(未达' + settings.fullDays + '天)' }} {{ monthStats.fullBonus > 0 ? '+' + money(monthStats.fullBonus) : '¥0' }}
查获奖励({{ monthStats.foundCount }}件) {{ monthStats.foundBonus > 0 ? '+' + money(monthStats.foundBonus) : '¥0' }}
漏查处罚({{ monthStats.missedCount }}件) {{ monthStats.missedPenalty > 0 ? '-' + money(monthStats.missedPenalty) : '¥0' }}
其他扣款 {{ monthStats.otherPenalties > 0 ? '-' + money(monthStats.otherPenalties) : '¥0' }}
奖惩净额 {{ signed(monthStats.adjustNet) }}

处罚明细

{{ d.day }}日 {{ d.reason }} -{{ money(d.amount) }}

{{ nextLabel.month + 1 }}月{{ settings.payDayB }}日预估

{{ money(payoutNextB) }}
本月下半月工时 {{ fmt(monthStats.h2) }}h{{ money(monthStats.h2 * settings.rate) }}
本月奖惩结算{{ signed(monthStats.adjustNet) }}

处罚已超过下半月工时收入,实发按 ¥0 计,差额可能顺延

诊断

本月还没有打卡记录

点这里回日历,选中日期就能记下白班或夜班。
记清一天,这里就会算好预估与满勤进度。

去打卡

薪酬规则

满勤奖按「当月总工时 × 单价」计算,属于奖励,不并入当月工资。

奖惩标准

发放周期

1–{{ settings.cutoff }}日工时 → 当月{{ settings.payDayA }}号发;{{ settings.cutoff + 1 }}日–月底工时 + 当月奖惩 → 次月{{ settings.payDayB }}号一起发。

班次默认工时

夜班跨天,工时全部归入开始打卡的那一天。

数据

已存打卡记录 {{ recordCount }} 天

数据仅保存在本机浏览器(localStorage)。
清除浏览器数据会丢失,建议定期导出备份。

{{ currentMonth + 1 }}月{{ selectedDay }}日 打卡

工时计入 {{ selectedDay <= settings.cutoff ? `${currentMonth + 1}月${settings.payDayA}号` : `${nextLabel.month + 1}月${settings.payDayB}号` }} · 奖惩次月{{ settings.payDayB }}号结算

结算工时 {{ draftRecord.hours }} h

以下奖惩不计入当月工资,次月{{ settings.payDayB }}号结算

查获 +{{ settings.foundBonus }}/件

{{ draftRecord.contraband_found }}

漏查 −{{ settings.missedPenalty }}/件

{{ draftRecord.contraband_missed }}
{{ toast }}