From bc324a4163a63426e17fb8973d977cad3e1a8ca3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A4=A9=E9=AA=84?= <5307576@qq.com> Date: Thu, 18 Jun 2026 15:09:47 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E4=B8=8B=E6=8B=89?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/CaseReviewView.vue | 46 ++++++++++++++++++++++- src/views/CasesView.vue | 35 ++++++++++++++++- src/views/TeacherStudentRelationsView.vue | 3 +- 3 files changed, 78 insertions(+), 6 deletions(-) diff --git a/src/views/CaseReviewView.vue b/src/views/CaseReviewView.vue index bd1b4b4e..7c39f76c 100644 --- a/src/views/CaseReviewView.vue +++ b/src/views/CaseReviewView.vue @@ -12,7 +12,22 @@
- + + + 查询 重置
@@ -269,6 +284,7 @@ import { type CaseListItem, type CasePublishStatus } from '@/api/cases' +import { fetchMyDepartments, type DepartmentOption } from '@/api/users' import { useAppStore } from '@/stores/app' type ReviewCaseType = 'traditional' | 'teaching' @@ -316,8 +332,10 @@ const appStore = useAppStore() const loading = ref(false) const publishing = ref(false) const detailLoading = ref(false) +const loadingDepartments = ref(false) const detailDrawerVisible = ref(false) const cases = ref([]) +const departmentOptions = ref([]) const detailCase = ref(null) const caseDetail = ref(null) const detailForm = reactive({ @@ -396,6 +414,27 @@ function resetFilters() { loadReviewCases() } +async function loadDepartmentOptions() { + if (!appStore.token || loadingDepartments.value || departmentOptions.value.length) { + return + } + + try { + loadingDepartments.value = true + departmentOptions.value = await fetchMyDepartments(appStore.token) + } catch (error) { + ElMessage.error(error instanceof Error ? error.message : '获取科室列表失败') + } finally { + loadingDepartments.value = false + } +} + +function handleDepartmentVisibleChange(visible: boolean) { + if (visible) { + loadDepartmentOptions() + } +} + async function openDetailDrawer(row: CaseListItem) { if (!appStore.token) { ElMessage.warning('缺少登录信息,请重新登录') @@ -871,7 +910,10 @@ function formatDateTime(value: string) { return value.replace('T', ' ').slice(0, 19) } -onMounted(loadReviewCases) +onMounted(() => { + loadReviewCases() + loadDepartmentOptions() +})