wukai hace 1 mes
padre
commit
f5c06086c4
Se han modificado 1 ficheros con 75 adiciones y 28 borrados
  1. 75 28
      src/pages/bpb/index.vue

+ 75 - 28
src/pages/bpb/index.vue

@@ -68,7 +68,8 @@
                  style="text-align: center;transform: rotateZ(26deg) rotateX(28deg) rotateY(-72deg) skew(65deg);letter-spacing: 6px;font-size: 30px;color: #e1e187;margin-top: 21%;">
               未匹配到物料信息
             </div>
-            <div v-else v-for="(item,index) in bpb_mt_item_data_Top6" :class="item.isalarm ? 'bpb_mt_item alarm':'bpb_mt_item'"
+            <div v-else v-for="(item,index) in bpb_mt_item_data_Top6"
+                 :class="item.isalarm ? 'bpb_mt_item alarm':'bpb_mt_item'"
                  :key="item.id" :style="{left:item.left,top:item.top,zIndex:item.zindex}">
               <table cellspacing="0" cellpadding="0">
                 <tbody>
@@ -202,15 +203,15 @@
     </div>
   </div>
   <el-dialog
-    v-model="allBomListShow"
-    title="物料清单"
-    width="800px"
-    :modal="true"
-    append-to-body
-    class="bom-list-dialog"
-    :top="'15vh'"
-    style="background: rgb(0 85 102 / 92%); border: 1px solid #008899; border-radius: 5px; height: 70vh;"
-    :lock-scroll="false"
+      v-model="allBomListShow"
+      title="物料清单"
+      width="800px"
+      :modal="true"
+      append-to-body
+      class="bom-list-dialog"
+      :top="'15vh'"
+      style="background: rgb(0 85 102 / 92%); border: 1px solid #008899; border-radius: 5px; height: 70vh;"
+      :lock-scroll="false"
   >
     <template #header>
       <div style="color: white; font-size: 16px; font-weight: bold;">物料清单</div>
@@ -239,15 +240,15 @@
     </template>
   </el-dialog>
   <el-dialog
-    v-model="allOrderResultShow"
-    title="预测结果"
-    width="800px"
-    :modal="true"
-    append-to-body
-    class="result-list-dialog"
-    :top="'15vh'"
-    style="background: rgb(0 85 102 / 92%); border: 1px solid #008899; border-radius: 5px; height: 70vh;"
-    :lock-scroll="false"
+      v-model="allOrderResultShow"
+      title="预测结果"
+      width="800px"
+      :modal="true"
+      append-to-body
+      class="result-list-dialog"
+      :top="'15vh'"
+      style="background: rgb(0 85 102 / 92%); border: 1px solid #008899; border-radius: 5px; height: 70vh;"
+      :lock-scroll="false"
   >
     <template #header>
       <div style="color: white; font-size: 16px; font-weight: bold;">预测结果</div>
@@ -257,8 +258,23 @@
         <el-tab-pane label="预测结果" name="t1">
           <el-table :data="order_result_data" style="height: 360px;">
             <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="name"/>
