Commit 8eb9f130 authored by leon's avatar leon

feat:charts add datazoom function

parent 9b18a2ed
...@@ -49,9 +49,10 @@ ...@@ -49,9 +49,10 @@
dataZoom: this.elementInfo.dataZoom, dataZoom: this.elementInfo.dataZoom,
series: this.dealSeriesData(series) series: this.dealSeriesData(series)
} }
chart.setOption(this.ec.option) chart.setOption(this.ec.option)
const that = this
chart.on('click', event => { chart.on('click', event => {
const { preview, images } = this.elementData.dataList const { preview, images } = that.elementData.dataList
var urls = [] var urls = []
var caches = uni.getStorageSync('cacheImages') var caches = uni.getStorageSync('cacheImages')
images.forEach(url => { images.forEach(url => {
...@@ -68,8 +69,11 @@ ...@@ -68,8 +69,11 @@
urls: urls urls: urls
}) })
} else { } else {
this.handleEchartsClick(event) that.handleEchartsClick(event)
} }
})
chart.on('datazoom', event => {
that.echartsDataZoom(event)
}) })
return chart return chart
}, },
...@@ -77,6 +81,7 @@ ...@@ -77,6 +81,7 @@
const { categories, series, preview, images } = this.elementData.dataList const { categories, series, preview, images } = this.elementData.dataList
this.$set(this.ec.option, 'yAxis.data', categories) this.$set(this.ec.option, 'yAxis.data', categories)
this.$set(this.ec.option, 'series', this.dealSeriesData(series)) this.$set(this.ec.option, 'series', this.dealSeriesData(series))
this.$set(this.ec.option, 'dataZoom', this.elementInfo.dataZoom)
if(preview) { if(preview) {
this.cacheImages(images) this.cacheImages(images)
} }
......
...@@ -55,6 +55,7 @@ ...@@ -55,6 +55,7 @@
type: 'value' type: 'value'
} }
], ],
dataZoom: this.elementInfo.dataZoom,
series: this.dealSeriesData(series) series: this.dealSeriesData(series)
} }
chart.setOption(this.ec.option) chart.setOption(this.ec.option)
...@@ -64,9 +65,10 @@ ...@@ -64,9 +65,10 @@
return chart return chart
}, },
initChart() { initChart() {
const {categories, series} = this.elementData.dataList const {categories, series } = this.elementData.dataList
this.$set(this.ec.option, 'xAxis.data', categories) this.$set(this.ec.option, 'xAxis.data', categories)
this.$set(this.ec.option, 'series', this.dealSeriesData(series)) this.$set(this.ec.option, 'series', this.dealSeriesData(series))
this.$set(this.ec.option, 'dataZoom', this.elementInfo.dataZoom)
}, },
/** /**
* 处理数据 * 处理数据
......
...@@ -54,6 +54,7 @@ ...@@ -54,6 +54,7 @@
const { categories, series } = this.elementData.dataList const { categories, series } = this.elementData.dataList
this.$set(this.ec.option, 'xAxis.data', categories) this.$set(this.ec.option, 'xAxis.data', categories)
this.$set(this.ec.option, 'series', this.dealSeriesData(series)) this.$set(this.ec.option, 'series', this.dealSeriesData(series))
this.$set(this.ec.option, 'dataZoom', this.elementInfo.dataZoom)
}, },
/** /**
* 处理数据 * 处理数据
......
...@@ -55,7 +55,8 @@ ...@@ -55,7 +55,8 @@
initChart() { initChart() {
const { categories, series } = this.elementData.dataList const { categories, series } = this.elementData.dataList
this.$set(this.ec.option, 'xAxis.data', categories) this.$set(this.ec.option, 'xAxis.data', categories)
this.$set(this.ec.option, 'series', this.dealSeriesData(series)) this.$set(this.ec.option, 'series', this.dealSeriesData(series))
this.$set(this.ec.option, 'dataZoom', this.elementInfo.dataZoom)
}, },
/** /**
* 处理数据 * 处理数据
......
...@@ -80,6 +80,13 @@ export default { ...@@ -80,6 +80,13 @@ export default {
handleEchartsClick (chartEvent ) { handleEchartsClick (chartEvent ) {
const { index, paramName } = this.elementInfo.child const { index, paramName } = this.elementInfo.child
uni.$emit('handleLinkParams', { index, paramName, value: chartEvent.name }) uni.$emit('handleLinkParams', { index, paramName, value: chartEvent.name })
},
/**
* 组件datazoom交互
*/
echartsDataZoom (chartEvent ) {
const { index, paramName } = this.elementInfo.child
uni.$emit('handleDataZoomParams', { index, paramName, value: chartEvent })
} }
}, },
deactivated() { deactivated() {
......
...@@ -109,12 +109,31 @@ ...@@ -109,12 +109,31 @@
if(hideData.includes(item.id)) item.hide = true if(hideData.includes(item.id)) item.hide = true
return item return item
}) })
}) })
/**
* datazoom交互
*/
uni.$on('handleDataZoomParams', ({index, paramName, value}) => {
if(index.length && paramName && value) {
that.reportInfo.list = that.reportInfo.list.map(item => {
console.log('begin item', item)
const flag = index.includes(item.id)
if(flag && item.dataZoom) {
console.log('set item', item)
that.$set(item.dataZoom, 'start', value.start)
that.$set(item.dataZoom, 'end', value.end)
}
console.log('after item', item)
return item
})
}
})
}, },
onHide() { onHide() {
// 移除监听事件 // 移除监听事件
uni.$off('handleLinkParams') uni.$off('handleLinkParams')
uni.$off('handleLinkComp') uni.$off('handleLinkComp')
uni.$off('handleDataZoomParams')
clearInterval(this.timename) clearInterval(this.timename)
}, },
methods: { methods: {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment