班级分管理产品系统

我要开发同款
靠数字飞的鸟2026年03月21日
15阅读

技术信息

语言技术
HTTPHTML5CSSJavaScriptNode.js
系统类型
Web
行业分类
低代码教育校园
参考价格
2

作品详情

行业场景

在班级内,班委通过局域网把分数记录于配置文件中,解决了班长频繁手抄的麻烦,老师可在管理员端下载工作表文件

功能介绍

登录页:
选择自己是哪一个部门,输入密码按Enter登录,也显示出哪些班委没有记录成绩或结果为0(因为这样的结果管理员看不到,以下称为无效值班委)
管理员:
1.设置各班委的密码,仅支持字母和数字(且第一位不为0),输入时指出哪个班委的密码不合规
2.查看各班委的分数总计和每位同学的分数总变化,勾选多选框可以排名为序,封存将开启新的一周并将显示的表格和输入的值周班长信息存入工作簿的下一个工作表(工作簿不存在自动新建)
3.检查历史统计可观察过去的每一周班委导入的结果,封存产生的工作簿可在此下载
4.调整名单,手动输入,一般在首次使用时导入名单(暂不支持有人转学等特殊情况)
班长:
可帮助无效值班委录入总计(已登记的不可修改),有批量填充和未保存离开提醒
其余所有班委:
记录每位同学的分数状况,可精确到星期几,一边输入一边算总计(不能直接输入总计),有批量填充和未保存离开提醒

若重新开始而人员不变,删除records文件夹和configs文件夹下除lib.json、members.json、pwds.json以外的文件(但是你要封存好最后一周并且自己下载好最后一版totally.xlsx),新建一个空的last.json文件以防第一周封存错误

项目实现

使用Node.js作为服务器,接收访问者的请求并返回页面或修改配置,自定义62进制来加密班委的密码并保存在配置中,运行Excel模块来实现新建工作表。
所有前端页面除获取页面、脚本以外,都使用await fetch()来实现网络活动。
班委写分数,在表格里放input(type:number)来实现获取输入数据,监听器(oninput)放在表格元素上,因为对每个输入框都有类似的处理办法。总计在前端算好后使用Array.map方法直接把输入框的值放进2维数组中,不在后端计算。
班长写总计时,使用类似的方法生成空的2维数组,把班长输入的总计放在周六和总计栏中
管理员端,检查历史统计通过发送请求来让服务器执行readDirSync,获取目录下的文件而达到浏览不同星期的目的。周分数统计中,使用了自带的Math.max和Math.min函数,并通过appendChild来把目标行放到最后。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论