From ea74885f4ffeb55069144b9897d7b3d68f094b39 Mon Sep 17 00:00:00 2001 From: ltx <1006158920@qq.com> Date: Thu, 8 Oct 2026 15:18:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=8F=AD=E7=BA=A7=E5=92=8C?= =?UTF-8?q?=E5=AD=A6=E7=94=9F=E5=88=A0=E9=99=A4=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/grade.js | 4 +++ src/views/classManage/index.vue | 43 +++++++++++++++++++++++++++--- src/views/studentsManage/index.vue | 2 +- 3 files changed, 45 insertions(+), 4 deletions(-) diff --git a/src/api/grade.js b/src/api/grade.js index ab06a26..196598e 100644 --- a/src/api/grade.js +++ b/src/api/grade.js @@ -98,6 +98,10 @@ export function ModifyClass(params) { return http.post(`/api/Class/ModifyClass`, params) } +export function DeleteClass(classId) { + return http.post(`/api/Class/DeleteClass?classId=${classId}`) +} + export function GetTeacherNames() { return http.get(`/api/Teacher/GetTeacherNames`) } diff --git a/src/views/classManage/index.vue b/src/views/classManage/index.vue index 5119d19..bad339d 100644 --- a/src/views/classManage/index.vue +++ b/src/views/classManage/index.vue @@ -43,6 +43,7 @@ @@ -106,7 +107,7 @@ import { useStore } from "vuex"; import * as _api from "@/api/grade"; import eventBus from "@/eventBus.js"; // 导入事件总线 - import { ElMessage } from "element-plus"; + import { ElMessage, ElMessageBox } from "element-plus"; import axios from "axios"; const formRef = ref(null); const formRef1 = ref(null); @@ -391,8 +392,36 @@ .filter((id) => id !== null); // 过滤掉 null 值 } //删除表格行 - const deleteOne = (e) => { - console.log(e, "deleteOne"); + const deleteOne = async (row) => { + if (row.studentCount > 0) { + ElMessage.warning("班级内还有学生,请先删除学生后再删除班级"); + return; + } + + try { + await ElMessageBox.confirm(`确定删除${row.gradeName}${row.className}吗?`, "删除班级", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }); + } catch { + return; + } + + try { + const res = await _api.DeleteClass(row.id); + if (res.code !== 200) { + ElMessage.error(res.message || "删除班级失败"); + return; + } + ElMessage.success(res.data || "删除成功"); + if (data.value.tableNeed.tableData.length === 1 && data.value.tableNeed.pageIndex > 1) { + data.value.tableNeed.pageIndex -= 1; + } + await initApi(data.value); + } catch (error) { + ElMessage.error(typeof error === "string" ? error : error?.response?.data?.message || "删除班级失败,请稍后重试"); + } }; //创建班级 function btnClick(val) { @@ -751,6 +780,14 @@ margin-left: 10px; } + .delete { + margin-left: 16px; + color: #f56c6c; + font-size: 14px; + line-height: 20px; + cursor: pointer; + } + .addTeacherDrawer { .title { font-size: 16px; diff --git a/src/views/studentsManage/index.vue b/src/views/studentsManage/index.vue index dd512a9..f26dd1a 100644 --- a/src/views/studentsManage/index.vue +++ b/src/views/studentsManage/index.vue @@ -915,7 +915,7 @@ const confirmBatchDelete = async () => { try { await ElMessageBox.confirm( - `确定删除${studentSummary}吗?删除后无法恢复,请谨慎操作。`, + `确定删除${studentSummary}吗?删除后无法恢复;若学生已一键升学,之后撤回升学也不会恢复这些学生。请谨慎操作。`, '确认批量删除', { confirmButtonText: '确认删除',