提交 5ddd0a03 authored 作者: wangjiahao's avatar wangjiahao

feat:仪表板支持视图下钻

上级 189d46bc
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
{{ $t('chart.chart_error_tips') }} {{ $t('chart.chart_error_tips') }}
</div> </div>
</div> </div>
<chart-component v-if="requestStatus==='success'&&chart.type && !chart.type.includes('table') && !chart.type.includes('text')" :ref="element.propValue.id" class="chart-class" :chart="chart" /> <chart-component v-if="requestStatus==='success'&&chart.type && !chart.type.includes('table') && !chart.type.includes('text')" :ref="element.propValue.id" class="chart-class" :chart="chart" @onChartClick="chartClick" />
<table-normal v-if="requestStatus==='success'&&chart.type && chart.type.includes('table')" :ref="element.propValue.id" :chart="chart" class="table-class" /> <table-normal v-if="requestStatus==='success'&&chart.type && chart.type.includes('table')" :ref="element.propValue.id" :chart="chart" class="table-class" />
<label-normal v-if="requestStatus==='success'&&chart.type && chart.type.includes('text')" :ref="element.propValue.id" :chart="chart" class="table-class" /> <label-normal v-if="requestStatus==='success'&&chart.type && chart.type.includes('text')" :ref="element.propValue.id" :chart="chart" class="table-class" />
</div> </div>
...@@ -37,6 +37,7 @@ import { BASE_CHART_STRING } from '@/views/chart/chart/chart' ...@@ -37,6 +37,7 @@ import { BASE_CHART_STRING } from '@/views/chart/chart/chart'
import eventBus from '@/components/canvas/utils/eventBus' import eventBus from '@/components/canvas/utils/eventBus'
import { deepCopy } from '@/components/canvas/utils/utils' import { deepCopy } from '@/components/canvas/utils/utils'
import { getToken, getLinkToken } from '@/utils/auth' import { getToken, getLinkToken } from '@/utils/auth'
export default { export default {
name: 'UserView', name: 'UserView',
components: { ChartComponent, TableNormal, LabelNormal }, components: { ChartComponent, TableNormal, LabelNormal },
...@@ -77,7 +78,8 @@ export default { ...@@ -77,7 +78,8 @@ export default {
refId: null, refId: null,
chart: BASE_CHART_STRING, chart: BASE_CHART_STRING,
requestStatus: 'waiting', requestStatus: 'waiting',
message: null message: null,
drillClickDimensionList: []
} }
}, },
computed: { computed: {
...@@ -85,6 +87,7 @@ export default { ...@@ -85,6 +87,7 @@ export default {
const filter = {} const filter = {}
filter.filter = this.element.filters filter.filter = this.element.filters
filter.linkageFilters = this.element.linkageFilters filter.linkageFilters = this.element.linkageFilters
filter.drill = this.drillClickDimensionList
return filter return filter
}, },
filters() { filters() {
...@@ -191,6 +194,10 @@ export default { ...@@ -191,6 +194,10 @@ export default {
// 将视图传入echart组件 // 将视图传入echart组件
if (response.success) { if (response.success) {
this.chart = response.data this.chart = response.data
this.chart.drillFields = this.chart.drillFields ? JSON.parse(this.chart.drillFields) : []
if (!response.data.drill) {
this.drillClickDimensionList.splice(this.drillClickDimensionList.length - 1, 1)
}
this.requestStatus = 'merging' this.requestStatus = 'merging'
this.mergeStyle() this.mergeStyle()
this.requestStatus = 'success' this.requestStatus = 'success'
...@@ -225,6 +232,22 @@ export default { ...@@ -225,6 +232,22 @@ export default {
tableChart.customAttr = JSON.stringify(tableChart.customAttr) tableChart.customAttr = JSON.stringify(tableChart.customAttr)
tableChart.customStyle = JSON.stringify(tableChart.customStyle) tableChart.customStyle = JSON.stringify(tableChart.customStyle)
eventBus.$emit('openChartDetailsDialog', { chart: this.chart, tableChart: tableChart }) eventBus.$emit('openChartDetailsDialog', { chart: this.chart, tableChart: tableChart })
},
chartClick(param) {
debugger
if (this.drillClickDimensionList.length < this.chart.drillFields.length - 1) {
this.drillClickDimensionList.push({ dimensionList: param.data.dimensionList })
this.getData(this.element.propValue.viewId)
}
},
resetDrill() {
this.drillClickDimensionList = []
},
drillJump(index) {
this.drillClickDimensionList = this.drillClickDimensionList.slice(0, index)
this.getData(this.element.propValue.viewId)
} }
} }
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论