diff --git a/apps/knowledge/serializers/knowledge.py b/apps/knowledge/serializers/knowledge.py index bd679ee3b..212cd4635 100644 --- a/apps/knowledge/serializers/knowledge.py +++ b/apps/knowledge/serializers/knowledge.py @@ -123,6 +123,7 @@ class KnowledgeSerializer(serializers.Serializer): return workspace_user_role_mapping_model is not None and role_permission_mapping_model is not None def get_query_set(self, workspace_manage, is_x_pack_ee): + self.is_valid(raise_exception=True) workspace_id = self.data.get("workspace_id") query_set_dict = {} query_set = QuerySet(model=get_dynamics_model({ @@ -170,8 +171,6 @@ class KnowledgeSerializer(serializers.Serializer): return query_set_dict def page(self, current_page: int, page_size: int): - self.is_valid(raise_exception=True) - folder_id = self.data.get('folder_id', self.data.get("workspace_id")) root = KnowledgeFolder.objects.filter(id=folder_id).first() if not root: @@ -196,7 +195,6 @@ class KnowledgeSerializer(serializers.Serializer): ) def list(self): - self.is_valid(raise_exception=True) folder_id = self.data.get('folder_id') if not folder_id: folder_id = self.data.get('workspace_id') diff --git a/ui/src/views/document/component/SelectKnowledgeDialog.vue b/ui/src/views/document/component/SelectKnowledgeDialog.vue index c7a89113d..242242747 100644 --- a/ui/src/views/document/component/SelectKnowledgeDialog.vue +++ b/ui/src/views/document/component/SelectKnowledgeDialog.vue @@ -66,6 +66,12 @@ const { const { user } = useStore() +const props = defineProps({ + workspaceId: { + type: String, + }, +}) + const apiType = computed(() => { if (route.path.includes('shared')) { return 'systemShare' @@ -99,8 +105,17 @@ const defaultProps = { const loadTree = async (node: any, resolve: any) => { if (node.isLeaf) return resolve([]) const folder_id = node.level === 0 ? user.getWorkspaceId() : node.data.id + const obj = + apiType.value === 'systemManage' + ? { + workspace_id: props.workspaceId, + folder_id: node.level === 0 ? props.workspaceId : node.data.id, + } + : { + folder_id: folder_id, + } await loadSharedApi({ type: 'knowledge', systemType: apiType.value }) - .getKnowledgeList({ folder_id: folder_id }, loading) + .getKnowledgeList(obj, loading) .then((res: any) => { resolve(res.data) }) diff --git a/ui/src/views/document/index.vue b/ui/src/views/document/index.vue index b0607d492..64d24e0ec 100644 --- a/ui/src/views/document/index.vue +++ b/ui/src/views/document/index.vue @@ -631,7 +631,7 @@ - +