diff --git a/src/components/DeptSelectForm/index.vue b/src/components/DeptSelectForm/index.vue new file mode 100644 index 00000000..9c6868fa --- /dev/null +++ b/src/components/DeptSelectForm/index.vue @@ -0,0 +1,120 @@ + + + \ No newline at end of file diff --git a/src/components/SimpleProcessDesignerV2/src/SimpleProcessDesigner.vue b/src/components/SimpleProcessDesignerV2/src/SimpleProcessDesigner.vue index e9a9b3f5..7823c2f8 100644 --- a/src/components/SimpleProcessDesignerV2/src/SimpleProcessDesigner.vue +++ b/src/components/SimpleProcessDesignerV2/src/SimpleProcessDesigner.vue @@ -59,6 +59,11 @@ const props = defineProps({ startUserIds: { type: Array, required: false + }, + // 可发起流程的部门编号 + startDeptIds: { + type: Array, + required: false } }) @@ -82,6 +87,7 @@ provide('deptList', deptOptions) provide('userGroupList', userGroupOptions) provide('deptTree', deptTreeOptions) provide('startUserIds', props.startUserIds) +provide('startDeptIds', props.startDeptIds) provide('tasks', []) provide('processInstance', {}) const message = useMessage() // 国际化 diff --git a/src/components/SimpleProcessDesignerV2/src/nodes-config/StartUserNodeConfig.vue b/src/components/SimpleProcessDesignerV2/src/nodes-config/StartUserNodeConfig.vue index 663b4db0..f1100d24 100644 --- a/src/components/SimpleProcessDesignerV2/src/nodes-config/StartUserNodeConfig.vue +++ b/src/components/SimpleProcessDesignerV2/src/nodes-config/StartUserNodeConfig.vue @@ -25,21 +25,38 @@ - 全部成员可以发起流程 - - {{ getUserNicknames(startUserIds) }} 可发起流程 - - - - {{ getUserNicknames(startUserIds.slice(0, 2)) }} 等 - {{ startUserIds.length }} 人可发起流程 - - + 全部成员可以发起流程 +
+ + {{ getUserNicknames(startUserIds) }} 可发起流程 + + + + {{ getUserNicknames(startUserIds.slice(0,2)) }} 等 {{ startUserIds.length }} 人可发起流程 + + +
+
+ + {{ getDeptNames(startDeptIds) }} 可发起流程 + + + + {{ getDeptNames(startDeptIds.slice(0,2)) }} 等 {{ startDeptIds.length }} 个部门的人可发起流程 + + +
+
@@ -107,6 +124,7 @@ import { SimpleFlowNode, NodeType, FieldPermissionType, START_USER_BUTTON_SETTING } from '../consts' import { useWatchNode, useDrawer, useNodeName, useFormFieldsPermission } from '../node' import * as UserApi from '@/api/system/user' +import * as DeptApi from '@/api/system/dept' defineOptions({ name: 'StartUserNodeConfig' }) @@ -118,8 +136,12 @@ const props = defineProps({ }) // 可发起流程的用户编号 const startUserIds = inject>('startUserIds') +// 可发起流程的部门编号 +const startDeptIds = inject>('startDeptIds') // 用户列表 const userOptions = inject>('userList') +// 部门列表 +const deptOptions = inject>('deptList') // 抽屉配置 const { settingVisible, closeDrawer, openDrawer } = useDrawer() // 当前节点 @@ -145,6 +167,19 @@ const getUserNicknames = (userIds: number[]): string => { }) return nicknames.join(',') } +const getDeptNames = (deptIds: number[]): string => { + if (!deptIds || deptIds.length === 0) { + return '' + } + const deptNames: string[] = [] + deptIds.forEach((deptId) => { + const found = deptOptions?.value.find((item) => item.id === deptId) + if (found && found.name) { + deptNames.push(found.name) + } + }) + return deptNames.join(',') +} // 保存配置 const saveConfig = async () => { activeTabName.value = 'user' diff --git a/src/views/bpm/model/CategoryDraggableModel.vue b/src/views/bpm/model/CategoryDraggableModel.vue index 4e4c1827..89a3217e 100644 --- a/src/views/bpm/model/CategoryDraggableModel.vue +++ b/src/views/bpm/model/CategoryDraggableModel.vue @@ -97,10 +97,23 @@