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,