Commit 8eb9f130 authored by leon's avatar leon

feat:charts add datazoom function

parent 9b18a2ed
......@@ -50,8 +50,9 @@
series: this.dealSeriesData(series)
}
chart.setOption(this.ec.option)
const that = this
chart.on('click', event => {
const { preview, images } = this.elementData.dataList
const { preview, images } = that.elementData.dataList
var urls = []
var caches = uni.getStorageSync('cacheImages')
images.forEach(url => {
......@@ -68,15 +69,19 @@
urls: urls
})
} else {
this.handleEchartsClick(event)
that.handleEchartsClick(event)
}
})
chart.on('datazoom', event => {
that.echartsDataZoom(event)
})
return chart
},
initChart() {
const { categories, series, preview, images } = this.elementData.dataList
this.$set(this.ec.option, 'yAxis.data', categories)
this.$set(this.ec.option, 'series', this.dealSeriesData(series))
this.$set(this.ec.option, 'dataZoom', this.elementInfo.dataZoom)
if(preview) {
this.cacheImages(images)
}
......
......@@ -55,6 +55,7 @@
type: 'value'
}
],
dataZoom: this.elementInfo.dataZoom,
series: this.dealSeriesData(series)
}
chart.setOption(this.ec.option)
......@@ -64,9 +65,10 @@
return chart
},
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, 'series', this.dealSeriesData(series))
this.$set(this.ec.option, 'dataZoom', this.elementInfo.dataZoom)
},
/**
* 处理数据
......
......@@ -54,6 +54,7 @@
const { categories, series } = this.elementData.dataList
this.$set(this.ec.option, 'xAxis.data', categories)
this.$set(this.ec.option, 'series', this.dealSeriesData(series))
this.$set(this.ec.option, 'dataZoom', this.elementInfo.dataZoom)
},
/**
* 处理数据
......
......@@ -56,6 +56,7 @@
const { categories, series } = this.elementData.dataList
this.$set(this.ec.option, 'xAxis.data', categories)
this.$set(this.ec.option, 'series', this.dealSeriesData(series))
this.$set(this.ec.option, 'dataZoom', this.elementInfo.dataZoom)
},
/**
* 处理数据
......
......@@ -80,6 +80,13 @@ export default {
handleEchartsClick (chartEvent ) {
const { index, paramName } = this.elementInfo.child
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() {
......
......@@ -110,11 +110,30 @@
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() {
// 移除监听事件
uni.$off('handleLinkParams')
uni.$off('handleLinkComp')
uni.$off('handleDataZoomParams')
clearInterval(this.timename)
},
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