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..562a390a04 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', diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index 61e56996ca..adb3e14d6d 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: '視圖', diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index ac6646de9a..94129df8ea 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: '视图', 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 @@