|  |  | 
 |  |  | <template> | 
 |  |  |   <v-scale-screen width="1920" height="960" :fullScreen="true"> | 
 |  |  |   <v-scale-screen width="1920" height="960"> | 
 |  |  |     <div class="main_app"> | 
 |  |  |       <img src="@/assets/images/energy_ef/bg@2x.png" class="main_bg" alt="" /> | 
 |  |  |       <div class="main_header"> | 
 |  |  |         <!-- <img src="@/assets/images/maintitle.gif" class="main_header_bg" alt="" /> --> | 
 |  |  |         <img src="@/assets/images/maintitle@2x.png" class="main_header_bg" alt="" /> | 
 |  |  |         <div class="title">安泰智慧物流园区-调度能效跟踪</div> | 
 |  |  |         <div class="time_wrap"> | 
 |  |  | 
 |  |  |           <div class="center_box_two"></div> | 
 |  |  |         </div> | 
 |  |  |         <div class="right_box"> | 
 |  |  |           <div class="right_box_one"></div> | 
 |  |  |           <div class="right_box_two"></div> | 
 |  |  |           <div class="right_box_three"></div> | 
 |  |  |           <div class="right_box_one"> | 
 |  |  |             <div class="com_header"> | 
 |  |  |               <div class="title"> | 
 |  |  |                 <img src="@/assets/images/ic_title@2x.png" class="icon" alt="" /> | 
 |  |  |                 <div>出入库效率</div> | 
 |  |  |               </div> | 
 |  |  |               <div class="tabs"> | 
 |  |  |                 <div class="tab active">今日</div> | 
 |  |  |                 <div class="separate"></div> | 
 |  |  |                 <div class="tab">本月</div> | 
 |  |  |               </div> | 
 |  |  |               <img src="@/assets/images/title@2x.png" class="bg" alt="" /> | 
 |  |  |             </div> | 
 |  |  |             <div class="static_wrap"> | 
 |  |  |               <div class="item"> | 
 |  |  |                 <img src="@/assets/images/energy_ef/ic_chukuxiaolv@2x.png" alt=""> | 
 |  |  |                 <div class="content"> | 
 |  |  |                   <div class="name">出库效率</div> | 
 |  |  |                   <div class="num"><span>1000</span>万支/小时</div> | 
 |  |  |                 </div> | 
 |  |  |               </div> | 
 |  |  |               <div class="item"> | 
 |  |  |                 <img src="@/assets/images/energy_ef/ic_rukuxiaolv@2x.png" alt=""> | 
 |  |  |                 <div class="content"> | 
 |  |  |                   <div class="name">入库效率</div> | 
 |  |  |                   <div class="num"><span class="today">1000</span>万支/小时</div> | 
 |  |  |                 </div> | 
 |  |  |               </div> | 
 |  |  |             </div> | 
 |  |  |           </div> | 
 |  |  |           <div class="right_box_two"> | 
 |  |  |             <div class="com_header"> | 
 |  |  |               <div class="title"> | 
 |  |  |                 <img src="@/assets/images/ic_title@2x.png" class="icon" alt="" /> | 
 |  |  |                 <div>今日入库量统计</div> | 
 |  |  |               </div> | 
 |  |  |               <img src="@/assets/images/title@2x.png" class="bg" alt="" /> | 
 |  |  |             </div> | 
 |  |  |             <div class="content"> | 
 |  |  |               <div class="echart_wrap"> | 
 |  |  |                 <div class="pie_text"> | 
 |  |  |                   <div class="fs30"><strong>300</strong></div> | 
 |  |  |                   <div>入库数量</div> | 
 |  |  |                 </div> | 
 |  |  |                 <div class="echart" id="echart1"></div> | 
 |  |  |               </div> | 
 |  |  |               <div class="list"> | 
 |  |  |                 <div class="item"> | 
 |  |  |                   <div class="line"> | 
 |  |  |                     <div :style="{ background: colors[0] }" class="icon"></div> | 
 |  |  |                     <div class="text">合肥厂</div> | 
 |  |  |                   </div> | 
 |  |  |                   <div :style="{ color: colors[0] }" class="num">100万支 | 55%</div> | 
 |  |  |                 </div> | 
 |  |  |                 <div class="item"> | 
 |  |  |                   <div class="line"> | 
 |  |  |                     <div :style="{ background: colors[1] }" class="icon"></div> | 
 |  |  |                     <div class="text">集散中心</div> | 
 |  |  |                   </div> | 
 |  |  |                   <div :style="{ color: colors[1] }" class="num">100万支 | 55%</div> | 
 |  |  |                 </div> | 
 |  |  |                 <div class="item"> | 
 |  |  |                   <div class="line"> | 
 |  |  |                     <div :style="{ background: colors[2] }" class="icon"></div> | 
 |  |  |                     <div class="text">市公司</div> | 
 |  |  |                   </div> | 
 |  |  |                   <div :style="{ color: colors[2] }" class="num">100万支 | 55%</div> | 
 |  |  |                 </div> | 
 |  |  |               </div> | 
 |  |  |             </div> | 
 |  |  |           </div> | 
 |  |  |           <div class="right_box_three"> | 
 |  |  |             <div class="com_header"> | 
 |  |  |               <div class="title"> | 
 |  |  |                 <img src="@/assets/images/ic_title@2x.png" class="icon" alt="" /> | 
 |  |  |                 <div>库存情况</div> | 
 |  |  |               </div> | 
 |  |  |               <img src="@/assets/images/title@2x.png" class="bg" alt="" /> | 
 |  |  |             </div> | 
 |  |  |             <div class="repertory"> | 
 |  |  |               <div class="use_ratio"> | 
 |  |  |                 <div class="header"> | 
 |  |  |                   <div>库存量 <span class="num">80/100</span></div> | 
 |  |  |                   <div>利用率 88%</div> | 
 |  |  |                 </div> | 
 |  |  |                 <Percent :rate="80" /> | 
 |  |  |               </div> | 
 |  |  |               <div class="list"> | 
 |  |  |                 <div class="item"> | 
 |  |  |                   <div class="la">黄山(新制皖烟)</div> | 
 |  |  |                   <div class="val">400万支</div> | 
 |  |  |                 </div> | 
 |  |  |                 <div class="item"> | 
 |  |  |                   <div class="la">黄山(新制皖烟)</div> | 
 |  |  |                   <div class="val">400万支</div> | 
 |  |  |                 </div> | 
 |  |  |               </div> | 
 |  |  |             </div> | 
 |  |  |           </div> | 
 |  |  |         </div> | 
 |  |  |       </div> | 
 |  |  |     </div> | 
 |  |  | 
 |  |  | <script setup> | 
 |  |  | import { ref, onMounted } from 'vue' | 
 |  |  | import VScaleScreen from 'v-scale-screen' | 
 |  |  | import Percent from '@/components/percent.vue' | 
 |  |  | import dayjs from 'dayjs' | 
 |  |  | import * as echarts from 'echarts' | 
 |  |  |  | 
 |  |  | import * as echarts from 'echarts' | 
 |  |  | const colors = ['#FEAF01', '#01ABFE', '#51F9E4'] | 
 |  |  | const weekMap = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六',] | 
 |  |  | const date = ref(dayjs().format('YYYY.MM.DD')) | 
 |  |  | const week = ref(weekMap[new Date().getDay()]) | 
 |  |  | 
 |  |  |     myChart.resize() | 
 |  |  |   }) | 
 |  |  | } | 
 |  |  | const initEchart1 = () => { | 
 |  |  |   const myChart = echarts.init(document.getElementById('echart1')) | 
 |  |  |   const option = { | 
 |  |  |     series: [ | 
 |  |  |       { | 
 |  |  |         type: 'pie', | 
 |  |  |         radius: ['86%', '100%'], | 
 |  |  |         label: { | 
 |  |  |           show: false, | 
 |  |  |           position: 'center' | 
 |  |  |         }, | 
 |  |  |         padAngle: 5, | 
 |  |  |         itemStyle: { | 
 |  |  |           borderRadius: 10 | 
 |  |  |         }, | 
 |  |  |         color: colors, | 
 |  |  |         labelLine: { | 
 |  |  |           show: false | 
 |  |  |         }, | 
 |  |  |         data: [ | 
 |  |  |           { value: 1048, name: 'Search Engine' }, | 
 |  |  |           { value: 735, name: 'Direct' }, | 
 |  |  |           { value: 580, name: 'Email' } | 
 |  |  |         ] | 
 |  |  |       } | 
 |  |  |     ] | 
 |  |  |   } | 
 |  |  |   myChart.setOption(option) | 
 |  |  |   window.addEventListener('resize', function () { // 执行 | 
 |  |  |     myChart.resize() | 
 |  |  |   }) | 
 |  |  | } | 
 |  |  |  | 
 |  |  | onMounted(() => { | 
 |  |  |   initEnergy() | 
 |  |  |   initEchart1() | 
 |  |  | }) | 
 |  |  |  | 
 |  |  |  | 
 |  |  | 
 |  |  |   .center_box { | 
 |  |  |     flex: 1; | 
 |  |  |     padding: 16px 60px; | 
 |  |  |  | 
 |  |  |     .center_box_one { | 
 |  |  |       .tabs { | 
 |  |  |         display: flex; | 
 |  |  | 
 |  |  |                     #20FFC5 50%, | 
 |  |  |                     #20FFC5 100%); | 
 |  |  |               } | 
 |  |  |               .finish{ | 
 |  |  |  | 
 |  |  |               .finish { | 
 |  |  |                 background-image: -webkit-linear-gradient(top, | 
 |  |  |                     #fff 0%, | 
 |  |  |                     #FFB120 50%, | 
 |  |  | 
 |  |  |         } | 
 |  |  |       } | 
 |  |  |     } | 
 |  |  |     .center_box_two{ | 
 |  |  |  | 
 |  |  |     .center_box_two { | 
 |  |  |       width: 100%; | 
 |  |  |       border: 1px solid; | 
 |  |  |     } | 
 |  |  | 
 |  |  |  | 
 |  |  |   .right_box { | 
 |  |  |     width: 440px; | 
 |  |  |  | 
 |  |  |     .right_box_one { | 
 |  |  |       margin-bottom: 20px; | 
 |  |  |  | 
 |  |  |       .static_wrap { | 
 |  |  |         display: flex; | 
 |  |  |         justify-content: space-evenly; | 
 |  |  |         align-items: center; | 
 |  |  |         height: 140px; | 
 |  |  |  | 
 |  |  |         .item { | 
 |  |  |           display: flex; | 
 |  |  |           align-items: center; | 
 |  |  |  | 
 |  |  |           img { | 
 |  |  |             width: 80px; | 
 |  |  |             height: 80px; | 
 |  |  |             margin-right: 5px; | 
 |  |  |           } | 
 |  |  |  | 
 |  |  |           .content { | 
 |  |  |             font-size: 14px; | 
 |  |  |  | 
 |  |  |             .num { | 
 |  |  |               font-size: 12px; | 
 |  |  |               color: #D2E0FF; | 
 |  |  |               margin-top: 8px; | 
 |  |  |  | 
 |  |  |               span { | 
 |  |  |                 font-weight: bold; | 
 |  |  |                 font-size: 24px; | 
 |  |  |                 margin-right: 4px; | 
 |  |  |                 font-weight: 600; | 
 |  |  |                 background-image: -webkit-linear-gradient(top, | 
 |  |  |                     #01D9FE 0%, | 
 |  |  |                     #01D9FE 60%, | 
 |  |  |                     #fff 100%); | 
 |  |  |                 -webkit-background-clip: text; | 
 |  |  |                 -webkit-text-fill-color: transparent; | 
 |  |  |               } | 
 |  |  |  | 
 |  |  |               .today { | 
 |  |  |                 background-image: -webkit-linear-gradient(top, | 
 |  |  |                     #fff 0%, | 
 |  |  |                     #20FFC5 50%, | 
 |  |  |                     #20FFC5 100%); | 
 |  |  |               } | 
 |  |  |  | 
 |  |  |               .finish { | 
 |  |  |                 background-image: -webkit-linear-gradient(top, | 
 |  |  |                     #fff 0%, | 
 |  |  |                     #FFB120 50%, | 
 |  |  |                     #FFB120 100%); | 
 |  |  |               } | 
 |  |  |             } | 
 |  |  |           } | 
 |  |  |         } | 
 |  |  |       } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     .right_box_two { | 
 |  |  |       .content { | 
 |  |  |         display: flex; | 
 |  |  |         justify-content: center; | 
 |  |  |         align-items: center; | 
 |  |  |         height: 200px; | 
 |  |  |         border: 1px solid; | 
 |  |  |  | 
 |  |  |         .echart_wrap { | 
 |  |  |           position: relative; | 
 |  |  |  | 
 |  |  |           .pie_text { | 
 |  |  |             width: 104px; | 
 |  |  |             height: 104px; | 
 |  |  |             border: 1px dashed; | 
 |  |  |             border-radius: 50%; | 
 |  |  |             position: absolute; | 
 |  |  |  | 
 |  |  |             left: 50%; | 
 |  |  |             top: 50%; | 
 |  |  |             transform: translate(-50%, -50%); | 
 |  |  |             z-index: 999; | 
 |  |  |             display: flex; | 
 |  |  |             flex-direction: column; | 
 |  |  |             justify-content: center; | 
 |  |  |             align-items: center; | 
 |  |  |             font-size: 14px; | 
 |  |  |  | 
 |  |  |             .fs30 { | 
 |  |  |               font-size: 30px; | 
 |  |  |             } | 
 |  |  |           } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         .echart { | 
 |  |  |           width: 140px; | 
 |  |  |           height: 140px; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         .list { | 
 |  |  |           margin-left: 36px; | 
 |  |  |  | 
 |  |  |           .item { | 
 |  |  |             margin-bottom: 14px; | 
 |  |  |             font-size: 14px; | 
 |  |  |  | 
 |  |  |             &:nth-last-child(1) { | 
 |  |  |               margin: 0; | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             .line { | 
 |  |  |               display: flex; | 
 |  |  |               align-items: center; | 
 |  |  |               margin-bottom: 6px; | 
 |  |  |  | 
 |  |  |               .icon { | 
 |  |  |                 width: 12px; | 
 |  |  |                 height: 12px; | 
 |  |  |                 border-radius: 50%; | 
 |  |  |                 margin-right: 10px; | 
 |  |  |                 background: linear-gradient(270deg, #29aeff 0%, #207ff7 100%); | 
 |  |  |               } | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             .num { | 
 |  |  |               margin-left: 20px; | 
 |  |  |             } | 
 |  |  |           } | 
 |  |  |         } | 
 |  |  |       } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     .right_box_three { | 
 |  |  |       .repertory { | 
 |  |  |         .header { | 
 |  |  |           padding: 15px; | 
 |  |  |           display: flex; | 
 |  |  |           justify-content: space-between; | 
 |  |  |           align-items: center; | 
 |  |  |           font-size: 14px; | 
 |  |  |           color: #D2E0FF; | 
 |  |  |           margin-bottom: 11px; | 
 |  |  |           .num { | 
 |  |  |             font-weight: 500; | 
 |  |  |             font-size: 16px; | 
 |  |  |             color: #FFFFFF; | 
 |  |  |           } | 
 |  |  |         } | 
 |  |  |         .list{ | 
 |  |  |           margin-top: 22px; | 
 |  |  |           .item{ | 
 |  |  |             width: 100%; | 
 |  |  |             height: 36px; | 
 |  |  |             display: flex; | 
 |  |  |             align-items: center; | 
 |  |  |             &:nth-of-type(2n+1){ | 
 |  |  |               background: rgba(0,152,255,0.13); | 
 |  |  |             } | 
 |  |  |             .la{ | 
 |  |  |               flex: 5; | 
 |  |  |               padding-left: 20px; | 
 |  |  |             } | 
 |  |  |             .val{ | 
 |  |  |               flex: 2; | 
 |  |  |             } | 
 |  |  |           } | 
 |  |  |         } | 
 |  |  |       } | 
 |  |  |     } | 
 |  |  |   } | 
 |  |  | } | 
 |  |  |  | 
 |  |  | 
 |  |  |  | 
 |  |  | .main_app { | 
 |  |  |   width: 1920px; | 
 |  |  |   min-height: 960px; | 
 |  |  |   height: 960px; | 
 |  |  |   /* width: 100%; | 
 |  |  |   height: 100vh; */ | 
 |  |  |   background: #0b2539; | 
 |  |  |   color: #FFFFFF; | 
 |  |  |   position: relative; | 
 |  |  |   z-index: -2; | 
 |  |  |  | 
 |  |  |   font-size: 14px; | 
 |  |  |   .main_bg { | 
 |  |  |     position: absolute; | 
 |  |  |     left: 0; |