From 4117cbb489db19f659489b49f319b1a880fee9a7 Mon Sep 17 00:00:00 2001 From: YANG JIANKUAN Date: Wed, 15 Apr 2026 14:13:22 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=9B=BD=E9=99=85?= =?UTF-8?q?=E8=BF=9B=E6=B8=AF=E4=BB=93=E5=BA=93=E5=85=A5=E5=BA=93=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=8F=82=E6=95=B0=E6=A0=BC=E5=BC=8F=EF=BC=8C=E5=8E=BB?= =?UTF-8?q?=E9=99=A4=E4=B8=BB=E5=AD=90=E5=88=97=E8=A1=A8=E9=80=89=E4=B8=AD?= =?UTF-8?q?=E8=81=94=E5=8A=A8=EF=BC=8C=E6=9B=B4=E6=96=B0=E5=88=86=E5=8D=95?= =?UTF-8?q?=E7=90=86=E8=B4=A7=E6=8A=A5=E5=91=8A=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 入库接口请求体改为 {location, locationId, warehouseList} 结构 - 移除主列表与子列表之间的双向选中联动,保留全选按钮同时选中两者 - 舱单子列表理货报告字段从 lastMftStatus 改为 tallyStatus - GjjHaWb 新增 tallyStatus 字段 Co-Authored-By: Claude Opus 4.6 --- .../lukouguoji/module_base/bean/GjjHaWb.kt | 3 ++- .../lukouguoji/module_base/http/net/Api.kt | 2 +- .../holder/IntImpStorageUseSubViewHolder.kt | 23 ++----------------- .../gjj/holder/IntImpStorageUseViewHolder.kt | 12 ++-------- .../viewModel/IntImpStorageUseViewModel.kt | 8 +++++-- .../res/layout/item_int_imp_manifest_sub.xml | 2 +- 6 files changed, 14 insertions(+), 36 deletions(-) diff --git a/module_base/src/main/java/com/lukouguoji/module_base/bean/GjjHaWb.kt b/module_base/src/main/java/com/lukouguoji/module_base/bean/GjjHaWb.kt index a802d11..4f836ae 100644 --- a/module_base/src/main/java/com/lukouguoji/module_base/bean/GjjHaWb.kt +++ b/module_base/src/main/java/com/lukouguoji/module_base/bean/GjjHaWb.kt @@ -29,7 +29,8 @@ data class GjjHaWb( var opDate: String = "", var billsNo: String = "", var remark: String = "", - var response: String = "" + var response: String = "", + var tallyStatus: String = "" ) : Serializable { @Transient val checked: ObservableBoolean = ObservableBoolean(false) diff --git a/module_base/src/main/java/com/lukouguoji/module_base/http/net/Api.kt b/module_base/src/main/java/com/lukouguoji/module_base/http/net/Api.kt index 72c2782..1dc9249 100644 --- a/module_base/src/main/java/com/lukouguoji/module_base/http/net/Api.kt +++ b/module_base/src/main/java/com/lukouguoji/module_base/http/net/Api.kt @@ -963,7 +963,7 @@ interface Api { * 接口路径: /IntImpStorage/inStorage */ @POST("IntImpStorage/inStorage") - suspend fun inIntImpStorage(@Query("location") location: String, @Body data: RequestBody): BaseResultBean + suspend fun inIntImpStorage(@Body data: RequestBody): BaseResultBean /** * 国际进港提取记录-分页查询 diff --git a/module_gjj/src/main/java/com/lukouguoji/gjj/holder/IntImpStorageUseSubViewHolder.kt b/module_gjj/src/main/java/com/lukouguoji/gjj/holder/IntImpStorageUseSubViewHolder.kt index 934ee41..4fbe8d5 100644 --- a/module_gjj/src/main/java/com/lukouguoji/gjj/holder/IntImpStorageUseSubViewHolder.kt +++ b/module_gjj/src/main/java/com/lukouguoji/gjj/holder/IntImpStorageUseSubViewHolder.kt @@ -1,10 +1,8 @@ package com.lukouguoji.gjj.holder import android.view.View -import androidx.recyclerview.widget.RecyclerView import com.lukouguoji.gjj.databinding.ItemIntImpStorageUseSubBinding import com.lukouguoji.module_base.base.BaseViewHolder -import com.lukouguoji.module_base.bean.GjcMaWb import com.lukouguoji.module_base.bean.GjcStorageUse /** @@ -19,27 +17,10 @@ class IntImpStorageUseSubViewHolder(view: View) : binding.position = position binding.executePendingBindings() - // 单选框点击切换选择状态(反向联动主列表) + // 单选框点击切换选择状态 binding.ivCheckbox.setOnClickListener { - // 切换子列表项的选择状态 - val newCheckedState = !bean.checked.get() - bean.checked.set(newCheckedState) + bean.checked.set(!bean.checked.get()) binding.executePendingBindings() - - // 反向联动主列表项(仅在勾选时联动) - updateParentCheckState(newCheckedState) - } - } - - /** - * 更新父列表项的选择状态 - */ - private fun updateParentCheckState(newCheckedState: Boolean) { - val recyclerView = itemView.parent as? RecyclerView ?: return - val parentBean = recyclerView.tag as? GjcMaWb ?: return - - if (newCheckedState) { - parentBean.checked.set(true) } } } diff --git a/module_gjj/src/main/java/com/lukouguoji/gjj/holder/IntImpStorageUseViewHolder.kt b/module_gjj/src/main/java/com/lukouguoji/gjj/holder/IntImpStorageUseViewHolder.kt index 280cff1..99f0848 100644 --- a/module_gjj/src/main/java/com/lukouguoji/gjj/holder/IntImpStorageUseViewHolder.kt +++ b/module_gjj/src/main/java/com/lukouguoji/gjj/holder/IntImpStorageUseViewHolder.kt @@ -20,18 +20,10 @@ class IntImpStorageUseViewHolder(view: View) : binding.position = position binding.executePendingBindings() - // 图标点击切换选择状态(联动子列表) + // 图标点击切换选择状态 binding.ivIcon.setOnClickListener { - val newCheckedState = !bean.checked.get() - bean.checked.set(newCheckedState) - - // 联动勾选/取消所有子列表项 - bean.storageUseList?.forEach { storageUse -> - storageUse.checked.set(newCheckedState) - } - + bean.checked.set(!bean.checked.get()) binding.executePendingBindings() - binding.rvSub.adapter?.notifyDataSetChanged() } // 展开按钮点击事件 diff --git a/module_gjj/src/main/java/com/lukouguoji/gjj/viewModel/IntImpStorageUseViewModel.kt b/module_gjj/src/main/java/com/lukouguoji/gjj/viewModel/IntImpStorageUseViewModel.kt index 2a1daa1..cc720a3 100644 --- a/module_gjj/src/main/java/com/lukouguoji/gjj/viewModel/IntImpStorageUseViewModel.kt +++ b/module_gjj/src/main/java/com/lukouguoji/gjj/viewModel/IntImpStorageUseViewModel.kt @@ -230,9 +230,13 @@ class IntImpStorageUseViewModel : BasePageViewModel() { return } - val body = maWbListForInStorage.toRequestBody() + val body = mapOf( + "location" to locationName, + "locationId" to locationId.toLongOrNull(), + "warehouseList" to maWbListForInStorage + ).toRequestBody() - launchLoadingCollect({ NetApply.api.inIntImpStorage(locationName, body) }) { + launchLoadingCollect({ NetApply.api.inIntImpStorage(body) }) { onSuccess = { showToast("入库成功") viewModelScope.launch { diff --git a/module_gjj/src/main/res/layout/item_int_imp_manifest_sub.xml b/module_gjj/src/main/res/layout/item_int_imp_manifest_sub.xml index 3428afd..c5c6dc3 100644 --- a/module_gjj/src/main/res/layout/item_int_imp_manifest_sub.xml +++ b/module_gjj/src/main/res/layout/item_int_imp_manifest_sub.xml @@ -104,7 +104,7 @@ android:gravity="center" android:maxLines="1" android:ellipsize="end" - android:text="@{bean.lastMftStatus ?? ``}" + android:text="@{bean.tallyStatus ?? ``}" android:textColor="@color/colorPrimary" android:textSize="14sp" />