TrendLine.vue 2.4 KB
Newer Older
V
vben 已提交
1
<template>
V
vben 已提交
2
  <div ref="chartRef" :style="{ height, width }"></div>
V
vben 已提交
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
</template>
<script lang="ts">
  import { defineComponent, onMounted, ref, Ref } from 'vue';

  import { useECharts } from '/@/hooks/web/useECharts';

  import { basicProps } from './props';
  export default defineComponent({
    props: basicProps,
    setup() {
      const chartRef = ref<HTMLDivElement | null>(null);
      const { setOptions, echarts } = useECharts(chartRef as Ref<HTMLDivElement>);

      onMounted(() => {
        setOptions({
          tooltip: {
            trigger: 'axis',
            padding: 3,
            borderColor: '#777',
            borderWidth: 1,
          },
          legend: {
            show: false,
          },
          grid: {
            left: '3%',
            right: '4%',
            bottom: '3%',
            containLabel: true,
          },
          xAxis: {
            type: 'category',
            boundaryGap: false,
            axisTick: {
V
vben 已提交
37
              inside: true,
V
vben 已提交
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
            },
            data: [
              '一月',
              '二月',
              '三月',
              '四月',
              '五月',
              '六月',
              '七月',
              '八月',
              '九月',
              '十月',
              '十一月',
              '十二月',
            ],
          },
          yAxis: {
            type: 'value',
            axisTick: {
V
vben 已提交
57
              inside: true,
V
vben 已提交
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
            },
          },
          series: [
            {
              name: '产品一',
              type: 'line',
              itemStyle: {
                color: '#5B8FF9',
              },
              areaStyle: {
                color: new echarts.graphic.LinearGradient(
                  0,
                  0,
                  0,
                  1,
                  [
                    {
                      offset: 0,
                      color: '#5B8FF9',
                    },
                    {
                      offset: 1,
                      color: 'rgba(118,168,248, 0)',
                    },
                  ],
                  false
                ),
V
vben 已提交
85 86
                shadowColor: 'rgba(118,168,248, 0.9)',
                shadowBlur: 20,
V
vben 已提交
87 88 89 90 91 92 93 94 95 96 97
              },
              data: [134, 330, 132, 101, 90, 230, 210, 150, 230, 400, 232, 234],
              animationDuration: 3000,
            },
          ],
        });
      });
      return { chartRef };
    },
  });
</script>