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}" />
-
-
+
-
+