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