合并分支 'dev' 到 'master'
Dev 查看合并请求 !1
正在显示
13 个修改的文件
包含
91 行增加
和
50 行删除
@@ -3,11 +3,13 @@ Host: 0.0.0.0 | @@ -3,11 +3,13 @@ Host: 0.0.0.0 | ||
3 | Port: 8080 | 3 | Port: 8080 |
4 | Verbose: true | 4 | Verbose: true |
5 | HostName: http://sumifcc-bchart-dev.sumifcc.com | 5 | HostName: http://sumifcc-bchart-dev.sumifcc.com |
6 | +Timeout: 30000 | ||
6 | 7 | ||
7 | Log: | 8 | Log: |
8 | Mode: file | 9 | Mode: file |
9 | Encoding: plain | 10 | Encoding: plain |
10 | Level: debug # info | 11 | Level: debug # info |
12 | + MaxContentLength: 5120 # 5KB | ||
11 | 13 | ||
12 | JwtAuth: | 14 | JwtAuth: |
13 | AccessSecret: digital-platform | 15 | AccessSecret: digital-platform |
@@ -3,6 +3,7 @@ Host: 0.0.0.0 | @@ -3,6 +3,7 @@ Host: 0.0.0.0 | ||
3 | Port: 8081 | 3 | Port: 8081 |
4 | Verbose: true | 4 | Verbose: true |
5 | HostName: http://sumifcc-bchart-dev.sumifcc.com | 5 | HostName: http://sumifcc-bchart-dev.sumifcc.com |
6 | +Timeout: 30000 | ||
6 | 7 | ||
7 | Log: | 8 | Log: |
8 | #Mode: file | 9 | #Mode: file |
@@ -10,6 +11,7 @@ Log: | @@ -10,6 +11,7 @@ Log: | ||
10 | Level: debug # info | 11 | Level: debug # info |
11 | MaxSize: 1 # 2MB | 12 | MaxSize: 1 # 2MB |
12 | TimeFormat: 2006-01-02 15:04:05.000 | 13 | TimeFormat: 2006-01-02 15:04:05.000 |
14 | + MaxContentLength: 5120 # 5KB | ||
13 | 15 | ||
14 | JwtAuth: | 16 | JwtAuth: |
15 | AccessSecret: digital-platform | 17 | AccessSecret: digital-platform |
@@ -32,7 +32,7 @@ func (l *SearchTableByModuleLogic) SearchTableByModule(req *types.SearchTableByM | @@ -32,7 +32,7 @@ func (l *SearchTableByModuleLogic) SearchTableByModule(req *types.SearchTableByM | ||
32 | list, err := l.svcCtx.ByteMetadataService.ObjectTableSearch(l.ctx, bytelib.ObjectTableSearchRequest{ | 32 | list, err := l.svcCtx.ByteMetadataService.ObjectTableSearch(l.ctx, bytelib.ObjectTableSearchRequest{ |
33 | Token: req.Token, | 33 | Token: req.Token, |
34 | TableTypes: []string{bytelib.MainTable, bytelib.SubTable, bytelib.SideTable}, | 34 | TableTypes: []string{bytelib.MainTable, bytelib.SubTable, bytelib.SideTable}, |
35 | - Module: bytelib.ModuleDigitalCenter, | 35 | + Module: bytelib.ModuleChartTemplate, |
36 | }) | 36 | }) |
37 | if err != nil { | 37 | if err != nil { |
38 | batchError.Add(err) | 38 | batchError.Add(err) |
@@ -52,7 +52,7 @@ func (l *SearchTableByModuleLogic) SearchTableByModule(req *types.SearchTableByM | @@ -52,7 +52,7 @@ func (l *SearchTableByModuleLogic) SearchTableByModule(req *types.SearchTableByM | ||
52 | }, func() { | 52 | }, func() { |
53 | list, err := l.svcCtx.ByteMetadataService.ObjectTableSearch(l.ctx, bytelib.ObjectTableSearchRequest{ | 53 | list, err := l.svcCtx.ByteMetadataService.ObjectTableSearch(l.ctx, bytelib.ObjectTableSearchRequest{ |
54 | Token: req.Token, | 54 | Token: req.Token, |
55 | - TableTypes: []string{bytelib.CalculateItem, bytelib.CalculateSet}, | 55 | + TableTypes: []string{bytelib.CalculateItem}, |
56 | Module: bytelib.ModuleCalculateCenter, | 56 | Module: bytelib.ModuleCalculateCenter, |
57 | ReturnGroupItem: true, | 57 | ReturnGroupItem: true, |
58 | ExcludeTables: []int{0}, | 58 | ExcludeTables: []int{0}, |
@@ -60,7 +60,19 @@ func (l *SearchTableByModuleLogic) SearchTableByModule(req *types.SearchTableByM | @@ -60,7 +60,19 @@ func (l *SearchTableByModuleLogic) SearchTableByModule(req *types.SearchTableByM | ||
60 | if err != nil { | 60 | if err != nil { |
61 | batchError.Add(err) | 61 | batchError.Add(err) |
62 | } | 62 | } |
63 | - result["计算模块"] = newList(list) | 63 | + result["计算项"] = newList(list) |
64 | + }, func() { | ||
65 | + list, err := l.svcCtx.ByteMetadataService.ObjectTableSearch(l.ctx, bytelib.ObjectTableSearchRequest{ | ||
66 | + Token: req.Token, | ||
67 | + TableTypes: []string{bytelib.CalculateSet}, | ||
68 | + Module: bytelib.ModuleCalculateCenter, | ||
69 | + ReturnGroupItem: true, | ||
70 | + ExcludeTables: []int{0}, | ||
71 | + }) | ||
72 | + if err != nil { | ||
73 | + batchError.Add(err) | ||
74 | + } | ||
75 | + result["计算集"] = newList(list) | ||
64 | }) | 76 | }) |
65 | if err = batchError.Err(); err != nil { | 77 | if err = batchError.Err(); err != nil { |
66 | logx.Error(err) | 78 | logx.Error(err) |
@@ -42,6 +42,7 @@ func NewAppPageItem(appPage *domain.AppPage, charts []*domain.Chart) AppPageItem | @@ -42,6 +42,7 @@ func NewAppPageItem(appPage *domain.AppPage, charts []*domain.Chart) AppPageItem | ||
42 | Id: appPage.Id, | 42 | Id: appPage.Id, |
43 | Name: appPage.Name, | 43 | Name: appPage.Name, |
44 | Cover: appPage.Cover, | 44 | Cover: appPage.Cover, |
45 | + UpdatedAt: appPage.UpdatedAt, | ||
45 | } | 46 | } |
46 | for _, id := range appPage.Charts { | 47 | for _, id := range appPage.Charts { |
47 | if v, ok := chartsMap[id]; ok { | 48 | if v, ok := chartsMap[id]; ok { |
@@ -82,6 +82,7 @@ type ChartItem struct { | @@ -82,6 +82,7 @@ type ChartItem struct { | ||
82 | Name string `json:"name,optional"` // 名称 | 82 | Name string `json:"name,optional"` // 名称 |
83 | Cover string `json:"cover,optional"` // 封面 | 83 | Cover string `json:"cover,optional"` // 封面 |
84 | ChartType string `json:"chartType,optional"` // 图表类型 | 84 | ChartType string `json:"chartType,optional"` // 图表类型 |
85 | + UpdatedAt int `json:"updatedAt,optional"` // 更新时间 | ||
85 | ChartProperty *ChartProperty `json:"property,optional,omitempty"` //属性 | 86 | ChartProperty *ChartProperty `json:"property,optional,omitempty"` //属性 |
86 | } | 87 | } |
87 | 88 | ||
@@ -153,6 +154,13 @@ type Title struct { | @@ -153,6 +154,13 @@ type Title struct { | ||
153 | type TableAbility struct { | 154 | type TableAbility struct { |
154 | FilterSwitch bool `json:"filterSwitch,optional"` // 表筛选功能开关 | 155 | FilterSwitch bool `json:"filterSwitch,optional"` // 表筛选功能开关 |
155 | DimensionList []Dimension `json:"dimensionList,optional"` // 维度列表 | 156 | DimensionList []Dimension `json:"dimensionList,optional"` // 维度列表 |
157 | + CardSwitch bool `json:"cardSwitch,optional"` // 顺序标识开关 | ||
158 | + CardIdent string `json:"cardIdent,optional"` // 顺序标识 | ||
159 | + CardOrderList []CardOrderItem `json:"cardOrderList,optional"` // 卡片列表顺序 | ||
160 | +} | ||
161 | + | ||
162 | +type CardOrderItem struct { | ||
163 | + CardId string `json:"cardId,optional"` | ||
156 | } | 164 | } |
157 | 165 | ||
158 | type Series struct { | 166 | type Series struct { |
@@ -291,6 +299,7 @@ type AppPageItem struct { | @@ -291,6 +299,7 @@ type AppPageItem struct { | ||
291 | Name string `json:"name,optional"` // 名称 | 299 | Name string `json:"name,optional"` // 名称 |
292 | Cover string `json:"cover,optional"` // 封面 | 300 | Cover string `json:"cover,optional"` // 封面 |
293 | Charts []AppPageChartItem `json:"charts,optional"` // 图表 | 301 | Charts []AppPageChartItem `json:"charts,optional"` // 图表 |
302 | + UpdatedAt int64 `json:"updatedAt,optional"` //更新时间 | ||
294 | } | 303 | } |
295 | 304 | ||
296 | type AppPageChartItem struct { | 305 | type AppPageChartItem struct { |
@@ -162,7 +162,7 @@ func (repository *AppPageRepository) Find(ctx context.Context, conn transaction. | @@ -162,7 +162,7 @@ func (repository *AppPageRepository) Find(ctx context.Context, conn transaction. | ||
162 | total int64 | 162 | total int64 |
163 | ) | 163 | ) |
164 | queryFunc := func() (interface{}, error) { | 164 | queryFunc := func() (interface{}, error) { |
165 | - tx = tx.Model(&ms).Order("id desc") | 165 | + tx = tx.Model(&ms).Order("updated_at desc") |
166 | if v, ok := queryOptions["tenantId"]; ok { | 166 | if v, ok := queryOptions["tenantId"]; ok { |
167 | tx.Where("tenant_id = ?", v) | 167 | tx.Where("tenant_id = ?", v) |
168 | } | 168 | } |
@@ -119,7 +119,7 @@ func (repository *ChartRepository) Find(ctx context.Context, conn transaction.Co | @@ -119,7 +119,7 @@ func (repository *ChartRepository) Find(ctx context.Context, conn transaction.Co | ||
119 | total int64 | 119 | total int64 |
120 | ) | 120 | ) |
121 | queryFunc := func() (interface{}, error) { | 121 | queryFunc := func() (interface{}, error) { |
122 | - tx = tx.Model(&ms).Order("id desc") //.Order("pid asc").Order("sort asc") | 122 | + tx = tx.Model(&ms).Order("updated_at desc") //.Order("pid asc").Order("sort asc") |
123 | if v, ok := queryOptions["ids"]; ok { | 123 | if v, ok := queryOptions["ids"]; ok { |
124 | tx.Where("id in (?)", v) | 124 | tx.Where("id in (?)", v) |
125 | } | 125 | } |
@@ -63,6 +63,13 @@ type Title struct { | @@ -63,6 +63,13 @@ type Title struct { | ||
63 | type TableAbility struct { | 63 | type TableAbility struct { |
64 | FilterSwitch bool `json:"filterSwitch,optional"` // 表筛选功能开关 | 64 | FilterSwitch bool `json:"filterSwitch,optional"` // 表筛选功能开关 |
65 | DimensionList []Dimension `json:"dimensionList,optional"` // 维度列表 | 65 | DimensionList []Dimension `json:"dimensionList,optional"` // 维度列表 |
66 | + CardSwitch bool `json:"cardSwitch,optional"` // 顺序标识开关 | ||
67 | + CardIdent string `json:"cardIdent,optional"` // 顺序标识 | ||
68 | + CardOrderList []CardOrderItem `json:"cardOrderList,optional"` // 卡片列表顺序 | ||
69 | +} | ||
70 | + | ||
71 | +type CardOrderItem struct { | ||
72 | + CardId string `json:"cardId,optional"` | ||
66 | } | 73 | } |
67 | 74 | ||
68 | type Series struct { | 75 | type Series struct { |
@@ -75,7 +75,7 @@ type TableData struct { | @@ -75,7 +75,7 @@ type TableData struct { | ||
75 | //数据 | 75 | //数据 |
76 | Grid *TableDataGrid `json:"grid,optional"` | 76 | Grid *TableDataGrid `json:"grid,optional"` |
77 | //字段 | 77 | //字段 |
78 | - Fields []*Field `json:"fields"` | 78 | + Fields []*Field `json:"fields,optional"` |
79 | } | 79 | } |
80 | 80 | ||
81 | type TableDataGrid struct { | 81 | type TableDataGrid struct { |
@@ -12,10 +12,11 @@ var ( | @@ -12,10 +12,11 @@ var ( | ||
12 | ) | 12 | ) |
13 | 13 | ||
14 | const ( | 14 | const ( |
15 | - ModuleAll = ModuleDigitalCenter | ModuleQuerySetCenter | ModuleCalculateCenter | 15 | + ModuleAll = ModuleDigitalCenter | ModuleQuerySetCenter | ModuleCalculateCenter | ModuleChartTemplate |
16 | ModuleDigitalCenter = 1 | 16 | ModuleDigitalCenter = 1 |
17 | ModuleQuerySetCenter = 2 | 17 | ModuleQuerySetCenter = 2 |
18 | ModuleCalculateCenter = 4 | 18 | ModuleCalculateCenter = 4 |
19 | + ModuleChartTemplate = 8 | ||
19 | ) | 20 | ) |
20 | 21 | ||
21 | const ( | 22 | const ( |
@@ -94,6 +94,7 @@ type ( | @@ -94,6 +94,7 @@ type ( | ||
94 | Name string `json:"name,optional"` // 名称 | 94 | Name string `json:"name,optional"` // 名称 |
95 | Cover string `json:"cover,optional"` // 封面 | 95 | Cover string `json:"cover,optional"` // 封面 |
96 | Charts []AppPageChartItem `json:"charts,optional"`// 图表 | 96 | Charts []AppPageChartItem `json:"charts,optional"`// 图表 |
97 | + UpdatedAt int64 `json:"updatedAt,optional"` //更新时间 | ||
97 | } | 98 | } |
98 | AppPageChartItem struct{ | 99 | AppPageChartItem struct{ |
99 | ChartId int64 `json:"chartId"` // 图表ID | 100 | ChartId int64 `json:"chartId"` // 图表ID |
1 | - | ||
2 | syntax = "v1" | 1 | syntax = "v1" |
3 | 2 | ||
4 | info( | 3 | info( |
@@ -60,106 +59,106 @@ type ( | @@ -60,106 +59,106 @@ type ( | ||
60 | ChartGetRequest { | 59 | ChartGetRequest { |
61 | Id int64 `path:"id"` | 60 | Id int64 `path:"id"` |
62 | } | 61 | } |
63 | - ChartGetResponse struct{ | 62 | + ChartGetResponse { |
64 | Chart ChartItem `json:"chart"` | 63 | Chart ChartItem `json:"chart"` |
65 | } | 64 | } |
66 | 65 | ||
67 | - ChartSaveRequest struct{ | ||
68 | - Pid int64 `json:"pid,optional"`// 父级ID | ||
69 | - Type string `json:"type"`// 类型 report:报表 group:分组 chart:图表 | ||
70 | - Name string `json:"name,optional"`// 名称 | 66 | + ChartSaveRequest { |
67 | + Pid int64 `json:"pid,optional"` // 父级ID | ||
68 | + Type string `json:"type"` // 类型 report:报表 group:分组 chart:图表 | ||
69 | + Name string `json:"name,optional"` // 名称 | ||
71 | ChartType string `json:"chartType"` // 图表类型 | 70 | ChartType string `json:"chartType"` // 图表类型 |
72 | Cover string `json:"cover,optional"` // 封面 | 71 | Cover string `json:"cover,optional"` // 封面 |
73 | ChartProperty ChartProperty `json:"property"` // 图表属性 | 72 | ChartProperty ChartProperty `json:"property"` // 图表属性 |
74 | } | 73 | } |
75 | - ChartSaveResponse struct{ | 74 | + ChartSaveResponse { |
76 | Chart ChartItem `json:"chart"` | 75 | Chart ChartItem `json:"chart"` |
77 | } | 76 | } |
78 | 77 | ||
79 | - ChartSaveAsRequest struct{ | 78 | + ChartSaveAsRequest { |
80 | ChartId int64 `json:"chartId"` // 图表Id | 79 | ChartId int64 `json:"chartId"` // 图表Id |
81 | - Name string `json:"name"`// 名称 | 80 | + Name string `json:"name"` // 名称 |
82 | } | 81 | } |
83 | - ChartSaveAsResponse struct{ | 82 | + ChartSaveAsResponse { |
84 | Chart ChartItem `json:"chart"` | 83 | Chart ChartItem `json:"chart"` |
85 | } | 84 | } |
86 | 85 | ||
87 | - ChartDeleteRequest struct{ | 86 | + ChartDeleteRequest { |
88 | Id int64 `path:"id"` | 87 | Id int64 `path:"id"` |
89 | } | 88 | } |
90 | ChartDeleteResponse struct{} | 89 | ChartDeleteResponse struct{} |
91 | 90 | ||
92 | - ChartUpdateRequest struct{ | 91 | + ChartUpdateRequest { |
93 | Id int64 `path:"id"` | 92 | Id int64 `path:"id"` |
94 | Cover string `json:"cover,optional"` // 封面 | 93 | Cover string `json:"cover,optional"` // 封面 |
95 | ChartProperty ChartProperty `json:"property"` // 图表属性 | 94 | ChartProperty ChartProperty `json:"property"` // 图表属性 |
96 | } | 95 | } |
97 | ChartUpdateResponse struct{} | 96 | ChartUpdateResponse struct{} |
98 | 97 | ||
99 | - ChartSearchRequest struct { | 98 | + ChartSearchRequest { |
100 | IncludeTypes []string `json:"includeTypes,optional"` //包含的类型: 类型 report:报表 group:分组 chart:图表(未指定返回所有) | 99 | IncludeTypes []string `json:"includeTypes,optional"` //包含的类型: 类型 report:报表 group:分组 chart:图表(未指定返回所有) |
101 | DataStyle string `json:"dataStyle,optional"` // 数据样式 tree:树形 flat:平铺 | 100 | DataStyle string `json:"dataStyle,optional"` // 数据样式 tree:树形 flat:平铺 |
102 | } | 101 | } |
103 | - ChartSearchResponse{ | 102 | + ChartSearchResponse { |
104 | List []ChartItem `json:"list"` | 103 | List []ChartItem `json:"list"` |
105 | Total int64 `json:"total"` | 104 | Total int64 `json:"total"` |
106 | } | 105 | } |
107 | - ChartUpdateSortRequest struct{ | 106 | + ChartUpdateSortRequest { |
108 | Id int64 `json:"id"` | 107 | Id int64 `json:"id"` |
109 | Pid int64 `json:"pid"` | 108 | Pid int64 `json:"pid"` |
110 | Index int `json:"index"` // 元素下标 | 109 | Index int `json:"index"` // 元素下标 |
111 | } | 110 | } |
112 | ChartUpdateSortResponse struct{} | 111 | ChartUpdateSortResponse struct{} |
113 | - ChartRenameRequest struct{ | 112 | + ChartRenameRequest { |
114 | Id int64 `json:"id"` | 113 | Id int64 `json:"id"` |
115 | - Name string `json:"name"`// 名称 | 114 | + Name string `json:"name"` // 名称 |
116 | } | 115 | } |
117 | ChartRenameResponse struct{} | 116 | ChartRenameResponse struct{} |
118 | - ChartItem struct{ | ||
119 | - Id int64 `json:"id,optional"`// ID | ||
120 | - Pid int64 `json:"pid,optional"`// 父级ID | ||
121 | - Type string `json:"type,optional"`// 类型 report:报表 group:分组 chart:图表 | ||
122 | - Sort int64 `json:"sort,optional"`// 排序 | ||
123 | - Name string `json:"name,optional"`// 名称 | 117 | + ChartItem { |
118 | + Id int64 `json:"id,optional"` // ID | ||
119 | + Pid int64 `json:"pid,optional"` // 父级ID | ||
120 | + Type string `json:"type,optional"` // 类型 report:报表 group:分组 chart:图表 | ||
121 | + Sort int64 `json:"sort,optional"` // 排序 | ||
122 | + Name string `json:"name,optional"` // 名称 | ||
124 | Cover string `json:"cover,optional"` // 封面 | 123 | Cover string `json:"cover,optional"` // 封面 |
125 | ChartType string `json:"chartType,optional"` // 图表类型 | 124 | ChartType string `json:"chartType,optional"` // 图表类型 |
125 | + UpdatedAt int `json:"updatedAt,optional"` // 更新时间 | ||
126 | ChartProperty *ChartProperty `json:"property,optional,omitempty"` //属性 | 126 | ChartProperty *ChartProperty `json:"property,optional,omitempty"` //属性 |
127 | } | 127 | } |
128 | - LoadChartDataRequest struct{ | 128 | + LoadChartDataRequest { |
129 | ChartId int64 `json:"chartId"` | 129 | ChartId int64 `json:"chartId"` |
130 | } | 130 | } |
131 | - LoadChartDataResponse struct{ | ||
132 | - | 131 | + LoadChartDataResponse { |
133 | } | 132 | } |
134 | ) | 133 | ) |
135 | 134 | ||
136 | -type( | ||
137 | - ChartComponentSearchRequest{ | 135 | +type ( |
136 | + ChartComponentSearchRequest { | ||
138 | Name string `json:"name,optional"` | 137 | Name string `json:"name,optional"` |
139 | } | 138 | } |
140 | - ChartComponentSearchResponse{ | 139 | + ChartComponentSearchResponse { |
141 | List []ChartComponentItem `json:"list"` | 140 | List []ChartComponentItem `json:"list"` |
142 | Total int64 `json:"total"` | 141 | Total int64 `json:"total"` |
143 | } | 142 | } |
144 | - ChartComponentItem struct{ | ||
145 | - Name string `json:"name,optional"`// 名称 | ||
146 | - Code string `json:"code,optional"`// 编码 | 143 | + ChartComponentItem { |
144 | + Name string `json:"name,optional"` // 名称 | ||
145 | + Code string `json:"code,optional"` // 编码 | ||
147 | Cover string `json:"cover,optional"` // 封面 | 146 | Cover string `json:"cover,optional"` // 封面 |
148 | - Desc string `json:"desc,optional"`// 描述 | 147 | + Desc string `json:"desc,optional"` // 描述 |
149 | } | 148 | } |
150 | ) | 149 | ) |
151 | 150 | ||
152 | -type( | ||
153 | - ChartProperty struct { | 151 | +type ( |
152 | + ChartProperty { | ||
154 | Title Title `json:"title,optional"` // 标题 | 153 | Title Title `json:"title,optional"` // 标题 |
155 | TableAbility TableAbility `json:"table,optional"` // 表筛选功能 | 154 | TableAbility TableAbility `json:"table,optional"` // 表筛选功能 |
156 | Series []Series `json:"series,optional"` // 系列(数据源) | 155 | Series []Series `json:"series,optional"` // 系列(数据源) |
157 | Other Other `json:"other,optional"` // 其他额外配置 | 156 | Other Other `json:"other,optional"` // 其他额外配置 |
158 | } | 157 | } |
159 | - Other struct { | 158 | + Other { |
160 | Quarter *Quarter `json:"quarter,optional,omitempty"` // 四分图 | 159 | Quarter *Quarter `json:"quarter,optional,omitempty"` // 四分图 |
161 | } | 160 | } |
162 | - Quarter struct { | 161 | + Quarter { |
163 | XAxisLabel string `json:"xAxisLabel"` // x轴标签名 | 162 | XAxisLabel string `json:"xAxisLabel"` // x轴标签名 |
164 | XAxisFirstLabel string `json:"xAxisFirstLabel"` // 签名1 | 163 | XAxisFirstLabel string `json:"xAxisFirstLabel"` // 签名1 |
165 | XAxisSecondLabel string `json:"xAxisSecondLabel"` // 签名2 | 164 | XAxisSecondLabel string `json:"xAxisSecondLabel"` // 签名2 |
@@ -170,10 +169,10 @@ type( | @@ -170,10 +169,10 @@ type( | ||
170 | AreaColor bool `json:"areaColor"` // 颜色 | 169 | AreaColor bool `json:"areaColor"` // 颜色 |
171 | SeriesList []QuarterSeries `json:"seriesList"` // 图形系列 | 170 | SeriesList []QuarterSeries `json:"seriesList"` // 图形系列 |
172 | } | 171 | } |
173 | - QuarterSeries struct { | 172 | + QuarterSeries { |
174 | SeriesValue string `json:"seriesValue"` | 173 | SeriesValue string `json:"seriesValue"` |
175 | } | 174 | } |
176 | - Title struct { | 175 | + Title { |
177 | TitleSwitch bool `json:"titleSwitch,optional"` // 组件标题开关 | 176 | TitleSwitch bool `json:"titleSwitch,optional"` // 组件标题开关 |
178 | IntroduceSwitch bool `json:"introduceSwitch,optional"` // 组件说明开关 | 177 | IntroduceSwitch bool `json:"introduceSwitch,optional"` // 组件说明开关 |
179 | TitleType string `json:"titleType"` // 标题类型 | 178 | TitleType string `json:"titleType"` // 标题类型 |
@@ -187,11 +186,17 @@ type( | @@ -187,11 +186,17 @@ type( | ||
187 | HeadingAlign string `json:"headingAlign,optional"` // 主标题 文本对齐方式 left center right | 186 | HeadingAlign string `json:"headingAlign,optional"` // 主标题 文本对齐方式 left center right |
188 | SubAlign string `json:"subAlign,optional"` // 副标题 文本对齐方式 left center right | 187 | SubAlign string `json:"subAlign,optional"` // 副标题 文本对齐方式 left center right |
189 | } | 188 | } |
190 | - TableAbility struct { | 189 | + TableAbility { |
191 | FilterSwitch bool `json:"filterSwitch,optional"` // 表筛选功能开关 | 190 | FilterSwitch bool `json:"filterSwitch,optional"` // 表筛选功能开关 |
192 | DimensionList []Dimension `json:"dimensionList,optional"` // 维度列表 | 191 | DimensionList []Dimension `json:"dimensionList,optional"` // 维度列表 |
192 | + CardSwitch bool `json:"cardSwitch,optional"` // 顺序标识开关 | ||
193 | + CardIdent string `json:"cardIdent,optional"` // 顺序标识 | ||
194 | + CardOrderList []CardOrderItem `json:"cardOrderList,optional"` // 卡片列表顺序 | ||
195 | + } | ||
196 | + CardOrderItem { | ||
197 | + CardId string `json:"cardId,optional"` | ||
193 | } | 198 | } |
194 | - Series struct {// 图表类型 (记录型表格:RecordTable-1 总体指标:MetricsCard-1 容器卡片:ContainerCard-1 四分图:QuarterChart-1) | 199 | + Series { // 图表类型 (记录型表格:RecordTable-1 总体指标:MetricsCard-1 容器卡片:ContainerCard-1 四分图:QuarterChart-1) |
195 | Name string `json:"name"` // 名称 (例如 指标1、指标2) | 200 | Name string `json:"name"` // 名称 (例如 指标1、指标2) |
196 | SourceFrom string `json:"from,options=[ByteBank,User]"` // 数据源类型 ByteBank:字库 User:用户自定义 | 201 | SourceFrom string `json:"from,options=[ByteBank,User]"` // 数据源类型 ByteBank:字库 User:用户自定义 |
197 | DataSourceId int64 `json:"dataSourceId,optional,omitempty"` // 数据源ID(from值为ByteBank时有值) | 202 | DataSourceId int64 `json:"dataSourceId,optional,omitempty"` // 数据源ID(from值为ByteBank时有值) |
@@ -201,12 +206,12 @@ type( | @@ -201,12 +206,12 @@ type( | ||
201 | TargetNum string `json:"targetNum,optional,omitempty"` // 指标数值 | 206 | TargetNum string `json:"targetNum,optional,omitempty"` // 指标数值 |
202 | TargetUnit string `json:"targetUnit,optional,omitempty"` // 指标单位 | 207 | TargetUnit string `json:"targetUnit,optional,omitempty"` // 指标单位 |
203 | } | 208 | } |
204 | - Expression struct { | 209 | + Expression { |
205 | Operator string `json:"operator"` // 操作符号 <,>,==,<>,<=,>= | 210 | Operator string `json:"operator"` // 操作符号 <,>,==,<>,<=,>= |
206 | CompareValue string `json:"compareValue"` // 比较值 | 211 | CompareValue string `json:"compareValue"` // 比较值 |
207 | ToValue string `json:"toValue"` // 显示值(转为) | 212 | ToValue string `json:"toValue"` // 显示值(转为) |
208 | } | 213 | } |
209 | - Dimension struct{ | 214 | + Dimension { |
210 | Name string `json:"name,optional,omitempty"` | 215 | Name string `json:"name,optional,omitempty"` |
211 | Value string `json:"dimensionVal,optional"` | 216 | Value string `json:"dimensionVal,optional"` |
212 | } | 217 | } |
-
请 注册 或 登录 后发表评论