15
15
<MdEditorMagnify
16
16
@wheel =" wheel"
17
17
title =" MCP Server Config"
18
- v-model =" form_data.mcpServers "
18
+ v-model =" form_data.mcp_servers "
19
19
style =" height : 150px "
20
20
@submitDialog =" submitDialog"
21
21
/>
22
22
</el-form-item >
23
23
<el-form-item >
24
24
<template v-slot :label >
25
25
<div class =" flex-between" >
26
- <span >工具</span >
27
- <el-button type =" primary" link @click =" getTools()" >获取工具</el-button >
26
+ <span >{{ $t('views.applicationWorkflow.nodes.mcpNode.tool') }}</span >
27
+ <el-button type =" primary" link @click =" getTools()" >
28
+ {{ $t('views.applicationWorkflow.nodes.mcpNode.getTool') }}
29
+ </el-button >
28
30
</div >
29
31
</template >
30
32
<el-select
31
- v-model =" form_data.mcpTool"
32
- placeholder =" 请选择工具"
33
+ v-model =" form_data.mcp_tool"
33
34
@change =" changeTool"
34
35
>
35
36
<el-option
36
- v-for =" item in form_data.mcpTools "
37
+ v-for =" item in form_data.mcp_tools "
37
38
:key =" item.value"
38
39
:label =" item.name"
39
40
:value =" item.name"
53
54
</el-form-item >
54
55
</el-form >
55
56
</div >
56
- <h5 class =" title-decoration-1 mb-8" >工具参数</h5 >
57
+ <h5 class =" title-decoration-1 mb-8" >
58
+ {{ $t('views.applicationWorkflow.nodes.mcpNode.toolParam') }}</h5 >
57
59
<div class =" border-r-4 p-8-12 mb-8 layout-bg lighter" >
58
60
<DynamicsForm
59
- v-if =" form_data.mcpTool "
61
+ v-if =" form_data.mcp_tool "
60
62
v-model =" form_data.tool_params"
61
63
:model =" form_data.tool_params"
62
64
label-position =" top"
@@ -93,26 +95,31 @@ const wheel = (e: any) => {
93
95
}
94
96
}
95
97
const form = {
96
- mcpTool: ' ' ,
97
- mcpServers: ' ' ,
98
+ mcp_tool: ' ' ,
99
+ mcp_tools: [],
100
+ mcp_servers: ' ' ,
101
+ mcp_server: ' ' ,
98
102
tool_params: {},
99
103
tool_form_field: []
100
104
}
101
105
102
106
103
107
function submitDialog(val : string ) {
104
- set (props .nodeModel .properties .node_data , ' mcpServers ' , val )
108
+ set (props .nodeModel .properties .node_data , ' mcp_servers ' , val )
105
109
}
106
110
107
111
function getTools() {
108
- applicationApi .getMcpTools ({ mcp_servers: form_data .value .mcpServers }).then ((res : any ) => {
109
- form_data .value .mcpTools = res .data
112
+ applicationApi .getMcpTools ({ mcp_servers: form_data .value .mcp_servers }).then ((res : any ) => {
113
+ form_data .value .mcp_tools = res .data
110
114
MsgSuccess (t (' views.applicationWorkflow.nodes.mcpNode.getToolsSuccess' ))
111
115
})
112
116
}
113
117
114
118
function changeTool() {
115
- const params = form_data .value .mcpTools .filter ((item : any ) => item .name === form_data .value .mcpTool )[0 ].args .params
119
+ // form_data.value.mcp_server = item.server
120
+ // console.log(item.server)
121
+
122
+ const params = form_data .value .mcp_tools .filter ((item : any ) => item .name === form_data .value .mcp_tool )[0 ].args .params
116
123
form_data .value .tool_form_field = []
117
124
for (const item in params .properties ) {
118
125
form_data .value .tool_form_field .push ({
@@ -124,13 +131,13 @@ function changeTool() {
124
131
props_info: {}
125
132
},
126
133
input_type: ' TextInput' ,
127
- required: params .required .indexOf (item ) !== - 1 ,
134
+ required: params .required ? .indexOf (item ) !== - 1 ,
128
135
default_value: ' ' ,
129
136
show_default_value: false ,
130
137
props_info: {
131
138
rules: [
132
139
{
133
- required: params .required .indexOf (item ) !== - 1 ,
140
+ required: params .required ? .indexOf (item ) !== - 1 ,
134
141
message: t (' dynamicsForm.tip.requiredMessage' ),
135
142
trigger: ' blur'
136
143
}
@@ -158,18 +165,12 @@ const form_data = computed({
158
165
159
166
160
167
const replyNodeFormRef = ref ()
161
- const nodeCascaderRef = ref ()
162
- const nodeCascaderRef2 = ref ()
163
168
164
169
const validate = async () => {
165
- // console.log(replyNodeFormRef.value.validate())
166
170
let ps = [
167
171
replyNodeFormRef .value ?.validate (),
168
- ... nodeCascaderRef . value . map (( item : any ) => item . validate () )
172
+ dynamicsFormRef . value ?. validate ()
169
173
]
170
- if (nodeCascaderRef2 .value ) {
171
- ps = [... ps , ... nodeCascaderRef .value .map ((item : any ) => item .validate ())]
172
- }
173
174
return Promise .all (ps ).catch ((err : any ) => {
174
175
return Promise .reject ({ node: props .nodeModel , errMessage: err })
175
176
})
0 commit comments