hsun преди 1 година
родител
ревизия
fe8b4e1e2f

+ 17 - 2
controllers/eta_business/eta_business_menu.go

@@ -61,6 +61,8 @@ func (this *EtaBusinessMenuController) List() {
 		return
 	}
 
+	menuCond := ``
+	menuPars := make([]interface{}, 0)
 	// 商家勾选的权限
 	{
 		businessId, _ := this.GetInt("EtaBusinessId", 0)
@@ -82,6 +84,7 @@ func (this *EtaBusinessMenuController) List() {
 				}
 				resp.ChoiceList = append(resp.ChoiceList, r.MenuId)
 			}
+			menuCond += ` AND hidden = 0`
 		}
 	}
 
@@ -106,7 +109,7 @@ func (this *EtaBusinessMenuController) List() {
 	// 普通查询
 	if keyword == "" {
 		menuOb := new(eta_business.EtaBusinessMenu)
-		menus, e := menuOb.GetItemsByCondition(``, make([]interface{}, 0), []string{}, order)
+		menus, e := menuOb.GetItemsByCondition(menuCond, menuPars, []string{}, order)
 		if e != nil {
 			br.Msg = "获取失败"
 			br.ErrMsg = "获取商家菜单列表失败, Err: " + e.Error()
@@ -278,6 +281,12 @@ func (this *EtaBusinessMenuController) Add() {
 			br.Msg = "请输入组件路径"
 			return
 		}
+	} else {
+		req.ButtonCode = strings.TrimSpace(req.ButtonCode)
+		if req.ButtonCode == "" {
+			br.Msg = "请输入按钮/字段ID"
+			return
+		}
 	}
 
 	// 重名校验
@@ -389,6 +398,12 @@ func (this *EtaBusinessMenuController) Edit() {
 			br.Msg = "请输入组件路径"
 			return
 		}
+	} else {
+		req.ButtonCode = strings.TrimSpace(req.ButtonCode)
+		if req.ButtonCode == "" {
+			br.Msg = "请输入按钮/字段ID"
+			return
+		}
 	}
 
 	menuOb := new(eta_business.EtaBusinessMenu)
@@ -437,7 +452,7 @@ func (this *EtaBusinessMenuController) Edit() {
 		item.LevelPath = item.Component
 		cols = append(cols, "LevelPath")
 	}
-	if e := menuOb.Update(cols); e != nil {
+	if e := item.Update(cols); e != nil {
 		br.Msg = "操作失败"
 		br.ErrMsg = "更新菜单失败, Err: " + e.Error()
 		return

+ 1 - 1
controllers/sys_role.go

@@ -97,7 +97,7 @@ func (this *SysRoleController) Edit() {
 		return
 	}
 	if req.RoleName == "" {
-		br.Msg = "分组名称不能为空"
+		br.Msg = "角色名称不能为空"
 		return
 	}
 	item, err := system.GetSysRoleByName(req.RoleName)

+ 5 - 5
models/eta_business/eta_business_menu.go

@@ -13,7 +13,7 @@ type EtaBusinessMenu struct {
 	MenuId     int       `orm:"column(menu_id);pk"`
 	ParentId   int       `description:"父级菜单ID"`
 	Name       string    `description:"菜单名称或者按钮名称"`
-	Sort       string    `description:"排序"`
+	Sort       int       `description:"排序"`
 	Path       string    `description:"路由地址"`
 	IconPath   string    `description:"菜单图标地址"`
 	Component  string    `description:"组件路径"`
@@ -72,7 +72,7 @@ func (m *EtaBusinessMenu) MultiDel(menuIds []int) (err error) {
 	}
 	o := orm.NewOrm()
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.PrimaryId(), utils.GetOrmInReplace(len(menuIds)))
-	_, err = o.Raw(sql, m.MenuId).Exec()
+	_, err = o.Raw(sql, menuIds).Exec()
 	return
 }
 
@@ -136,7 +136,7 @@ func GetMenuItemsByKeyword(keyword string, fieldArr []string, orderRule string)
 				(
 					SELECT * FROM eta_business_menu WHERE parent_id = 0 AND name LIKE ?
 					UNION
-					SELECT * FROM eta_business_menu WHERE id IN (
+					SELECT * FROM eta_business_menu WHERE menu_id IN (
 						SELECT
 							parent_id
 						FROM
@@ -171,7 +171,7 @@ type EtaBusinessMenuItem struct {
 	ParentId     int                    `description:"父级菜单ID"`
 	Name         string                 `description:"菜单名称或者按钮名称"`
 	RootId       int                    `description:"顶层菜单ID"`
-	Sort         string                 `description:"排序"`
+	Sort         int                    `description:"排序"`
 	Path         string                 `description:"路由地址"`
 	PathName     string                 `description:"路由名称"`
 	IconPath     string                 `description:"菜单图标地址"`
@@ -188,7 +188,7 @@ type EtaBusinessMenuItem struct {
 type EtaBusinessMenuAddReq struct {
 	ParentId   int    `description:"父级菜单ID"`
 	Name       string `description:"菜单/按钮名称"`
-	Sort       string `description:"排序"`
+	Sort       int    `description:"排序"`
 	Path       string `description:"路由地址"`
 	IconPath   string `description:"图标地址"`
 	Component  string `description:"组件路径"`

+ 1 - 1
models/eta_business/eta_business_menu_icon.go

@@ -81,7 +81,7 @@ func (m *EtaBusinessMenuIcon) GetItemsByCondition(condition string, pars []inter
 	if len(fieldArr) == 0 {
 		fields = `*`
 	}
-	order := `ORDER BY create_time DESC`
+	order := `ORDER BY create_time DESC, icon_id ASC`
 	if orderRule != "" {
 		order = ` ORDER BY ` + orderRule
 	}

+ 4 - 1
services/eta_business/eta_business_menu.go

@@ -1,6 +1,8 @@
 package eta_business
 
-import "hongze/hz_crm_api/models/eta_business"
+import (
+	"hongze/hz_crm_api/models/eta_business"
+)
 
 // GetMenuTreeRecursive 递归菜单树
 func GetMenuTreeRecursive(list []*eta_business.EtaBusinessMenuItem, parentId int) []*eta_business.EtaBusinessMenuItem {
@@ -20,6 +22,7 @@ func GetMenuChildrenIdsRecursive(list []*eta_business.EtaBusinessMenu, parentId
 	for _, v := range list {
 		if v.ParentId == parentId {
 			ids := GetMenuChildrenIdsRecursive(list, v.MenuId)
+			res = append(res, v.MenuId)
 			res = append(res, ids...)
 		}
 	}