效果图
image.png
代码:

<template>
  <div class="emergency-pie" :class="domClass"></div>
</template>
<script>
export default {
  props: {
    domClass: {
      type: String,
      default: 'emergency-pie'
    }
  },
  mounted () {
    this.init()
  },
  methods: {
    init () {
      var uploadedDataURL = require('../../../../assets/images/manage/nei-circle.png')
      var uploadedDataURL2 = require('../../../../assets/images/manage/police-waiyuan.png')
      var seriesData = [
        {
          name: '待处理事件',
          value: '400'
        },
        {
          name: '已处理事件',
          value: '70'
        }
      ]
      var colorList = ['#FEE394', '#7DF6F6']
      const option = {
        grad: {
          left: '2%'
        },
        title: {
          text: '应急指挥',
          x: '43.5%',
          y: '55%',
          textStyle: {
            fontSize: 14,
            color: '#7DF6F6'
          }
        },
        tooltip: {
          trigger: 'item',
          borderColor: 'rgba(255,255,255,.3)',
          backgroundColor: 'rgba(13,5,30,.6)',
          borderWidth: 1,
          padding: 5,
          textStyle: {
            color: 'rgba(255,255,255,1)'
          },
          formatter: function (parms) {
            var str =
              parms.marker +
              '' +
              parms.data.name +
              '</br>' +
              '数量:' +
              parms.data.value +
              '</br>' +
              '占比:' +
              parms.percent +
              '%'
            return str
          }
        },
        graphic: [
          {
            type: 'image',
            id: 'logo',
            left: '40%',
            top: '30%',
            z: -10,
            bounding: 'raw',
            rotation: 0, // 旋转
            origin: [60.5, 30.5], // 中心点
            scale: [1.0, 1.0], // 缩放
            style: {
              image: uploadedDataURL,
              width: 80,
              border: '1px solid red',
              height: 80,
              opacity: 1
            }
          },
          {
            type: 'image',
            id: 'logo2',
            left: '32%',
            top: '8%',
            z: -10,
            bounding: 'raw',
            rotation: 0, // 旋转
            origin: [60, 30], // 中心点
            scale: [1.0, 1.0], // 缩放
            style: {
              image: uploadedDataURL2,
              width: 170,
              border: '1px solid red',
              height: 170,
              opacity: 1
            }
          }
        ],
        series: [
          {
            type: 'pie',
            z: 3,
            center: ['47%', '50%'],
            radius: ['50%', '63%'],
            clockwise: true,
            avoidLabelOverlap: true,
            hoverOffset: 15,
            itemStyle: {
              normal: {
                color: function (params) {
                  return colorList[params.dataIndex]
                }
              }
            },
            label: {
              show: true,
              position: 'outside',
              formatter: function (param) {
                if (param) {
                  return [
                    '{a|' + param.name + '}',
                    '{b|' + param.percent + '%}'
                  ].join(' ')
                }
              },
              rich: {
                a: {
                  color: '#7DF6F6'
                },
                b: {
                  color: '#fff'
                }
              }
            },
            labelLine: {
              // color: '#fff',
              normal: {
                length: 20,
                length2: 20,
                lineStyle: {
                  width: 1
                }
              }
            },
            data: seriesData
          }
        ]
      }
      var myChart = this.$echarts.init(
        document.getElementsByClassName(this.domClass)[0]
      )
      myChart.setOption(option)
    }
  }
}
</script>
<style lang="scss" scoped>
.emergency-pie {
  width: 100%;
  height: 200px;
  display: flex;
  color: #fff;
}
</style>

云胡不喜
73 声望11 粉丝

前端的忠实粉丝