From 70f58df4daebf7dba7f4a24aee506e14885761bd Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 19 八月 2025 14:45:41 +0800
Subject: [PATCH] fix: bug

---
 src/utils/common/tree.ts |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/src/utils/common/tree.ts b/src/utils/common/tree.ts
index c1f171c..8f5241f 100644
--- a/src/utils/common/tree.ts
+++ b/src/utils/common/tree.ts
@@ -1,3 +1,5 @@
+import { TreeNodeData } from 'element-plus/es/components/tree/src/tree.type';
+
 export function getTree(
   data: API.ModuleDto[],
   root?: string,
@@ -44,3 +46,27 @@
 
   return result;
 }
+
+type TreeCallback<T extends TreeNodeData, R> = (
+  data: T,
+  index: number,
+  array: T[],
+  parent?: T
+) => R;
+
+export function treeEach<T extends TreeNodeData>(
+  treeData: T[],
+  callback: TreeCallback<T, void>,
+  getChildren: (data: T) => T[],
+  parent?: T
+) {
+  for (let i = 0; i < treeData.length; i++) {
+    const data = treeData[i];
+    callback(data, i, treeData, parent);
+
+    const children = getChildren(data);
+    if (Array.isArray(children)) {
+      treeEach(children, callback, getChildren, data);
+    }
+  }
+}

--
Gitblit v1.9.1