From 012412ec22cf55ab556b5b03bfa7aa0096fe7d9d Mon Sep 17 00:00:00 2001 From: jason <2667446@qq.com> Date: Sat, 17 Jan 2026 15:31:54 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20[bpm][antd]=20todo=20=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../child-process-node-config.vue | 8 +--- .../nodes-config/user-task-node-config.vue | 38 ++++++++++++++-- .../simple-process-design/helpers.ts | 45 +------------------ .../components/simple-process-design/index.ts | 2 - .../model/form/modules/bpm-model-editor.vue | 4 +- .../bpm/processInstance/report/index.vue | 3 +- 6 files changed, 40 insertions(+), 60 deletions(-) diff --git a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue index a89375397..1ac758a6d 100644 --- a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue +++ b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue @@ -29,6 +29,7 @@ import { import { getForm } from '#/api/bpm/form'; import { getModelList } from '#/api/bpm/model'; +import { parseFormFields } from '#/components/form-create'; import { CHILD_PROCESS_MULTI_INSTANCE_SOURCE_TYPE, @@ -42,12 +43,7 @@ import { TIME_UNIT_TYPES, TimeUnitType, } from '../../consts'; -import { - parseFormFields, - useFormFields, - useNodeName, - useWatchNode, -} from '../../helpers'; +import { useFormFields, useNodeName, useWatchNode } from '../../helpers'; import { convertTimeUnit } from './utils'; defineOptions({ name: 'ChildProcessNodeConfig' }); diff --git a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/user-task-node-config.vue b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/user-task-node-config.vue index 80e6b0e07..2afdd6f97 100644 --- a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/user-task-node-config.vue +++ b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/user-task-node-config.vue @@ -6,9 +6,9 @@ import type { ComponentPublicInstance, Ref } from 'vue'; import type { ButtonSetting, SimpleFlowNode } from '../../consts'; import type { UserTaskFormType } from '../../helpers'; -import { computed, nextTick, onMounted, reactive, ref } from 'vue'; +import { computed, nextTick, onMounted, reactive, ref, watchEffect } from 'vue'; -import { useVbenDrawer } from '@vben/common-ui'; +import { useVbenDrawer, useVbenModal } from '@vben/common-ui'; import { BpmModelFormType, BpmNodeTypeEnum, @@ -39,6 +39,8 @@ import { TypographyText, } from 'ant-design-vue'; +import { ProcessExpressionSelectModal } from '#/views/bpm/processExpression/components'; + import { APPROVE_METHODS, APPROVE_TYPE, @@ -112,10 +114,20 @@ const [Drawer, drawerApi] = useVbenDrawer({ }, }); +const [ExpressionSelectModal, expressionSelectModalApi] = useVbenModal({ + connectedComponent: ProcessExpressionSelectModal, + destroyOnClose: true, + showConfirmButton: false, +}); + // 节点名称配置 const { nodeName, showInput, clickIcon, changeNodeName, inputRef } = useNodeName(BpmNodeTypeEnum.USER_TASK_NODE); +watchEffect(() => { + void inputRef.value; +}); + // 激活的 Tab 标签页 const activeTabName = ref('user'); @@ -218,9 +230,18 @@ function changeCandidateStrategy() { configForm.value.deptLevel = 1; configForm.value.formUser = ''; configForm.value.formDept = ''; + configForm.value.expression = ''; configForm.value.approveMethod = ApproveMethodType.SEQUENTIAL_APPROVE; } +function openExpressionSelect() { + expressionSelectModalApi.open(); +} + +function handleExpressionSelected(row: any) { + configForm.value.expression = row?.expression ?? ''; +} + /** 审批方式改变 */ function approveMethodChanged() { configForm.value.rejectHandlerType = RejectHandlerType.FINISH_PROCESS; @@ -843,7 +864,6 @@ onMounted(() => { - -