# 实验室预约系统 **Repository Path**: wstrawberryjuice/laboratory-reservation-system ## Basic Information - **Project Name**: 实验室预约系统 - **Description**: 一个允许教师灵活预约课程实验时间的实验室预约系统前端项目,基于vue框架的实现 - **Primary Language**: Unknown - **License**: EPL-1.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2024-04-09 - **Last Updated**: 2024-06-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 1.项目简介 **实验室预约系统** 一个基于Vue前端框架开发的允许教师灵活预约课程实验时间的实验室预约系统。 ### 2.1用户需求 系统默认包含4个实验室(901、902、903、904)可以预约。 共18周,每实验室支持上午4节(1234节)下午4节(5678节)共8次课。 教师,需先创建包含课程名称,学时的实验课若干。录入课程后,基于课程预约。 实验时间固定。例如,预约901,1-8周每周二12节;902,1-8周每周四56节等。 ### 2.2需求分析 基于需求,合理设计接口及数据类型约束。 系统需登陆使用。通过会话实现登录功能 已创建教师用户:BO,BO只能创建自己的课程,可以创建包含课程名称,学时的实验课若干。录入课程后,基于课程预约。BO选择自己喜欢的时间可以查询是否有空的实验室。查询过程中自动判断BO个人时间是否冲突、以及BO选择的课程时长是否超过规定课程时长 ### 2.3界面设计 #### 使用UI框架 Elementplus Naive UI 一个仅支持Vue3的库 #### 插件 vscode插件:iconfont插件 #### 布局设计 通过侧边栏切换功能:1.全校实验室课表 2.添加个人课程 3.预约实验室 4.查看个人课表 点击导航栏头像左边按钮下拉出退出登录按钮进行退出 以下拉选择周数(例如:第一周),实验室以类似课表形式渲染显示该周内全校课表。 通过个人课表可以查看BO用户自己预约的课程 教师BO选择实验课程,想要预约的时间,进行查询空教室 基于已有的课程选择时间和教室完成预约 ### 3技术架构 本项目采用Vue3作为核心技术 **功能** 验证个人时间是否冲突:同一时间段该老师只能有一门实验课、验证是否超过课程时长,以上条件都符合后会显示可用教室 合理使用异步加载/函数式组件/插槽技术 Form表单中使用统一的规则约束来对表单进行校验。 **** **数据流** 预约成功后,个人信息中插入包含课程/实验室/周次/星期/节组成的实验数据。全校课程中也加入。预约信息在全校课表和个人课表中均渲染。课程预约后信息在课程中修改统计该门课已预约时间 **数据** 系统中BO已有一门课程,但没有预约信息,同时全校课表中已有其他两门课程 ### 4开发环境 windows11 开发工具:vscode 部署工具:腾讯云服务器、Xshell7、Xftp7 打包工具:vite ### 5模块描述 dist :项目打包文件夹 img: 静态图片资源 src/data:已有数据 router: 路由配置 service: 业务逻辑文件 store:数据缓存 type:数据类型 views:页面组件 App.vue:根组件 main.ts:入口文件