diff --git a/src/models/user.go b/src/models/user.go index 67262eb66e8e388bedda05b3811e811e481f1774..df803e6569947ec6cd70a5907e05739ca365ace5 100644 --- a/src/models/user.go +++ b/src/models/user.go @@ -435,11 +435,11 @@ func (u *User) NopriIdents(idents []string) ([]string, error) { // 我是管理员,返回所有 // 或者我是成员 -func (u *User) BusiGroups(limit int, query string) ([]BusiGroup, error) { +func (u *User) BusiGroups(limit int, query string, all ...bool) ([]BusiGroup, error) { session := DB().Order("name").Limit(limit) var lst []BusiGroup - if u.IsAdmin() { + if u.IsAdmin() || (len(all) > 0 && all[0]) { err := session.Where("name like ?", "%"+query+"%").Find(&lst).Error return lst, err } diff --git a/src/webapi/router/router_busi_group.go b/src/webapi/router/router_busi_group.go index 9757b6bcb12b1e1b571876cf622b730f04e004eb..4bba2c66045fabd68a30b59b8846d77befcc1076 100644 --- a/src/webapi/router/router_busi_group.go +++ b/src/webapi/router/router_busi_group.go @@ -98,9 +98,10 @@ func busiGroupDel(c *gin.Context) { func busiGroupGets(c *gin.Context) { limit := ginx.QueryInt(c, "limit", defaultLimit) query := ginx.QueryStr(c, "query", "") + all := ginx.QueryBool(c, "all", false) me := c.MustGet("user").(*models.User) - lst, err := me.BusiGroups(limit, query) + lst, err := me.BusiGroups(limit, query, all) ginx.NewRender(c).Data(lst, err) }