Skip to content

Saxon-Liu/ban

Repository files navigation

排班管理系统

一个本地优先的排班工具,适合在 Windows 电脑上离线使用。

你可以用它完成这些事情:

  • 维护人员信息
  • 维护班次信息
  • 按月份排班、调整、删除
  • 按人员查看排班和休息统计
  • 导出月度排班表
  • 导出和导入本地配置数据

核心数据保存在本地,不依赖后端服务即可使用。

界面预览

登录页

登录页

排班主页

排班主页

基础配置页

基础配置页

下载哪个安装包

GitHub Release 页面会提供 3 个文件:

  • ban-<version>-setup.exe 这是安装版。适合大多数用户。 双击后按向导安装,会在系统里生成正式安装目录和卸载入口。

  • ban-<version>-portable.exe 这是便携版。适合放在 U 盘、移动硬盘或临时目录中直接运行。 不需要安装,双击即可打开。

  • ban-<version>-green.zip 这是绿色版压缩包。适合想先解压再运行、自己管理目录的用户。 先解压,再运行里面的主程序。

如果你不确定下载哪个,优先选择:

  • 普通电脑日常使用:setup.exe
  • 不想安装,只想直接运行:portable.exe
  • 想手动解压保留完整目录:green.zip

如何安装和使用

安装版

  1. 下载 ban-<version>-setup.exe
  2. 双击运行
  3. 按提示选择安装目录
  4. 安装完成后,从桌面或开始菜单打开

便携版

  1. 下载 ban-<version>-portable.exe
  2. 放到你希望保存的位置
  3. 双击直接运行

绿色版

  1. 下载 ban-<version>-green.zip
  2. 解压到一个独立文件夹
  3. 进入解压后的目录
  4. 运行主程序

首次使用建议

首次打开后,建议按这个顺序操作:

  1. 先在“班次管理”里配置班次
  2. 再在“人员管理”里录入人员
  3. 然后开始按月份排班
  4. 配置完成后,到“配置管理”里导出一份备份

主要功能

  • 人员管理:新增、编辑、删除、导入、导出人员
  • 班次管理:新增、编辑、删除班次
  • 排班管理:按月份拖拽排班、查看、修改、删除,支持人员搜索
  • 人员视图:按人员维度查看月度排班和休息统计,支持搜索添加人员
  • 额外休息配置:按月份配置补休或额外休息天数
  • 节假日展示:在排班页面标出法定节假日和调休工作日
  • 配置管理:导出配置、导入配置、修改登录密码、系统初始化
  • Excel 导出:导出月度排班表

如果导入的历史数据中存在同名人员或同名班次,列表和排班页会在名称后显示短尾号,方便区分。

数据保存与备份

数据保存在哪里

本系统默认把数据保存在本地 IndexedDB 中。

  • 浏览器模式:数据保存在当前浏览器本地
  • 桌面版模式:数据保存在当前桌面应用环境中

这意味着:

  • 换电脑后,原来的数据不会自动同步过去
  • 重装系统、清理本地数据、删除应用数据后,可能导致数据丢失
  • 建议定期手动备份

节假日数据

系统内置中国法定节假日和调休工作日数据,离线也可以展示。节假日只用于页面提示,不会自动影响排班、月休统计或拖拽规则。

在“配置管理”中可以:

  • 手动同步指定年份节假日
  • 导入节假日 JSON 文件
  • 恢复内置节假日数据

如果当前没有网络,也可以使用 JSON 文件手动导入。

如何备份

推荐定期使用“配置管理”里的导出功能:

  • 可导出人员信息
  • 可导出班次信息
  • 可导出额外休息配置
  • 可选择是否同时导出排班记录
  • 可选择是否包含已删除人员

建议在这些场景前先备份一次:

  • 大批量导入前
  • 修改大量配置前
  • 升级版本前
  • 更换电脑前

如何恢复

导入配置时支持两种方式:

  • 合并导入:保留现有数据,再导入新内容
  • 清空后恢复:先清空现有数据,再完整恢复

默认导入不会包含已删除人员;如需恢复历史人员及其排班,请勾选“包含已删除人员”。

如果你想做“完整还原”,建议这样操作:

  1. 先确认备份文件无误
  2. 选择导入
  3. 勾选“导入前清空现有数据”
  4. 再执行恢复

使用说明

关于删除

删除人员或班次后,它们不再参与后续排班,但历史排班会尽量保留,方便回看旧数据。

  • 删除人员时,会清理今天及未来的待执行排班,今天之前的历史排班保留
  • 删除班次后,该班次不再出现在后续排班中,历史排班中已使用的记录保留
  • 删除后重新新增同名人员或班次,会被视为新的数据

关于搜索和重名

  • 排班页左侧人员列表支持搜索
  • 按人员视图中,添加和切换人员支持搜索选择
  • 未删除的人员和班次不允许同名
  • 导入历史数据导致重名时,系统会自动显示名称尾号用于区分

登录与安全

  • 使用本地口令登录
  • 支持恢复码重置密码
  • 修改密码、重置密码、初始化系统后,已有会话会立即失效
  • 支持滑动续期,避免持续操作中被动退出
  • 自定义密码不会以明文形式保存在本地

说明:

  • 这是本地访问控制,不是服务端账号体系
  • 默认更适合个人或单机环境使用

常见问题

1. 我应该下载哪个文件?

  • 大多数用户:下载 ban-<version>-setup.exe
  • 不想安装:下载 ban-<version>-portable.exe
  • 想手动解压完整目录:下载 ban-<version>-green.zip

2. 为什么换电脑后数据没了?

因为数据默认保存在本地,不会自动同步到别的设备。

3. 如何防止数据丢失?

定期在“配置管理”里导出备份文件。

4. 节假日会自动影响排班吗?

不会。节假日只用于展示提醒,不会自动创建休息班次,也不会修改月休统计。

5. 删除后历史排班还在吗?

通常会保留历史排班。人员删除时会清理今天及未来的待执行排班;班次删除后也不会再用于后续排班。

6. 绿色版和便携版有什么区别?

  • 便携版:一个 exe,直接运行更方便
  • 绿色版:一个 zip,需要先解压,更适合手动管理完整目录

发布文件说明

正式发布文件位于 GitHub Release 页面,当前命名规则如下:

  • ban-<version>-setup.exe:安装版
  • ban-<version>-portable.exe:便携版
  • ban-<version>-green.zip:绿色版

例如:

  • ban-<version>-setup.exe
  • ban-<version>-portable.exe
  • ban-<version>-green.zip

给开发者

如果你只是使用软件,这一节可以忽略。

技术栈

  • Vue 3
  • TypeScript
  • Element Plus
  • IndexedDB
  • Electron 39
  • Vite
  • electron-builder

环境要求

  • Node.js 18 及以上
  • npm 9 及以上
  • Windows x64

常用命令

安装依赖:

npm install

Web 开发:

npm run dev

Electron 开发:

npm run dev:electron

桌面打包:

npm run build:portable
npm run build:setup
npm run build:green
npm run build:all

这些命令会在打包前自动清理当前版本对应的 release/<version>/ 目录,避免同版本重复打包时混入旧产物。

目录结构

.
├─ docs/images/                README 截图资源
├─ electron/                  Electron 主进程与 preload
├─ resources/                 图标等资源
├─ src/                       Vue 业务代码
├─ electron-builder.yml       打包配置
├─ vite.config.ts             构建配置
├─ tsconfig.electron.json     Electron 类型检查配置
└─ package.json               脚本入口

About

离线可用的本地排班管理系统,支持人员班次维护、月度排班、统计与 Excel 导出。

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors