From 5e2501496943a7991eb11b1e9bccbf64631719f6 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期四, 05 十一月 2026 16:18:37 +0800
Subject: [PATCH] fix(bpm): 流程管理员写入时带上当前操作人,避免换账号后无法再改模型
---
src/views/bpm/model/form/modules/basic-info.vue | 22 +++++++++++++++++++---
1 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/src/views/bpm/model/form/modules/basic-info.vue b/src/views/bpm/model/form/modules/basic-info.vue
index 97a23a7..3810aad 100644
--- a/src/views/bpm/model/form/modules/basic-info.vue
+++ b/src/views/bpm/model/form/modules/basic-info.vue
@@ -14,6 +14,7 @@
import { DICT_TYPE } from '@vben/constants';
import { getDictOptions } from '@vben/hooks';
import { IconifyIcon } from '@vben/icons';
+import { useUserStore } from '@vben/stores';
import {
Avatar,
@@ -56,6 +57,7 @@
const formRef = ref(); // 琛ㄥ崟寮曠敤
const modelData = defineModel<any>(); // 鍒涘缓鏈湴鏁版嵁鍓湰
+const userStore = useUserStore(); // 褰撳墠鐧诲綍鐢ㄦ埛锛堝啓鍏ユ祦绋嬬鐞嗗憳锛岄伩鍏嶆崲璐﹀彿鍚庢棤娉曞啀淇敼妯″瀷锛�
const selectedStartUsers = ref<SystemUserApi.User[]>([]); // 閫変腑鐨勫彂璧蜂汉
const selectedStartDepts = ref<SystemDeptApi.Dept[]>([]); // 閫変腑鐨勫彂璧烽儴闂�
@@ -113,13 +115,27 @@
newVal.managerUserIds.includes(user.id),
) as SystemUserApi.User[])
: [];
- // 娴佺▼绠$悊鍛樺浐瀹氫负瓒呯骇绠$悊鍛橈細杩涘叆椤甸潰鍗冲己鍒跺洖鍐欙紝淇敼鍦烘櫙鍚屾牱鐢熸晥
+ // 娴佺▼绠$悊鍛樺浐瀹氫负瓒呯骇绠$悊鍛橈細杩涘叆椤甸潰鍗冲己鍒跺洖鍐欙紝淇敼鍦烘櫙鍚屾牱鐢熸晥銆�
+ // 娉ㄦ剰锛氬悓鏃舵妸銆屽綋鍓嶆搷浣滀汉銆嶄竴骞跺啓鍏ャ�傚洜涓哄悗绔� updateModel 鏄�屽厛鏍¢獙绠$悊鍛樸�佸悗鍐欏叆銆嶏紝
+ // 涓�鏃︽ā鍨嬭淇濆瓨鎴愬彧鍖呭惈瓒呯锛岀敤鍏朵粬璐﹀彿鍐嶆淇敼灏变細鎶�
+ // 銆屾搷浣滄祦绋嬪け璐ワ紝鍘熷洜锛氫綘涓嶆槸璇ユ祦绋�(xxx)鐨勭鐞嗗憳銆嶏紝涓旀棤娉曡嚜鎰堛��
const admin = props.userList.find(
(user: SystemUserApi.User) => user.username === 'admin',
);
+ const currentUserId = userStore.userInfo?.id;
+ const managerIds: number[] = [];
if (admin) {
- newVal.managerUserIds = [admin.id];
- selectedManagerUsers.value = [admin as SystemUserApi.User];
+ managerIds.push(admin.id);
+ }
+ if (currentUserId && !managerIds.includes(currentUserId)) {
+ managerIds.push(currentUserId);
+ }
+ if (managerIds.length > 0) {
+ newVal.managerUserIds = managerIds;
+ // 鐣岄潰涓婁粛鐒跺彧灞曠ず銆岃秴绾х鐞嗗憳銆�
+ const displayUser =
+ admin ?? props.userList.find((user) => user.id === managerIds[0]);
+ selectedManagerUsers.value = displayUser ? [displayUser] : [];
}
},
{
--
Gitblit v1.9.3