开发工具:IDEA
服务器:Tomcat9.0, jdk1.8
项目构建:maven
数据库:mysql5.7
前端技术:vue +elementUI
服务端技术:springboot+mybatis
本系统拥有三种角色:管理员、教师和学生,项目采用前后端分离
项目功能描述:
1.管理员:登录、首页、班级管理、课程管理、管理员管理、教师管理、学生管理、选课修改、院系管理、专业管理、设置用户权限等
2.教师:登录、首页、成绩录入、教师课表、授课查询等
3.学生:登录、首页,选修课程、学生课程、成绩查询、课表查询、个人信息修改等
![](https://img-blog.csdnimg.cn/img_convert/15ef13500d145e009365ecc4c3998d2b.png)
学生截图:
![](https://img-blog.csdnimg.cn/img_convert/da149c94bceccc23d7e6f361cd43cc0f.png)
![](https://img-blog.csdnimg.cn/img_convert/62d3a260d2b97ededf373b008141f690.png)
![](https://img-blog.csdnimg.cn/img_convert/8295ba27d17c08522662291429a8b984.png)
![](https://img-blog.csdnimg.cn/img_convert/45f9cf0bd9a8e69de49bd62727943bd7.png)
![](https://img-blog.csdnimg.cn/img_convert/9b31a22458ca85f6153f0177214b0a18.png)
![](https://img-blog.csdnimg.cn/img_convert/6ac80427e55394c9041d7999183923dc.png)
教师截图:
![](https://img-blog.csdnimg.cn/img_convert/8506c0508a2f34c6a3e990c07d3df3bd.png)
![](https://img-blog.csdnimg.cn/img_convert/1bdc54f160c14e702c9662d421ccc4c1.png)
![](https://img-blog.csdnimg.cn/img_convert/dddb7e906b0576494c9d2ac8937d9abf.png)
![](https://img-blog.csdnimg.cn/img_convert/8b57cf22acd943479d31e1ed17f74f04.png)
管理员截图:
![](https://img-blog.csdnimg.cn/img_convert/9f0f02d97c2f4c40b34e89d2b9fbd04a.png)
![](https://img-blog.csdnimg.cn/img_convert/bebde693c6fba54d3fcb3f6d082a256f.png)
![](https://img-blog.csdnimg.cn/img_convert/39da4d8d905bdb21709c258f7fa283cf.png)
![](https://img-blog.csdnimg.cn/img_convert/6780d7ba910de5bc9a12d9170d2a5c8f.png)
![](https://img-blog.csdnimg.cn/img_convert/48f955fd27c666955aa4ae894321fba6.png)
![](https://img-blog.csdnimg.cn/img_convert/c38e0927249f147b92cb6cabcf57801d.png)
![](https://img-blog.csdnimg.cn/img_convert/ac360ae4b05c500a4691b9a78c453bab.png)
![](https://img-blog.csdnimg.cn/img_convert/45edbc0700eb23a8f307ce21186ddb8a.png)
![](https://img-blog.csdnimg.cn/img_convert/44510067be7b404004ac3817897fb935.png)
package com.rainng.coursesystem.service.admin;
import com.rainng.coursesystem.manager.admin.AdminManager;
import com.rainng.coursesystem.model.entity.AdminEntity;
import com.rainng.coursesystem.model.vo.response.ResultVO;
import com.rainng.coursesystem.service.BaseService;
import com.rainng.coursesystem.service.UserService;
import org.springframework.stereotype.Service;
@Service
public class AdminService extends BaseService {
private final AdminManager manager;
private final UserService userService;
public AdminService(AdminManager manager, UserService userService) {
this.manager = manager;
this.userService = userService;
}
public ResultVO get(Integer id) {
AdminEntity entity = manager.get(id);
if (entity == null) {
return failedResult("管理员Id: " + id + "不存在!");
}
entity.setPassword("");
return result(entity);
}
public ResultVO update(AdminEntity entity) {
AdminEntity originEntity = manager.get(entity.getId());
if (originEntity == null) {
return failedResult("管理员Id: " + entity.getId() + "不存在!");
}
if (entity.getPassword().equals("")) {
entity.setPassword(originEntity.getPassword());
} else {
entity.setPassword(entity.getPassword());
}
manager.update(entity);
return result("更新成功");
}
public ResultVO delete(Integer id) {
if (manager.get(id) == null) {
return failedResult("管理员Id: " + id + "不存在!");
}
manager.delete(id);
return result("删除成功");
}
public ResultVO create(AdminEntity entity) {
if (manager.get(entity.getId()) != null) {
return failedResult("管理员Id: " + entity.getId() + "已存在!");
}
manager.create(entity);
return result("添加成功");
}
public ResultVO list() {
return result(manager.list());
}
}
<template>
<div class="course-wrap">
<div class="crumbs">
<el-breadcrumb separator="/">
<el-breadcrumb-item>
<i class="el-icon-fa fa-book"></i> 授课查询
</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div class="container">
<div class="table">
<el-table :data="tableData" stripe>
<el-table-column label="课程Id" prop="id" />
<el-table-column label="课程名" prop="name" />
<el-table-column label="年级" prop="grade" />
<el-table-column label="学分" prop="credit" />
<el-table-column label="上课时间" prop="time" />
<el-table-column label="上课地点" prop="location" />
<el-table-column label="选课人数" prop="selectedCount" />
<!--<el-table-column label="考试时间" prop="examDate" />-->
</el-table>
</div>
</div>
</div>
</template>
<script>
import * as api from "../../api/teacher/course";
export default {
name: "TeacherCourse",
data() {
return {
tableData: []
};
},
methods: {
getList() {
api.list().then(res => {
this.tableData = res;
});
}
},
created() {
this.getList();
}
};
</script>
<style scoped></style>