src/views/bpm/model/form/index.vue
@@ -199,15 +199,22 @@
  // 获取部门列表
  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 切换到第一步