| | |
| | | <script> |
| | | import * as echarts from 'echarts'; |
| | | let holaChart = null; |
| | | |
| | | let observer = null; |
| | | const config = { |
| | | tooltip: { |
| | | trigger: 'item' |
| | |
| | | top: '5%', |
| | | left: 'center' |
| | | }, |
| | | color: ['#7868d9','#3eba45','#3da7f8','#ffbe40','#fe640d'], |
| | | series: [ |
| | | { |
| | | type: 'pie', |
| | |
| | | data1: '工单数', |
| | | data2: '恢复数', |
| | | data3: '待恢复数', |
| | | data4: '产生违约事项数', |
| | | data5: '产生违约责任数', |
| | | data4: '超期待处理数', |
| | | data5: '超期责任数', |
| | | } |
| | | export default { |
| | | props: { |
| | |
| | | holaChart.setOption(config, true); |
| | | } |
| | | |
| | | }, |
| | | // 监听变化 |
| | | observe() { |
| | | if (!observer) { |
| | | observer = new ResizeObserver(entries => { |
| | | this.handleResize(); |
| | | }) |
| | | } |
| | | observer.observe(this.$refs.hola); |
| | | }, |
| | | // 窗口变换 |
| | | handleResize() { |
| | | if (holaChart) { |
| | | holaChart.resize(); |
| | | } |
| | | } |
| | | }, |
| | | watch: { |
| | |
| | | mounted() { |
| | | holaChart = echarts.init(this.$refs.hola); |
| | | holaChart.setOption(config, true); |
| | | } |
| | | this.observe(); |
| | | |
| | | }, |
| | | beforeDestroy() { |
| | | if (holaChart) { |
| | | holaChart.dispose(); |
| | | observer.unobserve(this.$refs.hola); |
| | | } |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | |
| | | height: 100%; |
| | | } |
| | | } |
| | | </style> |
| | | </style> |