feat(提取出库): 筛选对齐平板参数,出库人改绑 refUserName,移除无出参占位(问题清单 #28/#29)

- #28 后端不新增入参/出参:筛选弹层改为平板同款 缴费日期起止(beginDate/endDate)/代理人/特码,
  移除航班日期/航班号;卡片移除「提货车辆」,详情移除「目的港」「业务类型」占位
- 运单号入参 no → wbNo(与主干平板端修复一致,no 为 8 位编号)
- #29 Tab 继续按 outState 过滤(后端确认生效);「出库人」改绑新增出参 refUserName(dlvName 是提货人)
- 内网:请求体已确认携带 wbNo/outState;测试环境该接口暂无数据(total=0),卡片展示待有数据后复核

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
YANG JIANKUAN
2026-10-09 07:33:27 -07:00
parent 1229ecc920
commit cca62aae29
5 changed files with 27 additions and 73 deletions

View File

@@ -46,6 +46,7 @@ class IntImpPickUpDLVBean : Serializable {
var dlvId: String = ""
var dlvIdType: String = ""
var dlvName: String = ""
var refUserName: String = "" // 出库人姓名(refId 关联查询)
var dlvPhone: String = ""
var locFlag: String = ""
var origin: String = ""

View File

@@ -70,9 +70,7 @@ class IntImpPickUpDLVViewModel : BasePageViewModel() {
// 筛选弹层显隐
val filterVisible = MutableLiveData(false)
// 筛选条件(flightDate 为 pageQuery 未定义入参 fdate,预留传参,见接口问题清单)
val flightDate = MutableLiveData("")
val flightNo = MutableLiveData("")
// 筛选弹层与平板端查询参数保持一致(后端确认):缴费日期起止 / 代理人 / 特码,运单号走顶部搜索框
// 特码下拉字典(initPhoneExtras 加载,平板为扫码输入不加载)
val specialCodeList = MutableLiveData<List<KeyValue>>(emptyList())
@@ -107,8 +105,8 @@ class IntImpPickUpDLVViewModel : BasePageViewModel() {
/** 重置筛选条件 */
fun resetFilter() {
flightDate.value = ""
flightNo.value = ""
paymentDateStart.value = ""
paymentDateEnd.value = ""
agentCode.value = ""
spCode.value = ""
}
@@ -204,17 +202,15 @@ class IntImpPickUpDLVViewModel : BasePageViewModel() {
* 获取列表数据
*/
override fun getData() {
// 手机专属 3 项平板恒为空,不进请求;fdate 为 pageQuery 未定义入参
//(后端静默忽略,补齐后自动生效,见接口问题清单)
// 查询条件与平板端一致;outState 为手机 Tab 维度(平板恒空不进请求)。
// 运单号入参用 wbNo(no 为 8 位编号,与主干平板端修复一致)
val filterParams = mapOf(
"beginDate" to paymentDateStart.value?.ifEmpty { null },
"endDate" to paymentDateEnd.value?.ifEmpty { null },
"agentCode" to agentCode.value?.ifEmpty { null },
"no" to wbNo.value?.ifEmpty { null },
"wbNo" to wbNo.value?.ifEmpty { null },
"spCode" to spCode.value?.ifEmpty { null },
"outState" to outState.value?.ifEmpty { null },
"fno" to flightNo.value?.ifEmpty { null },
"fdate" to flightDate.value?.ifEmpty { null }
"outState" to outState.value?.ifEmpty { null }
)
val listParams = (filterParams + mapOf(

View File

@@ -3,10 +3,10 @@
国际进港提取出库-运单详情(5.5 寸手机版专属页面,无平板变体——平板端无入口)
对应设计稿 09_提取出库 的 page-detail:
蓝头卡(运单号 + 绿点提取时间)+ 红标签「国际进港」|业务类型 + 品名大标题 +
两列 KV(件数/重量/特码/代理/始发港/目的港/航班日期/航班号/库位橙标签/提货单号)
蓝头卡(运单号 + 绿点提取时间)+ 红标签「国际进港」+ 品名大标题 +
两列 KV(件数/重量/特码/代理/始发港/航班日期/航班号/库位橙标签/提货单号)
+ 绿头「提货信息」卡(柜台办理人/时间;已出库追加出库人/出库时间行)。
「目的港/业务类型」为 pageQuery 出参缺失字段(见问题清单),空值兜底为双横线占位。
「目的港/业务类型」后端无对应出参且确认按平板端口径不提供,已移除;出库人绑 refUserName。
-->
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
@@ -90,7 +90,7 @@
android:orientation="vertical"
android:padding="16dp">
<!-- 红标签「国际进港」 | 业务类型 -->
<!-- 红标签「国际进港」 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -107,21 +107,6 @@
android:textColor="@color/white"
android:textSize="11sp" />
<View
android:layout_width="1px"
android:layout_height="14dp"
android:layout_marginHorizontal="10dp"
android:background="@color/phone_divider" />
<!-- 业务类型(pageQuery 出参无此字段,见问题清单,兜底双横线) -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="--"
android:textColor="@color/phone_text_body"
android:textSize="13sp"
tools:text="普通货物运输" />
</LinearLayout>
<!-- 品名大标题 -->
@@ -181,7 +166,7 @@
</LinearLayout>
<!-- 始发港 | 目的港 -->
<!-- 始发港(半宽) -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -195,13 +180,10 @@
title='@{"始发港"}'
value='@{bean.origin.empty ? "--" : bean.origin}' />
<!-- 目的港(pageQuery 出参无此字段,见问题清单,兜底双横线) -->
<com.lukouguoji.module_base.ui.weight.phone.PhoneKvItem
<View
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
title='@{"目的港"}'
value='@{"--"}' />
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
@@ -316,7 +298,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
title='@{"出库人"}'
value='@{bean.dlvName.empty ? "--" : bean.dlvName}' />
value='@{bean.refUserName.empty ? "--" : bean.refUserName}' />
<com.lukouguoji.module_base.ui.weight.phone.PhoneKvItem
android:layout_width="0dp"

View File

@@ -121,23 +121,22 @@
setOnResetClick="@{(v)-> viewModel.resetFilter()}"
title='@{"筛选条件"}'>
<!-- 航班日期(pageQuery 无 fdate 入参,预留传参,见问题清单) -->
<!-- 缴费日期起 / 止(与平板端查询参数 beginDate / endDate 一致) -->
<com.lukouguoji.module_base.ui.weight.phone.PhoneDataLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
hint='@{"请选择航班日期"}'
title='@{"航班日期"}'
hint='@{"请选择开始日期"}'
title='@{"缴费日期起"}'
type="@{PhoneDataLayoutType.DATE}"
value="@={viewModel.flightDate}" />
value="@={viewModel.paymentDateStart}" />
<!-- 航班号 -->
<com.lukouguoji.module_base.ui.weight.phone.PhoneDataLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
hint='@{"请输入航班号"}'
title='@{"航班号"}'
type="@{PhoneDataLayoutType.INPUT}"
value="@={viewModel.flightNo}" />
hint='@{"请选择结束日期"}'
title='@{"缴费日期止"}'
type="@{PhoneDataLayoutType.DATE}"
value="@={viewModel.paymentDateEnd}" />
<!-- 代理人(复用平板既有 agentList) -->
<com.lukouguoji.module_base.ui.weight.phone.PhoneDataLayout

View File

@@ -13,7 +13,7 @@
一套布局覆盖两种卡片形态(bean.isPickedUp = dlvTime 非空):
· 待出库:勾选框 + 橙色标签 + 库位行
· 已出库:无勾选框 + 绿色标签 + 出库人/出库时间行
「提货车辆」为设计稿字段,pageQuery 出参无车牌字段(见问题清单),空值兜底为双横线占位。
出库人绑 refUserName(出库人姓名);设计稿「提货车辆」后端无对应字段且确认不提供,已移除。
-->
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
@@ -107,30 +107,6 @@
</LinearLayout>
<!-- ==================== 提货车辆行(出参无车牌字段,兜底双横线) ==================== -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:layout_width="14dp"
android:layout_height="14dp"
android:src="@drawable/ic_phone_airplane" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="6dp"
android:text='@{"提货车辆:" + "--"}'
android:textColor="@color/phone_text_body"
android:textSize="13sp"
tools:text="提货车辆:皖A88909" />
</LinearLayout>
<!-- ==================== 三列统计框:代理人 / 件数 / 重量 ==================== -->
<com.lukouguoji.module_base.ui.weight.phone.PhoneStatBox
android:layout_width="match_parent"
@@ -189,7 +165,7 @@
android:layout_weight="1"
android:ellipsize="end"
android:maxLines="1"
android:text='@{"出库人:" + (bean.dlvName.empty ? "--" : bean.dlvName) + " · 出库时间:" + (bean.dlvTime.empty ? "--" : bean.dlvTime)}'
android:text='@{"出库人:" + (bean.refUserName.empty ? "--" : bean.refUserName) + " · 出库时间:" + (bean.dlvTime.empty ? "--" : bean.dlvTime)}'
android:textColor="@color/phone_text_body"
android:textSize="13sp"
tools:text="出库人:张三 · 出库时间:2026-07-05 11:45" />