Implement application updates and refinements

This commit is contained in:
2026-07-20 09:44:06 +08:00 Unverified
parent 4fa001cece
commit d4e085b6c5
9 changed files with 1704 additions and 71 deletions
+9 -6
View File
@@ -29,16 +29,18 @@
- 超级、校级、班级三级管理员,同一级支持多个账号
- 超级管理员管理全局事务,并可监督、修改、退回全部审批流程
- 校级管理员管理本校考生和报名流程,按班级批量申领报名号,并提交本校考点、考场档案变更
- 校级管理员管理本校班级、班级管理员、考生和报名流程,按班级批量申领报名号,并提交本校考点、考场档案变更
- 班级管理员只读查看本班考生、成绩和报名状态
- 考生信息修改、考试报名、批量报名号申领、考点考场变更使用可配置的多步骤审批流程
- 当前处理人可将流程转交给同范围的同级管理员
- 自定义报名号生成规则,可组合年份、学校代码、性别、固定值和流水号
- 报名号在创建考生账户时只生成一次,后续考试报名自动复用
- 超级管理员只维护号码规则;校级批量申请最终批准后,系统原子生成固定报名号、随机初始密码和待补录账户
- 批次结果按班级返回校级管理员,并可导出 CSV 安全下发
- 结构化考点与考场档案,包含代码、负责人、应急电话、开放时间、交通、楼栋、楼层、容量、座位区间、类型和状态
- 批次结果按班级返回校级管理员,并可导出 Excel 安全下发
- 结构化考点与考场档案,包含代码、负责人、应急电话、开放时间、交通、楼栋、楼层、容量、座位编排说明、类型和状态
- 考点新增及考点/考场修改先形成申请快照,审批通过后才整体更新正式档案
- 班级、班级管理员、报名号班级配额、考生资料、考点考场和成绩均提供 Excel 模板、导入与当前数据导出;只读角色保留对应导出能力
- Excel 导入逐行校验并返回具体行号;考生资料和考点考场的批量修改仍必须经过配置好的审批流程
- 考务指标与审计日志
- 考生资料审核、通过或退回修改
- 考试报名及科目审核
@@ -60,7 +62,7 @@
- 组织、学校、班级三级数据范围在服务端强制过滤
- 审批实例、当前责任人、转交和监督操作全程留痕
- 桌面端与移动端响应式布局
- 零第三方运行时依赖
- Excel 文件使用 `exceljs` 生成和解析,并限制上传文件大小
## 运行
@@ -73,7 +75,7 @@ npm start
打开 <http://127.0.0.1:4173>。
本地开发无需额外配置,首次运行会自动创建 `data/exam.sqlite` 和完整关系型数据库结构。当前处于开发阶段,不兼容旧版 JSON/单表数据库;已有关系型数据库会在启动时自动升级到 v5,补充分级权限、固定考生报名号、首次改密、注册开关、完整资料、结构化考场、批量建号申请与审批结果结构。
本地开发无需额外配置,首次运行会自动创建 `data/exam.sqlite` 和完整关系型数据库结构。当前处于开发阶段,不兼容旧版 JSON/单表数据库;已有关系型数据库会在启动时自动升级到 v6,补充分级权限、固定考生报名号、首次改密、注册开关、完整资料、学校组织管理、结构化考场、座位编排说明、批量建号申请与审批结果结构。
## 数据库配置
@@ -144,7 +146,7 @@ npm start
npm test
```
测试使用独立临时 SQLite 数据库,覆盖固定报名号跨考试复用、首次登录强制改密、完整资料补录、自主注册开关、三级管理员数据范围、两级审批、同级转交、校级按班级批量申领与终审原子建号、结构化考点考场及变更审批、多科目报名、准考证和成绩完整流程。
测试使用独立临时 SQLite 数据库,覆盖固定报名号跨考试复用、首次登录强制改密、完整资料补录、自主注册开关、三级管理员数据范围、本校班级与班级管理员管理、两级审批、同级转交、校级按班级批量申领与终审原子建号、结构化考点考场及变更审批、多资源 Excel 导入导出、多科目报名、准考证和成绩完整流程。
## 项目结构
@@ -154,6 +156,7 @@ styles.css 公共首页、考生端、管理端响应式样式
app.js 前端路由、状态和业务交互
server.mjs HTTP 服务、认证、权限与全部业务 API
database.mjs 分表结构、SQLite / MySQL 适配与事务仓储
excel.mjs Excel 模板、导入解析与导出工作簿
tests/system.test.mjs 端到端系统测试
data/exam.sqlite 本地运行后生成的 SQLite 数据库
.env.example 开发与生产环境变量模板