From 5b8460a455366ef69ecc93b35fa6426ec5795950 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 08 六月 2026 10:15:29 +0800
Subject: [PATCH] fix: 领料数量小数点调整到8位
---
src/views/productionManagement/productionOrder/components/MaterialDetailDialog.vue | 36 +++++++++++++----
src/views/productionManagement/productionOrder/components/MaterialLedgerDialog.vue | 28 +++++++++----
src/views/productionManagement/productionOrder/components/MaterialSupplementDialog.vue | 32 ++++++++++++---
3 files changed, 71 insertions(+), 25 deletions(-)
diff --git a/src/views/productionManagement/productionOrder/components/MaterialDetailDialog.vue b/src/views/productionManagement/productionOrder/components/MaterialDetailDialog.vue
index 370815e..3373374 100644
--- a/src/views/productionManagement/productionOrder/components/MaterialDetailDialog.vue
+++ b/src/views/productionManagement/productionOrder/components/MaterialDetailDialog.vue
@@ -21,28 +21,34 @@
prop="batchNo"
min-width="150" />
<el-table-column label="闇�姹傛暟閲�"
- prop="demandedQuantity"
- min-width="110" />
+ min-width="110">
+ <template #default="{ row }">
+ {{ stripTrailingZeros(row.demandedQuantity) }}
+ </template>
+ </el-table-column>
<el-table-column label="璁¢噺鍗曚綅"
prop="unit"
width="100" />
<el-table-column label="棰嗙敤鏁伴噺"
- prop="pickQuantity"
- min-width="110" />
+ min-width="110">
+ <template #default="{ row }">
+ {{ stripTrailingZeros(row.pickQuantity) }}
+ </template>
+ </el-table-column>
<el-table-column label="琛ユ枡鏁伴噺"
min-width="120">
<template #default="{ row }">
<el-button type="primary"
link
@click="handleViewSupplementRecord(row)">
- {{ row.feedingQty ?? 0 }}
+ {{ stripTrailingZeros(row.feedingQty) ?? 0 }}
</el-button>
</template>
</el-table-column>
<el-table-column label="閫�鏂欐暟閲�"
min-width="110">
<template #default="{ row }">
- {{ row.returnQty ?? 0 }}
+ {{ stripTrailingZeros(row.returnQty) ?? 0 }}
</template>
</el-table-column>
<el-table-column label="瀹為檯鏁伴噺"
@@ -50,10 +56,11 @@
<template #default="{ row }">
<el-input-number v-model="row.actualQty"
:min="0"
- :precision="3"
:step="1"
controls-position="right"
placeholder="杈撳叆瀹為檯鏁伴噺"
+ :formatter="value => stripTrailingZeros(value)"
+ :parser="value => parseFloat(value) || 0"
style="width: 100%;"
:disabled="row.returned || orderRow?.end"
@change="val => handleActualQtyChange(row, val)" />
@@ -115,8 +122,11 @@
prop="unit"
min-width="100" />
<el-table-column label="閫�鏂欐眹鎬绘暟閲�"
- prop="returnQtyTotal"
- min-width="140" />
+ min-width="140">
+ <template #default="{ row }">
+ {{ stripTrailingZeros(row.returnQtyTotal) }}
+ </template>
+ </el-table-column>
</el-table>
<template #footer>
<span class="dialog-footer">
@@ -139,6 +149,14 @@
updateMaterialPickingLedger,
} from "@/api/productionManagement/productionOrder.js";
+ const stripTrailingZeros = val => {
+ const str = String(val ?? "");
+ if (str.includes(".")) {
+ return parseFloat(str).toString();
+ }
+ return str;
+ };
+
const props = defineProps({
modelValue: { type: Boolean, default: false },
orderRow: { type: Object, default: null },
diff --git a/src/views/productionManagement/productionOrder/components/MaterialLedgerDialog.vue b/src/views/productionManagement/productionOrder/components/MaterialLedgerDialog.vue
index 09e7421..332db07 100644
--- a/src/views/productionManagement/productionOrder/components/MaterialLedgerDialog.vue
+++ b/src/views/productionManagement/productionOrder/components/MaterialLedgerDialog.vue
@@ -2,7 +2,7 @@
<div>
<el-dialog v-model="dialogVisible"
title="棰嗘枡鍙拌处"
- width="1200px"
+ width="1350px"
@close="handleClose">
<div class="material-toolbar">
<el-button type="primary"
@@ -13,7 +13,7 @@
border
row-key="tempId">
<el-table-column label="宸ュ簭鍚嶇О"
- min-width="140">
+ min-width="80">
<template #default="{ row }">
<span v-if="row.bom === true">{{ row.operationName || "-" }}</span>
<el-select v-else
@@ -31,7 +31,7 @@
</template>
</el-table-column>
<el-table-column label="鍘熸枡鍚嶇О"
- min-width="140">
+ min-width="120">
<template #default="{ row }">
<span v-if="row.bom === true">{{ row.materialName || "-" }}</span>
<el-button v-else
@@ -43,7 +43,7 @@
</template>
</el-table-column>
<el-table-column label="鍘熸枡鍨嬪彿"
- min-width="140">
+ min-width="120">
<template #default="{ row }">
{{ row.materialModel || "-" }}
</template>
@@ -66,21 +66,22 @@
</template>
</el-table-column>
<el-table-column label="闇�姹傛暟閲�"
- min-width="120">
+ min-width="100">
<template #default="{ row }">
- <span v-if="row.bom === true">{{ row.demandedQuantity ?? "-" }}</span>
+ <span v-if="row.bom === true">{{ stripTrailingZeros(row.demandedQuantity) ?? "-" }}</span>
<el-input-number v-else
v-model="row.demandedQuantity"
:min="0"
- :precision="3"
:step="1"
controls-position="right"
+ :formatter="value => stripTrailingZeros(value)"
+ :parser="value => parseFloat(value) || 0"
style="width: 100%;"
@change="val => handleRequiredQtyChange(row, val)" />
</template>
</el-table-column>
<el-table-column label="璁¢噺鍗曚綅"
- width="100">
+ width="80">
<template #default="{ row }">
{{ row.unit || "-" }}
</template>
@@ -90,9 +91,10 @@
<template #default="{ row }">
<el-input-number v-model="row.pickQty"
:min="0"
- :precision="3"
:step="1"
controls-position="right"
+ :formatter="value => stripTrailingZeros(value)"
+ :parser="value => parseFloat(value) || 0"
style="width: 100%;" />
</template>
</el-table-column>
@@ -270,6 +272,14 @@
}
);
+ const stripTrailingZeros = val => {
+ const str = String(val);
+ if (str.includes(".")) {
+ return parseFloat(str).toString();
+ }
+ return str;
+ };
+
const handleClose = () => {
materialTableData.value = [];
currentMaterialSelectRowIndex.value = -1;
diff --git a/src/views/productionManagement/productionOrder/components/MaterialSupplementDialog.vue b/src/views/productionManagement/productionOrder/components/MaterialSupplementDialog.vue
index 4f052ed..7ff1eb1 100644
--- a/src/views/productionManagement/productionOrder/components/MaterialSupplementDialog.vue
+++ b/src/views/productionManagement/productionOrder/components/MaterialSupplementDialog.vue
@@ -20,23 +20,33 @@
prop="unit"
width="100" />
<el-table-column label="闇�姹傛暟閲�"
- prop="demandedQuantity"
- width="100" />
+ min-width="100">
+ <template #default="{ row }">
+ {{ stripTrailingZeros(row.demandedQuantity) }}
+ </template>
+ </el-table-column>
<el-table-column label="棰嗙敤鏁伴噺"
- prop="pickQuantity"
- width="100" />
+ min-width="100">
+ <template #default="{ row }">
+ {{ stripTrailingZeros(row.pickQuantity) }}
+ </template>
+ </el-table-column>
<el-table-column label="宸茶ˉ鏁伴噺"
- prop="feedingQty"
- width="100" />
+ min-width="100">
+ <template #default="{ row }">
+ {{ stripTrailingZeros(row.feedingQty) }}
+ </template>
+ </el-table-column>
<el-table-column label="琛ユ枡鏁伴噺"
min-width="150">
<template #default="{ row }">
<el-input-number v-model="row.newSupplementQty"
:min="0"
- :precision="3"
:step="1"
controls-position="right"
placeholder="杈撳叆琛ユ枡鏁伴噺"
+ :formatter="value => stripTrailingZeros(value)"
+ :parser="value => parseFloat(value) || 0"
style="width: 100%;" />
</template>
</el-table-column>
@@ -69,6 +79,14 @@
updateMaterialPickingLedger,
} from "@/api/productionManagement/productionOrder.js";
+ const stripTrailingZeros = val => {
+ const str = String(val ?? "");
+ if (str.includes(".")) {
+ return parseFloat(str).toString();
+ }
+ return str;
+ };
+
const props = defineProps({
modelValue: { type: Boolean, default: false },
orderRow: { type: Object, default: null },
--
Gitblit v1.9.3