From 0630126012170da25291d55f0a1bd3130e64f434 Mon Sep 17 00:00:00 2001
From: liuying <1427574514@qq.com>
Date: 周一, 28 4月 2025 15:45:28 +0800
Subject: [PATCH] 一汽大屏 未提交的代码

---
 yiqi_screen/src/components/Content.vue |  318 ++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 232 insertions(+), 86 deletions(-)

diff --git a/yiqi_screen/src/components/Content.vue b/yiqi_screen/src/components/Content.vue
index b0010f1..9c43bf8 100644
--- a/yiqi_screen/src/components/Content.vue
+++ b/yiqi_screen/src/components/Content.vue
@@ -20,30 +20,59 @@
     <div class="main">
       <div class="main-top">
         <div class="main-top_ly">
+          <!-- 浜х嚎甯冨眬鍥� -->
           <img
             src="~@/assets/images/prodline_all.png"
             class="prodline"
             alt="line"
           />
 
-          <!-- <img
-            alt="t10"
-            :src="require(`@/assets/images/10.png`)"
-            class="OP88"
-            id="animatedImage"
-          />
+          <!-- <img src="~@/assets/images/9.png" class="line100" alt="line100" />
+          <p style="color: white;"> {{equipmentStatusData}} </p> -->
+
+
+          <!-- 椤堕儴 -->
+          <div v-for="item in equipmentStatusData">
+            <!-- <p style="color: white;font-size: 32px">  {{ item.equipmentCurrentState }} </p>  -->
+
+            <img
+              :alt="item.workingProcedure"
+              :src="
+                require(`@/assets/images/${
+                  imageColor[item.workingProcedure]
+                }/zhuozi.png`)
+              "
+              class="prodline_op325"
+            />
+
+            <img
+              :alt="item.workingProcedure"
+              v-if="
+                item.equipmentCurrentState == 1 &&
+                item.workingProcedure == 'OP30'
+              "
+              src="~@/assets/images/6.gif"
+              class="box100"
+            />
+            <img
+              v-if="
+                item.equipmentCurrentState == 1 &&
+                item.workingProcedure == 'OP20'
+              "
+              src="~@/assets/images/8.gif"
+              class="box200"
+            />
+            <img
+              v-if="
+                item.equipmentCurrentState == 1 &&
+                item.workingProcedure == 'OP50'
+              "
+              src="~@/assets/images/8.gif"
+              class="box300"
+            />
+          </div>
+
           <img
-            alt="t10"
-            :src="require(`@/assets/images/10.png`)"
-            class="OP89"
-          />
-          <img
-            alt="t10"
-            :src="require(`@/assets/images/10.png`)"
-            class="OP90"
-          /> -->
-          <img
-            alt="t1"
             v-for="item in equipmentStatusData"
             :key="item.id"
             :src="
@@ -54,14 +83,16 @@
             :class="`euip ${item.workingProcedure}`"
           />
 
-          <img alt="t2" src="~@/assets/images/OP35.png" class="prodline_op35" />
           <img
-            alt="t3"
+            src="~@/assets/images/OP35.png"
+            class="prodline_op325"
+          />
+
+          <img
             :src="require(`@/assets/images/${imageColor['OP10']}/OP40.png`)"
             class="euip OP40"
           />
           <img
-            alt="t4"
             :src="require(`@/assets/images/${imageColor['unit']}/unit.png`)"
             class="euip unit"
           />
@@ -70,15 +101,21 @@
       <!-- <button @click="flag=true">data鏀瑰彉</button> -->
       <div class="main-bottom">
         <div class="echarts-box border_left1">
-          <div class="echarts-title">璁惧杩愯鐘舵�佺粺璁″浘</div>
+          <div class="echarts-title">
+            <span class="title1"> 璁惧杩愯鐘舵�佺粺璁″浘 </span>
+          </div>
           <EquipmentRunStatus :equipmentStatusData="equipmentStatusData" />
         </div>
         <div class="echarts-box border_left2">
-          <div class="echarts-title">浜х嚎鍋ュ悍鑳藉姏鍥�</div>
+          <div class="echarts-title">
+            <span class="title1"> 浜х嚎鍋ュ悍鑳藉姏鍥� </span>
+          </div>
           <ProdlineHealthy />
         </div>
         <div class="echarts-box border_middle">
-          <div class="echarts-title">璐ㄩ噺鏁版嵁瓒嬪娍鍥�</div>
+          <div class="echarts-title">
+            <span class="title1"> 璐ㄩ噺鏁版嵁瓒嬪娍鍥� </span>
+          </div>
           <div class="box11">
             {{ qualityData.qualityType }}
           </div>
@@ -111,7 +148,18 @@
           </div>
         </div>
         <div class="echarts-box border_right1">
-          <div class="echarts-title">鏈彮/鏈湀浜ч噺缁熻</div>
+          <div class="echarts-title">
+            <span class="title1"> 鏈彮/鏈湀浜ч噺缁熻 </span>
+          </div>
+
+          <!-- 
+          <div class="ring-container quan1">
+            <div class="outer-ring"></div>
+            <div class="inner-ring"></div>
+          </div> -->
+
+          <div class="quan1"></div>
+          <div class="quan2"></div>
 
           <ProductionStatistics :produceStatisData="produceStatisData" />
           <div class="pie-label-left">
@@ -140,7 +188,9 @@
           </div>
         </div>
         <div class="echarts-box border_right2">
-          <div class="echarts-title">鐢熶骇瀹屾垚瓒嬪娍</div>
+          <div class="echarts-title">
+            <span class="title1"> 鐢熶骇瀹屾垚瓒嬪娍 </span>
+          </div>
           <ProductionCompletionTrend
             :produceCompletionData="produceCompletionData"
           />
@@ -270,11 +320,15 @@
             (obj) => obj.workingProcedure == item.workingProcedure
           );
           if (res.length > 0) {
+            // item.equipmentCurrentState =5; 娴嬭瘯
             equipmentData.push(item);
           }
         });
         this.equipmentStatusData = equipmentData;
+        console.log(88888888);
+        console.log(JSON.stringify(this.equipmentStatusData) );
         this.getImageColor(data);
+        
       } catch (error) {
         console.log(error);
       }
@@ -290,7 +344,8 @@
           this.imageColor[item.workingProcedure] = result[0].color;
         }
       });
-      // console.log(this.imageColor, "getImageColor");
+      console.log(5555555555);
+       console.log(this.imageColor, "getImageColor");
     },
     // 鑾峰彇璐ㄩ噺鏁版嵁
     async getQualityData() {
@@ -335,35 +390,7 @@
     },
   },
   mounted() {
-    // var timeline = anime.timeline({
-    //   easing: "easeOutExpo", // 杩愬姩鏁堟灉
-    //   loop: true, // 璁剧疆鏃犻檺寰幆
-    // });
-    // // 绗竴涓姩鐢伙細妯悜绉诲姩
-    // timeline
-    //   .add({
-    //     targets: "#animatedImage",
-    //     translateX: 280, // 鍚戝彸绉诲姩280px
-    //     duration: 2000, // 鍔ㄧ敾鎸佺画鏃堕棿
-    //   })
-    //   // 绗簩涓姩鐢伙細鍚戜笅绉诲姩
-    //   .add({
-    //     targets: "#animatedImage",
-    //     translateY: 50, // 鍚戜笅绉诲姩50px
-    //     duration: 2000, // 鍔ㄧ敾鎸佺画鏃堕棿
-    //   })
-    //   // 闂撮殧鏃堕棿鍥炲埌鍒濆浣嶇疆
-    //   .add({
-    //     targets: "#animatedImage",
-    //     translateX: 0, // 鍥炲埌鍒濆浣嶇疆
-    //     translateY: 0, // 鍥炲埌鍒濆浣嶇疆
-    //     duration: 0, // 涓嶉渶瑕佸姩鐢�
-    //     delay: 1000, // 闅旀柇鏃堕棿1绉�
-    //   });
-    // setTimeout(() => {
-    //   timeline.pause(); // 鏆傚仠鍔ㄧ敾
-    //   document.getElementById('animatedImage').classList.add('hidden');
-    // }, 8000);
+
   },
 
   // beforeDestroy(){
@@ -424,28 +451,28 @@
     }
 
     .left-text {
-      font-size: 20px;
+      font-size: 16px;
       color: #fff;
       position: absolute;
-      top: 63px;
+      top: 79px;
       left: 37px;
       width: 368px;
       text-align: right;
-      line-height: 48px;
+      line-height: 23px;
       font-weight: 700;
-      letter-spacing: -2px;
+      transform: scaleY(2);
     }
 
     .right-text {
-      font-size: 18px;
+      font-size: 16px;
       text-align: right;
       color: #fff;
       position: absolute;
-      top: 63px;
+      top: 79px;
       right: 268px;
-      line-height: 48px;
+      line-height: 23px;
       font-weight: 700;
-      letter-spacing: -2px;
+      transform: scaleY(2);
     }
   }
 
@@ -472,7 +499,7 @@
         width: 95%;
         margin: 0 auto;
         position: relative;
-        height: 6.8rem;
+        height: 526px;
       }
 
       .prodline {
@@ -482,14 +509,22 @@
         top: 50%;
         left: 50%;
         transform: translate(-50%, -50%);
+        height: 225px;
       }
 
       .prodline_op35 {
-        display: none;
-        // position: absolute;
-        // top: 2.72rem;
-        // left: 4.3rem;
-        // width:1.8%;
+        position: absolute;
+        top: 246px;
+        left: 106px;
+        width: 40px;
+        z-index: 0;
+      }
+      .prodline_op325 {
+        position: absolute;
+        top: 254px;
+        left: 108px;
+        width: 38px;
+        height: 63px;
       }
 
       .euip {
@@ -500,41 +535,41 @@
       }
 
       .OP05 {
-        top: -76px;
-        left: -220px;
+        top: -122px;
+        left: -223px;
       }
 
       .OP10,
       .OP40 {
-        top: -90px;
-        left: -236px;
-        width: 112%;
-        height: 902px;
+        top: -133px;
+        left: -145px;
+        height: 904px;
       }
 
       .OP20 {
         top: -95px;
-        left: 31px;
+        left: -77px;
         width: 86%;
-        transform: scale(1.5, 1.2);
       }
 
       .OP30 {
-        top: -183px;
-        left: -247px;
+        top: -152px;
+        left: -226px;
         width: 2061px;
         height: 923px;
       }
 
       .OP35 {
-        top: -104px;
+        top: -151px;
         left: -182px;
+        width: 100%;
+        z-index: 999;
       }
 
       .OP50 {
-        top: -168px;
-        left: -75px;
-        width: 100%;
+        top: -108px;
+        left: 11px;
+        width: 90%;
       }
 
       .OP60 {
@@ -549,8 +584,13 @@
         width: 101%;
       }
 
-      .OP80,
       .unit {
+        top: -113px;
+        left: 86px;
+        transform: scale(1.2);
+      }
+
+      .OP80 {
         top: -1.95rem;
         left: 1.98rem;
       }
@@ -563,7 +603,7 @@
     }
 
     .main-bottom {
-      height: 320px;
+      height: 336px;
       display: flex;
       justify-content: center;
       .border_left1 {
@@ -624,7 +664,6 @@
           color: #00f8c6;
           text-align: center;
           border-bottom: 2px solid #0739a3;
-          
         }
       }
 
@@ -697,4 +736,111 @@
 .hidden {
   display: none; /* 闅愯棌鍏冪礌 */
 }
+
+// .ring-container {
+//   position: relative;
+//   width: 85px;
+//   height: 85px;
+//   display: flex;
+//   justify-content: center;
+//   align-items: center;
+// }
+
+// .outer-ring {
+//   position: absolute;
+//   width: 100%;
+//   height: 100%;
+//   border-radius: 50%;
+//   background: transparent;
+//   border: 1px solid #3498db; /* 澶栫幆棰滆壊 */
+// }
+
+// .inner-ring {
+//   position: absolute;
+//   width: 80%;
+//   height: 80%;
+//   border-radius: 50%;
+//   background: transparent;
+//   box-shadow: inset 0 0 30px #084b71;
+//   border: 1px solid #3c5da9;
+// }
+
+// .quan1{
+//   position: absolute;
+//     top: 142px;
+//     left: 19px;
+// }
+
+.quan1 {
+  position: absolute;
+  background-size: 100% 100%;
+  content: "";
+  width: 125px;
+  height: 118px;
+  z-index: -1;
+  top: 117px;
+  left: 3px;
+  transform: scaleY(2);
+  border-radius: 100%;
+  background-image: url("@/assets/images/quan.png"); /* 鏇挎崲涓烘偍鐨勮儗鏅浘璺緞 */
+  background-size: cover; /* 鎴栦娇鐢� contain锛屾牴鎹渶瑕侀�夋嫨 */
+  background-repeat: no-repeat;
+  background-size: 95%;
+}
+
+.quan2 {
+  position: absolute;
+  background-size: 100% 100%;
+  content: "";
+  width: 125px;
+  height: 118px;
+  z-index: -1;
+  top: 117px;
+  left: 120px;
+  transform: scaleY(2);
+  border-radius: 100%;
+  background-image: url("@/assets/images/quan.png"); /* 鏇挎崲涓烘偍鐨勮儗鏅浘璺緞 */
+  background-size: cover; /* 鎴栦娇鐢� contain锛屾牴鎹渶瑕侀�夋嫨 */
+  background-repeat: no-repeat;
+  background-size: 95%;
+}
+.box100 {
+  position: absolute;
+  left: 25%;
+  top: 35%;
+  width: 67px;
+  z-index: 9999;
+}
+
+.box200 {
+  position: absolute;
+  left: 4%;
+  top: 48%;
+  width: 77px;
+  z-index: 9999;
+}
+.box300 {
+  position: absolute;
+  left: 44%;
+  top: 49%;
+  width: 75px;
+  z-index: 9999;
+}
+.title1 {
+  transform: scaleY(2);
+  font-size: 12px;
+  display: block;
+  margin-top: 7px;
+}
+.zuozi {
+  position: absolute;
+  top: 10px;
+  left: 10px;
+}
+.line100 {
+  position: absolute;
+  left: 5px;
+  top: 64%;
+  height: 18px;
+}
 </style>

--
Gitblit v1.9.3