feat(出港计重): 对接后端统计分项/计重人/通道号/托盘字段,筛选对齐平板(问题清单 #12~#18)
- #12 三格统计改取 pageQueryTotal 出参 waitCheckInNumber/checkingNumber(一次请求), 不再依赖 checkIn 入参过滤(内网实测 pageQuery 的 checkIn 过滤仍被忽略,统计出参正确) - #13 待计重筛选对齐平板:航班日期/代理人/特码(移除通道号/承运人/运单类型) - #14 计重记录筛选对齐平板:航班日期/代理人/特码(移除入库日期起止;dest/opId 实测被忽略一并移除) - #15 运单详情「通道号」绑 checked/pageQuery 出参 passageWay - #16 计重明细/修改记录「计重人」绑 listRecordByWh 出参 opUserName(回退 opId) - #17 arriveFlag 已回填,「已提前运抵」置灰态生效(无需改代码,实机确认) - #18 托盘改用平板同款 trayNumber + trayTotalWeight(= 数量 × 自重,自重默认 18kg); 记录卡片/修改记录托盘自重绑 trayTotalWeight;修复托盘输入框 Double 回写致光标跳位(输 18 存成 81) - 内网实测:三格 6/5/1;分托计重 trayNumber=2/trayTotalWeight=36 落库;修改记录保存 18.0 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -255,34 +255,16 @@
|
||||
setOnResetClick="@{(v)-> activity.resetFilter()}"
|
||||
title='@{"筛选条件"}'>
|
||||
|
||||
<!-- 通道号(后端暂无查询入参,预留,见接口问题清单) -->
|
||||
<com.lukouguoji.module_base.ui.weight.phone.PhoneDataLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
hint='@{"请选择通道号"}'
|
||||
list="@{viewModel.channelList}"
|
||||
title='@{"通道号"}'
|
||||
type="@{PhoneDataLayoutType.SPINNER}"
|
||||
value="@={viewModel.channelFilter}" />
|
||||
<!-- 筛选项与平板端查询参数保持一致:fdate / agentCode / spCode(运单号、航班号走顶部搜索框) -->
|
||||
|
||||
<!-- 承运人(后端暂无查询入参,预留,见接口问题清单) -->
|
||||
<!-- 航班日期(复用既有 flightDate,手机默认空 = 全部) -->
|
||||
<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.carrierFilter}" />
|
||||
|
||||
<!-- 运单类型(后端暂无查询入参,预留,见接口问题清单) -->
|
||||
<com.lukouguoji.module_base.ui.weight.phone.PhoneDataLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
hint='@{"请选择运单类型"}'
|
||||
list="@{viewModel.awbTypeList}"
|
||||
title='@{"运单类型"}'
|
||||
type="@{PhoneDataLayoutType.SPINNER}"
|
||||
value="@={viewModel.awbTypeFilter}" />
|
||||
hint='@{"请选择航班日期"}'
|
||||
title='@{"航班日期"}'
|
||||
type="@{PhoneDataLayoutType.DATE}"
|
||||
value="@={viewModel.flightDate}" />
|
||||
|
||||
<!-- 代理人(复用既有 agentCode 查询字段) -->
|
||||
<com.lukouguoji.module_base.ui.weight.phone.PhoneDataLayout
|
||||
@@ -294,6 +276,16 @@
|
||||
type="@{PhoneDataLayoutType.SPINNER}"
|
||||
value="@={viewModel.agentCode}" />
|
||||
|
||||
<!-- 特码(复用既有 spCode 查询字段) -->
|
||||
<com.lukouguoji.module_base.ui.weight.phone.PhoneDataLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
hint='@{"请选择特码"}'
|
||||
list="@{viewModel.spCodeList}"
|
||||
title='@{"特码"}'
|
||||
type="@{PhoneDataLayoutType.SPINNER}"
|
||||
value="@={viewModel.spCode}" />
|
||||
|
||||
</com.lukouguoji.module_base.ui.weight.phone.PhoneFilterPanel>
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
变量 viewModel / activity / editRecord 与平板一致;保留 Activity 中引用的控件 id:recyclerView。
|
||||
|
||||
交互差异(业务逻辑全部复用 GjcWeighingRecordDetailsViewModel):
|
||||
· 顶部卡片:运单号 + 总件数/总重量/托盘总重(totalCarWeight 为手机专属统计字段)
|
||||
· 顶部卡片:运单号 + 总件数/总重量/托盘总重(totalCarWeight = 各记录 trayTotalWeight 之和,手机专属统计字段)
|
||||
· 托盘自重绑 trayTotalWeight(与平板端一致,后端 listRecordByWh / updateRecordList 均支持)
|
||||
· 每条记录卡片带「修改」→ 全屏「修改记录」覆层(isEditMode 驱动显隐,
|
||||
平板端该状态驱动列表内联编辑,互不影响);保存走 onPhoneSaveClick(成功后留在本页)
|
||||
-->
|
||||
@@ -217,15 +218,15 @@
|
||||
required="@{true}"
|
||||
title='@{"托盘自重(kg)"}'
|
||||
type="@{PhoneFormRowType.INPUT}"
|
||||
value="@={editRecord.carWeightStr}" />
|
||||
value="@={editRecord.trayTotalWeightStr}" />
|
||||
|
||||
<!-- 计重人:接口出参仅有操作员编码(无姓名,后端缺口见接口问题清单) -->
|
||||
<!-- 计重人:opUserName 姓名,为空回退 opId -->
|
||||
<com.lukouguoji.module_base.ui.weight.phone.PhoneFormRow
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
title='@{"计重人"}'
|
||||
type="@{PhoneFormRowType.TEXT}"
|
||||
value="@{editRecord.opId}" />
|
||||
value="@{editRecord.opUserDisplay}" />
|
||||
|
||||
<com.lukouguoji.module_base.ui.weight.phone.PhoneFormRow
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -238,22 +238,14 @@
|
||||
setOnResetClick="@{(v)-> activity.resetFilter()}"
|
||||
title='@{"筛选条件"}'>
|
||||
|
||||
<!-- 入库日期起/止:后端暂无查询入参,预留(见接口问题清单) -->
|
||||
<!-- 航班日期(与平板端查询参数 fdate 一致;后端不提供入库日期范围入参) -->
|
||||
<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.checkInDateStart}" />
|
||||
|
||||
<com.lukouguoji.module_base.ui.weight.phone.PhoneDataLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
hint='@{"请选择入库日期"}'
|
||||
title='@{"入库日期止"}'
|
||||
type="@{PhoneDataLayoutType.DATE}"
|
||||
value="@={viewModel.checkInDateEnd}" />
|
||||
value="@={viewModel.flightDate}" />
|
||||
|
||||
<!-- 代理人(复用既有 agentCode 查询字段) -->
|
||||
<com.lukouguoji.module_base.ui.weight.phone.PhoneDataLayout
|
||||
@@ -275,25 +267,6 @@
|
||||
type="@{PhoneDataLayoutType.SPINNER}"
|
||||
value="@={viewModel.spCode}" />
|
||||
|
||||
<!-- 目的站(后端支持入参 dest) -->
|
||||
<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.destFilter}" />
|
||||
|
||||
<!-- 计重人(后端支持入参 opId) -->
|
||||
<com.lukouguoji.module_base.ui.weight.phone.PhoneDataLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
hint='@{"全部"}'
|
||||
list="@{viewModel.whsUserList}"
|
||||
title='@{"计重人"}'
|
||||
type="@{PhoneDataLayoutType.SPINNER}"
|
||||
value="@={viewModel.opUserFilter}" />
|
||||
|
||||
</com.lukouguoji.module_base.ui.weight.phone.PhoneFilterPanel>
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
交互差异(业务逻辑全部复用 GjcWeighingStartViewModel):
|
||||
· 手机版从待计重卡片进入(必带 maWbId),故不做运单号输入行
|
||||
· 平板「地磅称重」输入 → 手机直接编辑「运抵重量」(同一 arriveWeight 字段)
|
||||
· 平板「托盘车号」→ 手机按设计稿为「托盘数量」(palletNumber 预留字段),
|
||||
「托盘自重」相应改为手输(carWeight),两者后端暂无入参,见接口问题清单
|
||||
· 平板「托盘车号」→ 手机按设计稿为「托盘数量」+「托盘自重」(默认 18kg),
|
||||
提交 trayNumber / trayTotalWeight(= 数量 × 自重),与平板端托盘口径一致
|
||||
-->
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
@@ -182,7 +182,7 @@
|
||||
type="@{PhoneFormRowType.TEXT}"
|
||||
value="@{viewModel.arriveVolume}" />
|
||||
|
||||
<!-- 托盘数量:设计稿字段,后端暂无入参(预留 palletNumber,见接口问题清单) -->
|
||||
<!-- 托盘数量 → trayNumber -->
|
||||
<com.lukouguoji.module_base.ui.weight.phone.PhoneFormRow
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -190,9 +190,9 @@
|
||||
numeric="@{true}"
|
||||
title='@{"托盘数量"}'
|
||||
type="@{PhoneFormRowType.INPUT}"
|
||||
value="@={viewModel.palletNumber}" />
|
||||
value="@={viewModel.trayNumber}" />
|
||||
|
||||
<!-- 托盘自重:手机版手输(平板为托盘车号查询回填) -->
|
||||
<!-- 托盘自重(单个,默认 18kg)× 数量 → trayTotalWeight -->
|
||||
<com.lukouguoji.module_base.ui.weight.phone.PhoneFormRow
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -200,7 +200,7 @@
|
||||
numeric="@{true}"
|
||||
title='@{"托盘自重"}'
|
||||
type="@{PhoneFormRowType.INPUT}"
|
||||
value="@={viewModel.carWeight}" />
|
||||
value="@={viewModel.trayWeight}" />
|
||||
|
||||
<com.lukouguoji.module_base.ui.weight.phone.PhoneFormRow
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
设计稿:documents/5.5寸手持端设计文件/03_出港计重/detail.html
|
||||
结构:白色卡片「基本信息」 + 两列灰底字段网格(PhoneKvItem 套 bg_phone_stat_box)
|
||||
注:「通道号」在 /IntExpCheckIn/checked/pageQuery 出参中不存在(后端缺口,见接口问题清单),
|
||||
此处绑定空串由组件兜底显示 "-"。
|
||||
「通道号」绑 /IntExpCheckIn/checked/pageQuery 出参 passageWay,空值由组件兜底显示 "-"。
|
||||
-->
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
@@ -196,7 +195,7 @@
|
||||
title='@{"业务类型"}'
|
||||
value="@{viewModel.bean.businessName.empty ? viewModel.bean.businessType : viewModel.bean.businessName}" />
|
||||
|
||||
<!-- 通道号:接口出参无该字段(后端缺口),空值兜底 "-" -->
|
||||
<!-- 通道号:passageWay,空值兜底 "-" -->
|
||||
<com.lukouguoji.module_base.ui.weight.phone.PhoneKvItem
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -205,7 +204,7 @@
|
||||
android:background="@drawable/bg_phone_stat_box"
|
||||
android:padding="12dp"
|
||||
title='@{"通道号"}'
|
||||
value='@{""}' />
|
||||
value="@{viewModel.bean.passageWay}" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 托盘自重(kg) -->
|
||||
<!-- 托盘自重(kg):trayTotalWeight(与平板端一致) -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -103,14 +103,14 @@
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{record.carWeight}"
|
||||
android:text="@{String.valueOf(record.trayTotalWeight)}"
|
||||
android:textColor="@color/phone_text_strong"
|
||||
android:textSize="14sp"
|
||||
tools:text="18" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 计重人(接口出参仅操作员编码,无姓名,见接口问题清单) -->
|
||||
<!-- 计重人:opUserName 姓名,为空回退 opId -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -128,7 +128,7 @@
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{record.opId}"
|
||||
android:text="@{record.opUserDisplay}"
|
||||
android:textColor="@color/phone_text_strong"
|
||||
android:textSize="14sp"
|
||||
tools:text="张三" />
|
||||
|
||||
Reference in New Issue
Block a user