|  |  |  | 
|---|
|  |  |  | <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; | 
|---|