From 163fc682dffd6bfaac24b9dd140a7a04f5170d28 Mon Sep 17 00:00:00 2001 From: jason <2667446@qq.com> Date: Sun, 23 Feb 2025 22:56:30 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E3=80=91=20=E6=96=B0=E5=A2=9E=E5=BC=82=E6=AD=A5Http=20?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=E8=A7=A6=E5=8F=91=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SimpleProcessDesignerV2/src/consts.ts | 7 +- .../src/nodes-config/TriggerNodeConfig.vue | 168 ++++++++++-------- 2 files changed, 102 insertions(+), 73 deletions(-) diff --git a/src/components/SimpleProcessDesignerV2/src/consts.ts b/src/components/SimpleProcessDesignerV2/src/consts.ts index 303db1ec..511aebe9 100644 --- a/src/components/SimpleProcessDesignerV2/src/consts.ts +++ b/src/components/SimpleProcessDesignerV2/src/consts.ts @@ -754,7 +754,11 @@ export enum TriggerTypeEnum { /** * 表单数据删除触发器 */ - FORM_DELETE = 3 + FORM_DELETE = 3, + /** + * 发起异步 HTTP 请求 + */ + ASYNC_HTTP_REQUEST = 4 } /** @@ -789,6 +793,7 @@ export type FormTriggerSetting = { export const TRIGGER_TYPES: DictDataVO[] = [ { label: 'HTTP 请求', value: TriggerTypeEnum.HTTP_REQUEST }, + { label: '异步 HTTP 请求', value: TriggerTypeEnum.ASYNC_HTTP_REQUEST }, { label: '修改表单数据', value: TriggerTypeEnum.FORM_UPDATE }, { label: '删除表单数据', value: TriggerTypeEnum.FORM_DELETE } ] diff --git a/src/components/SimpleProcessDesignerV2/src/nodes-config/TriggerNodeConfig.vue b/src/components/SimpleProcessDesignerV2/src/nodes-config/TriggerNodeConfig.vue index 01c611a4..fea98132 100644 --- a/src/components/SimpleProcessDesignerV2/src/nodes-config/TriggerNodeConfig.vue +++ b/src/components/SimpleProcessDesignerV2/src/nodes-config/TriggerNodeConfig.vue @@ -37,7 +37,11 @@
- - - - -
-
- - - - - +
+ + + + +
+
+ + + + + +
+
+ + + +
+
+ +
-
- - - -
-
- -
-
- - 添加一行 - - + + 添加一行 + + +
@@ -385,14 +393,28 @@ let originalSetting: TriggerSetting | undefined /** 触发器类型改变了 */ const changeTriggerType = () => { if (configForm.value.type === TriggerTypeEnum.HTTP_REQUEST) { - configForm.value.httpRequestSetting = originalSetting?.httpRequestSetting || { - url: '', - header: [], - body: [], - response: [] - } + configForm.value.httpRequestSetting = + originalSetting?.type === TriggerTypeEnum.HTTP_REQUEST && originalSetting.httpRequestSetting + ? originalSetting.httpRequestSetting + : { + url: '', + header: [], + body: [], + response: [] + } configForm.value.formSettings = undefined - } else if (configForm.value.type === TriggerTypeEnum.FORM_UPDATE) { + } else if (configForm.value.type === TriggerTypeEnum.ASYNC_HTTP_REQUEST) { + configForm.value.httpRequestSetting = + originalSetting?.type === TriggerTypeEnum.ASYNC_HTTP_REQUEST && originalSetting.httpRequestSetting + ? originalSetting.httpRequestSetting + : { + url: '', + header: [], + body: [], + response: [] + } + configForm.value.formSettings = undefined + }else if (configForm.value.type === TriggerTypeEnum.FORM_UPDATE) { configForm.value.formSettings = originalSetting?.type === TriggerTypeEnum.FORM_UPDATE && originalSetting.formSettings ? originalSetting.formSettings @@ -405,7 +427,6 @@ const changeTriggerType = () => { ] configForm.value.httpRequestSetting = undefined } else if (configForm.value.type === TriggerTypeEnum.FORM_DELETE) { - console.log('originalSetting?.type', originalSetting?.type) configForm.value.formSettings = originalSetting?.type === TriggerTypeEnum.FORM_DELETE && originalSetting.formSettings ? originalSetting.formSettings @@ -531,7 +552,10 @@ const saveConfig = async () => { /** 获取节点展示内容 */ const getShowText = (): string => { let showText = '' - if (configForm.value.type === TriggerTypeEnum.HTTP_REQUEST) { + if ( + configForm.value.type === TriggerTypeEnum.HTTP_REQUEST || + configForm.value.type === TriggerTypeEnum.ASYNC_HTTP_REQUEST + ) { showText = `${configForm.value.httpRequestSetting?.url}` } else if (configForm.value.type === TriggerTypeEnum.FORM_UPDATE) { for (const [index, setting] of configForm.value.formSettings!.entries()) { @@ -556,7 +580,7 @@ const getShowText = (): string => { /** 显示触发器节点配置, 由父组件传过来 */ const showTriggerNodeConfig = (node: SimpleFlowNode) => { nodeName.value = node.name - originalSetting = node.triggerSetting + originalSetting = node.triggerSetting ? JSON.parse(JSON.stringify(node.triggerSetting)) : {} if (node.triggerSetting) { configForm.value = { type: node.triggerSetting.type,