<template>
  <div ref="main" style="width:400px ;height:300px;"></div>
</template>

<script>
import * as echarts from "echarts";
export default {
  name: 'index',
  data() {
    return {

    }
  },
  props:{
    resultData: {
      type: Array,
      default:()=> [
        { name: '出让', value: 332312.43 },
        { name: '划拨', value: 573988.58},
        { name: '作价出资', value: 279083.13 },
        { name: '转让', value: 2119.85 },
       ]
    },
    titleText:{
      type:String,
    }
  },
  watch:{
    resultData(){
      this.$nextTick(function() {
        this.getPie()
      })
    }
  },
  methods: {
    getPie() {
      var _this = this
      // 绘制图表
      var myChart = echarts.init(this.$refs.main)
      // myChart.on('click',(params)=>{
      //   _this.$emit('visible',{syqsyfs:params.data.name,sfsb:"3"});
      //   console.log(params)
      // })
      // 指定图表的配置项和数据
      var option = {
        //标题
        title: {
          text: this.titleText,
          x: 'left' ,              //标题位置
          // textStyle: { //标题内容的样式
          //   color: '#000',
          //   fontStyle: 'normal',
          //   fontWeight: 100,
          //   fontSize: 16 //主题文字字体大小，默认为18px
          // },
        },
        // stillShowZeroSum: true,
        //鼠标划过时饼状图上显示的数据
        tooltip: {
          trigger: 'item',
          formatter: '{b}:{c} ({d}%)'
        },
        //图例
        legend: {//图例  标注各种颜色代表的模块
          // orient: 'vertical',//图例的显示方式  默认横向显示
          bottom: 10,//控制图例出现的距离  默认左上角

          // itemWidth: 16,//图例颜色块的宽度和高度
          // itemHeight: 12,
          textStyle: {//图例中文字的样式
            color: '#000',
            fontSize: 14
          },
          data: ['出让', '划拨', '作价出资','转让','其他']//图例上显示的饼图各模块上的名字
        },
        //饼图中各模块的颜色
        color: ['#367bec', '#FDD56A', '#FD866A', '#9E87FF', '#867EFE'],
        // 饼图数据
        series: {
          // name: 'bug分布',
          type: 'pie',             //echarts图的类型   pie代表饼图
          radius: '60%',           //饼图中饼状部分的大小所占整个父元素的百分比
          center: ['50%', '50%'],  //整个饼图在整个父元素中的位置
          // data:''               //饼图数据
          data: this.resultData,
          label:{
            normal : {
              formatter: '{b}:({d}%)',
              textStyle : {
                fontWeight : 'normal',
                fontSize : 14
              }
            }
          },
          itemStyle: {
            normal: {
              label: {
                show: true,//饼图上是否出现标注文字 标注各模块代表什么  默认是true
                // position: 'inner',//控制饼图上标注文字相对于饼图的位置  默认位置在饼图外
              },
              labelLine: {
                show: true//官网demo里外部标注上的小细线的显示隐藏    默认显示
              }
            }
          },
        }

      }
        // 使用刚指定的配置项和数据显示图表。
        myChart.setOption(option)
    }
  }
}
</script>

<style scoped>

</style>