From faf76988299652bd232e124bfdce6d8697a68e0e Mon Sep 17 00:00:00 2001 From: YANG JIANKUAN Date: Sat, 20 Jun 2026 13:46:32 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=A0=E9=99=A4=E7=94=B3=E6=8A=A5/?= =?UTF-8?q?=E7=90=86=E8=B4=A7=E7=94=B3=E6=8A=A5=E5=A2=9E=E5=8A=A0=E7=94=B3?= =?UTF-8?q?=E6=8A=A5=E7=8A=B6=E6=80=81=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 四个页面删除申报仅允许申报状态为01的记录; 出港理货申报仅允许状态为空的记录; 并修复理货分单申报状态误绑定 arrivalStatus 的问题 Co-Authored-By: Claude Opus 4.6 --- .../gjc/viewModel/IntExpArriveViewModel.kt | 8 ++++++++ .../gjc/viewModel/IntExpLoadViewModel.kt | 6 ++++++ .../gjc/viewModel/IntExpTallyViewModel.kt | 16 ++++++++++++++++ .../main/res/layout/item_int_exp_tally_sub.xml | 2 +- .../gjj/viewModel/IntArrAirManifestViewModel.kt | 6 ++++++ 5 files changed, 37 insertions(+), 1 deletion(-) 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 08914b5..663daf9 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 @@ -202,6 +202,14 @@ class IntExpArriveViewModel : BasePageViewModel() { return } + // 校验申报状态:只有申报状态为 01 的记录才能删除申报 + if (selectedMaWbList.any { it.declareStatus != "01" } || + selectedHaWbList.any { it.arrivalStatus != "01" } + ) { + showToast("只能删除申报状态为01的运单") + return + } + // 从接口获取删除原因列表 launchLoadingCollect({ NetApply.api.getDelReasonList() }) { onSuccess = { result -> diff --git a/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpLoadViewModel.kt b/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpLoadViewModel.kt index 85ad7a4..e44f592 100644 --- a/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpLoadViewModel.kt +++ b/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpLoadViewModel.kt @@ -228,6 +228,12 @@ class IntExpLoadViewModel : BasePageViewModel() { return } + // 校验申报状态:只有装载申报状态为 01 的记录才能删除申报 + if (selectedItems.any { it.loadStatus != "01" }) { + showToast("只能删除申报状态为01的运单") + return + } + // 从接口获取删除原因列表 launchLoadingCollect({ NetApply.api.getDelReasonList() }) { onSuccess = { result -> 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 689d44f..464afa5 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 @@ -202,6 +202,14 @@ class IntExpTallyViewModel : BasePageViewModel() { return } + // 校验申报状态:只有未申报(状态为空)的记录才能理货申报 + if (selectedMaWbList.any { !it.declareStatus.isNullOrEmpty() } || + selectedHaWbList.any { !it.tallyStatus.isNullOrEmpty() } + ) { + showToast("只有未申报的运单才能理货申报") + return + } + // 构建请求参数(区分主单和分单) val params = mutableMapOf() if (selectedMaWbList.isNotEmpty()) { @@ -249,6 +257,14 @@ class IntExpTallyViewModel : BasePageViewModel() { return } + // 校验申报状态:只有申报状态为 01 的记录才能删除申报 + if (selectedMaWbList.any { it.declareStatus != "01" } || + selectedHaWbList.any { it.tallyStatus != "01" } + ) { + showToast("只能删除申报状态为01的运单") + return + } + // 从接口获取删除原因列表 launchLoadingCollect({ NetApply.api.getDelReasonList() }) { onSuccess = { result -> diff --git a/module_gjc/src/main/res/layout/item_int_exp_tally_sub.xml b/module_gjc/src/main/res/layout/item_int_exp_tally_sub.xml index 6df706f..9b53add 100644 --- a/module_gjc/src/main/res/layout/item_int_exp_tally_sub.xml +++ b/module_gjc/src/main/res/layout/item_int_exp_tally_sub.xml @@ -73,7 +73,7 @@ android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" - android:text="@{bean.arrivalStatus ?? ``}" + android:text="@{bean.tallyStatus ?? ``}" android:textColor="@color/text_normal" android:textSize="14sp" /> diff --git a/module_gjj/src/main/java/com/lukouguoji/gjj/viewModel/IntArrAirManifestViewModel.kt b/module_gjj/src/main/java/com/lukouguoji/gjj/viewModel/IntArrAirManifestViewModel.kt index cb028f4..b5d8de2 100644 --- a/module_gjj/src/main/java/com/lukouguoji/gjj/viewModel/IntArrAirManifestViewModel.kt +++ b/module_gjj/src/main/java/com/lukouguoji/gjj/viewModel/IntArrAirManifestViewModel.kt @@ -175,6 +175,12 @@ class IntArrAirManifestViewModel : BasePageViewModel() { fun deleteDeclarationClick() { val (maWbList, haWbList) = getSelectedItems("请选择要删除申报的舱单") ?: return + // 校验申报状态:只有申报状态为 01 的舱单才能删除申报 + if (maWbList.any { it.mftStatus != "01" } || haWbList.any { it.mftStatus != "01" }) { + showToast("只能删除申报状态为01的舱单") + return + } + // 从接口获取删除原因列表 launchLoadingCollect({ NetApply.api.getDelReasonList() }) { onSuccess = { result ->