乐于分享
好东西不私藏

开源排课系统“设计模板”全拆解

开源排课系统“设计模板”全拆解

📅 开源排课系统“设计模板”全拆解

手把手教你搭一套智能排课工具(纯前端·免费)

适用场景:中小学教务排课、培训机构课表编排、教师个人教学规划。

核心亮点:无需服务器,一个HTML文件直接运行,数据本地存储,支持Excel导入导出。

 一、这个系统能帮你做什么?(功能速览)

课时设置:按年级(1-6年级)配置每门学科每周课时,自动统计是否超周上限。

班级设置:灵活配置每个年级的班级数量,一键生成班级列表(如“三年级5班”)。

任课表:为每个班级的每门学科指定教师,支持Excel模板批量导入/导出。

排课规则:主课优先节数、每日同科上限、连堂偏好、教师日课时上限,支持自定义“禁止/强制”规则。

课表输出:一键智能排课,自动生成全校总课表、班级课表、教师课表,并导出为Excel文件。

二、技术架构模板(搞懂这5张表,你就掌握了骨架)

GRADES(年级列表):改成“初一~初三”或“小班~大班”,系统自动适配。

SUBJECTS(学科列表):增减学科后,系统所有界面自动联动。

DEFAULT_GRADE_HOURS(默认课时):修改数字,调整每个年级的课时总量。

teacherAssignments(教师分配表):在界面填写或通过Excel导入。

scheduleRules(排课规则库):界面点选配置,无需写代码。

三、搭建&定制步骤(照着做,半小时改成你自己的)

Step 1:下载源码(HTML文件),用记事本或VSCode打开。

Step 2:修改基础配置(搜索代码顶部):

将 SUBJECTS 改成你校的学科,GRADES 改成你的年级,DAYS 改成上课天数(如周一至周五)。改完保存,刷新页面即可。

Step 3:调整默认课时模板:

找到 DEFAULT_GRADE_HOURS 对象,将各年级语数外等周课时改为符合实际的数据。

Step 4:配置排课规则(图形化操作,无需写代码):

在“排课规则”面板里直接点选:主课优先前几节、每日同科上限、是否连堂,以及新增“禁止/强制”规则。

Step 5:上传任课表 & 导出Excel:

点击“下载模板”填写教师姓名后上传,点击“开始排课”,确认无误后一键导出Excel。

 四、进阶改造入口(给懂点技术的老师)

改成“每周上6天课”:改 DAYS 数组和 periodsPerDay 默认值。

调高“主课优先节数”:改 ruleConfig.mainSubjectPriorityCount 默认值。

指定某教师周三下午不排课:在“高级规则”下拉框选“教师”,输入姓名,添加“禁止”规则。

修改Excel导出文件名:搜索 XLSX.writeFile,改第二个参数。

五、常见问题(FAQ)

Q:数据会丢吗?

A:存在浏览器本地,清除缓存才会丢。建议排完用“导出备份”保存一份JSON文件。

Q:我能部署到网上让同事一起用吗?

A:可以。将HTML上传到任何静态托管服务(如阿里云OSS、Gitee Pages),大家访问同一网址即可。注意数据是各存各的浏览器,如需共享需二次开发后端。

Q:排课结果有冲突怎么办?

A:系统会标注“冲突/漏课”数量。可以尝试:①减少某学科周课时;②放宽规则(如增加每日同科上限);③手动在Excel中微调。

 六、获取方式

本系统为完全开源免费模板,可直接下载HTML文件使用。作者已经部署到code上,访问:https://xssx111.coze.site可直接使用。

如需完整源码文件或在线演示地址,欢迎在评论区留言或私信,我看到后第一时间发送。

排课不是玄学,是一套可以标准化、模板化的工程。

希望这份“设计蓝图”能帮你节约每周2小时的排课时间,把精力还给教学本身。

#排课系统 #开源工具 #教务管理 #学校信息化 #Excel自动化