1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| <template> <ChartContainer :options="options" /> </template>
<script> import ChartContainer from "./ChartContainer.vue" export default { components: { ChartContainer, }, props: { pData: { type: Array, default: [], required: false, }, }, data() { return { options: {}, } }, watch: { pData: { handler() { this.options = this.barChartOptions() }, immediate: true, }, }, methods: { barChartOptions() { const data = this.pData.map((item) => { return { value: item.fieldCountNum, name: item.fieldName, } }) return { tooltip: { trigger: "item", }, legend: { top: "bottom", left: "center", }, series: [ { type: "pie", radius: ["35%", "60%"], padAngle: 3, itemStyle: { borderRadius: 5, }, labelLine: { show: true, }, data, }, ], } }, }, } </script>
|