添加单价和金额计算
This commit is contained in:
@@ -555,21 +555,35 @@ private fun ReceiptProductEditView(
|
||||
|
||||
RowInputLayout(
|
||||
label = "收货单价",
|
||||
value = selectedItem!!.recUnitPriceTaxInStr,
|
||||
value = selectedItem!!.recUnitPriceTaxInTemp,
|
||||
trailingLabel = "元",
|
||||
isInitUpdate = true,
|
||||
onValueChange = { value ->
|
||||
viewModel.updatePriceInputState(value.isNotEmpty())
|
||||
selectedItem?.let {
|
||||
viewModel.updateSelectedItem(selectedItem!!.copy(recUnitPriceTaxIn = value.toSafeFloat()))
|
||||
viewModel.updateSelectedItem(
|
||||
selectedItem!!.copy(
|
||||
recUnitPriceTaxInTemp = value,
|
||||
recUnitPriceTaxIn = value.toSafeFloat()
|
||||
)
|
||||
)
|
||||
}
|
||||
}, inputType = InputType.Decimal
|
||||
)
|
||||
RowInputLayout(
|
||||
label = "收货金额",
|
||||
value = selectedItem!!.recPriceExItemStr,
|
||||
value = selectedItem!!.recPriceExItemTemp,
|
||||
trailingLabel = "元",
|
||||
isInitUpdate = true,
|
||||
onValueChange = { value ->
|
||||
viewModel.updateAmountInputState(value.isNotEmpty())
|
||||
selectedItem?.let {
|
||||
viewModel.updateSelectedItem(selectedItem!!.copy(recPriceExItem = value.toSafeFloat()))
|
||||
viewModel.updateSelectedItem(
|
||||
selectedItem!!.copy(
|
||||
recPriceExItemTemp = value,
|
||||
recPriceExItem = value.toSafeFloat()
|
||||
)
|
||||
)
|
||||
}
|
||||
}, inputType = InputType.Decimal
|
||||
)
|
||||
@@ -622,6 +636,13 @@ private fun ReceiptProductEditView(
|
||||
ToastUtils.showToast(errorInfo)
|
||||
return@clickable
|
||||
}
|
||||
val expectAmount =
|
||||
selectedItem!!.receivedNum!!.times(selectedItem!!.recUnitPriceTaxIn!!)
|
||||
Timber.d("金额判断:期望金额 = $expectAmount, 实际金额 = ${selectedItem!!.recPriceExItem}")
|
||||
if (expectAmount != selectedItem!!.recPriceExItem) {
|
||||
ToastUtils.showToast("数量和金额不符,请检查后再试")
|
||||
return@clickable
|
||||
}
|
||||
viewModel.updatePurchaseItem(purchaseOrder = selectedItem!!.copy(isAdjusted = true))
|
||||
viewModel.updateSelectedItem(null)
|
||||
}, painter = painterResource(R.mipmap.ic_btn_confirm), contentDescription = "确定")
|
||||
|
||||
@@ -581,7 +581,7 @@ private fun SelfProductEditView(
|
||||
val lifecycleOwner = LocalLifecycleOwner.current
|
||||
|
||||
LaunchedEffect(selectedItem) {
|
||||
Timber.d("界面显示")
|
||||
Timber.d("selectedItem变化 selectedItem is ${selectedItem == null}")
|
||||
if (selectedItem == null) {
|
||||
viewModel.updateSelectedItem(purchaseOrder = PurchaseWarehouseParam())
|
||||
}
|
||||
@@ -589,6 +589,7 @@ private fun SelfProductEditView(
|
||||
|
||||
DisposableEffect(lifecycleOwner) {
|
||||
Timber.d("开始传感器采集")
|
||||
|
||||
viewModel.startSensorScale()
|
||||
onDispose {
|
||||
Timber.d("停止传感器采集")
|
||||
@@ -670,22 +671,37 @@ private fun SelfProductEditView(
|
||||
|
||||
RowInputLayout(
|
||||
label = "采购单价",
|
||||
value = selectedItem!!.goodsUnitPriceStr,
|
||||
value = selectedItem!!.goodsUnitPriceTemp,
|
||||
inputType = InputType.Decimal,
|
||||
trailingLabel = "元",
|
||||
isInitUpdate = true,
|
||||
onValueChange = { value ->
|
||||
viewModel.updatePriceInputState(value.isNotEmpty())
|
||||
selectedItem.let {
|
||||
viewModel.updateSelectedItem(selectedItem!!.copy(goodsUnitPrice = value.toSafeDouble()))
|
||||
Timber.d("goodsUnitPrice 更新 = $value")
|
||||
viewModel.updateSelectedItem(
|
||||
selectedItem!!.copy(
|
||||
goodsUnitPriceTemp = value,
|
||||
goodsUnitPrice = value.toSafeDouble()
|
||||
)
|
||||
)
|
||||
}
|
||||
})
|
||||
RowInputLayout(
|
||||
label = "采购金额",
|
||||
value = selectedItem!!.goodsPriceStr,
|
||||
value = selectedItem!!.goodsPriceTemp,
|
||||
inputType = InputType.Decimal,
|
||||
trailingLabel = "元",
|
||||
isInitUpdate = true,
|
||||
onValueChange = { value ->
|
||||
viewModel.updateAmountInputState(value.isNotEmpty())
|
||||
selectedItem.let {
|
||||
viewModel.updateSelectedItem(selectedItem!!.copy(goodsPrice = value.toSafeDouble()))
|
||||
viewModel.updateSelectedItem(
|
||||
selectedItem!!.copy(
|
||||
goodsPriceTemp = value,
|
||||
goodsPrice = value.toSafeDouble()
|
||||
)
|
||||
)
|
||||
}
|
||||
})
|
||||
|
||||
@@ -760,7 +776,12 @@ private fun SelfProductEditView(
|
||||
ToastUtils.showToast(errInfo)
|
||||
return@CustomButton
|
||||
}
|
||||
|
||||
val expectAmount = selectedItem!!.goodsCount * selectedItem!!.goodsUnitPrice
|
||||
Timber.d("金额判断:期望金额 = $expectAmount, 实际金额 = ${selectedItem!!.goodsPrice}")
|
||||
if (expectAmount != selectedItem!!.goodsPrice) {
|
||||
ToastUtils.showToast("数量和金额不符,请检查后再试")
|
||||
return@CustomButton
|
||||
}
|
||||
viewModel.addPurchaseItem(selectedItem!!)
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user