| | |
| | | <template> |
| | | <div :class="className" :style="{height:height,width:width}" /> |
| | | <div :class="className" :style="{ height: height, width: width }" /> |
| | | </template> |
| | | |
| | | <script> |
| | | import echarts from 'echarts' |
| | | require('echarts/theme/macarons') // echarts theme |
| | | import resize from '../../dashboard/mixins/resize' |
| | | import echarts from "echarts"; |
| | | require("echarts/theme/macarons"); // echarts theme |
| | | import resize from "../../dashboard/mixins/resize"; |
| | | |
| | | export default { |
| | | mixins: [resize], |
| | | props: { |
| | | className: { |
| | | type: String, |
| | | default: 'chart' |
| | | default: "chart" |
| | | }, |
| | | width: { |
| | | type: String, |
| | | default: '100%' |
| | | default: "100%" |
| | | }, |
| | | height: { |
| | | type: String, |
| | | default: '300px' |
| | | default: "300px" |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | chart: null |
| | | } |
| | | }; |
| | | }, |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.initChart() |
| | | }) |
| | | this.initChart(); |
| | | }); |
| | | }, |
| | | beforeDestroy() { |
| | | if (!this.chart) { |
| | | return |
| | | return; |
| | | } |
| | | this.chart.dispose() |
| | | this.chart = null |
| | | this.chart.dispose(); |
| | | this.chart = null; |
| | | }, |
| | | methods: { |
| | | initChart() { |
| | | this.chart = echarts.init(this.$el, 'macarons') |
| | | this.chart = echarts.init(this.$el, "macarons"); |
| | | |
| | | this.chart.setOption({ |
| | | title: { |
| | | text: '输出能量分析', |
| | | left: '25%', |
| | | textAlign: 'center', |
| | | text: "输出能量分析", |
| | | left: "25%", |
| | | textAlign: "center", |
| | | textStyle: { |
| | | fontStyle: 'normal', |
| | | "color": "#333", |
| | | }, |
| | | fontStyle: "normal", |
| | | color: "#333" |
| | | } |
| | | }, |
| | | tooltip: { |
| | | trigger: 'item', |
| | | formatter: '{a} <br/>{b}: {c} ({d}%)' |
| | | trigger: "item", |
| | | formatter: "{a} <br/>{b}: {c} ({d}%)" |
| | | }, |
| | | grid: { |
| | | left: '3%', |
| | | right: '4%', |
| | | bottom: '3%', |
| | | left: "3%", |
| | | right: "4%", |
| | | bottom: "3%", |
| | | containLabel: true |
| | | }, |
| | | legend: { |
| | | orient: 'vertical', |
| | | orient: "vertical", |
| | | left: 10, |
| | | top:'10%', |
| | | data: ['水输入量', '电输入量'] |
| | | top: "10%", |
| | | data: ["水输入量", "电输入量"], |
| | | textStyle: { |
| | | color: "#fff" |
| | | } |
| | | }, |
| | | series: [ |
| | | { |
| | | name: '能量输出', |
| | | type: 'pie', |
| | | radius: ['30%', '60%'], |
| | | name: "能量输出", |
| | | type: "pie", |
| | | radius: ["30%", "60%"], |
| | | avoidLabelOverlap: false, |
| | | label: { |
| | | show: false, |
| | | position: 'center' |
| | | position: "center" |
| | | }, |
| | | emphasis: { |
| | | label: { |
| | | show: true, |
| | | fontSize: '16', |
| | | fontWeight: 'bold' |
| | | fontSize: "16", |
| | | fontWeight: "bold" |
| | | } |
| | | }, |
| | | labelLine: { |
| | | show: false |
| | | }, |
| | | data: [ |
| | | {value: 340, name: '水输入量'}, |
| | | {value: 150, name: '电输入量'} |
| | | { value: 340, name: "水输入量" }, |
| | | { value: 150, name: "电输入量" } |
| | | ] |
| | | } |
| | | ] |
| | | }) |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | </script> |