Compare commits

20 Commits

Author SHA1 Message Date
75bfe85f62 feat: 航班表单三个枚举下拉对接字典接口并补全字段
新增页补上飞行状态输入项;飞行状态、航班服务种类、航班状态三个
下拉改为调用 typeCode 字典接口,替换原有的硬编码选项(旧的航班
状态码值与服务端实际码值完全不同)。详情页加载同一批字典,按值
反查并显示 label。新增页与详情页字段对齐为同一套。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-09-17 12:21:01 +08:00
f39127436a feat: 国际出港开始组装板型下拉改为控件下方展开
板型由底部弹框选择改为锚定在输入框正下方的 ListPopupWindow,
复用相邻 BUP Spinner 的弹层背景与列表项布局,外观保持一致,
且不影响手动输入。

板型数据源的承运人参数改由 ULD 编号触发:选中运单不再重载,
改为 ULD 信息查询成功后取 ULD 编号后两位作为 carrier 重新加载。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 11:49:06 +08:00
6b02f71e8a fix: 国际进港仓库清仓入参改为 body 传递
清仓原先把 clearNormal/clearRemark 放在 URL query 上,与接口文档不符。
改为与国际出港一致的单对象 body:clearNormal、clearRemark 在顶层,
选中数据放 warehouseList(出港侧对应字段为 maWbList)。
同时移除逐条写入主单 clearRemark 的兼容写法。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 11:24:58 +08:00
50275457a4 feat: 国际出港查询筛选弹框特码改为下拉选择
特码由手动输入改为从特码字典接口获取的下拉列表,
接口参数与国际出港待记重页面一致(flag=1 国际、ieFlag 为空),
首项「全部」表示不过滤

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-16 12:45:04 +08:00
b14649b228 fix: 国际进港舱单新增/编辑页航程不再随始发站目的站联动
航程改为仅由航班信息决定:航班查询成功取航班起始站-目的站,
编辑模式取舱单 fdep-fdest,从列表页带入时取传入的航班始发/目的站;
用户手动修改始发站、目的站时航程保持不变

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-16 12:27:31 +08:00
52d1527121 fix: 国际进港原始舱单与装机单未选航班时不再请求列表接口
- 原始舱单、装机单搜索时校验航班号必填,为空提示「请输入航班号」
- 装机单仅在父页面传入 fid 时才初始加载,否则等待手动查询
- 进港舱单、装机单 getData 在 fid 为空时直接清空列表与汇总,不发请求;
  修复装机单编辑保存后广播刷新事件,导致未选航班的父页面请求接口
  并报「业务异常:请先选择航班」

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-16 12:11:23 +08:00
74cf1346a6 style: 国际出港/进港列表项文字样式统一为四个基准页规范
主题未覆盖 textViewStyle,旧列表项未显式写 textColor 导致文字发灰、
字号与卡片边距不一。以出港运抵/组装/装载/理货为基准统一:
- Key/Value 显式 15sp + text_normal,首要字段 colorPrimary 加粗,
  状态值 14sp 带颜色表达式
- 卡片外边距 10dp/10dp,bg_item 统一为 bg_white_radius_8,
  图标与内容区间距 15dp
- 原始舱单子列表改为标准白卡片 + 表头底色,查询详情表格改用 text_normal
- 修复出港查询布局 xmlns:tools 误绑 android 命名空间
- CLAUDE.md 列表项规范表同步更新为基准页真实数值

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-16 11:52:36 +08:00
8853405ffc fix: 计重明细重量与托盘自重改为和恒定双向联动并校验非负
原逻辑托盘自重变化时重量同向增减,且修改重量不联动托盘自重。
改为两者之和恒等于接口初始值,修改任一方另一方反向同步变动;
任一方将小于 0 时拒绝输入、提示并回退显示。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 18:25:02 +08:00
ee0606230f fix: 国内进港移库列表项两行列宽不一致导致标签错位
主应用移库列表第三列「重量」weight 为 0.7 而「起始站」为 0.8,
两行 weight 总和不同使各列起点偏移;统一为 0.8 后上下对齐。
同时修正 module_gnj 旧版移库列表项同列 completeSpace 不一致。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 16:30:26 +08:00
07ea8853f3 feat: 国际出港开始组装板型下拉对接后端板型接口
进入页面调用 /typeCode/bordType 取全量板型,选中待组装运单后
以航班号前两位作 carrier 重新加载覆盖下拉数据源;后端 carrier
必填,无承运人时传空串。替换原 BOARDTYPE 字典实现。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 16:20:08 +08:00
6d4908da1a style: 海关回执页面内容区背景改为与列表卡片一致的圆角
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 16:03:46 +08:00
a1d078db7a fix: 国际进港舱单理货完成去掉库位弹框直接调用发放接口
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 15:58:32 +08:00
f6e5b37eaa fix: 国际进港出库特码筛选由输入框改为字典下拉选择
与国际进港查询筛选栏保持一致,加载国际特码字典供选择,
去掉原特码扫码入口。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 15:53:03 +08:00
2f4e723dd7 feat: 国际进港仓库清仓弹框新增备注并在列表第三行显示
清仓时备注同时通过 clearRemark query 参数和运单字段发送,兼容服务端两种取值方式;
列表项新增独占一行的备注展示,与国际出港仓库保持一致。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 15:44:34 +08:00
52584b9cfe fix: 国际出港板箱过磅重进页面时自动选中上次通道号
原实现只把上次通道号排到字典列表首位,但带 hint 的 Spinner 默认停在 hint 项,
导致退出再进入(含从列表点 ULD 进入的编辑模式)时通道号始终显示「请选择通道号」。
改为字典加载完成后按「本条记录通道号 → 上次记住的通道号」优先级显式赋值。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 15:08:50 +08:00
efe7a1d2a9 refactor: 国际出港移库详情/编辑按最新接口文档重新对接
- 新增 GjcMoveDetail Bean 对应 /IntExpMove/detail 返回与 /IntExpMove/update 请求体
- 承运人改取 by、运单类型改取 awbTypeName,去掉文档中不存在的航班字段,新增移交状态展示
- 保存时回传完整详情对象,仅替换备注与 pic/originalPic/picNumber
- 列表 Bean 随 Intent 传入,回填 detail 返回为空的承运人、出运路径等展示字段

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 14:55:54 +08:00
85fd66b005 refactor: 国际出港查询筛选面板去掉出库状态筛选项
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 14:29:32 +08:00
de64c8ddb6 style: 国际进港查询筛选栏航班号与代理位置互换
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 14:26:15 +08:00
2a83c1393e feat: 航班新增/编辑表单精简字段并补充必填校验
去掉进出港、货邮状态、运单前缀三个输入项;地区类型、服务类型、
计划起飞、预计起飞、计划降落、预计降落改为必填并显示星号。
编辑模式下被移除字段仍原值回传,避免更新时被清空。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 14:23:02 +08:00
9dddb7c079 feat: 国际出港仓库列表项新增第三行显示清仓备注
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 14:08:31 +08:00
62 changed files with 1663 additions and 882 deletions

View File

@@ -402,44 +402,50 @@ fun toggleAllExpand() {
| `radiobtn_unchecked_style` | 未选中 | 透明 + 黑色边框圆 | | `radiobtn_unchecked_style` | 未选中 | 透明 + 黑色边框圆 |
| ~~`radiobtn_checked_gray`~~ | ❌ 禁用 | 灰色实心圆(错误样式) | | ~~`radiobtn_checked_gray`~~ | ❌ 禁用 | 灰色实心圆(错误样式) |
#### 含子列表的列表项 UI 规范(以 `item_int_exp_storage_use.xml` 为基准) #### 列表项 UI 规范(以 `item_int_exp_arrive / assemble / load / tally.xml` 四个基准页为准)
> 应用主题未覆盖 `textViewStyle`,未显式写 `textSize``textColor` 的 TextView 会落到系统默认14sp、偏灰的次级文字色。因此列表项里**每个** KeyValue TextView 都必须显式写 `textSize` 和 `textColor`,不能依赖“默认继承”。
**主列表项卡片** **主列表项卡片**
| 部位 | 属性 | 标准值 | | 部位 | 属性 | 标准值 |
|------|------|--------| |------|------|--------|
| 外层容器 | marginHorizontal / marginTop | 10dp / 10dp | | 外层容器 | marginHorizontal / marginTop | 10dp / 10dp(禁止旧写法 `marginHorizontal=15dp` + `marginVertical=5dp`|
| 卡片背景 | background | `@drawable/bg_white_radius_8` | | 卡片背景 | background | `@drawable/bg_white_radius_8``bg_item` 已废弃,不再引用)|
| 内容区 | padding | **10dp** | | 内容区 | paddingHorizontal / paddingVertical / gravity | **10dp / 20dp** / `center_vertical` |
| 选中图标 | 尺寸 / marginEnd / marginTop | 40×40dp / 10dp / **0.5px**(像素级对齐)| | 选中图标 | 尺寸 / marginTop | 40×40dp / **0.5px**(像素级对齐),不设 marginEnd |
| 内容列(图标右侧的竖向 LinearLayout| layout_marginLeft | **15dp** |
| 选中图标 | 切换资源 | `img_plane_s`(选中)/ `img_plane`(未选中)| | 选中图标 | 切换资源 | `img_plane_s`(选中)/ `img_plane`(未选中)|
| KV 文字 | textSize | **15sp**Key 和 Value 均需显式设置)| | KV 文字 | textSize / textColor | **15sp** / **`@color/text_normal`**Key 和 Value 均需显式设置)|
| 首要字段值(运单号)| textColor | `@color/colorPrimary` | | 首要字段值(运单号ULD编码| textColor / textStyle | `@color/colorPrimary` / **`bold`** |
| 其他字段 | textColor | 无需设置(继承默认 text_normal| | 状态类字段值(带颜色表达式)| textSize | **14sp** + 颜色表达式(如 `text_green / colorPrimary / text_gray`|
| 两行间距 | layout_marginTop | 10dp | | 两行间距 | layout_marginTop | 10dp |
| 右侧箭头(有详情页时)| `img_pda_right` | 30×30dp`layout_marginLeft=10dp` |
**展开/折叠按钮(`iv_show`** **展开/折叠按钮(`iv_show`**
| 属性 | 标准值 | | 属性 | 标准值 |
|------|--------| |------|--------|
| layout_width | `match_parent` | | layout_width | `match_parent` |
| layout_height | **10dp** | | layout_height | **20dp** |
| layout_marginTop | **-10dp**(向上收紧,紧贴卡片底边)| | layout_marginTop | **-20dp**(向上收紧,紧贴卡片底边)|
| scaleType | **centerInside**(保证箭头不被压扁/截断)| | scaleType | **center** |
| src | `@mipmap/img_down` | | src | `@mipmap/img_down` |
| 显示控制 | `visible="@{bean.subList != null && !bean.subList.empty}"` | | 显示控制 | `visible="@{bean.subList != null && !bean.subList.empty}"` |
| 不设 padding不设 layout_marginBottom | — | | 不设 padding不设 layout_marginBottom | — |
> 旧版本18dp + padding=4dp + marginBottom=5dp已统一替换为上述新标准参考 `item_int_exp_arrive.xml`。组装类列表若需展开后翻转箭头,附加 `android:rotation="@{bean.showMore.get() ? 180f : 0f}"`(参考 `item_int_exp_assemble.xml`)。 > 旧版本18dp + padding=4dp + marginBottom=5dp,以及 10dp/-10dp/centerInside)已统一替换为上述新标准,参考 `item_int_exp_arrive.xml`。组装类列表若需展开后翻转箭头,附加 `android:rotation="@{bean.showMore.get() ? 180f : 0f}"`(参考 `item_int_exp_assemble.xml`)。
**子列表区域** **子列表区域**
- 容器:`layout_marginTop="5dp"``background="#e3f6e0"` - 容器:`layout_marginTop="10dp"``background="@drawable/bg_white_radius_8"`(旧的 `#e3f6e0` 绿色容器已废弃)
- 表头行:`layout_marginVertical="10dp"``paddingHorizontal="10dp"` - 空提示:`textSize="14sp"``textColor="@color/text_gray"``paddingVertical="15dp"`
- 表头行:`background="@drawable/bg_arrive_sub_header"``paddingHorizontal="10dp"``paddingVertical="10dp"`
- 表头文字:`textSize="14sp"``textColor="@color/text_normal"``textStyle="bold"``gravity="center"` - 表头文字:`textSize="14sp"``textColor="@color/text_normal"``textStyle="bold"``gravity="center"`
- 表头下方分隔线:`MaterialDivider` 高度 1px`background="@color/c999999"` - 表头下方分隔线:`MaterialDivider` 高度 1px`dividerColor="@color/sub_list_divider"`
- 子列表项 padding`paddingHorizontal="10dp"``paddingVertical="8dp"` - 子列表项`layout_marginVertical="8dp"``paddingHorizontal="10dp"`
- 子列表文字:`textSize="14sp"``textColor="@color/text_normal"``gravity="center"``layout_gravity="center_vertical"` - 子列表文字:`textSize="14sp"``textColor="@color/text_normal"``gravity="center"``layout_gravity="center_vertical"`;首要列(运单号/分单号)`@color/colorPrimary` + `bold`;状态列 `13sp` + 颜色表达式
- 详情页里的表格式列表(如查询详情的库位/仓库 Tab同样 14sp + `text_normal`,禁止 `@android:color/black`
**子列表复选框(关键)** **子列表复选框(关键)**

View File

@@ -7,6 +7,8 @@ import com.lukouguoji.module_base.bean.FlightBean
import com.lukouguoji.module_base.common.Constant import com.lukouguoji.module_base.common.Constant
import com.lukouguoji.module_base.http.net.NetApply import com.lukouguoji.module_base.http.net.NetApply
import com.lukouguoji.module_base.ktx.launchLoadingCollect import com.lukouguoji.module_base.ktx.launchLoadingCollect
import com.lukouguoji.module_base.util.DictUtils
import dev.utils.app.info.KeyValue
class FlightQueryDetailsViewModel : BaseViewModel() { class FlightQueryDetailsViewModel : BaseViewModel() {
@@ -14,9 +16,24 @@ class FlightQueryDetailsViewModel : BaseViewModel() {
var dataBean = MutableLiveData<FlightBean>() var dataBean = MutableLiveData<FlightBean>()
///////////////////////////////////////////////////////////////////////////
// 枚举字段展示文案接口已返回名称时原样显示只返回值code时按字典反查名称
///////////////////////////////////////////////////////////////////////////
val countryTypeText = MutableLiveData("")
val serviceTypeText = MutableLiveData("")
val portCodeText = MutableLiveData("")
val flightStatusText = MutableLiveData("")
private var countryTypeDict = emptyList<KeyValue>()
private var serviceTypeDict = emptyList<KeyValue>()
private var portCodeDict = emptyList<KeyValue>()
private var flightStatusDict = emptyList<KeyValue>()
fun initOnCreated(intent: Intent) { fun initOnCreated(intent: Intent) {
id = intent.getStringExtra(Constant.Key.ID) ?: "" id = intent.getStringExtra(Constant.Key.ID) ?: ""
loadDictLists()
getData() getData()
} }
@@ -27,8 +44,52 @@ class FlightQueryDetailsViewModel : BaseViewModel() {
onSuccess = { onSuccess = {
it.data?.let { data -> it.data?.let { data ->
dataBean.value = data dataBean.value = data
refreshEnumText()
} }
} }
} }
} }
/**
* 加载四个枚举字典(与新增/编辑页同源),用于把 code 反查成 label
*/
private fun loadDictLists() {
DictUtils.getCountryTypeList(addAll = false) {
countryTypeDict = it
refreshEnumText()
}
DictUtils.getFlightServiceTypeList(addAll = false) {
serviceTypeDict = it
refreshEnumText()
}
DictUtils.getFlightPortCodeList(addAll = false) {
portCodeDict = it
refreshEnumText()
}
DictUtils.getFlightStatusList(addAll = false) {
flightStatusDict = it
refreshEnumText()
}
}
/**
* 数据或字典任一就绪都重算一次,避免两者返回先后顺序影响展示
*/
private fun refreshEnumText() {
val bean = dataBean.value ?: return
countryTypeText.value = toLabel(countryTypeDict, bean.countryType)
serviceTypeText.value = toLabel(serviceTypeDict, bean.serviceType)
portCodeText.value = toLabel(portCodeDict, bean.portCode)
flightStatusText.value = toLabel(flightStatusDict, bean.flightStatus)
}
/**
* 值转 label先按 code 反查,命中不了再判断是否本身就是 label仍不命中则原样返回
*/
private fun toLabel(dict: List<KeyValue>, raw: String?): String {
if (raw.isNullOrEmpty()) return ""
dict.firstOrNull { it.value == raw }?.let { return it.key }
dict.firstOrNull { it.key == raw }?.let { return it.key }
return raw
}
} }

View File

@@ -37,7 +37,7 @@
android:orientation="vertical" android:orientation="vertical"
android:padding="15dp"> android:padding="15dp">
<!-- 第1行航班日期、航班号、航程 --> <!-- 第1行航班日期、航班号、机型 -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -68,20 +68,69 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
enable="@{false}" enable="@{false}"
title='@{"航程"}' title='@{"机型"}'
titleLength="@{4}" titleLength="@{4}"
type="@{DataLayoutType.INPUT}" type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.range}' /> value='@{viewModel.dataBean.aircraftCode}' />
</LinearLayout> </LinearLayout>
<!-- 第2行地区类型、服务类型、经停站 --> <!-- 第2行始发港、经停港、目的港 -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:orientation="horizontal"> android:orientation="horizontal">
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
enable="@{false}"
title='@{"始发港"}'
titleLength="@{4}"
type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.fdep}' />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
enable="@{false}"
title='@{"经停港"}'
titleLength="@{4}"
type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.jtz}' />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
enable="@{false}"
title='@{"目的港"}'
titleLength="@{4}"
type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.fdest}' />
</LinearLayout>
<!-- 第3行航程、地区类型、服务类型 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:orientation="horizontal">
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
enable="@{false}"
title='@{"航程"}'
titleLength="@{4}"
type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.range}' />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew <com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -90,7 +139,7 @@
title='@{"地区类型"}' title='@{"地区类型"}'
titleLength="@{4}" titleLength="@{4}"
type="@{DataLayoutType.INPUT}" type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.countryType}' /> value='@{viewModel.countryTypeText}' />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew <com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp" android:layout_width="0dp"
@@ -100,21 +149,50 @@
title='@{"服务类型"}' title='@{"服务类型"}'
titleLength="@{4}" titleLength="@{4}"
type="@{DataLayoutType.INPUT}" type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.serviceType}' /> value='@{viewModel.serviceTypeText}' />
</LinearLayout>
<!-- 第4行飞行状态、航班状态、延误原因 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:orientation="horizontal">
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew <com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
enable="@{false}" enable="@{false}"
title='@{"经停站"}' title='@{"飞行状态"}'
titleLength="@{4}" titleLength="@{4}"
type="@{DataLayoutType.INPUT}" type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.jtz}' /> value='@{viewModel.portCodeText}' />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
enable="@{false}"
title='@{"航班状态"}'
titleLength="@{4}"
type="@{DataLayoutType.INPUT}"
value='@{viewModel.flightStatusText}' />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
enable="@{false}"
title='@{"延误原因"}'
titleLength="@{4}"
type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.delayFreeText}' />
</LinearLayout> </LinearLayout>
<!--3行:计划起飞、预计起飞、实际起飞 --> <!--5行:计划起飞、预计起飞、实际起飞 -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -153,7 +231,7 @@
</LinearLayout> </LinearLayout>
<!--4行:计划降落、预计降落、实际降落 --> <!--6行:计划降落、预计降落、实际降落 -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -192,72 +270,13 @@
</LinearLayout> </LinearLayout>
<!--5行:飞行状态、航班状态、延误原因 --> <!--7行:机位、机号 -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:orientation="horizontal"> android:orientation="horizontal">
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
enable="@{false}"
title='@{"飞行状态"}'
titleLength="@{4}"
type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.portCode}' />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
enable="@{false}"
title='@{"航班状态"}'
titleLength="@{4}"
type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.flightStatus}' />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
enable="@{false}"
title='@{"延误原因"}'
titleLength="@{4}"
type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.delayFreeText}' />
</LinearLayout>
<!-- 第6行机号、机型、机位 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:orientation="horizontal">
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
enable="@{false}"
title='@{"机号"}'
titleLength="@{4}"
type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.registration}' />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
enable="@{false}"
title='@{"机型"}'
titleLength="@{4}"
type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.aircraftCode}' />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew <com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -268,6 +287,21 @@
type="@{DataLayoutType.INPUT}" type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.standId}' /> value='@{viewModel.dataBean.standId}' />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
enable="@{false}"
title='@{"机号"}'
titleLength="@{4}"
type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.registration}' />
<Space
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>

View File

@@ -95,7 +95,7 @@
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="0.7" android:layout_weight="0.8"
android:gravity="center_vertical"> android:gravity="center_vertical">
<TextView <TextView

View File

