修复计划任务绑定人员。视图权限

This commit is contained in:
2025-11-28 18:43:27 +08:00
parent ba0aabdac3
commit fc960265f4
6 changed files with 100 additions and 54 deletions

View File

@@ -699,30 +699,35 @@ async function handleUserSelectConfirm(selectedUsers: any[]) {
saving.value = true;
try {
const userIds = selectedUsers.map(u => u.id!);
const selectedUserIds = selectedUsers.map(u => u.id!);
// 计算更新后的用户ID列表
let updatedUserIds: string[];
if (selectorMode.value === 'add') {
// 执行添加操作
for (const userID of userIds) {
await learningTaskApi.assignTaskToUser(managingTask.value.learningTask.taskID!, userID);
}
ElMessage.success(`成功添加 ${userIds.length} 位人员`);
// 添加模式:合并现有用户和新选择的用户
const currentUserIds = currentUsers.value.map(u => u.id!);
updatedUserIds = [...new Set([...currentUserIds, ...selectedUserIds])];
// 更新当前用户列表
currentUsers.value.push(...(selectedUsers as UserVO[]));
ElMessage.success(`成功添加 ${selectedUserIds.length} 位人员`);
} else {
// 执行删除操作
for (const userID of userIds) {
await learningTaskApi.removeTaskFromUser(managingTask.value.learningTask.taskID!, userID);
}
ElMessage.success(`成功删除 ${userIds.length} 位人员`);
// 删除模式:从现有用户中移除选择的用户
updatedUserIds = currentUsers.value
.map(u => u.id!)
.filter(id => !selectedUserIds.includes(id));
// 更新当前用户列表
currentUsers.value = currentUsers.value.filter(user =>
!userIds.includes(user.id!)
!selectedUserIds.includes(user.id!)
);
ElMessage.success(`成功删除 ${selectedUserIds.length} 位人员`);
}
// 调用统一的更新接口
await learningTaskApi.updateTaskUser(managingTask.value.learningTask.taskID!, updatedUserIds);
closeSelectorModal();
loadTaskList();
} catch (error) {