{"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 { getLabBasicStats } from '@/api';\nexport default {\n name: 'BasicStats',\n data() {\n return {\n levels: [],\n usage: {\n using: 0,\n abnormal: 0,\n idle: 0\n },\n chart: null\n };\n },\n async mounted() {\n const res = await getLabBasicStats();\n this.levels = res.data.levels;\n this.usage = res.data.usage;\n this.$nextTick(() => this.initChart(res.data));\n },\n beforeDestroy() {\n if (this.chart) this.chart.dispose();\n },\n methods: {\n initChart(data) {\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 fontSize: 12\n }\n },\n series: [{\n type: 'pie',\n radius: ['55%', '78%'],\n center: ['50%', '50%'],\n avoidLabelOverlap: false,\n label: {\n show: true,\n position: 'center',\n formatter: ['{num|' + data.totalLabs + '}', '{txt|实验室总数}'].join('\\n'),\n rich: {\n num: {\n fontSize: 28,\n fontWeight: 'bold',\n color: '#fff',\n fontFamily: 'Courier New',\n lineHeight: 36\n },\n txt: {\n fontSize: 12,\n color: '#8cb8e6',\n lineHeight: 20\n }\n }\n },\n emphasis: {\n label: {\n show: true,\n formatter: ['{num|' + data.totalLabs + '}', '{txt|实验室总数}'].join('\\n'),\n rich: {\n num: {\n fontSize: 28,\n fontWeight: 'bold',\n color: '#fff',\n fontFamily: 'Courier New',\n lineHeight: 36\n },\n txt: {\n fontSize: 12,\n color: '#8cb8e6',\n lineHeight: 20\n }\n }\n }\n },\n labelLine: {\n show: false\n },\n data: data.levels.map(l => ({\n name: l.name,\n value: l.value,\n itemStyle: {\n color: l.color\n }\n }))\n }]\n };\n this.chart.setOption(option);\n }\n }\n};","map":{"version":3,"names":["echarts","getLabBasicStats","name","data","levels","usage","using","abnormal","idle","chart","mounted","res","$nextTick","initChart","beforeDestroy","dispose","methods","init","$refs","option","tooltip","trigger","backgroundColor","borderColor","textStyle","color","fontSize","series","type","radius","center","avoidLabelOverlap","label","show","position","formatter","totalLabs","join","rich","num","fontWeight","fontFamily","lineHeight","txt","emphasis","labelLine","map","l","value","itemStyle","setOption"],"sources":["src/components/LabStats/BasicStats.vue"],"sourcesContent":["\n\n\n\n\n"],"mappings":";;AAgCA,YAAAA,OAAA;AACA,SAAAC,gBAAA;AAEA;EACAC,IAAA;EACAC,KAAA;IACA;MACAC,MAAA;MACAC,KAAA;QAAAC,KAAA;QAAAC,QAAA;QAAAC,IAAA;MAAA;MACAC,KAAA;IACA;EACA;EACA,MAAAC,QAAA;IACA,MAAAC,GAAA,SAAAV,gBAAA;IACA,KAAAG,MAAA,GAAAO,GAAA,CAAAR,IAAA,CAAAC,MAAA;IACA,KAAAC,KAAA,GAAAM,GAAA,CAAAR,IAAA,CAAAE,KAAA;IACA,KAAAO,SAAA,YAAAC,SAAA,CAAAF,GAAA,CAAAR,IAAA;EACA;EACAW,cAAA;IACA,SAAAL,KAAA,OAAAA,KAAA,CAAAM,OAAA;EACA;EACAC,OAAA;IACAH,UAAAV,IAAA;MACA,KAAAM,KAAA,GAAAT,OAAA,CAAAiB,IAAA,MAAAC,KAAA,CAAAT,KAAA;MACA,MAAAU,MAAA;QACAC,OAAA;UACAC,OAAA;UACAC,eAAA;UACAC,WAAA;UACAC,SAAA;YAAAC,KAAA;YAAAC,QAAA;UAAA;QACA;QACAC,MAAA;UACAC,IAAA;UACAC,MAAA;UACAC,MAAA;UACAC,iBAAA;UACAC,KAAA;YACAC,IAAA;YACAC,QAAA;YACAC,SAAA,GACA,UAAAhC,IAAA,CAAAiC,SAAA,QACA,cACA,CAAAC,IAAA;YACAC,IAAA;cACAC,GAAA;gBAAAb,QAAA;gBAAAc,UAAA;gBAAAf,KAAA;gBAAAgB,UAAA;gBAAAC,UAAA;cAAA;cACAC,GAAA;gBAAAjB,QAAA;gBAAAD,KAAA;gBAAAiB,UAAA;cAAA;YACA;UACA;UACAE,QAAA;YACAZ,KAAA;cACAC,IAAA;cACAE,SAAA,GACA,UAAAhC,IAAA,CAAAiC,SAAA,QACA,cACA,CAAAC,IAAA;cACAC,IAAA;gBACAC,GAAA;kBAAAb,QAAA;kBAAAc,UAAA;kBAAAf,KAAA;kBAAAgB,UAAA;kBAAAC,UAAA;gBAAA;gBACAC,GAAA;kBAAAjB,QAAA;kBAAAD,KAAA;kBAAAiB,UAAA;gBAAA;cACA;YACA;UACA;UACAG,SAAA;YAAAZ,IAAA;UAAA;UACA9B,IAAA,EAAAA,IAAA,CAAAC,MAAA,CAAA0C,GAAA,CAAAC,CAAA;YACA7C,IAAA,EAAA6C,CAAA,CAAA7C,IAAA;YACA8C,KAAA,EAAAD,CAAA,CAAAC,KAAA;YACAC,SAAA;cAAAxB,KAAA,EAAAsB,CAAA,CAAAtB;YAAA;UACA;QACA;MACA;MACA,KAAAhB,KAAA,CAAAyC,SAAA,CAAA/B,MAAA;IACA;EACA;AACA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}