Browse Source

首页权限列表菜单优化

xiexiaoyuan 2 years ago
parent
commit
f24cd0207c

+ 2 - 0
models/response/permission.go

@@ -5,6 +5,8 @@ type PermissionFirstItem struct {
 	Sort       int
 	IsCheck    bool
 	List       PermissionFiccSecondList
+	YbIndexName string
+	YbIndexIcon string
 }
 
 type PermissionFiccItem struct {

+ 19 - 0
models/tables/chart_permission_first/chart_permission_first.go

@@ -0,0 +1,19 @@
+package chart_permission_first
+
+import "time"
+
+// ChartPermissionFirst 报告权限一级分类表
+type ChartPermissionFirst struct {
+	Id           uint64    `gorm:"primaryKey;column:id;type:bigint(20) unsigned;not null" json:"-"`
+	ClassifyName string    `gorm:"column:classify_name;type:varchar(50)"`                                        // 权限一级分类名称,与chart_permission的classify_name一致
+	YbIndexName  string    `gorm:"column:yb_index_name;type:varchar(50);default:''" `                            // 研报小程序首页简称
+	YbIndexSort  int      `gorm:"column:yb_index_sort;type:tinyint(4);default:0"`                               // 研报小程序首页排序
+	YbIndexShow  int8      `gorm:"column:show_type;type:tinyint(4);default:0"`                                   // 是否展示在研报小程序首页页面  1-展示;0-不展示
+	YbIndexIcon  string    `gorm:"column:yb_index_icon;type:varchar(255);default:''"`                            // 研报小程序首页图标地址
+	CreateTime   time.Time `gorm:"index:create_time;column:create_time;type:datetime;default:CURRENT_TIMESTAMP"` //创建时间
+}
+
+// TableName get sql table name.获取数据库表名
+func (m *ChartPermissionFirst) TableName() string {
+	return "chart_permission_first"
+}

+ 12 - 0
models/tables/chart_permission_first/query.go

@@ -0,0 +1,12 @@
+package chart_permission_first
+
+import (
+	"hongze/hongze_yb/global"
+)
+
+// GetIndexShowList 查询首页展示的权限一级分类
+func GetIndexShowList() (list []*ChartPermissionFirst, err error) {
+	err = global.DEFAULT_MYSQL.Model(ChartPermissionFirst{}).Where("yb_index_show = 1").Scan(&list).Error
+	return
+}
+

+ 18 - 28
services/company/permission.go

@@ -8,6 +8,7 @@ import (
 	"hongze/hongze_yb/models/response"
 	"hongze/hongze_yb/models/tables/admin"
 	"hongze/hongze_yb/models/tables/chart_permission"
+	"hongze/hongze_yb/models/tables/chart_permission_first"
 	"hongze/hongze_yb/models/tables/company"
 	"hongze/hongze_yb/models/tables/company_product"
 	"hongze/hongze_yb/models/tables/company_report_permission"
@@ -613,17 +614,18 @@ func GetHomeFiccPermissions(user user.UserInfo) (ret response.PermissionFiccResp
 	}
 	permissionMap := make(map[uint64]bool)
 	permissionFirstMap := make(map[string]*response.PermissionFirstItem)
-	permissionFirstMap["宏观经济"] = &response.PermissionFirstItem{
-		Sort: 1001,
-	}
-	permissionFirstMap["化工产业"] = &response.PermissionFirstItem{
-		Sort: 1002,
-	}
-	permissionFirstMap["建材产业"] = &response.PermissionFirstItem{
-		Sort: 1003,
+
+	//查询首页展示的图标
+	permissionFirstList, err := chart_permission_first.GetIndexShowList()
+	if err != nil {
+		return
 	}
-	permissionFirstMap["有色产业"] = &response.PermissionFirstItem{
-		Sort: 1004,
+	for _, v := range permissionFirstList {
+		permissionFirstMap[v.ClassifyName] = &response.PermissionFirstItem{
+			Sort: v.YbIndexSort+1000,
+			YbIndexName: v.YbIndexName,
+			YbIndexIcon: v.YbIndexIcon,
+		}
 	}
 
 	for k, v := range permissionList {
@@ -658,26 +660,14 @@ func GetHomeFiccPermissions(user user.UserInfo) (ret response.PermissionFiccResp
 	}
 
 	var list response.PermissionFiccList
-	for k, v := range permissionFirstMap {
+	for _, v := range permissionFirstMap {
 		temp := new(response.PermissionFiccItem)
 		temp.Sort = v.Sort
-		temp.ClassifyName = k
-		if strings.Contains(temp.ClassifyName, "宏观") {
-			temp.ClassifyName = "宏观经济"
-			temp.SelectIconUrl = utils.ALIYUN_YBIMG_HOST + "ficc_icon_idx_hongguan_select.png"
-			temp.IconUrl = utils.ALIYUN_YBIMG_HOST + "ficc_icon_idx_hongguan.png"
-		} else if temp.ClassifyName == "化工产业" {
-			temp.ClassifyName = "化工"
-			temp.SelectIconUrl = utils.ALIYUN_YBIMG_HOST + "ficc_icon_idx_huagong_select.png"
-			temp.IconUrl = utils.ALIYUN_YBIMG_HOST + "ficc_icon_idx_huagong.png"
-		} else if temp.ClassifyName == "建材产业" {
-			temp.ClassifyName = "建材"
-			temp.SelectIconUrl = utils.ALIYUN_YBIMG_HOST + "ficc_icon_idx_black_select.png"
-			temp.IconUrl = utils.ALIYUN_YBIMG_HOST + "ficc_icon_idx_black.png"
-		} else if temp.ClassifyName == "有色产业" {
-			temp.ClassifyName = "有色"
-			temp.SelectIconUrl = utils.ALIYUN_YBIMG_HOST + "ficc_icon_idx_youse_select.png"
-			temp.IconUrl = utils.ALIYUN_YBIMG_HOST + "ficc_icon_idx_youse.png"
+		temp.ClassifyName = v.YbIndexName
+		temp.IconUrl = v.YbIndexIcon
+		if len(temp.IconUrl) > 4 {
+			tmpIcon := temp.IconUrl[:len(temp.IconUrl)-4]
+			temp.SelectIconUrl = tmpIcon + "_select.png"
 		}
 		if len(v.List) > 0 {
 			temp.List = v.List