From d5d0f1d394bba7eea78ae279c399448aa60369b3 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 06 一月 2026 15:54:58 +0800
Subject: [PATCH] 双奇点 1.采购入库校验本次入库数量不能大于待入库数量
---
src/views/inventoryManagement/receiptManagement/components/formDiaManual.vue | 105 ++++++++++++++++++++++++++++++----------------------
1 files changed, 60 insertions(+), 45 deletions(-)
diff --git a/src/views/inventoryManagement/receiptManagement/components/formDiaManual.vue b/src/views/inventoryManagement/receiptManagement/components/formDiaManual.vue
index 6d2c07b..016fef6 100644
--- a/src/views/inventoryManagement/receiptManagement/components/formDiaManual.vue
+++ b/src/views/inventoryManagement/receiptManagement/components/formDiaManual.vue
@@ -29,48 +29,41 @@
accept="image/*"
:data="{ type: 9 }"
>
- <img v-if="scope.row.url" :src="javaApiUrl+scope.row.url"></img>
+ <img class="upload-img" v-if="scope.row.url" :src="javaApiUrl+scope.row.url"></img>
<el-icon v-else class="avatar-uploader-icon"><Plus /></el-icon>
</el-upload>
</template>
</el-table-column>
- <el-table-column label="浜у搧澶х被" prop="productCategory" width="200">
+ <el-table-column label="浜у搧鍚嶇О" prop="productCategory" width="200">
<template #default="scope">
- <el-input v-model="scope.row.productCategory" placeholder="璇疯緭鍏ヤ骇鍝佸ぇ绫�" />
+ <el-input v-model="scope.row.productCategory" placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�" />
</template>
</el-table-column>
- <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" width="200">
+ <el-table-column label="浜у搧楂樺害" prop="specificationModel" width="200">
<template #default="scope">
- <el-input v-model="scope.row.specificationModel" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" />
+ <el-input v-model="scope.row.specificationModel" placeholder="璇疯緭鍏ヤ骇鍝侀珮搴�" />
</template>
</el-table-column>
- <el-table-column label="鍗曚綅" prop="unit" width="100">
+ <el-table-column label="绾哥瑙勬牸" prop="cartonSpecifications" width="200">
<template #default="scope">
- <el-input v-model="scope.row.unit" placeholder="璇疯緭鍏ュ崟浣�" />
+ <el-input v-model="scope.row.cartonSpecifications" placeholder="璇疯緭鍏ョ焊绠辫鏍�" />
</template>
</el-table-column>
- <el-table-column label="渚涘簲鍟�" prop="supplierName" width="200">
+ <el-table-column label="鍏ュ簱鏁伴噺-浠�" prop="inboundNum" width="150">
<template #default="scope">
- <el-input v-model="scope.row.supplierName" placeholder="璇疯緭鍏ヤ緵搴斿晢" />
+ <el-input-number :step="1" :min="0" style="width: 100%" v-model="scope.row.inboundNum" @change="() => calculateTotalPrice(scope.row)" />
</template>
</el-table-column>
- <el-table-column label="鐗╁搧绫诲瀷" prop="itemType" width="150">
+ <el-table-column label="姣忎欢鏁伴噺/鏀�" prop="boxNum" width="150">
<template #default="scope">
- <el-select v-model="scope.row.itemType" filterable allow-create placeholder="璇烽�夋嫨鐗╁搧绫诲瀷" style="width: 100%">
- <el-option
- v-for="item in itemTypeOptions"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
+ <el-input-number :step="1" :min="0" style="width: 100%" v-model="scope.row.boxNum" @change="() => calculateTotalPrice(scope.row)" />
</template>
</el-table-column>
- <el-table-column label="鍏ュ簱鏁伴噺" prop="inboundNum" width="150">
- <template #default="scope">
- <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="scope.row.inboundNum" @change="() => calculateTotalPrice(scope.row)" />
- </template>
- </el-table-column>
+ <el-table-column label="鍗曚环(缇庡厓)/浠�" prop="taxInclusiveUnitPrice" width="150">
+ <template #default="scope">
+ <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="scope.row.taxInclusiveUnitPrice" @change="() => calculateTotalPrice(scope.row)" />
+ </template>
+ </el-table-column>
<el-table-column label="鍏ュ簱鏃ユ湡" prop="inboundDate" width="180">
<template #default="scope">
<el-date-picker
@@ -88,11 +81,7 @@
<!-- <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="scope.row.quantityStock" @change="() => calculateTotalPrice(scope.row)" />-->
<!-- </template>-->
<!-- </el-table-column>-->
-<!-- <el-table-column label="鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" width="150">-->
-<!-- <template #default="scope">-->
-<!-- <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="scope.row.taxInclusiveUnitPrice" @change="() => calculateTotalPrice(scope.row)" />-->
-<!-- </template>-->
-<!-- </el-table-column>-->
+
<!-- <el-table-column -->
<!-- label="鎬讳环(鍏�)" -->
<!-- prop="taxInclusiveTotalPrice" -->
@@ -127,10 +116,7 @@
Authorization: "Bearer " + getToken(),
});
-const imeUrl = ref(import.meta.env.VITE_APP_ENV)
-console.log(import.meta)
const javaApiUrl = __BASE_API__;
-console.log('Java API 鍦板潃:', javaApiUrl)
const userStore = useUserStore()
const { proxy } = getCurrentInstance()
@@ -200,7 +186,7 @@
id: null,
productCategory: '',
specificationModel: '',
- unit: '',
+ cartonSpecifications:'',
supplierName: form.value.supplierName || '',
itemType: '',
inboundNum: 0,
@@ -210,6 +196,7 @@
taxInclusiveTotalPrice: 0,
taxRate: null,
taxExclusiveTotalPrice: 0,
+ boxNum: 0,
});
};
@@ -246,23 +233,42 @@
// 楠岃瘉鑷畾涔夋坊鍔犵殑鏁版嵁蹇呭~瀛楁
for (let i = 0; i < productList.value.length; i++) {
const product = productList.value[i];
- if (!product.productCategory || !product.specificationModel || !product.unit) {
- proxy.$modal.msgError(`绗�${i + 1}琛屼骇鍝佹暟鎹湭濉啓瀹屾暣锛堜骇鍝佸ぇ绫汇�佽鏍煎瀷鍙枫�佸崟浣嶄负蹇呭~锛塦)
+ if (!product.productCategory || !product.specificationModel) {
+ proxy.$modal.msgError(`绗�${i + 1}琛屼骇鍝佹暟鎹湭濉啓瀹屾暣锛堜骇鍝併�佷骇鍝侀珮搴︺�侀珮搴﹀崟浣嶄负蹇呭~锛塦)
return
}
- if (!product.itemType) {
- proxy.$modal.msgError(`绗�${i + 1}琛岃閫夋嫨鐗╁搧绫诲瀷`)
+ if (!product.url) {
+ proxy.$modal.msgError(`绗�${i + 1}琛屼骇鍝佹湭涓婁紶浜у搧鍥剧墖`)
+ return
+ }
+ if (!product.cartonSpecifications) {
+ proxy.$modal.msgError(`绗�${i + 1}琛屼骇鍝佹湭濉啓绾哥瑙勬牸`)
+ return
+ }
+ // if (!product.itemType) {
+ // proxy.$modal.msgError(`绗�${i + 1}琛岃閫夋嫨鐗╁搧绫诲瀷`)
+ // return
+ // }
+ const stock = Number(product?.inboundNum ?? 0);
+ if (!Number.isFinite(stock) || stock <= 0) {
+ proxy.$modal.msgError(`绗�${i + 1}琛屾湰娆″叆搴撴暟閲忛渶澶т簬0`)
+ return
+ }
+ const boxNum = Number(product?.boxNum ?? 0);
+ if (!Number.isFinite(boxNum) || boxNum <= 0) {
+ proxy.$modal.msgError(`绗�${i + 1}琛屾瘡浠舵暟閲�/鏀渶澶т簬0`)
+ return
+ }
+ const taxInclusiveUnitPrice = Number(product?.taxInclusiveUnitPrice ?? 0);
+ if (!Number.isFinite(taxInclusiveUnitPrice) || taxInclusiveUnitPrice <= 0) {
+ proxy.$modal.msgError(`绗�${i + 1}琛屽崟浠凤紙鍏冿級闇�澶т簬0`)
return
}
if (!product.inboundDate) {
proxy.$modal.msgError(`绗�${i + 1}琛岃閫夋嫨鍏ュ簱鏃ユ湡`)
return
}
- const stock = Number(product?.inboundNum ?? 0);
- if (!Number.isFinite(stock) || stock <= 0) {
- proxy.$modal.msgError(`绗�${i + 1}琛屾湰娆″叆搴撴暟閲忛渶澶т簬0`)
- return
- }
+
}
const payloadList = productList.value.map(product => ({
@@ -270,7 +276,6 @@
inboundNum: Number(product.inboundNum),
productCategory: product.productCategory,
specificationModel: product.specificationModel,
- unit: product.unit,
supplierName: product.supplierName || form.value.supplierName,
itemType: product.itemType,
inboundDate: formatDateTime(product.inboundDate, false),
@@ -278,7 +283,9 @@
taxExclusiveTotalPrice: Number(product.taxExclusiveTotalPrice || 0),
taxInclusiveUnitPrice: Number(product.taxInclusiveUnitPrice || 0),
taxInclusiveTotalPrice: Number(product.taxInclusiveTotalPrice || 0),
- url: product.url,
+ boxNum:Number(product.boxNum),
+ cartonSpecifications: product.cartonSpecifications,
+ url: product.url||'',
}));
loading.value = true
if (operationType.value === 'edit') {
@@ -363,7 +370,6 @@
id: row?.id ?? null,
productCategory: row?.productCategory ?? '',
specificationModel: row?.specificationModel ?? '',
- unit: row?.unit ?? '',
supplierName: row?.supplierName ?? '',
itemType: row?.itemType ?? '',
inboundNum: Number(row?.inboundNum ?? row?.inboundQuantity ?? 0),
@@ -373,6 +379,9 @@
taxInclusiveUnitPrice: Number(row?.taxInclusiveUnitPrice ?? 0),
taxInclusiveTotalPrice: Number(row?.taxInclusiveTotalPrice ?? 0),
taxExclusiveTotalPrice: Number(row?.taxExclusiveTotalPrice ?? 0),
+ boxNum: Number(row?.boxNum ?? 0),
+ cartonSpecifications: row?.cartonSpecifications ?? '',
+ url: row?.url ?? '',
}]
}
}
@@ -382,5 +391,11 @@
})
</script>
-<style scoped lang="scss"></style>
+<style scoped lang="scss">
+ .upload-img{
+ width: 80px;
+ height: 80px;
+ object-fit: contain;
+ }
+</style>
--
Gitblit v1.9.3