From 7fb3fb10e95f7128dd30bc02da5f5bd561ad8671 Mon Sep 17 00:00:00 2001 From: zhangzhanwei Date: Mon, 16 Mar 2026 15:46:37 +0800 Subject: [PATCH] fix: Tool workflow node result --- ui/src/workflow/common/data.ts | 4 ---- .../nodes/tool-workflow-lib-node/index.ts | 3 +++ .../nodes/tool-workflow-lib-node/index.vue | 22 +++++++++---------- 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/ui/src/workflow/common/data.ts b/ui/src/workflow/common/data.ts index e8365e2b825..ea80cb8860a 100644 --- a/ui/src/workflow/common/data.ts +++ b/ui/src/workflow/common/data.ts @@ -1050,10 +1050,6 @@ export const toolWorkflowLibNode = { stepName: t('workflow.nodes.toolWorlflowNode.label','工作流工具'), config: { fields: [ - { - label: t('common.result'), - value: 'result', - }, ], }, }, diff --git a/ui/src/workflow/nodes/tool-workflow-lib-node/index.ts b/ui/src/workflow/nodes/tool-workflow-lib-node/index.ts index fea8d415d94..bb896f90846 100644 --- a/ui/src/workflow/nodes/tool-workflow-lib-node/index.ts +++ b/ui/src/workflow/nodes/tool-workflow-lib-node/index.ts @@ -4,6 +4,9 @@ class ToolWorkflowLibNode extends AppNode { constructor(props: any) { super(props, ToolWorkflowLibNodeVue) } + getConfig(props: any) { + return props.model.properties.config + } } export default { type: 'tool-workflow-lib-node', diff --git a/ui/src/workflow/nodes/tool-workflow-lib-node/index.vue b/ui/src/workflow/nodes/tool-workflow-lib-node/index.vue index a04796c15a9..91933a99807 100644 --- a/ui/src/workflow/nodes/tool-workflow-lib-node/index.vue +++ b/ui/src/workflow/nodes/tool-workflow-lib-node/index.vue @@ -150,8 +150,6 @@ const update_field = () => { loadSharedApi({ type: 'tool', systemType: apiType.value }) .getToolById(props.nodeModel.properties.node_data.tool_lib_id) .then((ok: any) => { - console.log('ssss', ok.data) - const workflowNodes = ok.data?.work_flow?.nodes || [] const baseNode = workflowNodes.find((n: any) => n.type === 'tool-base-node') @@ -159,17 +157,14 @@ const update_field = () => { const new_input_list = baseNode.properties.user_input_field_list || [] const new_output_list = baseNode.properties.user_output_field_list || [] - let config_field_list: any[] = [] - if (new_output_list.length > 0) { - config_field_list = new_output_list.map((item: any) => ({ - label: item.label, - value: item.field, - })) - } + const old_config_fields = props.nodeModel.properties.config?.fields || [] + const config_field_list = new_output_list.map((item: any) => { + const old = old_config_fields.find((o: any) => o.value === item.field) + return old ? JSON.parse(JSON.stringify(old)) : { label: item.label, value: item.field } + }) const input_title = baseNode.properties.user_input_config?.title const output_title = baseNode.properties.user_output_config?.title - const old_input_list = props.nodeModel.properties.node_data.input_field_list || [] const merged_input_list = new_input_list.map((item: any) => { const find_field = old_input_list.find((old_item: any) => old_item.field === item.field) @@ -185,11 +180,14 @@ const update_field = () => { }) set(props.nodeModel.properties.node_data, 'input_field_list', merged_input_list) - set(props.nodeModel.properties.config, 'fields', config_field_list) + set(props.nodeModel.properties, 'config', { + fields: config_field_list, + output_title: output_title, + }) set(props.nodeModel.properties.node_data, 'input_title', input_title) - set(props.nodeModel.properties.config, 'output_title', output_title) } set(props.nodeModel.properties, 'status', ok.data.is_active ? 200 : 500) + props.nodeModel.clear_next_node_field(true) }) .catch(() => { set(props.nodeModel.properties, 'status', 500)