From 877fa1b2d19c53876bdcc3911ab1507091b8addc Mon Sep 17 00:00:00 2001 From: dap <15891557205@163.com> Date: Wed, 18 Dec 2024 13:50:05 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=B5=81=E7=A8=8B=E5=B9=B2=E9=A2=84?= =?UTF-8?q?=20-=20=E5=8A=A0=E7=AD=BE/=E5=87=8F=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/flow-interfere-modal.vue | 67 ++++++++++++++++++- .../workflow/components/user-select-modal.vue | 2 +- 2 files changed, 67 insertions(+), 2 deletions(-) diff --git a/apps/web-antd/src/views/workflow/components/flow-interfere-modal.vue b/apps/web-antd/src/views/workflow/components/flow-interfere-modal.vue index 05337f13..44691f72 100644 --- a/apps/web-antd/src/views/workflow/components/flow-interfere-modal.vue +++ b/apps/web-antd/src/views/workflow/components/flow-interfere-modal.vue @@ -2,7 +2,7 @@ import type { User } from '#/api/system/user/model'; import type { TaskInfo } from '#/api/workflow/task/model'; -import { ref } from 'vue'; +import { computed, ref } from 'vue'; import { useVbenModal } from '@vben/common-ui'; @@ -19,6 +19,20 @@ import { userSelectModal } from '.'; const emit = defineEmits<{ complete: [] }>(); const taskInfo = ref(); + +/** + * 是否显示 加签/减签操作 + */ +const showMultiActions = computed(() => { + if (!taskInfo.value) { + return false; + } + if (Number(taskInfo.value.nodeRatio) > 0) { + return true; + } + return false; +}); + const [BasicModal, modalApi] = useVbenModal({ title: '流程干预', class: 'w-[800px]', @@ -73,6 +87,46 @@ function handleTermination() { }, }); } + +const [AddSignatureModal, addSignatureModalApi] = useVbenModal({ + connectedComponent: userSelectModal, +}); +function handleAddSignature(userList: User[]) { + if (userList.length === 0 || !taskInfo.value) return; + const userIds = userList.map((user) => user.userId); + Modal.confirm({ + title: '提示', + content: '确认加签吗?', + centered: true, + onOk: async () => { + await taskOperation( + { taskId: taskInfo.value!.id, userIds }, + 'addSignature', + ); + emit('complete'); + }, + }); +} + +const [ReductionSignatureModal, reductionSignatureModalApi] = useVbenModal({ + connectedComponent: userSelectModal, +}); +function handleReductionSignature(userList: User[]) { + if (userList.length === 0 || !taskInfo.value) return; + const userIds = userList.map((user) => user.userId); + Modal.confirm({ + title: '提示', + content: '确认加签吗?', + centered: true, + onOk: async () => { + await taskOperation( + { taskId: taskInfo.value!.id, userIds }, + 'reductionSignature', + ); + emit('complete'); + }, + }); +}