Newer
Older
qd_cnooc_front / src / views / dashboard / components / AlarmCountByDept.vue
<!--suppress ALL -->
<template>
  <div class="container">
    <div style="height: 28px;margin-bottom: 10px;"/>
    <ve-pie :data="chartData" :extend="extend" :title="title"/>

  </div>
</template>

<script>
import { alarmBySecondArea } from '@/api/overview'
import { getDoorAreaTree } from '@/api/system/area'
export default {
  name: 'AlarmCountByDept',
  props:{
    query: {
      type: Object,
      default:()=>{
        return {
          areaId: '',
          startTime: '',
          endTime: ''
        }
      }
    }
  },
  data() {
    return {
      chartData: {
        columns: ['areaName', 'alarm'],
        rows: []
      },
      extend: {
        grid: {
          right: '30%'
        },
        legend: {
          type: 'scroll',
          top: '60px',
          right: '0px',
          orient: 'vertical'
        },
        series: {
          label: { show: true, position: 'outside', formatter: '{b}' },
          right: 120
        },
        // tooltip: { trigger: 'item', formatter: '{b}<br/>用水量:{c}吨<br/>占比:{d}%' }
      },
      title: {
        text: '分区水表报警占比图'
      },
      chartSettings: {
        labelMap: {
          'areaName': '分区',
          'alarm': '报警数'
        }
      }
    }
  },
  watch:{
    query(val){
      this.fetchData()
    }
  },
  methods: {
    // 获取统计数据
    fetchData() {
      alarmBySecondArea(this.query).then(response => {
        this.chartData.rows = response.data
      })
    }
  }
}
</script>
<style lang="scss" scoped>
  .container{

  }
</style>