| | |
| | | </div> |
| | | <div class="content_wrap"> |
| | | <div class="content"> |
| | | <div class="num" v-if="data1.monthOutTotal || data1.yearOutTotal">{{ activeTab1 == 0 ? data1.monthOutTotal.toLocaleString() : data1.yearOutTotal.toLocaleString() }}</div> |
| | | <div class="num" v-if="data1.monthOutTotal || data1.yearOutTotal">{{ activeTab1 == 0 ? |
| | | data1.monthOutTotal.toLocaleString() : data1.yearOutTotal.toLocaleString() }}</div> |
| | | <div class="unit_wrap" v-if="data1.monthOutTotalOnYear || data1.yearOutTotalOnYear"> |
| | | <span style="color: #869CC9;">同比</span> |
| | | <img |
| | |
| | | <div class="use_ratio"> |
| | | <div class="header"> |
| | | <div>库存量 <span class="num">{{data1.stockTotal}}/{{data1.stockMax}}</span></div> |
| | | <div v-if="data1.stockTotal && data1.stockMax">利用率{{ ((data1.stockTotal / data1.stockMax) * 100).toFixed(0) }}%</div> |
| | | <div v-if="data1.stockTotal && data1.stockMax">利用率{{ ((data1.stockTotal / data1.stockMax) * |
| | | 100).toFixed(0) }}%</div> |
| | | </div> |
| | | <Percent v-if="data1.stockTotal && data1.stockMax" :rate="((data1.stockTotal / data1.stockMax) * 100).toFixed(0)" /> |
| | | <Percent v-if="data1.stockTotal && data1.stockMax" |
| | | :rate="((data1.stockTotal / data1.stockMax) * 100).toFixed(0)" /> |
| | | </div> |
| | | <div class="list"> |
| | | <div class="item" v-for="item in dataList6"> |
| | | <div class="la">{{ item.name }}</div> |
| | | <div class="val">{{item.num}}万支</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- --> |
| | | <div class="modal" v-if="showModal"> |
| | | <div class="title_head"> |
| | | <img src="@/assets/images/energy_ef/chuku_ic_car@2x.png" alt=""> |
| | | <span>皖a222</span> |
| | | </div> |
| | | <div class="info"> |
| | | <div class="item"> |
| | | <div class="dian"></div> |
| | | <div class="la">运输单号:</div> |
| | | <div class="val">22</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="dian"></div> |
| | | <div class="la">司机信息:</div> |
| | | <div class="val">22</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="dian"></div> |
| | | <div class="la">总运输量:</div> |
| | | <div class="val">22 万支</div> |
| | | </div> |
| | | </div> |
| | | <div class="tabs"> |
| | | <div :class="{ active: modalTab == 0 }" @click="modalTabClick(0)" class="tab">作业信息</div> |
| | | <div :class="{ active: modalTab == 1 }" @click="modalTabClick(1)" class="tab">合同列表</div> |
| | | </div> |
| | | <div class="tab1" v-if="modalTab == 0"> |
| | | <div class="item" v-for="item, i in 3"> |
| | | <div class="icon_wrap"> |
| | | <img v-if="i === 0" class="dian" src="@/assets/images/ic_dangqian@2x.png" alt=""> |
| | | <img v-else src="@/assets/images/ic_jindu@2x.png" class="dian_ac" alt=""> |
| | | <div class="line"></div> |
| | | </div> |
| | | <div class="content"> |
| | | <div class="status">作业中</div> |
| | | <div class="text">作业任务在【入库去1号月台】开始作业</div> |
| | | <div class="time">2024-04-02 12:00</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="tab2" v-if="modalTab == 1"> |
| | | <div class="list"> |
| | | <div class="item"> |
| | | <div class="head"> |
| | | <div class="code">合同号:12312312</div> |
| | | <div class="addr">收货地:江门烟草物流中心</div> |
| | | </div> |
| | | <div class="line" v-for="i in 3"> |
| | | <div class="name">物料名称:<span class="val">黄山</span></div> |
| | | <div class="num">数量:<span class="val">100万支</span></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | }, 1000) |
| | | |
| | | const arr = ['#68e2e3', '#50afd3', '#377cdb', '#d5ae3a'] |
| | | const showModal = ref(false) |
| | | const modalTab = ref(0) |
| | | const modalTabClick = (val) => { |
| | | modalTab.value = val |
| | | } |
| | | |
| | | |
| | | |
| | | const initEnergy = () => { |
| | | var myChart = echarts.init(document.querySelector('.energyRef')) |
| | | // 绘制图表 |
| | |
| | | height: 240px; |
| | | overflow: auto; |
| | | scrollbar-width: none; |
| | | |
| | | .item { |
| | | width: 100%; |
| | | height: 36px; |
| | |
| | | } |
| | | } |
| | | |
| | | .modal { |
| | | width: 600px; |
| | | height: 556px; |
| | | background: rgba(0, 30, 63, 0.5); |
| | | backdrop-filter: blur(5px); |
| | | position: fixed; |
| | | top: 20%; |
| | | left: 50%; |
| | | transform: translate(-50%, 0); |
| | | z-index: 99; |
| | | padding: 24px; |
| | | |
| | | .title_head { |
| | | display: flex; |
| | | align-items: center; |
| | | font-weight: bold; |
| | | font-size: 17px; |
| | | margin-bottom: 20px; |
| | | |
| | | img { |
| | | width: 20px; |
| | | margin-right: 4px; |
| | | } |
| | | } |
| | | |
| | | .info { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | |
| | | .item { |
| | | display: flex; |
| | | align-items: center; |
| | | font-size: 13px; |
| | | width: 55%; |
| | | margin-bottom: 8px; |
| | | |
| | | &:nth-of-type(2n+1) { |
| | | width: 45%; |
| | | } |
| | | |
| | | .dian { |
| | | width: 4px; |
| | | height: 4px; |
| | | background-color: #fff; |
| | | border-radius: 50%; |
| | | margin-right: 4px; |
| | | } |
| | | |
| | | .la { |
| | | color: #01D9FE; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .tabs { |
| | | display: flex; |
| | | border-bottom: 1px solid rgba(255, 255, 255, 0.16); |
| | | margin: 0 -24px; |
| | | margin-bottom: 20px; |
| | | padding-left: 12px; |
| | | |
| | | .tab { |
| | | color: #869CC9; |
| | | font-size: 14px; |
| | | margin-right: 12px; |
| | | width: 80px; |
| | | height: 42px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | border-bottom: 2px solid #06182e; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .active { |
| | | font-weight: 500; |
| | | font-size: 15px; |
| | | color: #00F2F3; |
| | | border-bottom: 2px solid #00F2F3; |
| | | } |
| | | } |
| | | |
| | | .tab1 { |
| | | .item { |
| | | display: flex; |
| | | |
| | | &:nth-last-child(1) { |
| | | .content { |
| | | .time { |
| | | padding-bottom: 0; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .icon_wrap { |
| | | width: 24px; |
| | | margin-right: 10px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | |
| | | .dian { |
| | | width: 12px; |
| | | height: 12px; |
| | | } |
| | | |
| | | .dian_ac { |
| | | width: 24px; |
| | | height: 24px; |
| | | } |
| | | |
| | | .line { |
| | | width: 1px; |
| | | height: 100%; |
| | | border: 1px dashed #8a9bc5; |
| | | } |
| | | } |
| | | |
| | | .content { |
| | | font-size: 13px; |
| | | color: #D2E0FF; |
| | | |
| | | .status { |
| | | font-weight: 500; |
| | | font-size: 14px; |
| | | margin-bottom: 5px; |
| | | color: #fff; |
| | | } |
| | | |
| | | .text { |
| | | margin-bottom: 4px; |
| | | } |
| | | |
| | | .time { |
| | | font-size: 12px; |
| | | padding-bottom: 12px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .tab2 { |
| | | .list { |
| | | .item { |
| | | width: 560px; |
| | | background: rgba(1, 171, 254, 0.1); |
| | | font-size: 12px; |
| | | color: #D2E0FF; |
| | | padding: 10px; |
| | | margin-bottom: 10px; |
| | | .head { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | height: 36px; |
| | | line-height: 36px; |
| | | border-bottom: 1px solid rgba(255,255,255,0.16); |
| | | margin-bottom: 10px; |
| | | .code { |
| | | font-weight: 500; |
| | | font-size: 14px; |
| | | color: #00F2F3; |
| | | } |
| | | } |
| | | .line{ |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 8px; |
| | | &:nth-last-child(1){ |
| | | margin-bottom: 0; |
| | | } |
| | | .name{ |
| | | flex: 4; |
| | | } |
| | | .num{ |
| | | flex: 3; |
| | | } |
| | | .val{ |
| | | color: #fff; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .bg { |
| | | position: absolute; |
| | | left: 0; |