From e30bb3208315331271a1ea8c2cd13259c30639c5 Mon Sep 17 00:00:00 2001 From: yangyin <1850366751@qq.com> Date: 星期二, 12 十一月 2024 17:33:38 +0800 Subject: [PATCH] 修改知识库管理 --- src/views/project/yw/dataManage/knowledge/AddKnowledge.vue | 51 ++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 40 insertions(+), 11 deletions(-) diff --git a/src/views/project/yw/dataManage/knowledge/AddKnowledge.vue b/src/views/project/yw/dataManage/knowledge/AddKnowledge.vue index d5273bc..420f4a2 100644 --- a/src/views/project/yw/dataManage/knowledge/AddKnowledge.vue +++ b/src/views/project/yw/dataManage/knowledge/AddKnowledge.vue @@ -132,10 +132,11 @@ :treedata="state.knowledgeBaseData" :current-node-key="currentListID" :defaultProps="{ + id: 'group_id', + label: 'group_name', children: 'Children', - label: 'title', - id: 'id', }" + defaultExpandAll @click="handleClickNode" > </LeftTreeByMgr> @@ -220,14 +221,16 @@ <script setup lang="ts"> import { ElMessage, type FormRules } from 'element-plus'; import moment from 'moment'; -import { computed, nextTick, reactive, ref } from 'vue'; -import { useRouter } from 'vue-router'; +import { computed, nextTick, onMounted, reactive, ref } from 'vue'; +import { useRoute, useRouter } from 'vue-router'; import { add_docvector_file, add_docvector_name } from '/@/api/knowledge/docvector'; import { get_knowledge_group_list, list_knowledge_file } from '/@/api/knowledge/group'; import LeftTreeByMgr from '/@/components/tree/leftTreeByMgr.vue'; import mittBus from '/@/utils/mitt'; import { verifiyNumberInteger } from '/@/utils/toolsValidate'; import { convertListToTree } from '/@/utils/util'; +import { OptClassificationMap, classificationEnum } from '/@/views/types/metrics'; +const route = useRoute(); // 瀹氫箟鍙橀噺鍐呭 const state = reactive({ soliderValue: 0, @@ -318,6 +321,7 @@ fileData: [], //鏂囦欢鏁版嵁婧� isCreateIndex: false, //鏄惁璋冪敤鍒涘缓鐨勭储寮曠殑瀛楁 knowlg_id: '', + groupKnow_id: null, }); //楠岃瘉scope瀛楁鍙兘杈撳叆姝f暣鏁� const validateNumber = (rule, value, callback) => { @@ -390,13 +394,26 @@ const emptyKnowledgeBase = async () => { const valid = await knowledgeFormRef.value.validate().catch(() => {}); if (!valid) return; + var currentTime = moment().format('YYYY-MM-DD HH:mm:ss'); const res = await add_docvector_name({ title: state.knowledgeForm.title, prompt: state.knowledgeForm.prompt, scope: state.knowledgeForm.scope, + group_id: state.groupKnow_id, }); if (res.json_ok) { state.knowlg_id = res.knowlg_id; + let obj = { + id: state.knowlg_id, + group_id: state.groupKnow_id, + title: state.knowledgeForm.title, + prompt: state.knowledgeForm.prompt, + publish: 'N', + create_time: currentTime, + user_name: '', + scope: state.knowledgeForm.scope, + }; + mittBus.emit('addEmptyKnowledge', obj); getFileTreeData(true); } }; @@ -413,6 +430,7 @@ if (res.json_ok) { let obj = { id: state.knowlg_id, + title: state.knowledgeForm.title, prompt: state.knowledgeForm.prompt, publish: 'N', @@ -420,7 +438,7 @@ user_name: '', scope: state.knowledgeForm.scope, }; - mittBus.emit('addKnowledgeBaseObj', obj); + mittBus.emit('updateKnowledgeBaseObj', obj); router.push({ name: 'Knowledge' }); //娓呯┖琛ㄥ崟 knowledgeFormRef.value.resetFields(); @@ -432,17 +450,24 @@ //#region ====================== 鐭ヨ瘑搴撴枃浠朵笂浼� ========== const currentTreeNode = ref(null); const leftTreeRef = ref(null); -const currentListID = computed(() => currentTreeNode.value?.id); +const currentListID = computed(() => currentTreeNode.value?.group_id); //鑾峰彇鏂囦欢鍒楄〃 const getFileTreeData = async (selectFirst = false) => { const res = await get_knowledge_group_list(); if (res?.json_ok) { - const resData = (res.values || []) as []; - state.knowledgeBaseData = convertListToTree(resData, { - ID: 'id', + const resData = (res.groups || []) as []; + const byParentData = convertListToTree(resData, { + ID: 'group_id', Children: 'Children', - ParentID: 'parent', + ParentID: 'p_group_id', }); + const result = []; + byParentData.forEach((item) => { + if (item.group_type == OptClassificationMap[classificationEnum.Knowledge]) { + result.push(item); + } + }); + state.knowledgeBaseData = result; if (selectFirst) { const firstListTreeNode = state.knowledgeBaseData[0]; if (firstListTreeNode) { @@ -459,7 +484,7 @@ const handleClickNode = (data: any) => { multipleSelection.value = []; nextTick(() => { - leftTreeRef.value?.treeRef.setCurrentKey(data.id); + leftTreeRef.value?.treeRef.setCurrentKey(data.group_id); }); currentTreeNode.value = data; getFileTableData(); @@ -503,6 +528,10 @@ multipleTableRef.value.toggleRowSelection(item, false); }; //#endregion +onMounted(() => { + const group_id = route.query.group_id; + state.groupKnow_id = group_id; +}); </script> <style scoped lang="scss"> .set-form-height { -- Gitblit v1.9.3