Vue.component('my-chart', { template: '
\
\
', props: ['chartData'], data: function() { return { charts: null } }, created: function() { }, mounted: function() { this.charts = echarts.init(this.$refs.main) this.drawPie() }, methods: { drawPie(){ var vm = this, seriesData = [] if(vm.chartData.recordType == 2) { seriesData = [{ name: "收缩压", type:'line', itemStyle: { normal: { lineStyle: { color: 'rgb(102,204,204)' } } }, data: vm.chartData.opinionData }, { name: "舒张压", type:'line', itemStyle: { normal: { lineStyle: { color: 'rgb(135,206,250)' } } }, data: vm.chartData.opinionData2 }] } else { seriesData = [{ name: "血糖值", type:'line', itemStyle: { normal: { lineStyle: { color: 'rgb(102,204,204)' } } }, data: vm.chartData.opinionData }] } var options = { grid: { y: 40, y2: 60 }, tooltip: { trigger: 'axis', position: function (pt) { return [pt[0], '10%']; } }, xAxis: { type: 'category', boundaryGap: false, data: this.chartData.opinion }, yAxis: { type: 'value', scale: true, name: vm.chartData.recordType == 1 ? " 单位(mmol/L)" : " 单位(mmHg)", boundaryGap: [0, '100%'] }, dataZoom: [{ type: 'slider', start: 0, end: 100, zoomLock: false }, { start: 0, end: 10, type: 'inside', handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z', handleSize: '100%', handleStyle: { color: '#fff', shadowBlur: 3, shadowColor: 'rgba(0, 0, 0, 0.6)', shadowOffsetX: 2, shadowOffsetY: 2 } }], series: seriesData }; this.charts.setOption(options) } }, watch: { chartData: function(data) { this.charts.clear(); this.drawPie() } } })