Browse Source

功能调整

liling 1 tuần trước cách đây
mục cha
commit
082c2174df

+ 31 - 14
src/pages/bpb/index.vue

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

+ 3 - 3
src/pages/components/In03.vue

@@ -123,7 +123,7 @@
                                         <td style="border:0">生产时间(H)</td>
                                         <td style="border:0">已生产数(米)</td>
                                         <td style="border:0">总重量(吨)</td>
-                                        <td style="border:0">稼动率(%)</td>
+                                        <!--<td style="border:0">稼动率(%)</td>-->
                                     </tr>
                                 </thead>
                                 <tbody>
@@ -132,14 +132,14 @@
                                         <td style="border:0">{{ ReplaceNull(effInfo.timeA,'-') }}</td>
                                         <td style="border:0">{{ ReplaceNull(effInfo.lengthA,'-') }}</td>
                                         <td style="border:0">{{ ReplaceNull(effInfo.weightA,'-') }}</td>
-                                        <td style="border:0">{{ ReplaceNull((effInfo.effA*100).toFixed(0),'-') }}%</td>
+                                        <!--<td style="border:0">{{ ReplaceNull((effInfo.effA*100).toFixed(0),'-') }}%</td>-->
                                     </tr>
                                     <tr style="font-weight:normal;background-color:transparent;color: #ffffff;background-color: #2dbcd436;font-size: 14px;">
                                         <td style="border:0">B班</td>
                                         <td style="border:0">{{ ReplaceNull(effInfo.timeB,'-') }}</td>
                                         <td style="border:0">{{ ReplaceNull(effInfo.lengthB,'-') }}</td>
                                         <td style="border:0">{{ ReplaceNull(effInfo.weightB,'-') }}</td>
-                                        <td style="border:0">{{ ReplaceNull((effInfo.effB*100).toFixed(0),'-') }}%</td>
+                                        <!--<td style="border:0">{{ ReplaceNull((effInfo.effB*100).toFixed(0),'-') }}%</td>-->
                                     </tr>
                                 </tbody>
                             </table>

+ 2 - 0
src/pages/components/In03_show_allprod.vue

@@ -25,6 +25,7 @@
                     <el-table-column label="A班" align="center" prop="weightA" />
                     <el-table-column label="B班" align="center" prop="weightB" />
                 </el-table-column>
+                <!--
                 <el-table-column label="稼动率(%)" align="center">
                     <el-table-column label="A班" align="center" prop="effA">
                         <template #default="scope">
@@ -37,6 +38,7 @@
                         </template>
                     </el-table-column>
                 </el-table-column>
+                -->
             </el-table>
             <div v-show="btnCode=='002'" style="width: 98%;height: 93%;padding: 1%;">
                 <div style="height: 35px;width: 100%;">

+ 32 - 3
src/styles/bpb.css

@@ -176,7 +176,28 @@ input[type='text']{
 .bpb_order_item.alarm{
     background-image: url('../assets/image/bpb/Exclude1.png') !important;
 }
-.bpb_order_resultlist .bpb_order_item .no{
+.bpb_order_result_item{
+    position: absolute;
+    background-image: url('../assets/image/bpb/wl0.png');
+    background-size: contain;
+    background-repeat: no-repeat;
+    width: calc(0.7*290px);
+    height: calc(0.7*160px);
+    z-index: 1;
+    left: 0;
+    right: 0;
+    cursor: pointer;
+    top: 10%;
+    transition:top 0.1s ease-in-out;
+}
+.bpb_order_result_item:hover{
+    width: calc(0.7*300px);
+    height: calc(0.7*168px);
+}
+.bpb_order_result_item.alarm{
+    background-image: url('../assets/image/bpb/wl1.png') !important;
+}
+.bpb_order_resultlist .bpb_order_result_item .no{
     font-size: 12px !important;
     top: 34px;
     left: 28px;
@@ -280,11 +301,19 @@ input[type='text']{
     top: 18%;
     left: -94px;
 }
-.bpb_mt_list tr{
+.bpb_order_result_item table{
+    width: 200%;
+    transform: rotateZ(0deg) rotateX(13deg) rotateY(-291deg) skew(-30deg) !important;
+    letter-spacing: 1px;
+    position: absolute;
+    top: 14%;
+    left: -110px;
+}
+.bpb_mt_list tr,.bpb_order_result_item tr{
     background: none !important;
     height: 24px !important;
 }
-.bpb_mt_list td{
+.bpb_mt_list td,.bpb_order_result_item td{
     border-bottom: 0px !important;
     font-size: 20px;
 }