zhaoxing
2022-08-22 74bb50ce93d0c9cd20a0b84f63db46f433a39e91
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<template>
    <div class="count-views">
        <div class="card">
            <div class="card__header">
                <span class="label">总访问量</span>
                <span class="value">8846</span>
            </div>
 
            <div class="card__container">
                <v-chart :option="chartOption" autoresize />
            </div>
 
            <div class="card__footer">
                <span class="label">日访问量</span>
                <span class="value">1351</span>
            </div>
        </div>
    </div>
</template>
 
<script lang="ts">
import { defineComponent, reactive } from "vue";
import * as echarts from "echarts";
 
export default defineComponent({
    setup() {
        const chartOption = reactive({
            grid: {
                left: 0,
                top: 0,
                right: 0,
                bottom: 0
            },
            xAxis: {
                type: "category",
                data: [
                    "00:00",
                    "2:00",
                    "4:00",
                    "6:00",
                    "8:00",
                    "10:00",
                    "12:00",
                    "14:00",
                    "16:00",
                    "18:00",
                    "20:00",
                    "22:00"
                ],
                boundaryGap: false
            },
            yAxis: {
                type: "value",
                splitLine: {
                    show: false
                },
                axisTick: {
                    show: false
                },
                axisLine: {
                    show: false
                },
                axisLabel: {
                    show: false
                }
            },
            series: [
                {
                    name: "总访问量",
                    type: "line",
                    smooth: true,
                    showSymbol: false,
                    symbol: "circle",
                    symbolSize: 6,
                    data: [
                        "1200",
                        "1400",
                        "1008",
                        "1411",
                        "1026",
                        "1288",
                        "1300",
                        "800",
                        "1100",
                        "1000",
                        "1118",
                        "1322"
                    ],
                    areaStyle: {
                        normal: {
                            color: new echarts.graphic.LinearGradient(
                                0,
                                0,
                                0,
                                1,
                                [
                                    {
                                        offset: 0,
                                        color: "#D1E5FF"
                                    },
                                    {
                                        offset: 1,
                                        color: "#FFFFFF"
                                    }
                                ],
                                false
                            )
                        }
                    },
                    itemStyle: {
                        normal: {
                            color: "#4165d7"
                        }
                    },
                    lineStyle: {
                        normal: {
                            width: 2
                        }
                    }
                }
            ]
        });
 
        return { chartOption };
    }
});
</script>
 
<style lang="scss" scoped>
.count-views {
    .card {
        .echarts {
            height: 50px;
            width: 100%;
        }
 
        &__container {
            padding: 0;
        }
 
        &__footer {
            border-top: 0;
        }
    }
}
</style>