diff --git a/frontend/src/components/canvas/custom-component/UserView.vue b/frontend/src/components/canvas/custom-component/UserView.vue index f481795914..f0ef6e4f13 100644 --- a/frontend/src/components/canvas/custom-component/UserView.vue +++ b/frontend/src/components/canvas/custom-component/UserView.vue @@ -16,7 +16,7 @@ {{ $t('chart.chart_error_tips') }} - +
@@ -84,7 +84,8 @@ export default { requestStatus: 'waiting', message: null, drillClickDimensionList: [], - drillFilters: [] + drillFilters: [], + drillFields: [] } }, computed: { @@ -107,8 +108,23 @@ export default { console.log('linkageFilters:' + JSON.stringify(this.element.linkageFilters)) return JSON.parse(JSON.stringify(this.element.linkageFilters)) }, + trackMenu() { + const trackMenuInfo = [] + let linkageCount = 0 + this.chart.data.fields && this.chart.data.fields.forEach(item => { + const sourceInfo = this.chart.id + '#' + item.id + if (this.nowPanelTrackInfo[sourceInfo]) { + linkageCount++ + } + }) + linkageCount && trackMenuInfo.push('linkage') + this.drillFields.length && trackMenuInfo.push('drill') + console.log('trackMenuInfo' + JSON.stringify(trackMenuInfo)) + return trackMenuInfo + }, ...mapState([ - 'canvasStyleData' + 'canvasStyleData', + 'nowPanelTrackInfo' ]) }, @@ -200,10 +216,12 @@ export default { if (response.success) { this.chart = response.data this.chart.drillFields = this.chart.drillFields ? JSON.parse(this.chart.drillFields) : [] + debugger if (!response.data.drill) { this.drillClickDimensionList.splice(this.drillClickDimensionList.length - 1, 1) } this.drillFilters = JSON.parse(JSON.stringify(response.data.drillFilters)) + this.drillFields = JSON.parse(JSON.stringify(response.data.drillFields)) this.requestStatus = 'merging' this.mergeStyle() this.requestStatus = 'success' diff --git a/frontend/src/views/chart/components/ChartComponent.vue b/frontend/src/views/chart/components/ChartComponent.vue index 6e91946a57..121fce342c 100644 --- a/frontend/src/views/chart/components/ChartComponent.vue +++ b/frontend/src/views/chart/components/ChartComponent.vue @@ -40,7 +40,7 @@ export default { type: Array, required: false, default: function() { - return ['drill', 'linkage'] + return ['drill'] } } }, @@ -97,7 +97,7 @@ export default { this.myChart.off('click') this.myChart.on('click', function(param) { that.pointParam = param - if (that.trackMenu.length === 1) { // 只有一个事件直接调用 + if (that.trackMenu.length < 2) { // 只有一个事件直接调用 that.trackClick(that.trackMenu[0]) } else { // 视图关联多个事件 that.trackBarStyle.left = param.event.offsetX + 'px'