Compare commits

..

4 Commits

Author SHA1 Message Date
d937ecef77 fix: 出港查询详情仓库/库位分割线右侧未到边
去掉白卡片容器的 paddingEnd,使表头及内容行分割线左右撑满,与进港侧一致

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-20 13:57:53 +08:00
0f118391b5 feat: 修改进入开始组装时只查当前ULD的组装信息
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-20 13:52:20 +08:00
faf7698829 feat: 删除申报/理货申报增加申报状态校验
四个页面删除申报仅允许申报状态为01的记录;
出港理货申报仅允许状态为空的记录;
并修复理货分单申报状态误绑定 arrivalStatus 的问题

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-20 13:46:32 +08:00
f53a15abb5 style: 开始组装运单列表表头改白底并加分割线
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-20 13:01:31 +08:00
9 changed files with 51 additions and 6 deletions

View File

@@ -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 ->

View File

@@ -1122,6 +1122,11 @@ class IntExpAssembleStartViewModel : BaseViewModel() {
this.uldNo = uldNo
}
// 将 ULD 编号填充到左上角 ULD 列表筛选框,使组装信息列表只查询该 ULD。
// loadAssembledList() 会读取 uldSearchText 作为 uld 查询参数,因此只显示这一个 ULD 的组装信息。
// 用户可手动清空该筛选框后重新查询,即可查看该航班的全部组装信息。
uldSearchText.value = uldNo
// 更新防抖标记,确保查询能触发
lastQueriedUldNo = ""

View File

@@ -228,6 +228,12 @@ class IntExpLoadViewModel : BasePageViewModel() {
return
}
// 校验申报状态:只有装载申报状态为 01 的记录才能删除申报
if (selectedItems.any { it.loadStatus != "01" }) {
showToast("只能删除申报状态为01的运单")
return
}
// 从接口获取删除原因列表
launchLoadingCollect({ NetApply.api.getDelReasonList() }) {
onSuccess = { result ->

View File

@@ -202,6 +202,14 @@ class IntExpTallyViewModel : BasePageViewModel() {
return
}
// 校验申报状态:只有未申报(状态为空)的记录才能理货申报
if (selectedMaWbList.any { !it.declareStatus.isNullOrEmpty() } ||
selectedHaWbList.any { !it.tallyStatus.isNullOrEmpty() }
) {
showToast("只有未申报的运单才能理货申报")
return
}
// 构建请求参数(区分主单和分单)
val params = mutableMapOf<String, Any?>()
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 ->

View File

@@ -160,7 +160,7 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="28dp"
android:background="@color/color_f2"
android:background="@color/white"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingHorizontal="8dp">
@@ -214,6 +214,12 @@
android:textSize="13sp" />
</LinearLayout>
<!-- 表头与列表项分割线 -->
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/line" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_waybill_list"
android:layout_width="match_parent"

View File

@@ -18,8 +18,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_white_radius_bottom_8"
android:orientation="vertical"
android:paddingEnd="8dp">
android:orientation="vertical">
<!-- tab 与表头分割线 -->
<View

View File

@@ -18,8 +18,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_white_radius_bottom_8"
android:orientation="vertical"
android:paddingEnd="8dp">
android:orientation="vertical">
<!-- tab 与表头分割线 -->
<View

View File

@@ -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" />

View File

@@ -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 ->