fix: 修复批量调班功能问题
This commit is contained in:
parent
97d8e99689
commit
8297d62258
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user