Newer
Older
dcms_front / src / views / otherComment / highFreq / highFreqChart.vue
<template>
  <div class="chart-container">
    <div ref="chart" class="chart-body" />
  </div>
</template>

<script>
import echarts from 'echarts'
export default {
  name: 'HighFreqChart',
  props: {
    list: {
      type: Array,
      default() {
        return []
      }
    }
  },
  computed: {
    pieData() {
      const tmp = []
      this.list.forEach(item => {
        const obj = {}
        obj.name = item.caseTypeName + '/' + item.caseTypeDetailName
        obj.value = item.upNum
        tmp.push(obj)
      })
      return tmp
    }
  },
  activated() {
    this.initChart()
  },
  methods: {
    initChart() {
      this.chart = echarts.init(this.$refs.chart)
      this.chart.setOption({
        tooltip: {
          show: true
        },
        toolbox: {
          show: true,
          feature: {
            saveAsImage: {
              show: true
            }
          }
        },
        // color: ['#afa3f5', '#00d488', '#3feed4', '#3bafff', '#f1bb4c', 'rgba(250,250,250,0.5)'],
        series: [{
          name: '高发问题',
          type: 'pie',
          data: this.pieData,
          label: {
            formatter: '{b} : {d}%',
            color: '#000'
          },
          tooltip: {
            formatter: '{b}<br/>立案数: {d}%'
          }
        }]
      })
    }
  }
}
</script>

<style scoped>
.chart-container{
  text-align: center;
}
.chart-body{
  height: 60vh;
  width: 80%;
  margin-right: auto;
  margin-left: auto;
}
</style>