Skip to content

Commit 6bfee8d

Browse files
dataeaseShuliuruibin
authored andcommitted
fix(knowledge): knowledge shared
1 parent baf1c2c commit 6bfee8d

File tree

15 files changed

+718
-199
lines changed

15 files changed

+718
-199
lines changed

ui/src/api/knowledge/document.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ const postMulDocument: (
228228
data: any,
229229
loading?: Ref<boolean>,
230230
) => Promise<Result<any>> = (knowledge_id, data, loading) => {
231-
return post(`${prefix}/${knowledge_id}/document/bach_create`, data, {}, loading, 1000 * 60 * 5)
231+
return put(`${prefix}/${knowledge_id}/document/batch_create`, data, {}, loading, 1000 * 60 * 5)
232232
}
233233

234234
/**

ui/src/api/shared/model.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import type {
1010
import type { FormField } from '@/components/dynamics-form/type'
1111

1212
const prefix = '/system/shared'
13+
const workspace_id = localStorage.getItem('workspace_id') || 'default'
1314

1415
/**
1516
* 获得模型列表
@@ -118,6 +119,21 @@ const deleteModel: (model_id: string, loading?: Ref<boolean>) => Promise<Result<
118119
) => {
119120
return del(`${prefix}/model/${model_id}`, undefined, {}, loading)
120121
}
122+
123+
124+
125+
const getSharedWorkspaceModel: (loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (
126+
loading,
127+
) => {
128+
return get(`${prefix}/workspace/${workspace_id}/model`, {}, loading)
129+
}
130+
131+
const getSharedWorkspaceModelPage: (
132+
param: any,
133+
loading?: Ref<boolean>,
134+
) => Promise<Result<Array<any>>> = (param: any, loading) => {
135+
return get(`${prefix}/workspace/${workspace_id}/model`, param, loading)
136+
}
121137
export default {
122138
getModel,
123139
createModel,
@@ -128,4 +144,6 @@ export default {
128144
pauseDownload,
129145
getModelParamsForm,
130146
updateModelParamsForm,
147+
getSharedWorkspaceModel,
148+
getSharedWorkspaceModelPage
131149
}

ui/src/api/shared/tool.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import type { pageRequest } from '@/api/type/common'
55
import type { toolData } from '@/api/type/tool'
66

77
const prefix = '/system/shared'
8+
const workspace_id = localStorage.getItem('workspace_id') || 'default'
89

910
/**
1011
* 获得工具文件夹列表
@@ -120,6 +121,19 @@ const postPylint: (code: string, loading?: Ref<boolean>) => Promise<Result<any>>
120121
return post(`${prefix}/tool/pylint`, { code }, {}, loading)
121122
}
122123

124+
const getSharedWorkspaceTool: (loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (
125+
loading,
126+
) => {
127+
return get(`${prefix}/workspace/${workspace_id}/tool`, {}, loading)
128+
}
129+
130+
const getSharedWorkspaceToolPage: (
131+
param: any,
132+
loading?: Ref<boolean>,
133+
) => Promise<Result<Array<any>>> = (param: any, loading) => {
134+
return get(`${prefix}/workspace/${workspace_id}/tool`, param, loading)
135+
}
136+
123137
export default {
124138
getToolByFolder,
125139
getToolList,
@@ -132,4 +146,6 @@ export default {
132146
exportTool,
133147
putToolIcon,
134148
delTool,
149+
getSharedWorkspaceTool,
150+
getSharedWorkspaceToolPage
135151
}

ui/src/components/folder-tree/index.vue

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@
99
/>
1010
<div
1111
@click="handleSharedNodeClick"
12-
v-if="isShared"
12+
v-if="!!shareTitle"
1313
class="shared-knowledge"
1414
:class="currentNodeKey === 'share' && 'active'"
1515
>
16-
<AppIcon iconName="app-folder-share-active" style="font-size: 18px"></AppIcon>
17-
<span class="ml-8 lighter">{{ $t('views.system.share_knowledge') }}</span>
16+
<AppIcon :iconName="iconName" style="font-size: 18px"></AppIcon>
17+
<span class="ml-8 lighter">{{ $t(shareTitle) }}</span>
1818
</div>
1919
<el-tree
2020
ref="treeRef"
@@ -55,6 +55,14 @@ const props = defineProps({
5555
type: Boolean,
5656
default: false,
5757
},
58+
iconName: {
59+
type: String,
60+
default: 'app-folder-share-active',
61+
},
62+
shareTitle: {
63+
type: String,
64+
default: 'views.system.share_knowledge',
65+
},
5866
})
5967
interface Tree {
6068
name: string
@@ -87,7 +95,7 @@ const handleNodeClick = (data: Tree) => {
8795
8896
const handleSharedNodeClick = () => {
8997
treeRef.value?.setCurrentKey(undefined)
90-
emit('handleNodeClick', { id: 'share', name: t('views.system.share_knowledge') })
98+
emit('handleNodeClick', { id: 'share', name: t(props.shareTitle) })
9199
}
92100
</script>
93101
<style lang="scss" scoped>

ui/src/locales/lang/zh-CN/views/system.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ export default {
33
subTitle: '系统设置',
44
shared: '共享',
55
shared_resources: '共享资源',
6+
share_tool: '共享工具',
7+
share_model: '共享模型',
68
share_knowledge: '共享知识库',
79
authorized_workspace: '授权工作空间',
810
test: '测试连接',

ui/src/views/knowledge-shared-system/SharedWorkspace.vue

Lines changed: 0 additions & 142 deletions
Original file line numberDiff line numberDiff line change
@@ -32,88 +32,6 @@
3232
<el-option v-for="u in user_options" :key="u.id" :value="u.id" :label="u.username" />
3333
</el-select>
3434
</div>
35-
<el-dropdown trigger="click">
36-
<el-button type="primary" class="ml-8">
37-
{{ $t('common.create') }}
38-
<el-icon class="el-icon--right">
39-
<arrow-down />
40-
</el-icon>
41-
</el-button>
42-
<template #dropdown>
43-
<el-dropdown-menu class="create-dropdown">
44-
<el-dropdown-item @click="openCreateDialog(CreateKnowledgeDialog)">
45-
<div class="flex">
46-
<el-avatar class="avatar-blue mt-4" shape="square" :size="32">
47-
<img src="@/assets/knowledge/icon_document.svg" style="width: 58%" alt="" />
48-
</el-avatar>
49-
<div class="pre-wrap ml-8">
50-
<div class="lighter">
51-
{{ $t('views.knowledge.knowledgeType.generalKnowledge') }}
52-
</div>
53-
<el-text type="info" size="small"
54-
>{{ $t('views.knowledge.knowledgeType.generalInfo') }}
55-
</el-text>
56-
</div>
57-
</div>
58-
</el-dropdown-item>
59-
<el-dropdown-item @click="openCreateDialog(CreateWebKnowledgeDialog)">
60-
<div class="flex">
61-
<el-avatar class="avatar-purple mt-4" shape="square" :size="32">
62-
<img src="@/assets/knowledge/icon_web.svg" style="width: 58%" alt="" />
63-
</el-avatar>
64-
<div class="pre-wrap ml-8">
65-
<div class="lighter">
66-
{{ $t('views.knowledge.knowledgeType.webKnowledge') }}
67-
</div>
68-
<el-text type="info" size="small"
69-
>{{ $t('views.knowledge.knowledgeType.webInfo') }}
70-
</el-text>
71-
</div>
72-
</div>
73-
</el-dropdown-item>
74-
<el-dropdown-item>
75-
<div class="flex">
76-
<el-avatar
77-
class="avatar-purple mt-4"
78-
shape="square"
79-
:size="32"
80-
style="background: none"
81-
>
82-
<img src="@/assets/knowledge/logo_lark.svg" alt="" />
83-
</el-avatar>
84-
<div class="pre-wrap ml-8">
85-
<div class="lighter">
86-
{{ $t('views.knowledge.knowledgeType.larkKnowledge') }}
87-
</div>
88-
<el-text type="info" size="small"
89-
>{{ $t('views.knowledge.knowledgeType.larkInfo') }}
90-
</el-text>
91-
</div>
92-
</div>
93-
</el-dropdown-item>
94-
<el-dropdown-item>
95-
<div class="flex">
96-
<el-avatar
97-
class="avatar-purple mt-4"
98-
shape="square"
99-
:size="32"
100-
style="background: none"
101-
>
102-
<img src="@/assets/knowledge/logo_yuque.svg" alt="" />
103-
</el-avatar>
104-
<div class="pre-wrap ml-8">
105-
<div class="lighter">
106-
{{ $t('views.knowledge.knowledgeType.yuqueKnowledge') }}
107-
</div>
108-
<el-text type="info" size="small"
109-
>{{ $t('views.knowledge.knowledgeType.yuqueInfo') }}
110-
</el-text>
111-
</div>
112-
</div>
113-
</el-dropdown-item>
114-
</el-dropdown-menu>
115-
</template>
116-
</el-dropdown>
11735
</div>
11836
</template>
11937
<div v-loading.fullscreen.lock="paginationConfig.current_page === 1 && loading">
@@ -195,66 +113,6 @@
195113
</div>
196114
</div>
197115
</template>
198-
<template #mouseEnter>
199-
<div @click.stop>
200-
<el-dropdown trigger="click">
201-
<el-button text @click.stop>
202-
<el-icon>
203-
<MoreFilled />
204-
</el-icon>
205-
</el-button>
206-
<template #dropdown>
207-
<el-dropdown-menu>
208-
<el-dropdown-item
209-
icon="Refresh"
210-
@click.stop="syncKnowledge(item)"
211-
v-if="item.type === 1"
212-
>{{ $t('views.knowledge.setting.sync') }}
213-
</el-dropdown-item>
214-
<el-dropdown-item @click.stop="reEmbeddingKnowledge(item)">
215-
<AppIcon iconName="app-vectorization"></AppIcon>
216-
{{ $t('views.knowledge.setting.vectorization') }}
217-
</el-dropdown-item>
218-
219-
<el-dropdown-item
220-
icon="Connection"
221-
@click.stop="openGenerateDialog(item)"
222-
>{{ $t('views.document.generateQuestion.title') }}</el-dropdown-item
223-
>
224-
<el-dropdown-item
225-
icon="Lock"
226-
@click.stop="openAuthorizedWorkspaceDialog(item)"
227-
>{{ $t('views.system.authorized_workspace') }}</el-dropdown-item
228-
>
229-
<el-dropdown-item
230-
icon="Setting"
231-
@click.stop="
232-
router.push({
233-
path: `/knowledge/system/${item.id}/settingShared`,
234-
query: {
235-
from: 'shared',
236-
},
237-
})
238-
"
239-
>
240-
{{ $t('common.setting') }}</el-dropdown-item
241-
>
242-
<el-dropdown-item @click.stop="exportKnowledge(item)">
243-
<AppIcon iconName="app-export"></AppIcon
244-
>{{ $t('views.document.setting.export') }} Excel</el-dropdown-item
245-
>
246-
<el-dropdown-item @click.stop="exportZipKnowledge(item)">
247-
<AppIcon iconName="app-export"></AppIcon
248-
>{{ $t('views.document.setting.export') }} ZIP</el-dropdown-item
249-
>
250-
<el-dropdown-item icon="Delete" @click.stop="deleteKnowledge(item)">{{
251-
$t('common.delete')
252-
}}</el-dropdown-item>
253-
</el-dropdown-menu>
254-
</template>
255-
</el-dropdown>
256-
</div>
257-
</template>
258116
</CardBox>
259117
</el-col>
260118
</template>

0 commit comments

Comments
 (0)