+            <el-table-column label="物料规格" align="center" prop="bomSpec"/>
+            <el-table-column label="库存量(T)" align="center" prop="kcl">
+              <template #default="scope">
+                <span>{{ (scope.row.kcl / 1000).toFixed(2) }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column label="需求量(T)" align="center" prop="xql">
+              <template #default="scope">
+                <span>{{ (scope.row.xql / 1000).toFixed(2) }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column label="预测产量(T)" align="center" prop="ycl">
+              <template #default="scope">
+                <span>{{ (scope.row.ycl / 1000).toFixed(2) }}</span>
+              </template>
+            </el-table-column>
             <el-table-column label="预测结果" align="center" prop="neednum">
               <template #default="scope">
                 <span :style="{'color':scope.row.isalarm?'red':''}"
@@ -269,7 +285,8 @@
         </el-tab-pane>
         <el-tab-pane label="机台工艺调整推荐" name="t2">
           <el-table :data="order_result_alldata" style="height: 360px;"
-                    :cell-style="getTable2CellStyle" :span-method="mergeCells">
+                    :cell-style="getTable2CellStyle" :span-method="mergeCells"
+                    class="process-adjustment-table">
             <el-table-column label="机台号" align="center" prop="formula_data_2" fixed="left" width="75px"/>
 
             <el-table-column label="库存(T)" align="center" prop="kcl" fixed="left" width="75px">
@@ -284,28 +301,32 @@
             </el-table-column>
             <el-table-column label="预测(T)" align="center" prop="ycl" fixed="left" width="75px">
               <template #default="scope">
-                <span>{{ scope.row.yclSum !== undefined ? scope.row.yclSum.toFixed(2) : scope.row.ycl.toFixed(2) }}</span>
+                <span>{{
+                    scope.row.yclSum !== undefined ? scope.row.yclSum.toFixed(2) : scope.row.ycl.toFixed(2)
+                  }}</span>
               </template>
             </el-table-column>
 
             <el-table-column label="超额(T)" align="center" prop="sy" fixed="left" width="75px">
               <template #default="scope">
-                <span>{{ scope.row.sy !== undefined ? scope.row.sy.toFixed(2) : (scope.row.kcl - scope.row.xql + scope.row.ycl).toFixed(2) }}</span>
+                <span>{{
+                    scope.row.sy !== undefined ? scope.row.sy.toFixed(2) : (scope.row.kcl - scope.row.xql + scope.row.ycl).toFixed(2)
+                  }}</span>
               </template>
             </el-table-column>
+            <el-table-column label="毛高" align="center" prop="formula_data_15" width="60px"></el-table-column>
+            <el-table-column label="米克重" align="center" prop="formula_data_3"></el-table-column>
             <el-table-column label="纱线规格D" align="center">
               <el-table-column label="L1、L5" align="center" prop="formula_data_4"></el-table-column>
               <el-table-column label="L2、L4" align="center" prop="formula_data_5"></el-table-column>
               <el-table-column label="L3" align="center" prop="formula_data_6" width="60px"></el-table-column>
             </el-table-column>
+            <el-table-column label="平方米克重" align="center" prop="gramMass"></el-table-column>
             <el-table-column label="成品" align="center">
               <el-table-column label="重" align="center" prop="formula_data_18" width="60px"/>
               <el-table-column label="长" align="center" prop="formula_data_16" width="60px"/>
               <el-table-column label="宽" align="center" prop="formula_data_17" width="60px"/>
             </el-table-column>
-            <el-table-column label="平方米克重" align="center" prop="gramMass"></el-table-column>
-            <el-table-column label="米克重" align="center" prop="formula_data_3"></el-table-column>
-            <el-table-column label="毛高" align="center" prop="formula_data_15" width="60px"></el-table-column>
             <el-table-column label="配方号" align="center" prop="formula_data_1"></el-table-column>
             <el-table-column label="卷曲幅宽" align="center" prop="formula_data_13"></el-table-column>
             <el-table-column label="下布长度" align="center" prop="formula_data_14"></el-table-column>
@@ -409,7 +430,7 @@ export default {
     }
 
     // 合并单元格函数
-    function mergeCells({ row, column, rowIndex, columnIndex }) {
+    function mergeCells({row, column, rowIndex, columnIndex}) {
       // 只对特定列进行合并:库存(kcl)、需求(xql)、预测(ycl)、超额(sy)列
       // 分别对应列索引:1(库存)、2(需求)、3(预测)、4(超额)
       if (columnIndex === 1 || columnIndex === 2 || columnIndex === 3 || columnIndex === 4) {
@@ -788,6 +809,10 @@ export default {
           var neednum = element.storage - element.need + (element.plc * days.value);
           element['isalarm'] = neednum < 0 ? true : false; // 产能不足时为负数
           element["neednum"] = Math.abs(neednum);
+          // 添加三个新字段
+          element["kcl"] = element.storage;  // 库存量
+          element["xql"] = element.need;     // 需求量
+          element["ycl"] = element.plc * days.value; // 预测产量
           temp2.push(element);
         }
         temp2.sort(function (a, b) {
@@ -808,6 +833,9 @@ export default {
               "top": (ind * -65) + 'px',
               "isalarm": item.isalarm,
               "neednum": item.neednum,
+              "kcl": item.kcl,
+              "xql": item.xql,
+              "ycl": item.ycl,
               transition: "opt " + (ind * 0.5) + "s ease-in-out"
             });
           });
@@ -860,6 +888,8 @@ export default {
 
     function closeAllResultList() {
       allOrderResultShow.value = false;
+      // 重置标签页为默认的"预测结果"
+      result_tab_index.value = 't1';
     }
 
     function selectValues(vs) {
@@ -1064,4 +1094,21 @@ export default {
 /deep/ .el-table--border .el-table__cell {
   border-right: 1px solid #213e5c !important;
 }
+
+/* 为机台工艺调整推荐表格禁用悬停效果*/
+/deep/ .process-adjustment-table .el-table__body-wrapper tr:hover > td {
+  background-color: #0d3b6185 !important;
+}
+
+/* 更加强制的悬停样式覆盖,确保合并单元格也不变色 */
+/deep/ .process-adjustment-table .el-table__row:hover > td,
+/deep/ .process-adjustment-table .el-table__row--hover > td {
+  background-color: #0d3b6185 !important;
+}
+
+/deep/ .process-adjustment-table .el-table__body tr.hover-row > td,
+/deep/ .process-adjustment-table .el-table__body tr:hover:nth-child(odd) > td,
+/deep/ .process-adjustment-table .el-table__body tr:hover:nth-child(even) > td {
+  background-color: #0d3b6185 !important;
+}
 </style>