feat: add functionality to add internal shared tools with API integration
This commit is contained in:
parent
32dd4b41b6
commit
5ab5ab71a5
@ -2,7 +2,7 @@ import { Result } from '@/request/Result'
|
|||||||
import { get, post, del, put, exportFile } from '@/request/index'
|
import { get, post, del, put, exportFile } from '@/request/index'
|
||||||
import { type Ref } from 'vue'
|
import { type Ref } from 'vue'
|
||||||
import type { pageRequest } from '@/api/type/common'
|
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'
|
const prefix = '/system/shared/tool'
|
||||||
|
|
||||||
@ -121,6 +121,17 @@ const postPylint: (code: string, loading?: Ref<boolean>) => Promise<Result<any>>
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工具商店-添加系统内置
|
||||||
|
*/
|
||||||
|
const addInternalTool: (
|
||||||
|
tool_id: string,
|
||||||
|
param: AddInternalToolParam,
|
||||||
|
loading?: Ref<boolean>,
|
||||||
|
) => Promise<Result<any>> = (tool_id, param, loading) => {
|
||||||
|
return post(`${prefix}/${tool_id}/add_internal_tool`, param, undefined, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
getToolList,
|
getToolList,
|
||||||
@ -134,4 +145,5 @@ export default {
|
|||||||
exportTool,
|
exportTool,
|
||||||
putToolIcon,
|
putToolIcon,
|
||||||
delTool,
|
delTool,
|
||||||
|
addInternalTool
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import { Result } from '@/request/Result'
|
|||||||
import { get, post, del, put, exportFile } from '@/request/index'
|
import { get, post, del, put, exportFile } from '@/request/index'
|
||||||
import { type Ref } from 'vue'
|
import { type Ref } from 'vue'
|
||||||
import type { pageRequest } from '@/api/type/common'
|
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'
|
import useStore from '@/stores'
|
||||||
@ -128,6 +128,17 @@ const postPylint: (code: string, loading?: Ref<boolean>) => Promise<Result<any>>
|
|||||||
return post(`${prefix.value}/pylint`, { code }, {}, loading)
|
return post(`${prefix.value}/pylint`, { code }, {}, loading)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工具商店-添加系统内置
|
||||||
|
*/
|
||||||
|
const addInternalTool: (
|
||||||
|
tool_id: string,
|
||||||
|
param: AddInternalToolParam,
|
||||||
|
loading?: Ref<boolean>,
|
||||||
|
) => Promise<Result<any>> = (tool_id, param, loading) => {
|
||||||
|
return post(`${prefix.value}/${tool_id}/add_internal_tool`, param, undefined, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
getToolList,
|
getToolList,
|
||||||
@ -141,4 +152,5 @@ export default {
|
|||||||
exportTool,
|
exportTool,
|
||||||
putToolIcon,
|
putToolIcon,
|
||||||
delTool,
|
delTool,
|
||||||
|
addInternalTool
|
||||||
}
|
}
|
||||||
|
|||||||
@ -287,7 +287,7 @@
|
|||||||
<InitParamDrawer ref="InitParamDrawerRef" @refresh="refresh" />
|
<InitParamDrawer ref="InitParamDrawerRef" @refresh="refresh" />
|
||||||
<ToolFormDrawer ref="ToolFormDrawerRef" @refresh="refresh" :title="ToolDrawertitle" />
|
<ToolFormDrawer ref="ToolFormDrawerRef" @refresh="refresh" :title="ToolDrawertitle" />
|
||||||
<CreateFolderDialog ref="CreateFolderDialogRef" v-if="!isShared" />
|
<CreateFolderDialog ref="CreateFolderDialogRef" v-if="!isShared" />
|
||||||
<ToolStoreDialog ref="toolStoreDialogRef" @refresh="refresh" />
|
<ToolStoreDialog ref="toolStoreDialogRef" :api-type="apiType" @refresh="refresh" />
|
||||||
<AddInternalToolDialog ref="AddInternalToolDialogRef" @refresh="confirmAddInternalTool" />
|
<AddInternalToolDialog ref="AddInternalToolDialogRef" @refresh="confirmAddInternalTool" />
|
||||||
<AuthorizedWorkspace
|
<AuthorizedWorkspace
|
||||||
ref="AuthorizedWorkspaceDialogRef"
|
ref="AuthorizedWorkspaceDialogRef"
|
||||||
@ -319,7 +319,6 @@ import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
|
|||||||
import permissionMap from '@/permission'
|
import permissionMap from '@/permission'
|
||||||
import useStore from '@/stores'
|
import useStore from '@/stores'
|
||||||
import { t } from '@/locales'
|
import { t } from '@/locales'
|
||||||
import {loadPermissionApi} from "@/utils/dynamics-api/permission-api.ts";
|
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const { folder, user, tool } = useStore()
|
const { folder, user, tool } = useStore()
|
||||||
onBeforeRouteLeave((to, from) => {
|
onBeforeRouteLeave((to, from) => {
|
||||||
|
|||||||
@ -68,13 +68,19 @@ import ToolCard from './ToolCard.vue'
|
|||||||
import { MsgSuccess } from '@/utils/message'
|
import { MsgSuccess } from '@/utils/message'
|
||||||
import InternalDescDrawer from './InternalDescDrawer.vue'
|
import InternalDescDrawer from './InternalDescDrawer.vue'
|
||||||
import AddInternalToolDialog from './AddInternalToolDialog.vue'
|
import AddInternalToolDialog from './AddInternalToolDialog.vue'
|
||||||
|
import {loadSharedApi} from "@/utils/dynamics-api/shared-api.ts";
|
||||||
|
|
||||||
interface ToolCategory {
|
interface ToolCategory {
|
||||||
id: string
|
id: string
|
||||||
title: string
|
title: string
|
||||||
tools: any[]
|
tools: any[]
|
||||||
}
|
}
|
||||||
|
const props = defineProps({
|
||||||
|
apiType: {
|
||||||
|
type: String as () => 'workspace' | 'systemShare' | 'systemManage',
|
||||||
|
default: 'workspace'
|
||||||
|
},
|
||||||
|
})
|
||||||
const emit = defineEmits(['refresh'])
|
const emit = defineEmits(['refresh'])
|
||||||
|
|
||||||
const dialogVisible = ref(false)
|
const dialogVisible = ref(false)
|
||||||
@ -171,7 +177,9 @@ function handleOpenAdd(data?: any, isEdit?: boolean) {
|
|||||||
const addLoading = ref(false)
|
const addLoading = ref(false)
|
||||||
async function handleAdd(tool: any) {
|
async function handleAdd(tool: any) {
|
||||||
try {
|
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')
|
emit('refresh')
|
||||||
MsgSuccess(t('common.addSuccess'))
|
MsgSuccess(t('common.addSuccess'))
|
||||||
dialogVisible.value = false
|
dialogVisible.value = false
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user