Browse Source

fix:分类权限

Roc 1 year ago
parent
commit
2bd695b92e

+ 6 - 0
controllers/data_manage/chart_classify.go

@@ -1033,6 +1033,12 @@ func (this *ChartClassifyController) ChartClassifyChartListV2() {
 	}
 	// 移除没有权限的图表
 	allNodes := handleNoPermissionChart(allChartInfo, noPermissionChartIdMap)
+
+	for k, item := range allNodes {
+		item.Button = data.GetChartOpButton(this.SysUser, item.SysUserId)
+		allNodes[k] = item
+	}
+
 	resp.AllNodes = allNodes
 
 	br.Ret = 200

+ 14 - 4
controllers/data_manage/edb_classify.go

@@ -712,10 +712,10 @@ func (this *EdbClassifyController) ItemsV2() {
 		}
 	}
 
-	// 是否允许添加分类
+	// 是否允许添加一级分类
 	canOpClassify := true
-	// 如果不是 超管 或者 ficc管理员 或者 ficc研究员,那么就没有权限
-	if !utils.InArrayByStr([]string{utils.ROLE_TYPE_CODE_ADMIN, utils.ROLE_TYPE_CODE_FICC_ADMIN, utils.ROLE_TYPE_CODE_RESEARCHR, utils.ROLE_TYPE_CODE_FICC_RESEARCHR}, this.SysUser.RoleTypeCode) {
+	button := data.GetEdbClassifyOpButton(this.SysUser, 0)
+	if !button.AddButton {
 		canOpClassify = false
 	}
 
@@ -848,7 +848,7 @@ func (this *EdbClassifyController) ItemsV3() {
 
 				if existItems, ok := rootTwoChildMap[item.ClassifyId]; ok {
 					for _, existItem := range existItems {
-						button := data.GetPredictEdbOpButton(this.SysUser, v.SysUserId)
+						button := data.GetEdbClassifyOpButton(this.SysUser, v.SysUserId)
 						button.AddButton = false //不管有没有权限,指标都是没有添加按钮的
 						existItem.Button = button
 					}
@@ -877,9 +877,19 @@ func (this *EdbClassifyController) ItemsV3() {
 			}
 		}
 	}
+	// 是否允许添加一级分类
+
+	// 是否允许添加一级分类
+	canOpClassify := true
+	button := data.GetEdbClassifyOpButton(this.SysUser, 0)
+	if !button.AddButton {
+		canOpClassify = false
+	}
+
 	resp := new(data_manage.EdbClassifyListResp)
 	resp.AllNodes = nodeAll
 	resp.Language = language
+	resp.CanOpClassify = canOpClassify
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "获取成功"

+ 5 - 5
controllers/data_manage/predict_edb_classify.go

@@ -599,7 +599,7 @@ func (this *PredictEdbClassifyController) ListV2() {
 						if _, ok := noPermissionEdbInfoIdMap[existItem.EdbInfoId]; ok {
 							continue
 						}
-						button := data.GetPredictEdbOpButton(this.SysUser, v.SysUserId)
+						button := data.GetPredictEdbClassifyOpButton(this.SysUser, v.SysUserId)
 						button.AddButton = false //不管有没有权限,指标都是没有添加按钮的
 						existItem.Button = button
 						if isOnlyMe {
@@ -621,11 +621,11 @@ func (this *PredictEdbClassifyController) ListV2() {
 		}
 		nodeAll = append(nodeAll, v)
 	}
-	// 是否允许添加分类
-	canOpClassify := true
 
-	// 如果不是 超管 或者 ficc管理员,那么就没有权限
-	if this.SysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN && this.SysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_FICC_ADMIN {
+	// 是否允许添加一级分类
+	canOpClassify := true
+	button := data.GetPredictEdbClassifyOpButton(this.SysUser, 0)
+	if !button.AddButton {
 		canOpClassify = false
 	}
 

+ 13 - 0
services/data/chart_classify.go

@@ -126,3 +126,16 @@ func GetCanOpChartClassify(roleTypeCode string) (canOpClassify bool) {
 
 	return
 }
+
+// GetChartOpButton 获取ETA图库的操作权限
+func GetChartOpButton(sysUser *system.Admin, belongUserId int) (button data_manage.ChartClassifyItemsButton) {
+	//预测指标的添加人对该预测指标有全部操作权限,ficc管理员、超管对所有预测指标有全部操作权限;
+	if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_ADMIN || sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_ADMIN || sysUser.AdminId == belongUserId || sysUser.PredictEdbPermission == 1 {
+		button.AddButton = true
+		button.OpButton = true
+		button.DeleteButton = true
+		button.MoveButton = true
+	}
+
+	return
+}