From de62b903d4bd613deab6522519de4c8b41e924ae Mon Sep 17 00:00:00 2001 From: YANG JIANKUAN Date: Fri, 28 Aug 2026 17:12:21 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9B=BD=E9=99=85=E5=87=BA=E6=B8=AF?= =?UTF-8?q?=E6=9D=BF=E7=AE=B1=E8=BF=87=E7=A3=85=E6=96=B0=E5=A2=9E=E8=80=97?= =?UTF-8?q?=E6=9D=90=E9=87=8D=E9=87=8F=E5=B9=B6=E8=AE=A1=E5=85=A5=E8=B4=A7?= =?UTF-8?q?=E9=87=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 过磅表单新增只读的耗材重量,数据随列表项 Bean 带入,扫码新增时 取 queryUsingUldByUld 返回的 consumeWeight - 货重公式由「装机重 - ULD自重」改为「装机重 - ULD自重 - 耗材自重」 - queryUsingUldByUld 返回后补触发重量计算,此前该接口异步返回时 耗材重量不会参与计算 - 表单保持每行三列:第三列自上而下为总重、装机重、耗材重量、货重, 目的港单独占一行三分之一宽,备注换行整行撑满 Co-Authored-By: Claude Opus 5 (1M context) --- .../viewModel/GjcBoxWeighingAddViewModel.kt | 11 ++++- .../layout/activity_gjc_box_weighing_add.xml | 41 +++++++++++++++---- 2 files changed, 42 insertions(+), 10 deletions(-) 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 @@ - + - + - + + + + + + + + + + +