forked from github/dataease
feat: 视图下钻
This commit is contained in:
parent
18b68616ac
commit
affdf3ad00
@ -23,5 +23,5 @@ public class ChartViewDTO extends ChartViewWithBLOBs {
|
||||
private String pid;
|
||||
private String sql;
|
||||
|
||||
private List<ChartDrillRequest> dimensionList;
|
||||
private boolean drill;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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++) {
|
||||
|
@ -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)
|
||||
})
|
||||
})
|
||||
},
|
||||
|
@ -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()
|
||||
|
Loading…
Reference in New Issue
Block a user