From 14101bd42ce17dfb9d951d0738abe9d303fb3fe5 Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期一, 11 十二月 2023 10:41:39 +0800
Subject: [PATCH] 机器开机率、人员技能比饼图优化

---
 src/views/cockpitPage/components/MachineStartupRate.vue |   89 +++++++++++++++++++++++++++++---------------
 1 files changed, 58 insertions(+), 31 deletions(-)

diff --git a/src/views/cockpitPage/components/MachineStartupRate.vue b/src/views/cockpitPage/components/MachineStartupRate.vue
index 5e66228..7da5477 100644
--- a/src/views/cockpitPage/components/MachineStartupRate.vue
+++ b/src/views/cockpitPage/components/MachineStartupRate.vue
@@ -5,10 +5,10 @@
         <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="chart" ref="chart"></div>
+      <div id="main" class="chart" ref="chart"></div>
     </div>
   </div>
 </template>
@@ -16,72 +16,94 @@
 <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 height = myChart.getHeight() / 1;
+      let width = height + 5;
       let option;
       if (data) {
         option = {
           color: ["#065a6f", "#067687", "#00ffff"],
           tooltip: {
             trigger: "item",
+            textStyle: {
+              color: "#00FFFF",
+            },
+            borderColor: "#00FFFF",
+            backgroundColor: "#238d8d6b",
+            valueFormatter: function (value) {
+              return value + "%";
+            },
           },
           graphic: {
             elements: [
               {
                 type: "image",
-                z: 5,
-                right: 25,
+                // z: 5,
                 style: {
                   image: img,
-                  width: 240,
-                  height: 245,
+                  width: width,
+                  height: height,
                   opacity: 0.55,
                 },
                 left: "center",
                 top: "center",
-                position: [5, 5],
+                position: [10, 10],
               },
             ],
           },
           series: [
             {
-              name: "Access From",
+              name: "",
               type: "pie",
               radius: ["58%", "70%"],
               avoidLabelOverlap: false,
               label: {
-                color: "#01f7fd",
-                fontSize: 14,
-                formatter: function (params) {
-                  return `{a|${params.name}} {b|${params.value + "%"}}`;
-                },
-                rich: {
-                  a: {
-                    color: "#00ffff",
-                    fontSize: 14,
+                normal: {
+                  position: "outer",
+                  padding: [0, -62],
+                  color: "#01f7fd",
+                  fontSize: 12,
+                  borderWidth: 5,
+                  borderRadius: 4,
+                  formatter: function (params) {
+                    let label =
+                      params.name.length > 4
+                        ? `${params.name.slice(0, 3)}...`
+                        : params.name;
+                    return `{a|${label}} {b|${params.value + "%"}}`;
                   },
-                  b: {
-                    color: "#fccd1d",
-                    fontSize: 14,
+                  rich: {
+                    a: {
+                      color: "#00ffff",
+                      fontSize: 14,
+                    },
+                    b: {
+                      color: "#fccd1d",
+                      fontSize: 14,
+                    },
                   },
                 },
               },
@@ -94,8 +116,13 @@
               },
               labelLine: {
                 show: true,
-                length: 50,
+                length: 15,
                 color: "blue",
+                length2: 80,
+              },
+              labelLayout: {
+                verticalAlign: "bottom",
+                dy: -5,
               },
               data: data,
             },

--
Gitblit v1.8.0