修复计划任务绑定人员。视图权限
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user