feat: 国际出港板箱过磅通道号默认沿用上一次选择

称重提交成功后本地记住通道号,后续新增称重自动默认选中;
重置时不再清空通道号,编辑模式仍按记录自带通道号回填。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-02 10:44:31 +08:00
parent 39b5cc3689
commit 86f77353c0

View File

@@ -20,6 +20,7 @@ import com.lukouguoji.module_base.ktx.noNull
import com.lukouguoji.module_base.ktx.showToast import com.lukouguoji.module_base.ktx.showToast
import com.lukouguoji.module_base.ktx.toRequestBody import com.lukouguoji.module_base.ktx.toRequestBody
import com.lukouguoji.module_base.ktx.verifyNullOrEmpty import com.lukouguoji.module_base.ktx.verifyNullOrEmpty
import com.lukouguoji.module_base.db.perference.SharedPreferenceUtil
import com.lukouguoji.module_base.model.BluetoothDialogModel import com.lukouguoji.module_base.model.BluetoothDialogModel
import com.lukouguoji.module_base.model.ScanModel import com.lukouguoji.module_base.model.ScanModel
import com.lukouguoji.module_base.util.Common import com.lukouguoji.module_base.util.Common
@@ -34,6 +35,11 @@ import java.util.Date
*/ */
class GjcBoxWeighingAddViewModel : BaseViewModel() { class GjcBoxWeighingAddViewModel : BaseViewModel() {
companion object {
// 记录上一次称重完成时使用的通道号,后续称重默认选中
private const val KEY_LAST_PASSAGEWAY_ID = "gjc_box_weighing_last_passageway_id"
}
// 数据Bean // 数据Bean
val dataBean = MutableLiveData(GjcUldUseBean()) val dataBean = MutableLiveData(GjcUldUseBean())
@@ -117,7 +123,9 @@ class GjcBoxWeighingAddViewModel : BaseViewModel() {
loadPassagewayList(editBean.passagewayId) loadPassagewayList(editBean.passagewayId)
loadPlCloseList(editBean.plClose) loadPlCloseList(editBean.plClose)
} else { } else {
loadPassagewayList(null) // 新增模式:默认选中上一次称重使用的通道号
val lastPassagewayId = SharedPreferenceUtil.getString(KEY_LAST_PASSAGEWAY_ID)
loadPassagewayList(lastPassagewayId.ifEmpty { null })
loadPlCloseList(null) loadPlCloseList(null)
} }
} }
@@ -338,7 +346,7 @@ class GjcBoxWeighingAddViewModel : BaseViewModel() {
netWeight.value = "0" netWeight.value = "0"
cargoWeight.value = "0" cargoWeight.value = "0"
consumeWeight.value = "0" consumeWeight.value = "0"
channel.value = "" // 通道号不清空:保留当前选择,与 Spinner 显示保持一致,后续称重沿用上一次的通道号
printTag.value = false printTag.value = false
// 重置独立字段 // 重置独立字段
@@ -441,6 +449,11 @@ class GjcBoxWeighingAddViewModel : BaseViewModel() {
if (result.verifySuccess()) { if (result.verifySuccess()) {
showToast("完成复磅") showToast("完成复磅")
// 记住本次使用的通道号,后续称重默认选中
if (bean.passagewayId.isNotEmpty()) {
SharedPreferenceUtil.addString(KEY_LAST_PASSAGEWAY_ID, bean.passagewayId)
}
// 如果勾选了打印挂签,则执行打印 // 如果勾选了打印挂签,则执行打印
if (printTag.value == true) { if (printTag.value == true) {
executePrint() executePrint()