vue3+echarts饼图记录

<script setup>
	import reportApi from '@/api/operationReport/index'
	import * as echarts from 'echarts'
	import { onMounted } from 'vue'

	var Echarts
	onMounted(() => {
		Echarts = echarts.init(document.getElementById('CustomizedPie'))
		Customer.Get()
	})

	onMounted(() => {})
	let props = defineProps({
		orgId: {
			type: String,
			default: () => ''
		},
		bizDate: {
			type: String,
			default: () => ''
		}
	})

	// 顾客分析
	const Customer = reactive({
		list: [],
		tips: '',
		Get: () => {
			reportApi
				.getGuestAnalysisInfo({
					orgId: props.orgId,
					bizDate: props.bizDate
				})
				.then((res) => {
					Customer.tips = res.analysisTips
					Customer.list = res.guestAnalyses || []
					let dataEcharts = []
					if (Customer.list.length) {
						// 绘制图表

						dataEcharts = Customer.list.map((e) => {
							return {
								name: e.guestLevelDesc,
								value: e.employeeNum
							}
						})
					}

					const option = {
						tooltip: {
							trigger: 'item'
						},
						legend: {
							top: '5%',
							left: 'center'
						},
						series: [
							{
								name: '顾客分析',
								type: 'pie',
								radius: ['40%', '70%'],
								avoidLabelOverlap: false,
								itemStyle: {
									borderRadius: 10,
									borderColor: '#fff',
									borderWidth: 2
								},
								label: {
									show: false,
									position: 'center'
								},
								emphasis: {
									label: {
										show: true,
										fontSize: 40,
										fontWeight: 'bold'
									}
								},
								labelLine: {
									show: false
								},
								data: dataEcharts || []
							}
						]
					}

					Echarts.setOption(option, true)
				})
		}
	})

	// 自适应大小
	window.onresize = () => {
		Echarts.resize()
	}
</script>
<template>
<div id="CustomizedPie"></div>
</template>
<style scoped lang="less">
	#CustomizedPie {
		width: 250px;
		height: 420px;
	}
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值