Blame view
src/components/widgets/chart/MiniChart.vue
1.51 KB
93a68cfa1
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
<template> <v-card> <v-card-text> <div class="layout row ma-0 align-center justify-space-between"> <div class="text-box"> <div class="subheading pb-2">{{title}}</div> <span class="grey--text">{{subTitle}} <v-icon small :color="iconColor">{{icon}}</v-icon></span> </div> <div class="chart"> <e-chart :path-option="computeChartOption" height="68px" width="100%" > </e-chart> </div> </div> </v-card-text> </v-card> </template> <script> import EChart from '@/components/chart/echart'; export default { components: { EChart }, props: { title: String, subTitle: String, icon: String, iconColor: { type: String, default: 'success', }, type: String, chartColor: String, data: Array, }, data () { return { defaultOption: [ ['dataset.source', this.data], ['xAxis.show', false], ['yAxis.show', false], ['color', [this.chartColor]], ] }; }, computed: { computeChartOption () { switch (this.type) { case 'bar': this.defaultOption.push(['series[0].type', 'bar']); break; case 'area': this.defaultOption.push(['series[0].type', 'line']); this.defaultOption.push(['series[0].areaStyle', {}]); break; default: break; } return this.defaultOption; } } }; </script> <style> </style> |