From c201766bdb56b9db7eef74ee8f5a98884967dde8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=90=E5=A4=9C?= <278898052@qq.com> Date: Thu, 8 May 2025 18:29:28 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E5=96=84=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E6=A8=A1=E5=9D=97=EF=BC=8C=E8=BF=9B=E5=BA=A6?= =?UTF-8?q?=2028%=EF=BC=8C=E8=B0=83=E6=95=B4=E6=A0=B7=E5=BC=8F=E5=B9=B6?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=94=A8=E6=88=B7=E9=80=89=E6=8B=A9=E5=BC=B9?= =?UTF-8?q?=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/user-select-modal/index.ts | 1 + .../user-select-modal/user-select-modal.vue | 370 ++++++++++++++++++ .../bpm/processInstance/detail/index.vue | 6 +- .../detail/modules/time-line.vue | 13 +- 4 files changed, 387 insertions(+), 3 deletions(-) create mode 100644 apps/web-antd/src/components/user-select-modal/index.ts create mode 100644 apps/web-antd/src/components/user-select-modal/user-select-modal.vue diff --git a/apps/web-antd/src/components/user-select-modal/index.ts b/apps/web-antd/src/components/user-select-modal/index.ts new file mode 100644 index 00000000..9cb1c93f --- /dev/null +++ b/apps/web-antd/src/components/user-select-modal/index.ts @@ -0,0 +1 @@ +export { default as UserSelectModal } from './user-select-modal.vue'; diff --git a/apps/web-antd/src/components/user-select-modal/user-select-modal.vue b/apps/web-antd/src/components/user-select-modal/user-select-modal.vue new file mode 100644 index 00000000..4c8db339 --- /dev/null +++ b/apps/web-antd/src/components/user-select-modal/user-select-modal.vue @@ -0,0 +1,370 @@ + + + + + + + + + + handleDeptSearch(e.target?.value ?? '')" + /> + + + + + + + + {{ item.nickname }} ({{ item.id }}) + + + + + + + + {{ confirmText }} + + {{ cancelText }} + + + + + diff --git a/apps/web-antd/src/views/bpm/processInstance/detail/index.vue b/apps/web-antd/src/views/bpm/processInstance/detail/index.vue index a469fb9f..9046151f 100644 --- a/apps/web-antd/src/views/bpm/processInstance/detail/index.vue +++ b/apps/web-antd/src/views/bpm/processInstance/detail/index.vue @@ -238,7 +238,11 @@ onMounted(async () => { 编号:{{ id || '-' }} diff --git a/apps/web-antd/src/views/bpm/processInstance/detail/modules/time-line.vue b/apps/web-antd/src/views/bpm/processInstance/detail/modules/time-line.vue index 83cd68d0..0a5a3d8f 100644 --- a/apps/web-antd/src/views/bpm/processInstance/detail/modules/time-line.vue +++ b/apps/web-antd/src/views/bpm/processInstance/detail/modules/time-line.vue @@ -10,6 +10,7 @@ import { formatDateTime, isEmpty } from '@vben/utils'; import { Avatar, Button, Image, Tooltip } from 'ant-design-vue'; +import { UserSelectModal } from '#/components/user-select-modal'; import { CandidateStrategyEnum, NodeTypeEnum, TaskStatusEnum } from '#/utils'; defineOptions({ name: 'BpmProcessInstanceTimeline' }); @@ -150,10 +151,12 @@ const customApproveUsers = ref>({}); // key:activityId // 打开选择用户弹窗 const handleSelectUser = (activityId: string, selectedList: any[]) => { + console.log(userSelectFormRef.value); userSelectFormRef.value.open(activityId, selectedList); }; // 选择用户完成 +const selectedUsers = ref([]); const handleUserSelectConfirm = (activityId: string, userList: any[]) => { customApproveUsers.value[activityId] = userList || []; emit('selectUserConfirm', activityId, userList); @@ -280,7 +283,7 @@ const shouldShowApprovalReason = (task: any, nodeType: NodeTypeEnum) => { @@ -438,5 +441,11 @@ const shouldShowApprovalReason = (task: any, nodeType: NodeTypeEnum) => { - +