Explorar o código

将webhook配置缩到 webhook中。

kagg886 hai 2 meses
pai
achega
e271c3d6c5

+ 23 - 21
src/components/gFlow/propertySetting/CommonProperty.vue

@@ -97,10 +97,10 @@
 			<!-- WebHook 特定配置 -->
 			<template v-if="nodeType === NodeTypeWebHook">
 				<el-form-item label="请求地址" required>
-					<el-input v-model="formData.webhookUrl" placeholder="请输入WebHook URL" :disabled="readonly"></el-input>
+					<el-input v-model="formData.webhook.url" placeholder="请输入WebHook URL" :disabled="readonly"></el-input>
 				</el-form-item>
 				<el-form-item label="请求方法">
-					<el-select v-model="formData.webhookMethod" placeholder="请选择请求方法" :disabled="readonly">
+					<el-select v-model="formData.webhook.method" placeholder="请选择请求方法" :disabled="readonly">
 						<el-option v-for="item in httpMethodOptions" :key="item.value" :label="item.label" :value="item.value" />
 					</el-select>
 				</el-form-item>
@@ -108,7 +108,7 @@
 				<el-form-item label="请求头">
 					<WebHookParams
 						ref="headersRef"
-						v-model="formData.webhookHeaders"
+						v-model="formData.webhook.headers"
 						title="请求头参数"
 						@setParams="setWebHookHeaders" />
 				</el-form-item>
@@ -117,23 +117,23 @@
 				<el-form-item label="请求参数">
 					<WebHookParams
 						ref="paramsRef"
-						v-model="formData.webhookParams"
+						v-model="formData.webhook.params"
 						title="URL参数"
 						@setParams="setWebHookParams" />
 				</el-form-item>
 
 				<!-- 请求体类型 - 仅 POST/PUT 显示 -->
-				<el-form-item label="请求体类型" v-show="formData.webhookMethod === 'POST' || formData.webhookMethod === 'PUT'">
-					<el-select v-model="formData.webhookBodyType" :disabled="readonly">
+				<el-form-item label="请求体类型" v-show="formData.webhook.method === 'POST' || formData.webhook.method === 'PUT'">
+					<el-select v-model="formData.webhook.bodyType" :disabled="readonly">
 						<el-option label="JSON" value="json"></el-option>
 					</el-select>
 				</el-form-item>
 
 				<!-- 请求体 - 仅 POST/PUT 显示 -->
-				<el-form-item label="请求体" v-show="formData.webhookMethod === 'POST' || formData.webhookMethod === 'PUT'">
+				<el-form-item label="请求体" v-show="formData.webhook.method === 'POST' || formData.webhook.method === 'PUT'">
 					<WebHookParams
 						ref="bodyRef"
-						v-model="formData.webhookBody"
+						v-model="formData.webhook.body"
 						title="请求体参数"
 						@setParams="setWebHookBody" />
 				</el-form-item>
@@ -299,13 +299,15 @@ const state = reactive({
 		rollback: undefined,
 		nodeExt: [] as Array<NodeConditionData[]>,
 		deptProv: 1,
-		// WebHook 相关配置
-		webhookUrl: '',
-		webhookMethod: 'POST',
-		webhookParams: [] as WebHookParamData[],
-		webhookHeaders: [] as WebHookParamData[],
-		webhookBodyType: 'json',
-		webhookBody: [] as WebHookParamData[],
+		// WebHook 相关配置整合到一个对象中
+		webhook: {
+			url: '',
+			method: 'POST',
+			params: [] as WebHookParamData[],
+			headers: [] as WebHookParamData[],
+			bodyType: 'json',
+			body: [] as WebHookParamData[],
+		},
 	},
 })
 const { formData, deptData, roleList, postList, actionRuleOption, approveRuleOption, conditionRuleOption, httpMethodOptions } = toRefs(state)
@@ -317,9 +319,9 @@ onMounted(() => {
 		branchRef.value.initNodeData(state.formData.nodeExt)
 		//设置WebHook参数
 		if (nodeType.value === NodeTypeWebHook) {
-			paramsRef.value?.initParams(state.formData.webhookParams || [])
-			headersRef.value?.initParams(state.formData.webhookHeaders || [])
-			bodyRef.value?.initParams(state.formData.webhookBody || [])
+			paramsRef.value?.initParams(state.formData.webhook?.params || [])
+			headersRef.value?.initParams(state.formData.webhook?.headers || [])
+			bodyRef.value?.initParams(state.formData.webhook?.body || [])
 		}
 	}
 	if (text && text.value) {
@@ -374,15 +376,15 @@ const setNodeExt = (data: Array<NodeConditionData[]>) => {
 
 // WebHook 参数处理方法
 const setWebHookParams = (data: WebHookParamData[]) => {
-	state.formData.webhookParams = data
+	state.formData.webhook.params = data
 }
 
 const setWebHookHeaders = (data: WebHookParamData[]) => {
-	state.formData.webhookHeaders = data
+	state.formData.webhook.headers = data
 }
 
 const setWebHookBody = (data: WebHookParamData[]) => {
-	state.formData.webhookBody = data
+	state.formData.webhook.body = data
 }
 </script>
 <style scoped></style>

+ 3 - 1
src/components/gFlow/showDesign.vue

@@ -124,7 +124,9 @@ const $_render = async ()=>{
           notice: item.notice ?? [],
           rollback: item.rollback,
           nodeExt: item.nodeExt??[],
-					deptProv: item.deptProv??1
+					deptProv: item.deptProv??1,
+					// WebHook 配置 - 从后端数据构建 webhook 对象
+					webhook: item.webhook
         }
       }
       setReceiver(node,item.nodeReceiver)

+ 5 - 10
src/views/flow/flowModel/list/component/design.vue

@@ -121,7 +121,9 @@ const $_render = ()=>{
           notice: item.notice ?? [],
           rollback: item.rollback,
           nodeExt: item.nodeExt??[],
-					deptProv: item.deptProv??1
+					deptProv: item.deptProv??1,
+					// WebHook 配置 - 从后端数据构建 webhook 对象
+					webhook: item.webhook,
         }
       }
       setReceiver(node,item.nodeReceiver)
@@ -181,15 +183,8 @@ const $_saveModel = ()=>{
       nodeExt:item.properties?.nodeExt,
 			deptProv:item.properties?.deptProv,
 
-			//TODO 日后会删除
-			ext: {'foo': 'bar'},
-
-			webhookUrl: item.properties?.webhookUrl ?? '',
-			webhookMethod: item.properties?.webhookMethod ?? '',
-			webhookParams: item.properties?.webhookParams ?? [],
-			webhookHeaders: item.properties?.webhookHeaders ?? [],
-			webhookBodyType: item.properties?.webhookBodyType ?? 'json',
-			webhookBody: item.properties?.webhookBody ?? [],
+			// WebHook 相关配置 - 整合到 webhook 对象中
+			webhook: item.properties?.webhook
     }
   })
   const edges = data.edges.map((item:any)=>{