@@ -3,6 +3,7 @@ package com.lukouguoji.module_base.bean
import androidx.databinding.BaseObservable import androidx.databinding.BaseObservable
import androidx.databinding.Bindable import androidx.databinding.Bindable
import androidx.databinding.library.baseAdapters.BR import androidx.databinding.library.baseAdapters.BR
import com.lukouguoji.module_base.ktx.showToast
/** /**
* 国际出港计重记录明细Bean * 国际出港计重记录明细Bean
@@ -43,40 +44,76 @@ data class GjcCheckInRecord(
} }
} }
// 重量的字符串表示(用于双向绑定 // 重量 / 托盘自重编辑过程中的原始输入串(保持回显与输入一致,避免光标跳位
@get:Bindable // 不作为构造参数data class copy 备份/恢复时自动丢弃,回退到数值显示
var weightStr: String
get() = if (weight == 0.0) "" else weight.toString()
set(value) {
val newWeight = value.toDoubleOrNull() ?: 0.0
if (weight != newWeight) {
weight = newWeight
notifyPropertyChanged(BR.weightStr)
onDataChanged?.invoke()
}
}
// 托盘自重编辑过程中的原始输入串(保持回显与输入一致,避免光标跳位)
// 不作为构造参数data class copy 备份/恢复时自动丢弃,回退到 trayTotalWeight 显示
// @Transient仅界面内部状态不参与 Gson 序列化提交 // @Transient仅界面内部状态不参与 Gson 序列化提交
@Transient
private var weightInput: String? = null
@Transient @Transient
private var trayTotalWeightInput: String? = null private var trayTotalWeightInput: String? = null
// 托盘自重的字符串表示(用于双向绑定) // 重的字符串表示(用于双向绑定)
// 业务规则:重量包含托盘自重,托盘自重编辑后,重量同步增减相同差值 // 业务规则:重量 + 托盘自重 恒定(等于接口返回初始值之和),修改一方另一方反向同步变动
// 校验:任一方不能小于 0非法输入直接拒绝并回退显示
@get:Bindable
var weightStr: String
get() = weightInput ?: if (weight == 0.0) "" else weight.toString()
set(value) {
val newWeight = value.toDoubleOrNull() ?: 0.0
val newTrayWeight = round2(weight + trayTotalWeight - newWeight)
when {
newWeight < 0 -> {
showToast("重量不能小于 0")
notifyPropertyChanged(BR.weightStr)
}
newTrayWeight < 0 -> {
showToast("重量不能超过 ${round2(weight + trayTotalWeight)},否则托盘自重将小于 0")
notifyPropertyChanged(BR.weightStr)
}
else -> {
weightInput = value
if (weight != newWeight) {
weight = newWeight
trayTotalWeight = newTrayWeight
trayTotalWeightInput = null
notifyPropertyChanged(BR.weightStr)
notifyPropertyChanged(BR.trayTotalWeightStr)
onDataChanged?.invoke()
}
}
}
}
// 托盘自重的字符串表示(用于双向绑定),联动规则同上
@get:Bindable @get:Bindable
var trayTotalWeightStr: String var trayTotalWeightStr: String
get() = trayTotalWeightInput get() = trayTotalWeightInput ?: if (trayTotalWeight == 0.0) "" else trayTotalWeight.toString()
?: if (trayTotalWeight == 0.0) "" else trayTotalWeight.toString()
set(value) { set(value) {
trayTotalWeightInput = value
val newTrayWeight = value.toDoubleOrNull() ?: 0.0 val newTrayWeight = value.toDoubleOrNull() ?: 0.0
val newWeight = round2(weight + trayTotalWeight - newTrayWeight)
when {
newTrayWeight < 0 -> {
showToast("托盘自重不能小于 0")
notifyPropertyChanged(BR.trayTotalWeightStr)
}
newWeight < 0 -> {
showToast("托盘自重不能超过 ${round2(weight + trayTotalWeight)},否则重量将小于 0")
notifyPropertyChanged(BR.trayTotalWeightStr)
}
else -> {
trayTotalWeightInput = value
if (trayTotalWeight != newTrayWeight) { if (trayTotalWeight != newTrayWeight) {
weight = Math.round((weight + newTrayWeight - trayTotalWeight) * 100) / 100.0
trayTotalWeight = newTrayWeight trayTotalWeight = newTrayWeight
weight = newWeight
weightInput = null
notifyPropertyChanged(BR.trayTotalWeightStr) notifyPropertyChanged(BR.trayTotalWeightStr)
notifyPropertyChanged(BR.weightStr) notifyPropertyChanged(BR.weightStr)
onDataChanged?.invoke() onDataChanged?.invoke()
} }
} }
}
}
private fun round2(v: Double): Double = Math.round(v * 100) / 100.0
} }

View File

@@ -86,6 +86,7 @@ data class GjcMaWb(
var reviewStatus: String? = null, // 审核状态0未审核1通过2退回 var reviewStatus: String? = null, // 审核状态0未审核1通过2退回
var tranFlag: String? = null, // 转运标志 var tranFlag: String? = null, // 转运标志
var clearNormal: String? = null, // 清仓正常01 var clearNormal: String? = null, // 清仓正常01
var clearRemark: String? = null, // 清仓备注
var allTally: String? = null, // 运单理货申报全部通过01为 1 时才允许全选该主单下的分单 var allTally: String? = null, // 运单理货申报全部通过01为 1 时才允许全选该主单下的分单
// ==================== 操作信息 ==================== // ==================== 操作信息 ====================

View File

@@ -0,0 +1,29 @@
package com.lukouguoji.module_base.bean
/**
* 国际出港移库详情数据模型
* 对应接口:/IntExpMove/detail 返回的 data/IntExpMove/update 的请求体
*/
data class GjcMoveDetail(
var maWbId: Long? = null, // GJC_MAWB.MAWBID
var wbNo: String? = null, // 运单号
var pc: Long? = null, // 件数
var weight: Double? = null, // 重量
var by: String? = null, // 承运人1
var awbTypeName: String? = null, // 运单类型(中文)
var range: String? = null, // 出运路径
var spCode: String? = null, // 特码
var agentCode: String? = null, // 代理人
var moveState: Int? = null, // 交接状态0 未交接1 已交接
var goods: String? = null, // 品名
var remark: String? = null, // 备注
var pic: String? = null, // 交接图片缩略图路径(逗号分隔)
var originalPic: String? = null, // 交接图片原图路径(逗号分隔)
var picNumber: String? = null // 交接图片数量
) {
/**
* 移交状态中文(与列表项文案一致)
*/
val moveStateText: String
get() = if (moveState == 1) "已移交" else "未移交"
}

View File

