Skip to content

Commit 1bbc693

Browse files
Merge remote-tracking branch 'origin/v2' into v2
2 parents 5a1acc1 + 7210e5d commit 1bbc693

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+567
-8199
lines changed

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

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@
3333
<div class="flex-between w-full" @mouseenter.stop="handleMouseEnter(data)">
3434
<div class="flex align-center">
3535
<AppIcon iconName="app-folder" style="font-size: 16px"></AppIcon>
36-
<span class="ml-8 ellipsis" style="max-width:110px" :label="node.label">{{ node.label }}</span>
36+
<span class="ml-8 ellipsis" style="max-width: 110px" :label="node.label">{{
37+
node.label
38+
}}</span>
3739
</div>
3840

3941
<div
@@ -79,12 +81,15 @@
7981

8082
<script lang="ts" setup>
8183
import { ref, watch } from 'vue'
84+
import { onBeforeRouteLeave } from 'vue-router'
8285
import type { TreeInstance } from 'element-plus'
8386
import CreateFolderDialog from '@/components/folder-tree/CreateFolderDialog.vue'
8487
import { t } from '@/locales'
8588
import folderApi from '@/api/folder'
8689
import { EditionConst } from '@/utils/permission/data'
8790
import { hasPermission } from '@/utils/permission/index'
91+
import useStore from '@/stores'
92+
8893
defineOptions({ name: 'FolderTree' })
8994
const props = defineProps({
9095
data: {
@@ -116,6 +121,12 @@ const props = defineProps({
116121
default: true,
117122
},
118123
})
124+
125+
const { folder } = useStore()
126+
onBeforeRouteLeave((to, from) => {
127+
folder.setCurrentFolder({})
128+
})
129+
119130
interface Tree {
120131
name: string
121132
children?: Tree[]

ui/src/components/generate-related-shared-dialog/index.vue

Lines changed: 0 additions & 204 deletions
This file was deleted.

ui/src/router/modules/system.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ const systemRouter = {
135135
parentPath: '/system',
136136
parentName: 'system',
137137
},
138-
component: () => import('@/views/shared/knowledge-shared/index.vue'),
138+
component: () => import('@/views/system-shared/KnowLedgeSharedIndex.vue'),
139139
},
140140
{
141141
path: '/system/shared/tool',

ui/src/stores/modules/knowledge.ts

Lines changed: 33 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
import { defineStore } from 'pinia'
22
import type { knowledgeData } from '@/api/type/knowledge'
33
import type { UploadUserFile } from 'element-plus'
4-
import knowledgeApi from '@/api/knowledge/knowledge'
4+
import type { pageRequest } from '@/api/type/common'
55
import { type Ref } from 'vue'
6+
import useUserStore from './user'
67
import useFolderStore from './folder'
8+
import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
79

810
export interface knowledgeStateTypes {
911
baseInfo: knowledgeData | null
1012
webInfo: any
1113
documentsType: string
1214
documentsFiles: UploadUserFile[]
15+
knowledgeList: knowledgeData[]
1316
}
1417

1518
const useKnowledgeStore = defineStore('knowledge', {
@@ -18,6 +21,7 @@ const useKnowledgeStore = defineStore('knowledge', {
1821
webInfo: null,
1922
documentsType: '',
2023
documentsFiles: [],
24+
knowledgeList: [],
2125
}),
2226
actions: {
2327
saveBaseInfo(info: knowledgeData | null) {
@@ -32,6 +36,34 @@ const useKnowledgeStore = defineStore('knowledge', {
3236
saveDocumentsFile(file: UploadUserFile[]) {
3337
this.documentsFiles = file
3438
},
39+
setKnowledgeList(list: any[]) {
40+
this.knowledgeList = list
41+
},
42+
async asyncGetKnowledgeListPage(
43+
page: pageRequest,
44+
isShared?: boolean | undefined,
45+
systemType: 'systemShare' | 'workspace' | 'systemManage' = 'workspace',
46+
paramsData: any,
47+
loading?: Ref<boolean>,
48+
) {
49+
return new Promise((resolve, reject) => {
50+
const folder = useFolderStore()
51+
const user = useUserStore()
52+
const params = {
53+
folder_id: folder.currentFolder?.id || user.getWorkspaceId(),
54+
scope: systemType === 'systemShare' ? 'SHARED' : 'WORKSPACE',
55+
...paramsData,
56+
}
57+
loadSharedApi({ type: 'knowledge', isShared, systemType })
58+
.getToolListPage(page, params, loading)
59+
.then((res: any) => {
60+
resolve(res)
61+
})
62+
.catch((error: any) => {
63+
reject(error)
64+
})
65+
})
66+
},
3567
async asyncGetFolderKnowledge(folder_id?: string, loading?: Ref<boolean>) {
3668
return new Promise((resolve, reject) => {
3769
const params = {
@@ -59,46 +91,6 @@ const useKnowledgeStore = defineStore('knowledge', {
5991
})
6092
})
6193
},
62-
// async asyncGetTreeRootKnowledge(loading?: Ref<boolean>) {
63-
// const folder = useFolderStore()
64-
// return Promise.all([
65-
// folder.asyncGetFolder('KNOWLEDGE', {}, loading),
66-
// this.asyncGetFolderKnowledge(loading),
67-
// ])
68-
// .then((res: any) => {
69-
// const folderList = res[0].data
70-
// const knowledgeList = res[1].data
71-
// const arrMap: any = {}
72-
// function buildIdMap(arr: any) {
73-
// arr.forEach((item: any) => {
74-
// arrMap[item.id] = item
75-
// // 递归处理子节点
76-
// if (item.children && item.children.length > 0) {
77-
// buildIdMap(item.children)
78-
// }
79-
// })
80-
// }
81-
// buildIdMap(folderList)
82-
// knowledgeList
83-
// .filter((v: any) => v.resource_type !== 'folder')
84-
// .forEach((item: any) => {
85-
// const targetFolder = arrMap[item.folder_id]
86-
// if (targetFolder) {
87-
// // 检查是否已有相同ID的子节点(避免重复插入)
88-
// const existingChild = targetFolder.children.find(
89-
// (child: any) => child.id === item.id,
90-
// )
91-
// if (!existingChild) {
92-
// targetFolder.children.push(item)
93-
// }
94-
// }
95-
// })
96-
// return Promise.resolve(folderList)
97-
// })
98-
// .catch((error) => {
99-
// return Promise.reject(error)
100-
// })
101-
// },
10294
},
10395
})
10496

ui/src/stores/modules/tool.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@ const useToolStore = defineStore('tool', {
1515
},
1616
async asyncGetToolListPage(
1717
page: pageRequest,
18-
isShared?: boolean | undefined,
18+
isShared: boolean | undefined,
1919
systemType: 'systemShare' | 'workspace' | 'systemManage' = 'workspace',
20+
paramsData: any,
2021
loading?: Ref<boolean>,
2122
) {
2223
return new Promise((resolve, reject) => {
@@ -25,6 +26,7 @@ const useToolStore = defineStore('tool', {
2526
const params = {
2627
folder_id: folder.currentFolder?.id || user.getWorkspaceId(),
2728
scope: systemType === 'systemShare' ? 'SHARED' : 'WORKSPACE',
29+
...paramsData,
2830
}
2931
loadSharedApi({ type: 'tool', isShared, systemType })
3032
.getToolListPage(page, params, loading)

0 commit comments

Comments
 (0)