fix: 修复批量调班功能问题
This commit is contained in:
parent
97d8e99689
commit
8297d62258
@ -1078,11 +1078,14 @@ const confirmBatchTransfer = async () => {
|
|||||||
const result = response.data
|
const result = response.data
|
||||||
const targetClassName = masterClassList.value.find((item: any) => item.id === selectedTargetClass.value)?.className
|
const targetClassName = masterClassList.value.find((item: any) => item.id === selectedTargetClass.value)?.className
|
||||||
|
|
||||||
|
// 计算成功调班的学生数量
|
||||||
|
const successCount = selectedRowKeys.value.length - (result.failCount || 0)
|
||||||
|
|
||||||
// 构建详细的结果消息
|
// 构建详细的结果消息
|
||||||
let resultMessage = `批量调班完成!\n`
|
let resultMessage = `批量调班完成!\n`
|
||||||
resultMessage += `目标班级:${targetClassName}\n`
|
resultMessage += `目标班级:${targetClassName}\n`
|
||||||
resultMessage += `总数量:${selectedRowKeys.value.length} 人\n`
|
resultMessage += `总数量:${selectedRowKeys.value.length} 人\n`
|
||||||
resultMessage += `成功:${selectedRowKeys.value.length - result.failCount} 人\n`
|
resultMessage += `成功:${successCount} 人\n`
|
||||||
|
|
||||||
if (result.failCount > 0) {
|
if (result.failCount > 0) {
|
||||||
resultMessage += `失败:${result.failCount} 人\n`
|
resultMessage += `失败:${result.failCount} 人\n`
|
||||||
@ -1097,17 +1100,17 @@ const confirmBatchTransfer = async () => {
|
|||||||
message.success(resultMessage)
|
message.success(resultMessage)
|
||||||
|
|
||||||
// 如果有成功调班的学生,自动切换到目标班级
|
// 如果有成功调班的学生,自动切换到目标班级
|
||||||
if (result.successCount > 0) {
|
if (successCount > 0) {
|
||||||
const targetClassId = selectedTargetClass.value
|
const targetClassId = selectedTargetClass.value
|
||||||
console.log('🔄 自动切换到目标班级:', targetClassId)
|
console.log('🔄 自动切换到目标班级:', targetClassId)
|
||||||
|
|
||||||
// 关闭弹窗并重置状态
|
// 关闭弹窗并重置状态
|
||||||
showBatchTransferModal.value = false
|
showBatchTransferModal.value = false
|
||||||
selectedTargetClass.value = ''
|
|
||||||
selectedRowKeys.value = []
|
selectedRowKeys.value = []
|
||||||
|
|
||||||
// 切换到目标班级
|
// 切换到目标班级
|
||||||
selectedDepartment.value = targetClassId
|
selectedDepartment.value = targetClassId
|
||||||
|
console.log('🎯 已切换到目标班级:', targetClassId, '班级名称:', targetClassName)
|
||||||
// 清空搜索关键词
|
// 清空搜索关键词
|
||||||
searchKeyword.value = ''
|
searchKeyword.value = ''
|
||||||
// 重新加载目标班级的数据
|
// 重新加载目标班级的数据
|
||||||
@ -1117,6 +1120,9 @@ const confirmBatchTransfer = async () => {
|
|||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
message.info(`已自动切换到目标班级:${targetClassName}`)
|
message.info(`已自动切换到目标班级:${targetClassName}`)
|
||||||
}, 1000)
|
}, 1000)
|
||||||
|
|
||||||
|
// 清空目标班级选择
|
||||||
|
selectedTargetClass.value = ''
|
||||||
} else {
|
} else {
|
||||||
// 关闭弹窗并重置状态
|
// 关闭弹窗并重置状态
|
||||||
showBatchTransferModal.value = false
|
showBatchTransferModal.value = false
|
||||||
@ -1579,6 +1585,8 @@ let loadDataTimer: NodeJS.Timeout | null = null
|
|||||||
|
|
||||||
// 数据加载函数,对接班级学生列表API
|
// 数据加载函数,对接班级学生列表API
|
||||||
const loadData = async (classId?: string | number | null) => {
|
const loadData = async (classId?: string | number | null) => {
|
||||||
|
console.log('📊 loadData 被调用,classId:', classId)
|
||||||
|
|
||||||
// 防抖处理:如果在很短时间内多次调用,只执行最后一次
|
// 防抖处理:如果在很短时间内多次调用,只执行最后一次
|
||||||
if (loadDataTimer) {
|
if (loadDataTimer) {
|
||||||
clearTimeout(loadDataTimer)
|
clearTimeout(loadDataTimer)
|
||||||
@ -1599,7 +1607,9 @@ const loadData = async (classId?: string | number | null) => {
|
|||||||
totalStudents.value = 0
|
totalStudents.value = 0
|
||||||
} else {
|
} else {
|
||||||
// 调用班级学生列表API
|
// 调用班级学生列表API
|
||||||
|
console.log('📡 调用API获取班级学生数据,classId:', classId)
|
||||||
const response = await ClassApi.getClassStudents(String(classId))
|
const response = await ClassApi.getClassStudents(String(classId))
|
||||||
|
console.log('📡 API响应:', response)
|
||||||
|
|
||||||
// 转换API响应数据为组件需要的格式
|
// 转换API响应数据为组件需要的格式
|
||||||
const studentsData = response.data.result || []
|
const studentsData = response.data.result || []
|
||||||
@ -1619,8 +1629,10 @@ const loadData = async (classId?: string | number | null) => {
|
|||||||
}).replace(/\//g, '.').replace(',', '') : '未知时间'
|
}).replace(/\//g, '.').replace(',', '') : '未知时间'
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
console.log('📊 转换后的学生数据:', transformedData)
|
||||||
data.value = transformedData
|
data.value = transformedData
|
||||||
totalStudents.value = transformedData.length
|
totalStudents.value = transformedData.length
|
||||||
|
console.log('✅ 数据加载完成,共', transformedData.length, '个学生')
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('加载班级学生数据失败:', error)
|
console.error('加载班级学生数据失败:', error)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user