From 93d04e35d6ff02470687b73ff7494b62bdc85f2c Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期三, 06 十二月 2023 16:32:38 +0800
Subject: [PATCH] 页面背景图及饼图显示优化

---
 src/views/cockpitPage/components/MachineStartupRate.vue |   81 +++++++++++++++++++++++++---------------
 1 files changed, 51 insertions(+), 30 deletions(-)

diff --git a/src/views/cockpitPage/components/MachineStartupRate.vue b/src/views/cockpitPage/components/MachineStartupRate.vue
index 9383322..0daa82e 100644
--- a/src/views/cockpitPage/components/MachineStartupRate.vue
+++ b/src/views/cockpitPage/components/MachineStartupRate.vue
@@ -5,15 +5,8 @@
         <img src="/cockpitPage/machine-top.png" alt="" />
         <div class="top-title">
           <span>鏈哄櫒寮�鏈虹巼</span>
-          <span class="top-rate">{{ "60%" }}</span>
+          <span class="top-rate">{{ startupRate + "%" }}</span>
         </div>
-      </div>
-      <div class="machine-chart-bg">
-        <img
-          src="/cockpitPage/machine-chart-bg.png"
-          alt=""
-          style="width: 250px; height: 260px"
-        />
       </div>
       <div class="chart" ref="chart"></div>
     </div>
@@ -23,32 +16,54 @@
 <script>
 //寮曞叆echart
 import * as echarts from "echarts";
+let myChart;
 export default {
   components: {},
-  props: {},
+  props: {
+    startupRate: {
+      type: String,
+      default: "",
+    },
+  },
   data() {
     return {};
   },
-  mounted() {
-    let chartData = [
-      { value: 20, name: "闂茬疆" },
-      { value: 20, name: "缁翠慨" },
-      { value: 60, name: "宸ヤ綔" },
-    ];
-    this.pieChart("chart", chartData);
-  },
+  mounted() {},
   watch: {},
   methods: {
     //鍦ㄨ亴
     pieChart(chartName, data) {
       let chartDom = this.$refs[chartName];
-      let myChart = echarts.init(chartDom);
+
+      if (myChart != null && myChart != "" && myChart != undefined) {
+        myChart.dispose(); //閿�姣�
+      }
+      myChart = echarts.init(chartDom);
+      let img = "/cockpitPage/machine-chart-bg.png";
       let option;
       if (data) {
         option = {
           color: ["#065a6f", "#067687", "#00ffff"],
           tooltip: {
             trigger: "item",
+          },
+          graphic: {
+            elements: [
+              {
+                type: "image",
+                z: 5,
+                right: 25,
+                style: {
+                  image: img,
+                  width: 240,
+                  height: 245,
+                  opacity: 0.55,
+                },
+                left: "center",
+                top: "center",
+                position: [5, 5],
+              },
+            ],
           },
           series: [
             {
@@ -59,8 +74,19 @@
               label: {
                 color: "#01f7fd",
                 fontSize: 14,
+                padding: [0, -60],
                 formatter: function (params) {
-                  return params.name + params.value + "%";
+                  return `{a|${params.name}} {b|${params.value + "%"}}`;
+                },
+                rich: {
+                  a: {
+                    color: "#00ffff",
+                    fontSize: 14,
+                  },
+                  b: {
+                    color: "#fccd1d",
+                    fontSize: 14,
+                  },
                 },
               },
               emphasis: {
@@ -72,8 +98,13 @@
               },
               labelLine: {
                 show: true,
-                length: 50,
+                length: 40,
                 color: "blue",
+                length2: 70,
+              },
+              labelLayout: {
+                verticalAlign: "bottom",
+                dy: -5,
               },
               data: data,
             },
@@ -121,16 +152,6 @@
           color: #fec718;
         }
       }
-    }
-    .machine-chart-bg {
-      width: 100%;
-      height: 100%;
-      text-align: center;
-      position: absolute;
-      left: 0;
-      right: 0;
-      margin: auto;
-      opacity: 0.55;
     }
     .chart {
       margin-top: 8px;

--
Gitblit v1.8.0