From 6bfee8d072c0f2f55b8ccbe1c344d2ce4436234c Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Mon, 16 Jun 2025 17:07:00 +0800 Subject: [PATCH] fix(knowledge): knowledge shared --- ui/src/api/knowledge/document.ts | 2 +- ui/src/api/shared/model.ts | 18 + ui/src/api/shared/tool.ts | 16 + ui/src/components/folder-tree/index.vue | 16 +- ui/src/locales/lang/zh-CN/views/system.ts | 2 + .../SharedWorkspace.vue | 142 ------- .../model-shared-system/SharedWorkspace.vue | 242 ++++++++++++ .../component/ModelCard.vue | 48 --- ui/src/views/model/component/Provider.vue | 44 +++ ui/src/views/model/index.vue | 6 +- .../component/ParagraphCard.vue | 3 + .../component/PermissionSetting.vue | 2 +- ui/src/views/resource-authorization/index.vue | 2 +- .../tool-shared-system/SharedWorkspace.vue | 368 ++++++++++++++++++ ui/src/views/tool/index.vue | 6 +- 15 files changed, 718 insertions(+), 199 deletions(-) create mode 100644 ui/src/views/model-shared-system/SharedWorkspace.vue create mode 100644 ui/src/views/tool-shared-system/SharedWorkspace.vue diff --git a/ui/src/api/knowledge/document.ts b/ui/src/api/knowledge/document.ts index 7aeec324a..9182e11f6 100644 --- a/ui/src/api/knowledge/document.ts +++ b/ui/src/api/knowledge/document.ts @@ -228,7 +228,7 @@ const postMulDocument: ( data: any, loading?: Ref, ) => Promise> = (knowledge_id, data, loading) => { - return post(`${prefix}/${knowledge_id}/document/bach_create`, data, {}, loading, 1000 * 60 * 5) + return put(`${prefix}/${knowledge_id}/document/batch_create`, data, {}, loading, 1000 * 60 * 5) } /** diff --git a/ui/src/api/shared/model.ts b/ui/src/api/shared/model.ts index ed7c30443..467294a0f 100644 --- a/ui/src/api/shared/model.ts +++ b/ui/src/api/shared/model.ts @@ -10,6 +10,7 @@ import type { import type { FormField } from '@/components/dynamics-form/type' const prefix = '/system/shared' +const workspace_id = localStorage.getItem('workspace_id') || 'default' /** * 获得模型列表 @@ -118,6 +119,21 @@ const deleteModel: (model_id: string, loading?: Ref) => Promise { return del(`${prefix}/model/${model_id}`, undefined, {}, loading) } + + + +const getSharedWorkspaceModel: (loading?: Ref) => Promise>> = ( + loading, +) => { + return get(`${prefix}/workspace/${workspace_id}/model`, {}, loading) +} + +const getSharedWorkspaceModelPage: ( + param: any, + loading?: Ref, +) => Promise>> = (param: any, loading) => { + return get(`${prefix}/workspace/${workspace_id}/model`, param, loading) +} export default { getModel, createModel, @@ -128,4 +144,6 @@ export default { pauseDownload, getModelParamsForm, updateModelParamsForm, + getSharedWorkspaceModel, + getSharedWorkspaceModelPage } diff --git a/ui/src/api/shared/tool.ts b/ui/src/api/shared/tool.ts index f82d59bc3..17dc07244 100644 --- a/ui/src/api/shared/tool.ts +++ b/ui/src/api/shared/tool.ts @@ -5,6 +5,7 @@ import type { pageRequest } from '@/api/type/common' import type { toolData } from '@/api/type/tool' const prefix = '/system/shared' +const workspace_id = localStorage.getItem('workspace_id') || 'default' /** * 获得工具文件夹列表 @@ -120,6 +121,19 @@ const postPylint: (code: string, loading?: Ref) => Promise> return post(`${prefix}/tool/pylint`, { code }, {}, loading) } +const getSharedWorkspaceTool: (loading?: Ref) => Promise>> = ( + loading, +) => { + return get(`${prefix}/workspace/${workspace_id}/tool`, {}, loading) +} + +const getSharedWorkspaceToolPage: ( + param: any, + loading?: Ref, +) => Promise>> = (param: any, loading) => { + return get(`${prefix}/workspace/${workspace_id}/tool`, param, loading) +} + export default { getToolByFolder, getToolList, @@ -132,4 +146,6 @@ export default { exportTool, putToolIcon, delTool, + getSharedWorkspaceTool, + getSharedWorkspaceToolPage } diff --git a/ui/src/components/folder-tree/index.vue b/ui/src/components/folder-tree/index.vue index cd1dbba4c..75b03e219 100644 --- a/ui/src/components/folder-tree/index.vue +++ b/ui/src/components/folder-tree/index.vue @@ -9,12 +9,12 @@ />
- - {{ $t('views.system.share_knowledge') }} + + {{ $t(shareTitle) }}
{ const handleSharedNodeClick = () => { treeRef.value?.setCurrentKey(undefined) - emit('handleNodeClick', { id: 'share', name: t('views.system.share_knowledge') }) + emit('handleNodeClick', { id: 'share', name: t(props.shareTitle) }) } diff --git a/ui/src/views/model-shared-system/component/ModelCard.vue b/ui/src/views/model-shared-system/component/ModelCard.vue index 3e1bf3731..bcfa7ac58 100644 --- a/ui/src/views/model-shared-system/component/ModelCard.vue +++ b/ui/src/views/model-shared-system/component/ModelCard.vue @@ -61,54 +61,6 @@ - - diff --git a/ui/src/views/model/component/Provider.vue b/ui/src/views/model/component/Provider.vue index fd551cc8b..0fd00a533 100644 --- a/ui/src/views/model/component/Provider.vue +++ b/ui/src/views/model/component/Provider.vue @@ -2,6 +2,15 @@
+
+ + {{ $t('views.system.share_model') }} +
loading: boolean + isShared?: boolean active?: Provider }>() const emit = defineEmits(['click']) @@ -130,6 +140,10 @@ watch( const clickListHandle = (item: Provider) => { emit('click', item) } + +const handleSharedNodeClick = () => { + emit('click', { id: 'share' }) +} diff --git a/ui/src/views/model/index.vue b/ui/src/views/model/index.vue index 54b6e36b7..433d31c93 100644 --- a/ui/src/views/model/index.vue +++ b/ui/src/views/model/index.vue @@ -6,10 +6,13 @@ :data="provider_list" @click="clickListHandle" :loading="loading" + shareTitle="views.system.share_tool" + isShared :active="active_provider" /> - + +