Gauge组件修改

This commit is contained in:
不做码农 2022-01-08 21:48:30 +08:00
parent 58bbb2b967
commit 8661aca703

View File

@ -3,72 +3,97 @@
</template>
<script>
import * as echarts from 'echarts';
import * as echarts from "echarts";
require('echarts/theme/macarons') // echarts theme
import { debounce } from '@/utils'
require("echarts/theme/macarons"); // echarts theme
import { debounce } from "@/utils";
export default {
props: {
name: {
type: String,
default: "业务指标",
},
min: {
type: [Object, Number],
default: 0,
},
max: {
type: [Object, Number],
default: 0,
},
data: {
type: Array,
default: () => [
{
value: "",
name: "占比",
},
],
},
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
}
chart: null,
};
},
mounted() {
this.initChart()
this.initChart();
this.__resizeHandler = debounce(() => {
if (this.chart) {
this.chart.resize()
this.chart.resize();
}
}, 100)
window.addEventListener('resize', this.__resizeHandler)
}, 100);
window.addEventListener("resize", this.__resizeHandler);
},
beforeDestroy() {
if (!this.chart) {
return
return;
}
window.removeEventListener('resize', this.__resizeHandler)
this.chart.dispose()
this.chart = null
window.removeEventListener("resize", this.__resizeHandler);
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({
tooltip: {
formatter: '{a} <br/>{b} : {c}%'
},
toolbox: {
feature: {
restore: {},
saveAsImage: {}
}
formatter: "{a} <br/>{b} : {c}",
},
// toolbox: {
// feature: {
// restore: {},
// saveAsImage: {},
// },
// },
series: [
{
name: '业务指标',
type: 'gauge',
detail: { formatter: '{value}%' },
data: [{ value: 50, name: '完成率' }]
}
]
})
}
}
}
name: this.name,
type: "gauge",
min: this.min,
max: this.max,
detail: {
formatter: "{value}%",
},
data: this.data,
},
],
});
},
},
};
</script>