Compare commits

...
3 Commits
Author SHA1 Message Date
wenjianzhang 095ed7c2fd Merge pull request #529 from go-admin-team/dev
Dev
2021-08-10 16:39:54 +08:00
zhangwenjian 76567eea84 docs📝: 更新2.0.5 2021-08-10 14:58:55 +08:00
zhangwenjian 5a65fcd477 fix🐛: 修复菜单树 2021-08-10 14:58:04 +08:00
2 changed files with 22 additions and 7 deletions
+21 -6
View File
@@ -331,24 +331,39 @@ func (e *SysMenu) getByRoleName(roleName string) ([]models.SysMenu, error) {
MenuList = data
} else {
role.RoleKey = roleName
buttons := make([]models.SysMenu,0)
err = e.Orm.Debug().Model(&role).Where("role_key = ? ", roleName).Preload("SysMenu", func(db *gorm.DB) *gorm.DB {
return db.Where(" menu_type in ('C')").Order("sort")
return db.Where(" menu_type in ('F')").Order("sort")
}).Find(&role).Error
if role.SysMenu != nil {
MenuList = *role.SysMenu
buttons = *role.SysMenu
}
mIds := make([]int, 0)
for _, menu := range MenuList {
for _, menu := range buttons {
if menu.ParentId != 0 {
mIds = append(mIds, menu.ParentId)
}
}
var data []models.SysMenu
err = e.Orm.Where(" menu_type in ('M') and menu_id in ?", mIds).Order("sort").Find(&data).Error
var dataC []models.SysMenu
err = e.Orm.Where(" menu_type in ('C') and menu_id in ?", mIds).Order("sort").Find(&dataC).Error
if err != nil {
return nil, err
}
for _, datum := range data {
for _, datum := range dataC {
MenuList = append(MenuList, datum)
}
cIds := make([]int, 0)
for _, menu := range MenuList {
if menu.ParentId != 0 {
cIds = append(cIds, menu.ParentId)
}
}
var dataM []models.SysMenu
err = e.Orm.Where(" menu_type in ('M') and menu_id in ?", cIds).Order("sort").Find(&dataM).Error
if err != nil {
return nil, err
}
for _, datum := range dataM {
MenuList = append(MenuList, datum)
}
}
+1 -1
View File
@@ -2,7 +2,7 @@ package global
const (
// Version go-admin version info
Version = "2.0.4"
Version = "2.0.5"
)
var (