refactor: 国际进港舱单列表改为通过FID查询
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -130,9 +130,62 @@ class IntImpManifestViewModel : BasePageViewModel() {
|
||||
|
||||
/**
|
||||
* 搜索按钮点击
|
||||
* 先查询航班信息获取FID,再刷新列表
|
||||
*/
|
||||
fun searchClick() {
|
||||
refresh()
|
||||
val fdate = flightDate.value
|
||||
val fno = flightNo.value
|
||||
if (!fdate.isNullOrEmpty() && !fno.isNullOrEmpty()) {
|
||||
val key = "$fdate-$fno"
|
||||
if (key != lastQueriedFlight || fid.isEmpty()) {
|
||||
// 先查询航班信息获取FID
|
||||
lastQueriedFlight = key
|
||||
launchLoadingCollect({
|
||||
NetApply.api.getGjFlightBean(
|
||||
mapOf(
|
||||
"fdate" to fdate,
|
||||
"fno" to fno,
|
||||
"ieFlag" to "I",
|
||||
).toRequestBody()
|
||||
)
|
||||
}) {
|
||||
onSuccess = {
|
||||
if (it.verifySuccess() && it.data != null) {
|
||||
val flight = it.data!!
|
||||
fid = flight.fid.noNull()
|
||||
fdep.value = flight.fdest.noNull()
|
||||
val list = mutableListOf(
|
||||
KeyValue(flight.fdep.noNull(), flight.fdep.noNull()),
|
||||
)
|
||||
if (!flight.jtz.isNullOrEmpty()) {
|
||||
list.add(KeyValue(flight.jtz.noNull(), flight.jtz.noNull()))
|
||||
}
|
||||
sendAddressList.value = list
|
||||
sendAddress.value = flight.fdep.noNull()
|
||||
} else {
|
||||
fid = ""
|
||||
fdep.value = ""
|
||||
sendAddressList.value = emptyList()
|
||||
sendAddress.value = ""
|
||||
showToast(it.msg.noNull("获取航班信息失败"))
|
||||
}
|
||||
refresh()
|
||||
}
|
||||
onFailed = { _, _ ->
|
||||
fid = ""
|
||||
fdep.value = ""
|
||||
sendAddressList.value = emptyList()
|
||||
sendAddress.value = ""
|
||||
refresh()
|
||||
}
|
||||
}
|
||||
} else {
|
||||
refresh()
|
||||
}
|
||||
} else {
|
||||
fid = ""
|
||||
refresh()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -274,12 +327,12 @@ class IntImpManifestViewModel : BasePageViewModel() {
|
||||
|
||||
/**
|
||||
* 获取数据(重写BasePageViewModel)
|
||||
* 通过FID查询列表,而不是直接通过航班号和航班日期
|
||||
*/
|
||||
override fun getData() {
|
||||
// 构建搜索条件
|
||||
// 构建搜索条件(使用FID代替fdate/fno)
|
||||
val filterParams = mapOf(
|
||||
"fdate" to flightDate.value?.ifEmpty { null },
|
||||
"fno" to flightNo.value?.ifEmpty { null },
|
||||
"fid" to fid.ifEmpty { null },
|
||||
"sendAddress" to sendAddress.value?.ifEmpty { null },
|
||||
"fdep" to fdep.value?.ifEmpty { null },
|
||||
"wbNo" to waybillNo.value?.ifEmpty { null }
|
||||
|
||||
Reference in New Issue
Block a user