@@ -37,6 +37,7 @@ import com.lukouguoji.module_base.bean.GjcHandoverSheetResponse
import com.lukouguoji.module_base.bean.GjcInspectionBean import com.lukouguoji.module_base.bean.GjcInspectionBean
import com.lukouguoji.module_base.bean.GjcMaWb import com.lukouguoji.module_base.bean.GjcMaWb
import com.lukouguoji.module_base.bean.GjcMove import com.lukouguoji.module_base.bean.GjcMove
import com.lukouguoji.module_base.bean.GjcMoveDetail
import com.lukouguoji.module_base.bean.GjcUldUseBean import com.lukouguoji.module_base.bean.GjcUldUseBean
import com.lukouguoji.module_base.bean.GjcWarehouse import com.lukouguoji.module_base.bean.GjcWarehouse
import com.lukouguoji.module_base.bean.GjcWaybillBean import com.lukouguoji.module_base.bean.GjcWaybillBean
@@ -311,6 +312,24 @@ interface Api {
@POST("typeCode/countryType") @POST("typeCode/countryType")
suspend fun getCountryTypeList(): DictListBean suspend fun getCountryTypeList(): DictListBean
/**
* 获取飞行状态
*/
@POST("typeCode/flightPortCode")
suspend fun getFlightPortCodeList(): DictListBean
/**
* 获取航班服务种类
*/
@POST("typeCode/flightServiceType")
suspend fun getFlightServiceTypeList(): DictListBean
/**
* 获取航班状态
*/
@POST("typeCode/flightStatus")
suspend fun getFlightStatusList(): DictListBean
/** /**
* 获取国家代码 * 获取国家代码
*/ */
@@ -573,6 +592,14 @@ interface Api {
@POST("typeCode/assembleCompany") @POST("typeCode/assembleCompany")
suspend fun getAssembleCompanyList(): BaseResultBean<List<AssembleCompanyBean>> suspend fun getAssembleCompanyList(): BaseResultBean<List<AssembleCompanyBean>>
/**
* 获取板型下拉列表(国际出港组装-开始组装)
* 接口路径: /typeCode/bordType后端路径即为 bordType非 boardType2026-09-11 实测 boardType 返回 404
* @param carrier 承运人二字码(取待组装运单航班号前两位);该参数后端必填(缺省返回 400进入页面时传空串
*/
@POST("typeCode/bordType")
suspend fun getBoardTypeList(@Query("carrier") carrier: String): DictListBean
/** /**
* 国际出港板箱过磅-分页搜索 * 国际出港板箱过磅-分页搜索
* 接口路径: /IntExpWeighting/pageQuery * 接口路径: /IntExpWeighting/pageQuery
@@ -897,7 +924,7 @@ interface Api {
* 接口路径: /IntExpMove/detail * 接口路径: /IntExpMove/detail
*/ */
@POST("IntExpMove/detail") @POST("IntExpMove/detail")
suspend fun getIntExpMoveDetail(@Query("maWbId") maWbId: Long): BaseResultBean<GjcMaWb> suspend fun getIntExpMoveDetail(@Query("maWbId") maWbId: Long): BaseResultBean<GjcMoveDetail>
/** /**
* 国际出港移库-编辑(仅更新备注与交接图片) * 国际出港移库-编辑(仅更新备注与交接图片)
@@ -982,7 +1009,7 @@ interface Api {
* 接口路径: /IntImpStorage/updateClear * 接口路径: /IntImpStorage/updateClear
*/ */
@POST("IntImpStorage/updateClear") @POST("IntImpStorage/updateClear")
suspend fun clearIntImpStorage(@Query("clearNormal") clearNormal: String, @Body data: RequestBody): BaseResultBean<Boolean> suspend fun clearIntImpStorage(@Body data: RequestBody): BaseResultBean<Boolean>
/** /**
* 国际进港库位操作-修改库位 * 国际进港库位操作-修改库位

View File

@@ -490,6 +490,60 @@ object DictUtils {
} }
} }
/**
* 飞行状态0:前方起飞 1:过站登机 2:登机结束 6:到达 7:登机 9:正在值机 …)
*/
fun getFlightPortCodeList(
addAll: Boolean = true,
checkedValue: String? = null,
callBack: (List<KeyValue>) -> Unit
) {
launchCollect({
NetApply.api
.getFlightPortCodeList()
}) {
onSuccess = {
handleCallBack(it, checkedValue, addAll, callBack)
}
}
}
/**
* 航班服务种类0:客机 1:货机 2:卡车)
*/
fun getFlightServiceTypeList(
addAll: Boolean = true,
checkedValue: String? = null,
callBack: (List<KeyValue>) -> Unit
) {
launchCollect({
NetApply.api
.getFlightServiceTypeList()
}) {
onSuccess = {
handleCallBack(it, checkedValue, addAll, callBack)
}
}
}
/**
* 航班状态3:返航 4:地面滑回 5:备降 8:取消 12:延误 15:删除 16:未知)
*/
fun getFlightStatusList(
addAll: Boolean = true,
checkedValue: String? = null,
callBack: (List<KeyValue>) -> Unit
) {
launchCollect({
NetApply.api
.getFlightStatusList()
}) {
onSuccess = {
handleCallBack(it, checkedValue, addAll, callBack)
}
}
}
/** /**
* 获取角色列表 * 获取角色列表
*/ */
@@ -627,15 +681,16 @@ object DictUtils {
/** /**
* 板型列表(国际出港组装-开始组装) * 板型列表(国际出港组装-开始组装)
* 字典 codeBOARDTYPE显示与提交均使用 value 字段 * 接口 /typeCode/bordType
* @param carrier 承运人二字码(运单航班号前两位);为空时传空串(后端该参数必填,不传返回 400
*/ */
fun getBoardTypeList(callBack: (List<KeyValue>) -> Unit) { fun getBoardTypeList(carrier: String? = null, callBack: (List<KeyValue>) -> Unit) {
launchCollect({ launchCollect({
NetApply.api NetApply.api
.getDictList("BOARDTYPE") .getBoardTypeList(carrier?.trim() ?: "")
}) { }) {
onSuccess = { onSuccess = {
callBack((it.data ?: emptyList()).map { b -> KeyValue(b.value, b.value) }) callBack(it.data?.map { b -> b.toKeyValue() } ?: emptyList())
} }
} }
} }

View File

@@ -20,7 +20,7 @@
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1" android:layout_weight="1"
android:layout_margin="20dp" android:layout_margin="20dp"
android:background="@color/white" android:background="@drawable/bg_white_radius_8"
android:gravity="top|start" android:gravity="top|start"
android:inputType="textMultiLine" android:inputType="textMultiLine"
android:lineSpacingExtra="4dp" android:lineSpacingExtra="4dp"

View File

@@ -34,13 +34,13 @@ class IntExpMoveViewHolder(view: View) :
// 点击列表项进入移库详情 // 点击列表项进入移库详情
binding.ll.setOnClickListener { binding.ll.setOnClickListener {
IntExpMoveEditActivity.startForDetails(itemView.context, bean.maWbId) IntExpMoveEditActivity.startForDetails(itemView.context, bean)
} }
// 侧滑菜单 - 编辑按钮 // 侧滑菜单 - 编辑按钮
binding.btnEdit.setOnClickListener { binding.btnEdit.setOnClickListener {
binding.swipeMenu.quickClose() binding.swipeMenu.quickClose()
IntExpMoveEditActivity.startForEdit(itemView.context, bean.maWbId) IntExpMoveEditActivity.startForEdit(itemView.context, bean)
} }
binding.executePendingBindings() binding.executePendingBindings()

View File

@@ -5,6 +5,10 @@ import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import android.view.inputmethod.InputMethodManager
import android.widget.ArrayAdapter
import androidx.appcompat.widget.AppCompatSpinner
import androidx.appcompat.widget.ListPopupWindow
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.alibaba.android.arouter.facade.annotation.Route import com.alibaba.android.arouter.facade.annotation.Route
import com.lukouguoji.gjc.R import com.lukouguoji.gjc.R
@@ -19,6 +23,7 @@ import com.lukouguoji.module_base.impl.observe
import com.lukouguoji.module_base.interfaces.IOnItemClickListener import com.lukouguoji.module_base.interfaces.IOnItemClickListener
import com.lukouguoji.module_base.ktx.addOnItemClickListener import com.lukouguoji.module_base.ktx.addOnItemClickListener
import com.lukouguoji.module_base.ktx.setUpperCaseAlphanumericFilter import com.lukouguoji.module_base.ktx.setUpperCaseAlphanumericFilter
import com.lukouguoji.module_base.ktx.showToast
import com.lukouguoji.module_base.router.ARouterConstants import com.lukouguoji.module_base.router.ARouterConstants
/** /**
@@ -29,6 +34,7 @@ class IntExpAssembleStartActivity :
BaseBindingActivity<ActivityIntExpAssembleStartBinding, IntExpAssembleStartViewModel>(), BaseBindingActivity<ActivityIntExpAssembleStartBinding, IntExpAssembleStartViewModel>(),
IOnItemClickListener { IOnItemClickListener {
private var boardTypePopup: ListPopupWindow? = null
private var assembleInfoAdapter: CommonAdapter? = null private var assembleInfoAdapter: CommonAdapter? = null
private var assemblePositionAdapter: CommonAdapter? = null private var assemblePositionAdapter: CommonAdapter? = null
private var waybillAdapter: CommonAdapter? = null private var waybillAdapter: CommonAdapter? = null
@@ -72,11 +78,12 @@ class IntExpAssembleStartActivity :
binding.impCodeInput.et.setUpperCaseAlphanumericFilter() binding.impCodeInput.et.setUpperCaseAlphanumericFilter()
// 板型:手动输入 + 下拉选择组合框。箭头复用 Spinner 同款背景绘制(同资源、同尺寸、同边距), // 板型:手动输入 + 下拉选择组合框。箭头复用 Spinner 同款背景绘制(同资源、同尺寸、同边距),
// 图标位不放图片,仅作为覆盖在箭头上的透明点击区域(点击事件由布局 setOnIconClickListener 绑定) // 图标位不放图片,仅作为覆盖在箭头上的透明点击区域
binding.boardTypeInput.apply { binding.boardTypeInput.apply {
ll.setBackgroundResource(com.lukouguoji.module_base.R.drawable.bg_data_layout_new_dropdown) ll.setBackgroundResource(com.lukouguoji.module_base.R.drawable.bg_data_layout_new_dropdown)
iv.setImageDrawable(null) iv.setImageDrawable(null)
iv.visibility = View.VISIBLE iv.visibility = View.VISIBLE
iv.setOnClickListener { showBoardTypeDropdown() }
} }
// 初始化列表 // 初始化列表
@@ -106,6 +113,51 @@ class IntExpAssembleStartActivity :
handleEditModeIntent() handleEditModeIntent()
} }
/**
* 板型下拉:锚定在板型输入框正下方展开(外观与相邻 BUP 的 Spinner 下拉一致),选中后回填,仍可手动输入
*/
private fun showBoardTypeDropdown() {
val list = viewModel.boardTypeList.value ?: emptyList()
if (list.isEmpty()) {
showToast("暂无板型选项,请手动输入")
return
}
val anchor = binding.boardTypeInput.ll
// 先收起软键盘,避免下拉被输入法遮挡
(getSystemService(Context.INPUT_METHOD_SERVICE) as? InputMethodManager)
?.hideSoftInputFromWindow(anchor.windowToken, 0)
boardTypePopup?.dismiss()
boardTypePopup = ListPopupWindow(this).apply {
anchorView = anchor
width = anchor.width
isModal = true
// 复用 BUP Spinner 的弹窗背景,保证两者下拉外观完全一致
(binding.bupFlagInput.spinner as? AppCompatSpinner)?.popupBackground
?.constantState?.newDrawable()?.mutate()
?.let { setBackgroundDrawable(it) }
setAdapter(
ArrayAdapter(
this@IntExpAssembleStartActivity,
com.lukouguoji.module_base.R.layout.item_spinner_list,
list.map { it.key }
)
)
setOnItemClickListener { _, _, position, _ ->
viewModel.onBoardTypeSelected(position)
dismiss()
}
show()
}
}
override fun onDestroy() {
boardTypePopup?.dismiss()
boardTypePopup = null
super.onDestroy()
}
/** /**
* 处理修改模式的 Intent 参数 * 处理修改模式的 Intent 参数
*/ */

View File

@@ -4,10 +4,12 @@ import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import com.alibaba.android.arouter.facade.annotation.Route import com.alibaba.android.arouter.facade.annotation.Route
import com.google.gson.Gson
import com.lukouguoji.gjc.R import com.lukouguoji.gjc.R
import com.lukouguoji.gjc.databinding.ActivityIntExpMoveEditBinding import com.lukouguoji.gjc.databinding.ActivityIntExpMoveEditBinding
import com.lukouguoji.gjc.viewModel.IntExpMoveEditViewModel import com.lukouguoji.gjc.viewModel.IntExpMoveEditViewModel
import com.lukouguoji.module_base.base.BaseBindingActivity import com.lukouguoji.module_base.base.BaseBindingActivity
import com.lukouguoji.module_base.bean.GjcMove
import com.lukouguoji.module_base.common.Constant import com.lukouguoji.module_base.common.Constant
import com.lukouguoji.module_base.common.DetailsPageType import com.lukouguoji.module_base.common.DetailsPageType
import com.lukouguoji.module_base.ktx.addOnItemClickListener import com.lukouguoji.module_base.ktx.addOnItemClickListener
@@ -49,19 +51,25 @@ class IntExpMoveEditActivity :
} }
companion object { companion object {
/**
* 列表 Bean 一并传入detail 接口的承运人、出运路径等字段可能为空,
* 由 ViewModel 用列表数据回填
*/
@JvmStatic @JvmStatic
fun startForEdit(context: Context, maWbId: Long?) { fun startForEdit(context: Context, bean: GjcMove) {
val starter = Intent(context, IntExpMoveEditActivity::class.java) start(context, bean, DetailsPageType.Modify)
.putExtra(Constant.Key.PAGE_TYPE, DetailsPageType.Modify.name)
.putExtra(Constant.Key.ID, maWbId?.toString() ?: "")
context.startActivity(starter)
} }
@JvmStatic @JvmStatic
fun startForDetails(context: Context, maWbId: Long?) { fun startForDetails(context: Context, bean: GjcMove) {
start(context, bean, DetailsPageType.Details)
}
private fun start(context: Context, bean: GjcMove, pageType: DetailsPageType) {
val starter = Intent(context, IntExpMoveEditActivity::class.java) val starter = Intent(context, IntExpMoveEditActivity::class.java)
.putExtra(Constant.Key.PAGE_TYPE, DetailsPageType.Details.name) .putExtra(Constant.Key.PAGE_TYPE, pageType.name)
.putExtra(Constant.Key.ID, maWbId?.toString() ?: "") .putExtra(Constant.Key.ID, bean.maWbId.toString())
.putExtra(Constant.Key.DATA, Gson().toJson(bean))
context.startActivity(starter) context.startActivity(starter)
} }
} }

View File

@@ -120,12 +120,12 @@ class GjcBoxWeighingAddViewModel : BaseViewModel() {
val editBean = intent?.getSerializableExtra(Constant.Key.BEAN) as? GjcUldUseBean val editBean = intent?.getSerializableExtra(Constant.Key.BEAN) as? GjcUldUseBean
if (editBean != null) { if (editBean != null) {
prefillFromBean(editBean) prefillFromBean(editBean)
loadPassagewayList(editBean.passagewayId) // 优先本条记录自带的通道号没有则回退到上一次称重记住的通道号App 级持久化)
loadPassagewayList(editBean.passagewayId.ifEmpty { null })
loadPlCloseList(editBean.plClose) loadPlCloseList(editBean.plClose)
} else { } else {
// 新增模式:默认选中上一次称重使用的通道号 // 新增模式:默认选中上一次称重使用的通道号
val lastPassagewayId = SharedPreferenceUtil.getString(KEY_LAST_PASSAGEWAY_ID) loadPassagewayList(null)
loadPassagewayList(lastPassagewayId.ifEmpty { null })
loadPlCloseList(null) loadPlCloseList(null)
} }
} }
@@ -239,15 +239,27 @@ class GjcBoxWeighingAddViewModel : BaseViewModel() {
/** /**
* 加载通道号列表 * 加载通道号列表
* @param checkedValue 编辑模式下需要选中的 passagewayId为空则按返回顺序展示 * @param preferredId 编辑模式下本条记录自带的 passagewayId为空则回退到上一次称重记住的通道号
*
* 注意Spinner 带 hint 时默认停在 hint 项,并不会显示列表首项,
* 所以必须显式给 channel 赋值才能选中,只调列表顺序无效。
*/ */
private fun loadPassagewayList(checkedValue: String?) { private fun loadPassagewayList(preferredId: String?) {
launchCollect({ launchCollect({
NetApply.api.getDictList("GJPASSAGEWAY") NetApply.api.getDictList("GJPASSAGEWAY")
}) { }) {
onSuccess = { onSuccess = {
val list = (it.data ?: emptyList()).map { b -> b.toKeyValue() } val list = (it.data ?: emptyList()).map { b -> b.toKeyValue() }
passagewayList.value = reorderChecked(list, checkedValue) passagewayList.value = list
// 选中优先级:本条记录的通道号 → 上一次称重记住的通道号SharedPreference跨页面、跨启动保留
val lastPassagewayId = SharedPreferenceUtil.getString(KEY_LAST_PASSAGEWAY_ID)
val selected = listOf(preferredId, lastPassagewayId).firstOrNull { id ->
!id.isNullOrEmpty() && list.any { kv -> kv.value == id }
}
if (selected != null) {
channel.value = selected
}
} }
} }
} }

View File

@@ -44,15 +44,6 @@ class GjcQueryViewModel : BasePageViewModel() {
// 代理下拉列表从API获取 // 代理下拉列表从API获取
val agentList = MutableLiveData(listOf(KeyValue("全部", ""))) val agentList = MutableLiveData(listOf(KeyValue("全部", "")))
// 出库状态下拉列表
val outStatusList = MutableLiveData(
listOf(
KeyValue("全部", ""),
KeyValue("未出库", "0"),
KeyValue("已出库", "1")
)
)
// ==================== 适配器配置 ==================== // ==================== 适配器配置 ====================
val itemViewHolder = GjcQueryViewHolder::class.java val itemViewHolder = GjcQueryViewHolder::class.java
val itemLayoutId = R.layout.item_gjc_query val itemLayoutId = R.layout.item_gjc_query
@@ -69,6 +60,9 @@ class GjcQueryViewModel : BasePageViewModel() {
// 运单类型列表(字典接口 typeCode/awbtype=IO 国际出港) // 运单类型列表(字典接口 typeCode/awbtype=IO 国际出港)
val awbTypeList = MutableLiveData<List<KeyValue>>(emptyList()) val awbTypeList = MutableLiveData<List<KeyValue>>(emptyList())
// 特码列表与国际出港待记重页面同源flag=1 国际ieFlag 为空)
val spCodeList = MutableLiveData<List<KeyValue>>(emptyList())
// 业务类型列表 // 业务类型列表
val businessTypeList = MutableLiveData( val businessTypeList = MutableLiveData(
listOf( listOf(
@@ -80,7 +74,6 @@ class GjcQueryViewModel : BasePageViewModel() {
// ==================== 筛选条件 ==================== // ==================== 筛选条件 ====================
val spCode = MutableLiveData("") // 特码 val spCode = MutableLiveData("") // 特码
val outStatus = MutableLiveData("") // 出库状态
val dest = MutableLiveData("") // 目的港 val dest = MutableLiveData("") // 目的港
val awbType = MutableLiveData("") // 运单类型 val awbType = MutableLiveData("") // 运单类型
val businessType = MutableLiveData("") // 业务类型 val businessType = MutableLiveData("") // 业务类型
@@ -89,11 +82,10 @@ class GjcQueryViewModel : BasePageViewModel() {
// 是否有筛选条件(任意一个非空则为 true用于筛选按钮红点 // 是否有筛选条件(任意一个非空则为 true用于筛选按钮红点
val hasFilter: MediatorLiveData<Boolean> = MediatorLiveData<Boolean>().apply { val hasFilter: MediatorLiveData<Boolean> = MediatorLiveData<Boolean>().apply {
val update = { _: Any? -> val update = { _: Any? ->
value = listOf(spCode, outStatus, dest, awbType, businessType, goodsCn) value = listOf(spCode, dest, awbType, businessType, goodsCn)
.any { !it.value.isNullOrEmpty() } .any { !it.value.isNullOrEmpty() }
} }
addSource(spCode, update) addSource(spCode, update)
addSource(outStatus, update)
addSource(dest, update) addSource(dest, update)
addSource(awbType, update) addSource(awbType, update)
addSource(businessType, update) addSource(businessType, update)
@@ -137,7 +129,6 @@ class GjcQueryViewModel : BasePageViewModel() {
*/ */
fun resetFilter() { fun resetFilter() {
spCode.value = "" spCode.value = ""
outStatus.value = ""
dest.value = "" dest.value = ""
awbType.value = "" awbType.value = ""
businessType.value = "" businessType.value = ""
@@ -153,7 +144,7 @@ class GjcQueryViewModel : BasePageViewModel() {
} }
/** /**
* 初始化筛选下拉列表(运单类型从字典接口获取type=IO 国际出港 * 初始化筛选下拉列表(运单类型、特码均从字典接口获取)
*/ */
fun initFilterLists() { fun initFilterLists() {
DictUtils.getWaybillTypeList( DictUtils.getWaybillTypeList(
@@ -163,6 +154,15 @@ class GjcQueryViewModel : BasePageViewModel() {
) { ) {
awbTypeList.postValue(it) awbTypeList.postValue(it)
} }
// 特码列表(参数与国际出港待记重页面一致)
DictUtils.getSpecialCodeList(
flag = 1, // 国际
ieFlag = "", // 空字符串
parentcode = "" // 无父级
) {
spCodeList.postValue(it)
}
} }
/** /**
@@ -181,7 +181,6 @@ class GjcQueryViewModel : BasePageViewModel() {
"wbNo" to waybillNo.value?.ifEmpty { null }, "wbNo" to waybillNo.value?.ifEmpty { null },
// 筛选面板条件 // 筛选面板条件
"spCode" to spCode.value?.ifEmpty { null }, "spCode" to spCode.value?.ifEmpty { null },
"outState" to outStatus.value?.ifEmpty { null }?.toIntOrNull(),
"dest" to dest.value?.ifEmpty { null }, "dest" to dest.value?.ifEmpty { null },
"awbType" to awbType.value?.ifEmpty { null }, "awbType" to awbType.value?.ifEmpty { null },
"businessType" to businessType.value?.ifEmpty { null }, "businessType" to businessType.value?.ifEmpty { null },

View File

@@ -2,7 +2,6 @@ package com.lukouguoji.gjc.viewModel
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewModelScope
import com.alibaba.fastjson.JSONArray
import com.lukouguoji.gjc.R import com.lukouguoji.gjc.R
import com.lukouguoji.gjc.holder.AssembleInfoViewHolder import com.lukouguoji.gjc.holder.AssembleInfoViewHolder
import com.lukouguoji.gjc.holder.AssemblePositionViewHolder import com.lukouguoji.gjc.holder.AssemblePositionViewHolder
@@ -17,10 +16,8 @@ import com.lukouguoji.module_base.impl.FlowBus
import com.lukouguoji.module_base.ktx.launchCollect import com.lukouguoji.module_base.ktx.launchCollect
import com.lukouguoji.module_base.ktx.launchLoadingCollect import com.lukouguoji.module_base.ktx.launchLoadingCollect
import com.lukouguoji.module_base.ktx.showToast import com.lukouguoji.module_base.ktx.showToast
import com.lukouguoji.module_base.ktx.toJson
import com.lukouguoji.module_base.ktx.toRequestBody import com.lukouguoji.module_base.ktx.toRequestBody
import com.lukouguoji.module_base.model.ScanModel import com.lukouguoji.module_base.model.ScanModel
import com.lukouguoji.module_base.util.Common
import com.lukouguoji.module_base.util.DictUtils import com.lukouguoji.module_base.util.DictUtils
import dev.utils.app.info.KeyValue import dev.utils.app.info.KeyValue
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@@ -415,35 +412,23 @@ class IntExpAssembleStartViewModel : BaseViewModel() {
/** /**
* 加载板型选项列表(字典) * 加载板型选项列表
* @param carrier 承运人二字码ULD 编号后两位进入页面时不传取全量ULD 信息查询成功后按承运人重新加载并覆盖数据源
*/ */
fun loadBoardTypeList() { fun loadBoardTypeList(carrier: String? = null) {
DictUtils.getBoardTypeList { boardTypeList.value = it } DictUtils.getBoardTypeList(carrier) { boardTypeList.value = it }
} }
/** /**
* 板型下拉图标点击:弹出选项列表,选中后回填到板型输入框(回填后仍可手动修改) * 板型下拉选中回调:回填到板型输入框(回填后仍可手动修改)
* 下拉列表由 Activity 以锚定在输入框下方的 ListPopupWindow 弹出(外观与 BUP 的 Spinner 一致)
*/ */
fun onBoardTypeSelectClick() { fun onBoardTypeSelected(position: Int) {
val list = boardTypeList.value ?: emptyList() val list = boardTypeList.value ?: emptyList()
if (list.isEmpty()) {
showToast("暂无板型选项,请手动输入")
return
}
val jsonArray = JSONArray.parseArray(
list.map { mapOf("name" to it.key, "code" to it.value) }.toJson(false)
)
Common.singleSelect(
getTopActivity(),
"选择板型",
jsonArray,
uldInfo.value?.boardType
) { position, _ ->
uldInfo.value = uldInfo.value?.apply { uldInfo.value = uldInfo.value?.apply {
boardType = list.getOrNull(position)?.value ?: "" boardType = list.getOrNull(position)?.value ?: ""
} }
} }
}
/** /**
* ULD编号输入完成时调用 * ULD编号输入完成时调用
@@ -485,6 +470,10 @@ class IntExpAssembleStartViewModel : BaseViewModel() {
if (!uldBean.bupFlag.isNullOrEmpty()) bupFlag = uldBean.bupFlag if (!uldBean.bupFlag.isNullOrEmpty()) bupFlag = uldBean.bupFlag
} }
// 按 ULD 编号后两位(承运人二字码)重新加载板型选项,覆盖下拉数据源
val carrier = uldNo.trim().takeLast(2)
if (carrier.length == 2) loadBoardTypeList(carrier)
// 【新增】从ULD信息提取航班信息 // 【新增】从ULD信息提取航班信息
if (uldBean.fno.isNotEmpty() && uldBean.fdate.isNotEmpty()) { if (uldBean.fno.isNotEmpty() && uldBean.fdate.isNotEmpty()) {
assembleFlightNo.value = uldBean.fno assembleFlightNo.value = uldBean.fno

View File

@@ -6,8 +6,10 @@ import androidx.lifecycle.viewModelScope
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.lukouguoji.gjc.R import com.lukouguoji.gjc.R
import com.lukouguoji.module_base.base.BaseViewModel import com.lukouguoji.module_base.base.BaseViewModel
import com.google.gson.Gson
import com.lukouguoji.module_base.bean.FileBean import com.lukouguoji.module_base.bean.FileBean
import com.lukouguoji.module_base.bean.GjcMaWb import com.lukouguoji.module_base.bean.GjcMove
import com.lukouguoji.module_base.bean.GjcMoveDetail
import com.lukouguoji.module_base.common.Constant import com.lukouguoji.module_base.common.Constant
import com.lukouguoji.module_base.common.ConstantEvent import com.lukouguoji.module_base.common.ConstantEvent
import com.lukouguoji.module_base.common.DetailsPageType import com.lukouguoji.module_base.common.DetailsPageType
@@ -25,14 +27,18 @@ import kotlinx.coroutines.launch
/** /**
* 国际出港移库编辑/详情 ViewModel * 国际出港移库编辑/详情 ViewModel
* 编辑模式仅支持修改备注与交接图片 * 详情:/IntExpMove/detail?maWbId= 返回 GjcMoveDetail
* 编辑:/IntExpMove/update 请求体为 GjcMoveDetail仅允许修改备注与交接图片
*/ */
class IntExpMoveEditViewModel : BaseViewModel(), IOnItemClickListener { class IntExpMoveEditViewModel : BaseViewModel(), IOnItemClickListener {
val pageType = MutableLiveData(DetailsPageType.Details) val pageType = MutableLiveData(DetailsPageType.Details)
private var maWbId: Long = 0L private var maWbId: Long = 0L
val dataBean = MutableLiveData(GjcMaWb()) // 列表页传入的运单数据,用于回填 detail 接口返回为空的展示字段(承运人、出运路径等)
private var listBean: GjcMove? = null
val dataBean = MutableLiveData(GjcMoveDetail())
// 备注单独用 LiveData 双向绑定,避免修改 data class 属性后需重新赋值 // 备注单独用 LiveData 双向绑定,避免修改 data class 属性后需重新赋值
val remark = MutableLiveData("") val remark = MutableLiveData("")
@@ -55,21 +61,22 @@ class IntExpMoveEditViewModel : BaseViewModel(), IOnItemClickListener {
intent.getStringExtra(Constant.Key.PAGE_TYPE) ?: DetailsPageType.Details.name intent.getStringExtra(Constant.Key.PAGE_TYPE) ?: DetailsPageType.Details.name
) )
maWbId = intent.getStringExtra(Constant.Key.ID)?.toLongOrNull() ?: 0L maWbId = intent.getStringExtra(Constant.Key.ID)?.toLongOrNull() ?: 0L
listBean = intent.getStringExtra(Constant.Key.DATA)
?.takeIf { it.isNotEmpty() }
?.let { runCatching { Gson().fromJson(it, GjcMove::class.java) }.getOrNull() }
loadData() loadData()
} }
private fun loadData() { private fun loadData() {
launchLoadingCollect({ NetApply.api.getIntExpMoveDetail(maWbId) }) { launchLoadingCollect({ NetApply.api.getIntExpMoveDetail(maWbId) }) {
onSuccess = { onSuccess = {
val bean = it.data ?: GjcMaWb() val bean = it.data ?: GjcMoveDetail()
// 详情接口 wbNo 可能为空,回退为 前缀 + 运单号 if (bean.maWbId == null) bean.maWbId = maWbId
if (bean.wbNo.isNullOrEmpty()) { fillFromListBean(bean)
bean.wbNo = (bean.prefix ?: "") + (bean.no ?: "")
}
dataBean.value = bean dataBean.value = bean
remark.value = bean.remark ?: "" remark.value = bean.remark ?: ""
// 处理图片列表(同时保留缩略图和原图信息,确保二次编辑时不丢失) // 解析图片pic 为缩略图、originalPic 为原图,二者按逗号分隔且一一对应
val picList = (bean.pic ?: "").split(",").filter { p -> p.isNotEmpty() } val picList = (bean.pic ?: "").split(",").filter { p -> p.isNotEmpty() }
val originalPicList = (bean.originalPic ?: "").split(",").filter { p -> p.isNotEmpty() } val originalPicList = (bean.originalPic ?: "").split(",").filter { p -> p.isNotEmpty() }
val images = if (picList.isNotEmpty()) { val images = if (picList.isNotEmpty()) {
@@ -101,7 +108,22 @@ class IntExpMoveEditViewModel : BaseViewModel(), IOnItemClickListener {
} }
/** /**
* 提交保存(只保存备注和图片) * detail 接口的部分展示字段(承运人 by、出运路径 range 等)在测试环境返回 null
* 列表接口有值时用列表数据回填,仅影响展示
*/
private fun fillFromListBean(bean: GjcMoveDetail) {
val src = listBean ?: return
if (bean.wbNo.isNullOrEmpty()) bean.wbNo = src.wbNo.ifEmpty { src.prefix + src.no }
if (bean.by.isNullOrEmpty()) bean.by = src.by1
if (bean.range.isNullOrEmpty()) bean.range = src.range
if (bean.spCode.isNullOrEmpty()) bean.spCode = src.spCode
if (bean.agentCode.isNullOrEmpty()) bean.agentCode = src.agentCode
if (bean.awbTypeName.isNullOrEmpty()) bean.awbTypeName = src.awbTypeName
if (bean.goods.isNullOrEmpty()) bean.goods = src.goodsCn.ifEmpty { src.goods }
}
/**
* 提交保存:按接口文档回传完整详情对象,仅备注与交接图片三字段取页面上的新值
*/ */
fun submit() { fun submit() {
// 从 adapter 实时获取所有非空图片ViewHolder 新增图片直接操作 adapter items // 从 adapter 实时获取所有非空图片ViewHolder 新增图片直接操作 adapter items
@@ -126,15 +148,15 @@ class IntExpMoveEditViewModel : BaseViewModel(), IOnItemClickListener {
} }
} }
val params = mapOf( val bean = (dataBean.value ?: GjcMoveDetail()).copy(
"maWbId" to maWbId, maWbId = maWbId,
"remark" to (remark.value ?: ""), remark = remark.value ?: "",
"picNumber" to images.size.toString(), picNumber = images.size.toString(),
"pic" to images.joinToString(",") { MediaUtil.removeUrl(it.url) }, pic = images.joinToString(",") { MediaUtil.removeUrl(it.url) },
"originalPic" to images.joinToString(",") { MediaUtil.removeUrl(it.originalPic) }, originalPic = images.joinToString(",") { MediaUtil.removeUrl(it.originalPic) }
).toRequestBody(removeEmptyOrNull = true) )
NetApply.api.updateIntExpMove(params) NetApply.api.updateIntExpMove(bean.toRequestBody())
}) { }) {
onSuccess = { onSuccess = {
showToast("保存成功") showToast("保存成功")

View File

@@ -319,7 +319,6 @@
enable="@{true}" enable="@{true}"
hint='@{"请输入或选择"}' hint='@{"请输入或选择"}'
required="@{false}" required="@{false}"
setOnIconClickListener="@{(v) -> viewModel.onBoardTypeSelectClick()}"
setTextAllCaps="@{true}" setTextAllCaps="@{true}"
title='@{"板型:"}' title='@{"板型:"}'
titleLength="@{5}" titleLength="@{5}"
@@ -330,6 +329,7 @@
android:layout_weight="1" /> android:layout_weight="1" />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew <com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:id="@+id/bupFlagInput"
enable="@{true}" enable="@{true}"
list="@{viewModel.bupFlagList}" list="@{viewModel.bupFlagList}"
required="@{false}" required="@{false}"

View File

@@ -114,27 +114,17 @@
title='@{"品名"}' title='@{"品名"}'
titleLength="@{5}" titleLength="@{5}"
type="@{DataLayoutType.INPUT}" type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.goodsCn == null || viewModel.dataBean.goodsCn.isEmpty() ? viewModel.dataBean.goods : viewModel.dataBean.goodsCn}' /> value='@{viewModel.dataBean.goods}' />
</LinearLayout> </LinearLayout>
<!-- 第三行:出港航班、出运路径、运单类型(均只读 --> <!-- 第三行:出运路径、运单类型、承运人(均只读,字段名以 /IntExpMove/detail 文档为准 -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:orientation="horizontal"> android:orientation="horizontal">
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
enable="@{false}"
title='@{"出港航班"}'
titleLength="@{5}"
type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.flightInfo}' />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew <com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -143,7 +133,7 @@
title='@{"出运路径"}' title='@{"出运路径"}'
titleLength="@{5}" titleLength="@{5}"
type="@{DataLayoutType.INPUT}" type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.rangeText}' /> value='@{viewModel.dataBean.range}' />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew <com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp" android:layout_width="0dp"
@@ -153,11 +143,21 @@
title='@{"运单类型"}' title='@{"运单类型"}'
titleLength="@{5}" titleLength="@{5}"
type="@{DataLayoutType.INPUT}" type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.awbName}' /> value='@{viewModel.dataBean.awbTypeName}' />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
enable="@{false}"
title='@{"承运人"}'
titleLength="@{5}"
type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.by}' />
</LinearLayout> </LinearLayout>
<!-- 第四行:承运人(只读)、备注(编辑模式可编辑) --> <!-- 第四行:移交状态(只读)、备注(编辑模式可编辑) -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -169,10 +169,10 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
enable="@{false}" enable="@{false}"
title='@{"承运人"}' title='@{"移交状态"}'
titleLength="@{5}" titleLength="@{5}"
type="@{DataLayoutType.INPUT}" type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.by1}' /> value='@{viewModel.dataBean.moveStateText}' />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew <com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp" android:layout_width="0dp"

View File

@@ -43,8 +43,8 @@
android:minWidth="20dp" android:minWidth="20dp"
android:paddingHorizontal="4dp" android:paddingHorizontal="4dp"
android:text="@{String.valueOf(bean.uldIndex)}" android:text="@{String.valueOf(bean.uldIndex)}"
android:textColor="@color/c333333" android:textColor="@color/text_normal"
android:textSize="13sp" android:textSize="14sp"
android:visibility="@{bean.showIndex ? View.VISIBLE : View.GONE}" android:visibility="@{bean.showIndex ? View.VISIBLE : View.GONE}"
tools:text="1" /> tools:text="1" />
@@ -96,7 +96,7 @@
android:layout_weight="1" android:layout_weight="1"
android:text="@{bean.wbNo}" android:text="@{bean.wbNo}"
android:textColor="@color/text_gray" android:textColor="@color/text_gray"
android:textSize="13sp" /> android:textSize="14sp" />
<!-- 件数/重量 --> <!-- 件数/重量 -->
<TextView <TextView
@@ -105,8 +105,8 @@
android:layout_marginStart="12dp" android:layout_marginStart="12dp"
android:layout_marginEnd="28dp" android:layout_marginEnd="28dp"
android:text='@{String.valueOf(bean.waybillPieces) + "/" + String.format("%.1f", bean.waybillWeight) + "kg"}' android:text='@{String.valueOf(bean.waybillPieces) + "/" + String.format("%.1f", bean.waybillWeight) + "kg"}'
android:textColor="#e89e42" android:textColor="@color/text_orange"
android:textSize="13sp" /> android:textSize="14sp" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>

View File

@@ -14,9 +14,9 @@
android:id="@+id/ll" android:id="@+id/ll"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp" android:layout_marginHorizontal="10dp"
android:layout_marginVertical="5dp" android:layout_marginTop="10dp"
android:background="@drawable/bg_item" android:background="@drawable/bg_white_radius_8"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingVertical="20dp" android:paddingVertical="20dp"
android:paddingHorizontal="10dp"> android:paddingHorizontal="10dp">
@@ -27,13 +27,14 @@
android:layout_height="40dp" android:layout_height="40dp"
android:layout_gravity="center" android:layout_gravity="center"
loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}" loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}"
android:src="@drawable/img_plane" /> android:src="@drawable/img_plane"
android:layout_marginTop="0.5px" />
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:layout_marginLeft="10dp" android:layout_marginLeft="15dp"
android:orientation="vertical"> android:orientation="vertical">
<!-- 第一行数据:航班日期 | 航班号 | 航程 | 组装人 | 分配人 --> <!-- 第一行数据:航班日期 | 航班号 | 航程 | 组装人 | 分配人 -->
@@ -53,14 +54,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="航班日期:" /> android:text="航班日期:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.fdate}" android:text="@{bean.fdate}"
tools:text="2025-09-05" /> tools:text="2025-09-05"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -76,7 +79,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="航班号:" /> android:text="航班号:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -84,7 +88,8 @@
android:textSize="15sp" android:textSize="15sp"
android:text='@{bean.fno}' android:text='@{bean.fno}'
android:textColor="@color/colorPrimary" android:textColor="@color/colorPrimary"
tools:text="MU2023" /> tools:text="MU2023"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -100,14 +105,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{3}" completeSpace="@{3}"
android:text="航程:" /> android:text="航程:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{bean.range ?? (bean.fdep + "-" + bean.fdest)}' android:text='@{bean.range ?? (bean.fdep + "-" + bean.fdest)}'
tools:text="HFE - LAX" /> tools:text="HFE - LAX"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -123,14 +130,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="组装人:" /> android:text="组装人:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.abName ?? ``}" android:text="@{bean.abName ?? ``}"
tools:text="徵远" /> tools:text="徵远"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -146,14 +155,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="分配人:" /> android:text="分配人:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{bean.acName ?? ``}' android:text='@{bean.acName ?? ``}'
tools:text="张三" /> tools:text="张三"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -171,14 +182,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="分配时间:" /> android:text="分配时间:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.acDate ?? ``}" android:text="@{bean.acDate ?? ``}"
tools:text="2024-01-15 14:27:12" /> tools:text="2024-01-15 14:27:12"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>

View File

@@ -12,8 +12,8 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp" android:layout_marginHorizontal="10dp"
android:layout_marginVertical="5dp" android:layout_marginTop="10dp"
android:orientation="vertical"> android:orientation="vertical">
<com.mcxtzhang.swipemenulib.SwipeMenuLayout <com.mcxtzhang.swipemenulib.SwipeMenuLayout
@@ -25,7 +25,7 @@
android:id="@+id/ll" android:id="@+id/ll"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/bg_item" android:background="@drawable/bg_white_radius_8"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingVertical="20dp" android:paddingVertical="20dp"
android:paddingHorizontal="10dp"> android:paddingHorizontal="10dp">
@@ -35,12 +35,13 @@
android:layout_width="40dp" android:layout_width="40dp"
android:layout_height="40dp" android:layout_height="40dp"
android:layout_gravity="center" android:layout_gravity="center"
android:src="@drawable/img_plane" /> android:src="@drawable/img_plane"
android:layout_marginTop="0.5px" />
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="10dp" android:layout_marginLeft="15dp"
android:layout_weight="1" android:layout_weight="1"
android:orientation="vertical"> android:orientation="vertical">
@@ -61,7 +62,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="ULD编号" /> android:text="ULD编号"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -69,7 +71,8 @@
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.uld}" android:text="@{bean.uld}"
android:textColor="@color/colorPrimary" android:textColor="@color/colorPrimary"
tools:text="PMC12345MU" /> tools:text="PMC12345MU"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -85,14 +88,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="架子车号:" /> android:text="架子车号:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{bean.carId}' android:text='@{bean.carId}'
tools:text="527" /> tools:text="527"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -108,14 +113,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="总重:" /> android:text="总重:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{String.valueOf(bean.totalWeight)}" android:text="@{String.valueOf(bean.totalWeight)}"
tools:text="200" /> tools:text="200"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -131,14 +138,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="装机重量:" /> android:text="装机重量:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{String.valueOf(bean.netWeight)}' android:text='@{String.valueOf(bean.netWeight)}'
tools:text="150" /> tools:text="150"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -154,14 +163,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="货重:" /> android:text="货重:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{String.valueOf(bean.cargoWeight)}' android:text='@{String.valueOf(bean.cargoWeight)}'
tools:text="150" /> tools:text="150"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -185,14 +196,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="航班日期:" /> android:text="航班日期:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{bean.fdate != null &amp;&amp; bean.fdate.length() >= 10 ? bean.fdate.substring(0, 10) : (bean.fdate ?? ``)}' android:text='@{bean.fdate != null &amp;&amp; bean.fdate.length() >= 10 ? bean.fdate.substring(0, 10) : (bean.fdate ?? ``)}'
tools:text="2025-09-05" /> tools:text="2025-09-05"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -208,14 +221,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="航班号:" /> android:text="航班号:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{bean.fno}' android:text='@{bean.fno}'
tools:text="MU2023" /> tools:text="MU2023"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -231,14 +246,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="目的港:" /> android:text="目的港:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.fdest}" android:text="@{bean.fdest}"
tools:text="PEK" /> tools:text="PEK"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -254,14 +271,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="过磅人:" /> android:text="过磅人:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{bean.wtUsername}' android:text='@{bean.wtUsername}'
tools:text="张三" /> tools:text="张三"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -277,14 +296,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="过磅时间:" /> android:text="过磅时间:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{bean.wtDate}' android:text='@{bean.wtDate}'
tools:text="2024-01-15 14:27:12" /> tools:text="2024-01-15 14:27:12"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>

View File

@@ -16,9 +16,9 @@
android:id="@+id/ll" android:id="@+id/ll"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp" android:layout_marginHorizontal="10dp"
android:layout_marginVertical="5dp" android:layout_marginTop="10dp"
android:background="@drawable/bg_item" android:background="@drawable/bg_white_radius_8"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingVertical="20dp" android:paddingVertical="20dp"
android:paddingHorizontal="10dp"> android:paddingHorizontal="10dp">
@@ -29,13 +29,14 @@
android:layout_height="40dp" android:layout_height="40dp"
android:layout_gravity="center" android:layout_gravity="center"
loadImage="@{bean.checked ? @drawable/img_plane_s : @drawable/img_plane}" loadImage="@{bean.checked ? @drawable/img_plane_s : @drawable/img_plane}"
android:src="@drawable/img_plane" /> android:src="@drawable/img_plane"
android:layout_marginTop="0.5px" />
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:layout_marginLeft="10dp" android:layout_marginLeft="15dp"
android:orientation="vertical"> android:orientation="vertical">
<!-- 第一行数据 --> <!-- 第一行数据 -->
@@ -55,7 +56,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="运单号:" /> android:text="运单号:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -63,7 +65,8 @@
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.wbNo}" android:text="@{bean.wbNo}"
android:textColor="@color/colorPrimary" android:textColor="@color/colorPrimary"
tools:text="78109081212" /> tools:text="78109081212"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -79,14 +82,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="代理人:" /> android:text="代理人:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{bean.agentCode}' android:text='@{bean.agentCode}'
tools:text="SF" /> tools:text="SF"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -102,14 +107,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="特码:" /> android:text="特码:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.spCode}" android:text="@{bean.spCode}"
tools:text="NOR" /> tools:text="NOR"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -125,14 +132,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="预配件数:" /> android:text="预配件数:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{String.valueOf(bean.pc)}' android:text='@{String.valueOf(bean.pc)}'
tools:text="11" /> tools:text="11"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -148,14 +157,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="预配重量:" /> android:text="预配重量:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{String.valueOf(bean.weight)}' android:text='@{String.valueOf(bean.weight)}'
tools:text="12" /> tools:text="12"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -179,14 +190,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="计划航班:" /> android:text="计划航班:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.flight}" android:text="@{bean.flight}"
tools:text="20240216/MU2026" /> tools:text="20240216/MU2026"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -202,14 +215,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="航程:" /> android:text="航程:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{bean.range}' android:text='@{bean.range}'
tools:text="HFE - PEK" /> tools:text="HFE - PEK"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -225,14 +240,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="预计起飞:" /> android:text="预计起飞:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.scheduledTackOffHM}" android:text="@{bean.scheduledTackOffHM}"
tools:text="09:12" /> tools:text="09:12"
android:textColor="@color/text_normal" />
<TextView <TextView
android:id="@+id/tvDayPlus" android:id="@+id/tvDayPlus"
@@ -241,7 +258,8 @@
android:layout_marginStart="4dp" android:layout_marginStart="4dp"
android:text="+1" android:text="+1"
android:textColor="@color/text_red" android:textColor="@color/text_red"
android:visibility="@{bean.verifyScheduledTackOffNextDay() ? View.VISIBLE : View.GONE}" /> android:visibility="@{bean.verifyScheduledTackOffNextDay() ? View.VISIBLE : View.GONE}"
android:textSize="15sp" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -257,14 +275,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="业务类型:" /> android:text="业务类型:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{bean.businessName}' android:text='@{bean.businessName}'
tools:text="普通货物运输" /> tools:text="普通货物运输"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -280,7 +300,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="审核状态:" /> android:text="审核状态:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:id="@+id/tv_status" android:id="@+id/tv_status"
@@ -288,7 +309,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:textStyle="bold" android:textStyle="bold"
tools:text="已通过" /> tools:text="已通过"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android" <layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/apk/res/android"> xmlns:tools="http://schemas.android.com/tools">
<data> <data>
<variable <variable
@@ -21,9 +21,9 @@
android:id="@+id/ll" android:id="@+id/ll"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp" android:layout_marginHorizontal="10dp"
android:layout_marginVertical="5dp" android:layout_marginTop="10dp"
android:background="@drawable/bg_item" android:background="@drawable/bg_white_radius_8"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingVertical="20dp" android:paddingVertical="20dp"
android:paddingHorizontal="10dp"> android:paddingHorizontal="10dp">
@@ -32,13 +32,14 @@
android:layout_width="40dp" android:layout_width="40dp"
android:layout_height="40dp" android:layout_height="40dp"
android:layout_gravity="center" android:layout_gravity="center"
android:src="@drawable/img_plane" /> android:src="@drawable/img_plane"
android:layout_marginTop="0.5px" />
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:layout_marginLeft="10dp" android:layout_marginLeft="15dp"
android:orientation="vertical"> android:orientation="vertical">
<!-- 第一行数据:运单号、件数、重量、代理人、入库时间 --> <!-- 第一行数据:运单号、件数、重量、代理人、入库时间 -->
@@ -58,7 +59,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{4}" completeSpace="@{4}"
android:text="运单号:" android:text="运单号:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -66,7 +68,8 @@
android:text="@{bean.wbNo}" android:text="@{bean.wbNo}"
android:textColor="@color/colorPrimary" android:textColor="@color/colorPrimary"
android:textSize="15sp" android:textSize="15sp"
tools:text="78109081212" /> tools:text="78109081212"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -82,14 +85,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{4}" completeSpace="@{4}"
android:text="件数:" android:text="件数:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text='@{String.valueOf(bean.pc)}' android:text='@{String.valueOf(bean.pc)}'
android:textSize="15sp" android:textSize="15sp"
tools:text="10" /> tools:text="10"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -105,14 +110,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{3}" completeSpace="@{3}"
android:text="重量:" android:text="重量:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text='@{String.valueOf(bean.weight)}' android:text='@{String.valueOf(bean.weight)}'
android:textSize="15sp" android:textSize="15sp"
tools:text="200" /> tools:text="200"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -128,14 +135,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{5}" completeSpace="@{5}"
android:text="代理人:" android:text="代理人:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text='@{bean.agentName ?? bean.agentCode}' android:text='@{bean.agentName ?? bean.agentCode}'
android:textSize="15sp" android:textSize="15sp"
tools:text="SF" /> tools:text="SF"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -151,14 +160,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{5}" completeSpace="@{5}"
android:text="入库时间:" android:text="入库时间:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text='@{bean.opDate ?? ""}' android:text='@{bean.opDate ?? ""}'
android:textSize="15sp" android:textSize="15sp"
tools:text="2024-05-13 17:10:22" /> tools:text="2024-05-13 17:10:22"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -182,14 +193,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{4}" completeSpace="@{4}"
android:text="航班:" android:text="航班:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.flight}" android:text="@{bean.flight}"
android:textSize="15sp" android:textSize="15sp"
tools:text="20240513/MU2026" /> tools:text="20240513/MU2026"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -205,14 +218,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{4}" completeSpace="@{4}"
android:text="目的港:" android:text="目的港:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.dest}" android:text="@{bean.dest}"
android:textSize="15sp" android:textSize="15sp"
tools:text="PEK" /> tools:text="PEK"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -228,14 +243,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{3}" completeSpace="@{3}"
android:text="特码:" android:text="特码:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.spCode}" android:text="@{bean.spCode}"
android:textSize="15sp" android:textSize="15sp"
tools:text="NOR" /> tools:text="NOR"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -251,14 +268,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{5}" completeSpace="@{5}"
android:text="运单类型:" android:text="运单类型:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text='@{bean.awbName ?? bean.awbType}' android:text='@{bean.awbName ?? bean.awbType}'
android:textSize="15sp" android:textSize="15sp"
tools:text="国际出港(直航)" /> tools:text="国际出港(直航)"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -274,14 +293,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{5}" completeSpace="@{5}"
android:text="离港时间:" android:text="离港时间:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text='@{bean.fclose ?? ""}' android:text='@{bean.fclose ?? ""}'
android:textSize="15sp" android:textSize="15sp"
tools:text="2024-05-13 17:10:22" /> tools:text="2024-05-13 17:10:22"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>

View File

@@ -34,7 +34,7 @@
android:layout_weight="0.5" android:layout_weight="0.5"
android:gravity="center" android:gravity="center"
android:text="@{String.valueOf(position + 1)}" android:text="@{String.valueOf(position + 1)}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 库位号 --> <!-- 库位号 -->
@@ -44,7 +44,7 @@
android:layout_weight="1.5" android:layout_weight="1.5"
android:gravity="center" android:gravity="center"
android:text="@{bean.location ?? `--`}" android:text="@{bean.location ?? `--`}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 入库人 --> <!-- 入库人 -->
@@ -54,7 +54,7 @@
android:layout_weight="1" android:layout_weight="1"
android:gravity="center" android:gravity="center"
android:text="@{bean.inOpId ?? `--`}" android:text="@{bean.inOpId ?? `--`}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 入库时间 --> <!-- 入库时间 -->
@@ -64,7 +64,7 @@
android:layout_weight="1.5" android:layout_weight="1.5"
android:gravity="center" android:gravity="center"
android:text="@{bean.inDate != null &amp;&amp; String.valueOf(bean.inDate).length() >= 16 ? String.valueOf(bean.inDate).substring(0, 16) : (bean.inDate != null &amp;&amp; String.valueOf(bean.inDate).length() > 0 ? String.valueOf(bean.inDate) : `--`)}" android:text="@{bean.inDate != null &amp;&amp; String.valueOf(bean.inDate).length() >= 16 ? String.valueOf(bean.inDate).substring(0, 16) : (bean.inDate != null &amp;&amp; String.valueOf(bean.inDate).length() > 0 ? String.valueOf(bean.inDate) : `--`)}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 出库人 --> <!-- 出库人 -->
@@ -74,7 +74,7 @@
android:layout_weight="1" android:layout_weight="1"
android:gravity="center" android:gravity="center"
android:text="@{bean.outOpId ?? `--`}" android:text="@{bean.outOpId ?? `--`}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 出库时间 --> <!-- 出库时间 -->
@@ -84,7 +84,7 @@
android:layout_weight="1.5" android:layout_weight="1.5"
android:gravity="center" android:gravity="center"
android:text="@{bean.outDate != null &amp;&amp; String.valueOf(bean.outDate).length() >= 16 ? String.valueOf(bean.outDate).substring(0, 16) : (bean.outDate != null &amp;&amp; String.valueOf(bean.outDate).length() > 0 ? String.valueOf(bean.outDate) : `--`)}" android:text="@{bean.outDate != null &amp;&amp; String.valueOf(bean.outDate).length() >= 16 ? String.valueOf(bean.outDate).substring(0, 16) : (bean.outDate != null &amp;&amp; String.valueOf(bean.outDate).length() > 0 ? String.valueOf(bean.outDate) : `--`)}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
</LinearLayout> </LinearLayout>
@@ -93,7 +93,7 @@
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1px" android:layout_height="1px"
android:background="@color/line" /> android:background="@color/sub_list_divider" />
</LinearLayout> </LinearLayout>
</layout> </layout>

View File

@@ -34,7 +34,7 @@
android:layout_weight="0.5" android:layout_weight="0.5"
android:gravity="center" android:gravity="center"
android:text="@{String.valueOf(position + 1)}" android:text="@{String.valueOf(position + 1)}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 集装器 --> <!-- 集装器 -->
@@ -44,7 +44,7 @@
android:layout_weight="1.2" android:layout_weight="1.2"
android:gravity="center" android:gravity="center"
android:text="@{bean.location}" android:text="@{bean.location}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 件数 --> <!-- 件数 -->
@@ -54,7 +54,7 @@
android:layout_weight="0.8" android:layout_weight="0.8"
android:gravity="center" android:gravity="center"
android:text="@{String.valueOf(bean.pc)}" android:text="@{String.valueOf(bean.pc)}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 重量 --> <!-- 重量 -->
@@ -64,7 +64,7 @@
android:layout_weight="0.8" android:layout_weight="0.8"
android:gravity="center" android:gravity="center"
android:text="@{String.valueOf(bean.weight)}" android:text="@{String.valueOf(bean.weight)}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 航班日期 --> <!-- 航班日期 -->
@@ -74,7 +74,7 @@
android:layout_weight="1" android:layout_weight="1"
android:gravity="center" android:gravity="center"
android:text="@{bean.fdate}" android:text="@{bean.fdate}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 航班号 --> <!-- 航班号 -->
@@ -84,7 +84,7 @@
android:layout_weight="1" android:layout_weight="1"
android:gravity="center" android:gravity="center"
android:text="@{bean.fno}" android:text="@{bean.fno}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 航程 --> <!-- 航程 -->
@@ -94,7 +94,7 @@
android:layout_weight="0.8" android:layout_weight="0.8"
android:gravity="center" android:gravity="center"
android:text="@{bean.range}" android:text="@{bean.range}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 分批 --> <!-- 分批 -->
@@ -104,7 +104,7 @@
android:layout_weight="0.8" android:layout_weight="0.8"
android:gravity="center" android:gravity="center"
android:text="@{`1`}" android:text="@{`1`}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
</LinearLayout> </LinearLayout>
@@ -113,7 +113,7 @@
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1px" android:layout_height="1px"
android:background="@color/line" /> android:background="@color/sub_list_divider" />
</LinearLayout> </LinearLayout>
</layout> </layout>

View File

@@ -19,9 +19,9 @@
android:id="@+id/ll" android:id="@+id/ll"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp" android:layout_marginHorizontal="10dp"
android:layout_marginVertical="5dp" android:layout_marginTop="10dp"
android:background="@{bean.checkIn.equals(`2`) ? @drawable/bg_item_green : @drawable/bg_item}" android:background="@{bean.checkIn.equals(`2`) ? @drawable/bg_item_green : @drawable/bg_white_radius_8}"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingVertical="20dp" android:paddingVertical="20dp"
android:paddingHorizontal="10dp"> android:paddingHorizontal="10dp">
@@ -32,12 +32,13 @@
android:layout_width="40dp" android:layout_width="40dp"
android:layout_height="40dp" android:layout_height="40dp"
android:layout_gravity="center" android:layout_gravity="center"
android:src="@drawable/img_plane" /> android:src="@drawable/img_plane"
android:layout_marginTop="0.5px" />
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="10dp" android:layout_marginLeft="15dp"
android:layout_weight="1" android:layout_weight="1"
android:orientation="vertical"> android:orientation="vertical">
@@ -58,7 +59,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="运单号:" /> android:text="运单号:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -66,7 +68,8 @@
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.wbNo}" android:text="@{bean.wbNo}"
android:textColor="@color/colorPrimary" android:textColor="@color/colorPrimary"
tools:text="78109081212" /> tools:text="78109081212"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -82,7 +85,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="代理人:" /> android:text="代理人:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -92,7 +96,8 @@
android:lines="1" android:lines="1"
android:ellipsize="end" android:ellipsize="end"
android:text='@{bean.agentName}' android:text='@{bean.agentName}'
tools:text="SF" /> tools:text="SF"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -108,14 +113,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="特码:" /> android:text="特码:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.spCode}" android:text="@{bean.spCode}"
tools:text="NOR" /> tools:text="NOR"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -131,14 +138,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="预配件数:" /> android:text="预配件数:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{String.valueOf(bean.pc)}' android:text='@{String.valueOf(bean.pc)}'
tools:text="11" /> tools:text="11"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -154,14 +163,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="预配重量:" /> android:text="预配重量:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{String.valueOf(bean.weight)}' android:text='@{String.valueOf(bean.weight)}'
tools:text="12" /> tools:text="12"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -185,14 +196,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="计划航班:" /> android:text="计划航班:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.flight}" android:text="@{bean.flight}"
tools:text="20240216/MU2026" /> tools:text="20240216/MU2026"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -208,14 +221,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="航程:" /> android:text="航程:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{bean.range}' android:text='@{bean.range}'
tools:text="HFE - PEK" /> tools:text="HFE - PEK"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -231,14 +246,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="预计起飞:" /> android:text="预计起飞:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.scheduledTackOffHM}" android:text="@{bean.scheduledTackOffHM}"
tools:text="09:12" /> tools:text="09:12"
android:textColor="@color/text_normal" />
<TextView <TextView
android:id="@+id/tvDayPlus" android:id="@+id/tvDayPlus"
@@ -247,7 +264,8 @@
android:layout_marginStart="4dp" android:layout_marginStart="4dp"
android:text="+1" android:text="+1"
android:textColor="@color/text_red" android:textColor="@color/text_red"
android:visibility="@{bean.verifyScheduledTackOffNextDay() ? View.VISIBLE : View.GONE}" /> android:visibility="@{bean.verifyScheduledTackOffNextDay() ? View.VISIBLE : View.GONE}"
android:textSize="15sp" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -263,14 +281,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="业务类型:" /> android:text="业务类型:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{bean.businessName}' android:text='@{bean.businessName}'
tools:text="普通货物运输" /> tools:text="普通货物运输"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -286,7 +306,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="品名(中)" /> android:text="品名(中)"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -296,7 +317,8 @@
android:lines="1" android:lines="1"
android:maxLines="1" android:maxLines="1"
android:text='@{bean.goodsCn}' android:text='@{bean.goodsCn}'
tools:text="电子元器件" /> tools:text="电子元器件"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>

View File

@@ -13,9 +13,9 @@
android:id="@+id/ll" android:id="@+id/ll"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp" android:layout_marginHorizontal="10dp"
android:layout_marginVertical="5dp" android:layout_marginTop="10dp"
android:background="@drawable/bg_item" android:background="@drawable/bg_white_radius_8"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingVertical="20dp" android:paddingVertical="20dp"
android:paddingHorizontal="10dp"> android:paddingHorizontal="10dp">
@@ -26,12 +26,13 @@
android:layout_height="40dp" android:layout_height="40dp"
android:layout_gravity="center" android:layout_gravity="center"
loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}" loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}"
android:src="@drawable/img_plane" /> android:src="@drawable/img_plane"
android:layout_marginTop="0.5px" />
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="10dp" android:layout_marginLeft="15dp"
android:layout_weight="1" android:layout_weight="1"
android:orientation="vertical"> android:orientation="vertical">
@@ -52,7 +53,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="运单号:" android:text="运单号:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -60,7 +62,8 @@
android:text="@{bean.wbNo}" android:text="@{bean.wbNo}"
android:textColor="@color/colorPrimary" android:textColor="@color/colorPrimary"
android:textSize="15sp" android:textSize="15sp"
tools:text="78109081212" /> tools:text="78109081212"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -76,14 +79,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="预配件数:" android:text="预配件数:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text='@{String.valueOf(bean.pc)}' android:text='@{String.valueOf(bean.pc)}'
android:textSize="15sp" android:textSize="15sp"
tools:text="10" /> tools:text="10"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -99,14 +104,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="预配重量:" android:text="预配重量:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text='@{String.valueOf((int)bean.weight)}' android:text='@{String.valueOf((int)bean.weight)}'
android:textSize="15sp" android:textSize="15sp"
tools:text="100" /> tools:text="100"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -122,14 +129,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="入库件数:" android:text="入库件数:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text='@{String.valueOf(bean.checkInPc)}' android:text='@{String.valueOf(bean.checkInPc)}'
android:textSize="15sp" android:textSize="15sp"
tools:text="11" /> tools:text="11"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -145,14 +154,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="入库重量:" android:text="入库重量:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text='@{String.valueOf(bean.checkInWeight)}' android:text='@{String.valueOf(bean.checkInWeight)}'
android:textSize="15sp" android:textSize="15sp"
tools:text="12" /> tools:text="12"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -176,14 +187,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="代理人:" android:text="代理人:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text='@{bean.agentName}' android:text='@{bean.agentName}'
android:textSize="15sp" android:textSize="15sp"
tools:text="顺丰" /> tools:text="顺丰"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -199,14 +212,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="特码:" android:text="特码:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text='@{bean.spCode}' android:text='@{bean.spCode}'
android:textSize="15sp" android:textSize="15sp"
tools:text="NOR" /> tools:text="NOR"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -222,14 +237,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="收运人:" android:text="收运人:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text='@{bean.userName}' android:text='@{bean.userName}'
android:textSize="15sp" android:textSize="15sp"
tools:text="张三" /> tools:text="张三"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -245,14 +262,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="入库时间:" android:text="入库时间:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text='@{bean.opDate}' android:text='@{bean.opDate}'
android:textSize="15sp" android:textSize="15sp"
tools:text="2024-02-16 09:12" /> tools:text="2024-02-16 09:12"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>

View File

@@ -90,7 +90,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.uld}" android:text="@{bean.uld}"
android:textColor="@color/colorPrimary" android:textColor="@color/colorPrimary"
android:textSize="15sp" /> android:textSize="15sp"
android:textStyle="bold" />
</LinearLayout> </LinearLayout>

View File

@@ -44,7 +44,8 @@
android:layout_height="40dp" android:layout_height="40dp"
android:layout_gravity="center" android:layout_gravity="center"
android:src="@drawable/img_plane" android:src="@drawable/img_plane"
loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}" /> loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}"
android:layout_marginTop="0.5px" />
<!-- 数据信息区域 --> <!-- 数据信息区域 -->
<LinearLayout <LinearLayout
@@ -108,7 +109,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.loadStatus}" android:text="@{bean.loadStatus}"
android:textColor="@{`01`.equals(bean.loadStatus) ? @color/text_green : (`W`.equals(bean.loadStatus) ? @color/text_blue : @color/text_normal)}" android:textColor="@{`01`.equals(bean.loadStatus) ? @color/text_green : (`W`.equals(bean.loadStatus) ? @color/text_blue : @color/text_normal)}"
android:textSize="15sp" /> android:textSize="14sp" />
</LinearLayout> </LinearLayout>

View File

@@ -45,7 +45,8 @@
android:layout_height="40dp" android:layout_height="40dp"
android:layout_gravity="center" android:layout_gravity="center"
loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}" loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}"
android:src="@drawable/img_plane" /> android:src="@drawable/img_plane"
android:layout_marginTop="0.5px" />
<!-- 运单信息区域 --> <!-- 运单信息区域 -->
<LinearLayout <LinearLayout
@@ -75,14 +76,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="运单号:" /> android:text="运单号:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.wbNo}" android:text="@{bean.wbNo}"
android:textColor="@color/colorPrimary" /> android:textColor="@color/colorPrimary"
android:textStyle="bold" />
</LinearLayout> </LinearLayout>
@@ -99,13 +102,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{3}" completeSpace="@{3}"
android:text="件数:" /> android:text="件数:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{String.valueOf(bean.pc)}" /> android:text="@{String.valueOf(bean.pc)}"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -122,13 +127,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="重量:" /> android:text="重量:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{String.valueOf((int)bean.weight)}" /> android:text="@{String.valueOf((int)bean.weight)}"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -145,13 +152,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="承运人:" /> android:text="承运人:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.by1}" /> android:text="@{bean.by1}"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -168,7 +177,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="运单类型:" /> android:text="运单类型:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -177,7 +187,8 @@
android:text="@{bean.awbTypeName}" android:text="@{bean.awbTypeName}"
android:lines="1" android:lines="1"
android:maxLines="1" android:maxLines="1"
android:ellipsize="end" /> android:ellipsize="end"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -204,7 +215,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="出运路径:" /> android:text="出运路径:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -213,7 +225,8 @@
android:text='@{bean.range}' android:text='@{bean.range}'
android:lines="1" android:lines="1"
android:maxLines="1" android:maxLines="1"
android:ellipsize="end" /> android:ellipsize="end"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -230,13 +243,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{3}" completeSpace="@{3}"
android:text="特码:" /> android:text="特码:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.spCode}" /> android:text="@{bean.spCode}"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -253,7 +268,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="代理人:" /> android:text="代理人:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -262,7 +278,8 @@
android:text="@{bean.agentCode}" android:text="@{bean.agentCode}"
android:lines="1" android:lines="1"
android:maxLines="1" android:maxLines="1"
android:ellipsize="end" /> android:ellipsize="end"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -279,13 +296,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="移交状态:" /> android:text="移交状态:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="14sp"
android:text="@{bean.moveState == 1 ? `已移交` : `未移交`}" /> android:text="@{bean.moveState == 1 ? `已移交` : `未移交`}"
android:textColor="@{bean.moveState == 1 ? @color/text_green : @color/text_gray}" />
</LinearLayout> </LinearLayout>
@@ -302,7 +321,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="品名:" /> android:text="品名:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -311,7 +331,8 @@
android:text="@{bean.goodsCn.isEmpty() ? bean.goods : bean.goodsCn}" android:text="@{bean.goodsCn.isEmpty() ? bean.goods : bean.goodsCn}"
android:lines="1" android:lines="1"
android:maxLines="1" android:maxLines="1"
android:ellipsize="end" /> android:ellipsize="end"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>

View File

@@ -33,7 +33,8 @@
android:layout_height="40dp" android:layout_height="40dp"
android:layout_gravity="center" android:layout_gravity="center"
loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}" loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}"
android:src="@drawable/img_plane" /> android:src="@drawable/img_plane"
android:layout_marginTop="0.5px" />
<!-- ULD信息区域 --> <!-- ULD信息区域 -->
<LinearLayout <LinearLayout
@@ -63,13 +64,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{5}" completeSpace="@{5}"
android:text="ULD编码" android:text="ULD编码"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.uld}" android:text="@{bean.uld}"
android:textSize="15sp"/> android:textSize="15sp"
android:textColor="@color/colorPrimary"
android:textStyle="bold"/>
</LinearLayout> </LinearLayout>
@@ -86,13 +90,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{5}" completeSpace="@{5}"
android:text="架子车号:" android:text="架子车号:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.carId}" android:text="@{bean.carId}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -109,13 +115,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{5}" completeSpace="@{5}"
android:text="装机重:" android:text="装机重:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.valueOf((int)bean.netWeight)}" android:text="@{String.valueOf((int)bean.netWeight)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -132,13 +140,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{4}" completeSpace="@{4}"
android:text="板型:" android:text="板型:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.boardType}" android:text="@{bean.boardType}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -155,13 +165,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{5}" completeSpace="@{5}"
android:text="航班信息:" android:text="航班信息:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.flight}" android:text="@{bean.flight}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -178,14 +190,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{5}" completeSpace="@{5}"
android:text="装机状态:" android:text="装机状态:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.allowLoadText}" android:text="@{bean.allowLoadText}"
android:textColor="@{bean.isAllowLoad() ? @color/text_green : @color/text_red}" android:textColor="@{bean.isAllowLoad() ? @color/text_green : @color/text_red}"
android:textSize="15sp" /> android:textSize="14sp" />
</LinearLayout> </LinearLayout>
@@ -212,13 +225,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{5}" completeSpace="@{5}"
android:text="目的港:" android:text="目的港:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.fdest}" android:text="@{bean.fdest}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -235,13 +250,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{5}" completeSpace="@{5}"
android:text="库位号:" android:text="库位号:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.transArea}" android:text="@{bean.transArea}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -258,7 +275,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{5}" completeSpace="@{5}"
android:text="IMP代码" android:text="IMP代码"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -282,13 +300,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{4}" completeSpace="@{4}"
android:text="交接人:" android:text="交接人:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.hoUserName}" android:text="@{bean.hoUserName}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -305,13 +325,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{5}" completeSpace="@{5}"
android:text="交接时间:" android:text="交接时间:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.hoDate}" android:text="@{bean.hoDate}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>

View File

@@ -46,7 +46,6 @@
android:layout_width="40dp" android:layout_width="40dp"
android:layout_height="40dp" android:layout_height="40dp"
android:layout_marginTop="0.5px" android:layout_marginTop="0.5px"
android:layout_marginEnd="10dp"
loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}" loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}"
android:src="@drawable/img_plane" /> android:src="@drawable/img_plane" />
@@ -55,7 +54,8 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:orientation="vertical"> android:orientation="vertical"
android:layout_marginLeft="15dp">
<!-- 第一行:运单号、航班信息、航程、品名、重量 --> <!-- 第一行:运单号、航班信息、航程、品名、重量 -->
<LinearLayout <LinearLayout
@@ -75,14 +75,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="运单号:" android:text="运单号:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.wbNo}" android:text="@{bean.wbNo}"
android:textColor="@color/colorPrimary" android:textColor="@color/colorPrimary"
android:textSize="15sp" /> android:textSize="15sp"
android:textStyle="bold" />
</LinearLayout> </LinearLayout>
@@ -98,13 +100,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{5}" completeSpace="@{5}"
android:text="航班信息:" android:text="航班信息:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.flightInfo}" android:text="@{bean.flightInfo}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -120,13 +124,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{5}" completeSpace="@{5}"
android:text="航程:" android:text="航程:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.range}" android:text="@{bean.range}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -142,7 +148,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{5}" completeSpace="@{5}"
android:text="品名(英)" android:text="品名(英)"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -150,7 +157,8 @@
android:ellipsize="end" android:ellipsize="end"
android:maxLines="1" android:maxLines="1"
android:text="@{bean.goods}" android:text="@{bean.goods}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -166,13 +174,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{4}" completeSpace="@{4}"
android:text="重量:" android:text="重量:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.valueOf((int)bean.weight)}" android:text="@{String.valueOf((int)bean.weight)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -197,13 +207,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{4}" completeSpace="@{4}"
android:text="代理人:" android:text="代理人:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.agentCode}" android:text="@{bean.agentCode}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -219,13 +231,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{5}" completeSpace="@{5}"
android:text="件数:" android:text="件数:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.valueOf(bean.pc)}" android:text="@{String.valueOf(bean.pc)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -241,7 +255,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{5}" completeSpace="@{5}"
android:text="清仓正常:" android:text="清仓正常:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -268,13 +283,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{5}" completeSpace="@{5}"
android:text="入库时间:" android:text="入库时间:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.opDate}" android:text="@{bean.opDate}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -290,18 +307,45 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{4}" completeSpace="@{4}"
android:text="库位数:" android:text="库位数:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.valueOf(bean.storageUseNumber)}" android:text="@{String.valueOf(bean.storageUseNumber)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
<!-- 第三行:清仓备注(独占整行) -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
completeSpace="@{4}"
android:text="备注:"
android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@{bean.clearRemark}"
android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>

View File

@@ -18,9 +18,9 @@
<!-- 主要内容区域 --> <!-- 主要内容区域 -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:orientation="horizontal" android:paddingVertical="20dp" android:paddingHorizontal="10dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:orientation="horizontal" android:paddingVertical="20dp" android:paddingHorizontal="10dp">
<!-- 选中图标 --> <!-- 选中图标 -->
<ImageView android:id="@+id/iv_icon" android:layout_width="40dp" android:layout_height="40dp" android:layout_marginTop="0.5px" android:layout_marginEnd="10dp" loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}" android:src="@drawable/img_plane"/> <ImageView android:id="@+id/iv_icon" android:layout_width="40dp" android:layout_height="40dp" android:layout_marginTop="0.5px" loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}" android:src="@drawable/img_plane"/>
<!-- 数据展示区域 --> <!-- 数据展示区域 -->
<LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:orientation="vertical"> <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:orientation="vertical" android:layout_marginLeft="15dp">
<!-- 第一行:运单号、状态、代理、件数、重量 --> <!-- 第一行:运单号、状态、代理、件数、重量 -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal">
<!-- 运单号 (weight=1.5) --> <!-- 运单号 (weight=1.5) -->

View File

@@ -56,28 +56,17 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<!-- 特码 --> <!-- 特码(下拉选择,数据来源与国际出港待记重页面一致) -->
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew <com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="10dp" android:layout_marginBottom="10dp"
hint='@{"请输入特码"}' hint='@{"请选择特码"}'
list="@{viewModel.spCodeList}"
title='@{"特码"}' title='@{"特码"}'
titleLength="@{4}" titleLength="@{4}"
type="@{DataLayoutType.INPUT}"
value='@={viewModel.spCode}' />
<!-- 出库状态 -->
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
hint='@{"请选择出库状态"}'
list="@{viewModel.outStatusList}"
title='@{"出库状态"}'
titleLength="@{4}"
type="@{DataLayoutType.SPINNER}" type="@{DataLayoutType.SPINNER}"
value='@={viewModel.outStatus}' /> value='@={viewModel.spCode}' />
<!-- 目的港 --> <!-- 目的港 -->
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew <com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew

View File

@@ -68,9 +68,12 @@ class IntImpLoadingListActivity :
viewModel.onFlightNoInputComplete() viewModel.onFlightNoInputComplete()
} }
// 初始加载数据 // 列表/汇总接口必须带航班fid仅在父页面已选航班并传入 fid 时才初始加载
// 否则等用户输入航班号后手动查询,避免后端返回「请先选择航班」
if (viewModel.fid.isNotEmpty()) {
viewModel.refresh() viewModel.refresh()
} }
}
/** /**
* 显示入库操作对话框 * 显示入库操作对话框

View File

@@ -38,8 +38,9 @@ class IntImpPickUpDLVActivity :
viewModel.refresh() viewModel.refresh()
} }
// 初始化代理人列表 // 初始化代理人、特码下拉列表
viewModel.initAgentList() viewModel.initAgentList()
viewModel.initSpecialCodeList()
// 初始加载数据 // 初始加载数据
viewModel.refresh() viewModel.refresh()

View File

@@ -56,7 +56,7 @@ class IntImpStorageUseActivity :
val list = viewModel.pageModel.rv?.commonAdapter()?.items as? List<*> ?: return val list = viewModel.pageModel.rv?.commonAdapter()?.items as? List<*> ?: return
val allItems = list.filterIsInstance<com.lukouguoji.module_base.bean.GjcMaWb>() val allItems = list.filterIsInstance<com.lukouguoji.module_base.bean.GjcMaWb>()
val maWbListForClear = allItems.mapNotNull { maWb -> val warehouseListForClear = allItems.mapNotNull { maWb ->
if (maWb.isSelected) { if (maWb.isSelected) {
// 勾选运单号 → 默认全选该运单号下的所有库位 // 勾选运单号 → 默认全选该运单号下的所有库位
maWb.copy(storageUseList = maWb.storageUseList ?: emptyList()) maWb.copy(storageUseList = maWb.storageUseList ?: emptyList())
@@ -71,14 +71,15 @@ class IntImpStorageUseActivity :
} }
} }
if (maWbListForClear.isEmpty()) { if (warehouseListForClear.isEmpty()) {
showToast("请至少选择一个库位") showToast("请至少选择一个库位")
return return
} }
IntImpMoveClearDialogModel { dialog -> IntImpMoveClearDialogModel { dialog ->
val clearNormal = dialog.clearNormal.value ?: "" val clearNormal = dialog.clearNormal.value ?: ""
viewModel.performClear(clearNormal, maWbListForClear) val clearRemark = dialog.clearRemark.value ?: ""
viewModel.performClear(clearNormal, clearRemark, warehouseListForClear)
}.show(this) }.show(this)
} }

View File

@@ -18,6 +18,9 @@ class IntImpMoveClearDialogModel(
// 清仓正常(存储的是 code"0" 或 "1" // 清仓正常(存储的是 code"0" 或 "1"
val clearNormal = MutableLiveData("") val clearNormal = MutableLiveData("")
// 清仓备注(选填)
val clearRemark = MutableLiveData("")
// 清仓正常选项列表 // 清仓正常选项列表
val clearNormalList = MutableLiveData<List<KeyValue>>().apply { val clearNormalList = MutableLiveData<List<KeyValue>>().apply {
value = listOf( value = listOf(

View File

@@ -2,7 +2,6 @@ package com.lukouguoji.gjj.viewModel
import android.content.Intent import android.content.Intent
import android.view.View import android.view.View
import androidx.lifecycle.MediatorLiveData
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewModelScope
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
@@ -103,10 +102,12 @@ class GjjManifestAddViewModel : BaseViewModel(), IOnItemClickListener {
fid = flight.fid.noNull() fid = flight.fid.noNull()
departure.value = flight.fdep.noNull() departure.value = flight.fdep.noNull()
destination.value = flight.fdest.noNull() destination.value = flight.fdest.noNull()
range.value = flight.getHangCheng()
} else { } else {
fid = "" fid = ""
departure.value = "" departure.value = ""
destination.value = "" destination.value = ""
range.value = ""
showToast(it.msg.noNull("获取航班信息失败")) showToast(it.msg.noNull("获取航班信息失败"))
} }
} }
@@ -114,6 +115,7 @@ class GjjManifestAddViewModel : BaseViewModel(), IOnItemClickListener {
fid = "" fid = ""
departure.value = "" departure.value = ""
destination.value = "" destination.value = ""
range.value = ""
} }
} }
} }
@@ -142,15 +144,15 @@ class GjjManifestAddViewModel : BaseViewModel(), IOnItemClickListener {
// 目的港 // 目的港
val destination = MutableLiveData("") val destination = MutableLiveData("")
// 航程(自动拼接:始发站-目的站 // 航程(航班起始站-航班目的站,仅随航班信息变化,不随用户修改始发站/目的站联动
val range = MediatorLiveData<String>().apply { val range = MutableLiveData("")
val update = {
val dep = departure.value ?: "" /**
val dest = destination.value ?: "" * 按航班起始站/目的站拼接航程,起始站为空时返回空
value = if (dep.isNotEmpty() || dest.isNotEmpty()) "$dep-$dest" else "" */
} private fun buildRange(fdep: String?, fdest: String?): String {
addSource(departure) { update() } if (fdep.isNullOrEmpty()) return ""
addSource(destination) { update() } return "$fdep-${fdest ?: ""}"
} }
// 品名(中) // 品名(中)
@@ -204,6 +206,8 @@ class GjjManifestAddViewModel : BaseViewModel(), IOnItemClickListener {
fid = intent.getStringExtra(Constant.Key.ID).noNull() fid = intent.getStringExtra(Constant.Key.ID).noNull()
departure.value = intent.getStringExtra(Constant.Key.DEPARTURE).noNull() departure.value = intent.getStringExtra(Constant.Key.DEPARTURE).noNull()
destination.value = intent.getStringExtra(Constant.Key.DESTINATION).noNull() destination.value = intent.getStringExtra(Constant.Key.DESTINATION).noNull()
// 列表页传入的是航班的始发站/目的站,用于初始化航程
range.value = buildRange(departure.value, destination.value)
// 回填航班日期和航班号(从列表页传入) // 回填航班日期和航班号(从列表页传入)
val passedFlightDate = intent.getStringExtra("flightDate").noNull() val passedFlightDate = intent.getStringExtra("flightDate").noNull()
@@ -317,6 +321,7 @@ class GjjManifestAddViewModel : BaseViewModel(), IOnItemClickListener {
billingWeight.value = manifest.cashWeight.toString() billingWeight.value = manifest.cashWeight.toString()
departure.value = manifest.origin departure.value = manifest.origin
destination.value = manifest.dest destination.value = manifest.dest
range.value = buildRange(manifest.fdep, manifest.fdest)
goodsNameCn.value = manifest.goodsCn goodsNameCn.value = manifest.goodsCn
goodsNameEn.value = manifest.goods goodsNameEn.value = manifest.goods
unNumber.value = manifest.unNumber unNumber.value = manifest.unNumber
@@ -362,6 +367,7 @@ class GjjManifestAddViewModel : BaseViewModel(), IOnItemClickListener {
actualWeight.value = manifest.weight.toString() actualWeight.value = manifest.weight.toString()
departure.value = manifest.origin departure.value = manifest.origin
destination.value = manifest.dest destination.value = manifest.dest
range.value = buildRange(manifest.fdep, manifest.fdest)
goodsNameCn.value = manifest.goodsCn goodsNameCn.value = manifest.goodsCn
goodsNameEn.value = manifest.goods goodsNameEn.value = manifest.goods
unNumber.value = manifest.unNumber unNumber.value = manifest.unNumber

View File

@@ -63,8 +63,13 @@ class IntArrAirManifestViewModel : BasePageViewModel() {
/** /**
* 搜索按钮点击 * 搜索按钮点击
* 航班号必填,校验通过后再请求列表与汇总(与国际进港舱单页面交互一致)
*/ */
fun searchClick() { fun searchClick() {
if (flightNo.value.isNullOrEmpty()) {
showToast("请输入航班号")
return
}
refresh() refresh()
} }

View File

@@ -139,6 +139,13 @@ class IntImpLoadingListViewModel : BasePageViewModel(), IOnItemClickListener {
fun searchClick() { fun searchClick() {
val fdate = flightDate.value val fdate = flightDate.value
val fno = flightNo.value val fno = flightNo.value
// 校验航班号必填(与国际进港舱单页面交互一致)
if (fno.isNullOrEmpty()) {
showToast("请输入航班号")
return
}
if (!fdate.isNullOrEmpty() && !fno.isNullOrEmpty()) { if (!fdate.isNullOrEmpty() && !fno.isNullOrEmpty()) {
val key = "$fdate-$fno" val key = "$fdate-$fno"
if (key != lastQueriedFlight || fid.isEmpty()) { if (key != lastQueriedFlight || fid.isEmpty()) {
@@ -299,6 +306,12 @@ class IntImpLoadingListViewModel : BasePageViewModel(), IOnItemClickListener {
* 查询参数与父页面国际进港舱单保持一致使用FID和FDGP * 查询参数与父页面国际进港舱单保持一致使用FID和FDGP
*/ */
override fun getData() { override fun getData() {
// 接口必须带航班fid未选航班时不请求直接清空列表与汇总
if (fid.isEmpty()) {
clearListAndTotal()
return
}
// 构建搜索条件与父页面一致fid + fdep + wbNo // 构建搜索条件与父页面一致fid + fdep + wbNo
val filterParams = mapOf( val filterParams = mapOf(
"fid" to fid.ifEmpty { null }, "fid" to fid.ifEmpty { null },
@@ -332,4 +345,16 @@ class IntImpLoadingListViewModel : BasePageViewModel(), IOnItemClickListener {
} }
} }
} }
/**
* 无航班信息时清空列表与底部汇总,并结束刷新状态
*/
private fun clearListAndTotal() {
pageModel.handleDataList(emptyList())
pageModel.haveMore.postValue(false)
totalCount.value = "0"
totalPc.value = "0"
totalWeight.value = "0"
isAllChecked.value = false
}
} }

View File

@@ -556,7 +556,7 @@ class IntImpManifestViewModel : BasePageViewModel() {
} }
/** /**
* 货物发放 * 理货完成(货物发放):库位已在「开始理货」时录入,此处不再弹库位框,直接提交所选运单
*/ */
fun cargoReleaseClick() { fun cargoReleaseClick() {
val list = pageModel.rv?.commonAdapter()?.items as? List<GjjManifest> ?: return val list = pageModel.rv?.commonAdapter()?.items as? List<GjjManifest> ?: return
@@ -567,12 +567,7 @@ class IntImpManifestViewModel : BasePageViewModel() {
return return
} }
IntImpModifyStorageDialogModel { dialog -> val params = mapOf("manifestList" to selectedItems).toRequestBody()
val params = mapOf(
"location" to dialog.locationName,
"locationId" to dialog.locationId.toLongOrNull(),
"manifestList" to selectedItems
).toRequestBody()
launchLoadingCollect({ NetApply.api.intImpManifestPutUpCargo(params) }) { launchLoadingCollect({ NetApply.api.intImpManifestPutUpCargo(params) }) {
onSuccess = { onSuccess = {
@@ -584,7 +579,6 @@ class IntImpManifestViewModel : BasePageViewModel() {
} }
} }
} }
}.show()
} }
/** /**
@@ -592,6 +586,13 @@ class IntImpManifestViewModel : BasePageViewModel() {
* 通过FID查询列表而不是直接通过航班号和航班日期 * 通过FID查询列表而不是直接通过航班号和航班日期
*/ */
override fun getData() { override fun getData() {
// 接口必须带航班fid未选航班时不请求直接清空列表与汇总
// (如子页面装机单修改成功后广播 EVENT_REFRESH本页尚未查航班也会被触发刷新
if (fid.isEmpty()) {
clearListAndTotal()
return
}
// 构建搜索条件使用FID代替fdate/fno // 构建搜索条件使用FID代替fdate/fno
val filterParams = mapOf( val filterParams = mapOf(
"fid" to fid.ifEmpty { null }, "fid" to fid.ifEmpty { null },
@@ -626,6 +627,18 @@ class IntImpManifestViewModel : BasePageViewModel() {
} }
} }
/**
* 无航班信息时清空列表与底部汇总,并结束刷新状态
*/
private fun clearListAndTotal() {
pageModel.handleDataList(emptyList())
pageModel.haveMore.postValue(false)
totalCount.value = "0"
totalPc.value = "0"
totalWeight.value = "0"
isAllChecked.value = false
}
/** /**
* 加载主单下的分单列表(按需加载,加载完成后自动展开) * 加载主单下的分单列表(按需加载,加载完成后自动展开)
*/ */

View File

@@ -20,6 +20,7 @@ import com.lukouguoji.module_base.ktx.formatDate
import com.lukouguoji.module_base.ktx.toRequestBody import com.lukouguoji.module_base.ktx.toRequestBody
import com.lukouguoji.module_base.model.ConfirmDialogModel import com.lukouguoji.module_base.model.ConfirmDialogModel
import com.lukouguoji.module_base.model.ScanModel import com.lukouguoji.module_base.model.ScanModel
import com.lukouguoji.module_base.util.DictUtils
import dev.utils.app.info.KeyValue import dev.utils.app.info.KeyValue
import dev.utils.common.DateUtils import dev.utils.common.DateUtils
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@@ -38,6 +39,7 @@ class IntImpPickUpDLVViewModel : BasePageViewModel() {
// ========== 下拉列表数据源 ========== // ========== 下拉列表数据源 ==========
val agentList = MutableLiveData(listOf(KeyValue("全部", ""))) val agentList = MutableLiveData(listOf(KeyValue("全部", "")))
val spCodeList = MutableLiveData<List<KeyValue>>(emptyList())
// ========== 统计信息 ========== // ========== 统计信息 ==========
val totalCount = MutableLiveData("0") // 合计票数 val totalCount = MutableLiveData("0") // 合计票数
@@ -75,6 +77,19 @@ class IntImpPickUpDLVViewModel : BasePageViewModel() {
} }
} }
/**
* 初始化特码列表(与国际进港查询筛选栏一致:国际、不区分进出港)
*/
fun initSpecialCodeList() {
DictUtils.getSpecialCodeList(
flag = 1,
ieFlag = "",
parentcode = ""
) {
spCodeList.value = it
}
}
/** /**
* 搜索按钮点击 * 搜索按钮点击
*/ */
@@ -89,13 +104,6 @@ class IntImpPickUpDLVViewModel : BasePageViewModel() {
ScanModel.startScan(getTopActivity(), Constant.RequestCode.WAYBILL) ScanModel.startScan(getTopActivity(), Constant.RequestCode.WAYBILL)
} }
/**
* 扫码特码
*/
fun scanSpCode() {
ScanModel.startScan(getTopActivity(), Constant.RequestCode.gnj_chu_ku_list)
}
/** /**
* 全选按钮点击 * 全选按钮点击
*/ */
@@ -181,10 +189,6 @@ class IntImpPickUpDLVViewModel : BasePageViewModel() {
wbNo.value = data.getStringExtra(Constant.Result.CODED_CONTENT) wbNo.value = data.getStringExtra(Constant.Result.CODED_CONTENT)
refresh() refresh()
} }
Constant.RequestCode.gnj_chu_ku_list -> {
spCode.value = data.getStringExtra(Constant.Result.CODED_CONTENT)
refresh()
}
} }
} }
} }

