评阅与成绩:老师看代码、运行学生程序、打分、写评语;成绩表与导出
- 评阅页:全班学生列表(提交状态、得分、是否已评阅);选中学生的代码(只读)、自动评分结果、 规范提示(代码里用到的默认名字控件、注释行数)、老师评分项打分和评语,"保存并看下一个" - "运行他的程序":新标签页里打开学生的提交,可以操作实训台,改动不保存 - 学生能看到老师的各项得分和评语;作业列表显示总分 - 班级管理页"成绩"标签页:学生 × 作业的总分,点分数进入评阅;单个作业和全班成绩导出 CSV - 老师增删评分项后,已打的分按新的评分项对齐 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
4e6b0d5cb2
commit
89e9956a22
20 files changed
+999
-127
No files matched your search
+13
-1
@@ -1,4 +1,4 @@
|
||||
// 页面路由:登录页、实验页(自由练习和做作业共用)、学生的作业列表、老师的班级管理页。
|
||||
// 页面路由:登录页、实验页(自由练习、做作业、老师运行学生的提交共用)、学生的作业列表、老师的班级管理页和评阅页。
|
||||
import { createRouter, createWebHistory } from 'vue-router'
|
||||
import { apiHooks } from './api'
|
||||
import { currentUser } from './auth'
|
||||
@@ -11,6 +11,18 @@ export const router = createRouter({
|
||||
{ path: '/assignments', component: () => import('./pages/AssignmentsPage.vue') },
|
||||
{ path: '/assignments/:id', component: () => import('./pages/WorkbenchPage.vue'), props: (route) => ({ assignmentId: String(route.params.id) }) },
|
||||
{ path: '/teacher', component: () => import('./pages/TeacherPage.vue'), meta: { teacher: true } },
|
||||
{
|
||||
path: '/teacher/assignments/:id',
|
||||
component: () => import('./pages/ReviewPage.vue'),
|
||||
props: (route) => ({ assignmentId: String(route.params.id) }),
|
||||
meta: { teacher: true },
|
||||
},
|
||||
{
|
||||
path: '/teacher/submissions/:id/run',
|
||||
component: () => import('./pages/WorkbenchPage.vue'),
|
||||
props: (route) => ({ submissionId: String(route.params.id) }),
|
||||
meta: { teacher: true },
|
||||
},
|
||||
{ path: '/:rest(.*)*', redirect: '/' },
|
||||
],
|
||||
})
|
||||
|
||||
Reference in new issue
Block a user