diff --git a/src/views/modules/warehouse/ifsInventoryInit.vue b/src/views/modules/warehouse/ifsInventoryInit.vue index e5d7b5d..28f817e 100644 --- a/src/views/modules/warehouse/ifsInventoryInit.vue +++ b/src/views/modules/warehouse/ifsInventoryInit.vue @@ -317,12 +317,12 @@ - {{ createHuForm.autoCalculate ? '自动计算' : '可手动输入' }} + {{ createHuForm.autoCalculate ? '自动计算' : '默认为0(不创建余数HU)' }} @@ -385,7 +385,7 @@ export default { qtyOnHand: 0, unPrintQty: 0, perPackageQty: '', - packageCount: 0, + packageCount: '', lastPackageQty: 0, height: '', autoCalculate: true // 默认自动计算 @@ -525,10 +525,10 @@ export default { unPrintQty: row.unPrintQty, umid: row.umid, perPackageQty: '', - packageCount: 0, + packageCount: '', lastPackageQty: 0, height: '', - autoCalculate: true // 默认自动计算 + autoCalculate: false // 默认自动计算 } this.$nextTick(() => { this.$refs['createHuForm'].clearValidate() @@ -555,14 +555,14 @@ export default { // 如果单包装数量为空或无效,重置包装数 if (!perPackageQty || perPackageQty <= 0 || isNaN(perPackageQty)) { - this.createHuForm.packageCount = 0 + this.createHuForm.packageCount = '' this.createHuForm.lastPackageQty = 0 return } // 如果未打印数量无效或为0,重置包装数 if (!unPrintQty || unPrintQty <= 0 || isNaN(unPrintQty)) { - this.createHuForm.packageCount = 0 + this.createHuForm.packageCount = '' this.createHuForm.lastPackageQty = 0 this.$message.warning('未打印数量为0,无法创建HU') return @@ -570,7 +570,7 @@ export default { // 如果单包装数量大于未打印数量,只创建1个余数HU if (perPackageQty >= unPrintQty) { - this.createHuForm.packageCount = 0 + this.createHuForm.packageCount = '' this.createHuForm.lastPackageQty = unPrintQty return } @@ -588,14 +588,13 @@ export default { /** * 包装数手动修改时的处理 * 只在手动输入模式下生效 - * 根据用户输入的包装数重新计算余数HU数量 + * 验证包装数是否合理(不超过库存),但不计算余数HU(余数固定为0) * - * 场景1:库存44,单包装10,包装数5 -> 余数HU = 44 - 10×5 = -6(提示包装数过大) - * 场景2:库存44,单包装10,包装数2 -> 余数HU = 44 - 10×2 = 24 - * 场景3:库存44,单包装10,包装数4 -> 余数HU = 44 - 10×4 = 4 + * 场景1:库存44,单包装10,包装数5 -> 总数量50超过库存,提示错误 + * 场景2:库存44,单包装10,包装数4 -> 总数量40,合法,余数固定为0 */ onPackageCountChange() { - // 只在手动输入模式下才进行计算 + // 只在手动输入模式下才进行验证 if (this.createHuForm.autoCalculate) { return } @@ -620,17 +619,14 @@ export default { // 计算总数量(完整HU的总数量) const totalFullPackagesQty = perPackageQty * packageCount - // 计算余数 - const remainderQty = qtyOnHand - totalFullPackagesQty - - // 如果余数为负数,说明包装数过大 - if (remainderQty < 0) { + // 如果总数量超过库存,说明包装数过大 + if (totalFullPackagesQty > qtyOnHand) { this.$message.warning(`包装数过大!${packageCount}个完整HU的总数量(${totalFullPackagesQty})超过库存数量(${qtyOnHand})`) return } - // 余数HU数量(可以为0,表示不创建余数HU) - this.createHuForm.lastPackageQty = parseFloat(remainderQty.toFixed(2)) // 保留2位小数 + // 手动模式下余数固定为0,不进行计算 + this.createHuForm.lastPackageQty = 0 }, /** @@ -670,8 +666,9 @@ export default { this.$message.info('已切换到自动计算模式') this.onPerPackageQtyChange() } else { - // 切换到手动输入模式 + // 切换到手动输入模式,将余数HU重置为0 this.$message.info('已切换到手动输入模式,您可以自由输入包装数和余数HU') + this.createHuForm.lastPackageQty = 0 } },