View File

@@ -117,16 +117,24 @@ class IntImpStorageUseViewModel : BasePageViewModel() {
/** /**
* 执行清仓操作 * 执行清仓操作
* @param clearNormal 清仓正常("0"或"1"
* @param clearRemark 清仓备注(选填)
* @param warehouseListForClear 包含选中子列表项的主列表数据
*/ */
fun performClear(clearNormal: String, maWbListForClear: List<GjcMaWb>) { fun performClear(clearNormal: String, clearRemark: String, warehouseListForClear: List<GjcMaWb>) {
if (maWbListForClear.isEmpty()) { if (warehouseListForClear.isEmpty()) {
showToast("请至少选择一个库位") showToast("请至少选择一个库位")
return return
} }
val body = maWbListForClear.toRequestBody() // 构建请求参数:清仓标志与备注在顶层,选中数据放 warehouseList
val params = mapOf(
"clearNormal" to clearNormal,
"clearRemark" to clearRemark.ifEmpty { null },
"warehouseList" to warehouseListForClear
).toRequestBody()
launchLoadingCollect({ NetApply.api.clearIntImpStorage(clearNormal, body) }) { launchLoadingCollect({ NetApply.api.clearIntImpStorage(params) }) {
onSuccess = { onSuccess = {
showToast("清仓成功") showToast("清仓成功")
viewModelScope.launch { viewModelScope.launch {

View File

@@ -78,10 +78,9 @@
<!-- 特码 --> <!-- 特码 -->
<com.lukouguoji.module_base.ui.weight.search.layout.PadSearchLayout <com.lukouguoji.module_base.ui.weight.search.layout.PadSearchLayout
hint='@{"请输入特码"}' hint='@{"请选择特码"}'
icon="@{@drawable/img_scan}" list="@{viewModel.spCodeList}"
setOnIconClickListener="@{(v)-> viewModel.scanSpCode()}" type="@{SearchLayoutType.SPINNER}"
type="@{SearchLayoutType.INPUT}"
value="@={viewModel.spCode}" value="@={viewModel.spCode}"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"

View File

@@ -62,16 +62,6 @@
type="@{SearchLayoutType.DATE}" type="@{SearchLayoutType.DATE}"
value="@={viewModel.flightDateEnd}" /> value="@={viewModel.flightDateEnd}" />
<!-- 代理人 -->
<com.lukouguoji.module_base.ui.weight.search.layout.PadSearchLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
hint='@{"请选择代理"}'
list="@{viewModel.agentList}"
type="@{SearchLayoutType.SPINNER}"
value="@={viewModel.agentId}" />
<!-- 航班号 --> <!-- 航班号 -->
<com.lukouguoji.module_base.ui.weight.search.layout.PadSearchLayout <com.lukouguoji.module_base.ui.weight.search.layout.PadSearchLayout
android:id="@+id/flight_no_search" android:id="@+id/flight_no_search"
@@ -82,6 +72,16 @@
type="@{SearchLayoutType.INPUT}" type="@{SearchLayoutType.INPUT}"
value="@={viewModel.flightNo}" /> value="@={viewModel.flightNo}" />
<!-- 代理人 -->
<com.lukouguoji.module_base.ui.weight.search.layout.PadSearchLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
hint='@{"请选择代理"}'
list="@{viewModel.agentList}"
type="@{SearchLayoutType.SPINNER}"
value="@={viewModel.agentId}" />
<!-- 运单号 --> <!-- 运单号 -->
<com.lukouguoji.module_base.ui.weight.search.layout.PadSearchLayout <com.lukouguoji.module_base.ui.weight.search.layout.PadSearchLayout
android:layout_width="0dp" android:layout_width="0dp"

View File

@@ -61,6 +61,32 @@
</LinearLayout> </LinearLayout>
<!-- 备注 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
completeSpace="@{5}"
android:text="备注:"
android:textColor="@color/text_normal"
android:textSize="16sp" />
<com.lukouguoji.module_base.ui.weight.search.layout.PadSearchLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
hint='@{"请输入备注"}'
type="@{SearchLayoutType.INPUT}"
value="@={model.clearRemark}" />
</LinearLayout>
</LinearLayout> </LinearLayout>
<!-- 底部按钮 --> <!-- 底部按钮 -->

View File

@@ -23,8 +23,8 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp" android:layout_marginHorizontal="10dp"
android:layout_marginVertical="5dp" android:layout_marginTop="10dp"
android:orientation="vertical"> android:orientation="vertical">
<!-- 侧滑布局:白色卡片(含展开按钮)+ 侧滑菜单 --> <!-- 侧滑布局:白色卡片(含展开按钮)+ 侧滑菜单 -->
@@ -37,7 +37,7 @@
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/bg_item" android:background="@drawable/bg_white_radius_8"
android:orientation="vertical"> android:orientation="vertical">
<!-- 主内容行 --> <!-- 主内容行 -->
@@ -63,7 +63,7 @@
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="10dp" android:layout_marginLeft="15dp"
android:layout_weight="1" android:layout_weight="1"
android:orientation="vertical"> android:orientation="vertical">
@@ -84,7 +84,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="运单号:" /> android:text="运单号:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -108,12 +109,13 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="状态:" /> android:text="状态:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="14sp"
android:text="@{manifest.mftStatus ?? ``}" android:text="@{manifest.mftStatus ?? ``}"
android:textColor="@{`01`.equals(manifest.mftStatus) ? @color/text_green : (`W`.equals(manifest.mftStatus) ? @color/text_blue : @color/text_normal)}" /> android:textColor="@{`01`.equals(manifest.mftStatus) ? @color/text_green : (`W`.equals(manifest.mftStatus) ? @color/text_blue : @color/text_normal)}" />
@@ -131,13 +133,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="代理:" /> android:text="代理:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{manifest.agentCode ?? ``}" /> android:text="@{manifest.agentCode ?? ``}"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -153,13 +157,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="件数:" /> android:text="件数:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{String.valueOf((int)manifest.pc)}" /> android:text="@{String.valueOf((int)manifest.pc)}"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -175,13 +181,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="重量:" /> android:text="重量:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{String.valueOf((int)manifest.weight)}" /> android:text="@{String.valueOf((int)manifest.weight)}"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -205,13 +213,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="航班信息:" /> android:text="航班信息:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{manifest.getFlightSplit()}" /> android:text="@{manifest.getFlightSplit()}"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -227,13 +237,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="始发站:" /> android:text="始发站:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{manifest.fdep ?? ``}" /> android:text="@{manifest.fdep ?? ``}"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -249,13 +261,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="目的站:" /> android:text="目的站:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{manifest.fdest ?? ``}" /> android:text="@{manifest.fdest ?? ``}"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -271,13 +285,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="运单类型:" /> android:text="运单类型:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{manifest.awbTypeName ?? ``}" /> android:text="@{manifest.awbTypeName ?? ``}"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -293,13 +309,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="分单数:" /> android:text="分单数:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{String.valueOf(manifest.haWbNum)}" /> android:text="@{String.valueOf(manifest.haWbNum)}"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -351,8 +369,8 @@
visible="@{bean.showMore}" visible="@{bean.showMore}"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="5dp" android:layout_marginTop="10dp"
android:background="#e3f6e0" android:background="@drawable/bg_white_radius_8"
android:orientation="vertical" android:orientation="vertical"
android:visibility="gone"> android:visibility="gone">
@@ -373,9 +391,10 @@
android:id="@+id/ll_header" android:id="@+id/ll_header"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginVertical="10dp" android:background="@drawable/bg_arrive_sub_header"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingHorizontal="10dp"> android:paddingHorizontal="10dp"
android:paddingVertical="10dp">
<TextView <TextView
android:layout_width="0dp" android:layout_width="0dp"

View File

@@ -76,8 +76,8 @@
android:layout_weight="0.5" android:layout_weight="0.5"
android:gravity="center" android:gravity="center"
android:text="@{bean.mftStatus ?? ``}" android:text="@{bean.mftStatus ?? ``}"
android:textColor="@color/colorPrimary" android:textColor="@{`01`.equals(bean.mftStatus) ? @color/text_green : (`W`.equals(bean.mftStatus) ? @color/colorPrimary : @color/text_gray)}"
android:textSize="14sp" /> android:textSize="13sp" />
<!-- 品名(中) --> <!-- 品名(中) -->
<TextView <TextView

View File

@@ -16,8 +16,8 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="5dp" android:layout_marginHorizontal="10dp"
android:layout_marginVertical="5dp" android:layout_marginTop="10dp"
android:orientation="vertical"> android:orientation="vertical">
<!-- 侧滑布局 --> <!-- 侧滑布局 -->
@@ -31,7 +31,7 @@
android:id="@+id/ll" android:id="@+id/ll"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/bg_item" android:background="@drawable/bg_white_radius_8"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingVertical="20dp" android:paddingVertical="20dp"
@@ -43,13 +43,14 @@
android:layout_height="40dp" android:layout_height="40dp"
android:layout_gravity="center" android:layout_gravity="center"
android:src="@drawable/img_plane" android:src="@drawable/img_plane"
loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}" /> loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}"
android:layout_marginTop="0.5px" />
<!-- 中间内容区 --> <!-- 中间内容区 -->
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="10dp" android:layout_marginLeft="15dp"
android:layout_weight="1" android:layout_weight="1"
android:orientation="vertical"> android:orientation="vertical">
@@ -71,13 +72,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="航班日期:" android:text="航班日期:"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" /> completeSpace="@{5}"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.fdate}" android:text="@{bean.fdate}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -93,13 +96,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="始发站:" android:text="始发站:"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" /> completeSpace="@{4}"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.dep}" android:text="@{bean.dep}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -115,13 +120,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="运单总件数:" android:text="运单总件数:"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{6}" /> completeSpace="@{6}"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.valueOf(bean.pc)}" android:text="@{String.valueOf(bean.pc)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -137,13 +144,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="不正常件数:" android:text="不正常件数:"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{6}" /> completeSpace="@{6}"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.valueOf(bean.dpc)}" android:text="@{String.valueOf(bean.dpc)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -159,14 +168,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="运单号:" android:text="运单号:"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" /> completeSpace="@{5}"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.wbNo}" android:text="@{bean.wbNo}"
android:textColor="@color/colorPrimary" android:textColor="@color/colorPrimary"
android:textSize="15sp" /> android:textSize="15sp"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -191,13 +202,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="航班号:" android:text="航班号:"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" /> completeSpace="@{5}"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.fno}" android:text="@{bean.fno}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -213,13 +226,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="目的站:" android:text="目的站:"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" /> completeSpace="@{4}"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.dest}" android:text="@{bean.dest}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -235,13 +250,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="运单总重量:" android:text="运单总重量:"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{6}" /> completeSpace="@{6}"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.valueOf(bean.weight)}" android:text="@{String.valueOf(bean.weight)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -257,13 +274,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="经办人:" android:text="经办人:"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{6}" /> completeSpace="@{6}"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.opId}" android:text="@{bean.opId}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -279,13 +298,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="经办时间:" android:text="经办时间:"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" /> completeSpace="@{5}"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.opdate}" android:text="@{bean.opdate}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>

View File

@@ -60,7 +60,7 @@
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="10dp" android:layout_marginLeft="15dp"
android:layout_weight="1" android:layout_weight="1"
android:orientation="vertical"> android:orientation="vertical">
@@ -81,7 +81,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="运单号:" android:text="运单号:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -105,13 +106,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="始发站:" android:text="始发站:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.origin}" android:text="@{bean.origin}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -127,13 +130,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="目的站:" android:text="目的站:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.dest}" android:text="@{bean.dest}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -149,13 +154,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="总件数:" android:text="总件数:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.valueOf(bean.totalPc)}" android:text="@{String.valueOf(bean.totalPc)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -171,13 +178,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="实到件数:" android:text="实到件数:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.valueOf(bean.pc)}" android:text="@{String.valueOf(bean.pc)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -201,13 +210,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="实到重量:" android:text="实到重量:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.valueOf((int)bean.weight)}" android:text="@{String.valueOf((int)bean.weight)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -223,13 +234,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="计费重量:" android:text="计费重量:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.valueOf((int)bean.cashWeight)}" android:text="@{String.valueOf((int)bean.cashWeight)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -245,13 +258,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="代理:" android:text="代理:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.agentCode}" android:text="@{bean.agentCode}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -267,13 +282,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="特码:" android:text="特码:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.spCode}" android:text="@{bean.spCode}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -289,13 +306,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="分单数:" android:text="分单数:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.valueOf(bean.haWbNum)}" android:text="@{String.valueOf(bean.haWbNum)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -388,7 +407,8 @@
android:gravity="center" android:gravity="center"
android:text="选项" android:text="选项"
android:textSize="14sp" android:textSize="14sp"
android:textStyle="bold" /> android:textStyle="bold"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="0dp" android:layout_width="0dp"
@@ -397,7 +417,8 @@
android:gravity="center" android:gravity="center"
android:text="运单号" android:text="运单号"
android:textSize="14sp" android:textSize="14sp"
android:textStyle="bold" /> android:textStyle="bold"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="0dp" android:layout_width="0dp"
@@ -406,7 +427,8 @@
android:gravity="center" android:gravity="center"
android:text="分单号" android:text="分单号"
android:textSize="14sp" android:textSize="14sp"
android:textStyle="bold" /> android:textStyle="bold"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="0dp" android:layout_width="0dp"
@@ -415,7 +437,8 @@
android:gravity="center" android:gravity="center"
android:text="件数" android:text="件数"
android:textSize="14sp" android:textSize="14sp"
android:textStyle="bold" /> android:textStyle="bold"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="0dp" android:layout_width="0dp"
@@ -424,7 +447,8 @@
android:gravity="center" android:gravity="center"
android:text="重量" android:text="重量"
android:textSize="14sp" android:textSize="14sp"
android:textStyle="bold" /> android:textStyle="bold"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="0dp" android:layout_width="0dp"
@@ -433,7 +457,8 @@
android:gravity="center" android:gravity="center"
android:text="原始舱单" android:text="原始舱单"
android:textSize="14sp" android:textSize="14sp"
android:textStyle="bold" /> android:textStyle="bold"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="0dp" android:layout_width="0dp"
@@ -442,7 +467,8 @@
android:gravity="center" android:gravity="center"
android:text="理货报告" android:text="理货报告"
android:textSize="14sp" android:textSize="14sp"
android:textStyle="bold" /> android:textStyle="bold"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="0dp" android:layout_width="0dp"
@@ -451,7 +477,8 @@
android:gravity="center" android:gravity="center"
android:text="品名(中)" android:text="品名(中)"
android:textSize="14sp" android:textSize="14sp"
android:textStyle="bold" /> android:textStyle="bold"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>

View File

@@ -17,9 +17,9 @@
android:id="@+id/ll" android:id="@+id/ll"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp" android:layout_marginHorizontal="10dp"
android:layout_marginVertical="5dp" android:layout_marginTop="10dp"
android:background="@drawable/bg_item" android:background="@drawable/bg_white_radius_8"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingVertical="20dp" android:paddingVertical="20dp"
@@ -31,13 +31,14 @@
android:layout_height="40dp" android:layout_height="40dp"
android:layout_gravity="center" android:layout_gravity="center"
loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}" loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}"
android:src="@drawable/img_plane" /> android:src="@drawable/img_plane"
android:layout_marginTop="0.5px" />
<!-- 数据展示区域 --> <!-- 数据展示区域 -->
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="10dp" android:layout_marginLeft="15dp"
android:layout_weight="1" android:layout_weight="1"
android:orientation="vertical"> android:orientation="vertical">
@@ -58,7 +59,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="运单号:" android:text="运单号:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -82,13 +84,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="代理人:" android:text="代理人:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.agentCode}" android:text="@{bean.agentCode}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -104,13 +108,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="航班信息:" android:text="航班信息:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.flightInfo}" android:text="@{bean.flightInfo}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -126,13 +132,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="件数:" android:text="件数:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.valueOf(bean.pc)}" android:text="@{String.valueOf(bean.pc)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -148,13 +156,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="重量:" android:text="重量:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.valueOf((int)bean.weight)}" android:text="@{String.valueOf((int)bean.weight)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -178,13 +188,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="特码:" android:text="特码:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.spCode}" android:text="@{bean.spCode}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -200,13 +212,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="库位:" android:text="库位:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.locationInStore}" android:text="@{bean.locationInStore}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -222,13 +236,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="办理时间:" android:text="办理时间:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.chargeTime}" android:text="@{bean.chargeTime}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -244,7 +260,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="品名(中)" android:text="品名(中)"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="0dp" android:layout_width="0dp"
@@ -253,7 +270,8 @@
android:ellipsize="end" android:ellipsize="end"
android:maxLines="1" android:maxLines="1"
android:text="@{bean.goods}" android:text="@{bean.goods}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>

