From 35276d8317e8d53039cfaa373dfc9e8b425dfca1 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 17 一月 2025 18:06:01 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 screen/src/views/LogisticsCenter.vue |  222 ++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 171 insertions(+), 51 deletions(-)

diff --git a/screen/src/views/LogisticsCenter.vue b/screen/src/views/LogisticsCenter.vue
index 39a0f91..1e57222 100644
--- a/screen/src/views/LogisticsCenter.vue
+++ b/screen/src/views/LogisticsCenter.vue
@@ -45,7 +45,6 @@
             </div>
             <div class="content_wrap">
               <div class="num_wrap">
-
                 <div class="question1">
                   <div class="hover_con">
                     <div class="num_list" v-if="StockOutData.currentNum || StockOutData.currentNum == 0">
@@ -56,8 +55,10 @@
                     </div>
                     <div class="hover_wrap">
                       <div class="triangle"></div>
-                      <div class="title" v-if="StockOutData.currentProvinceNum || StockOutData.currentProvinceNum == 0">璋冩嫧鍑哄簱閲忥細{{ StockOutData.currentProvinceNum.toFixed(0) }}绠�</div>
-                      <div class="title" v-if="StockOutData.currentOtherNum || StockOutData.currentOtherNum == 0">鍏朵粬鍑哄簱閲忥細{{ StockOutData.currentOtherNum.toFixed(0) }}绠�</div>
+                      <div class="title" v-if="StockOutData.currentProvinceNum || StockOutData.currentProvinceNum == 0">
+                        璋冩嫧鍑哄簱閲忥細{{ StockOutData.currentProvinceNum.toFixed(0) }}绠�</div>
+                      <div class="title" v-if="StockOutData.currentOtherNum || StockOutData.currentOtherNum == 0">
+                        鍏朵粬鍑哄簱閲忥細{{ StockOutData.currentOtherNum.toFixed(0) }}绠�</div>
                     </div>
                   </div>
 
@@ -157,10 +158,10 @@
                   <div class="hover_wrap">
                     <div class="triangle"></div>
                     <div class="title">鍑哄簱鑳藉姏缁熻璇存槑锛�</div>
-                    <div>褰撳墠璁㈠崟閲忥細鎴嚦鏄ㄦ棩鏈畬鎴愯鍗�+褰撴棩涓嬭揪鐨勮鍗曟暟閲忥紱</div>
-                    <div>褰撴棩浠诲姟閲忥細鎴嚦鏄ㄦ棩宸查厤杞芥湭鍑哄簱+褰撴棩宸查厤杞芥湭鍑哄簱鏁伴噺+鏃犻渶閰嶈浇鐨勪换鍔★紱</div>
-                    <div>浠婃棩鍑哄簱閲忥細褰撴棩鎸夊疄闄呭嚭搴撻噺锛堜互鐢靛瓙閿佷笂閿佷负鍑嗭級</div>
-                    <div>鍓╀綑浠诲姟閲忥細褰撴棩浠诲姟閲�-浠婃棩鍑哄簱閲�</div>
+                    <div>1銆佸綋鍓嶈鍗曢噺锛氭埅鑷崇洰鍓嶆湭閰嶈浇鐨勮鍗曢噺</div>
+                    <div>2銆佸綋鍓嶄换鍔¢噺锛氭墍鏈夊凡涓嬭揪杩愯緭涓旀湭鍑哄簱鐨勪换鍔¢噺锛氭埅姝㈢洰鍓嶅凡閰嶈浇鏈嚭搴�+鏃犻渶閰嶈浇鐨勪换鍔�(鍚屽煄浠诲姟閲�)</div>
+                    <div>3銆佷粖鏃ュ嚭搴撻噺锛氫粖鏃ュ疄闄呭嚭搴撻噺锛氫互鐢靛瓙閿佷笂閿佷负鍑�</div>
+                    <div>4銆佸墿浣欎换鍔¢噺锛氭暟鎹悓褰撳墠浠诲姟閲忥紙寮圭獥鍒嗗埆灞曠ず鍚屽簱鍜岃繍杈撲换鍔¢噺</div>
                   </div>
                 </div>
               </div>
@@ -202,14 +203,21 @@
                   <div class="unit">杞︽锛歿{ cneterData.crrentOutCarNum }}</div>
                 </div>
               </div>
-              <div class="item">
-                <img src="@/assets/images/LogisticsCenter/ic_jinriweichu@2x.png" alt="">
-                <div class="content">
-                  <div class="name">鍓╀綑浠诲姟閲�</div>
-                  <div class="num"><span v-if="cneterData.crrentRestNum || cneterData.crrentRestNum == 0"
-                      class="today">{{
-                        cneterData.crrentRestNum }}</span>绠�</div>
-                  <div class="unit">杞︽锛歿{ cneterData.crrentRestCarNum }}</div>
+              <div class="tooltip_wrap">
+                <div class="item">
+                  <img src="@/assets/images/LogisticsCenter/ic_jinriweichu@2x.png" alt="">
+                  <div class="content">
+                    <div class="name">鍓╀綑浠诲姟閲�</div>
+                    <div class="num"><span v-if="cneterData.crrentRestNum || cneterData.crrentRestNum == 0"
+                        class="today">{{
+                          cneterData.crrentRestNum }}</span>绠�</div>
+                    <div class="unit">杞︽锛歿{ cneterData.crrentRestCarNum }}</div>
+                  </div>
+                </div>
+                <div class="tooltip">
+                  <div class="triangle"></div>
+                  <div>杩愯緭浠诲姟閲忥細{{ cneterData.needTransportOrderNum }}绠�</div>
+                  <div>鍚屽煄鍏卞簱浠诲姟閲忥細{{ cneterData.noNeedTransportOrderNum }}绠�</div>
                 </div>
               </div>
             </div>
