From c05b81c7f50df80ab247a05f9f92af2d799e77cd Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 10 四月 2026 15:59:04 +0800
Subject: [PATCH] feat:1.销售添加是否生产 2.生产订单添加备注
---
src/views/productionManagement/productionOrder/Detail/index.vue | 39 ++++++++++++++++++++++++---------------
1 files changed, 24 insertions(+), 15 deletions(-)
diff --git a/src/views/productionManagement/productionOrder/Detail/index.vue b/src/views/productionManagement/productionOrder/Detail/index.vue
index 14d11d2..ebf227f 100644
--- a/src/views/productionManagement/productionOrder/Detail/index.vue
+++ b/src/views/productionManagement/productionOrder/Detail/index.vue
@@ -8,9 +8,10 @@
<div class="title">鍩虹淇℃伅</div>
<div class="sub">
<span class="mr12">鐢熶骇璁㈠崟鍙凤細{{ header.npsNo || "-" }}</span>
- <span class="mr12">鐢熶骇鎵瑰彿锛歿{ header.lotNo || "-" }}</span>
+ <span class="mr12">鐢熶骇鎵瑰彿锛歿{ header.batchNo || "-" }}</span>
<span class="mr12">浜у搧鍚嶇О锛歿{ header.productCategory || "-" }}</span>
<span class="mr12">瑙勬牸锛歿{ header.specificationModel || "-" }}</span>
+ <span class="mr12">鏂欏彿锛歿{ header.materialCode || "-" }}</span>
</div>
</div>
</el-card>
@@ -89,6 +90,10 @@
<div class="grid-value">{{ p.outputQty ?? 0 }}</div>
</div>
<div class="grid-item">
+ <div class="grid-label">鎶ュ簾鏁伴噺</div>
+ <div class="grid-value success">{{ p.scrapQty ?? 0 }}</div>
+ </div>
+ <div class="grid-item">
<div class="grid-label">鍚堟牸鏁伴噺</div>
<div class="grid-value success">{{ p.qualifiedQty ?? 0 }}</div>
</div>
@@ -124,8 +129,9 @@
<el-table-column label="鎶ュ伐浜哄憳" prop="nickName" min-width="120" show-overflow-tooltip />
<el-table-column label="鎶ュ伐鏃堕棿" prop="createTime" min-width="160" show-overflow-tooltip />
<el-table-column label="浜у嚭鏁伴噺" prop="quantity" min-width="110" />
+ <el-table-column label="鎶ュ簾鏁伴噺" prop="scrapQty" min-width="110" />
<el-table-column label="鍚堟牸鏁伴噺" prop="qualifiedQty" min-width="110" />
- <el-table-column label="涓嶈壇鏁伴噺" prop="scrapQty" min-width="110" />
+ <el-table-column label="涓嶈壇鏁伴噺" prop="defectiveQuantity" min-width="110" />
<el-table-column label="涓嶅悎鏍煎鐞�" prop="dealResult" min-width="160" show-overflow-tooltip />
<el-table-column label="鎿嶄綔" width="150" fixed="right">
<template #default="{ row }">
@@ -196,9 +202,10 @@
const header = computed(() => ({
orderId: route.query.orderId,
npsNo: route.query.npsNo,
- lotNo: route.query.lotNo,
+ batchNo: route.query.batchNo,
productCategory: route.query.productCategory,
specificationModel: route.query.specificationModel,
+ materialCode: route.query.materialCode,
}));
// 宸ュ簭鏁版嵁锛堟帴鍙f浛鎹級
@@ -232,13 +239,14 @@
const normalizeProcess = (item) => {
// 瀛楁浠ユ帴鍙g害瀹氫负鍑嗭紙浣犵粰鐨勬埅鍥惧瓧娈垫槧灏勶級
- // 宸ュ簭锛歝ompletionStatus/statusText/processNo/scrapRate/planQuantity/completeQuantity/completeQty/scrapQty
- const inputQty = Number(item?.planQuantity ?? item?.inputQty ?? 0);
- const outputQty = Number(item?.completeQuantity ?? item?.outputQty ?? 0);
+ // 宸ュ簭锛歝ompletionStatus/statusText/processNo/defectiveRate/planQuantity/completeQuantity/completeQty/scrapQty
+ const inputQty = Number(item?.inputQty ?? 0);
+ const outputQty = Number(item?.totalQty ?? item?.outputQty ?? 0);
const qualifiedQty = Number(item?.completeQty ?? item?.qualifiedQty ?? item?.goodQty ?? 0);
- const badQty = Number(item?.scrapQty ?? item?.badQty ?? item?.defectQty ?? 0);
+ const badQty = Number(item?.defectiveQuantity ?? item?.badQty ?? item?.defectQty ?? 0);
+ const scrapQty = Number(item?.scrapQty ?? 0);
const completionStatus = Number(item?.completionStatus ?? 0);
- const scrapRate = Number(item?.scrapRate ?? NaN);
+ const defectiveRate = Number(item?.defectiveRate ?? NaN);
const status = normalizeStatus(item?.statusText ?? item?.status ?? item?.workStatus ?? item?.processStatus ?? item?.state, completionStatus, inputQty, outputQty);
@@ -250,8 +258,9 @@
outputQty: Number.isFinite(outputQty) ? outputQty : 0,
qualifiedQty: Math.max(0, Number.isFinite(qualifiedQty) ? qualifiedQty : 0),
badQty: Math.max(0, Number.isFinite(badQty) ? badQty : 0),
+ scrapQty: Math.max(0, Number.isFinite(scrapQty) ? scrapQty : 0),
completionStatus: Number.isFinite(completionStatus) ? completionStatus : 0,
- scrapRate: Number.isFinite(scrapRate) ? scrapRate : null,
+ defectiveRate: Number.isFinite(defectiveRate) ? defectiveRate : null,
status,
};
};
@@ -417,11 +426,11 @@
// 涓嶈壇鐜囷細涓嶈壇鏁伴噺 / 浜у嚭鏁伴噺锛堝厛鎸夋鍙e緞锛屽悗缁鎺ユ帴鍙e彲璋冩暣锛�
const defectRateText = (p) => {
- // 浼樺厛浣跨敤鎺ュ彛瀛楁 scrapRate锛堜綘缁欑殑鎴浘鈥滀笉鑹巼鈥濓級
- const scrapRate = Number(p?.scrapRate ?? NaN);
- if (Number.isFinite(scrapRate)) {
- // 鏈変簺鎺ュ彛 scrapRate 鍙兘鏄� 0~1 鎴� 0~100锛岃繖閲屽仛涓�涓畝鍗曞垽鏂�
- const percent = scrapRate <= 1 ? scrapRate * 100 : scrapRate;
+ // 浼樺厛浣跨敤鎺ュ彛瀛楁 defectiveRate锛堜綘缁欑殑鎴浘鈥滀笉鑹巼鈥濓級
+ const defectiveRate = Number(p?.defectiveRate ?? NaN);
+ if (Number.isFinite(defectiveRate)) {
+ // 鏈変簺鎺ュ彛 defectiveRate 鍙兘鏄� 0~1 鎴� 0~100锛岃繖閲屽仛涓�涓畝鍗曞垽鏂�
+ const percent = defectiveRate <= 1 ? defectiveRate * 100 : defectiveRate;
return `${percent.toFixed(2)}%`;
}
@@ -740,7 +749,7 @@
.step-grid {
display: grid;
- grid-template-columns: repeat(4, minmax(0, 1fr));
+ grid-template-columns: repeat(5, minmax(0, 1fr));
gap: 10px;
.grid-item {
background: #ffffff;
--
Gitblit v1.9.3