feat: enhance ToolResourceIndex with MCP tool editing functionality

--bug=1060727 --user=刘瑞斌 【资源管理】MCP的编辑界面,与工具模块MCP的编辑界面不一致 https://www.tapd.cn/62980211/s/1759939
This commit is contained in:
CaptainB 2025-08-22 14:09:24 +08:00
parent dd0948ed20
commit d7ad3ff524

View File

@ -207,7 +207,7 @@
effect="dark"
:content="$t('common.edit')"
placement="top"
v-if="!row.template_id && permissionPrecise.edit()"
v-if="!row.template_id && row.tool_type === 'CUSTOM' && permissionPrecise.edit()"
>
<span class="mr-8">
<el-button
@ -220,6 +220,23 @@
</el-button>
</span>
</el-tooltip>
<el-tooltip
effect="dark"
:content="$t('common.edit')"
placement="top"
v-if="!row.template_id && row.tool_type === 'MCP' && permissionPrecise.edit()"
>
<span class="mr-8">
<el-button
type="primary"
text
@click.stop="openCreateMcpDialog(row)"
:title="$t('common.edit')"
>
<AppIcon iconName="app-edit"></AppIcon>
</el-button>
</span>
</el-tooltip>
<el-tooltip
effect="dark"
@ -277,6 +294,7 @@
<InitParamDrawer ref="InitParamDrawerRef" @refresh="refresh" />
<ToolFormDrawer ref="ToolFormDrawerRef" @refresh="refresh" :title="ToolDrawertitle" />
<McpToolFormDrawer ref="McpToolFormDrawerRef" @refresh="refresh" :title="McpToolDrawertitle" />
<AddInternalToolDialog ref="AddInternalToolDialogRef" @refresh="confirmAddInternalTool" />
</div>
</template>
@ -288,6 +306,7 @@ import InitParamDrawer from '@/views/tool/component/InitParamDrawer.vue'
import ToolResourceApi from '@/api/system-resource-management/tool'
import AddInternalToolDialog from '@/views/tool/toolStore/AddInternalToolDialog.vue'
import ToolFormDrawer from '@/views/tool/ToolFormDrawer.vue'
import McpToolFormDrawer from "@/views/tool/McpToolFormDrawer.vue";
import { t } from '@/locales'
import { resetUrl } from '@/utils/common'
import { ToolType } from '@/enums/tool'
@ -376,7 +395,9 @@ async function copyTool(row: any) {
}
const ToolFormDrawerRef = ref()
const McpToolFormDrawerRef = ref()
const ToolDrawertitle = ref('')
const McpToolDrawertitle = ref('')
function openCreateDialog(data?: any) {
// template_id
@ -394,6 +415,23 @@ function openCreateDialog(data?: any) {
}
}
function openCreateMcpDialog(data?: any) {
// template_id
if (data?.template_id) {
return
}
McpToolDrawertitle.value = data ? t('views.tool.editMcpTool') : t('views.tool.createMcpTool')
if (data) {
ToolResourceApi.getToolById(data?.id, loading).then((res: any) => {
McpToolFormDrawerRef.value.open(res.data)
})
} else {
McpToolFormDrawerRef.value.open(data)
}
}
const AddInternalToolDialogRef = ref<InstanceType<typeof AddInternalToolDialog>>()
function addInternalTool(data?: any, isEdit?: boolean) {
AddInternalToolDialogRef.value?.open(data, isEdit)