diff --git a/app/src/main/java/com/sw/inbound/model/request/GoodsAddParam.kt b/app/src/main/java/com/sw/inbound/model/request/GoodsAddParam.kt index a4faa5d..b9e750f 100644 --- a/app/src/main/java/com/sw/inbound/model/request/GoodsAddParam.kt +++ b/app/src/main/java/com/sw/inbound/model/request/GoodsAddParam.kt @@ -47,6 +47,7 @@ data class GoodsAddParam( * 单位转换值 */ var purchaseValue: Float = 0F, + var purchaseValueStr: String = "", /** * 采购单价 diff --git a/app/src/main/java/com/sw/inbound/model/request/GoodsPurchaseUnitParam.kt b/app/src/main/java/com/sw/inbound/model/request/GoodsPurchaseUnitParam.kt index 324d643..1a520a2 100644 --- a/app/src/main/java/com/sw/inbound/model/request/GoodsPurchaseUnitParam.kt +++ b/app/src/main/java/com/sw/inbound/model/request/GoodsPurchaseUnitParam.kt @@ -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 = "", // 单位转换值 /** * 库存与克的转换值 */ diff --git a/app/src/main/java/com/sw/inbound/ui/page/SelfProcurementScreen.kt b/app/src/main/java/com/sw/inbound/ui/page/SelfProcurementScreen.kt index c9e2052..6a82a00 100644 --- a/app/src/main/java/com/sw/inbound/ui/page/SelfProcurementScreen.kt +++ b/app/src/main/java/com/sw/inbound/ui/page/SelfProcurementScreen.kt @@ -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))