Browse Source

相关性分类回显

hsun 8 tháng trước cách đây
mục cha
commit
030078a527

+ 19 - 0
controllers/data_manage/correlation/correlation_chart_info.go

@@ -877,6 +877,24 @@ func (this *CorrelationChartInfoController) Detail() {
 		}
 	}
 
+	// 图表当前分类的分类树
+	classifyLevels := make([]string, 0)
+	{
+		list, e := data_manage.GetChartClassifyAllBySource(utils.CHART_SOURCE_CORRELATION)
+		if e != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = fmt.Sprintf("获取图表分类失败, Err: %v", e)
+			return
+		}
+		parents := data.GetChartClassifyParentRecursive(list, chartInfo.ChartClassifyId)
+		sort.Slice(parents, func(i, j int) bool {
+			return parents[i].Level < parents[i].Level
+		})
+		for _, v := range parents {
+			classifyLevels = append(classifyLevels, v.UniqueCode)
+		}
+	}
+
 	resp := new(data_manage.ChartInfoDetailResp)
 	resp.ChartInfo = chartInfo
 	resp.EdbInfoList = edbList
@@ -884,6 +902,7 @@ func (this *CorrelationChartInfoController) Detail() {
 	resp.YDataList = yDataList
 	resp.CorrelationChartInfo = correlationInfo
 	resp.DataResp = dataResp
+	resp.ClassifyLevels = classifyLevels
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "获取成功"

+ 2 - 0
models/data_manage/chart_info.go

@@ -700,7 +700,9 @@ type ChartInfoDetailResp struct {
 	BarChartInfo         BarChartInfoReq  `description:"柱方图的配置"`
 	CorrelationChartInfo *CorrelationInfo `description:"相关性图表信息"`
 	DataResp             interface{}      `description:"图表数据,根据图的类型而定的,没有确定的数据格式"`
+	ClassifyLevels       []string         `description:"图表分类的UniqueCode-从最顶级到当前分类(给前端回显定位用的=_=!)"`
 }
+
 type BalanceTableChartListResp struct {
 	List []*BalanceChartInfoDetailResp
 }

+ 14 - 0
services/data/chart_classify.go

@@ -948,3 +948,17 @@ func GetChartClassifyTreeRecursive(list []*data_manage.ChartClassifyItems, paren
 	}
 	return res
 }
+
+// GetChartClassifyParentRecursive 根据子目录递归父级目录
+func GetChartClassifyParentRecursive(list []*data_manage.ChartClassifyItems, classifyId int) []*data_manage.ChartClassifyItems {
+	res := make([]*data_manage.ChartClassifyItems, 0)
+	for _, v := range list {
+		if v.ChartClassifyId == classifyId {
+			if v.ParentId > 0 {
+				res = GetChartClassifyParentRecursive(list, v.ParentId)
+			}
+			res = append(res, v)
+		}
+	}
+	return res
+}