正在显示
4 个修改的文件
包含
17 行增加
和
12 行删除
| @@ -66,9 +66,9 @@ type Menu struct { | @@ -66,9 +66,9 @@ type Menu struct { | ||
| 66 | Category string `json:"category,omitempty"` | 66 | Category string `json:"category,omitempty"` |
| 67 | // 路径节点路径("0,11,12,") | 67 | // 路径节点路径("0,11,12,") |
| 68 | ParentPath string `json:"parentPath,omitempty"` | 68 | ParentPath string `json:"parentPath,omitempty"` |
| 69 | - // 菜单是否公开状态,[1:显示],[2:隐藏],默认显示 (移除不使用) | 69 | + // 菜单是否公开状态,[1:显示],[2:隐藏],默认显示 |
| 70 | IsPublish int `json:"isPublish,omitempty"` | 70 | IsPublish int `json:"isPublish,omitempty"` |
| 71 | - // 启用状态(启用:1 禁用:2),默认启用 | 71 | + // 启用状态(启用:1 禁用:2),默认启用 (移除不使用,现在只有is_publish状态) |
| 72 | EnableStatus int `json:"enableStatus,omitempty"` | 72 | EnableStatus int `json:"enableStatus,omitempty"` |
| 73 | // 外链接(需要菜单跳转的时候使用) | 73 | // 外链接(需要菜单跳转的时候使用) |
| 74 | Link string `json:"link"` | 74 | Link string `json:"link"` |
| @@ -46,7 +46,7 @@ type Org struct { | @@ -46,7 +46,7 @@ type Org struct { | ||
| 46 | OrgStatus int `json:"orgStatus,omitempty"` | 46 | OrgStatus int `json:"orgStatus,omitempty"` |
| 47 | // 父级ID | 47 | // 父级ID |
| 48 | ParentId int64 `json:"parentId,omitempty"` | 48 | ParentId int64 `json:"parentId,omitempty"` |
| 49 | - // 父级节点路径("0,11,12,") | 49 | + // 父级节点路径("11,12") 注意:parent_id为0时 parentPath "",公司级别的组织没有父级组织 |
| 50 | ParentPath string `json:"parentPath,omitempty"` | 50 | ParentPath string `json:"parentPath,omitempty"` |
| 51 | 51 | ||
| 52 | // 企业id | 52 | // 企业id |
| @@ -202,6 +202,12 @@ func (org *Org) ID() string { | @@ -202,6 +202,12 @@ func (org *Org) ID() string { | ||
| 202 | func (org *Org) IsChild(pid int64) bool { | 202 | func (org *Org) IsChild(pid int64) bool { |
| 203 | paths := strings.Split(org.ParentPath, PathSegment) | 203 | paths := strings.Split(org.ParentPath, PathSegment) |
| 204 | pidStr := strconv.FormatInt(pid, 10) | 204 | pidStr := strconv.FormatInt(pid, 10) |
| 205 | + if org.OrgId == pid { | ||
| 206 | + return true | ||
| 207 | + } | ||
| 208 | + if org.ParentId == pid { | ||
| 209 | + return true | ||
| 210 | + } | ||
| 205 | for _, v := range paths { | 211 | for _, v := range paths { |
| 206 | if strings.EqualFold(pidStr, v) { | 212 | if strings.EqualFold(pidStr, v) { |
| 207 | return true | 213 | return true |
| @@ -112,7 +112,8 @@ func (ptr *PgBatchAddUserService) BatchAddUser(optUser *domain.OperateInfo, user | @@ -112,7 +112,8 @@ func (ptr *PgBatchAddUserService) BatchAddUser(optUser *domain.OperateInfo, user | ||
| 112 | failRows = append(failRows, user) | 112 | failRows = append(failRows, user) |
| 113 | continue | 113 | continue |
| 114 | } | 114 | } |
| 115 | - var org, dep *domain.Org | 115 | + var org = optUserOrg |
| 116 | + var dep *domain.Org | ||
| 116 | var ok bool | 117 | var ok bool |
| 117 | // 使用导入用户的组织作为默认组织 | 118 | // 使用导入用户的组织作为默认组织 |
| 118 | //if org, ok = mapOrg[user.Org]; !ok { | 119 | //if org, ok = mapOrg[user.Org]; !ok { |
| @@ -35,6 +35,9 @@ func (ptr *PgRoleAccessMenusService) AccessMenus(options *domain.OperateInfo, ro | @@ -35,6 +35,9 @@ func (ptr *PgRoleAccessMenusService) AccessMenus(options *domain.OperateInfo, ro | ||
| 35 | if role, _ = roleRepository.FindOne(map[string]interface{}{"roleId": roleIds[i]}); role == nil { | 35 | if role, _ = roleRepository.FindOne(map[string]interface{}{"roleId": roleIds[i]}); role == nil { |
| 36 | continue | 36 | continue |
| 37 | } | 37 | } |
| 38 | + if role.RoleType&domain.RoleTypeAdmin > 0 { | ||
| 39 | + hasAdminRole = true | ||
| 40 | + } | ||
| 38 | // 只要当前登录组织的有权限菜单 | 41 | // 只要当前登录组织的有权限菜单 |
| 39 | if option.OrgId > 0 && option.OrgId != role.OrgId { | 42 | if option.OrgId > 0 && option.OrgId != role.OrgId { |
| 40 | continue | 43 | continue |
| @@ -42,9 +45,6 @@ func (ptr *PgRoleAccessMenusService) AccessMenus(options *domain.OperateInfo, ro | @@ -42,9 +45,6 @@ func (ptr *PgRoleAccessMenusService) AccessMenus(options *domain.OperateInfo, ro | ||
| 42 | for i := 0; i < len(role.AccessMenus); i++ { | 45 | for i := 0; i < len(role.AccessMenus); i++ { |
| 43 | menuIdSet.Add(role.AccessMenus[i]) | 46 | menuIdSet.Add(role.AccessMenus[i]) |
| 44 | } | 47 | } |
| 45 | - if role.RoleType&domain.RoleTypeAdmin > 0 { | ||
| 46 | - hasAdminRole = true | ||
| 47 | - } | ||
| 48 | } | 48 | } |
| 49 | 49 | ||
| 50 | // 2.获取所有公开的菜单 | 50 | // 2.获取所有公开的菜单 |
| @@ -78,11 +78,9 @@ func (ptr *PgRoleAccessMenusService) AccessMenus(options *domain.OperateInfo, ro | @@ -78,11 +78,9 @@ func (ptr *PgRoleAccessMenusService) AccessMenus(options *domain.OperateInfo, ro | ||
| 78 | // 4. 设置别名、返回有效的菜单列表 | 78 | // 4. 设置别名、返回有效的菜单列表 |
| 79 | var mapMenus = make(map[int64]*domain.Menu) | 79 | var mapMenus = make(map[int64]*domain.Menu) |
| 80 | for i := range menus { | 80 | for i := range menus { |
| 81 | - if menus[i].EnableStatus == domain.MenuStatusEnable { | ||
| 82 | - menus[i].EnableStatus = domain.MenuStatusDisable | ||
| 83 | - if hasAdminRole { | ||
| 84 | - menus[i].EnableStatus = domain.MenuStatusEnable //管理员角色,返回所有权限 | ||
| 85 | - } | 81 | + menus[i].EnableStatus = domain.MenuStatusDisable |
| 82 | + if menus[i].IsPublish == domain.MenuPublic && hasAdminRole { | ||
| 83 | + menus[i].EnableStatus = domain.MenuStatusEnable //管理员角色,返回所有权限 | ||
| 86 | } | 84 | } |
| 87 | mapMenus[menus[i].MenuId] = menus[i] | 85 | mapMenus[menus[i].MenuId] = menus[i] |
| 88 | } | 86 | } |
-
请 注册 或 登录 后发表评论