From c1162e0cfd6d2b7455fee53f1235e142e1d83ecf Mon Sep 17 00:00:00 2001
From: yangyin <1850366751@qq.com>
Date: 星期四, 14 十一月 2024 14:40:25 +0800
Subject: [PATCH] 修改数据管理

---
 src/views/project/yw/dataManage/knowledge/Knowledge.vue |   59 ++++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 36 insertions(+), 23 deletions(-)

diff --git a/src/views/project/yw/dataManage/knowledge/Knowledge.vue b/src/views/project/yw/dataManage/knowledge/Knowledge.vue
index 553d08f..d5b973b 100644
--- a/src/views/project/yw/dataManage/knowledge/Knowledge.vue
+++ b/src/views/project/yw/dataManage/knowledge/Knowledge.vue
@@ -158,23 +158,20 @@
 		leftTreeRef.value?.treeRef.setCurrentKey(data.group_id);
 	});
 	currentNode.value = data;
-	docvectorList();
+	showKnowledgeBaseList.value = knowledgeBaseList.value.filter((item) => item.group_id === currentListID.value);
 };
 
 const getListTreeData = async () => {
 	const res = await agentGroupApi.getSceneGroupTreeByPost();
 	listData.value = res.groups || [];
 	const firstListTreeNode = listTreeData.value[0];
-	if (firstListTreeNode) {
-		handleClickNode(firstListTreeNode);
-	} else {
-		knowledgeBaseList.value = [];
-		currentNode.value = null;
-	}
+	currentNode.value = firstListTreeNode;
+	docvectorList();
 };
 //#endregion
 //#region ====================== 鑾峰彇鐭ヨ瘑搴搒heet鍒楄〃 ======================
 const knowledgeBaseList = ref([]);
+const showKnowledgeBaseList = ref([]);
 //鍒涘缓鐭ヨ瘑搴�
 const createKnowledgeBase = () => {
 	router.push({
@@ -191,12 +188,19 @@
 		res.values.forEach((item) => {
 			item.create_time = new Date(item.create_time).toLocaleString();
 		});
-		const filterDocData = res.values.filter((item) => item.group_id === currentListID.value);
-		knowledgeBaseList.value = filterDocData;
+
+		knowledgeBaseList.value = res.values ?? [];
+		showKnowledgeBaseList.value = filterDocData(knowledgeBaseList.value);
 	} else {
 		return ElMessage.error('鑾峰彇鍒楄〃绱㈠紩澶辫触' + (res?.json_msg ? `锛�${JSON.stringify(res.json_msg)}` : ''));
 	}
 };
+
+const filterDocData = (list) => {
+	const filterDocData = list.filter((item) => item.group_id === currentListID.value);
+	return filterDocData;
+};
+
 const deleteKnowledgeBase = async (row) => {
 	ElMessageBox.confirm(`纭畾鍒犻櫎褰撳墠鐨勭煡璇嗗簱锛氥��${row.title}銆�?`, '鎻愮ず', {
 		confirmButtonText: '纭畾',
@@ -207,9 +211,10 @@
 			knowlg_id: row.id,
 		});
 		if (res.json_ok) {
+			const foundIndex = knowledgeBaseList.value.findIndex((item) => item === row);
+			foundIndex > -1 && knowledgeBaseList.value.splice(foundIndex, 1);
+			showKnowledgeBaseList.value = filterDocData(knowledgeBaseList.value);
 			ElMessage.success('鍒犻櫎鐭ヨ瘑搴撴垚鍔�');
-			const index = knowledgeBaseList.value.findIndex((d) => d.id === row.id);
-			knowledgeBaseList.value.splice(index, 1);
 		}
 	});
 };
@@ -254,8 +259,8 @@
 const knowledgeBaseForm = ref({
 	title: '',
 });
-const { resetQuery, handleQueryTable, displayTableData } = useQueryTable(knowledgeBaseList, knowledgeBaseForm, () => {
-	displayTableData.value = knowledgeBaseList.value;
+const { resetQuery, handleQueryTable, displayTableData } = useQueryTable(showKnowledgeBaseList, knowledgeBaseForm, () => {
+	displayTableData.value = showKnowledgeBaseList.value;
 });
 //#endregion
 //#region ====================== Chat 娴嬭瘯 ======================
@@ -301,19 +306,27 @@
 //#endregion
 onMounted(() => {
 	getListTreeData();
-	mittBus.on('addKnowledgeBaseObj', (obj) => {
-		knowledgeBaseList.value.push(obj);
+	mittBus.on('addEmptyKnowledge', (formValue) => {
+		knowledgeBaseList.value.push(formValue);
+		showKnowledgeBaseList.value = filterDocData(knowledgeBaseList.value);
 	});
-	mittBus.on('updateKnowledgeBaseObj', (formValue) => {
-		const foundIndex = knowledgeBaseList.value.findIndex((item) => item.id === formValue.id);
-		if (foundIndex > -1) {
-			knowledgeBaseList.value[foundIndex] = {
-				...knowledgeBaseList.value[foundIndex],
-				...formValue,
-			};
+	//缂栬緫鍐呭
+	mittBus.on('updateKnowledgeBaseObj', cbUpdateKnowledgeBaseObj);
+});
+
+const cbUpdateKnowledgeBaseObj = (formValue) => {
+	knowledgeBaseList.value.forEach((item) => {
+		if (item.id == formValue.id) {
+			item.title = formValue.title;
+			item.prompt = formValue.prompt;
+			item.publish = formValue.publish;
+			item.create_time = formValue.create_time;
+			item.user_name = formValue.user_name;
+			item.scope = formValue.scope;
 		}
 	});
-});
+	showKnowledgeBaseList.value = filterDocData(knowledgeBaseList.value);
+};
 </script>
 <style scoped lang="scss">
 .set_item_jel {

--
Gitblit v1.9.3