fix: document
This commit is contained in:
parent
a6b8cc4a31
commit
37c9ef3087
@ -165,7 +165,7 @@ function changeMenu(id: string) {
|
||||
function getKnowledge() {
|
||||
loading.value = true
|
||||
knowledge
|
||||
.asyncGetRootKnowledge()
|
||||
.asyncGetFolderKnowledge()
|
||||
.then((res: any) => {
|
||||
list.value = res.data
|
||||
common.saveBreadcrumb(list.value)
|
||||
|
||||
@ -31,7 +31,7 @@ const useKnowledgeStore = defineStore('knowled', {
|
||||
saveDocumentsFile(file: UploadUserFile[]) {
|
||||
this.documentsFiles = file
|
||||
},
|
||||
async asyncGetRootKnowledge(loading?: Ref<boolean>) {
|
||||
async asyncGetFolderKnowledge(loading?: Ref<boolean>) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const params = {
|
||||
folder_id: localStorage.getItem('workspace_id'),
|
||||
|
||||
@ -31,7 +31,7 @@ const useKnowledgeStore = defineStore('knowledg', {
|
||||
saveDocumentsFile(file: UploadUserFile[]) {
|
||||
this.documentsFiles = file
|
||||
},
|
||||
async asyncGetRootKnowledge(loading?: Ref<boolean>) {
|
||||
async asyncGetFolderKnowledge(loading?: Ref<boolean>) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const params = {
|
||||
folder_id: 'default',
|
||||
|
||||
@ -32,10 +32,10 @@ const useKnowledgeStore = defineStore('knowledge', {
|
||||
saveDocumentsFile(file: UploadUserFile[]) {
|
||||
this.documentsFiles = file
|
||||
},
|
||||
async asyncGetRootKnowledge(loading?: Ref<boolean>) {
|
||||
async asyncGetFolderKnowledge(folder_id?: string, loading?: Ref<boolean>) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const params = {
|
||||
folder_id: localStorage.getItem('workspace_id'),
|
||||
folder_id: folder_id || localStorage.getItem('workspace_id'),
|
||||
}
|
||||
knowledgeApi
|
||||
.getKnowledgeList(params, loading)
|
||||
@ -47,46 +47,46 @@ const useKnowledgeStore = defineStore('knowledge', {
|
||||
})
|
||||
})
|
||||
},
|
||||
async asyncGetTreeRootKnowledge(loading?: Ref<boolean>) {
|
||||
const folder = useFolderStore()
|
||||
return Promise.all([
|
||||
folder.asyncGetFolder('KNOWLEDGE', {}, loading),
|
||||
this.asyncGetRootKnowledge(loading),
|
||||
])
|
||||
.then((res: any) => {
|
||||
const folderList = res[0].data
|
||||
const knowledgeList = res[1].data
|
||||
const arrMap: any = {}
|
||||
function buildIdMap(arr: any) {
|
||||
arr.forEach((item: any) => {
|
||||
arrMap[item.id] = item
|
||||
// 递归处理子节点
|
||||
if (item.children && item.children.length > 0) {
|
||||
buildIdMap(item.children)
|
||||
}
|
||||
})
|
||||
}
|
||||
buildIdMap(folderList)
|
||||
knowledgeList
|
||||
.filter((v: any) => v.resource_type !== 'folder')
|
||||
.forEach((item: any) => {
|
||||
const targetFolder = arrMap[item.folder_id]
|
||||
if (targetFolder) {
|
||||
// 检查是否已有相同ID的子节点(避免重复插入)
|
||||
const existingChild = targetFolder.children.find(
|
||||
(child: any) => child.id === item.id,
|
||||
)
|
||||
if (!existingChild) {
|
||||
targetFolder.children.push(item)
|
||||
}
|
||||
}
|
||||
})
|
||||
return Promise.resolve(folderList)
|
||||
})
|
||||
.catch((error) => {
|
||||
return Promise.reject(error)
|
||||
})
|
||||
},
|
||||
// async asyncGetTreeRootKnowledge(loading?: Ref<boolean>) {
|
||||
// const folder = useFolderStore()
|
||||
// return Promise.all([
|
||||
// folder.asyncGetFolder('KNOWLEDGE', {}, loading),
|
||||
// this.asyncGetFolderKnowledge(loading),
|
||||
// ])
|
||||
// .then((res: any) => {
|
||||
// const folderList = res[0].data
|
||||
// const knowledgeList = res[1].data
|
||||
// const arrMap: any = {}
|
||||
// function buildIdMap(arr: any) {
|
||||
// arr.forEach((item: any) => {
|
||||
// arrMap[item.id] = item
|
||||
// // 递归处理子节点
|
||||
// if (item.children && item.children.length > 0) {
|
||||
// buildIdMap(item.children)
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
// buildIdMap(folderList)
|
||||
// knowledgeList
|
||||
// .filter((v: any) => v.resource_type !== 'folder')
|
||||
// .forEach((item: any) => {
|
||||
// const targetFolder = arrMap[item.folder_id]
|
||||
// if (targetFolder) {
|
||||
// // 检查是否已有相同ID的子节点(避免重复插入)
|
||||
// const existingChild = targetFolder.children.find(
|
||||
// (child: any) => child.id === item.id,
|
||||
// )
|
||||
// if (!existingChild) {
|
||||
// targetFolder.children.push(item)
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
// return Promise.resolve(folderList)
|
||||
// })
|
||||
// .catch((error) => {
|
||||
// return Promise.reject(error)
|
||||
// })
|
||||
// },
|
||||
async asyncGetKnowledgeDetail(knowledge_id: string, loading?: Ref<boolean>) {
|
||||
return new Promise((resolve, reject) => {
|
||||
knowledgeApi
|
||||
|
||||
@ -633,7 +633,7 @@ function getDetail() {
|
||||
}
|
||||
|
||||
function getKnowledge() {
|
||||
knowledge.asyncGetRootKnowledge(knowledgeLoading).then((res: any) => {
|
||||
knowledge.asyncGetFolderKnowledge(knowledgeLoading).then((res: any) => {
|
||||
knowledgeList.value = res.data
|
||||
})
|
||||
}
|
||||
|
||||
@ -49,13 +49,17 @@
|
||||
<el-scrollbar>
|
||||
<div class="max-height layout-bg p-16-24">
|
||||
<el-row :gutter="12" v-loading="loading">
|
||||
<el-col :span="12" v-for="(item, index) in filterData" :key="index" class="mb-16">
|
||||
<el-col
|
||||
:span="12"
|
||||
v-for="(item, index) in filterData.filter((v:any) => v.resource_type !== 'folder')"
|
||||
:key="index"
|
||||
class="mb-16"
|
||||
>
|
||||
<CardCheckbox
|
||||
value-field="id"
|
||||
:data="item"
|
||||
v-model="checkList"
|
||||
@change="changeHandle"
|
||||
v-if="item.resource_type !== 'folder'"
|
||||
>
|
||||
<span class="ellipsis cursor ml-12" :title="item.name"> {{ item.name }}</span>
|
||||
</CardCheckbox>
|
||||
@ -100,7 +104,7 @@ const props = defineProps({
|
||||
})
|
||||
|
||||
const emit = defineEmits(['addData', 'refresh'])
|
||||
const { folder, user } = useStore()
|
||||
const { folder, user,knowledge } = useStore()
|
||||
|
||||
const dialogVisible = ref<boolean>(false)
|
||||
const checkList = ref([])
|
||||
@ -191,7 +195,7 @@ function getList() {
|
||||
const params = {
|
||||
folder_id: currentFolder.value?.id || user.getWorkspaceId(),
|
||||
}
|
||||
KnowledgeApi.getKnowledgeList(params, loading).then((res) => {
|
||||
knowledge.asyncGetFolderKnowledge(params, loading).then((res) => {
|
||||
searchDate.value = res.data
|
||||
})
|
||||
}
|
||||
|
||||
@ -11,23 +11,28 @@
|
||||
<h4 :id="titleId" :class="titleClass">{{ '文档迁移到' }}</h4>
|
||||
</template>
|
||||
<el-form
|
||||
class="p-24"
|
||||
ref="FormRef"
|
||||
:model="form"
|
||||
label-position="top"
|
||||
require-asterisk-position="right"
|
||||
v-loading="loading"
|
||||
>
|
||||
<el-form-item :label="$t('views.chatLog.selectKnowledge')" required>
|
||||
<el-tree-select
|
||||
v-model="form.selectKnowledge"
|
||||
:data="knowledgeList"
|
||||
:props="defaultProps"
|
||||
node-key="id"
|
||||
:default-expanded-keys="['default']"
|
||||
lazy
|
||||
:load="loadTree"
|
||||
>
|
||||
<template #default="{ data }">
|
||||
<div class="flex align-center">
|
||||
<KnowledgeIcon class="mr-12" :size="20" v-if="data.resource_type" :type="data.type" />
|
||||
<KnowledgeIcon
|
||||
class="mr-12"
|
||||
:size="20"
|
||||
v-if="data.resource_type !== 'folder'"
|
||||
:type="data.type"
|
||||
/>
|
||||
<el-avatar v-else class="mr-12" shape="square" :size="20" style="background: none">
|
||||
<img
|
||||
src="@/assets/knowledge/icon_file-folder_colorful.svg"
|
||||
@ -80,9 +85,9 @@ const documentList = ref<any>([])
|
||||
const defaultProps = {
|
||||
children: 'children',
|
||||
label: 'name',
|
||||
isLeaf: (data: any) => data.resource_type && data.resource_type !== 'folder',
|
||||
disabled: (data: any, node: any) => {
|
||||
console.log(data, node)
|
||||
return data.id === id || (node?.isLeaf && !data.resource_type)
|
||||
return data.id === id
|
||||
},
|
||||
}
|
||||
|
||||
@ -100,9 +105,17 @@ watch(dialogVisible, (bool) => {
|
||||
|
||||
const open = (list: any) => {
|
||||
documentList.value = list
|
||||
getKnowledge()
|
||||
dialogVisible.value = true
|
||||
}
|
||||
|
||||
const loadTree = (node: any, resolve: any) => {
|
||||
console.log(node)
|
||||
if (node.isLeaf) return resolve([])
|
||||
const folder_id = node.level === 0 ? '' : node.data.id
|
||||
knowledge.asyncGetFolderKnowledge(folder_id, loading).then((res: any) => {
|
||||
resolve(res.data)
|
||||
})
|
||||
}
|
||||
const submitHandle = () => {
|
||||
documentApi
|
||||
.putMigrateMulDocument(id, form.value.selectKnowledge, documentList.value, loading)
|
||||
@ -112,26 +125,19 @@ const submitHandle = () => {
|
||||
})
|
||||
}
|
||||
|
||||
function getKnowledge() {
|
||||
knowledge.asyncGetTreeRootKnowledge(loading).then((res: any) => {
|
||||
knowledgeList.value = res || []
|
||||
console.log(knowledgeList.value)
|
||||
})
|
||||
}
|
||||
|
||||
defineExpose({ open })
|
||||
</script>
|
||||
<style lang="scss">
|
||||
.select-knowledge-dialog {
|
||||
padding: 0;
|
||||
.el-dialog__header {
|
||||
padding: 24px 24px 0 24px;
|
||||
}
|
||||
.el-dialog__body {
|
||||
padding: 8px !important;
|
||||
}
|
||||
.el-dialog__footer {
|
||||
padding: 0 24px 24px;
|
||||
}
|
||||
}
|
||||
// .select-knowledge-dialog {
|
||||
// padding: 0;
|
||||
// .el-dialog__header {
|
||||
// padding: 24px 24px 0 24px;
|
||||
// }
|
||||
// .el-dialog__body {
|
||||
// padding: 8px !important;
|
||||
// }
|
||||
// .el-dialog__footer {
|
||||
// padding: 0 24px 24px;
|
||||
// }
|
||||
// }
|
||||
</style>
|
||||
|
||||
@ -121,7 +121,7 @@ function getDocument(id: string) {
|
||||
}
|
||||
|
||||
function getDataset() {
|
||||
knowledge.asyncGetRootKnowledge(loading).then((res: any) => {
|
||||
knowledge.asyncGetFolderKnowledge(loading).then((res: any) => {
|
||||
datasetList.value = res.data
|
||||
})
|
||||
}
|
||||
|
||||
@ -92,7 +92,7 @@ const submitHandle = () => {
|
||||
}
|
||||
|
||||
function getKnowledge() {
|
||||
knowledge.asyncGetRootKnowledge(loading).then((res: any) => {
|
||||
knowledge.asyncGetFolderKnowledge(loading).then((res: any) => {
|
||||
knowledgeList.value = res.data?.filter((v: any) => v.id !== id)
|
||||
})
|
||||
}
|
||||
|
||||
@ -121,7 +121,7 @@ function getDocument(id: string) {
|
||||
}
|
||||
|
||||
function getDataset() {
|
||||
knowledge.asyncGetRootKnowledge(loading).then((res: any) => {
|
||||
knowledge.asyncGetFolderKnowledge(loading).then((res: any) => {
|
||||
datasetList.value = res.data
|
||||
})
|
||||
}
|
||||
|
||||
@ -144,7 +144,7 @@ function getDocument(id: string) {
|
||||
}
|
||||
|
||||
function getknowledge() {
|
||||
knowledge.asyncGetRootKnowledge(loading).then((res: any) => {
|
||||
knowledge.asyncGetFolderKnowledge(loading).then((res: any) => {
|
||||
knowledgeList.value = res.data
|
||||
})
|
||||
}
|
||||
|
||||
@ -190,7 +190,7 @@ function getknowledge() {
|
||||
// knowledgeList.value = res.data
|
||||
// })
|
||||
// } else {
|
||||
knowledge.asyncGetRootKnowledge(knowledgeLoading).then((res: any) => {
|
||||
knowledge.asyncGetFolderKnowledge(knowledgeLoading).then((res: any) => {
|
||||
knowledgeList.value = res.data?.filter((v: any) => v.user_id === user.userInfo?.id)
|
||||
})
|
||||
// }
|
||||
|
||||
Loading…
Reference in New Issue
Block a user