Chart.vue 1.42 KB
<template>
  <Echart
    :options="options"
    id="centreLeft1Chart"
    :key="key"
    height="1.0417rem"
    width="80%"
  ></Echart>
</template>
<script>
import Echart from "@/common/echart";
export default {
  components: {
    Echart,
  },
  data() {
    return {
      key: 0,
    };
  },
  props: {
    cdata: {
      type: Object,
      default: () => ({}),
    },
  },
  watch: {
    cdata: {
      handler(newData) {

        this.options = {
          color: [
            "#37a2da",
            "#32c5e9",
            "#9fe6b8",
            "#ffdb5c",
            "#ff9f7f",
            "#8378ea",
            "#fb7293",
            "#e7bcf3",

          ],
          series: [
            {
              name: "Access From",
              type: "pie",
              radius: ["54%", "70%"],
              avoidLabelOverlap: true,
              label: {
                formatter: (params) => {
                  // console.log(params)
                  return `${params.name}(${params.value}`;
                },
              },
              labelLine: {
                lineStyle: {
                  width: 3,
                },
              },
              data: newData.seriesData,
            }
          ],
        };
        this.key++;
      },
      immediate: true,
      deep: true,
    },
  },
};
</script>

<style lang="scss" scoped>
#centreLeft1Chart {
  margin-bottom: 0.0521rem;
  margin-left: .3125rem;
}
</style>