@@ -226,36 +234,70 @@
                   </div> -->
                   <div :style="{ width: cneterData.level3 }"
                     :class="{ box23: cneterData.crrentOutNum >= cneterData.hoursAbility }" class="box">
-                    <div v-if="cneterData.crrentOutNum < cneterData.hoursAbility" class="tag">
-                      <div class="icon"></div>
-                      <span>浠婃棩鍑哄簱</span>
+                    <div class="tooltip_wrap">
+                      <div v-if="cneterData.crrentOutNum < cneterData.hoursAbility" class="tag">
+                        <div class="icon"></div>
+                        <span>浠婃棩鍑哄簱</span>
+                      </div>
+                      <div class="tooltip">
+                        <div class="triangle"></div>浠婃棩鍑哄簱閲忥細{{ cneterData.crrentOutNum }}绠�
+                      </div>
                     </div>
                   </div>
                   <div :style="{ width: cneterData.level2 }" class="box box1">
-                    <div v-if="cneterData.hoursAbility >= cneterData.currentPlanNum" class="tag tag1">
-                      <div class="icon"></div>
-                      <span>褰撳墠浠诲姟</span>
+                    <div class="tooltip_wrap">
+                      <div v-if="cneterData.hoursAbility >= cneterData.currentPlanNum" class="tag tag1">
+                        <div class="icon"></div>
+                        <span>褰撳墠浠诲姟</span>
+                      </div>
+                      <div class="tooltip">
+                        <div class="triangle"></div>褰撳墠浠诲姟閲忥細{{ cneterData.currentPlanNum }}绠�
+                      </div>
                     </div>
                   </div>
                 </div>
                 <div class="side">
                   <div v-if="cneterData.crrentOutNum >= cneterData.hoursAbility" :style="{ width: cneterData.level33 }"
                     class="box box22">
-                    <div class="tag">
-                      <div class="icon"></div>
-                      <span>浠婃棩鍑哄簱</span>
+                    <div class="tooltip_wrap">
+                      <div class="tag">
+                        <div class="icon"></div>
+                        <span>浠婃棩鍑哄簱</span>
+                      </div>
+                      <div class="tooltip">
+                        <div class="triangle"></div>浠婃棩鍑哄簱閲忥細{{ cneterData.crrentOutNum }}绠�
+                      </div>
                     </div>
                   </div>
                   <div v-if="cneterData.hoursAbility <= cneterData.currentPlanNum"
                     :style="{ width: cneterData.level22 }" class="box box1 box11">
-                    <div class="tag tag1">
-                      <div class="icon"></div>
-                      <span>褰撳墠浠诲姟</span>
+                    <div class="tooltip_wrap">
+                      <div class="tag tag1">
+                        <div class="icon"></div>
+                        <span>褰撳墠浠诲姟</span>
+                      </div>
+                      <div class="tooltip">
+                        <div class="triangle"></div>褰撳墠浠诲姟閲忥細{{ cneterData.currentPlanNum }}绠�
+                      </div>
                     </div>
                   </div>
                   <!-- <div class="box"></div> -->
-                  <div class="scale" style="left: -12px;">8h</div>
-                  <div class="scale scale1">鏈�澶�</div>
+                  <div class="scale" style="left: -12px;">
+                    <div class="tooltip_wrap">
+                      <span>8h</span>
+                      <div class="tooltip">
+                        <div class="triangle"></div>8灏忔椂鍑哄簱鑳藉姏锛歿{ cneterData.hoursAbility }}绠�
+                      </div>
+                    </div>
+                  </div>
+                  <div class="scale scale1">
+                    <div class="tooltip_wrap">
+                      <span>鏈�澶�</span>
+                      <div class="tooltip">
+                        <div class="triangle"></div>鏈�澶у嚭搴撹兘鍔涳細{{ cneterData.maxAbility }}绠�
+                      </div>
+                    </div>
+                  </div>
                 </div>
               </div>
             </div>
@@ -1179,7 +1221,7 @@
     // 8灏忔椂 璁″垝 浠婃棩
     // obj.hoursAbility = 6000
     // obj.maxAbility = 8000
-    // obj.currentPlanNum = 5000
+    // obj.currentPlanNum = 22000
     // obj.crrentOutNum = 7000
 
     obj.level1 = ((obj.hoursAbility / obj.maxAbility) * 100).toFixed(2) + '%'
@@ -1954,7 +1996,7 @@
       margin-top: 20px;
       padding: 0px 10px 30px 20px;
       position: relative;
-
+      height: 160px;
       .content_wrap {
         display: flex;
         justify-content: space-between;
@@ -2214,6 +2256,36 @@
         justify-content: space-between;
         margin: 30px 0 14px;
 
+        .tooltip_wrap {
+          position: relative;
+
+          &:hover {
+            .tooltip {
+              display: block;
+            }
+          }
+
+          .tooltip {
+            display: none;
+            background: rgba(0, 30, 63, 0.6);
+            border: 1px solid #003F82;
+            backdrop-filter: blur(3px);
+            padding: 10px;
+            font-size: 15px;
+            color: #fff;
+            line-height: 19px;
+            font-weight: 400;
+            border-radius: 6px;
+            width: 230px;
+            position: absolute;
+            line-height: 24px;
+            left: 100%;
+            top: 50%;
+            transform: translate(20px, -42%);
+            z-index: 999999999999999;
+          }
+        }
+
         .item {
           display: flex;
 
@@ -2303,6 +2375,7 @@
 
             .tag {
               position: absolute;
+              z-index: 99999;
               bottom: -30px;
               right: 0;
               transform: translate(50%, 0);
@@ -2329,7 +2402,13 @@
                 z-index: -1;
               }
             }
-
+            .tooltip_wrap{
+              .tooltip{
+                z-index: 9999999999;
+                top: 34px;
+                transform: translate(70px, -42%);
+              }
+            }
             .tag1 {
               background-color: #28F0CC;
               border: 1px solid #28F0CC;
@@ -2358,16 +2437,52 @@
             background: linear-gradient(270deg, #f4b34a 0%, #FFEA70 100%);
           }
 
+          .tooltip_wrap {
+            /* position: relative; */
+
+            &:hover {
+              .tooltip {
+                display: block;
+              }
+            }
+
+            .tooltip {
+              display: none;
+              background: #071b32;
+              border: 1px solid #003F82;
+              /* backdrop-filter: blur(3px); */
+              padding: 10px;
+              font-size: 15px;
+              color: #fff;
+              line-height: 19px;
+              font-weight: 400;
+              border-radius: 6px;
+              width: 200px;
+              position: absolute;
+              z-index: 99999999;
+              left: 100%;
+              top: 50%;
+              transform: translate(30px, -42%);
+            }
+          }
+
           .scale {
             position: absolute;
             top: -24px;
             left: 0;
             font-size: 16px;
             color: #D2E0FF;
+
+            .tooltip_wrap {
+              .tooltip {
+                width: 240px;
+                transform: translate(20px, -50%);
+              }
+            }
           }
 
           .scale1 {
-            left: 84%;
+            left: 92%;
             min-width: 36px;
           }
 
@@ -2479,14 +2594,14 @@
       left: 130px;
       z-index: 999;
       top: -5px;
-      width: 407px;
+      width: 420px;
       height: 148px;
       background: rgba(0, 30, 63, 0.6);
       border: 1px solid #003F82;
       backdrop-filter: blur(3px);
       padding: 10px;
       font-size: 13px;
-      color: #e2ebfd;
+      color: #ebf1fb;
       line-height: 19px;
       font-weight: 400;
       border-radius: 6px;
@@ -2534,7 +2649,7 @@
 
   .hover_wrap {
     display: none;
-    
+
     position: absolute;
     left: 108%;
     z-index: 999;
@@ -2546,7 +2661,7 @@
     backdrop-filter: blur(3px);
     padding: 10px;
     font-size: 15px;
-    color: #e2ebfd;
+    color: #e9f0ff;
     line-height: 19px;
     font-weight: 400;
     border-radius: 6px;
@@ -2555,23 +2670,25 @@
       margin-bottom: 3px;
     }
 
-    .triangle {
-      width: 12px;
-      height: 12px;
-      position: absolute;
-      top: 10px;
-      left: -6px;
-      transform: rotate(45deg);
-      border-left: 1px solid #003F82;
-      border-bottom: 1px solid #003F82;
-      background: rgba(0, 30, 63, 0.6);
-      /* backdrop-filter: blur(3px); */
-    }
 
     .title {
       color: #e2ebfd;
     }
   }
+}
+
+.triangle {
+  width: 12px;
+  height: 12px;
+  position: absolute;
+  top: 36%;
+  transform: translate(-50%, -50%);
+  left: -6px;
+  transform: rotate(45deg);
+  border-left: 1px solid #003F82;
+  border-bottom: 1px solid #003F82;
+  background: rgba(0, 30, 63, 0.6);
+  /* backdrop-filter: blur(3px); */
 }
 
 .main_header {
@@ -2704,16 +2821,19 @@
       top: -32px !important;
     }
   }
-  .stock{
+
+  .stock {
     display: flex;
     align-items: center;
     color: #dd5d2a;
     margin-bottom: 8px;
-    img{
+
+    img {
       margin-right: 6px;
       width: 14px;
     }
   }
+
   .title_head {
     display: flex;
     align-items: center;

--
Gitblit v1.9.3