From adffcb4ac80fdf736bde01eb56711c161bf602ba Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期五, 06 十一月 2026 09:12:23 +0800
Subject: [PATCH] fix(bpm): 属性面板补上「审批人」配置,解决流程无法发布
---
src/views/bpm/model/form/modules/basic-info.vue | 58 ++++++++++++++++++++++++++++------------------------------
1 files changed, 28 insertions(+), 30 deletions(-)
diff --git a/src/views/bpm/model/form/modules/basic-info.vue b/src/views/bpm/model/form/modules/basic-info.vue
index a297e25..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,6 +115,28 @@
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) {
+ 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] : [];
+ }
},
{
immediate: true,
@@ -398,36 +422,10 @@
</div>
</Form.Item>
<Form.Item label="娴佺▼绠$悊鍛�" name="managerUserIds">
- <div class="flex flex-wrap gap-1">
- <div
- v-for="user in selectedManagerUsers"
- :key="user.id"
- class="relative flex h-9 items-center rounded-full bg-gray-100 pr-2 hover:bg-gray-200 dark:border dark:border-gray-500 dark:bg-gray-700 dark:hover:bg-gray-600"
- >
- <Avatar class="m-1 size-7" v-if="user.avatar" :src="user.avatar" />
- <Avatar class="m-1 size-7" v-else>
- {{ user.nickname?.substring(0, 1) }}
- </Avatar>
- <span class="text-gray-700 dark:text-gray-200">
- {{ user.nickname }}
- </span>
- <IconifyIcon
- icon="lucide:x"
- class="ml-2 size-4 cursor-pointer text-gray-400 hover:text-red-500"
- @click="handleRemoveManagerUser(user)"
- />
- </div>
- <Button
- type="link"
- @click="openManagerUserSelect"
- class="flex items-center"
- >
- <template #icon>
- <IconifyIcon icon="lucide:user-plus" class="size-4" />
- </template>
- 閫夋嫨浜哄憳
- </Button>
- </div>
+ <!-- 娴佺▼绠$悊鍛樺浐瀹氫负瓒呯骇绠$悊鍛橈紝涓嶅厑璁搁�夋嫨 -->
+ <span class="text-gray-700 dark:text-gray-200">
+ {{ selectedManagerUsers[0]?.nickname || '瓒呯骇绠$悊鍛�' }}
+ </span>
</Form.Item>
</Form>
--
Gitblit v1.9.3