View File

@@ -17,8 +17,8 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp" android:layout_marginHorizontal="10dp"
android:layout_marginVertical="5dp" android:layout_marginTop="10dp"
android:orientation="vertical"> android:orientation="vertical">
<!-- 侧滑布局 --> <!-- 侧滑布局 -->
@@ -32,7 +32,7 @@
android:id="@+id/ll" android:id="@+id/ll"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/bg_item" android:background="@drawable/bg_white_radius_8"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingVertical="20dp" android:paddingVertical="20dp"
@@ -44,13 +44,14 @@
android:layout_height="40dp" android:layout_height="40dp"
android:layout_gravity="center" android:layout_gravity="center"
loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}" loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}"
android:src="@drawable/img_plane" /> android:src="@drawable/img_plane"
android:layout_marginTop="0.5px" />
<!-- 数据展示区域 --> <!-- 数据展示区域 -->
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="10dp" android:layout_marginLeft="15dp"
android:layout_weight="1" android:layout_weight="1"
android:orientation="vertical"> android:orientation="vertical">
@@ -71,14 +72,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="运单号:" android:text="运单号:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.wbNo}" android:text="@{bean.wbNo}"
android:textColor="@color/colorPrimary" android:textColor="@color/colorPrimary"
android:textSize="15sp" /> android:textSize="15sp"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -94,13 +97,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="件数:" android:text="件数:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.valueOf(bean.pc)}" android:text="@{String.valueOf(bean.pc)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -116,13 +121,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="重量:" android:text="重量:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.valueOf((int)bean.weight)}" android:text="@{String.valueOf((int)bean.weight)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -138,13 +145,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="计费重量:" android:text="计费重量:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.valueOf((int)bean.cashWeight)}" android:text="@{String.valueOf((int)bean.cashWeight)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -160,13 +169,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="代理:" android:text="代理:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.agentCode}" android:text="@{bean.agentCode}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -190,13 +201,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="特码:" android:text="特码:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.spCode}" android:text="@{bean.spCode}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -212,13 +225,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="服务费:" android:text="服务费:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.valueOf((int)bean.optCharge)}" android:text="@{String.valueOf((int)bean.optCharge)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -234,13 +249,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="仓储费:" android:text="仓储费:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.valueOf((int)bean.whsCharge)}" android:text="@{String.valueOf((int)bean.whsCharge)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -256,13 +273,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="总金额:" android:text="总金额:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.valueOf((int)bean.amount)}" android:text="@{String.valueOf((int)bean.amount)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -278,13 +297,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="提取时间:" android:text="提取时间:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.chargeTime}" android:text="@{bean.chargeTime}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>

View File

@@ -12,8 +12,8 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp" android:layout_marginHorizontal="10dp"
android:layout_marginVertical="5dp" android:layout_marginTop="10dp"
android:orientation="vertical"> android:orientation="vertical">
<!-- 侧滑布局 --> <!-- 侧滑布局 -->
@@ -27,7 +27,7 @@
android:id="@+id/ll" android:id="@+id/ll"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/bg_item" android:background="@drawable/bg_white_radius_8"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingVertical="20dp" android:paddingVertical="20dp"
android:paddingHorizontal="10dp"> android:paddingHorizontal="10dp">
@@ -36,12 +36,13 @@
android:layout_width="40dp" android:layout_width="40dp"
android:layout_height="40dp" android:layout_height="40dp"
android:layout_gravity="center" android:layout_gravity="center"
android:src="@drawable/img_plane" /> android:src="@drawable/img_plane"
android:layout_marginTop="0.5px" />
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="10dp" android:layout_marginLeft="15dp"
android:layout_weight="1" android:layout_weight="1"
android:orientation="vertical"> android:orientation="vertical">
@@ -62,7 +63,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="运单号:" /> android:text="运单号:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -70,7 +72,8 @@
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.wbNo}" android:text="@{bean.wbNo}"
android:textColor="@color/colorPrimary" android:textColor="@color/colorPrimary"
tools:text="78109081212" /> tools:text="78109081212"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -86,14 +89,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{3}" completeSpace="@{3}"
android:text="件数:" /> android:text="件数:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{String.valueOf(bean.inPc)}' android:text='@{String.valueOf(bean.inPc)}'
tools:text="10" /> tools:text="10"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -109,14 +114,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="重量:" /> android:text="重量:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{String.valueOf(bean.inWeight)}' android:text='@{String.valueOf(bean.inWeight)}'
tools:text="200" /> tools:text="200"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -132,14 +139,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="代理人:" /> android:text="代理人:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{bean.agentName}' android:text='@{bean.agentName}'
tools:text="SF" /> tools:text="SF"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -155,14 +164,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="航班信息:" /> android:text="航班信息:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{bean.flight}' android:text='@{bean.flight}'
tools:text="20240216/MU2026" /> tools:text="20240216/MU2026"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -186,14 +197,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="航程:" /> android:text="航程:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.range}" android:text="@{bean.range}"
tools:text="LAX-HFE" /> tools:text="LAX-HFE"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -209,14 +222,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{3}" completeSpace="@{3}"
android:text="特码:" /> android:text="特码:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.spCode}" android:text="@{bean.spCode}"
tools:text="NOR" /> tools:text="NOR"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -232,14 +247,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="运单类型:" /> android:text="运单类型:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{bean.awbName}' android:text='@{bean.awbName}'
tools:text="国际进港" /> tools:text="国际进港"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -255,14 +272,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="入库时间:" /> android:text="入库时间:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{bean.inDate}' android:text='@{bean.inDate}'
tools:text="2024-05-13 17:10:22" /> tools:text="2024-05-13 17:10:22"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@@ -278,14 +297,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="出库时间:" /> android:text="出库时间:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text='@{bean.dlvTime}' android:text='@{bean.dlvTime}'
tools:text="2024-05-13 17:10:22" /> tools:text="2024-05-13 17:10:22"
android:textColor="@color/text_normal" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>

View File

@@ -34,7 +34,7 @@
android:layout_weight="0.5" android:layout_weight="0.5"
android:gravity="center" android:gravity="center"
android:text="@{String.valueOf(position + 1)}" android:text="@{String.valueOf(position + 1)}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 库位号 --> <!-- 库位号 -->
@@ -44,7 +44,7 @@
android:layout_weight="1.5" android:layout_weight="1.5"
android:gravity="center" android:gravity="center"
android:text="@{bean.location ?? `--`}" android:text="@{bean.location ?? `--`}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 入库人 --> <!-- 入库人 -->
@@ -54,7 +54,7 @@
android:layout_weight="1" android:layout_weight="1"
android:gravity="center" android:gravity="center"
android:text="@{bean.inOpName != null ? bean.inOpName : (bean.inOpId ?? `--`)}" android:text="@{bean.inOpName != null ? bean.inOpName : (bean.inOpId ?? `--`)}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 入库时间 --> <!-- 入库时间 -->
@@ -64,7 +64,7 @@
android:layout_weight="1.5" android:layout_weight="1.5"
android:gravity="center" android:gravity="center"
android:text="@{bean.inDate != null &amp;&amp; bean.inDate.length() >= 16 ? bean.inDate.substring(0, 16) : (bean.inDate != null &amp;&amp; bean.inDate.length() > 0 ? bean.inDate : `--`)}" android:text="@{bean.inDate != null &amp;&amp; bean.inDate.length() >= 16 ? bean.inDate.substring(0, 16) : (bean.inDate != null &amp;&amp; bean.inDate.length() > 0 ? bean.inDate : `--`)}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 出库人 --> <!-- 出库人 -->
@@ -74,7 +74,7 @@
android:layout_weight="1" android:layout_weight="1"
android:gravity="center" android:gravity="center"
android:text="@{bean.outOpName != null ? bean.outOpName : (bean.outOpId ?? `--`)}" android:text="@{bean.outOpName != null ? bean.outOpName : (bean.outOpId ?? `--`)}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 出库时间 --> <!-- 出库时间 -->
@@ -84,7 +84,7 @@
android:layout_weight="1.5" android:layout_weight="1.5"
android:gravity="center" android:gravity="center"
android:text="@{bean.outDate != null &amp;&amp; bean.outDate.length() >= 16 ? bean.outDate.substring(0, 16) : (bean.outDate ?? ``)}" android:text="@{bean.outDate != null &amp;&amp; bean.outDate.length() >= 16 ? bean.outDate.substring(0, 16) : (bean.outDate ?? ``)}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
</LinearLayout> </LinearLayout>
@@ -93,7 +93,7 @@
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1px" android:layout_height="1px"
android:background="@color/line" /> android:background="@color/sub_list_divider" />
</LinearLayout> </LinearLayout>
</layout> </layout>

