diff --git a/backend/src/main/java/io/dataease/dto/chart/ChartViewDTO.java b/backend/src/main/java/io/dataease/dto/chart/ChartViewDTO.java index bb7de60135..035e916527 100644 --- a/backend/src/main/java/io/dataease/dto/chart/ChartViewDTO.java +++ b/backend/src/main/java/io/dataease/dto/chart/ChartViewDTO.java @@ -23,5 +23,5 @@ public class ChartViewDTO extends ChartViewWithBLOBs { private String pid; private String sql; - private List dimensionList; + private boolean drill; } 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 6c3171bee7..cc80f9d81e 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -258,7 +258,7 @@ public class ChartViewService { // 下钻 boolean isDrill = false; List drillRequest = requestList.getDrill(); - if (drill.size() > drillRequest.size()) { + if (CollectionUtils.isNotEmpty(drillRequest) && (drill.size() >= drillRequest.size())) { for (int i = 0; i < drillRequest.size(); i++) { ChartDrillRequest request = drillRequest.get(i); for (ChartDimensionDTO dto : request.getDimensionList()) { @@ -385,7 +385,9 @@ public class ChartViewService { data = (List) cache; }*/ // 仪表板有参数不实用缓存 - if (CollectionUtils.isNotEmpty(requestList.getFilter()) || CollectionUtils.isNotEmpty(requestList.getLinkageFilters())) { + if (CollectionUtils.isNotEmpty(requestList.getFilter()) + || CollectionUtils.isNotEmpty(requestList.getLinkageFilters()) + || CollectionUtils.isNotEmpty(requestList.getDrill())) { data = datasourceProvider.getData(datasourceRequest); } else { try { @@ -430,10 +432,7 @@ public class ChartViewService { dto.setData(map); dto.setSql(datasourceRequest.getQuery()); - if (CollectionUtils.isNotEmpty(drillRequest) && !isDrill) { - drillRequest = drillRequest.subList(0, drillRequest.size() - 1); - } - dto.setDimensionList(drillRequest); + dto.setDrill(isDrill); return dto; } diff --git a/frontend/src/store/index.js b/frontend/src/store/index.js index 7114ce2c23..ad150e7fa4 100644 --- a/frontend/src/store/index.js +++ b/frontend/src/store/index.js @@ -162,7 +162,6 @@ const data = { // 添加联动 下钻 等过滤组件 addViewTrackFilter(state, data) { console.log('联动信息', JSON.stringify(data)) - debugger const viewId = data.viewId const trackInfo = state.nowPanelTrackInfo for (let index = 0; index < state.componentData.length; index++) { diff --git a/frontend/src/views/chart/components/ChartComponent.vue b/frontend/src/views/chart/components/ChartComponent.vue index 9cc8d32a1f..f8fe08573e 100644 --- a/frontend/src/views/chart/components/ChartComponent.vue +++ b/frontend/src/views/chart/components/ChartComponent.vue @@ -75,10 +75,6 @@ export default { this.myChart.off('click') this.myChart.on('click', function(param) { - that.$emit('onChartClick', param) - }) - this.myChart.on('click', function(param) { - debugger console.log(JSON.stringify(param.data)) const trackFilter = { viewId: viewId, @@ -86,6 +82,8 @@ export default { quotaList: param.data.quotaList } _store.commit('addViewTrackFilter', trackFilter) + + that.$emit('onChartClick', param) }) }) }, diff --git a/frontend/src/views/chart/view/ChartEdit.vue b/frontend/src/views/chart/view/ChartEdit.vue index 0b13132795..4567f8b0aa 100644 --- a/frontend/src/views/chart/view/ChartEdit.vue +++ b/frontend/src/views/chart/view/ChartEdit.vue @@ -751,6 +751,7 @@ export default { }, watch: { 'param': function() { + this.resetDrill() if (this.param.optType === 'new') { // } else { @@ -1006,7 +1007,9 @@ export default { if (this.chart.privileges) { this.param.privileges = this.chart.privileges } - this.drillClickDimensionList = response.data.drillClickDimensionList ? response.data.drillClickDimensionList : [] + if (!response.data.drill) { + this.drillClickDimensionList.splice(this.drillClickDimensionList.length - 1, 1) + } }).catch(err => { this.resetView() this.resetDrill()