From 6f1ec3e0a33dfcfacb2ba592ac496beb16bfb1ea Mon Sep 17 00:00:00 2001 From: jason <2667446@qq.com> Date: Thu, 12 Jun 2025 09:20:28 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=20review=20=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nodes-config/modules/condition-dialog.vue | 25 +++++++++++-------- .../nodes-config/trigger-node-config.vue | 7 +++--- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/apps/web-antd/src/components/simple-process-design/components/nodes-config/modules/condition-dialog.vue b/apps/web-antd/src/components/simple-process-design/components/nodes-config/modules/condition-dialog.vue index f8fea7a2b..dc8d6a862 100644 --- a/apps/web-antd/src/components/simple-process-design/components/nodes-config/modules/condition-dialog.vue +++ b/apps/web-antd/src/components/simple-process-design/components/nodes-config/modules/condition-dialog.vue @@ -33,6 +33,18 @@ const [Modal, modalApi] = useVbenModal({ title: '条件配置', destroyOnClose: true, draggable: true, + onOpenChange(isOpen) { + if (isOpen) { + // 获取传递的数据 + const conditionObj = modalApi.getData(); + if (conditionObj) { + conditionData.value.conditionType = conditionObj.conditionType; + conditionData.value.conditionExpression = + conditionObj.conditionExpression; + conditionData.value.conditionGroups = conditionObj.conditionGroups; + } + } + }, async onConfirm() { // 校验表单 if (!conditionRef.value) return; @@ -50,17 +62,8 @@ const [Modal, modalApi] = useVbenModal({ }, }); -// TODO: jason open 在 useVbenModal 中 onOpenChange 方法 -function open(conditionObj: any | undefined) { - if (conditionObj) { - conditionData.value.conditionType = conditionObj.conditionType; - conditionData.value.conditionExpression = conditionObj.conditionExpression; - conditionData.value.conditionGroups = conditionObj.conditionGroups; - } - modalApi.open(); -} -// TODO: jason 不需要暴露expose,直接使用modalApi.setData(formSetting).open() -defineExpose({ open }); +// TODO xingyu 暴露 modalApi 给父组件是否合适? trigger-node-config.vue 会有多个 conditionDialog 实例 +defineExpose({ modalApi });