fix: simplify condition for copying tool in ToolListContainer
Some checks are pending
sync2gitee / repo-sync (push) Waiting to run
Typos Check / Spell Check with Typos (push) Waiting to run

This commit is contained in:
CaptainB 2025-11-18 11:20:33 +08:00
parent 754cb89ca4
commit 8baa8e81cf
4 changed files with 43 additions and 2 deletions

View File

@ -9,6 +9,8 @@ export default {
editDataSourceTool: 'Edit Data Source',
editMcpTool: 'Edit MCP',
copyTool: 'Copy Tool',
copyMcpTool: 'Copy MCP',
copyDataSource: 'Copy Data Source',
importTool: 'Import Tool',
settingTool: 'Set Tool',
mcpConfig: 'MCP Service Config',

View File

@ -9,6 +9,8 @@ export default {
editDataSourceTool: '编辑数据源',
editMcpTool: '编辑MCP',
copyTool: '复制工具',
copyMcpTool: '复制MCP',
copyDataSource: '复制数据源',
importTool: '导入工具',
settingTool: '设置工具',
mcpConfig: 'MCP服务配置',

View File

@ -9,6 +9,8 @@ export default {
editDataSourceTool: '編輯資料來源',
editMcpTool: '編輯MCP',
copyTool: '複製工具',
copyMcpTool: '複製MCP',
copyDataSource: '複製資料來源',
importTool: '匯入工具',
settingTool: '設定工具',
mcpConfig: 'MCP服務配置',

View File

@ -204,8 +204,7 @@
</el-dropdown-item>
<el-dropdown-item v-if="
!item.template_id &&
permissionPrecise.copy(item.id) &&
item.tool_type !== 'MCP'
permissionPrecise.copy(item.id)
" @click.stop="copyTool(item)">
<AppIcon iconName="app-copy" class="color-secondary"></AppIcon>
{{ $t('common.copy') }}
@ -540,6 +539,18 @@ async function changeState(row: any) {
}
async function copyTool(row: any) {
// mcp
if (row?.tool_type === 'MCP') {
bus.emit('select_node', row.folder_id)
await copyMcpTool(row)
return
}
//
if (row?.tool_type === 'DATA_SOURCE') {
bus.emit('select_node', row.folder_id)
await copyDataSource(row)
return
}
ToolDrawertitle.value = t('views.tool.copyTool')
const res = await loadSharedApi({ type: 'tool', systemType: apiType.value }).getToolById(
row.id,
@ -551,6 +562,30 @@ async function copyTool(row: any) {
ToolFormDrawerRef.value.open(obj)
}
async function copyMcpTool(row: any) {
McpToolDrawertitle.value = t('views.tool.copyMcpTool')
const res = await loadSharedApi({ type: 'tool', systemType: apiType.value }).getToolById(
row.id,
changeStateloading,
)
const obj = cloneDeep(res.data)
delete obj['id']
obj['name'] = obj['name'] + ` ${t('common.copyTitle')}`
McpToolFormDrawerRef.value.open(obj)
}
async function copyDataSource(row: any) {
DataSourceToolDrawertitle.value = t('views.tool.copyDataSource')
const res = await loadSharedApi({ type: 'tool', systemType: apiType.value }).getToolById(
row.id,
changeStateloading,
)
const obj = cloneDeep(res.data)
delete obj['id']
obj['name'] = obj['name'] + ` ${t('common.copyTitle')}`
DataSourceToolFormDrawerRef.value.open(obj)
}
function exportTool(row: any) {
loadSharedApi({ type: 'tool', systemType: apiType.value })
.exportTool(row.id, row.name, loading)