|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<template>
<div :style="{ padding: '0 0 32px 32px' }">
<h4 :style="{ marginBottom: '20px' }">{{ title }}</h4>
<v-chart
:height="height"
:data="data"
:scale="scale"
:forceFit="true"
:padding="['auto', 'auto', '40', '50']">
<v-tooltip/>
<v-axis/>
<v-bar position="x*y"/>
</v-chart>
</div>
</template>
<script>
|
|
19
20
21
22
23
24
|
export default {
name: 'Bar',
props: {
title: {
type: String,
default: ''
|
|
25
|
},
|
|
26
27
28
|
x: {
type: String,
default: 'x'
|
|
29
|
},
|
|
30
31
32
|
y: {
type: String,
default: 'y'
|
|
33
|
},
|
|
34
35
36
|
data: {
type: Array,
default: () => []
|
|
37
|
},
|
|
38
39
40
|
height: {
type: Number,
default: 254
|
|
41
|
}
|
|
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
},
data() {
return {}
},
computed: {
scale() {
return [
{dataKey: 'x', title: this.x, alias: this.x},
{dataKey: 'y', title: this.y, alias: this.y}
]
}
},
created() {
// this.getMonthBar()
},
methods: {
// getMonthBar() {
// this.$http.get('/analysis/month-bar')
// .then(res => {
// this.data = res.result
// })
// }
|
|
64
|
}
|
|
65
|
}
|
|
66
|
</script>
|