From ef8d3df7b1944c0a8243cf5ffc35f604dfef94e8 Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期五, 12 六月 2026 13:54:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_pro_河南鹤壁' into dev_pro_河南鹤壁
---
src/views/productionManagement/productionOrder/components/MaterialLedgerDialog.vue | 47 +++++++++++++++++++++++++++++------------------
src/views/productionManagement/productionTraceability/index.vue | 8 ++++----
2 files changed, 33 insertions(+), 22 deletions(-)
diff --git a/src/views/productionManagement/productionOrder/components/MaterialLedgerDialog.vue b/src/views/productionManagement/productionOrder/components/MaterialLedgerDialog.vue
index 5f653b3..6c175f9 100644
--- a/src/views/productionManagement/productionOrder/components/MaterialLedgerDialog.vue
+++ b/src/views/productionManagement/productionOrder/components/MaterialLedgerDialog.vue
@@ -189,26 +189,36 @@
const currentMaterialSelectRowIndex = ref(-1);
let materialTempId = 0;
- const createMaterialRow = (row = {}) => ({
- tempId: row.id || `temp_${++materialTempId}`,
- id: row.id,
- processId: row.processId || row.technologyOperationId,
- technologyOperationId: row.technologyOperationId || row.processId,
- operationName: row.operationName || "",
- bom: row.bom === true,
- materialModelId: row.materialModelId || row.productModelId,
- materialName: row.materialName || row.productName || "",
- materialModel: row.materialModel || row.model || "",
- demandedQuantity: Number(row.requiredQty ?? row.demandedQuantity ?? 0),
- unit: row.unit || "",
- pickQty: Number(row.pickQty ?? row.pickQuantity ?? row.requiredQty ?? row.demandedQuantity ?? 0),
- batchNo: row.batchNo
+ const getDefaultBatchNo = batchNoList => {
+ if (!Array.isArray(batchNoList) || batchNoList.length === 0) return [];
+ return [batchNoList[0]];
+ };
+
+ const createMaterialRow = (row = {}) => {
+ const batchNoList = Array.isArray(row.batchNoList) ? row.batchNoList : [];
+ const batchNo = row.batchNo
? typeof row.batchNo === "string"
? row.batchNo.split(",")
: row.batchNo
- : [],
- batchNoList: row.batchNoList || [],
- });
+ : getDefaultBatchNo(batchNoList);
+
+ return {
+ tempId: row.id || `temp_${++materialTempId}`,
+ id: row.id,
+ processId: row.processId || row.technologyOperationId,
+ technologyOperationId: row.technologyOperationId || row.processId,
+ operationName: row.operationName || "",
+ bom: row.bom === true,
+ materialModelId: row.materialModelId || row.productModelId,
+ materialName: row.materialName || row.productName || "",
+ materialModel: row.materialModel || row.model || "",
+ demandedQuantity: Number(row.requiredQty ?? row.demandedQuantity ?? 0),
+ unit: row.unit || "",
+ pickQty: Number(row.pickQty ?? row.pickQuantity ?? row.requiredQty ?? row.demandedQuantity ?? 0),
+ batchNo,
+ batchNoList,
+ };
+ };
const getProcessOptions = async () => {
if (!props.orderRow?.id) return;
@@ -329,7 +339,8 @@
product.materialName || product.productName || product.name || "";
row.materialModel = product.materialModel || product.model || "";
row.unit = product.unit || product.measureUnit || "";
- row.batchNoList = product.batchNoList;
+ row.batchNoList = Array.isArray(product.batchNoList) ? product.batchNoList : [];
+ row.batchNo = getDefaultBatchNo(row.batchNoList);
currentMaterialSelectRowIndex.value = -1;
materialProductDialogVisible.value = false;
};
diff --git a/src/views/productionManagement/productionTraceability/index.vue b/src/views/productionManagement/productionTraceability/index.vue
index 845c8d9..ed7beb4 100644
--- a/src/views/productionManagement/productionTraceability/index.vue
+++ b/src/views/productionManagement/productionTraceability/index.vue
@@ -132,8 +132,8 @@
<el-descriptions-item label="鐢熶骇宸ュ崟鍙�">{{ detailData.workOrder.workOrderNo || '-' }}</el-descriptions-item>
<el-descriptions-item label="璁″垝鏁伴噺">{{ detailData.workOrder.planQuantity || 0 }}</el-descriptions-item>
<el-descriptions-item label="瀹屾垚鏁伴噺">{{ detailData.workOrder.completeQuantity || 0 }}</el-descriptions-item>
- <el-descriptions-item label="瀹為檯寮�濮嬫椂闂�">{{ parseTime(detailData.workOrder.actualStartTime) || '-' }}</el-descriptions-item>
- <el-descriptions-item label="瀹為檯缁撴潫鏃堕棿">{{ parseTime(detailData.workOrder.actualEndTime) || '-' }}</el-descriptions-item>
+ <el-descriptions-item label="瀹為檯寮�濮嬫椂闂�">{{ parseTime(detailData.workOrder.actualStartTime, '{y}-{m}-{d}') || '-' }}</el-descriptions-item>
+ <el-descriptions-item label="瀹為檯缁撴潫鏃堕棿">{{ parseTime(detailData.workOrder.actualEndTime, '{y}-{m}-{d}') || '-' }}</el-descriptions-item>
<!-- <el-descriptions-item label="瀹屾垚杩涘害">
<el-progress :percentage="detailData.workOrder.completionStatus >= 100 ? 100 : (detailData.workOrder.completionStatus || 0)"
:color="customColors(detailData.workOrder.completionStatus)"
@@ -230,10 +230,10 @@
:key="record.id"
class="quality-record-block">
<div class="detail-section">
- <h3 class="section-title">妫�娴嬭褰� {{ index + 1 }} - {{ parseTime(record.createTime) }}</h3>
+ <h3 class="section-title">妫�娴嬭褰� {{ index + 1 }} - {{ parseTime(record.createTime, '{y}-{m}-{d}') }}</h3>
<el-descriptions :column="3"
border>
- <el-descriptions-item label="妫�娴嬫棩鏈�">{{ parseTime(record.createTime) || '-' }}</el-descriptions-item>
+ <el-descriptions-item label="妫�娴嬫棩鏈�">{{ parseTime(record.createTime, '{y}-{m}-{d}') || '-' }}</el-descriptions-item>
<el-descriptions-item label="鎶ュ伐鍗曞彿">{{ record.reportNo || '-' }}</el-descriptions-item>
<el-descriptions-item label="妫�楠屽憳">{{ record.userName || '-' }}</el-descriptions-item>
<el-descriptions-item label="浜у搧鍚嶇О">{{ record.productName || '-' }}</el-descriptions-item>
--
Gitblit v1.9.3