Skip to content

Twoliges/HowMuchTimeLeft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

你的时间非常值钱 - How Much Time Left

你的时间非常值钱-HMTL,完美适配某公司的实习生弹性上下班机制,让你知道还要干多久,同时让你知道你的时间有多值钱。

纯前端弹性工时记账工具。录入打卡与请假,自动计算盈亏分钟数、请假扣款、预估当月实发工资。


核心规则

时间定义

每天的 5:00 ~ 次日 5:00 计为一天:

时段 默认值 说明
Work 08:00-17:30 默认工作时间段
Rest 12:00-13:30 / 17:30-18:00 休息时段,不计工时(可添加多个)
Core 09:00-17:30 必须在岗时段(配置项,不影响当前计算)

净工时 = Work − Rest = 8 小时 / 天(480 分钟)。

薪资规则

每分钟工资 = 月薪 ÷ (当月实际工作日 × 净工时)
  • 准时满勤:拿满应得薪资
  • 少工作:按分钟扣款
  • 多工作:不计加班费
  • 溢出可抵亏空:A 天多干的分​​钟数可以抵消 B 天的缺勤

请假规则

请假以时段录入(如 08:00-13:50),系统自动扣除该时段内的 Rest 重叠:

  • 请假分钟视同已打卡,填补有效工时缺口
  • 请假分钟按分钟直接扣款
  • 请假扣款与亏空扣款分开计算

日类型(手动覆盖)

默认每周一~五为工作日,六日为休息日。用户可手动将任意日期覆盖为:

类型 日历标记 考勤
法定假日 红色 不考勤,不计入当月工作日
调休补班 金色 强制考勤,计入当月工作日
恢复默认 / 无标记 回到默认周末/工作日规则

点击日期后,详情底部显示当前日类型与三个切换按钮。工作日总数随覆盖实时联动,薪资计算自动调整。


数据模型

每天存储

{
  punches:      [['13:51', '17:35']],       // 正常打卡
  leaveRecords: [['08:00', '13:50']]         // 请假打卡
}

日类型覆盖存储于独立对象:

dayOverrides: { '2026-06-10': 'holiday', '2026-06-14': 'swap' }

单日计算

正常打卡净时长 = Σ(打卡区间) − Rest 在其内的重叠
请假净时长     = Σ(请假区间) − Rest 在其内的重叠
有效工时       = 正常打卡净时长 + 请假净时长
日差额         = 有效工时 − 480

月度汇总

月度净差额   = Σ 已填日的日差额                   (溢出抵亏空)
请假扣款     = Σ 请假净时长 × 每分钟工资           (按分钟扣)
亏空扣款     = max(0, −月度净差额) × 每分钟工资
扣款合计     = 请假扣款 + 亏空扣款
预估实发     = 已填满勤薪资 − 扣款合计

快速开始

环境要求

零依赖 — 纯 HTML/CSS/JS,任意现代浏览器即可。

运行

# 方式一
双击 index.html

# 方式二
python -m http.server 8080
# 打开 http://localhost:8080

使用示例

场景一:请假半天

上午请假 08:00-13:50,下午实际打卡 13:51-17:35

步骤 操作
1 点击日历中该日期
2 正常打卡区:13:51 ~ 17:35,点 + 添加
3 请假打卡区:08:00 ~ 13:50,点 + 添加
正常打卡:13:51→17:35 = 224min − Rest 5min = 219min
请假打卡:08:00→13:50 = 350min − Rest 90min = 260min
有效工时:219 + 260 = 479min
请假扣款:260 × 每分钟工资

场景二:设定法定假日

端午节 6 月 22 日(周一)放假:

步骤 操作
1 在日历中点击 6 月 22 日
2 点击底部 「设为法定假日」
3 日历上该日标记红色 ,当月工作日自动 −1

场景三:溢出弥补亏空

  • 周一迟到 37min(亏空 −37)
  • 周二早到 30min(溢出 +30)
  • 月度净差额 = −37 + 30 = −7min(仅扣 7 分钟)

功能一览

功能 说明
全局设置 月薪、Work/Rest/Core 时段自由调整
考勤日历 按月浏览,点击日期填写记录
日类型覆盖 手动设法定假日/调休补班,工作日自动联动
正常打卡 上下班时间录入,自动扣 Rest
请假打卡 请假时段录入,自动扣 Rest 后按分钟扣款
实时计算 日差额即时显示,溢出抵消亏空
月薪预估 请假 + 亏空扣款 = 实发预估
数据持久化 自动保存至 localStorage
批量默认卡 选定日期区间,所有工作日一键填充默认打卡
数据导入/导出 JSON 备份文件,带版本号,支持跨版本迁移

日历标记:红 = 法定假日 | 金 = 调休补班 | 灰 = 周末 | 绿 +Xm = 溢出 | 红 -Xm = 亏空


项目结构

HowMuchTimeLeft/
├── index.html    # 单页应用(HTML + CSS + JS)
└── README.md

About

你的时间非常值钱-HMTL,完美适配某公司的弹性上下班机制,让你知道还要干多久,同时让你知道你的时间有多值钱。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages