Browse Source

默认不自动计算

master
han\hanst 11 months ago
parent
commit
71c761f2c4
  1. 41
      src/views/modules/warehouse/ifsInventoryInit.vue

41
src/views/modules/warehouse/ifsInventoryInit.vue

@ -317,12 +317,12 @@
<el-form-item label="余数HU" prop="lastPackageQty" class="form-item-vertical">
<el-input
v-model="createHuForm.lastPackageQty"
:placeholder="createHuForm.autoCalculate ? '自动计算' : '手动输入'"
:readonly="createHuForm.autoCalculate"
:placeholder="createHuForm.autoCalculate ? '自动计算' : '默认为0'"
readonly
@input="onLastPackageQtyChange">
</el-input>
<span style="font-size: 12px; color: #999;">
{{ createHuForm.autoCalculate ? '自动计算' : '可手动输入' }}
{{ createHuForm.autoCalculate ? '自动计算' : '默认为0(不创建余数HU)' }}
</span>
</el-form-item>
</el-col>
@ -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
}
},

Loading…
Cancel
Save