牛 牛逼WIKI English

烘焙排班主管:周排班表生成工具——技能标签加可用时间进,排班草稿和冲突标红一起出

适用模型:Claude / GPT-4 级别分类:烘焙店难度:高级 更新

请为我编写一个单文件 HTML 的烘焙门店周排班工具,浏览器直接打开
就能用,不联网、不装任何依赖、数据只存本地。把它做成一个排班
主管的草稿板,不是自动排班机。

需要录入的数据:
1. 员工名册:姓名、技能标签(多选:开炉/裱花/收银/理货)、
   认证等级(独立操作/协助)、每周工时上限
2. 可用时间:每个员工本周哪些时段不可用(按天 + 时段勾选),
   支持整段不可用和部分时段不可用
3. 时段需求:每个营业时段需要的总人数,以及必备技能
   (该时段至少一名带此技能的独立操作级员工在场)

核心功能:
- 生成周排班草稿:人名 × 时段的表格,点击格子即可排入/移除/
   换人,手动可改一切——工具出草稿,人做决定
- 冲突标红,四类,图例说明:
  a 技能断档:该时段有必备技能但无独立操作级员工覆盖
  b 超工时:某人本周排入小时数超过其上限(格子边角标数字)
  c 撞可用时间:排进了该员工标记不可用的时段
  d 班次间隔不足:某人闭店班与次日开炉班的间隔小于【间隔下限】
  小时
- 只标红,不自动消解冲突——不允许「一键修复」按钮:排班的每个
  权衡都应该由人做完,工具的职责是让人看不见的冲突看得见
- 每人周工时合计栏,随表格实时更新;周工时接近上限(距上限
  【余量警示】小时以内)的用黄色提示,超了的红色

数据与导出:
- localStorage 保存,刷新不丢;提供「清空本周」和「复制为下周
  模板」两个动作
- 一键复制为纯文本周表(给员工群发用,格式对齐,冲突不导出——
  发出去的表是决定,不是讨论稿)

界面约束:
- 单屏放下,字号适合排班主管在手机上看
- 所有交互不弹窗、不跳页,行内完成

为什么这样写

「草稿板而不是自动排班机」是整个工具的定位:排班是技能结构、人情、法定边界和个人生活的混合权衡,全自动排班表看似省事,实际把排班主管变成和一个黑箱扯皮的人。工具出草稿、人点格子,每一步改动都是显式决定——冲突出了问题能追溯到是谁在什么时候改的,责任链清晰。

四类冲突标红里,「技能断档」和「班次间隔不足」是烘焙店特有的:前者是上一条审计器里「人头够但班开不了」的实时版;后者是烘焙早班的隐藏雷——开炉班凌晨到岗,前一天闭店班晚上十点走,同一个人连着排两个班,表上看是两个不同的格子,现实中是同一个员工二十小时没睡。间隔下限做成变量,因为各店班次结构不同,写死一个数反而没人信。

不做「一键修复」是刻意的设计克制:自动修复会同时动好几个人的班,每个动作都合理,合起来可能把某个员工的休息日拆碎——而这种碎裂只有人看得见。冲突标红把问题变成显眼的方块,决策留给人,这个分工才是工具和主管之间正确的责任边界。

发群导出「冲突不导出」也出于同一逻辑:发到员工群里的表是最终决定,红标是排班过程中的内部讨论材料。把讨论稿和决定混在一起发出去,员工看到的不是排班,是自己的休息日被公开讨论。

变量

变量 说明
班次间隔下限 闭店班到次日开炉班的最小间隔小时数——防「两个格子一个人连轴」
工时余量警示 距周工时上限还差几小时开始黄标——留出应对临时调班的缓冲
时段划分 工具按店内的营业时段结构建表(开炉准备/出炉早高峰/午后/晚市/闭店),建表时给出

排班小工具工时统计