odc.xiaohui
2024-02-28 37bb6da78f4435f83cff5f2193cbdb46eebaad12
src/views/index/right-top.vue
@@ -1,7 +1,8 @@
<script setup lang="ts">
import { ref,onMounted} from "vue";
<script lang="ts" setup>
import {onMounted, ref} from "vue";
import { currentGET } from "@/api";
import {graphic} from "echarts/core"
const option = ref({});
const getData = () => {
  currentGET("rightTop", {}).then((res) => {
@@ -17,6 +18,7 @@
  });
};
const setOption =async (xData:any[], yData:any[], yData2:any[]) => {
  console.log(xData, yData, yData2)
  option.value = {
        xAxis: {
          type: "category",
@@ -81,7 +83,7 @@
            type: "line",
            smooth: true,
            symbol: "none", //去除点
            name: "报警1次数",
        name: "排名",
            color: "rgba(252,144,16,.7)",
            areaStyle: {
                //右,下,左,上
@@ -122,7 +124,7 @@
                    padding: [7, 14],
                    borderWidth: 0.5,
                    borderColor: "rgba(252,144,16,.5)",
                    formatter: "报警1:{c}",
                formatter: "排名:{c}",
                  },
                },
                {
@@ -143,89 +145,122 @@
              ],
            },
          },
          {
            data: yData2,
            type: "line",
            smooth: true,
            symbol: "none", //去除点
            name: "报警2次数",
            color: "rgba(9,202,243,.7)",
            areaStyle: {
                //右,下,左,上
                color: new graphic.LinearGradient(
                  0,
                  0,
                  0,
                  1,
                  [
                    {
                      offset: 0,
                      color: "rgba(9,202,243,.7)",
                    },
                    {
                      offset: 1,
                      color: "rgba(9,202,243,.0)",
                    },
                  ],
                  false
                ),
            },
            markPoint: {
              data: [
                {
                  name: "最大值",
                  type: "max",
                  valueDim: "y",
                  symbol: "rect",
                  symbolSize: [60, 26],
                  symbolOffset: [0, -20],
                  itemStyle: {
                    color: "rgba(0,0,0,0)",
                  },
                  label: {
                    color: "#09CAF3",
                    backgroundColor: "rgba(9,202,243,0.1)",
                    borderRadius: 6,
                    borderColor: "rgba(9,202,243,.5)",
                    padding: [7, 14],
                    formatter: "报警2:{c}",
                    borderWidth: 0.5,
                  },
                },
                {
                  name: "最大值",
                  type: "max",
                  valueDim: "y",
                  symbol: "circle",
                  symbolSize: 6,
                  itemStyle: {
                    color: "#09CAF3",
                    shadowColor: "#09CAF3",
                    shadowBlur: 8,
                  },
                  label: {
                    formatter: "",
                  },
                },
              ],
            },
          },
      // {
      //   data: yData2,
      //   type: "line",
      //   smooth: true,
      //   symbol: "none", //去除点
      //   name: "指数",
      //   color: "rgba(9,202,243,.7)",
      //   areaStyle: {
      //     //右,下,左,上
      //     color: new graphic.LinearGradient(
      //         0,
      //         0,
      //         0,
      //         1,
      //         [
      //           {
      //             offset: 0,
      //             color: "rgba(9,202,243,.7)",
      //           },
      //           {
      //             offset: 1,
      //             color: "rgba(9,202,243,.0)",
      //           },
      //         ],
      //         false
      //     ),
      //   },
      //   markPoint: {
      //     data: [
      //       {
      //         name: "最大值",
      //         type: "max",
      //         valueDim: "y",
      //         symbol: "rect",
      //         symbolSize: [60, 26],
      //         symbolOffset: [0, -20],
      //         itemStyle: {
      //           color: "rgba(0,0,0,0)",
      //         },
      //         label: {
      //           color: "#09CAF3",
      //           backgroundColor: "rgba(9,202,243,0.1)",
      //
      //           borderRadius: 6,
      //           borderColor: "rgba(9,202,243,.5)",
      //           padding: [7, 14],
      //           formatter: "指数:{c}",
      //           borderWidth: 0.5,
      //         },
      //       },
      //       {
      //         name: "最大值",
      //         type: "max",
      //         valueDim: "y",
      //         symbol: "circle",
      //         symbolSize: 6,
      //         itemStyle: {
      //           color: "#09CAF3",
      //           shadowColor: "#09CAF3",
      //           shadowBlur: 8,
      //         },
      //         label: {
      //           formatter: "",
      //         },
      //       },
      //     ],
      //   },
      // },
        ],
      };
}
onMounted(()=>{
    getData();
  // getData();
  let xdata = [
    "2021-11",
    "2021-12",
    "2022-01",
    "2022-02",
    "2022-03",
    "2022-04"
  ]
  let ydata = [
    291,
    400,
    467,
    502,
    929,
    718
  ]
  let ydata1 = [
    934,
    354,
    541,
    26,
    951,
    727
  ]
  setOption(xdata, ydata, ydata1)
})
</script>
<template>
  <v-chart
    class="chart"
    :option="option"
    v-if="JSON.stringify(option) != '{}'"
      :option="option"
      class="chart"
  />
  <v-chart
      v-if="JSON.stringify(option) != '{}'"
      :option="option"
      class="chart"
  />
</template>
<style scoped lang="scss"></style>
<style lang="scss" scoped>
.chart {
  height: 50% !important;
}
</style>