diff --git a/module_base/src/main/java/com/lukouguoji/module_base/ui/weight/phone/PhoneFormRow.kt b/module_base/src/main/java/com/lukouguoji/module_base/ui/weight/phone/PhoneFormRow.kt index c3bd10d..c4ebb91 100644 --- a/module_base/src/main/java/com/lukouguoji/module_base/ui/weight/phone/PhoneFormRow.kt +++ b/module_base/src/main/java/com/lukouguoji/module_base/ui/weight/phone/PhoneFormRow.kt @@ -7,6 +7,7 @@ import android.util.AttributeSet import android.util.SparseArray import android.view.Gravity import android.view.View +import android.view.inputmethod.EditorInfo import android.widget.EditText import android.widget.ImageView import android.widget.LinearLayout @@ -136,6 +137,20 @@ class PhoneFormRow @JvmOverloads constructor( } } + // INPUT 输入完成回调(与平板 PadDataLayoutNew 一致:失焦即视为输入完成;另加键盘「完成/下一项」)。 + // 原先 INPUT 形态从不触发 refreshCallBack,平板车号/运单号手输后不会回查(Bug #621) + et.setOnFocusChangeListener { _, hasFocus -> + if (!hasFocus && type == PhoneFormRowType.INPUT) refreshCallBack?.invoke() + } + et.setOnEditorActionListener { _, actionId, _ -> + if (type == PhoneFormRowType.INPUT && + (actionId == EditorInfo.IME_ACTION_DONE || actionId == EditorInfo.IME_ACTION_NEXT) + ) { + refreshCallBack?.invoke() + } + false + } + applyType() } diff --git a/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/GjcWeighingStartViewModel.kt b/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/GjcWeighingStartViewModel.kt index c957e41..eef672e 100644 --- a/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/GjcWeighingStartViewModel.kt +++ b/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/GjcWeighingStartViewModel.kt @@ -7,6 +7,7 @@ import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.MutableLiveData import androidx.lifecycle.viewModelScope import com.lukouguoji.module_base.base.BaseViewModel +import com.lukouguoji.module_base.util.DeviceUtil import com.lukouguoji.module_base.bean.GjcMaWb import com.lukouguoji.module_base.bean.GjcWeighingBean import com.lukouguoji.module_base.common.Constant @@ -120,6 +121,8 @@ class GjcWeighingStartViewModel : BaseViewModel() { * 自动计算运抵重量:地磅称重 - (托盘数量 × 托盘自重) */ private fun recalculateArriveWeight() { + // 手机端无地磅重量输入(Bug #621),运抵重量手输;否则会被 0 - 托盘总重 覆盖成 "0" + if (DeviceUtil.isPhone()) return val gross = diBangWeight.value?.toDoubleOrNull() ?: 0.0 val trayTotal = getTrayTotalWeight() val net = gross - trayTotal @@ -198,6 +201,8 @@ class GjcWeighingStartViewModel : BaseViewModel() { onSuccess = { result -> maWbBean.value = result.data ?: GjcMaWb() pageRemark.value = maWbBean.value?.remark + // 运单已带平板车号时直接回查自重(原先只在手输车号完成后查询,Bug #621) + onCarIdInputComplete() // 更新航班日期字符串 flightDate.value = result.data?.fdate?.formatDate() ?: "" } diff --git a/module_gjc/src/main/res/layout/activity_gjc_weighing_start.xml b/module_gjc/src/main/res/layout/activity_gjc_weighing_start.xml index cec2360..6d54926 100644 --- a/module_gjc/src/main/res/layout/activity_gjc_weighing_start.xml +++ b/module_gjc/src/main/res/layout/activity_gjc_weighing_start.xml @@ -176,15 +176,7 @@ type="@{PhoneFormRowType.INPUT}" value="@={viewModel.arrivePc}" /> - - + - +