mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 01:33:05 +00:00
feat: enhance SystemKnowledgeSerializer and related components to support workspace and folder IDs
--bug=1059926 --user=刘瑞斌 【资源管理】知识库文档迁移时,可选择的目标知识库展示了系统所有的知识库 https://www.tapd.cn/62980211/s/1747947
This commit is contained in:
parent
cbf7dd00cf
commit
39ac62745e
|
|
@ -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')
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
})
|
||||
|
|
|
|||
|
|
@ -631,7 +631,7 @@
|
|||
<ImportDocumentDialog ref="ImportDocumentDialogRef" :title="title" @refresh="refresh" />
|
||||
<SyncWebDialog ref="SyncWebDialogRef" @refresh="refresh" />
|
||||
<!-- 选择知识库 -->
|
||||
<SelectKnowledgeDialog ref="selectKnowledgeDialogRef" @refresh="refreshMigrate" />
|
||||
<SelectKnowledgeDialog ref="selectKnowledgeDialogRef" @refresh="refreshMigrate" :workspaceId="knowledgeDetail?.workspace_id"/>
|
||||
<GenerateRelatedDialog ref="GenerateRelatedDialogRef" @refresh="getList" :apiType="apiType" />
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
|||
Loading…
Reference in New Issue