| | |
| | | // 获取部门列表 |
| | | deptList.value = await getSimpleDeptList(); |
| | | |
| | | // 新增场景(流程管理员还没值时)默认取超级管理员(admin),而不是当前登录用户 |
| | | if (!formData.value.managerUserIds?.length) { |
| | | const adminUser = userList.value.find( |
| | | (user: SystemUserApi.User) => user.username === 'admin', |
| | | ); |
| | | const defaultManagerId = adminUser?.id ?? userStore.userInfo?.id; |
| | | if (defaultManagerId) { |
| | | formData.value.managerUserIds = [defaultManagerId]; |
| | | } |
| | | // 流程管理员固定为超级管理员(客户要求,界面上不给选择)。 |
| | | // 同时把「当前操作人」一并写入:后端 updateModel 是「先校验管理员、后写入」, |
| | | // 只写超管的话,换一个账号再修改就会报「你不是该流程的管理员」,且无法自愈。 |
| | | const adminUser = userList.value.find( |
| | | (user: SystemUserApi.User) => user.username === 'admin', |
| | | ); |
| | | const currentUserId = userStore.userInfo?.id; |
| | | const managerIds: number[] = []; |
| | | if (adminUser?.id) { |
| | | managerIds.push(adminUser.id); |
| | | } |
| | | if (currentUserId && !managerIds.includes(currentUserId)) { |
| | | managerIds.push(currentUserId); |
| | | } |
| | | if (managerIds.length > 0) { |
| | | formData.value.managerUserIds = managerIds; |
| | | } |
| | | |
| | | // 最终,设置 currentStep 切换到第一步 |