Ver Fonte

5#国日报修改

yanghao há 1 semana atrás
pai
commit
aa5b21b0c1
1 ficheiros alterados com 25 adições e 2 exclusões
  1. 25 2
      src/views/system/tree/PmsTree.vue

+ 25 - 2
src/views/system/tree/PmsTree.vue

@@ -95,6 +95,24 @@ const findNodePath = (
   return null
 }
 
+const findNodeById = (
+  nodes: TreeNode[],
+  targetId: number | string
+): TreeNode | null => {
+  for (const node of nodes) {
+    if (node.id === targetId) {
+      return node
+    }
+
+    if (node.children?.length) {
+      const result = findNodeById(node.children, targetId)
+      if (result) return result
+    }
+  }
+
+  return null
+}
+
 const locateNode = (targetId: number | string) => {
   if (!targetId || !treeList.value.length) return
 
@@ -182,12 +200,17 @@ const handleMenuClick = async (action: 'add' | 'edit' | 'delete') => {
       break
     case 'delete':
       if (!selectedNode.value?.id) return
+      const parentId = selectedNode.value.parentId
       await message.delConfirm()
       await IotTreeApi.deleteIotTree(selectedNode.value.id)
       message.success(t('common.delSuccess'))
       await getTreeInfo()
-      if (selectedNode.value.parentId) {
-        locateNode(selectedNode.value.parentId)
+      if (parentId) {
+        locateNode(parentId)
+        const parentNode = findNodeById(treeList.value, parentId)
+        if (parentNode) {
+          emits('node-click', parentNode)
+        }
       }
       break
   }