zwxi 6 months ago
parent
commit
cb1284b44d
2 changed files with 92 additions and 1 deletions
  1. 90 0
      controllers/data_manage/chart_classify.go
  2. 2 1
      services/data/chart_classify.go

+ 90 - 0
controllers/data_manage/chart_classify.go

@@ -1035,3 +1035,93 @@ func (this *ChartClassifyController) ChartClassifyChartListV2() {
 	br.Msg = "获取成功"
 	br.Data = resp
 }
+
+// ChartClassifyChartListV3
+// @Title 根据图表分类获取图表列表-包含分类和图表
+// @Description 根据图表分类获取图表列表接口-包含分类和图表
+// @Param   IsShowMe   query   bool  true       "是否只看我的,true、false"
+// @Param   ChartClassifyId   query   bool  true       "图片分类id"
+// @Success 200 {object} data_manage.ChartClassifyListResp
+// @router /chart_classify/chart/listV2 [get]
+func (this *ChartClassifyController) ChartClassifyChartListV3() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+
+	resp := new(data_manage.ChartClassifyListResp)
+
+	chartClassifyId, _ := this.GetInt("ChartClassifyId")
+	if chartClassifyId <= 0 {
+		br.Msg = "参数错误"
+		return
+	}
+
+	// 获取当前账号的不可见指标
+	noPermissionChartIdMap := make(map[int]bool)
+	{
+		obj := data_manage.EdbInfoNoPermissionAdmin{}
+		confList, err := obj.GetAllChartListByAdminId(this.SysUser.AdminId)
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取不可见指标配置数据失败,Err:" + err.Error()
+			return
+		}
+		for _, v := range confList {
+			noPermissionChartIdMap[v.ChartInfoId] = true
+		}
+	}
+
+	isShowMe, _ := this.GetBool("IsShowMe")
+	if isShowMe {
+		allChartInfo, err := data_manage.GetChartInfoByAdminIdAndClassify([]int{utils.CHART_SOURCE_DEFAULT}, sysUser.AdminId, chartClassifyId)
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取全部数据失败,Err:" + err.Error()
+			return
+		}
+		// 移除没有权限的图表
+		allNodes := data.HandleNoPermissionChart(allChartInfo, noPermissionChartIdMap, this.SysUser.AdminId)
+		resp.AllNodes = allNodes
+
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+		br.Data = resp
+		fmt.Println("source my classify")
+		return
+	}
+
+	allChartInfo, err := data_manage.GetChartInfoAllByClassifyId(utils.CHART_SOURCE_DEFAULT, chartClassifyId)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取图表信息失败,Err:" + err.Error()
+		return
+	}
+	// 移除没有权限的图表
+	allNodes := data.HandleNoPermissionChart(allChartInfo, noPermissionChartIdMap, this.SysUser.AdminId)
+
+	for k, item := range allNodes {
+		item.Button = data.GetChartOpButton(this.SysUser, item.SysUserId, item.HaveOperaAuth)
+		item.Button.AddButton = false
+		item.Button.OpButton = false
+		item.Button.DeleteButton = false
+		allNodes[k] = item
+	}
+
+	resp.AllNodes = allNodes
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}

+ 2 - 1
services/data/chart_classify.go

@@ -36,8 +36,9 @@ func ChartClassifyItemsMakeTree(sysUser *system.Admin, allNode []*data_manage.Ch
 			if child.Level == 6 {
 				childButton.AddButton = false //第六级的话,默认图表都是没有添加按钮的
 			}
+			child.Disable = true
 			if child.Level == level {
-				child.Disable = true
+				child.Disable = false
 			}
 			child.Button = childButton
 			//node.Children = append(node.Children, child)