diff --git a/apps/perms/api/user_permission/tree/node_with_asset.py b/apps/perms/api/user_permission/tree/node_with_asset.py index e67020962..bb36b77ef 100644 --- a/apps/perms/api/user_permission/tree/node_with_asset.py +++ b/apps/perms/api/user_permission/tree/node_with_asset.py @@ -102,6 +102,12 @@ class UserPermedNodeChildrenWithAssetsAsTreeApi(BaseUserNodeWithAssetAsTreeApi): if not node_key: nodes = query_node_util.get_top_level_nodes() assets = Asset.objects.none() + # 获取根节点下的资产 + for node in nodes: + if not node.key.isdigit(): + continue + assets = query_asset_util.get_node_assets(key=node.key) + break elif node_key == PermNode.UNGROUPED_NODE_KEY: nodes = PermNode.objects.none() assets = query_asset_util.get_ungroup_assets() diff --git a/apps/perms/utils/user_perm.py b/apps/perms/utils/user_perm.py index 2b2172e39..96644c03e 100644 --- a/apps/perms/utils/user_perm.py +++ b/apps/perms/utils/user_perm.py @@ -150,6 +150,7 @@ class UserPermNodeUtil: def get_top_level_nodes(self): nodes = self.get_special_nodes() + # 获取组织下的根节点 real_nodes = self._get_indirect_perm_node_children(key='') nodes.extend(real_nodes) if len(real_nodes) == 1: