Browse Source

优化菜单获取路由接口。

baoyubo 8 months ago
parent
commit
0feda5868a
1 changed files with 14 additions and 11 deletions
  1. 14 11
      routers/prod_api/system/menu/__init__.py

+ 14 - 11
routers/prod_api/system/menu/__init__.py

@@ -129,7 +129,7 @@ async def getRouters(request: Request, db: Session = Depends(get_db),
                     "hidden":menu.visible == '1',
                     "name":menu.path,
                     "path":'/'+menu.path,
-                    "redirect":'noRedirect',
+                    # "redirect":'noRedirect',
                     # "alwaysShow":True,
                     "meta":{
                         "title":menu.menu_name,
@@ -148,12 +148,13 @@ async def getRouters(request: Request, db: Session = Depends(get_db),
                     # query = query.filter(SysMenu.del_flag != '2')
                     # children_menus = db.query(SysMenu).filter_by(parent_id=menu.menu_id).all()
                     # children_menus = query.all()
-                    # menu_data['redirect'] ='noRedirect'
+                    menu_data['redirect'] ='noRedirect'
                     menu_data['alwaysShow'] =True
                     children_menus = parent_id_get_menu_info(db,menu.menu_id)
                     if len(children_menus)>0:
                         menu_data['children'] = build_menu_tree(children_menus, menu)
-
+                elif menu.parent_id==0:
+                    pass
                 else:
                     menu_data['path'] = menu_data['path'][1:]
                 menu_tree.append(menu_data)  # 将当前菜单数据添加到菜单树列表
@@ -204,7 +205,7 @@ async def getRouters(request: Request, db: Session = Depends(get_db),
                     "hidden": menu.visible == '1',
                     "name": menu.path,
                     "path": '/' + menu.path,
-                    "redirect": 'noRedirect',
+                    # "redirect":'noRedirect',
                     # "alwaysShow":True,
                     "meta": {
                         "title": menu.menu_name,
@@ -218,17 +219,19 @@ async def getRouters(request: Request, db: Session = Depends(get_db),
 
                 # 如果菜单有子菜单,则递归构建子菜单
                 if menu.menu_type == 'M':  # 假设 'M' 表示目录类型
-                    # query = db.query(SysMenu)
-                    # query = query.filter_by(parent_id=menu.menu_id)
-                    # query = query.filter(SysMenu.del_flag != '2')
+                    query = db.query(SysMenu)
+                    query = query.filter_by(parent_id=menu.menu_id)
+                    query = query.filter(SysMenu.del_flag != '2')
                     # children_menus = db.query(SysMenu).filter_by(parent_id=menu.menu_id).all()
-                    # children_menus = query.all()
-                    # menu_data['redirect'] ='noRedirect'
+                    children_menus = query.all()
+                    menu_data['redirect'] = 'noRedirect'
                     menu_data['alwaysShow'] = True
-                    children_menus = parent_id_get_menu_info(db, menu.menu_id)
+                    print( menu.menu_id)
+                    # children_menus = parent_id_get_menu_info(db, menu.menu_id)
                     if len(children_menus) > 0:
                         menu_data['children'] = build_menu_tree(children_menus, menu)
-
+                elif menu.parent_id == 0:
+                    pass
                 else:
                     menu_data['path'] = menu_data['path'][1:]
                 menu_tree.append(menu_data)  # 将当前菜单数据添加到菜单树列表