207207 effect =" dark"
208208 :content =" $t('common.edit')"
209209 placement =" top"
210- v-if =" !row.template_id && permissionPrecise.edit()"
210+ v-if =" !row.template_id && row.tool_type === 'CUSTOM' && permissionPrecise.edit()"
211211 >
212212 <span class =" mr-8" >
213213 <el-button
220220 </el-button >
221221 </span >
222222 </el-tooltip >
223+ <el-tooltip
224+ effect =" dark"
225+ :content =" $t('common.edit')"
226+ placement =" top"
227+ v-if =" !row.template_id && row.tool_type === 'MCP' && permissionPrecise.edit()"
228+ >
229+ <span class =" mr-8" >
230+ <el-button
231+ type =" primary"
232+ text
233+ @click.stop =" openCreateMcpDialog(row)"
234+ :title =" $t('common.edit')"
235+ >
236+ <AppIcon iconName =" app-edit" ></AppIcon >
237+ </el-button >
238+ </span >
239+ </el-tooltip >
223240
224241 <el-tooltip
225242 effect =" dark"
277294
278295 <InitParamDrawer ref =" InitParamDrawerRef" @refresh =" refresh" />
279296 <ToolFormDrawer ref =" ToolFormDrawerRef" @refresh =" refresh" :title =" ToolDrawertitle" />
297+ <McpToolFormDrawer ref =" McpToolFormDrawerRef" @refresh =" refresh" :title =" McpToolDrawertitle" />
280298 <AddInternalToolDialog ref =" AddInternalToolDialogRef" @refresh =" confirmAddInternalTool" />
281299 </div >
282300</template >
@@ -288,6 +306,7 @@ import InitParamDrawer from '@/views/tool/component/InitParamDrawer.vue'
288306import ToolResourceApi from ' @/api/system-resource-management/tool'
289307import AddInternalToolDialog from ' @/views/tool/toolStore/AddInternalToolDialog.vue'
290308import ToolFormDrawer from ' @/views/tool/ToolFormDrawer.vue'
309+ import McpToolFormDrawer from " @/views/tool/McpToolFormDrawer.vue" ;
291310import { t } from ' @/locales'
292311import { resetUrl } from ' @/utils/common'
293312import { ToolType } from ' @/enums/tool'
@@ -376,7 +395,9 @@ async function copyTool(row: any) {
376395}
377396
378397const ToolFormDrawerRef = ref ()
398+ const McpToolFormDrawerRef = ref ()
379399const ToolDrawertitle = ref (' ' )
400+ const McpToolDrawertitle = ref (' ' )
380401
381402function openCreateDialog(data ? : any ) {
382403 // 有template_id的不允许编辑,是模板转换来的
@@ -394,6 +415,23 @@ function openCreateDialog(data?: any) {
394415 }
395416}
396417
418+
419+ function openCreateMcpDialog(data ? : any ) {
420+ // 有template_id的不允许编辑,是模板转换来的
421+ if (data ?.template_id ) {
422+ return
423+ }
424+
425+ McpToolDrawertitle .value = data ? t (' views.tool.editMcpTool' ) : t (' views.tool.createMcpTool' )
426+ if (data ) {
427+ ToolResourceApi .getToolById (data ?.id , loading ).then ((res : any ) => {
428+ McpToolFormDrawerRef .value .open (res .data )
429+ })
430+ } else {
431+ McpToolFormDrawerRef .value .open (data )
432+ }
433+ }
434+
397435const AddInternalToolDialogRef = ref <InstanceType <typeof AddInternalToolDialog >>()
398436function addInternalTool(data ? : any , isEdit ? : boolean ) {
399437 AddInternalToolDialogRef .value ?.open (data , isEdit )
0 commit comments