合并分支 'dev' 到 'master'
Dev 查看合并请求 !2
正在显示
9 个修改的文件
包含
172 行增加
和
44 行删除
| @@ -2,13 +2,14 @@ package table | @@ -2,13 +2,14 @@ package table | ||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "context" | 4 | "context" |
| 5 | - "gitlab.fjmaimaimai.com/allied-creation/sumifcc-bchart/cmd/chart-server/interanl/pkg/gateway/bytelib" | ||
| 6 | - "gitlab.fjmaimaimai.com/allied-creation/sumifcc-bchart/pkg/xerr" | ||
| 7 | - | 5 | + "github.com/zeromicro/go-zero/core/logx" |
| 8 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-bchart/cmd/chart-server/api/internal/svc" | 6 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-bchart/cmd/chart-server/api/internal/svc" |
| 9 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-bchart/cmd/chart-server/api/internal/types" | 7 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-bchart/cmd/chart-server/api/internal/types" |
| 10 | - | ||
| 11 | - "github.com/zeromicro/go-zero/core/logx" | 8 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-bchart/cmd/chart-server/interanl/pkg/gateway/bytelib" |
| 9 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-bchart/pkg/xerr" | ||
| 10 | + "sort" | ||
| 11 | + "strconv" | ||
| 12 | + "strings" | ||
| 12 | ) | 13 | ) |
| 13 | 14 | ||
| 14 | type SearchTableDataLogic struct { | 15 | type SearchTableDataLogic struct { |
| @@ -48,6 +49,47 @@ func (l *SearchTableDataLogic) SearchTableData(req *types.SearchTableDataRequest | @@ -48,6 +49,47 @@ func (l *SearchTableDataLogic) SearchTableData(req *types.SearchTableDataRequest | ||
| 48 | if err != nil { | 49 | if err != nil { |
| 49 | return resp, xerr.NewErr(err) | 50 | return resp, xerr.NewErr(err) |
| 50 | } | 51 | } |
| 52 | + //排序 | ||
| 53 | + orderField := "" | ||
| 54 | + orderBy := "" | ||
| 55 | + fieldType := "string" | ||
| 56 | + for _, item := range req.Condition { | ||
| 57 | + if item.Order != "" { | ||
| 58 | + orderField = item.FieldName | ||
| 59 | + orderBy = item.Order | ||
| 60 | + break | ||
| 61 | + } | ||
| 62 | + } | ||
| 63 | + for _, item := range response.Fields { | ||
| 64 | + if orderField == item.SQLName { | ||
| 65 | + fieldType = item.SQLType | ||
| 66 | + } | ||
| 67 | + } | ||
| 68 | + fieldType = strings.ToLower(fieldType) | ||
| 69 | + if orderField != "" && orderBy != "" { | ||
| 70 | + sort.Slice(response.Grid.List, func(i, j int) bool { | ||
| 71 | + if _, ok := response.Grid.List[i][orderField]; ok { | ||
| 72 | + if _, ok := response.Grid.List[j][orderField]; ok { | ||
| 73 | + if fieldType == "bigint" || fieldType == "int" || fieldType == "float" { | ||
| 74 | + idata, _ := strconv.ParseFloat(response.Grid.List[i][orderField], 64) | ||
| 75 | + jdata, _ := strconv.ParseFloat(response.Grid.List[j][orderField], 64) | ||
| 76 | + if strings.ToLower(orderBy) == "asc" { | ||
| 77 | + return idata < jdata | ||
| 78 | + } else { | ||
| 79 | + return idata > jdata | ||
| 80 | + } | ||
| 81 | + } else { | ||
| 82 | + if strings.ToLower(orderBy) == "asc" { | ||
| 83 | + return response.Grid.List[i][orderField] < response.Grid.List[j][orderField] | ||
| 84 | + } else { | ||
| 85 | + return response.Grid.List[i][orderField] > response.Grid.List[j][orderField] | ||
| 86 | + } | ||
| 87 | + } | ||
| 88 | + } | ||
| 89 | + } | ||
| 90 | + return true | ||
| 91 | + }) | ||
| 92 | + } | ||
| 51 | resp = map[string]interface{}{ | 93 | resp = map[string]interface{}{ |
| 52 | "objectId": response.ObjectId, | 94 | "objectId": response.ObjectId, |
| 53 | "fields": removeIdField(response.Fields), | 95 | "fields": removeIdField(response.Fields), |
| @@ -58,14 +58,16 @@ func newWhere(conditions []*types.Condition) *bytelib.TableQueryWhere { | @@ -58,14 +58,16 @@ func newWhere(conditions []*types.Condition) *bytelib.TableQueryWhere { | ||
| 58 | //if order == "" { | 58 | //if order == "" { |
| 59 | // order = "ASC" | 59 | // order = "ASC" |
| 60 | //} | 60 | //} |
| 61 | - where.Conditions = append(where.Conditions, &bytelib.TableQueryCondition{ | ||
| 62 | - Field: &bytelib.Field{ | ||
| 63 | - Name: c.FieldName, | ||
| 64 | - }, | ||
| 65 | - Like: c.Like, | ||
| 66 | - In: c.In, | ||
| 67 | - //Order: order, | ||
| 68 | - }) | 61 | + if c.Like != "" || len(c.In) > 0 { |
| 62 | + where.Conditions = append(where.Conditions, &bytelib.TableQueryCondition{ | ||
| 63 | + Field: &bytelib.Field{ | ||
| 64 | + Name: c.FieldName, | ||
| 65 | + }, | ||
| 66 | + Like: c.Like, | ||
| 67 | + In: c.In, | ||
| 68 | + //Order: order, | ||
| 69 | + }) | ||
| 70 | + } | ||
| 69 | } | 71 | } |
| 70 | return where | 72 | return where |
| 71 | } | 73 | } |
| @@ -118,24 +118,53 @@ type ChartProperty struct { | @@ -118,24 +118,53 @@ type ChartProperty struct { | ||
| 118 | 118 | ||
| 119 | type Other struct { | 119 | type Other struct { |
| 120 | Quarter *Quarter `json:"quarter,optional,omitempty"` // 四分图 | 120 | Quarter *Quarter `json:"quarter,optional,omitempty"` // 四分图 |
| 121 | + Divider *Divider `json:"divider,optional,omitempty"` // 分割线 | ||
| 122 | + Rank *Rank `json:"rank,optional,omitempty"` // 排名图 | ||
| 121 | } | 123 | } |
| 122 | 124 | ||
| 123 | type Quarter struct { | 125 | type Quarter struct { |
| 124 | - XAxisLabel string `json:"xAxisLabel"` // x轴标签名 | ||
| 125 | - XAxisFirstLabel string `json:"xAxisFirstLabel"` // 签名1 | ||
| 126 | - XAxisSecondLabel string `json:"xAxisSecondLabel"` // 签名2 | ||
| 127 | - YAxisLabel string `json:"yAxisLabel"` // y轴标签名 | ||
| 128 | - YAxisFirstLabel string `json:"yAxisFirstLabel"` // y标签1 | ||
| 129 | - YAxisSecondLabel string `json:"yAxisSecondLabel"` // y标签2 | ||
| 130 | - Area string `json:"area"` // 图形面积 | ||
| 131 | - AreaColor bool `json:"areaColor"` // 颜色 | ||
| 132 | - SeriesList []QuarterSeries `json:"seriesList"` // 图形系列 | 126 | + XAxisLabel string `json:"xAxisLabel"` // x轴标签名 |
| 127 | + XAxisFirstLabel string `json:"xAxisFirstLabel"` // 签名1 | ||
| 128 | + XAxisSecondLabel string `json:"xAxisSecondLabel"` // 签名2 | ||
| 129 | + XAxisFirstColor string `json:"xAxisFirstColor,optional,omitempty"` // x轴标签1默认颜色 | ||
| 130 | + XAxisSecondColor string `json:"xAxisSecondColor,optional,omitempty"` // x轴标签2默认颜色 | ||
| 131 | + YAxisLabel string `json:"yAxisLabel"` // y轴标签名 | ||
| 132 | + YAxisFirstLabel string `json:"yAxisFirstLabel"` // y标签1 | ||
| 133 | + YAxisSecondLabel string `json:"yAxisSecondLabel"` // y标签2 | ||
| 134 | + YAxisFirstColor string `json:"yAxisFirstColor,optional,omitempty"` // y轴标签1默认颜色 | ||
| 135 | + YAxisSecondColor string `json:"yAxisSecondColor,optional,omitempty"` // y轴标签2默认颜色 | ||
| 136 | + Area string `json:"area"` // 图形面积 | ||
| 137 | + AreaColor bool `json:"areaColor"` // 颜色 | ||
| 138 | + SeriesList []QuarterSeries `json:"seriesList"` // 图形系列 | ||
| 139 | + TableSwitch bool `json:"tableSwitch"` // 是否展示记录型表格 | ||
| 133 | } | 140 | } |
| 134 | 141 | ||
| 135 | type QuarterSeries struct { | 142 | type QuarterSeries struct { |
| 136 | SeriesValue string `json:"seriesValue"` | 143 | SeriesValue string `json:"seriesValue"` |
| 137 | } | 144 | } |
| 138 | 145 | ||
| 146 | +type Divider struct { | ||
| 147 | + SelectedIdx string `json:"selectedIdx,optional,omitempty"` // 选择的分割线样式 | ||
| 148 | + TextSwitch bool `json:"textSwitch,optional,omitempty"` // 是否展示组件文本 | ||
| 149 | + Text string `json:"text"` // 组件文本内容 | ||
| 150 | +} | ||
| 151 | + | ||
| 152 | +type Rank struct { | ||
| 153 | + FirstLine []RankLine `json:"firstLine,optional,omitempty"` // 第一名设置 | ||
| 154 | + SecondLine []RankLine `json:"secondLine,optional,omitempty"` // 第二名设置 | ||
| 155 | + SortBySwitch bool `json:"sortBySwitch,optional,omitempty"` // 排序开关 | ||
| 156 | + SortBySeries string `json:"sortBySeries,optional,omitempty"` // 排序依据 | ||
| 157 | + SortByArrow string `json:"sortByArrow,optional,omitempty"` // 排序方向 1-降序 2-升序 | ||
| 158 | +} | ||
| 159 | + | ||
| 160 | +type RankLine struct { | ||
| 161 | + SeriesValue string `json:"seriesValue"` // 排名图序列值 | ||
| 162 | + LabelSwitch bool `json:"labelSwitch"` // 标签开关 | ||
| 163 | + Label string `json:"label"` // 标签 | ||
| 164 | + ArrowSwitch bool `json:"arrowSwitch"` // 箭头开关 | ||
| 165 | + Unit string `json:"unit"` // 单位 | ||
| 166 | +} | ||
| 167 | + | ||
| 139 | type Title struct { | 168 | type Title struct { |
| 140 | TitleSwitch bool `json:"titleSwitch,optional"` // 组件标题开关 | 169 | TitleSwitch bool `json:"titleSwitch,optional"` // 组件标题开关 |
| 141 | IntroduceSwitch bool `json:"introduceSwitch,optional"` // 组件说明开关 | 170 | IntroduceSwitch bool `json:"introduceSwitch,optional"` // 组件说明开关 |
| @@ -28,23 +28,52 @@ type ChartProperty struct { | @@ -28,23 +28,52 @@ type ChartProperty struct { | ||
| 28 | } | 28 | } |
| 29 | type Other struct { | 29 | type Other struct { |
| 30 | Quarter *Quarter `json:"quarter,optional,omitempty"` // 四分图 | 30 | Quarter *Quarter `json:"quarter,optional,omitempty"` // 四分图 |
| 31 | + Divider *Divider `json:"divider,optional,omitempty"` // 分割线 | ||
| 32 | + Rank *Rank `json:"rank,optional,omitempty"` // 排名图 | ||
| 31 | } | 33 | } |
| 32 | type Quarter struct { | 34 | type Quarter struct { |
| 33 | - XAxisLabel string `json:"xAxisLabel"` // x轴标签名 | ||
| 34 | - XAxisFirstLabel string `json:"xAxisFirstLabel"` // 签名1 | ||
| 35 | - XAxisSecondLabel string `json:"xAxisSecondLabel"` // 签名2 | ||
| 36 | - YAxisLabel string `json:"yAxisLabel"` // y轴标签名 | ||
| 37 | - YAxisFirstLabel string `json:"yAxisFirstLabel"` // y标签1 | ||
| 38 | - YAxisSecondLabel string `json:"yAxisSecondLabel"` // y标签2 | ||
| 39 | - Area string `json:"area"` // 图形面积 | ||
| 40 | - AreaColor bool `json:"areaColor"` // 颜色 | ||
| 41 | - SeriesList []QuarterSeries `json:"seriesList"` // 图形系列 | 35 | + XAxisLabel string `json:"xAxisLabel"` // x轴标签名 |
| 36 | + XAxisFirstLabel string `json:"xAxisFirstLabel"` // 签名1 | ||
| 37 | + XAxisSecondLabel string `json:"xAxisSecondLabel"` // 签名2 | ||
| 38 | + XAxisFirstColor string `json:"xAxisFirstColor,optional,omitempty"` // x轴标签1默认颜色 | ||
| 39 | + XAxisSecondColor string `json:"xAxisSecondColor,optional,omitempty"` // x轴标签2默认颜色 | ||
| 40 | + YAxisLabel string `json:"yAxisLabel"` // y轴标签名 | ||
| 41 | + YAxisFirstLabel string `json:"yAxisFirstLabel"` // y标签1 | ||
| 42 | + YAxisSecondLabel string `json:"yAxisSecondLabel"` // y标签2 | ||
| 43 | + YAxisFirstColor string `json:"yAxisFirstColor,optional,omitempty"` // y轴标签1默认颜色 | ||
| 44 | + YAxisSecondColor string `json:"yAxisSecondColor,optional,omitempty"` // y轴标签2默认颜色 | ||
| 45 | + Area string `json:"area"` // 图形面积 | ||
| 46 | + AreaColor bool `json:"areaColor"` // 颜色 | ||
| 47 | + SeriesList []QuarterSeries `json:"seriesList"` // 图形系列 | ||
| 48 | + TableSwitch bool `json:"tableSwitch"` // 是否展示记录型表格 | ||
| 42 | } | 49 | } |
| 43 | 50 | ||
| 44 | type QuarterSeries struct { | 51 | type QuarterSeries struct { |
| 45 | SeriesValue string `json:"seriesValue"` | 52 | SeriesValue string `json:"seriesValue"` |
| 46 | } | 53 | } |
| 47 | 54 | ||
| 55 | +type Divider struct { | ||
| 56 | + SelectedIdx string `json:"selectedIdx,optional,omitempty"` // 选择的分割线样式 | ||
| 57 | + TextSwitch bool `json:"textSwitch,optional,omitempty"` // 是否展示组件文本 | ||
| 58 | + Text string `json:"text"` // 组件文本内容 | ||
| 59 | +} | ||
| 60 | + | ||
| 61 | +type Rank struct { | ||
| 62 | + FirstLine []RankLine `json:"firstLine,optional,omitempty"` // 第一名设置 | ||
| 63 | + SecondLine []RankLine `json:"secondLine,optional,omitempty"` // 第二名设置 | ||
| 64 | + SortBySwitch bool `json:"sortBySwitch,optional,omitempty"` // 排序开关 | ||
| 65 | + SortBySeries string `json:"sortBySeries,optional,omitempty"` // 排序依据 | ||
| 66 | + SortByArrow string `json:"sortByArrow,optional,omitempty"` // 排序方向 1-降序 2-升序 | ||
| 67 | +} | ||
| 68 | + | ||
| 69 | +type RankLine struct { | ||
| 70 | + SeriesValue string `json:"seriesValue"` // 排名图序列值 | ||
| 71 | + LabelSwitch bool `json:"labelSwitch"` // 标签开关 | ||
| 72 | + Label string `json:"label"` // 标签 | ||
| 73 | + ArrowSwitch bool `json:"arrowSwitch"` // 箭头开关 | ||
| 74 | + Unit string `json:"unit"` // 单位 | ||
| 75 | +} | ||
| 76 | + | ||
| 48 | type Title struct { | 77 | type Title struct { |
| 49 | TitleSwitch bool `json:"titleSwitch,optional"` // 组件标题开关 | 78 | TitleSwitch bool `json:"titleSwitch,optional"` // 组件标题开关 |
| 50 | IntroduceSwitch bool `json:"introduceSwitch,optional"` // 组件说明开关 | 79 | IntroduceSwitch bool `json:"introduceSwitch,optional"` // 组件说明开关 |
| @@ -7,7 +7,7 @@ import ( | @@ -7,7 +7,7 @@ import ( | ||
| 7 | 7 | ||
| 8 | func (gateway *ByteMetadataService) TableDataPreview(ctx context.Context, request *TableDataPreviewRequest) (TablePreviewResponse, error) { | 8 | func (gateway *ByteMetadataService) TableDataPreview(ctx context.Context, request *TableDataPreviewRequest) (TablePreviewResponse, error) { |
| 9 | var result TablePreviewResponse | 9 | var result TablePreviewResponse |
| 10 | - if err := gateway.Do(ctx, "/data/table-preview", http.MethodPost, request, &result); err != nil { | 10 | + if err := gateway.Do(ctx, "/api/tables/table-preview", http.MethodPost, request, &result); err != nil { |
| 11 | return result, err | 11 | return result, err |
| 12 | } | 12 | } |
| 13 | return result, nil | 13 | return result, nil |
| @@ -7,7 +7,7 @@ import ( | @@ -7,7 +7,7 @@ import ( | ||
| 7 | 7 | ||
| 8 | func (gateway *ByteMetadataService) TableFieldOptionalValues(ctx context.Context, request *TableFieldOptionalValuesRequest) (TableFieldOptionalValuesResponse, error) { | 8 | func (gateway *ByteMetadataService) TableFieldOptionalValues(ctx context.Context, request *TableFieldOptionalValuesRequest) (TableFieldOptionalValuesResponse, error) { |
| 9 | var result TableFieldOptionalValuesResponse | 9 | var result TableFieldOptionalValuesResponse |
| 10 | - if err := gateway.Do(ctx, "/data/field-optional-values", http.MethodPost, request, &result); err != nil { | 10 | + if err := gateway.Do(ctx, "/api/tables/field-optional-values", http.MethodPost, request, &result); err != nil { |
| 11 | return result, err | 11 | return result, err |
| 12 | } | 12 | } |
| 13 | return result, nil | 13 | return result, nil |
| @@ -7,7 +7,7 @@ import ( | @@ -7,7 +7,7 @@ import ( | ||
| 7 | 7 | ||
| 8 | func (gateway *ByteMetadataService) TableInfo(ctx context.Context, request *TableInfoRequest) (TableInfoResponse, error) { | 8 | func (gateway *ByteMetadataService) TableInfo(ctx context.Context, request *TableInfoRequest) (TableInfoResponse, error) { |
| 9 | var result TableInfoResponse | 9 | var result TableInfoResponse |
| 10 | - if err := gateway.Do(ctx, "/data/tables/:tableId", http.MethodGet, request, &result); err != nil { | 10 | + if err := gateway.Do(ctx, "/api/tables/tables/:tableId", http.MethodGet, request, &result); err != nil { |
| 11 | return result, err | 11 | return result, err |
| 12 | } | 12 | } |
| 13 | return result, nil | 13 | return result, nil |
| @@ -7,7 +7,7 @@ import ( | @@ -7,7 +7,7 @@ import ( | ||
| 7 | 7 | ||
| 8 | func (gateway *ByteMetadataService) ObjectTableSearch(ctx context.Context, request ObjectTableSearchRequest) (ObjectTableSearchResponse, error) { | 8 | func (gateway *ByteMetadataService) ObjectTableSearch(ctx context.Context, request ObjectTableSearchRequest) (ObjectTableSearchResponse, error) { |
| 9 | result := ObjectTableSearchResponse{} | 9 | result := ObjectTableSearchResponse{} |
| 10 | - if err := gateway.Do(ctx, "/data/table-object-search", http.MethodPost, request, &result); err != nil { | 10 | + if err := gateway.Do(ctx, "/api/tables/table-object-search", http.MethodPost, request, &result); err != nil { |
| 11 | return result, err | 11 | return result, err |
| 12 | } | 12 | } |
| 13 | return result, nil | 13 | return result, nil |
| @@ -157,21 +157,47 @@ type ( | @@ -157,21 +157,47 @@ type ( | ||
| 157 | } | 157 | } |
| 158 | Other { | 158 | Other { |
| 159 | Quarter *Quarter `json:"quarter,optional,omitempty"` // 四分图 | 159 | Quarter *Quarter `json:"quarter,optional,omitempty"` // 四分图 |
| 160 | + Divider *Divider `json:"divider,optional,omitempty"` // 分割线 | ||
| 161 | + Rank *Rank `json:"rank,optional,omitempty"` // 排名图 | ||
| 160 | } | 162 | } |
| 161 | Quarter { | 163 | Quarter { |
| 162 | - XAxisLabel string `json:"xAxisLabel"` // x轴标签名 | ||
| 163 | - XAxisFirstLabel string `json:"xAxisFirstLabel"` // 签名1 | ||
| 164 | - XAxisSecondLabel string `json:"xAxisSecondLabel"` // 签名2 | ||
| 165 | - YAxisLabel string `json:"yAxisLabel"` // y轴标签名 | ||
| 166 | - YAxisFirstLabel string `json:"yAxisFirstLabel"` // y标签1 | ||
| 167 | - YAxisSecondLabel string `json:"yAxisSecondLabel"` // y标签2 | ||
| 168 | - Area string `json:"area"` // 图形面积 | ||
| 169 | - AreaColor bool `json:"areaColor"` // 颜色 | ||
| 170 | - SeriesList []QuarterSeries `json:"seriesList"` // 图形系列 | 164 | + XAxisLabel string `json:"xAxisLabel"` // x轴标签名 |
| 165 | + XAxisFirstLabel string `json:"xAxisFirstLabel"` // 签名1 | ||
| 166 | + XAxisSecondLabel string `json:"xAxisSecondLabel"` // 签名2 | ||
| 167 | + XAxisFirstColor string `json:"xAxisFirstColor,optional,omitempty"` // x轴标签1默认颜色 | ||
| 168 | + XAxisSecondColor string `json:"xAxisSecondColor,optional,omitempty"` // x轴标签2默认颜色 | ||
| 169 | + YAxisLabel string `json:"yAxisLabel"` // y轴标签名 | ||
| 170 | + YAxisFirstLabel string `json:"yAxisFirstLabel"` // y标签1 | ||
| 171 | + YAxisSecondLabel string `json:"yAxisSecondLabel"` // y标签2 | ||
| 172 | + YAxisFirstColor string `json:"yAxisFirstColor,optional,omitempty"` // y轴标签1默认颜色 | ||
| 173 | + YAxisSecondColor string `json:"yAxisSecondColor,optional,omitempty"` // y轴标签2默认颜色 | ||
| 174 | + Area string `json:"area"` // 图形面积 | ||
| 175 | + AreaColor bool `json:"areaColor"` // 颜色 | ||
| 176 | + SeriesList []QuarterSeries `json:"seriesList"` // 图形系列 | ||
| 177 | + TableSwitch bool `json:"tableSwitch"` // 是否展示记录型表格 | ||
| 171 | } | 178 | } |
| 172 | QuarterSeries { | 179 | QuarterSeries { |
| 173 | SeriesValue string `json:"seriesValue"` | 180 | SeriesValue string `json:"seriesValue"` |
| 174 | } | 181 | } |
| 182 | + Divider { | ||
| 183 | + SelectedIdx string `json:"selectedIdx,optional,omitempty"` // 选择的分割线样式 | ||
| 184 | + TextSwitch bool `json:"textSwitch,optional,omitempty"` // 是否展示组件文本 | ||
| 185 | + Text string `json:"text"` // 组件文本内容 | ||
| 186 | + } | ||
| 187 | + Rank { | ||
| 188 | + FirstLine []RankLine `json:"firstLine,optional,omitempty"` // 第一名设置 | ||
| 189 | + SecondLine []RankLine `json:"secondLine,optional,omitempty"` // 第二名设置 | ||
| 190 | + SortBySwitch bool `json:"sortBySwitch,optional,omitempty"` // 排序开关 | ||
| 191 | + SortBySeries string `json:"sortBySeries,optional,omitempty"` // 排序依据 | ||
| 192 | + SortByArrow string `json:"sortByArrow,optional,omitempty"` // 排序方向 1-降序 2-升序 | ||
| 193 | + } | ||
| 194 | + RankLine { | ||
| 195 | + SeriesValue string `json:"seriesValue"` // 排名图序列值 | ||
| 196 | + LabelSwitch bool `json:"labelSwitch"` // 标签开关 | ||
| 197 | + Label string `json:"label"` // 标签 | ||
| 198 | + ArrowSwitch bool `json:"arrowSwitch"` // 箭头开关 | ||
| 199 | + Unit string `json:"unit"` // 单位 | ||
| 200 | + } | ||
| 175 | Title { | 201 | Title { |
| 176 | TitleSwitch bool `json:"titleSwitch,optional"` // 组件标题开关 | 202 | TitleSwitch bool `json:"titleSwitch,optional"` // 组件标题开关 |
| 177 | IntroduceSwitch bool `json:"introduceSwitch,optional"` // 组件说明开关 | 203 | IntroduceSwitch bool `json:"introduceSwitch,optional"` // 组件说明开关 |
-
请 注册 或 登录 后发表评论