diff --git a/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpArriveViewModel.kt b/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpArriveViewModel.kt index 5b24bbd..cf1b5c9 100644 --- a/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpArriveViewModel.kt +++ b/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpArriveViewModel.kt @@ -186,9 +186,22 @@ class IntExpArriveViewModel : BasePageViewModel() { */ fun deleteDeclareClick() { val list = pageModel.rv?.commonAdapter()?.items as? List ?: return - val selectedItems = list.filter { it.isSelected } - if (selectedItems.isEmpty()) { + // 收集选中的主单 + val selectedMaWbList = list.filter { it.isSelected } + + // 收集选中的分单 + val selectedHaWbList = mutableListOf() + list.forEach { maWb -> + maWb.haWbList?.forEach { haWb -> + if (haWb.isSelected) { + selectedHaWbList.add(haWb) + } + } + } + + // 检查是否有选中项(主单和分单分开判断,互不影响) + if (selectedMaWbList.isEmpty() && selectedHaWbList.isEmpty()) { showToast("请选择要删除申报的记录") return } @@ -200,12 +213,13 @@ class IntExpArriveViewModel : BasePageViewModel() { // 创建并显示弹框 val dialog = IntExpArriveDeleteDialogModel(changeReasonList) { dialogModel -> - // 弹框确认后的回调 + // 弹框确认后的回调(区分主单和分单) val param = GjcDeclareParam( dcode = dialogModel.changeReason.value, dcontactsName = dialogModel.contactName.value, dcontactsTel = dialogModel.contactPhone.value, - maWbList = selectedItems + maWbList = if (selectedMaWbList.isNotEmpty()) selectedMaWbList else null, + haWbList = if (selectedHaWbList.isNotEmpty()) selectedHaWbList else null ) val requestData = param.toRequestBody() diff --git a/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpTallyViewModel.kt b/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpTallyViewModel.kt index f429eab..3948e8b 100644 --- a/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpTallyViewModel.kt +++ b/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpTallyViewModel.kt @@ -233,9 +233,22 @@ class IntExpTallyViewModel : BasePageViewModel() { */ fun deleteTally() { val list = pageModel.rv?.commonAdapter()?.items as? List ?: return - val selectedItems = list.filter { it.isSelected } - if (selectedItems.isEmpty()) { + // 收集选中的主单 + val selectedMaWbList = list.filter { it.isSelected } + + // 收集选中的分单 + val selectedHaWbList = mutableListOf() + list.forEach { maWb -> + maWb.haWbList?.forEach { haWb -> + if (haWb.isSelected) { + selectedHaWbList.add(haWb) + } + } + } + + // 检查是否有选中项(主单和分单分开判断,互不影响) + if (selectedMaWbList.isEmpty() && selectedHaWbList.isEmpty()) { showToast("请选择要删除申报的记录") return } @@ -247,12 +260,13 @@ class IntExpTallyViewModel : BasePageViewModel() { // 创建并显示弹框 val dialog = IntExpTallyDeleteDialogModel(changeReasonList) { dialogModel -> - // 弹框确认后的回调 + // 弹框确认后的回调(区分主单和分单) val param = GjcDeclareParam( dcode = dialogModel.changeReason.value, dcontactsName = dialogModel.contactName.value, dcontactsTel = dialogModel.contactPhone.value, - maWbList = selectedItems + maWbList = if (selectedMaWbList.isNotEmpty()) selectedMaWbList else null, + haWbList = if (selectedHaWbList.isNotEmpty()) selectedHaWbList else null ) val requestData = param.toRequestBody()