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