fix: 出港装载列表始发站锁定、目的站改为下拉可选
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -35,9 +35,9 @@ class IntExpLoadViewModel : BasePageViewModel() {
|
|||||||
val flightDate = MutableLiveData<String>(DateUtils.getCurrentTime().formatDate()) // 航班日期
|
val flightDate = MutableLiveData<String>(DateUtils.getCurrentTime().formatDate()) // 航班日期
|
||||||
val flightNo = MutableLiveData("") // 航班号
|
val flightNo = MutableLiveData("") // 航班号
|
||||||
val waybillNo = MutableLiveData("") // 运单号
|
val waybillNo = MutableLiveData("") // 运单号
|
||||||
val depPort = MutableLiveData("") // 始发站(下拉选择)
|
val depPort = MutableLiveData("") // 始发站(航班查询自动填充,锁定不可编辑)
|
||||||
val depPortList = MutableLiveData<List<KeyValue>>(emptyList()) // 始发站下拉列表(始发港 + 经停港)
|
val destPort = MutableLiveData("") // 目的站(下拉选择)
|
||||||
val destPort = MutableLiveData("") // 目的站(航班查询自动填充,不可编辑)
|
val destPortList = MutableLiveData<List<KeyValue>>(emptyList()) // 目的站下拉列表(目的港 + 经停港)
|
||||||
|
|
||||||
// ========== 航班级联查询 ==========
|
// ========== 航班级联查询 ==========
|
||||||
private var lastQueriedFlight = "" // 避免重复查询
|
private var lastQueriedFlight = "" // 避免重复查询
|
||||||
@@ -59,7 +59,7 @@ class IntExpLoadViewModel : BasePageViewModel() {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 航班日期 + 航班号 均有值时,查询航班并填充始发站/目的站
|
* 航班日期 + 航班号 均有值时,查询航班并填充始发站/目的站
|
||||||
* 参考「电报生成」(/flt/intFlight):始发站下拉(始发港+经停港),目的站自动填充且只读
|
* 出港:始发站自动填充且锁定(始发港),目的站下拉可选(目的港+经停港)
|
||||||
*/
|
*/
|
||||||
private fun queryFlightIfReady() {
|
private fun queryFlightIfReady() {
|
||||||
val fdate = flightDate.value
|
val fdate = flightDate.value
|
||||||
@@ -82,25 +82,25 @@ class IntExpLoadViewModel : BasePageViewModel() {
|
|||||||
onSuccess = {
|
onSuccess = {
|
||||||
if (it.verifySuccess() && it.data != null) {
|
if (it.verifySuccess() && it.data != null) {
|
||||||
val flight = it.data!!
|
val flight = it.data!!
|
||||||
// 目的站:航班查询返回,自动填充
|
// 始发站:航班查询返回,自动填充并锁定
|
||||||
destPort.value = flight.fdest.noNull()
|
depPort.value = flight.fdep.noNull()
|
||||||
// 始发站下拉:始发港 + 经停港(可逗号分隔多个)
|
// 目的站下拉:目的港 + 经停港(可逗号分隔多个)
|
||||||
val list = mutableListOf(KeyValue(flight.fdep.noNull(), flight.fdep.noNull()))
|
val list = mutableListOf(KeyValue(flight.fdest.noNull(), flight.fdest.noNull()))
|
||||||
flight.jtz.split(",").forEach { stop ->
|
flight.jtz.split(",").forEach { stop ->
|
||||||
val s = stop.trim()
|
val s = stop.trim()
|
||||||
if (s.isNotEmpty()) list.add(KeyValue(s, s))
|
if (s.isNotEmpty()) list.add(KeyValue(s, s))
|
||||||
}
|
}
|
||||||
depPortList.value = list
|
destPortList.value = list
|
||||||
depPort.value = flight.fdep.noNull()
|
destPort.value = flight.fdest.noNull()
|
||||||
} else {
|
} else {
|
||||||
depPortList.value = emptyList()
|
destPortList.value = emptyList()
|
||||||
depPort.value = ""
|
depPort.value = ""
|
||||||
destPort.value = ""
|
destPort.value = ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onFailed = { _, _ ->
|
onFailed = { _, _ ->
|
||||||
depPortList.value = emptyList()
|
destPortList.value = emptyList()
|
||||||
depPort.value = ""
|
depPort.value = ""
|
||||||
destPort.value = ""
|
destPort.value = ""
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,24 +52,24 @@
|
|||||||
value="@={viewModel.flightNo}"
|
value="@={viewModel.flightNo}"
|
||||||
setUpperCaseAlphanumeric="@{true}" />
|
setUpperCaseAlphanumeric="@{true}" />
|
||||||
|
|
||||||
<!-- 始发站(下拉选择:始发港 + 经停港) -->
|
<!-- 始发站(航班查询自动填充,锁定不可编辑) -->
|
||||||
<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.SPINNER}"
|
|
||||||
list="@{viewModel.depPortList}"
|
|
||||||
value="@={viewModel.depPort}" />
|
|
||||||
|
|
||||||
<!-- 目的站(航班查询自动填充,不可编辑) -->
|
|
||||||
<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"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
enable="@{false}"
|
enable="@{false}"
|
||||||
hint='@{"目的站"}'
|
hint='@{"始发站"}'
|
||||||
type="@{SearchLayoutType.INPUT}"
|
type="@{SearchLayoutType.INPUT}"
|
||||||
|
value="@={viewModel.depPort}" />
|
||||||
|
|
||||||
|
<!-- 目的站(下拉选择:目的港 + 经停港) -->
|
||||||
|
<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.SPINNER}"
|
||||||
|
list="@{viewModel.destPortList}"
|
||||||
value="@={viewModel.destPort}" />
|
value="@={viewModel.destPort}" />
|
||||||
|
|
||||||
<!-- 运单号 -->
|
<!-- 运单号 -->
|
||||||
|
|||||||
Reference in New Issue
Block a user