| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- <template>
- <div :class="className" :style="{height:height,width:width}"/>
- </template>
- <script>
- import * as echarts from 'echarts'
- require('echarts/theme/macarons') // echarts theme
- import resize from '../mixins/resize'
- import {getLdpeLine} from "@/api/common/homedataCbpb";
- export default {
- mixins: [resize],
- props: {
- className: {
- type: String,
- default: 'chart'
- },
- width: {
- type: String,
- default: '100%'
- },
- height: {
- type: String,
- default: '350px'
- },
- autoResize: {
- type: Boolean,
- default: true
- },
- chartData: {
- type: Object,
- required: true
- }
- },
- data() {
- return {
- chart: null,
- nextEdit: [],
- nextReview: [],
- monthList: [],
- }
- },
- mounted() {
- this.$nextTick(() => {
- getLdpeLine().then(res => {
- for (const item of res.data.nextEdit) {
- this.monthList.push(item.dataMonth);
- this.nextEdit.push(item.dataCount);
- }
- for (const item of res.data.nextReview) {
- this.nextReview.push(item.dataCount);
- }
- this.initChart()
- })
- })
- },
- beforeDestroy() {
- if (!this.chart) {
- return
- }
- this.chart.dispose()
- this.chart = null
- },
- methods: {
- initChart() {
- this.chart = echarts.init(this.$el, 'macarons')
- this.chart.setOption(
- {
- xAxis: {
- data: this.monthList,
- axisTick: {
- show: false
- }
- },
- grid: {
- left: 10,
- right: 30,
- bottom: 40,
- top: 30,
- containLabel: true
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'shadow' // 修改为柱状图的显示方式
- },
- },
- yAxis: {
- axisTick: {
- show: false
- }
- },
- legend: {
- data: ['下次修订日期', '下次回顾日期']
- },
- series: [
- {
- name: '下次修订日期',
- type: 'bar', // 将类型修改为柱状图
- barWidth: '20%', // 设置柱状图的宽度
- itemStyle: {
- normal: {
- borderRadius: 15,
- }
- },
- data: this.nextEdit // 确保数据适用于柱状图
- },
- {
- name: '下次回顾日期',
- type: 'bar', // 将类型修改为柱状图
- barWidth: '20%', // 设置柱状图的宽度
- itemStyle: {
- normal: {
- borderRadius: 15,
- }
- },
- data: this.nextReview // 确保数据适用于柱状图
- }
- ]
- }
- )
- }
- }
- }
- </script>
|