From 8297d622587210824588994af0ff6099c1204cae Mon Sep 17 00:00:00 2001 From: QDKF Date: Thu, 25 Sep 2025 20:16:25 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E8=B0=83=E7=8F=AD=E5=8A=9F=E8=83=BD=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/teacher/ClassManagement.vue | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/components/teacher/ClassManagement.vue b/src/components/teacher/ClassManagement.vue index 2bfa953..4c67096 100644 --- a/src/components/teacher/ClassManagement.vue +++ b/src/components/teacher/ClassManagement.vue @@ -1078,11 +1078,14 @@ const confirmBatchTransfer = async () => { const result = response.data const targetClassName = masterClassList.value.find((item: any) => item.id === selectedTargetClass.value)?.className + // 计算成功调班的学生数量 + const successCount = selectedRowKeys.value.length - (result.failCount || 0) + // 构建详细的结果消息 let resultMessage = `批量调班完成!\n` resultMessage += `目标班级:${targetClassName}\n` resultMessage += `总数量:${selectedRowKeys.value.length} 人\n` - resultMessage += `成功:${selectedRowKeys.value.length - result.failCount} 人\n` + resultMessage += `成功:${successCount} 人\n` if (result.failCount > 0) { resultMessage += `失败:${result.failCount} 人\n` @@ -1097,17 +1100,17 @@ const confirmBatchTransfer = async () => { message.success(resultMessage) // 如果有成功调班的学生,自动切换到目标班级 - if (result.successCount > 0) { + if (successCount > 0) { const targetClassId = selectedTargetClass.value console.log('🔄 自动切换到目标班级:', targetClassId) // 关闭弹窗并重置状态 showBatchTransferModal.value = false - selectedTargetClass.value = '' selectedRowKeys.value = [] // 切换到目标班级 selectedDepartment.value = targetClassId + console.log('🎯 已切换到目标班级:', targetClassId, '班级名称:', targetClassName) // 清空搜索关键词 searchKeyword.value = '' // 重新加载目标班级的数据 @@ -1117,6 +1120,9 @@ const confirmBatchTransfer = async () => { setTimeout(() => { message.info(`已自动切换到目标班级:${targetClassName}`) }, 1000) + + // 清空目标班级选择 + selectedTargetClass.value = '' } else { // 关闭弹窗并重置状态 showBatchTransferModal.value = false @@ -1579,6 +1585,8 @@ let loadDataTimer: NodeJS.Timeout | null = null // 数据加载函数,对接班级学生列表API const loadData = async (classId?: string | number | null) => { + console.log('📊 loadData 被调用,classId:', classId) + // 防抖处理:如果在很短时间内多次调用,只执行最后一次 if (loadDataTimer) { clearTimeout(loadDataTimer) @@ -1599,7 +1607,9 @@ const loadData = async (classId?: string | number | null) => { totalStudents.value = 0 } else { // 调用班级学生列表API + console.log('📡 调用API获取班级学生数据,classId:', classId) const response = await ClassApi.getClassStudents(String(classId)) + console.log('📡 API响应:', response) // 转换API响应数据为组件需要的格式 const studentsData = response.data.result || [] @@ -1619,8 +1629,10 @@ const loadData = async (classId?: string | number | null) => { }).replace(/\//g, '.').replace(',', '') : '未知时间' })) + console.log('📊 转换后的学生数据:', transformedData) data.value = transformedData totalStudents.value = transformedData.length + console.log('✅ 数据加载完成,共', transformedData.length, '个学生') } } catch (error) { console.error('加载班级学生数据失败:', error)