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,