Skip to content

Commit 516c88a

Browse files
feat: document
1 parent 34448a2 commit 516c88a

File tree

15 files changed

+611
-485
lines changed

15 files changed

+611
-485
lines changed

ui/src/router/modules/2knowledge-shared-system.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,20 @@ const ModelRouter = {
66
redirect: '/knowledge',
77
component: () => import('@/layout/layout-template/SimpleLayout.vue'),
88
children: [
9-
109
{
1110
path: '/knowledge/system/document/upload/shared',
1211
name: 'UploadDocumentSharedSystem',
1312
meta: { activeMenu: '/knowledge/system' },
1413
component: () => import('@/views/shared/document-shared/UploadDocument.vue'),
1514
hidden: true,
1615
},
16+
{
17+
path: '/knowledge/system/import/shared',
18+
name: 'ImportLarkDocumentShared',
19+
meta: { activeMenu: '/knowledge' },
20+
component: () => import('@/views/shared/document-shared/ImportLarkDocument.vue'),
21+
hidden: true,
22+
},
1723
],
1824
}
1925

ui/src/router/modules/2knowledge.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,13 @@ const ModelRouter = {
2020
component: () => import('@/views/document/UploadDocument.vue'),
2121
hidden: true,
2222
},
23+
{
24+
path: '/knowledge/import',
25+
name: 'ImportLarkDocument',
26+
meta: { activeMenu: '/knowledge' },
27+
component: () => import('@/views/document/ImportLarkDocument.vue'),
28+
hidden: true
29+
},
2330
],
2431
}
2532

ui/src/router/modules/system.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ const systemRouter = {
218218
},
219219
{
220220
path: '/system/authentication',
221-
name: 'authentication',
221+
name: 'SystemAuthentication',
222222
meta: {
223223
title: 'views.system.authentication.title',
224224
activeMenu: '/system',

ui/src/stores/modules-shared-system/knowledge.ts

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -58,18 +58,6 @@ const useKnowledgeStore = defineStore('knowledg', {
5858
})
5959
})
6060
},
61-
async asyncSyncKnowledge(id: string, sync_type: string, loading?: Ref<boolean>) {
62-
return new Promise((resolve, reject) => {
63-
knowledgeApi
64-
.putSyncWebKnowledge(id, sync_type, loading)
65-
.then((data) => {
66-
resolve(data)
67-
})
68-
.catch((error) => {
69-
reject(error)
70-
})
71-
})
72-
},
7361
},
7462
})
7563

ui/src/stores/modules/knowledge.ts

Lines changed: 41 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import type { knowledgeData } from '@/api/type/knowledge'
33
import type { UploadUserFile } from 'element-plus'
44
import knowledgeApi from '@/api/knowledge/knowledge'
55
import { type Ref } from 'vue'
6+
import useFolderStore from './folder'
67

78
export interface knowledgeStateTypes {
89
baseInfo: knowledgeData | null
@@ -46,6 +47,46 @@ const useKnowledgeStore = defineStore('knowledge', {
4647
})
4748
})
4849
},
50+
async asyncGetTreeRootKnowledge(loading?: Ref<boolean>) {
51+
const folder = useFolderStore()
52+
return Promise.all([
53+
folder.asyncGetFolder('KNOWLEDGE', {}, loading),
54+
this.asyncGetRootKnowledge(loading),
55+
])
56+
.then((res: any) => {
57+
const folderList = res[0].data
58+
const knowledgeList = res[1].data
59+
const arrMap: any = {}
60+
function buildIdMap(arr: any) {
61+
arr.forEach((item: any) => {
62+
arrMap[item.id] = item
63+
// 递归处理子节点
64+
if (item.children && item.children.length > 0) {
65+
buildIdMap(item.children)
66+
}
67+
})
68+
}
69+
buildIdMap(folderList)
70+
knowledgeList
71+
.filter((v: any) => v.resource_type !== 'folder')
72+
.forEach((item: any) => {
73+
const targetFolder = arrMap[item.folder_id]
74+
if (targetFolder) {
75+
// 检查是否已有相同ID的子节点(避免重复插入)
76+
const existingChild = targetFolder.children.find(
77+
(child: any) => child.id === item.id,
78+
)
79+
if (!existingChild) {
80+
targetFolder.children.push(item)
81+
}
82+
}
83+
})
84+
return Promise.resolve(folderList)
85+
})
86+
.catch((error) => {
87+
return Promise.reject(error)
88+
})
89+
},
4990
async asyncGetKnowledgeDetail(knowledge_id: string, loading?: Ref<boolean>) {
5091
return new Promise((resolve, reject) => {
5192
knowledgeApi
@@ -58,18 +99,6 @@ const useKnowledgeStore = defineStore('knowledge', {
5899
})
59100
})
60101
},
61-
async asyncSyncKnowledge(id: string, sync_type: string, loading?: Ref<boolean>) {
62-
return new Promise((resolve, reject) => {
63-
knowledgeApi
64-
.putSyncWebKnowledge(id, sync_type, loading)
65-
.then((data) => {
66-
resolve(data)
67-
})
68-
.catch((error) => {
69-
reject(error)
70-
})
71-
})
72-
},
73102
},
74103
})
75104

ui/src/views/application/component/AddKnowledgeDialog.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ defineExpose({ open })
215215
}
216216
.max-height {
217217
max-height: calc(100vh - 260px);
218-
min-height: 300px;
218+
min-height: 500px;
219219
}
220220
}
221221
</style>

0 commit comments

Comments
 (0)