<!--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>