{"ast":null,"code":"import \"core-js/modules/es.iterator.constructor.js\";\nimport \"core-js/modules/es.iterator.map.js\";\nimport * as echarts from 'echarts';\nimport { getLabCategoryStats } from '@/api';\nexport default {\n name: 'CategoryPie',\n data() {\n return {\n chart: null,\n summaryList: []\n };\n },\n async mounted() {\n const res = await getLabCategoryStats();\n const summary = res.data.summary;\n this.summaryList = [{\n label: '设备总数',\n value: summary.totalEquipment\n }, {\n label: '人员总数',\n value: summary.totalPeople\n }, {\n label: '面积(㎡)',\n value: summary.totalArea\n }, {\n label: '安全评分',\n value: summary.safetyScore\n }, {\n label: '事故次数',\n value: summary.incidents\n }, {\n label: '培训次数',\n value: summary.trainings\n }];\n this.$nextTick(() => this.initChart(res.data.categories));\n },\n beforeDestroy() {\n if (this.chart) this.chart.dispose();\n },\n methods: {\n initChart(categories) {\n this.chart = echarts.init(this.$refs.chart);\n const option = {\n tooltip: {\n trigger: 'item',\n backgroundColor: 'rgba(13,34,71,0.9)',\n borderColor: '#1a3a6a',\n textStyle: {\n color: '#fff'\n }\n },\n legend: {\n orient: 'vertical',\n right: 10,\n top: 'center',\n textStyle: {\n color: '#8cb8e6',\n fontSize: 12\n },\n itemWidth: 10,\n itemHeight: 10\n },\n series: [{\n type: 'pie',\n radius: ['40%', '65%'],\n center: ['35%', '50%'],\n avoidLabelOverlap: false,\n label: {\n show: false\n },\n emphasis: {\n label: {\n show: true,\n color: '#fff',\n fontSize: 14\n }\n },\n data: categories.map(c => ({\n name: c.name,\n value: c.value,\n itemStyle: {\n color: c.color\n }\n }))\n }]\n };\n this.chart.setOption(option);\n }\n }\n};","map":{"version":3,"names":["echarts","getLabCategoryStats","name","data","chart","summaryList","mounted","res","summary","label","value","totalEquipment","totalPeople","totalArea","safetyScore","incidents","trainings","$nextTick","initChart","categories","beforeDestroy","dispose","methods","init","$refs","option","tooltip","trigger","backgroundColor","borderColor","textStyle","color","legend","orient","right","top","fontSize","itemWidth","itemHeight","series","type","radius","center","avoidLabelOverlap","show","emphasis","map","c","itemStyle","setOption"],"sources":["src/components/LabStats/CategoryPie.vue"],"sourcesContent":["\n \n
实验室分类及数据统计
\n
\n
\n
\n
\n
{{ item.value }}
\n
{{ item.label }}
\n
\n
\n
\n
\n\n\n\n\n\n"],"mappings":";;AAgBA,YAAAA,OAAA;AACA,SAAAC,mBAAA;AAEA;EACAC,IAAA;EACAC,KAAA;IACA;MACAC,KAAA;MACAC,WAAA;IACA;EACA;EACA,MAAAC,QAAA;IACA,MAAAC,GAAA,SAAAN,mBAAA;IACA,MAAAO,OAAA,GAAAD,GAAA,CAAAJ,IAAA,CAAAK,OAAA;IACA,KAAAH,WAAA,IACA;MAAAI,KAAA;MAAAC,KAAA,EAAAF,OAAA,CAAAG;IAAA,GACA;MAAAF,KAAA;MAAAC,KAAA,EAAAF,OAAA,CAAAI;IAAA,GACA;MAAAH,KAAA;MAAAC,KAAA,EAAAF,OAAA,CAAAK;IAAA,GACA;MAAAJ,KAAA;MAAAC,KAAA,EAAAF,OAAA,CAAAM;IAAA,GACA;MAAAL,KAAA;MAAAC,KAAA,EAAAF,OAAA,CAAAO;IAAA,GACA;MAAAN,KAAA;MAAAC,KAAA,EAAAF,OAAA,CAAAQ;IAAA,EACA;IACA,KAAAC,SAAA,YAAAC,SAAA,CAAAX,GAAA,CAAAJ,IAAA,CAAAgB,UAAA;EACA;EACAC,cAAA;IACA,SAAAhB,KAAA,OAAAA,KAAA,CAAAiB,OAAA;EACA;EACAC,OAAA;IACAJ,UAAAC,UAAA;MACA,KAAAf,KAAA,GAAAJ,OAAA,CAAAuB,IAAA,MAAAC,KAAA,CAAApB,KAAA;MACA,MAAAqB,MAAA;QACAC,OAAA;UACAC,OAAA;UACAC,eAAA;UACAC,WAAA;UACAC,SAAA;YAAAC,KAAA;UAAA;QACA;QACAC,MAAA;UACAC,MAAA;UACAC,KAAA;UACAC,GAAA;UACAL,SAAA;YAAAC,KAAA;YAAAK,QAAA;UAAA;UACAC,SAAA;UACAC,UAAA;QACA;QACAC,MAAA;UACAC,IAAA;UACAC,MAAA;UACAC,MAAA;UACAC,iBAAA;UACAlC,KAAA;YAAAmC,IAAA;UAAA;UACAC,QAAA;YACApC,KAAA;cAAAmC,IAAA;cAAAb,KAAA;cAAAK,QAAA;YAAA;UACA;UACAjC,IAAA,EAAAgB,UAAA,CAAA2B,GAAA,CAAAC,CAAA;YACA7C,IAAA,EAAA6C,CAAA,CAAA7C,IAAA;YACAQ,KAAA,EAAAqC,CAAA,CAAArC,KAAA;YACAsC,SAAA;cAAAjB,KAAA,EAAAgB,CAAA,CAAAhB;YAAA;UACA;QACA;MACA;MACA,KAAA3B,KAAA,CAAA6C,SAAA,CAAAxB,MAAA;IACA;EACA;AACA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}