diff --git a/ui/src/api/system-shared/tool.ts b/ui/src/api/system-shared/tool.ts index d91549aac..7806228df 100644 --- a/ui/src/api/system-shared/tool.ts +++ b/ui/src/api/system-shared/tool.ts @@ -2,7 +2,7 @@ import { Result } from '@/request/Result' import { get, post, del, put, exportFile } from '@/request/index' import { type Ref } from 'vue' import type { pageRequest } from '@/api/type/common' -import type { toolData } from '@/api/type/tool' +import type { toolData, AddInternalToolParam } from '@/api/type/tool' const prefix = '/system/shared/tool' @@ -121,6 +121,17 @@ const postPylint: (code: string, loading?: Ref) => Promise> } +/** + * 工具商店-添加系统内置 + */ +const addInternalTool: ( + tool_id: string, + param: AddInternalToolParam, + loading?: Ref, +) => Promise> = (tool_id, param, loading) => { + return post(`${prefix}/${tool_id}/add_internal_tool`, param, undefined, loading) +} + export default { getToolList, @@ -134,4 +145,5 @@ export default { exportTool, putToolIcon, delTool, + addInternalTool } diff --git a/ui/src/api/tool/tool.ts b/ui/src/api/tool/tool.ts index f1ace722a..cae3cfd55 100644 --- a/ui/src/api/tool/tool.ts +++ b/ui/src/api/tool/tool.ts @@ -2,7 +2,7 @@ import { Result } from '@/request/Result' import { get, post, del, put, exportFile } from '@/request/index' import { type Ref } from 'vue' import type { pageRequest } from '@/api/type/common' -import type { toolData } from '@/api/type/tool' +import type {AddInternalToolParam, toolData} from '@/api/type/tool' import useStore from '@/stores' @@ -128,6 +128,17 @@ const postPylint: (code: string, loading?: Ref) => Promise> return post(`${prefix.value}/pylint`, { code }, {}, loading) } +/** + * 工具商店-添加系统内置 + */ +const addInternalTool: ( + tool_id: string, + param: AddInternalToolParam, + loading?: Ref, +) => Promise> = (tool_id, param, loading) => { + return post(`${prefix.value}/${tool_id}/add_internal_tool`, param, undefined, loading) +} + export default { getToolList, @@ -141,4 +152,5 @@ export default { exportTool, putToolIcon, delTool, + addInternalTool } diff --git a/ui/src/views/tool/component/ToolListContainer.vue b/ui/src/views/tool/component/ToolListContainer.vue index a436e6a8e..f95d88b88 100644 --- a/ui/src/views/tool/component/ToolListContainer.vue +++ b/ui/src/views/tool/component/ToolListContainer.vue @@ -287,7 +287,7 @@ - + { diff --git a/ui/src/views/tool/toolStore/ToolStoreDialog.vue b/ui/src/views/tool/toolStore/ToolStoreDialog.vue index 460631424..d9019007f 100644 --- a/ui/src/views/tool/toolStore/ToolStoreDialog.vue +++ b/ui/src/views/tool/toolStore/ToolStoreDialog.vue @@ -68,13 +68,19 @@ import ToolCard from './ToolCard.vue' import { MsgSuccess } from '@/utils/message' import InternalDescDrawer from './InternalDescDrawer.vue' import AddInternalToolDialog from './AddInternalToolDialog.vue' +import {loadSharedApi} from "@/utils/dynamics-api/shared-api.ts"; interface ToolCategory { id: string title: string tools: any[] } - +const props = defineProps({ + apiType: { + type: String as () => 'workspace' | 'systemShare' | 'systemManage', + default: 'workspace' + }, +}) const emit = defineEmits(['refresh']) const dialogVisible = ref(false) @@ -171,7 +177,9 @@ function handleOpenAdd(data?: any, isEdit?: boolean) { const addLoading = ref(false) async function handleAdd(tool: any) { try { - await ToolStoreApi.addInternalTool(tool.id, { name: tool.name, folder_id: folderId.value }, addLoading) + await loadSharedApi({ type: 'tool', systemType: props.apiType }) + .addInternalTool(tool.id, { name: tool.name, folder_id: folderId.value }, addLoading) + // await ToolStoreApi.addInternalTool(tool.id, { name: tool.name, folder_id: folderId.value }, addLoading) emit('refresh') MsgSuccess(t('common.addSuccess')) dialogVisible.value = false