From 2af68406788a95115dd8312c9cd20e70104cd573 Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期日, 03 十一月 2024 18:09:22 +0800
Subject: [PATCH] 添加、删除计数bug

---
 src/views/project/yw/lowCode/sqlAmis/SqlAmis.vue |   54 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 39 insertions(+), 15 deletions(-)

diff --git a/src/views/project/yw/lowCode/sqlAmis/SqlAmis.vue b/src/views/project/yw/lowCode/sqlAmis/SqlAmis.vue
index 0ab119e..9355cc4 100644
--- a/src/views/project/yw/lowCode/sqlAmis/SqlAmis.vue
+++ b/src/views/project/yw/lowCode/sqlAmis/SqlAmis.vue
@@ -8,7 +8,7 @@
 				ref="leftTreeRef"
 				:defaultProps="{
 					id: 'group_id',
-					label: 'group_name',
+					label: 'label',
 					children: 'children',
 				}"
 				:treedata="listTreeData"
@@ -107,6 +107,7 @@
 													deleteCurrentRow(scope.row, '椤甸潰', supervisorAdminApi.deleteSupervisor, () => {
 														const foundIndex = tableData.findIndex((item) => item === scope.row);
 														foundIndex > -1 && tableData.splice(foundIndex, 1);
+														setCurrentLen(-1);
 													});
 												}
 											"
@@ -198,7 +199,7 @@
 
 <script setup lang="ts">
 import { useDraggable } from '@vueuse/core';
-import { debounce, travelTree } from '/@/utils/util';
+import { debounce, deleteCurrentRow, travelTree } from '/@/utils/util';
 
 import { computed, onMounted, ref } from 'vue';
 import { usePageDisplay } from '/@/hooks/usePageDisplay';
@@ -393,12 +394,38 @@
 //#endregion
 
 //#region ====================== 琛ㄦ牸鏁版嵁锛宼able init ======================
-const getLenById =(data:any[],id:string,value:any)=>{
-	return data.filter(
-		(item) =>
-			item.group_id === id || value.children?.some((treeItem) => treeItem.group_id === item.group_id)
-	).length;
-}
+
+const setCurrentLen = (offset: 1 | -1) => {
+	currentNode.value.label = `${currentNode.value.group_name} (${tableData.value.length})`;
+	const pId = currentNode.value.p_group_id;
+	if (pId) {
+		travelTree(listTreeData.value, (value) => {
+			if (value.group_id === pId) {
+				value.len += offset;
+				value.label = `${value.group_name} (${value.len})`;
+				return true;
+			}
+		});
+	}
+	// 淇敼鍚嶇О鍚庯紝涓嶇煡閬撲负浠�涔堜細澶卞幓 current 閫変腑
+	setTimeout(() => {
+		leftTreeRef.value?.treeRef.setCurrentKey(currentListID.value);
+	}, 0);
+};
+const setListLen = () => {
+	travelTree(listTreeData.value, (value, index, array, parent) => {
+		const id = value.group_id;
+		const len = allTableData.value.filter(
+			(item) => item.group_id === id || value.children?.some((treeItem) => treeItem.group_id === item.group_id)
+		).length;
+		value.len = len;
+		value.label = `${value.group_name} (${len})`;
+	});
+	// 淇敼鍚嶇О鍚庯紝涓嶇煡閬撲负浠�涔堜細澶卞幓 current 閫変腑
+	setTimeout(() => {
+		leftTreeRef.value?.treeRef.setCurrentKey(currentListID.value);
+	}, 0);
+};
 const tableLoading = ref(false);
 const tableData = ref([]);
 const isDragStatus = ref(false);
@@ -412,13 +439,7 @@
 
 			return item;
 		});
-
-		travelTree(listTreeData.value, (value, index, array, parent) => {
-			const len = getLenById(allTableData.value,value.group_id,value);
-			value.group_name =`${value.group_name} (${len})`
-			
-		})
-
+		setListLen();
 	}
 	tableData.value = allTableData.value.filter(
 		(item) =>
@@ -492,6 +513,9 @@
 
 const insertOpt = (newData) => {
 	tableData.value.unshift({ ...newData, published: SupervisorPublished.N });
+	allTableData.value.unshift({ ...newData, published: SupervisorPublished.N });
+
+	setCurrentLen(1);
 };
 //#endregion
 

--
Gitblit v1.9.3