|
@@ -41,7 +41,7 @@
|
|
|
<div class="abs" id="order_app_line" ref="order_app_line" style="height: 50px; left: 192px; top: 287px;"><img src="../../assets/image/bpb/v317.png" style="width: 100%;height: 100%;"><img class="abs refresh" src="../../assets/image/bpb/refresh.png" style="left: 35%;top:8%;"></div>
|
|
|
<div class="bpb_mt_list" ref="bpb_mt_list">
|
|
|
<div class="title bpb_order_num fontcolor" @click="showAllBomList">物料清单 <b>{{ bpb_mt_item_data.length }}</b></div>
|
|
|
- <div class="title fontcolor" style="left: 443px;top: 111px;">经编产能</div>
|
|
|
+ <div class="title fontcolor" style="left: 420px;top: 111px;width:77%">经编产能</div>
|
|
|
<img class="wlbg" src="../../assets/image/bpb/wlbg.png">
|
|
|
<div class="wlbg" style="right: -9px;top: 0%;height: 169%;bor;box-shadow: 3px 3px 10px #287faa;border: 1px solid rgb(47, 120, 171);width: 27%;border-radius: 3px;transform: rotateZ(240deg) rotateX(136deg) rotateY(-218deg) skew(0deg, -2deg);background: #0f3f6645;"></div>
|
|
|
<div class="itemlist">
|
|
@@ -97,13 +97,22 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="bpb_order_resultlist" ref="bpb_order_resultlist" style="left:inherit;right: 50px;top:calc(0.7*710px)">
|
|
|
- <div ref="bpb_order_resultlist_title" class="bpb_order_num fontcolor" @click="showAllResultList" style="width: 75%;text-align: center;">
|
|
|
+ <div ref="bpb_order_resultlist_title" class="bpb_order_num fontcolor" @click="showAllResultList" :style="{'width': plcPredictState=='2'?'75%':'0px','text-align': 'center'}">
|
|
|
<div v-if="plcPredictState==2">预测结果 <b>{{ order_result_data.length }}</b></div>
|
|
|
</div>
|
|
|
<div class="itemlist" v-show="plcPredictState==2">
|
|
|
- <div :class="item.isalarm?'bpb_order_item alarm': 'bpb_order_item'" v-for="item in order_result_data_Top5" :key="item.id" :style="{zIndex:item.zindex,top:item.top,left:item.left,transition:transition}">
|
|
|
+ <div :class="item.isalarm?'bpb_order_result_item alarm': 'bpb_order_result_item'" v-for="item in order_result_data_Top5" :key="item.id" :style="{zIndex:item.zindex,top:item.top,left:item.left,transition:transition}">
|
|
|
+ <!--
|
|
|
<div class="no" v-if="!item.isalarm">产能过剩:{{item.neednum/1000}} T<br>编号:{{ item.id }}</div>
|
|
|
<div class="no" v-else>产能不足:{{item.neednum/1000}}T<br>编号:{{ item.id }}</div>
|
|
|
+ -->
|
|
|
+ <table cellspacing="0" cellpadding="0"><tbody>
|
|
|
+ <tr><td rowspan="2">{{ item.name }}<br>{{ item.bomSpec }}</td></tr>
|
|
|
+ <tr><td>
|
|
|
+ <div v-if="!item.isalarm">产能过剩:{{item.neednum/1000}} T</div>
|
|
|
+ <div v-else>产能不足:{{item.neednum/1000}}T</div>
|
|
|
+ </td></tr>
|
|
|
+ </tbody></table>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="abs order_result_line" ref="order_result_line">
|
|
@@ -154,9 +163,9 @@
|
|
|
<div class="bom_triangle2"></div>
|
|
|
<div class="bom_triangle"></div>
|
|
|
<el-table :data="order_result_data" :style="{'height': result_table_height+'px'}">
|
|
|
- <el-table-column label="订单编号" align="center" prop="id" />
|
|
|
- <el-table-column label="客户名称" align="center" prop="customerName" width="240px"/>
|
|
|
- <el-table-column label="订单时间" align="center" prop="orderDate" width="160px"/>
|
|
|
+ <el-table-column label="物料编号" align="center" prop="id" />
|
|
|
+ <el-table-column label="物料名称" align="center" prop="name" width="240px"/>
|
|
|
+ <el-table-column label="物料规格" align="center" prop="bomSpec" width="120px"/>
|
|
|
<el-table-column label="预测结果" align="center" prop="neednum" >
|
|
|
<template #default="scope">
|
|
|
<span :style="{'color':scope.row.isalarm?'red':''}" v-html="(scope.row.neednum>0?'产能不足<br>':'产能过剩<br>') + (scope.row.neednum/1000) +'T'"></span>
|
|
@@ -385,7 +394,7 @@ export default {
|
|
|
else boms[element.bomCode].xql = boms[element.bomCode].xql + xql;
|
|
|
}
|
|
|
}
|
|
|
- console.log(boms)
|
|
|
+ //console.log(boms)
|
|
|
if(selectPredictOrders.value.length==0) storageQueryState.value=0;
|
|
|
else{
|
|
|
setTimeout(() => {
|
|
@@ -399,7 +408,7 @@ export default {
|
|
|
let top=11+(ind*30)+'px';
|
|
|
let zindex = 100-ind;
|
|
|
let left = 272+(ind*-53)+'px';
|
|
|
- let obj = {"id":item.id,name:item.name,bomSpec:item.bomSpec,"top":top,"zindex":zindex,"left":left,"isalarm":item.isalarm,need:item.need,storage:item.storage,plc:item.plc};
|
|
|
+ let obj = {"id":item.id,name:item.name,bomSpec:item.bomSpec,"top":top,"zindex":zindex,"left":left,"isalarm":item.isalarm,need:item.need,storage:item.storage,plc:item.plc,"neednum":0};
|
|
|
tempLst.push(obj);
|
|
|
});
|
|
|
bpb_mt_item_data.value = tempLst;
|
|
@@ -431,7 +440,7 @@ export default {
|
|
|
ele['storage'] = bomItem.kcl;
|
|
|
ele['isalarm'] = false;
|
|
|
ele['opacity'] = 1;
|
|
|
- ele['plc'] = bomItem.last;
|
|
|
+ ele['plc'] = bomItem.ycl;
|
|
|
})
|
|
|
bpb_mt_item_data.value = tempLst;
|
|
|
bpb_mt_item_data_Top6.value = tempLst.slice(0,6);
|
|
@@ -444,6 +453,7 @@ export default {
|
|
|
plcPredictState.value = 1;
|
|
|
//预测结果列表
|
|
|
var temp2=[];
|
|
|
+ /*
|
|
|
for (let index = 0; index < selectPredictOrders.value.length; index++) {
|
|
|
const element = selectPredictOrders.value[index];
|
|
|
var isalarm=false;
|
|
@@ -456,27 +466,34 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
temp2.push({id:element.id||element.orderCode,customerName:element.customerName,orderDate:element.orderDate,isalarm:isalarm,neednum:neednum})
|
|
|
+ }*/
|
|
|
+ for(let index=0;index<bpb_mt_item_data.value.length;index++){
|
|
|
+ const element = {...bpb_mt_item_data.value[index]};
|
|
|
+ var neednum = element.need-element.storage-element.plc;
|
|
|
+ element['isalarm'] = neednum>0? true : false;
|
|
|
+ element["neednum"] = neednum;
|
|
|
+ temp2.push(element);
|
|
|
}
|
|
|
temp2.sort(function(a, b){
|
|
|
return a.isalarm - b.isalarm
|
|
|
}).reverse();
|
|
|
order_result_data.value = temp2;
|
|
|
- order_result_data_Top5.value = temp2.slice(0,10);
|
|
|
+ order_result_data_Top5.value = temp2.slice(0,6);
|
|
|
setTimeout(() => {
|
|
|
//排列预测结果元素
|
|
|
let tmpLst = [];
|
|
|
order_result_data.value.forEach((item,ind)=>{
|
|
|
- tmpLst.push({"id":item.id,customerName:item.customerName,orderDate:item.orderDate,"zindex":1+ind,"left":'0px',"top":(ind*-37)+'px',"isalarm":item.isalarm,"neednum":item.neednum,transition:"opt "+(ind*0.5)+"s ease-in-out"});
|
|
|
+ tmpLst.push({"id":item.id,name:item.name,bomSpec:item.bomSpec,"zindex":1+ind,"left":'0px',"top":(ind*-65)+'px',"isalarm":item.isalarm,"neednum":item.neednum,transition:"opt "+(ind*0.5)+"s ease-in-out"});
|
|
|
});
|
|
|
order_result_data.value = tmpLst;
|
|
|
- order_result_data_Top5.value = tmpLst.slice(0,10);
|
|
|
+ order_result_data_Top5.value = tmpLst.slice(0,6);
|
|
|
var orderCount = order_result_data_Top5.value.length;
|
|
|
if(orderCount>3) orderCount=3;
|
|
|
- var tmpTop = parseInt(window.getComputedStyle(bpb_order_resultlist.value.querySelectorAll('.bpb_order_item')[0]).height)*0.7+((orderCount-1)*30);
|
|
|
+ var tmpTop = parseInt(window.getComputedStyle(bpb_order_resultlist.value.querySelectorAll('.bpb_order_result_item')[0]).height)*0.7+((orderCount-1)*30);
|
|
|
order_result_line.value.style.left = 'inherit';
|
|
|
order_result_line.value.style.right = parseInt(window.getComputedStyle(bpb_order_resultlist.value).width) + 25 + 'px';
|
|
|
order_result_line.value.style.top = tmpTop*-1+"px";
|
|
|
- bpb_order_resultlist_title.value.style.top = ((order_result_data_Top5.value.length-1)*-37)-10+'px';
|
|
|
+ bpb_order_resultlist_title.value.style.top = ((order_result_data_Top5.value.length-1)*-65)-10+'px';
|
|
|
plcPredictState.value = 2;
|
|
|
}, 5000);
|
|
|
}, 1000);
|