|
@@ -717,3 +717,81 @@ func (this *CorrelationChartClassifyController) ChartClassifyMove() {
|
|
|
br.Success = true
|
|
|
br.Msg = "移动成功"
|
|
|
}
|
|
|
+
|
|
|
+// ClassifyTree
|
|
|
+// @Title 多层分类列表树
|
|
|
+// @Description 多层分类列表树
|
|
|
+// @Success 200 {object} data_manage.ChartClassifyListResp
|
|
|
+// @router /chart_classify/tree [get]
|
|
|
+func (this *CorrelationChartClassifyController) ClassifyTree() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ if br.ErrMsg == "" {
|
|
|
+ br.IsSendEmail = false
|
|
|
+ }
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+
|
|
|
+ allList, err := data_manage.GetChartClassifyAllBySource(utils.CHART_SOURCE_CORRELATION)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取所有分类失败, Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ nodeAll := make([]*data_manage.ChartClassifyItems, 0)
|
|
|
+
|
|
|
+ if len(allList) > 0 {
|
|
|
+ // 已授权分类id
|
|
|
+ permissionClassifyIdList, e := data_manage_permission.GetUserChartClassifyPermissionList(this.SysUser.AdminId, 0)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取已授权分类id数据失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ for k, v := range allList {
|
|
|
+ // 数据权限
|
|
|
+ v.HaveOperaAuth = data_manage_permission.CheckChartClassifyPermissionByPermissionIdList(v.IsJoinPermission, v.ChartClassifyId, permissionClassifyIdList)
|
|
|
+ // 按钮权限
|
|
|
+ button := data.GetChartClassifyOpButton(this.SysUser, v.SysUserId, v.HaveOperaAuth)
|
|
|
+ allList[k].Button = button
|
|
|
+ }
|
|
|
+
|
|
|
+ nodeAll = data.GetChartClassifyTreeRecursive(allList, 0)
|
|
|
+ //根据sort值排序
|
|
|
+ sort.Slice(nodeAll, func(i, j int) bool {
|
|
|
+ return nodeAll[i].Sort < nodeAll[j].Sort
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ language := `CN`
|
|
|
+ // 显示的语言
|
|
|
+ {
|
|
|
+ configDetail, _ := system.GetConfigDetailByCode(this.SysUser.AdminId, system.ChartLanguageVar)
|
|
|
+ if configDetail != nil {
|
|
|
+ language = configDetail.ConfigValue
|
|
|
+ } else {
|
|
|
+ configDetail, _ = system.GetDefaultConfigDetailByCode(system.ChartLanguageVar)
|
|
|
+ if configDetail != nil {
|
|
|
+ language = configDetail.ConfigValue
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 是否允许添加一级分类
|
|
|
+ canOpClassify := true
|
|
|
+ button := data.GetChartClassifyOpButton(this.SysUser, 0, true)
|
|
|
+ if !button.AddButton {
|
|
|
+ canOpClassify = false
|
|
|
+ }
|
|
|
+
|
|
|
+ resp := new(data_manage.ChartClassifyListResp)
|
|
|
+ resp.AllNodes = nodeAll
|
|
|
+ resp.Language = language
|
|
|
+ resp.CanOpClassify = canOpClassify
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|