View File

@@ -34,7 +34,7 @@
android:layout_weight="0.5" android:layout_weight="0.5"
android:gravity="center" android:gravity="center"
android:text="@{String.valueOf(position + 1)}" android:text="@{String.valueOf(position + 1)}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 件数 --> <!-- 件数 -->
@@ -44,7 +44,7 @@
android:layout_weight="0.8" android:layout_weight="0.8"
android:gravity="center" android:gravity="center"
android:text="@{bean.pc != null ? String.valueOf(bean.pc) : ``}" android:text="@{bean.pc != null ? String.valueOf(bean.pc) : ``}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 重量 --> <!-- 重量 -->
@@ -54,7 +54,7 @@
android:layout_weight="0.8" android:layout_weight="0.8"
android:gravity="center" android:gravity="center"
android:text="@{bean.weight ?? ``}" android:text="@{bean.weight ?? ``}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 航班日期 --> <!-- 航班日期 -->
@@ -64,7 +64,7 @@
android:layout_weight="1" android:layout_weight="1"
android:gravity="center" android:gravity="center"
android:text="@{bean.fdate ?? ``}" android:text="@{bean.fdate ?? ``}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 航班号 --> <!-- 航班号 -->
@@ -74,7 +74,7 @@
android:layout_weight="1" android:layout_weight="1"
android:gravity="center" android:gravity="center"
android:text="@{bean.fno ?? ``}" android:text="@{bean.fno ?? ``}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 分批 --> <!-- 分批 -->
@@ -84,7 +84,7 @@
android:layout_weight="0.6" android:layout_weight="0.6"
android:gravity="center" android:gravity="center"
android:text="@{bean.splitFlag != null &amp;&amp; bean.splitFlag.length() > 0 ? bean.splitFlag : `1`}" android:text="@{bean.splitFlag != null &amp;&amp; bean.splitFlag.length() > 0 ? bean.splitFlag : `1`}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- 入库时间(取 opDate --> <!-- 入库时间(取 opDate -->
@@ -94,7 +94,7 @@
android:layout_weight="1.3" android:layout_weight="1.3"
android:gravity="center" android:gravity="center"
android:text="@{bean.opDate != null &amp;&amp; bean.opDate.length() >= 16 ? bean.opDate.substring(0, 16) : (bean.opDate ?? ``)}" android:text="@{bean.opDate != null &amp;&amp; bean.opDate.length() >= 16 ? bean.opDate.substring(0, 16) : (bean.opDate ?? ``)}"
android:textColor="@android:color/black" android:textColor="@color/text_normal"
android:textSize="14sp" /> android:textSize="14sp" />
</LinearLayout> </LinearLayout>
@@ -103,7 +103,7 @@
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1px" android:layout_height="1px"
android:background="@color/line" /> android:background="@color/sub_list_divider" />
</LinearLayout> </LinearLayout>
</layout> </layout>

View File

