diff --git a/backend/src/main/java/io/dataease/dto/chart/ChartCustomFilterItemDTO.java b/backend/src/main/java/io/dataease/dto/chart/ChartCustomFilterItemDTO.java new file mode 100644 index 0000000000..092fcb3f29 --- /dev/null +++ b/backend/src/main/java/io/dataease/dto/chart/ChartCustomFilterItemDTO.java @@ -0,0 +1,18 @@ +package io.dataease.dto.chart; + +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + +/** + * @Author gin + * @Date 2021/7/20 11:34 上午 + */ +@Getter +@Setter +public class ChartCustomFilterItemDTO implements Serializable { + private String fieldId; + private String term; + private String value; +} diff --git a/backend/src/main/java/io/dataease/dto/chart/ChartFieldCustomFilterDTO.java b/backend/src/main/java/io/dataease/dto/chart/ChartFieldCustomFilterDTO.java new file mode 100644 index 0000000000..380ec0d4f2 --- /dev/null +++ b/backend/src/main/java/io/dataease/dto/chart/ChartFieldCustomFilterDTO.java @@ -0,0 +1,18 @@ +package io.dataease.dto.chart; + +import io.dataease.base.domain.DatasetTableField; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.util.List; + +/** + * @Author gin + * @Date 2021/7/20 11:43 上午 + */ +@Getter +@Setter +public class ChartFieldCustomFilterDTO implements Serializable { + private List filter; +} diff --git a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java index b816b40ef7..70149f7560 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -134,24 +134,31 @@ public class ChartViewService { }.getType()); List yAxis = new Gson().fromJson(view.getYAxis(), new TypeToken>() { }.getType()); - List customFilter = new Gson().fromJson(view.getCustomFilter(), new TypeToken>() { + List fieldCustomFilter = new Gson().fromJson(view.getCustomFilter(), new TypeToken>() { }.getType()); - customFilter.forEach(ele -> ele.setField(dataSetTableFieldsService.get(ele.getFieldId()))); + List customFilter = fieldCustomFilter.stream().map(ele -> { + ChartCustomFilterDTO dto = new ChartCustomFilterDTO(); + ele.getFilter().forEach(f -> { + BeanUtils.copyBean(dto, f); + dto.setField(dataSetTableFieldsService.get(f.getFieldId())); + }); + return dto; + }).collect(Collectors.toList()); - if (StringUtils.equalsIgnoreCase("text", view.getType()) || StringUtils.equalsIgnoreCase("gauge", view.getType())) { - xAxis = new ArrayList<>(); - if (CollectionUtils.isEmpty(yAxis)) { - ChartViewDTO dto = new ChartViewDTO(); - BeanUtils.copyBean(dto, view); - return dto; - } - } else { - if (CollectionUtils.isEmpty(xAxis) || CollectionUtils.isEmpty(yAxis)) { - ChartViewDTO dto = new ChartViewDTO(); - BeanUtils.copyBean(dto, view); - return dto; - } - } +// if (StringUtils.equalsIgnoreCase("text", view.getType()) || StringUtils.equalsIgnoreCase("gauge", view.getType())) { +// xAxis = new ArrayList<>(); +// if (CollectionUtils.isEmpty(yAxis)) { +// ChartViewDTO dto = new ChartViewDTO(); +// BeanUtils.copyBean(dto, view); +// return dto; +// } +// } else { +// if (CollectionUtils.isEmpty(xAxis) || CollectionUtils.isEmpty(yAxis)) { +// ChartViewDTO dto = new ChartViewDTO(); +// BeanUtils.copyBean(dto, view); +// return dto; +// } +// } // 过滤来自仪表板的条件 List extFilterList = new ArrayList<>(); diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index 145e3dc5e2..48f7ba3b24 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -598,7 +598,7 @@ export default { chart_type: 'Chart Type', shape_attr: 'Attribute', module_style: 'Style', - result_filter: 'Results Filter', + result_filter: 'Filters', x_axis: 'Horizontal axis', y_axis: 'Longitudinal axis', chart: 'Chart', @@ -806,7 +806,18 @@ export default { color_fast: 'Fast', color_spiritual: 'Spiritual', chart_data: 'Data', - chart_style: 'Style' + chart_style: 'Style', + drag_block_type_axis: 'Type Axis', + drag_block_value_axis: 'Value Axis', + drag_block_table_data_column: 'Data Column', + drag_block_pie_angel: 'Sector Angle', + drag_block_pie_label: 'Sector Label', + drag_block_gauge_angel: 'Pointer Angle', + drag_block_label_value: 'Value', + drag_block_funnel_width: 'Funnel Width', + drag_block_funnel_split: 'Funnel Split', + drag_block_radar_length: 'Branch Length', + drag_block_radar_label: 'Branch Label' }, dataset: { sheet_warn: 'There are multiple sheet pages, and the first one is extracted by default', diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index 61e56996ca..10415d2bf6 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -598,7 +598,7 @@ export default { chart_type: '圖表類型', shape_attr: '圖形屬性', module_style: '組件樣式', - result_filter: '結果過濾器', + result_filter: '過濾器', x_axis: '橫軸', y_axis: '縱軸', chart: '視圖', @@ -806,7 +806,18 @@ export default { chart_details: '视图明细', export_details: '导出明细', chart_data: '數據', - chart_style: '樣式' + chart_style: '樣式', + drag_block_type_axis: '類別軸', + drag_block_value_axis: '值軸', + drag_block_table_data_column: '數據列', + drag_block_pie_angel: '扇區角度', + drag_block_pie_label: '扇區標簽', + drag_block_gauge_angel: '指針角度', + drag_block_label_value: '值', + drag_block_funnel_width: '漏鬥層寬', + drag_block_funnel_split: '漏鬥分層', + drag_block_radar_length: '分支長度', + drag_block_radar_label: '分支標簽' }, dataset: { sheet_warn: '有多個sheet頁面,默認抽取第一個', diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index ac6646de9a..3c8da35366 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -598,7 +598,7 @@ export default { chart_type: '图表类型', shape_attr: '图形属性', module_style: '组件样式', - result_filter: '结果过滤器', + result_filter: '过滤器', x_axis: '横轴', y_axis: '纵轴', chart: '视图', @@ -806,7 +806,18 @@ export default { chart_details: '视图明细', export_details: '导出明细', chart_data: '数据', - chart_style: '样式' + chart_style: '样式', + drag_block_type_axis: '类别轴', + drag_block_value_axis: '值轴', + drag_block_table_data_column: '数据列', + drag_block_pie_angel: '扇区角度', + drag_block_pie_label: '扇区标签', + drag_block_gauge_angel: '指针角度', + drag_block_label_value: '值', + drag_block_funnel_width: '漏斗层宽', + drag_block_funnel_split: '漏斗分层', + drag_block_radar_length: '分支长度', + drag_block_radar_label: '分支标签' }, dataset: { sheet_warn: '有多个 Sheet 页,默认抽取第一个', diff --git a/frontend/src/views/chart/components/drag-item/DimensionItem.vue b/frontend/src/views/chart/components/drag-item/DimensionItem.vue index b8e6d5e124..77e0e5024c 100644 --- a/frontend/src/views/chart/components/drag-item/DimensionItem.vue +++ b/frontend/src/views/chart/components/drag-item/DimensionItem.vue @@ -39,9 +39,9 @@ - - {{ $t('chart.filter') }}... - + + + diff --git a/frontend/src/views/chart/components/drag-item/FilterItem.vue b/frontend/src/views/chart/components/drag-item/FilterItem.vue index 9c309f8052..8af240eabe 100644 --- a/frontend/src/views/chart/components/drag-item/FilterItem.vue +++ b/frontend/src/views/chart/components/drag-item/FilterItem.vue @@ -1,13 +1,29 @@