diff --git a/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/GjcBoxWeighingAddViewModel.kt b/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/GjcBoxWeighingAddViewModel.kt index fd1ae84..4a074e7 100644 --- a/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/GjcBoxWeighingAddViewModel.kt +++ b/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/GjcBoxWeighingAddViewModel.kt @@ -51,6 +51,7 @@ class GjcBoxWeighingAddViewModel : BaseViewModel() { val totalWeight = MutableLiveData("0") // 总重(红色) val netWeight = MutableLiveData("0") // 装机重(蓝色) val cargoWeight = MutableLiveData("0") // 货重(绿色) + val consumeWeight = MutableLiveData("0") // 耗材重量(只读,随 ULD 记录带出) // 需要自动查询的独立字段(用于监听输入变化) val carId = MutableLiveData("") // 架子车号 @@ -138,6 +139,7 @@ class GjcBoxWeighingAddViewModel : BaseViewModel() { totalWeight.value = bean.totalWeight.toString() netWeight.value = bean.netWeight.toString() cargoWeight.value = bean.cargoWeight.toString() + consumeWeight.value = bean.consumeWeight.toString() diBangWeight.value = bean.totalWeight.toString() // 通道号 Spinner 绑定到 channel(KeyValue.value 即 passagewayId) @@ -273,15 +275,16 @@ class GjcBoxWeighingAddViewModel : BaseViewModel() { /** * 计算重量字段 * 装机重 = 总重 - 架子车自重 - * 货重 = 装机重 - ULD自重 + * 货重 = 装机重 - ULD自重 - 耗材自重 */ private fun calculateWeights() { val total = totalWeight.value?.toDoubleOrNull() ?: 0.0 val carW = dataBean.value?.carWeight ?: 0.0 val uldW = dataBean.value?.uldWeight ?: 0.0 + val consumeW = consumeWeight.value?.toDoubleOrNull() ?: 0.0 val net = total - carW - val cargo = net - uldW + val cargo = net - uldW - consumeW netWeight.value = if (net > 0) net.toString() else "0" cargoWeight.value = if (cargo > 0) cargo.toString() else "0" @@ -334,6 +337,7 @@ class GjcBoxWeighingAddViewModel : BaseViewModel() { totalWeight.value = "0" netWeight.value = "0" cargoWeight.value = "0" + consumeWeight.value = "0" channel.value = "" printTag.value = false @@ -519,6 +523,9 @@ class GjcBoxWeighingAddViewModel : BaseViewModel() { if (usingData != null && usingData.useId > 0) { // 保存返回的数据,用于提交时传递 usingUldData = usingData + // 耗材重量随该记录带回,需要重新参与货重计算 + consumeWeight.value = usingData.consumeWeight.toString() + calculateWeights() } else { // 没有 useId,说明未组装,不可复磅 usingUldData = null diff --git a/module_gjc/src/main/res/layout/activity_gjc_box_weighing_add.xml b/module_gjc/src/main/res/layout/activity_gjc_box_weighing_add.xml index b4588fa..fa14f42 100644 --- a/module_gjc/src/main/res/layout/activity_gjc_box_weighing_add.xml +++ b/module_gjc/src/main/res/layout/activity_gjc_box_weighing_add.xml @@ -259,7 +259,7 @@ - + - + - + + + + + + + + + + +