feat: fix issues

This commit is contained in:
2026-03-26 20:00:41 +08:00
parent bfc39b5d96
commit 67b2dc6d71
3 changed files with 23 additions and 2 deletions

View File

@@ -108,7 +108,14 @@ class IntImpLoadingListActivity :
return return
} }
IntImpModifyStorageDialogModel { dialog -> // 如果所有选中项库位相同,则预选该库位
val commonLocation = selectedItems.map { it.locationTally }.distinct().let {
if (it.size == 1) it.first() else ""
}
IntImpModifyStorageDialogModel(
currentLocationName = commonLocation
) { dialog ->
val locationName = dialog.locationName val locationName = dialog.locationName
val locationId = dialog.locationId val locationId = dialog.locationId
viewModel.performModifyStorage(locationName, locationId, selectedItems) viewModel.performModifyStorage(locationName, locationId, selectedItems)

View File

@@ -16,6 +16,7 @@ import dev.utils.app.info.KeyValue
*/ */
class IntImpModifyStorageDialogModel( class IntImpModifyStorageDialogModel(
private val currentLocationId: String = "", private val currentLocationId: String = "",
private val currentLocationName: String = "",
private val callback: (IntImpModifyStorageDialogModel) -> Unit private val callback: (IntImpModifyStorageDialogModel) -> Unit
) : BaseDialogModel<DialogIntImpModifyStorageBinding>(DIALOG_TYPE_CENTER) { ) : BaseDialogModel<DialogIntImpModifyStorageBinding>(DIALOG_TYPE_CENTER) {
@@ -55,9 +56,14 @@ class IntImpModifyStorageDialogModel(
onSuccess = { result -> onSuccess = { result ->
val list = result.data?.map { it.toKeyValue() } ?: emptyList() val list = result.data?.map { it.toKeyValue() } ?: emptyList()
locationList.value = list locationList.value = list
// 列表加载完成后,预选当前库位 // 列表加载完成后,预选当前库位优先按ID匹配其次按名称匹配
if (currentLocationId.isNotEmpty()) { if (currentLocationId.isNotEmpty()) {
selectedLocationCode.value = currentLocationId selectedLocationCode.value = currentLocationId
} else if (currentLocationName.isNotEmpty()) {
val matched = list.find { it.key == currentLocationName }
if (matched != null) {
selectedLocationCode.value = matched.value
}
} }
} }
onFailed = { _, msg -> onFailed = { _, msg ->

View File

@@ -107,6 +107,14 @@ class GjjManifestDetailsViewModel : BaseViewModel(), IGetData {
remark.value = data.remark.noNull() remark.value = data.remark.noNull()
date.value = data.storageTime.noNull() date.value = data.storageTime.noNull()
// 初始化下拉控件的选中值(避免 onSelected 回调时机不确定导致值丢失)
agent = data.agent.noNull()
specialCode = data.spCode.noNull()
businessType = data.businessType.noNull()
packageType = data.packagecode.noNull()
goodsType = data.cargoType.noNull()
waybillType = data.awbType.noNull()
DictUtils.getAgentList(addAll = false, checkedValue = data.agent) { DictUtils.getAgentList(addAll = false, checkedValue = data.agent) {
agentList.postValue(it) agentList.postValue(it)
} }