作者 唐旭辉

选择框数据特殊处理输出

@@ -68,8 +68,8 @@ func (c *CommonController) SelectorRole() { @@ -68,8 +68,8 @@ func (c *CommonController) SelectorRole() {
68 switch param.For { 68 switch param.For {
69 case "user": 69 case "user":
70 //编辑用户时 70 //编辑用户时
71 - roles = servecommon.SelectorRoleAll(companyid)  
72 - // roles = servecommon.FilterRoleAll(userid, companyid, list) 71 + list := servecommon.SelectorRoleAll(companyid)
  72 + roles = servecommon.FilterRoleAll(userid, companyid, list)
73 case "role": 73 case "role":
74 //编辑角色时 74 //编辑角色时
75 list := servecommon.SelectorRoleAll(companyid) 75 list := servecommon.SelectorRoleAll(companyid)
@@ -44,38 +44,36 @@ func SelectorRoleAll(companyid int64) []protocol.RoleBase { @@ -44,38 +44,36 @@ func SelectorRoleAll(companyid int64) []protocol.RoleBase {
44 return roles 44 return roles
45 } 45 }
46 46
47 -// func FilterRoleAll(adminid int64, companyid int64, list []protocol.RoleBase) []protocol.RoleBase {  
48 -// var (  
49 -// newlist []protocol.RoleBase  
50 -// admingoroupId int64  
51 -// )  
52 -// companyInfo, err := models.GetCompanyById(companyid)  
53 -// if err != nil {  
54 -// e := fmt.Errorf("GetCompanyById(%d) err:%s", companyid, err)  
55 -// log.Error(e.Error())  
56 -// return newlist  
57 -// }  
58 -// for _, v := range list {  
59 -// if v.IsDefault == models.ROLE_DEFAULR && v.Types == models.ROLETYPES_GROUP {  
60 -// admingoroupId = v.Id  
61 -// break  
62 -// }  
63 -// }  
64 -// for k, v := range list {  
65 -// if v.Types == models.ROLETYPES_ROLE && v.IsDefault == models.ROLE_DEFAULR {  
66 -// continue  
67 -// }  
68 -// // if companyInfo.AdminId != adminid {  
69 -// // //非主管理员  
70 -// // if v.Id == admingoroupId || v.ParentId == admingoroupId {  
71 -// // continue  
72 -// // }  
73 -// // } 47 +func FilterRoleAll(adminid int64, companyid int64, list []protocol.RoleBase) []protocol.RoleBase {
  48 + var (
  49 + newlist []protocol.RoleBase
  50 + admingoroupId int64
  51 + )
  52 + companyInfo, err := models.GetCompanyById(companyid)
  53 + if err != nil {
  54 + e := fmt.Errorf("GetCompanyById(%d) err:%s", companyid, err)
  55 + log.Error(e.Error())
  56 + return newlist
  57 + }
  58 + for _, v := range list {
  59 + if v.IsDefault == models.ROLE_DEFAULR && v.Types == models.ROLETYPES_GROUP {
  60 + admingoroupId = v.Id
  61 + break
  62 + }
  63 + }
  64 + for k, v := range list {
  65 + if companyInfo.AdminId != adminid {
  66 + //非主管理员
  67 + //前端需要的额外标识处理
  68 + if v.ParentId == admingoroupId && v.IsDefault == models.ROLE_DEFAULR_NOT {
  69 + list[k].IsDefault = 2
  70 + }
  71 + }
74 72
75 -// newlist = append(newlist, list[k])  
76 -// }  
77 -// return newlist  
78 -// } 73 + newlist = append(newlist, list[k])
  74 + }
  75 + return newlist
  76 +}
79 77
80 func FilterRoleGroup(adminid int64, companyid int64, list []protocol.RoleBase) []protocol.RoleBase { 78 func FilterRoleGroup(adminid int64, companyid int64, list []protocol.RoleBase) []protocol.RoleBase {
81 var ( 79 var (