feat: 视图下钻

This commit is contained in:
junjie 2021-08-10 17:00:15 +08:00
parent 18b68616ac
commit affdf3ad00
5 changed files with 12 additions and 13 deletions

View File

@ -23,5 +23,5 @@ public class ChartViewDTO extends ChartViewWithBLOBs {
private String pid;
private String sql;
private List<ChartDrillRequest> dimensionList;
private boolean drill;
}

View File

@ -258,7 +258,7 @@ public class ChartViewService {
// 下钻
boolean isDrill = false;
List<ChartDrillRequest> 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<String[]>) 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;
}

View File

@ -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++) {

View File

@ -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)
})
})
},

View File

@ -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()