diff --git a/src/views/platformAdmin/questionBank/index.vue b/src/views/platformAdmin/questionBank/index.vue
index 85b966a..b36e882 100644
--- a/src/views/platformAdmin/questionBank/index.vue
+++ b/src/views/platformAdmin/questionBank/index.vue
@@ -11,7 +11,7 @@
- 上传简答题资料{{ form.attachmentName }}
+ 上传简答题资料{{ form.attachmentName }}
取消确定
diff --git a/src/views/teacherEnd/exam/index.vue b/src/views/teacherEnd/exam/index.vue
index adc0c63..605eefb 100644
--- a/src/views/teacherEnd/exam/index.vue
+++ b/src/views/teacherEnd/exam/index.vue
@@ -15,6 +15,7 @@
撤回
编辑
+
删除
指定人回退
评阅分析 handleExport(command, row)">导出空白试卷班级成绩全部答卷删除
@@ -112,7 +113,7 @@
正确错误
- 上传资料
+ 上传资料
{{ questionForm.attachmentName }}
@@ -175,7 +176,7 @@ async function doImport({ file }) { importing.value = true; try { const form = n
async function downloadTemplate(format) { const extension = format === "excel" ? "xlsx" : "docx"; saveAs(await examApi.downloadQuestionTemplate(format), `考试题库${format === "excel" ? "Excel" : "Word"}导入模板.${extension}`); }
async function publish(row) { await ElMessageBox.confirm(`确认发布“${row.name}”?发布后将在设定时间自动开始。`, "发布考试", { type: "warning" }); await examApi.publishExam(row.id); ElMessage.success("已发布"); loadExams(); }
async function withdraw(row) { await examApi.withdrawExam(row.id); ElMessage.success("已撤回"); loadExams(); }
-async function removeExam(row) { await ElMessageBox.confirm(`确认永久删除“${row.name}”?仅在已导出全部答卷后允许删除。`, "删除考试", { type: "warning", confirmButtonText: "确认删除" }); await examApi.deleteExam(row.id); ElMessage.success("已删除"); loadExams(); }
+async function removeExam(row) { const message = row.status === "DRAFT" ? `确认删除未发布的考试“${row.name}”?删除后无法恢复。` : `确认永久删除“${row.name}”?仅在已导出全部答卷后允许删除。`; await ElMessageBox.confirm(message, "删除考试", { type: "warning", confirmButtonText: "确认删除" }); await examApi.deleteExam(row.id); ElMessage.success("已删除"); loadExams(); }
async function handleExport(command, row) { const actions = { paper: [examApi.exportExamPaper, `${row.name}试卷.docx`], scores: [examApi.exportExamScores, `${row.name}班级成绩.xlsx`], submissions: [examApi.exportExamSubmissions, `${row.name}全部试卷.zip`] }; const [action, filename] = actions[command]; saveAs(await action(row.id), filename); if (command === "submissions") loadExams(); }
function displayAnswer(value) { if (Array.isArray(value)) return value.join("、"); if (value === true) return "正确"; if (value === false) return "错误"; return value || "-"; }
function formatTime(value) { return value ? new Date(value).toLocaleString("zh-CN", { hour12: false }).replaceAll("/", "-") : "-"; }