56
56
<h5 class =" title-decoration-1 mb-8" >工具参数</h5 >
57
57
<div class =" border-r-4 p-8-12 mb-8 layout-bg lighter" >
58
58
<DynamicsForm
59
- v-model =" tool_form_data"
60
- :model =" tool_form_data"
59
+ v-if =" form_data.mcpTool"
60
+ v-model =" form_data.tool_params"
61
+ :model =" form_data.tool_params"
61
62
label-position =" top"
62
63
require-asterisk-position =" right"
63
- :render_data =" tool_form_field"
64
+ :render_data =" form_data. tool_form_field"
64
65
ref =" dynamicsFormRef"
65
66
>
66
67
</DynamicsForm >
@@ -75,7 +76,7 @@ import { isLastNode } from '@/workflow/common/data'
75
76
import applicationApi from ' @/api/application'
76
77
import { t } from ' @/locales'
77
78
import DynamicsForm from ' @/components/dynamics-form/index.vue'
78
- import type { FormField } from ' @/components/dynamics-form/type '
79
+ import { MsgSuccess } from ' @/utils/message '
79
80
80
81
const props = defineProps <{ nodeModel: any }>()
81
82
@@ -92,11 +93,12 @@ const wheel = (e: any) => {
92
93
}
93
94
}
94
95
const form = {
95
- mcpServers: ' '
96
+ mcpTool: ' ' ,
97
+ mcpServers: ' ' ,
98
+ tool_params: {},
99
+ tool_form_field: []
96
100
}
97
101
98
- const tool_form_data = ref ({})
99
- const tool_form_field = ref <FormField []>([])
100
102
101
103
function submitDialog(val : string ) {
102
104
set (props .nodeModel .properties .node_data , ' mcpServers' , val )
@@ -105,14 +107,15 @@ function submitDialog(val: string) {
105
107
function getTools() {
106
108
applicationApi .getMcpTools ({ mcp_servers: form_data .value .mcpServers }).then ((res : any ) => {
107
109
form_data .value .mcpTools = res .data
110
+ MsgSuccess (t (' views.applicationWorkflow.nodes.mcpNode.getToolsSuccess' ))
108
111
})
109
112
}
110
113
111
114
function changeTool() {
112
115
const params = form_data .value .mcpTools .filter ((item : any ) => item .name === form_data .value .mcpTool )[0 ].args .params
113
- tool_form_field .value = []
116
+ form_data .value . tool_form_field = []
114
117
for (const item in params .properties ) {
115
- tool_form_field .value .push ({
118
+ form_data .value . tool_form_field .push ({
116
119
field: item ,
117
120
label: {
118
121
input_type: ' TooltipLabel' ,
@@ -126,12 +129,17 @@ function changeTool() {
126
129
show_default_value: false ,
127
130
props_info: {
128
131
rules: [
129
- { required: params .required .indexOf (item ) !== - 1 , message: t (' dynamicsForm.tip.requiredMessage' ), trigger: ' blur' }
132
+ {
133
+ required: params .required .indexOf (item ) !== - 1 ,
134
+ message: t (' dynamicsForm.tip.requiredMessage' ),
135
+ trigger: ' blur'
136
+ }
130
137
]
131
138
}
132
139
})
133
140
}
134
- dynamicsFormRef .value .render (tool_form_field .value , tool_form_data .value )
141
+ //
142
+ dynamicsFormRef .value ?.render (form_data .value .tool_form_field , form_data .value .tool_params )
135
143
}
136
144
137
145
const form_data = computed ({
0 commit comments