fix: 组装页同 ULD 换装其他航班后左侧组装信息未刷新

同一 ULD 卸光原航班货物后改装另一航班的货,装货成功后航班号
仍停留在旧航班,左侧组装信息列表继续显示旧航班的 ULD。改为
装货成功后无条件将航班同步为本次所装运单的航班(卸货保持原
有仅为空时兜底逻辑)。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-29 16:23:56 +08:00
parent 23b4a5ec31
commit 31a1e1ceec

View File

@@ -745,10 +745,15 @@ class IntExpAssembleStartViewModel : BaseViewModel() {
reloadUldUseId(uldNo)
}
// 添加形式(全新 ULD时航班可能未从 ULD 查询接口获取,导致组装信息列表查不出;
// 仅在航班为空时用本次操作运单的航班信息兜底补全ULD 已带航班时保持原值不变。
if (assembleFlightNo.value.isNullOrEmpty() || assembleFlightDate.value.isNullOrEmpty()) {
if (operationFno.isNotEmpty() && operationFdate.isNotEmpty()) {
// 同步航班信息,保证左侧组装信息列表查询的是本次操作 ULD 所属航班:
// - 装货:装货决定该 ULD 归属哪个航班。若在同一 ULD 上先卸光原航班(如 MU0128)货物、
// 再装入另一航班(如 MU0205)的货,必须无条件把航班改为本次所装运单的航班,
// 否则 assembleFlightNo 仍停留在旧航班,左侧组装信息列表会继续显示旧航班的 ULD。
// - 卸货:卸货不改变 ULD 归属航班,沿用原有"仅航班为空时兜底补全"逻辑。
if (operationFno.isNotEmpty() && operationFdate.isNotEmpty()) {
val shouldUpdateFlight =
isLoad || assembleFlightNo.value.isNullOrEmpty() || assembleFlightDate.value.isNullOrEmpty()
if (shouldUpdateFlight) {
assembleFlightNo.value = operationFno
// 与 ULD 查询保持一致,只取年月日(去掉时间部分)
assembleFlightDate.value =