mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-27 02:52:48 +00:00
fix: folder
This commit is contained in:
parent
1d35700d2a
commit
e61e4eb937
|
|
@ -17,14 +17,6 @@ const getUserProfile: (loading?: Ref<boolean>) => Promise<Result<User>> = (loadi
|
|||
const getProfile: (loading?: Ref<boolean>) => Promise<Result<any>> = (loading) => {
|
||||
return get('/profile', undefined, loading)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取版本profile
|
||||
*/
|
||||
// const getProfile: (loading?: Ref<boolean>) => Promise<Result<any>> = (loading) => {
|
||||
// return get('/profile', undefined, loading)
|
||||
// }
|
||||
|
||||
/**
|
||||
* 获取全部用户
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -97,6 +97,7 @@ watch(dialogVisible, (bool) => {
|
|||
parent_id: '',
|
||||
}
|
||||
isEdit.value = false
|
||||
FolderFormRef.value.resetFields()
|
||||
}
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div class="folder-tree">
|
||||
<el-input
|
||||
v-model="filterText"
|
||||
v-model.trim="filterText"
|
||||
:placeholder="$t('common.search')"
|
||||
prefix-icon="Search"
|
||||
clearable
|
||||
|
|
@ -161,6 +161,11 @@ const loading = ref(false)
|
|||
watch(filterText, (val) => {
|
||||
treeRef.value!.filter(val)
|
||||
})
|
||||
const filterNode = (value: string, data: Tree) => {
|
||||
if (!value) return true
|
||||
return data.name.toLowerCase().includes(value.toLowerCase())
|
||||
}
|
||||
|
||||
let time: any
|
||||
|
||||
function handleMouseEnter(data: Tree) {
|
||||
|
|
@ -173,10 +178,6 @@ function handleMouseleave() {
|
|||
document.body.click()
|
||||
}, 300)
|
||||
}
|
||||
const filterNode = (value: string, data: Tree) => {
|
||||
if (!value) return true
|
||||
return data.name.includes(value)
|
||||
}
|
||||
|
||||
const handleNodeClick = (data: Tree) => {
|
||||
emit('handleNodeClick', data)
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@
|
|||
:load="loadTree"
|
||||
:placeholder="$t('views.chatLog.selectKnowledgePlaceholder')"
|
||||
@change="changeKnowledge"
|
||||
:loading="optionLoading"
|
||||
>
|
||||
<template #default="{ data }">
|
||||
<div class="flex align-center">
|
||||
|
|
@ -92,12 +91,15 @@ const defaultProps = {
|
|||
label: 'name',
|
||||
isLeaf: (data: any) =>
|
||||
data.resource_type ? data.resource_type !== 'folder' : data.workspace_id === 'None',
|
||||
disabled: (data: any, node: any) => {
|
||||
return data.resource_type === 'folder' && node?.isLeaf
|
||||
},
|
||||
}
|
||||
|
||||
const loadTree = (node: any, resolve: any) => {
|
||||
const loadTree = async (node: any, resolve: any) => {
|
||||
if (node.isLeaf) return resolve([])
|
||||
const folder_id = node.level === 0 ? user.getWorkspaceId() : node.data.id
|
||||
loadSharedApi({ type: 'knowledge', systemType: props.apiType })
|
||||
await loadSharedApi({ type: 'knowledge', systemType: props.apiType })
|
||||
.getKnowledgeList({ folder_id: folder_id }, optionLoading)
|
||||
.then((res: any) => {
|
||||
resolve(res.data)
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<el-divider class="ml-8 mr-8" direction="vertical" />
|
||||
<el-button link @click="router.push({ path: '/' })">
|
||||
<AppIcon class="mr-8" iconName="app-workspace" style="font-size: 16px"></AppIcon>
|
||||
{{ '返回工作空间' }}</el-button
|
||||
{{ $t('views.workspace.toWorkspace') }}</el-button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@
|
|||
<script setup lang="ts">
|
||||
import useStore from '@/stores'
|
||||
const { theme } = useStore()
|
||||
|
||||
function toUrl(url: string) {
|
||||
window.open(url, '_blank')
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,14 +2,17 @@ export default {
|
|||
title: 'Workspace',
|
||||
list: 'Workspace list',
|
||||
name: 'Workspace name',
|
||||
toWorkspace: 'Return to workspace',
|
||||
delete: {
|
||||
confirmTitle: 'Confirm to delete workspace:',
|
||||
confirmContent: 'After deletion, all members in this space will be removed. Please proceed with caution.',
|
||||
confirmContentNotDelete: 'This workspace contains knowledge base resources and application resources, and cannot be deleted.',
|
||||
confirmContent:
|
||||
'After deletion, all members in this space will be removed. Please proceed with caution.',
|
||||
confirmContentNotDelete:
|
||||
'This workspace contains knowledge base resources and application resources, and cannot be deleted.',
|
||||
},
|
||||
member: {
|
||||
delete: {
|
||||
confirmTitle: 'Confirm to remove member:',
|
||||
}
|
||||
}
|
||||
};
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ export default {
|
|||
title: '工作空间',
|
||||
list: '工作空间列表',
|
||||
name: '工作空间名称',
|
||||
toWorkspace: '返回工作空间',
|
||||
delete: {
|
||||
confirmTitle: '是否删除工作空间:',
|
||||
confirmContent: '删除后,该空间下的成员都会被移除,请谨慎操作。',
|
||||
|
|
@ -12,4 +13,4 @@ export default {
|
|||
confirmTitle: '是否移除成员:',
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ export default {
|
|||
title: '工作空間',
|
||||
list: '工作空間列表',
|
||||
name: '工作空間名稱',
|
||||
toWorkspace: '返回工作空間',
|
||||
delete: {
|
||||
confirmTitle: '是否刪除工作空間:',
|
||||
confirmContent: '刪除後,該空間下的成員都會被移除,請謹慎操作。',
|
||||
|
|
@ -10,6 +11,6 @@ export default {
|
|||
member: {
|
||||
delete: {
|
||||
confirmTitle: '是否移除成員:',
|
||||
}
|
||||
}
|
||||
};
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,14 +3,11 @@ import { type Ref } from 'vue'
|
|||
import type { User } from '@/api/type/user'
|
||||
import UserApi from '@/api/user/user'
|
||||
import LoginApi from '@/api/user/login'
|
||||
import { cloneDeep } from 'lodash'
|
||||
import { useLocalStorage } from '@vueuse/core'
|
||||
// import { defaultPlatformSetting } from '@/utils/theme'
|
||||
|
||||
import { localeConfigKey, getBrowserLang } from '@/locales/index'
|
||||
import useThemeStore from './theme'
|
||||
import { useElementPlusTheme } from 'use-element-plus-theme'
|
||||
import { defaultPlatformSetting } from '@/utils/theme.ts'
|
||||
import { defaultPlatformSetting } from '@/utils/theme'
|
||||
import useLoginStore from './login'
|
||||
|
||||
export interface userStateTypes {
|
||||
|
|
@ -137,10 +134,10 @@ const useUserStore = defineStore('user', {
|
|||
if (this.isEE() || this.isPE()) {
|
||||
await theme.theme()
|
||||
} else {
|
||||
theme.setTheme()
|
||||
theme.themeInfo = {
|
||||
...defaultPlatformSetting,
|
||||
}
|
||||
theme.setTheme()
|
||||
}
|
||||
resolve(ok)
|
||||
})
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
.complex-search {
|
||||
border: 1px solid var(--el-border-color);
|
||||
border-radius: var(--el-border-radius-base);
|
||||
width: 350px;
|
||||
.el-select__wrapper {
|
||||
box-shadow: none !important;
|
||||
border-radius: var(--el-border-radius-base) 0 0 var(--el-border-radius-base);
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@
|
|||
lazy
|
||||
:load="loadTree"
|
||||
:placeholder="$t('views.chatLog.selectKnowledgePlaceholder')"
|
||||
:loading="loading"
|
||||
>
|
||||
<template #default="{ data }">
|
||||
<div class="flex align-center">
|
||||
|
|
@ -93,14 +92,14 @@ const defaultProps = {
|
|||
isLeaf: (data: any) =>
|
||||
data.resource_type ? data.resource_type !== 'folder' : data.workspace_id === 'None',
|
||||
disabled: (data: any, node: any) => {
|
||||
return data.id === id
|
||||
return data.id === id || (data.resource_type === 'folder' && node?.isLeaf)
|
||||
},
|
||||
}
|
||||
|
||||
const loadTree = (node: any, resolve: any) => {
|
||||
const loadTree = async (node: any, resolve: any) => {
|
||||
if (node.isLeaf) return resolve([])
|
||||
const folder_id = node.level === 0 ? user.getWorkspaceId() : node.data.id
|
||||
loadSharedApi({ type: 'knowledge', systemType: apiType.value })
|
||||
await loadSharedApi({ type: 'knowledge', systemType: apiType.value })
|
||||
.getKnowledgeList({ folder_id: folder_id }, loading)
|
||||
.then((res: any) => {
|
||||
resolve(res.data)
|
||||
|
|
|
|||
Loading…
Reference in New Issue