@@ -47,7 +47,6 @@
android:layout_width="40dp" android:layout_width="40dp"
android:layout_height="40dp" android:layout_height="40dp"
android:layout_marginTop="0.5px" android:layout_marginTop="0.5px"
android:layout_marginEnd="10dp"
android:src="@drawable/img_plane" /> android:src="@drawable/img_plane" />
<!-- 数据展示区域 --> <!-- 数据展示区域 -->
@@ -55,7 +54,8 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:orientation="vertical"> android:orientation="vertical"
android:layout_marginLeft="15dp">
<!-- 第一行:运单号、航班信息、航程、品名、重量 --> <!-- 第一行:运单号、航班信息、航程、品名、重量 -->
<LinearLayout <LinearLayout
@@ -75,14 +75,16 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="运单号:" android:text="运单号:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.wbNo}" android:text="@{bean.wbNo}"
android:textColor="@color/colorPrimary" android:textColor="@color/colorPrimary"
android:textSize="15sp" /> android:textSize="15sp"
android:textStyle="bold" />
</LinearLayout> </LinearLayout>
@@ -98,13 +100,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="航班信息:" android:text="航班信息:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.flightInfo}" android:text="@{bean.flightInfo}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -120,13 +124,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="航程:" android:text="航程:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.range}" android:text="@{bean.range}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -142,13 +148,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="件数:" android:text="件数:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.pcLabel ?? String.valueOf(bean.pc)}" android:text="@{bean.pcLabel ?? String.valueOf(bean.pc)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -164,13 +172,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="重量:" android:text="重量:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.valueOf((int)bean.weight)}" android:text="@{String.valueOf((int)bean.weight)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -195,13 +205,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="代理人:" android:text="代理人:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.agentCode}" android:text="@{bean.agentCode}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -217,7 +229,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="品名(英)" android:text="品名(英)"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -225,7 +238,8 @@
android:ellipsize="end" android:ellipsize="end"
android:maxLines="1" android:maxLines="1"
android:text="@{bean.goods}" android:text="@{bean.goods}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -242,7 +256,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="清仓正常:" android:text="清仓正常:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -269,13 +284,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="入库时间:" android:text="入库时间:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{bean.inDate}" android:text="@{bean.inDate}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -291,18 +308,45 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="库位数:" android:text="库位数:"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.valueOf(bean.storageUseNumber)}" android:text="@{String.valueOf(bean.storageUseNumber)}"
android:textSize="15sp" /> android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
<!-- 第三行:清仓备注(独占整行) -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
completeSpace="@{4}"
android:text="备注:"
android:textSize="15sp"
android:textColor="@color/text_normal" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@{bean.clearRemark}"
android:textSize="15sp"
android:textColor="@color/text_normal" />
</LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>

View File

@@ -86,14 +86,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="运单号:" /> android:text="运单号:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.getWaybillNo()}" android:text="@{bean.getWaybillNo()}"
android:textColor="@color/colorPrimary" /> android:textColor="@color/colorPrimary"
android:textStyle="bold" />
</LinearLayout> </LinearLayout>
@@ -110,7 +112,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="状态:" /> android:text="状态:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -138,13 +141,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="代理:" /> android:text="代理:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.agentCode}" /> android:text="@{bean.agentCode}"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -161,13 +166,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="件数:" /> android:text="件数:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{String.valueOf(bean.pc)}" /> android:text="@{String.valueOf(bean.pc)}"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -184,13 +191,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="重量:" /> android:text="重量:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{String.valueOf((int)bean.weight)}" /> android:text="@{String.valueOf((int)bean.weight)}"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -217,13 +226,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="航班信息:" /> android:text="航班信息:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.getFlightSplit()}" /> android:text="@{bean.getFlightSplit()}"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -240,13 +251,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="始发站:" /> android:text="始发站:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.origin}" /> android:text="@{bean.origin}"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -263,13 +276,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="目的站:" /> android:text="目的站:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.dest}" /> android:text="@{bean.dest}"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -286,13 +301,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{5}" completeSpace="@{5}"
android:text="运单类型:" /> android:text="运单类型:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{bean.awbTypeName}" /> android:text="@{bean.awbTypeName}"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -309,13 +326,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
completeSpace="@{4}" completeSpace="@{4}"
android:text="分单数:" /> android:text="分单数:"
android:textColor="@color/text_normal" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="15sp" android:textSize="15sp"
android:text="@{String.valueOf(bean.haWbNum)}" /> android:text="@{String.valueOf(bean.haWbNum)}"
android:textColor="@color/text_normal" />
</LinearLayout> </LinearLayout>
@@ -329,7 +348,8 @@
android:layout_width="30dp" android:layout_width="30dp"
android:layout_height="30dp" android:layout_height="30dp"
android:layout_gravity="center" android:layout_gravity="center"
android:src="@drawable/img_pda_right" /> android:src="@drawable/img_pda_right"
android:layout_marginLeft="10dp" />
</LinearLayout> </LinearLayout>

View File

@@ -64,7 +64,7 @@
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{4}" completeSpace="@{5}"
android:text="运单号:" /> android:text="运单号:" />
<TextView <TextView
@@ -262,7 +262,7 @@
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
completeSpace="@{4}" completeSpace="@{5}"
android:text="重量:" /> android:text="重量:" />
<TextView <TextView

View File

@@ -41,7 +41,7 @@ class HbFlightEditViewModel : BaseViewModel() {
val fdest = MutableLiveData("") val fdest = MutableLiveData("")
val countryType = MutableLiveData("") val countryType = MutableLiveData("")
val serviceType = MutableLiveData("") val serviceType = MutableLiveData("")
val status = MutableLiveData("") val portCode = MutableLiveData("")
val scheduledTackOff = MutableLiveData("") val scheduledTackOff = MutableLiveData("")
val estimatedTakeOff = MutableLiveData("") val estimatedTakeOff = MutableLiveData("")
val actualTakeOff = MutableLiveData("") val actualTakeOff = MutableLiveData("")
@@ -50,56 +50,32 @@ class HbFlightEditViewModel : BaseViewModel() {
val actualArrival = MutableLiveData("") val actualArrival = MutableLiveData("")
val standId = MutableLiveData("") val standId = MutableLiveData("")
val registration = MutableLiveData("") val registration = MutableLiveData("")
val prefix = MutableLiveData("")
val flightStatus = MutableLiveData("") val flightStatus = MutableLiveData("")
val cmFlag = MutableLiveData("")
val delayFreeText = MutableLiveData("") val delayFreeText = MutableLiveData("")
// 表单已不展示的字段:编辑模式保留服务端原值原样回传,避免更新时被清空
private var status = ""
private var prefix = ""
private var cmFlag = ""
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// 下拉列表 // 下拉列表
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
val countryTypeList = MutableLiveData<List<KeyValue>>(emptyList()) val countryTypeList = MutableLiveData<List<KeyValue>>(emptyList())
val serviceTypeList = MutableLiveData<List<KeyValue>>(emptyList()) val serviceTypeList = MutableLiveData<List<KeyValue>>(emptyList())
val statusList = MutableLiveData<List<KeyValue>>(emptyList())
val flightStatusList = MutableLiveData<List<KeyValue>>(emptyList()) val flightStatusList = MutableLiveData<List<KeyValue>>(emptyList())
val cmFlagList = MutableLiveData<List<KeyValue>>(emptyList()) val portCodeList = MutableLiveData<List<KeyValue>>(emptyList())
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// 选项定义(服务端入库/过滤用 code详情接口返回中文名回填时需反查 // 选项定义(服务端入库/过滤用 code详情接口返回中文名回填时需反查
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
private val countryTypeOptions = listOf(
KeyValue("国内", "0"),
KeyValue("国际", "1"),
KeyValue("地区", "2"),
KeyValue("混合", "3"),
)
private val serviceTypeOptions = listOf(
KeyValue("客机", "0"),
KeyValue("货机", "1"),
KeyValue("卡车", "2"),
)
private val statusOptions = listOf( private val statusOptions = listOf(
KeyValue("出港", "0"), KeyValue("出港", "0"),
KeyValue("进港", "1"), KeyValue("进港", "1"),
) )
private val flightStatusOptions = listOf(
KeyValue("正常", "0"),
KeyValue("登机", "1"),
KeyValue("登机结束", "2"),
KeyValue("起飞", "3"),
KeyValue("到达", "4"),
KeyValue("取消", "5"),
KeyValue("备降", "6"),
KeyValue("删除发布", "7"),
KeyValue("延误", "8"),
KeyValue("未知", "9"),
)
private val cmFlagOptions = listOf( private val cmFlagOptions = listOf(
KeyValue("有货邮", "0"), KeyValue("有货邮", "0"),
KeyValue("无货邮", "1"), KeyValue("无货邮", "1"),
@@ -138,9 +114,13 @@ class HbFlightEditViewModel : BaseViewModel() {
fdep.value = bean.fdep fdep.value = bean.fdep
jtz.value = bean.jtz jtz.value = bean.jtz
fdest.value = bean.fdest fdest.value = bean.fdest
countryType.value = toCode(countryTypeOptions, bean.countryType) // 枚举字段(地区类型/服务类型/航班状态/飞行状态)由详情接口返回中文名,
serviceType.value = toCode(serviceTypeOptions, bean.serviceType) // 统一在字典加载回调里转 code此处先原样存放
status.value = toCode(statusOptions, bean.status) countryType.value = bean.countryType
serviceType.value = bean.serviceType
flightStatus.value = bean.flightStatus
portCode.value = bean.portCode
status = toCode(statusOptions, bean.status)
scheduledTackOff.value = bean.scheduledTackOff scheduledTackOff.value = bean.scheduledTackOff
estimatedTakeOff.value = bean.estimatedTakeOff estimatedTakeOff.value = bean.estimatedTakeOff
actualTakeOff.value = bean.actualTakeOff actualTakeOff.value = bean.actualTakeOff
@@ -149,9 +129,8 @@ class HbFlightEditViewModel : BaseViewModel() {
actualArrival.value = bean.actualArrival actualArrival.value = bean.actualArrival
standId.value = bean.standId standId.value = bean.standId
registration.value = bean.registration registration.value = bean.registration
prefix.value = bean.prefix prefix = bean.prefix.noNull()
flightStatus.value = toCode(flightStatusOptions, bean.flightStatus) cmFlag = toCode(cmFlagOptions, bean.cmFlag)
cmFlag.value = toCode(cmFlagOptions, bean.cmFlag)
delayFreeText.value = bean.delayFreeText delayFreeText.value = bean.delayFreeText
} }
// 字典加载必须在编辑数据回填之后,保证 checkedValue 可用 // 字典加载必须在编辑数据回填之后,保证 checkedValue 可用
@@ -161,33 +140,36 @@ class HbFlightEditViewModel : BaseViewModel() {
} }
/** /**
* 加载下拉列表(编辑模式传 checkedValue 置顶选中项 * 加载下拉列表(四个数据源均来自 typeCode 字典接口
*/ */
private fun loadDictLists() { private fun loadDictLists() {
val isModify = pageType.value == DetailsPageType.Modify val isModify = pageType.value == DetailsPageType.Modify
DictUtils.getCountryTypeList( DictUtils.getCountryTypeList(addAll = false) { applyDict(it, countryType, countryTypeList, isModify) }
addAll = false, DictUtils.getFlightServiceTypeList(addAll = false) { applyDict(it, serviceType, serviceTypeList, isModify) }
checkedValue = if (isModify) countryType.value else null DictUtils.getFlightStatusList(addAll = false) { applyDict(it, flightStatus, flightStatusList, isModify) }
) { DictUtils.getFlightPortCodeList(addAll = false) { applyDict(it, portCode, portCodeList, isModify) }
countryTypeList.postValue(if (isModify) it else listOf(KeyValue("", "")) + it)
}
serviceTypeList.value =
buildStaticList(serviceTypeOptions, if (isModify) serviceType.value else null)
statusList.value =
buildStaticList(statusOptions, if (isModify) status.value else null)
flightStatusList.value =
buildStaticList(flightStatusOptions, if (isModify) flightStatus.value else null)
cmFlagList.value =
buildStaticList(cmFlagOptions, if (isModify) cmFlag.value else null)
} }
/** /**
* 值转 code详情接口可能返回中文名(如“国际”“客机”),统一转 code 用于回填与提交 * 字典就绪后:编辑模式把详情返回中文名统一转 code,再把列表交给下拉框
*
* 下拉框带 hintvalue 为空时自动停在 hint 项,因此新增模式无需补空项
*/
private fun applyDict(
list: List<KeyValue>,
field: MutableLiveData<String>,
listField: MutableLiveData<List<KeyValue>>,
isModify: Boolean,
) {
if (isModify) {
field.value = toCode(list, field.value)
}
listField.value = list
}
/**
* 值转 code详情接口返回的是中文名如“国际”“客机”“延误”统一转为 code 用于回填与提交
*/ */
private fun toCode(options: List<KeyValue>, raw: String?): String { private fun toCode(options: List<KeyValue>, raw: String?): String {
if (raw.isNullOrEmpty()) return "" if (raw.isNullOrEmpty()) return ""
@@ -196,16 +178,6 @@ class HbFlightEditViewModel : BaseViewModel() {
?: raw ?: raw
} }
/**
* 静态下拉列表:新增模式首位置空项;编辑模式将选中项置顶
*/
private fun buildStaticList(list: List<KeyValue>, checkedValue: String?): List<KeyValue> {
if (checkedValue.isNullOrEmpty()) {
return listOf(KeyValue("", "")) + list
}
return list.filter { it.value == checkedValue } + list.filter { it.value != checkedValue }
}
/** /**
* 保存 点击 * 保存 点击
*/ */
@@ -214,6 +186,12 @@ class HbFlightEditViewModel : BaseViewModel() {
if (flightNo.value.verifyNullOrEmpty("请输入航班号")) return if (flightNo.value.verifyNullOrEmpty("请输入航班号")) return
if (fdep.value.verifyNullOrEmpty("请输入始发港")) return if (fdep.value.verifyNullOrEmpty("请输入始发港")) return
if (fdest.value.verifyNullOrEmpty("请输入目的港")) return if (fdest.value.verifyNullOrEmpty("请输入目的港")) return
if (countryType.value.verifyNullOrEmpty("请选择地区类型")) return
if (serviceType.value.verifyNullOrEmpty("请选择服务类型")) return
if (scheduledTackOff.value.verifyNullOrEmpty("请选择计划起飞时间")) return
if (estimatedTakeOff.value.verifyNullOrEmpty("请选择预计起飞时间")) return
if (scheduledArrival.value.verifyNullOrEmpty("请选择计划降落时间")) return
if (estimatedArrival.value.verifyNullOrEmpty("请选择预计降落时间")) return
val isModify = pageType.value == DetailsPageType.Modify val isModify = pageType.value == DetailsPageType.Modify
val dep = fdep.value?.trim().noNull() val dep = fdep.value?.trim().noNull()
@@ -231,7 +209,6 @@ class HbFlightEditViewModel : BaseViewModel() {
"countryName" to countryTypeList.value "countryName" to countryTypeList.value
?.firstOrNull { it.value == countryType.value }?.key, ?.firstOrNull { it.value == countryType.value }?.key,
"serviceType" to serviceType.value, "serviceType" to serviceType.value,
"status" to status.value,
"scheduledTackOff" to scheduledTackOff.value, "scheduledTackOff" to scheduledTackOff.value,
"estimatedTakeOff" to estimatedTakeOff.value, "estimatedTakeOff" to estimatedTakeOff.value,
"actualTakeOff" to actualTakeOff.value, "actualTakeOff" to actualTakeOff.value,
@@ -240,13 +217,15 @@ class HbFlightEditViewModel : BaseViewModel() {
"actualArrival" to actualArrival.value, "actualArrival" to actualArrival.value,
"standId" to standId.value?.trim(), "standId" to standId.value?.trim(),
"registration" to registration.value?.trim(), "registration" to registration.value?.trim(),
"prefix" to prefix.value?.trim(), "portCode" to portCode.value,
"flightStatus" to flightStatus.value, "flightStatus" to flightStatus.value,
"cmFlag" to cmFlag.value,
"delayFreeText" to delayFreeText.value?.trim(), "delayFreeText" to delayFreeText.value?.trim(),
) )
if (isModify) { if (isModify) {
params["fid"] = fid.toLongOrNull() ?: fid params["fid"] = fid.toLongOrNull() ?: fid
params["status"] = status
params["prefix"] = prefix
params["cmFlag"] = cmFlag
} }
launchLoadingCollect({ launchLoadingCollect({

View File

@@ -125,7 +125,7 @@
</LinearLayout> </LinearLayout>
<!-- 第3行地区类型、服务类型、进出港 --> <!-- 第3行地区类型、服务类型、航班状态 -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -135,6 +135,7 @@
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew <com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
hint='@{"请选择地区类型"}' hint='@{"请选择地区类型"}'
list="@{viewModel.countryTypeList}" list="@{viewModel.countryTypeList}"
required="@{true}"
title='@{"地区类型"}' title='@{"地区类型"}'
titleLength="@{4}" titleLength="@{4}"
type="@{DataLayoutType.SPINNER}" type="@{DataLayoutType.SPINNER}"
@@ -146,6 +147,7 @@
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew <com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
hint='@{"请选择服务类型"}' hint='@{"请选择服务类型"}'
list="@{viewModel.serviceTypeList}" list="@{viewModel.serviceTypeList}"
required="@{true}"
title='@{"服务类型"}' title='@{"服务类型"}'
titleLength="@{4}" titleLength="@{4}"
type="@{DataLayoutType.SPINNER}" type="@{DataLayoutType.SPINNER}"
@@ -156,12 +158,12 @@
android:layout_weight="1" /> android:layout_weight="1" />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew <com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
hint='@{"请选择进出港"}' hint='@{"请选择航班状态"}'
list="@{viewModel.statusList}" list="@{viewModel.flightStatusList}"
title='@{"进出港"}' title='@{"航班状态"}'
titleLength="@{4}" titleLength="@{4}"
type="@{DataLayoutType.SPINNER}" type="@{DataLayoutType.SPINNER}"
value='@={viewModel.status}' value='@={viewModel.flightStatus}'
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="15dp" android:layout_marginStart="15dp"
@@ -169,7 +171,50 @@
</LinearLayout> </LinearLayout>
<!-- 第4行计划起飞、预计起飞、实际起飞 --> <!-- 第4行飞行状态、机位、机号 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
hint='@{"请选择飞行状态"}'
list="@{viewModel.portCodeList}"
title='@{"飞行状态"}'
titleLength="@{4}"
type="@{DataLayoutType.SPINNER}"
value='@={viewModel.portCode}'
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
hint='@{"请输入机位"}'
title='@{"机位"}'
titleLength="@{4}"
type="@{DataLayoutType.INPUT}"
value='@={viewModel.standId}'
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_weight="1" />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:id="@+id/registrationInput"
hint='@{"请输入机号"}'
title='@{"机号"}'
titleLength="@{4}"
type="@{DataLayoutType.INPUT}"
value='@={viewModel.registration}'
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_weight="1" />
</LinearLayout>
<!-- 第5行计划起飞、预计起飞、实际起飞 -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -178,6 +223,7 @@
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew <com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
hint='@{"请选择计划起飞时间"}' hint='@{"请选择计划起飞时间"}'
required="@{true}"
title='@{"计划起飞"}' title='@{"计划起飞"}'
titleLength="@{4}" titleLength="@{4}"
type="@{DataLayoutType.DATETIME}" type="@{DataLayoutType.DATETIME}"
@@ -188,6 +234,7 @@
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew <com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
hint='@{"请选择预计起飞时间"}' hint='@{"请选择预计起飞时间"}'
required="@{true}"
title='@{"预计起飞"}' title='@{"预计起飞"}'
titleLength="@{4}" titleLength="@{4}"
type="@{DataLayoutType.DATETIME}" type="@{DataLayoutType.DATETIME}"
@@ -210,7 +257,7 @@
</LinearLayout> </LinearLayout>
<!--5行:计划降落、预计降落、实际降落 --> <!--6行:计划降落、预计降落、实际降落 -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -219,6 +266,7 @@
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew <com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
hint='@{"请选择计划降落时间"}' hint='@{"请选择计划降落时间"}'
required="@{true}"
title='@{"计划降落"}' title='@{"计划降落"}'
titleLength="@{4}" titleLength="@{4}"
type="@{DataLayoutType.DATETIME}" type="@{DataLayoutType.DATETIME}"
@@ -229,6 +277,7 @@
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew <com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
hint='@{"请选择预计降落时间"}' hint='@{"请选择预计降落时间"}'
required="@{true}"
title='@{"预计降落"}' title='@{"预计降落"}'
titleLength="@{4}" titleLength="@{4}"
type="@{DataLayoutType.DATETIME}" type="@{DataLayoutType.DATETIME}"
@@ -251,78 +300,13 @@
</LinearLayout> </LinearLayout>
<!--6行:机位、机号、运单前缀 --> <!--7行:延误原因 -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:orientation="horizontal"> android:orientation="horizontal">
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
hint='@{"请输入机位"}'
title='@{"机位"}'
titleLength="@{4}"
type="@{DataLayoutType.INPUT}"
value='@={viewModel.standId}'
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:id="@+id/registrationInput"
hint='@{"请输入机号"}'
title='@{"机号"}'
titleLength="@{4}"
type="@{DataLayoutType.INPUT}"
value='@={viewModel.registration}'
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_weight="1" />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
hint='@{"请输入运单前缀"}'
title='@{"运单前缀"}'
titleLength="@{4}"
type="@{DataLayoutType.INPUT}"
value='@={viewModel.prefix}'
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_weight="1" />
</LinearLayout>
<!-- 第7行航班状态、货邮状态、延误原因 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
hint='@{"请选择航班状态"}'
list="@{viewModel.flightStatusList}"
title='@{"航班状态"}'
titleLength="@{4}"
type="@{DataLayoutType.SPINNER}"
value='@={viewModel.flightStatus}'
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
hint='@{"请选择货邮状态"}'
list="@{viewModel.cmFlagList}"
title='@{"货邮状态"}'
titleLength="@{4}"
type="@{DataLayoutType.SPINNER}"
value='@={viewModel.cmFlag}'
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_weight="1" />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew <com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
hint='@{"请输入延误原因"}' hint='@{"请输入延误原因"}'
title='@{"延误原因"}' title='@{"延误原因"}'
@@ -331,9 +315,14 @@
value='@={viewModel.delayFreeText}' value='@={viewModel.delayFreeText}'
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_weight="1" /> android:layout_weight="1" />
<Space
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_weight="2" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>