添加固定库存单位和消耗单位的转换

This commit is contained in:
zxj
2025-08-22 11:00:14 +08:00
parent 6b790754bd
commit d7536e75af
3 changed files with 48 additions and 7 deletions
@@ -47,6 +47,7 @@ data class GoodsAddParam(
* 单位转换值
*/
var purchaseValue: Float = 0F,
var purchaseValueStr: String = "",
/**
* 采购单价
@@ -7,6 +7,7 @@ data class GoodsPurchaseUnitParam(
val purchaseUnit: Int = 0, // 采购单位 integer ,
val unitId: Int = 0, // 库存单位id integer,
val purchaseValue: Float = 0f, // 单位转换值 float
val purchaseValueStr: String = "", // 单位转换值
/**
* 库存与克的转换值
*/
@@ -49,7 +49,6 @@ import com.sw.inbound.ext.medium
import com.sw.inbound.ext.toSafeBigDecimal
import com.sw.inbound.ext.toSafeDouble
import com.sw.inbound.ext.toSafeFloat
import com.sw.inbound.ext.toSafeString
import com.sw.inbound.ext.withColor
import com.sw.inbound.ext.withSize
import com.sw.inbound.model.request.PurchaseWarehouseParam
@@ -415,9 +414,24 @@ private fun DialogRightEditView(viewModel: SelfProcurementViewModel) {
label = "库存单位",
dropdownItems = unitTypeList,
onValueChange = { value ->
var consumeValue = ""
when (value) {
"" -> {
consumeValue = "1"
}
"" -> {
consumeValue = "500"
}
"公斤", "千克" -> {
consumeValue = "1000"
}
}
viewModel.updateGoodsAddParam(
goodsAddParam.copy(
unitId = unitTypeList.find { it.value == value }?.id ?: 0
unitId = unitTypeList.find { it.value == value }?.id ?: 0,
consumeValue = consumeValue
)
)
},
@@ -493,11 +507,16 @@ private fun DialogRightEditView(viewModel: SelfProcurementViewModel) {
Spacer(modifier = Modifier.width(24.dp))
CustomTextField(
modifier = Modifier.width(200.dp),
value = goodsAddParam.purchaseValue.toSafeString(goodsAddParam.unitIdStr),
value = goodsAddParam.purchaseValueStr,
placeholderValue = "请录入",
isInitUpdate = true,
onValueChange = {
viewModel.updateGoodsAddParam(goodsAddParam.copy(purchaseValue = it.toSafeFloat()))
viewModel.updateGoodsAddParam(
goodsAddParam.copy(
purchaseValue = it.toSafeFloat(),
purchaseValueStr = it
)
)
}, inputType = InputType.Decimal
)
// Spacer(modifier = Modifier.width(24.dp))
@@ -580,9 +599,24 @@ private fun DialogAddPurchaseUnitEditView(viewModel: SelfProcurementViewModel) {
enabled = canChangeKcUnit,
dropdownItems = unitTypeList,
onValueChange = { value ->
var consumeValue = ""
when (value) {
"" -> {
consumeValue = "1"
}
"" -> {
consumeValue = "500"
}
"公斤", "千克" -> {
consumeValue = "1000"
}
}
viewModel.updateGoodsPurchaseUnit(
goodsAddUnitParam.copy(
unitId = unitTypeList.find { it.value == value }?.id ?: 0
unitId = unitTypeList.find { it.value == value }?.id ?: 0,
consumeValue = consumeValue
)
)
},
@@ -658,11 +692,16 @@ private fun DialogAddPurchaseUnitEditView(viewModel: SelfProcurementViewModel) {
Spacer(modifier = Modifier.width(44.dp))
CustomTextField(
modifier = Modifier.width(260.dp),
value = goodsAddUnitParam.purchaseValue.toSafeString(goodsAddUnitParam.unitIdStr),
value = goodsAddUnitParam.purchaseValueStr,
isInitUpdate = true,
placeholderValue = "请录入",
onValueChange = {
viewModel.updateGoodsPurchaseUnit(goodsAddUnitParam.copy(purchaseValue = it.toSafeFloat()))
viewModel.updateGoodsPurchaseUnit(
goodsAddUnitParam.copy(
purchaseValue = it.toSafeFloat(),
purchaseValueStr = it
)
)
}, inputType = InputType.Decimal
)
Spacer(modifier = Modifier.width(24.dp))