使用 Vue 3 + PrimeVue 构建的课程筛选与选课模拟工具,支持按条件筛选、时间网格筛选、选课模拟与冲突高亮、已选课程列表等功能。
重构版本位于 vue-course-selection 目录(本仓库的主要可运行代码)。
核心功能:
- 多条件筛选:课程性质/校区/开课学院/全文搜索
- 时间网格筛选:按星期与节次筛选,常用/全部时段切换
- 选课模拟:在课程表内选择/退选;自动检测并高亮时间冲突
- 已选课程列表:集中查看、退选、快捷跳转“课程评价”
- 长文本优化:单元格默认显示 4 行,点击弹出完整信息
- 本地持久化:已选课程保存至浏览器 localStorage
- 深色模式:跟随系统主题
- 进入子项目并安装依赖
cd vue-course-selection
npm ci- 启动开发服务器
npm run dev -- --host 0.0.0.0 --port 5173- 生产构建与预览
npm run build
npm run preview- 运行时数据位于子项目
public/data/:courses.json:课程列表(包含parsedTimeSlots)filters.json:筛选项timeSlots.json:所有可用时间段
- 如需从 CSV 重新生成数据(需要
source.csv):
cd vue-course-selection
npm run preprocess脚本 scripts/csv-to-json.js 会解析排课信息,生成上述 JSON 文件。
- 构建产物位于
vue-course-selection/dist/,可直接部署到任意静态托管平台(如 Vercel、Netlify、GitHub Pages 等)。
Creative Commons Zero License