From 400a10f478a3de3e165dae55f5d2b9fc32803829 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@local>
Date: 星期二, 03 十一月 2026 22:32:03 +0800
Subject: [PATCH] feat(bpm): 蓝羽流程模型-流程管理员固定超级管理员 + 步骤可自由切换
---
src/views/bpm/model/form/modules/basic-info.vue | 52 ++-----------------------
src/views/bpm/model/form/index.vue | 32 +++-------------
2 files changed, 11 insertions(+), 73 deletions(-)
diff --git a/src/views/bpm/model/form/index.vue b/src/views/bpm/model/form/index.vue
index 8ac2c8d..2dfcb73 100644
--- a/src/views/bpm/model/form/index.vue
+++ b/src/views/bpm/model/form/index.vue
@@ -16,7 +16,6 @@
} from '@vben/constants';
import { useTabs } from '@vben/hooks';
import { IconifyIcon } from '@vben/icons';
-import { useUserStore } from '@vben/stores';
import { Button, Card, message } from 'ant-design-vue';
@@ -49,7 +48,6 @@
const router = useRouter();
const route = useRoute();
-const userStore = useUserStore();
const tabs = useTabs();
const basicInfoRef = ref<InstanceType<typeof BasicInfo>>(); // 鍩虹淇℃伅缁勪欢寮曠敤
@@ -188,8 +186,10 @@
} else {
// 鎯呭喌涓夛細鏂板鍦烘櫙
formData.value.startUserType = 0; // 鍏ㄤ綋
- formData.value.managerUserIds.push(userStore.userInfo?.id);
}
+
+ // 娴佺▼绠$悊鍛樺浐瀹氫负瓒呯骇绠$悊鍛橈紙admin锛岀郴缁熻处鍙� id=1锛夛紝涓嶅厑璁搁�夋嫨/淇敼
+ formData.value.managerUserIds = [1];
// 鑾峰彇琛ㄥ崟鍒楄〃
formList.value = await getFormSimpleList();
@@ -353,29 +353,9 @@
}
}
-/** 姝ラ鍒囨崲澶勭悊 */
-async function handleStepClick(index: number) {
- try {
- if (index !== 0) {
- await validateBasic();
- }
- if (index !== 1) {
- await validateForm();
- }
- if (index !== 2) {
- await validateProcess();
- }
- if (index !== 3) {
- await validateExtra();
- }
- // 鍒囨崲姝ラ
- currentStep.value = index;
- } catch (error) {
- console.error('姝ラ鍒囨崲澶辫触:', error);
- if (currentStep.value !== 2) {
- message.warning('璇峰厛瀹屽杽褰撳墠姝ラ蹇呭~淇℃伅');
- }
- }
+/** 姝ラ鍒囨崲澶勭悊锛氬厑璁歌嚜鐢卞墠杩�/杩斿洖锛屼笉鍋氭楠ゆ牎楠岋紙淇濆瓨/鍙戝竷鏃舵墠缁熶竴鏍¢獙锛� */
+function handleStepClick(index: number) {
+ currentStep.value = index;
}
/** 杩斿洖鍒楄〃椤� */
diff --git a/src/views/bpm/model/form/modules/basic-info.vue b/src/views/bpm/model/form/modules/basic-info.vue
index a297e25..691c654 100644
--- a/src/views/bpm/model/form/modules/basic-info.vue
+++ b/src/views/bpm/model/form/modules/basic-info.vue
@@ -61,7 +61,6 @@
const selectedStartDepts = ref<SystemDeptApi.Dept[]>([]); // 閫変腑鐨勫彂璧烽儴闂�
const selectedManagerUsers = ref<SystemUserApi.User[]>([]); // 閫変腑鐨勬祦绋嬬鐞嗗憳
-const currentSelectType = ref<'manager' | 'start'>('start');
const selectedUsers = ref<number[]>(); // 閫変腑鐨勭敤鎴�
const rules: Record<string, Rule[]> = {
name: [{ required: true, message: '娴佺▼鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }],
@@ -121,7 +120,6 @@
/** 鎵撳紑鍙戣捣浜洪�夋嫨 */
function openStartUserSelect() {
- currentSelectType.value = 'start';
selectedUsers.value = selectedStartUsers.value.map(
(user) => user.id,
) as number[];
@@ -141,27 +139,12 @@
};
}
-/** 鎵撳紑绠$悊鍛橀�夋嫨 */
-function openManagerUserSelect() {
- currentSelectType.value = 'manager';
- selectedUsers.value = selectedManagerUsers.value.map(
- (user) => user.id,
- ) as number[];
- userSelectModalApi.setData({ userIds: selectedUsers.value }).open();
-}
-
-/** 澶勭悊鐢ㄦ埛閫夋嫨纭 */
+/** 澶勭悊鐢ㄦ埛閫夋嫨纭锛堝彂璧蜂汉锛� */
function handleUserSelectConfirm(userList: SystemUserApi.User[]) {
- modelData.value =
- currentSelectType.value === 'start'
- ? {
- ...modelData.value,
- startUserIds: userList.map((u) => u.id),
- }
- : {
- ...modelData.value,
- managerUserIds: userList.map((u) => u.id),
- };
+ modelData.value = {
+ ...modelData.value,
+ startUserIds: userList.map((u) => u.id),
+ };
}
/** 鐢ㄦ埛閫夋嫨寮圭獥鍏抽棴 */
@@ -219,16 +202,6 @@
...modelData.value,
startDeptIds: modelData.value.startDeptIds.filter(
(id: number) => id !== dept.id,
- ),
- };
-}
-
-/** 绉婚櫎绠$悊鍛� */
-function handleRemoveManagerUser(user: SystemUserApi.User) {
- modelData.value = {
- ...modelData.value,
- managerUserIds: modelData.value.managerUserIds.filter(
- (id: number) => id !== user.id,
),
};
}
@@ -411,22 +384,7 @@
<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>
</Form.Item>
</Form>
--
Gitblit v1.9.3