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

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 purchaseValue: Float = 0F,
var purchaseValueStr: String = "",
/** /**
* 采购单价 * 采购单价
@@ -7,6 +7,7 @@ data class GoodsPurchaseUnitParam(
val purchaseUnit: Int = 0, // 采购单位 integer , val purchaseUnit: Int = 0, // 采购单位 integer ,
val unitId: Int = 0, // 库存单位id integer, val unitId: Int = 0, // 库存单位id integer,
val purchaseValue: Float = 0f, // 单位转换值 float 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.toSafeBigDecimal
import com.sw.inbound.ext.toSafeDouble import com.sw.inbound.ext.toSafeDouble
import com.sw.inbound.ext.toSafeFloat import com.sw.inbound.ext.toSafeFloat
import com.sw.inbound.ext.toSafeString
import com.sw.inbound.ext.withColor import com.sw.inbound.ext.withColor
import com.sw.inbound.ext.withSize import com.sw.inbound.ext.withSize
import com.sw.inbound.model.request.PurchaseWarehouseParam import com.sw.inbound.model.request.PurchaseWarehouseParam
@@ -415,9 +414,24 @@ private fun DialogRightEditView(viewModel: SelfProcurementViewModel) {
label = "库存单位", label = "库存单位",
dropdownItems = unitTypeList, dropdownItems = unitTypeList,
onValueChange = { value -> onValueChange = { value ->
var consumeValue = ""
when (value) {
"" -> {
consumeValue = "1"
}
"" -> {
consumeValue = "500"
}
"公斤", "千克" -> {
consumeValue = "1000"
}
}
viewModel.updateGoodsAddParam( viewModel.updateGoodsAddParam(
goodsAddParam.copy( 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)) Spacer(modifier = Modifier.width(24.dp))
CustomTextField( CustomTextField(
modifier = Modifier.width(200.dp), modifier = Modifier.width(200.dp),
value = goodsAddParam.purchaseValue.toSafeString(goodsAddParam.unitIdStr), value = goodsAddParam.purchaseValueStr,
placeholderValue = "请录入", placeholderValue = "请录入",
isInitUpdate = true, isInitUpdate = true,
onValueChange = { onValueChange = {
viewModel.updateGoodsAddParam(goodsAddParam.copy(purchaseValue = it.toSafeFloat())) viewModel.updateGoodsAddParam(
goodsAddParam.copy(
purchaseValue = it.toSafeFloat(),
purchaseValueStr = it
)
)
}, inputType = InputType.Decimal }, inputType = InputType.Decimal
) )
// Spacer(modifier = Modifier.width(24.dp)) // Spacer(modifier = Modifier.width(24.dp))
@@ -580,9 +599,24 @@ private fun DialogAddPurchaseUnitEditView(viewModel: SelfProcurementViewModel) {
enabled = canChangeKcUnit, enabled = canChangeKcUnit,
dropdownItems = unitTypeList, dropdownItems = unitTypeList,
onValueChange = { value -> onValueChange = { value ->
var consumeValue = ""
when (value) {
"" -> {
consumeValue = "1"
}
"" -> {
consumeValue = "500"
}
"公斤", "千克" -> {
consumeValue = "1000"
}
}
viewModel.updateGoodsPurchaseUnit( viewModel.updateGoodsPurchaseUnit(
goodsAddUnitParam.copy( 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)) Spacer(modifier = Modifier.width(44.dp))
CustomTextField( CustomTextField(
modifier = Modifier.width(260.dp), modifier = Modifier.width(260.dp),
value = goodsAddUnitParam.purchaseValue.toSafeString(goodsAddUnitParam.unitIdStr), value = goodsAddUnitParam.purchaseValueStr,
isInitUpdate = true, isInitUpdate = true,
placeholderValue = "请录入", placeholderValue = "请录入",
onValueChange = { onValueChange = {
viewModel.updateGoodsPurchaseUnit(goodsAddUnitParam.copy(purchaseValue = it.toSafeFloat())) viewModel.updateGoodsPurchaseUnit(
goodsAddUnitParam.copy(
purchaseValue = it.toSafeFloat(),
purchaseValueStr = it
)
)
}, inputType = InputType.Decimal }, inputType = InputType.Decimal
) )
Spacer(modifier = Modifier.width(24.dp)) Spacer(modifier = Modifier.width(24.dp))