值班系统 v1.1.0更新日志 (CHANGELOG)
【摘要】 本项目值班排班管理系统的版本更新记录。本文件遵循 [Keep a Changelog] 风格,日期格式为 YYYY-MM-DD。 [v1.1.0] - 2026-08-24 更新摘要基于 v1.0.0 值班排班管理系统,本次 v1.1.0 版本新增「页面加载自动跳转当前月份」与「人员名称自定义 + 浏览器 localStorage 持久化」两项功能,涉及全栈改动。共修改 5 个文件,新增 4...
本项目值班排班管理系统的版本更新记录。本文件遵循 [Keep a Changelog] 风格,日期格式为 YYYY-MM-DD。
[v1.1.0] - 2026-08-24
更新摘要
基于 v1.0.0 值班排班管理系统,本次 v1.1.0 版本新增「页面加载自动跳转当前月份」与「人员名称自定义 + 浏览器 localStorage 持久化」两项功能,涉及全栈改动。共修改 5 个文件,新增 479 行代码,删除 41 行代码(提交哈希:4696ac6)。
新增功能
1. 页面加载自动跳转当前月份
- 修改前:页面固定显示 1 月排班,用户需手动切换到当前月份。
- 修改后:页面加载时用
new Date()自动定位到当前年份和月份,打开即看到本月排班。 - 涉及文件:
static/js/app.js - 实现要点:
currentYear和currentMonth改为从new Date()动态获取;- 新增
initYearSelect()函数,确保当前年份在下拉框中并自动选中。
2. 人员名称自定义 + 浏览器 localStorage 持久化
- 修改前:人员姓名硬编码在代码中,无法自定义。
- 修改后:用户可通过「👥 人员设置」模态框修改固定 6 人 + 额外 2 人的姓名。
- 自定义名称保存在浏览器
localStorage(key:scheduler_custom_people),刷新不丢失; - 不同用户各自浏览器独立存储,互相不会冲突。
- 自定义名称保存在浏览器
- 涉及文件:全栈(
scheduler.py、app.py、index.html、app.js、style.css) - 实现要点:
- 后端:
Scheduler类新增fixed_people/extra_people可选参数;API 接受自定义人员名参数;缓存 key 包含人员姓名以避免冲突。 - 前端:新增
loadPeopleConfig()/savePeopleConfig()读写localStorage;请求排班时传自定义姓名;模态框交互(打开 / 保存 / 重置 / ESC 关闭)。
- 后端:
技术细节
scheduler.py:FIXED_PEOPLE/EXTRA_PEOPLE改为DEFAULT_FIXED_PEOPLE/DEFAULT_EXTRA_PEOPLE;Scheduler.__init__接受可选参数;算法内部全部改用self.fixed_people等实例属性。app.py:新增_normalize_people()校验人员数量;缓存 key 从year改为(year, tuple(fixed), tuple(extra));/api/schedule用 query params 传人员名,/api/regenerate用 JSON body。app.js:新增initYearSelect()、buildScheduleUrl()、人员模态框全套交互逻辑。index.html:新增人员设置按钮和模态框 HTML 结构。style.css:新增 179 行模态框样式(遮罩层、弹窗、输入框、按钮),与现有渐变主题一致。
文件变更统计
| 项目 | 数值 |
|---|---|
| 修改文件数 | 5 |
| 新增代码行数 | 479 |
| 删除代码行数 | 41 |
| 提交哈希 | 4696ac6 |
变更文件清单
scheduler.pyapp.pytemplates/index.htmlstatic/js/app.jsstatic/css/style.css
[v1.0.0] - 初始版本
值班排班管理系统初始版本,提供按月生成值班排班、月份 / 年份切换、排班算法等基础功能。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)