提交
@@ -65,12 +66,10 @@ const queryByPage = async () => {
loading.value = true
path.value = router.currentRoute.value.fullPath
try {
- const res = await api.getChapterById({
+ const res = await api.getCourseById({
...courseInfoValue.value
})
- const list = res.data
- courseInfoValue.value.code=list.code
- name.value = list.name
+ courseInfoValue.value=res.data
} catch (err) {
} finally {
loading.value = false
diff --git a/AES-front/src/views/admin/course/course-list.vue b/AES-front/src/views/admin/course/course-list.vue
index 43e77ae..76e012e 100644
--- a/AES-front/src/views/admin/course/course-list.vue
+++ b/AES-front/src/views/admin/course/course-list.vue
@@ -84,7 +84,7 @@ const columns = [
onClickEdit: () => onEditCourses(row),
onClickDelete: () =>
onDeleteCourses(row),
- onClickBanji: () => onBanjiExam(row),
+ onClickBanji: () => onBanjiCourse(row),
onClickAdd:()=>onAddProblem(row),
onClickProblem:()=>onProblem(row),
onClickStore:()=>onProblemStore(row)
@@ -125,8 +125,7 @@ const sub = async ()=>{
})
}
const onDeleteCourses = async (courses)=>{
- // const {id} = courses
- const id=1
+ const {id} = courses
try {
await api.deletecoursesInfo({id})
$message.success("删除成功")
@@ -137,8 +136,7 @@ const onDeleteCourses = async (courses)=>{
}
}
const onEditCourses=async (courses)=>{
- // const {id} = courses
- const id=1
+ const {id} = courses
await router.push({name: 'AdminCourseEdit', params: {chId: id}})
}
const onUpdatePageSize = (pageSize) => {
@@ -146,9 +144,8 @@ const onUpdatePageSize = (pageSize) => {
paginationReactive.page = 1;
queryByPage(1)
}
-const onBanjiExam= async (classId)=>{
- // const { id } = classId
- const id=1
+const onBanjiCourse= async (classId)=>{
+ const { id } = classId
try {
await router.push({ name:
'AdminClassManage', query: { classId: id
diff --git a/AES-front/src/views/admin/course/view-classes-not-in-course.vue b/AES-front/src/views/admin/course/view-classes-not-in-course.vue
index 04706d8..5b99545 100644
--- a/AES-front/src/views/admin/course/view-classes-not-in-course.vue
+++ b/AES-front/src/views/admin/course/view-classes-not-in-course.vue
@@ -73,7 +73,7 @@ import {NButton} from 'naive-ui'
const router = useRouter()
const userStore = useUserStore()
const route = useRoute()
-const { examId, history } = route.query
+const { courseId, history } = route.query
const role = ref(userStore.getRole())
const options1 =
ref([])
@@ -161,28 +161,28 @@ const onAssistantClass = async (classId)=>{
const {id} = classId
await router.push({name: 'AdminClassAssistant', params: {clId: id}})
}
-const getSchools = async () => {
- try {
- const res = await api.findAllSchools()
- const transformData = res.data.map((item) => ({
- label: item.name,
- value: item.id,
- }))
- transformData.unshift({
- label: '全部',
- value: 0,
- })
- teacherInfoValue.value.schoolId = parseInt(userStore.getSchoolId(), 10)
- options1.value = transformData
- } catch (error) {
- console.log(error)
- $message.error('获取学校的信息失败')
- }
-}
+// const getSchools = async () => {
+// try {
+// const res = await api.findAllSchools()
+// const transformData = res.data.map((item) => ({
+// label: item.name,
+// value: item.id,
+// }))
+// transformData.unshift({
+// label: '全部',
+// value: 0,
+// })
+// teacherInfoValue.value.schoolId = parseInt(userStore.getSchoolId(), 10)
+// options1.value = transformData
+// } catch (error) {
+// console.log(error)
+// $message.error('获取学校的信息失败')
+// }
+// }
const queryByPage1 = async (query) => {
- const res = await api.findAllAdminusersBySchoolId({
- schoolId: query,
+ const res = await api.findAllTeacher({
+ // schoolId: query,
})
const transformedData = res.data.map((item) => ({
label: item.name,
@@ -206,7 +206,7 @@ const queryByPage1 = async (query) => {
teacherInfoValue.value.teacherId = 0
}
options2.value = transformedData
- await getClassesNotInExam()
+ await getClassesNotInCourse()
}
watch(
() => teacherInfoValue.value.schoolId,
@@ -237,14 +237,15 @@ const addClassToExam = async (classId) => {
}
}
-const getClassesNotInExam = async () => {
+const getClassesNotInCourse = async () => {
try {
loading.value = true
- const res = await api.findClassNotInExam({
- examId: examId,
+ const res = await api.findClassNotInCourse({
+ // examId: examId,
+ courseId:courseId,
teacherId: teacherInfoValue.value.teacherId,
- id: teacherInfoValue.value.schoolId,
+ // id: teacherInfoValue.value.schoolId,
pageNum: paginationReactive.page,
pageSize: paginationReactive.pageSize,
history:history
@@ -267,6 +268,6 @@ const handleCheckedChange = (checked) => {
onMounted(() => {
queryByPage1()
- getSchools()
+ // getSchools()
})
diff --git a/AES-front/src/views/admin/problem/components/problem-student-action2.vue b/AES-front/src/views/admin/problem/components/problem-student-action2.vue
new file mode 100644
index 0000000..bc0acb4
--- /dev/null
+++ b/AES-front/src/views/admin/problem/components/problem-student-action2.vue
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 加时
+
+
+
+
+
+
+
diff --git a/AES-front/src/views/admin/problem/problem-student.vue b/AES-front/src/views/admin/problem/problem-student.vue
index 595a5cb..bfa139c 100644
--- a/AES-front/src/views/admin/problem/problem-student.vue
+++ b/AES-front/src/views/admin/problem/problem-student.vue
@@ -67,8 +67,8 @@
style='justify-content: flex-end'>
- 加时
+
+
导出未交名单
@@ -160,20 +160,20 @@ const updateColumns=()=>{
title: '状态',
width: '300',
},
- // {
- // key: 'actions',
- // title: '操作',
- // width: '250',
- // render(row) {
- // return h(
- // ProblemStudentAction2,
- // {
- // onClickAddTime: () =>
- // addTime(row)
- // }
- // );
- // }
- // }
+ {
+ key: 'actions',
+ title: '操作',
+ width: '250',
+ render(row) {
+ return h(
+ ProblemStudentAction2,
+ {
+ onClickAddTime: () =>
+ addTime(row)
+ }
+ );
+ }
+ }
]
}
else{
diff --git a/AES/src/main/java/com/example/aes/user/controller/AdminusersController.java b/AES/src/main/java/com/example/aes/user/controller/AdminusersController.java
index 224e14b..ab894ee 100644
--- a/AES/src/main/java/com/example/aes/user/controller/AdminusersController.java
+++ b/AES/src/main/java/com/example/aes/user/controller/AdminusersController.java
@@ -4,10 +4,7 @@ package com.example.aes.user.controller;
import com.example.aes.global.model.DecodeToken;
import com.example.aes.global.model.PageBean;
import com.example.aes.global.model.RespBean;
-import com.example.aes.user.model.AssistantClass;
-import com.example.aes.user.model.DataGrid;
-import com.example.aes.user.model.PMAdminusers;
-import com.example.aes.user.model.UAdminusers;
+import com.example.aes.user.model.*;
import com.example.aes.user.service.AdminusersServiceI;
import com.example.aes.user.service.AssistantClassServiceI;
import org.hibernate.Query;
@@ -265,6 +262,17 @@ public class AdminusersController {
return RespBean.error("修改教师密码失败");
}
}
+ @PostMapping("/findAllTeacher")
+ public RespBean findAllTeacher(@RequestBody PMAdminusers pmadminusers) {
+ List
adminuser = adminusersServiceI
+ .getTeacher();
+ if (adminuser.size() != 0) {
+ return RespBean.ok("查询学校教师用户成功", adminuser);
+ } else {
+ return RespBean.ok("无该学校教师信息", adminuser);
+ }
+
+ }
}
diff --git a/AES/src/main/java/com/example/aes/user/controller/ClassesController.java b/AES/src/main/java/com/example/aes/user/controller/ClassesController.java
index 4a98349..d8f9293 100644
--- a/AES/src/main/java/com/example/aes/user/controller/ClassesController.java
+++ b/AES/src/main/java/com/example/aes/user/controller/ClassesController.java
@@ -6,6 +6,7 @@ import com.example.aes.global.model.RespBean;
import com.example.aes.user.model.DataGrid;
import com.example.aes.user.model.Json;
import com.example.aes.user.model.PMClasses;
+import com.example.aes.user.model.UClass;
import com.example.aes.user.service.ClassesServiceI;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
@@ -105,6 +106,36 @@ public class ClassesController{
return RespBean.error("删除班级失败", result);
}
}
+ @PostMapping("/findClassNotInCourse")
+ public RespBean findClassNotInCourse(@RequestBody UClass uClass, HttpServletRequest request) // 查看参与课程的班级
+ {
+ if(uClass.getPageNum() < 1 || uClass.getPageSize() < 1)
+ return RespBean.error("参数错误");
+ DecodeToken decodeToken = new DecodeToken(request);
+ String role = decodeToken.getRole();
+ int teacherId = uClass.getTeacherId();
+// int schoolId = uClass.getId();
+ if(role.equals("admin")){
+ if(uClass.getTeacherId()!=0)
+ teacherId = uClass.getTeacherId();
+ else
+ teacherId = 0;
+ }
+ DataGrid classList = new DataGrid();
+ if(teacherId != 0){
+ classList =
+ classesServiceI.findClassNotInCourse(uClass.getCourseId(), teacherId, uClass.getPageNum(), uClass.getPageSize(), uClass.isHistory());
+ }
+ else
+ {
+ uClass.setTeacherId(teacherId);
+ classList =
+ classesServiceI.findClassNotInCourse(uClass, uClass.getPageNum(), uClass.getPageSize());
+ }
+
+ return RespBean.ok("查看未参与课程的班级成功",
+ classList);
+ }
}
diff --git a/AES/src/main/java/com/example/aes/user/controller/CourseCotroller.java b/AES/src/main/java/com/example/aes/user/controller/CourseCotroller.java
new file mode 100644
index 0000000..4c9a1f0
--- /dev/null
+++ b/AES/src/main/java/com/example/aes/user/controller/CourseCotroller.java
@@ -0,0 +1,128 @@
+package com.example.aes.user.controller;
+
+import com.example.aes.global.model.DecodeToken;
+import com.example.aes.global.model.RespBean;
+import com.example.aes.user.model.Course;
+import com.example.aes.user.model.DataGrid;
+import com.example.aes.user.model.PMCourse;
+import com.example.aes.user.service.CourseServiceI;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+@RestController
+@RequestMapping("/course")
+@Transactional
+public class CourseCotroller {
+
+ @Autowired
+ private CourseServiceI courseServiceI;
+ // 根据课程名称查询课程(分页)
+ @PostMapping("/findAllCoursesPage")
+ public RespBean findAllCoursesPage(@RequestBody PMCourse pmCourse, HttpServletRequest request) {
+ if (pmCourse.getPageNum() < 1 || pmCourse.getPageSize() < 1)
+ return RespBean.error("参数错误!");
+ DecodeToken decodeToken = new DecodeToken(request);
+ String userId = decodeToken.getUserId();
+ pmCourse.setTeacherId(Integer.parseInt(userId));
+ DataGrid dataGrid = courseServiceI.CoursePage(pmCourse);
+ if (dataGrid != null) {
+ return RespBean.ok("获取课程列表成功!",dataGrid);
+ } else {
+ return RespBean.error("获取课程列表失败!");
+ }
+ }
+ // 添加课程
+ @PostMapping("/addCourse")
+ public RespBean addCourse(@RequestBody PMCourse pmcourse, HttpServletRequest request) {
+ String name = pmcourse.getName();
+ // 课程名称不能重复
+ String result = courseServiceI.findCourseByName(name);
+ if(result.equals("true"))
+ return RespBean.error("不能重复添加相同名称课程");
+
+ List pmcoursesList = courseServiceI.findAllCourses();
+// String courseCode = new String();
+// String strCode = new String();
+// if (pmcoursesList.size() == 0) {
+// courseCode = "001";
+// }
+ if (pmcoursesList.size() < 999) {
+//
+// for (int i = 1; i <= pmcoursesList.size(); i++) {
+// strCode = pmcoursesList.get(i - 1).getCode();
+// int numCode = Integer.valueOf(strCode);
+// if (i != numCode) {
+// if (i < 10) {
+// courseCode = "00" + String.valueOf(i);
+// break;
+// } else if (i >= 10 && i < 100) {
+// courseCode = "0" + String.valueOf(i);
+// break;
+// }
+// } else {
+// if (i == pmcoursesList.size()) {
+// int flag = i + 1;
+// if (flag < 10)
+// courseCode = "00" + String.valueOf(flag);
+// else if (flag >= 10 && flag < 100)
+// courseCode = "0" + String.valueOf(flag);
+// }
+// }
+// }
+// pmcourse.setCode(courseCode);
+ DecodeToken decodeToken = new DecodeToken(request);
+ String userId = decodeToken.getUserId();
+ pmcourse.setTeacherId(Integer.parseInt(userId));
+ pmcourse.setName(name);
+ courseServiceI.addCourse(pmcourse);
+ return RespBean.ok("添加课程成功");
+ } else {
+ return RespBean.error("课程已经满了不能再添加课程了!");
+ }
+
+ }
+
+ //根据id查询章节
+ @PostMapping("/findCourseById")
+ public RespBean findCourseById(@RequestBody PMCourse pmcourse) {
+ int id = pmcourse.getId();
+ Course course =
+ courseServiceI.findCourseById(id);
+ return RespBean.ok("查询章节成功", course);
+ }
+
+ // 删除章节
+ @PostMapping("/deleteCourse")
+ public RespBean deleteCourse(@RequestBody PMCourse pmcourse) {
+ int id = pmcourse.getId(); // id
+ Course course =
+ courseServiceI.findCourseById(id);
+ courseServiceI.deleteCourse(id); // 删除
+ return RespBean.ok("删除成功", id);
+ }
+
+ // 修改课程名称
+ @PostMapping("/editCourse")
+ public RespBean editCourse(@RequestBody PMCourse pmCourse){
+// String code = pmCourse.getCode();
+ // 课程新名称
+ String name = pmCourse.getName();
+ if(courseServiceI.findCourseByName(name)=="true"){
+ return RespBean.ok("课程名称重复");
+ }
+ int num =
+ courseServiceI.editCourse(pmCourse.getId(),pmCourse.getName());
+ if(num == 1)
+ return RespBean.ok("修改课程名称成功");
+ else
+ return RespBean.error("修改课程名称失败");
+ }
+
+}
diff --git a/AES/src/main/java/com/example/aes/user/dao/AdminusersDaoI.java b/AES/src/main/java/com/example/aes/user/dao/AdminusersDaoI.java
index 70f0187..04d88fe 100644
--- a/AES/src/main/java/com/example/aes/user/dao/AdminusersDaoI.java
+++ b/AES/src/main/java/com/example/aes/user/dao/AdminusersDaoI.java
@@ -25,4 +25,5 @@ public interface AdminusersDaoI extends BaseDaoI {
public boolean editAdminuser(PMAdminusers pmadminusers); // 编辑教师信息
public boolean addAdminuser(PMAdminusers pmadminusers); // 添加教师
public Map findTeachersByteacherIdList(String teacherIdList);
+ public List getTeacher();
}
diff --git a/AES/src/main/java/com/example/aes/user/dao/ClassesDaoI.java b/AES/src/main/java/com/example/aes/user/dao/ClassesDaoI.java
index fc6feb6..d2f36ee 100644
--- a/AES/src/main/java/com/example/aes/user/dao/ClassesDaoI.java
+++ b/AES/src/main/java/com/example/aes/user/dao/ClassesDaoI.java
@@ -15,9 +15,6 @@ import java.util.Map;
public interface ClassesDaoI extends BaseDaoI {
- public List findAllClass(); // 查询所有班级
-
- public List findAllClassPage(int pageNum, int pageSize);
public long findAllClassNum(int teacherId, String role);
@@ -25,58 +22,10 @@ public interface ClassesDaoI extends BaseDaoI {
public List findClassesByConditionPage(int teacherId,String role, int pageNum, int pageSize);
- public boolean editClassMessage(int id, String className, int teacherId, int advance, int late, int reject, String weektime, Date first_week_monday); // 修改班级信息
-
public boolean deleteClass(int id); // 删除班级
- public List findClassStudentsById(int classId); // 通过班级id,查询学生
-
- public List findClassStudentsByIdNoName(List classIdList, String studentNo, String chineseName, int pageNum, int pageSize);
-
- public long findClassStudentsByIdNoNameNum(List classIdList, String studentNo, String chineseName);
-
- public List findClassStudentsByIdPage(int classId, int pageNum, int pageSize);
-
- public long findClassStudentsByIdNum(int classId);
-
- public boolean deleteClassStudentsByUserId(int classId, int userId); // 通过userId删除班级学生
-
public boolean updateClassStudentsNum(int classId, int num); // 更新班级学生人数
- public void addClass(PMClasses pclass); // 添加班级
-
- public List findClassInExam(int examId, boolean history); // 获取参与考试的班级
-
-// public List findClassInExam(int examId, int teacherId, String role, boolean history); // 获取参与考试的班级,并进行身份验证
-
- public List findClassInExamPage(int examId, int pageNum, int pageSize, boolean history); // 获取参与考试的班级
-
-// public List findClassInExamPage(int examId, int teacherId, String role, int pageNum, int pageSize); // 获取参与考试的班级,并进行身份验证
-
- public long findClassInExamNum(int examId, boolean history);
-
-// public long findClassInExamNum(int examId, int teacherId, String role);
-
- public List findClassInExamRole(int examId, String role, int teacherId); // 根据角色获取参与考试的班级
-
- public List findClassInExamNoRole(int examId, boolean history);
-
- public List findClassInExamRolePage(int examId, String role, int teacherId, int pageNum, int pageSize); // 根据角色获取参与考试的班级
-
- public long findClassInExamRoleNum(int examId, String role, int teacherId);
-
- public List findClassInPaperExam(int paperexamId); // 获取参与考试的班级
-
- public List findClassNotInExam(int examId, int teacherId, int pageNum, int pageSize, boolean history); // 获取未参与考试的班级
-
- public List findClassNotInExam(UClass uClass, int pageNum, int pageSize); // 获取未参与考试的班级
- public long findClassNotInExamNum(int examId, int teacherId, boolean history);
-
- public long findClassNotInExamNum(UClass uClass);
-
- public List findClassNotInPaperExam(int paperexamId); // 获取未参与笔试考试的班级
-
- public List findNotEndClassByTeacherId(int teacherId); // 通过教师查找所属的没有结束的班级,时间为一年以内
public List findClassesByCondition(PMClasses pmclasses);
@@ -88,24 +37,10 @@ public interface ClassesDaoI extends BaseDaoI {
public Classes getClassesByCode(String inviteCode);
- //获取参与该场考试班级的数量和学生人数
- public List