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