diff --git a/AES-front/README.md b/AES-front/README.md
index 93606fc..2486ee3 100644
--- a/AES-front/README.md
+++ b/AES-front/README.md
@@ -30,13 +30,13 @@ Node 安装 18 及以上
### Build and Release
-```shell
-# Prod Environment
-pnpm build
-4.导出功能的依赖
+ ```shell
+ pnpm build
+
+4. 导出功能的依赖
```shell
npm install xlsx file-saver
-5.展示图标的依赖
+5. 展示图标的依赖
```shell
npm install echarts
diff --git a/AES-front/src/api/admin.js b/AES-front/src/api/admin.js
index 6b57e85..e39f9a0 100644
--- a/AES-front/src/api/admin.js
+++ b/AES-front/src/api/admin.js
@@ -93,4 +93,7 @@ export default {
addTime:(data)=>request.post('/problem/addTime',data),
findProblemReview:(data)=>request.post('/problem/findProblemReview',data),
findScore:(data)=>request.post('/problem/findScore',data),
+ reviewProblem:(data)=>request.post('/problem/reviewProblem',data),
+ redoReport:(data)=>request.post('/problem/redoReport',data),
+ findNextReport:(data)=>request.post('/problem/findNextReport',data),
}
diff --git a/AES-front/src/views/admin/problem/problem-review.vue b/AES-front/src/views/admin/problem/problem-review.vue
index ba6c3b5..a1d2c1b 100644
--- a/AES-front/src/views/admin/problem/problem-review.vue
+++ b/AES-front/src/views/admin/problem/problem-review.vue
@@ -49,8 +49,8 @@
-
+
@@ -74,7 +74,7 @@
style='width: 50%;margin-left: 30px'>
@@ -136,8 +136,8 @@ const problemReviewValue=ref({
banji:'',
autoscore:90,
autocomment:``,
- score:'',
- comment:'',
+ score:"",
+ comment:"",
attachment:''
})
@@ -170,23 +170,60 @@ const down = async() =>{
} catch (err) {
}
}
-// const submit =async ()=>{
-// if(problemInfoValue.value.name!==''){
-// try {
-// await api.Addproblem({
-// ...problemInfoValue.value
-// })
-// $message.success("添加课程成功")
-// tagsStore.removeTag(path.value)
-// await router.push({name: 'AdminProblemList'})
-// } catch (err) {
-// tagsStore.removeTag(path.value)
-// await router.push({name: 'AdminProblemList'})
-// }
-// }else {
-// $message.error("作业名称不能为空")
-// }
-// }
+const submit =async ()=>{
+ if(problemReviewValue.value.score!==''){
+ try {
+ await api.reviewProblem({
+ ...problemReviewValue.value,
+ studentId:studentId,
+ problemId:problemId,
+ })
+ $message.success("批阅成功")
+ tagsStore.removeTag(path.value)
+ // await router.push({name: 'AdminProblemList'})
+ } catch (err) {
+ tagsStore.removeTag(path.value)
+ // await router.push({name: 'AdminProblemList'})
+ }
+ }else {
+ $message.error("教师评分不能为空")
+ }
+}
+const submitAndNext =async ()=>{
+ if(problemReviewValue.value.score!==''){
+ await api.reviewProblem({
+ ...problemReviewValue.value,
+ studentId:studentId,
+ problemId:problemId,
+ })
+ $message.success("批阅成功")
+
+ }else {
+ $message.error("教师评分不能为空")
+ }
+ const res =await api.findNextReport({
+problemId:problemId
+ })
+ if(res.message=="所有报告都批阅完成")
+ tagsStore.removeTag(path.value)
+ else
+ problemReviewValue.value=res.data
+ loading.value=false
+}
+const redo=async ()=>{
+ try {
+ await api.redoReport({
+ studentId:studentId,
+ problemId:problemId,
+ })
+ $message.success("打回成功")
+ tagsStore.removeTag(path.value)
+ // await router.push({name: 'AdminProblemList'})
+ } catch (err) {
+ tagsStore.removeTag(path.value)
+ // await router.push({name: 'AdminProblemList'})
+ }
+}
const queryByPage = async () => {
loading.value = true
try {
diff --git a/AES-front/src/views/admin/problem/problem-student.vue b/AES-front/src/views/admin/problem/problem-student.vue
index 5e98213..d12cb72 100644
--- a/AES-front/src/views/admin/problem/problem-student.vue
+++ b/AES-front/src/views/admin/problem/problem-student.vue
@@ -127,6 +127,9 @@ const paginationReactive = reactive({
}
})
const columns=ref([])
+
+
+
const updateColumns=()=>{
if(selectedStatus.value==='weijiao'){
columns.value = [
@@ -289,6 +292,23 @@ const onReview=async (studentId)=>{
const {id} = studentId
await router.push({name: 'AdminProblemReview', query:{classId: classId,problemId:problemId,courseId:courseId,studentId:id}})
}
+const onBack=async (studentId)=>{
+ const {id} = studentId
+ try {
+ await api.redoReport({
+ studentId:id,
+ problemId:problemId,
+ })
+ $message.success("打回成功")
+ filterData()
+ // tagsStore.removeTag(path.value)
+ // await router.push({name: 'AdminProblemList'})
+ } catch (err) {
+ filterData()
+ // tagsStore.removeTag(path.value)
+ // await router.push({name: 'AdminProblemList'})
+ }
+}
const onDeleteClass = async (classId)=>{
try {
await api.remove({ids:classId.username})
diff --git a/AES/src/main/java/com/example/aes/problem/controller/ProblemController.java b/AES/src/main/java/com/example/aes/problem/controller/ProblemController.java
index cf41646..344fff7 100644
--- a/AES/src/main/java/com/example/aes/problem/controller/ProblemController.java
+++ b/AES/src/main/java/com/example/aes/problem/controller/ProblemController.java
@@ -186,7 +186,28 @@ public class ProblemController {
return RespBean.error("加时失败");
}
+ @PostMapping(
+ "/reviewProblem")
+ public RespBean reviewProblem(@RequestBody PMReviewMessage pmReviewMessage) {
+ int num =
+ problemServiceI.editScoreAndComment(pmReviewMessage);
+ if (num == 1)
+ return RespBean.ok("批阅成功");
+ else
+ return RespBean.error("批阅失败");
+ }
+ @PostMapping(
+ "/redoReport")
+ public RespBean redoReport(@RequestBody PMReviewMessage pmReviewMessage) {
+ int num =
+ problemServiceI.redoReport(pmReviewMessage);
+ if (num == 1)
+ return RespBean.ok("打回成功");
+ else
+ return RespBean.error("打回失败");
+
+ }
@PostMapping("/findProblemById")
public RespBean findProblemById(@RequestBody PMProblem pmProblem) {
List
problems =
@@ -312,6 +333,20 @@ public class ProblemController {
return RespBean.ok("获取批阅报告成功!",
reviewMessage);
}
+ @PostMapping("findNextReport")
+ public RespBean findNextReport(@RequestBody PMReviewMessage pmReviewMessage){
+ //找到下一个studentId
+ int studentId=
+ problemServiceI.findNextId(pmReviewMessage.getProblemId());
+ if(studentId==0)
+ return RespBean.error("所有报告都批阅完成");
+ else pmReviewMessage.setStudentId(studentId);
+ //根据studentId和problemId查找
+ PMReviewMessage reviewMessage=
+ problemServiceI.findProblemReview(pmReviewMessage);
+ return RespBean.ok("获取下一份批阅报告成功!",
+ reviewMessage);
+ }
//根据作业id和学生id获取学生当前报告成绩排名
@GetMapping("/getStudentRank")
diff --git a/AES/src/main/java/com/example/aes/problem/dao/SubmitReportDaoI.java b/AES/src/main/java/com/example/aes/problem/dao/SubmitReportDaoI.java
index 8768d2d..1bbc65d 100644
--- a/AES/src/main/java/com/example/aes/problem/dao/SubmitReportDaoI.java
+++ b/AES/src/main/java/com/example/aes/problem/dao/SubmitReportDaoI.java
@@ -12,7 +12,10 @@ public interface SubmitReportDaoI extends BaseDaoI {
public List