From 2a83c1393e39ad9d6ceede8221e761e78f9e13a7 Mon Sep 17 00:00:00 2001 From: YANG JIANKUAN Date: Fri, 11 Sep 2026 14:23:02 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=88=AA=E7=8F=AD=E6=96=B0=E5=A2=9E/?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E8=A1=A8=E5=8D=95=E7=B2=BE=E7=AE=80=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E5=B9=B6=E8=A1=A5=E5=85=85=E5=BF=85=E5=A1=AB=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 去掉进出港、货邮状态、运单前缀三个输入项;地区类型、服务类型、 计划起飞、预计起飞、计划降落、预计降落改为必填并显示星号。 编辑模式下被移除字段仍原值回传,避免更新时被清空。 Co-Authored-By: Claude Fable 5.1 --- .../page/edit/HbFlightEditViewModel.kt | 34 +++++------ .../res/layout/activity_hb_flight_edit.xml | 61 ++++--------------- 2 files changed, 29 insertions(+), 66 deletions(-) diff --git a/module_hangban/src/main/java/com/lukouguoji/hangban/page/edit/HbFlightEditViewModel.kt b/module_hangban/src/main/java/com/lukouguoji/hangban/page/edit/HbFlightEditViewModel.kt index 7f51c9d..32cf5c3 100644 --- a/module_hangban/src/main/java/com/lukouguoji/hangban/page/edit/HbFlightEditViewModel.kt +++ b/module_hangban/src/main/java/com/lukouguoji/hangban/page/edit/HbFlightEditViewModel.kt @@ -41,7 +41,6 @@ class HbFlightEditViewModel : BaseViewModel() { val fdest = MutableLiveData("") val countryType = MutableLiveData("") val serviceType = MutableLiveData("") - val status = MutableLiveData("") val scheduledTackOff = MutableLiveData("") val estimatedTakeOff = MutableLiveData("") val actualTakeOff = MutableLiveData("") @@ -50,20 +49,21 @@ class HbFlightEditViewModel : BaseViewModel() { val actualArrival = MutableLiveData("") val standId = MutableLiveData("") val registration = MutableLiveData("") - val prefix = MutableLiveData("") val flightStatus = MutableLiveData("") - val cmFlag = MutableLiveData("") val delayFreeText = MutableLiveData("") + // 表单已不展示的字段:编辑模式保留服务端原值原样回传,避免更新时被清空 + private var status = "" + private var prefix = "" + private var cmFlag = "" + /////////////////////////////////////////////////////////////////////////// // 下拉列表 /////////////////////////////////////////////////////////////////////////// val countryTypeList = MutableLiveData>(emptyList()) val serviceTypeList = MutableLiveData>(emptyList()) - val statusList = MutableLiveData>(emptyList()) val flightStatusList = MutableLiveData>(emptyList()) - val cmFlagList = MutableLiveData>(emptyList()) /////////////////////////////////////////////////////////////////////////// // 选项定义(服务端入库/过滤用 code,详情接口返回中文名,回填时需反查) @@ -140,7 +140,7 @@ class HbFlightEditViewModel : BaseViewModel() { fdest.value = bean.fdest countryType.value = toCode(countryTypeOptions, bean.countryType) serviceType.value = toCode(serviceTypeOptions, bean.serviceType) - status.value = toCode(statusOptions, bean.status) + status = toCode(statusOptions, bean.status) scheduledTackOff.value = bean.scheduledTackOff estimatedTakeOff.value = bean.estimatedTakeOff actualTakeOff.value = bean.actualTakeOff @@ -149,9 +149,9 @@ class HbFlightEditViewModel : BaseViewModel() { actualArrival.value = bean.actualArrival standId.value = bean.standId registration.value = bean.registration - prefix.value = bean.prefix + prefix = bean.prefix.noNull() flightStatus.value = toCode(flightStatusOptions, bean.flightStatus) - cmFlag.value = toCode(cmFlagOptions, bean.cmFlag) + cmFlag = toCode(cmFlagOptions, bean.cmFlag) delayFreeText.value = bean.delayFreeText } // 字典加载必须在编辑数据回填之后,保证 checkedValue 可用 @@ -176,14 +176,8 @@ class HbFlightEditViewModel : BaseViewModel() { 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) } /** @@ -214,6 +208,12 @@ class HbFlightEditViewModel : BaseViewModel() { if (flightNo.value.verifyNullOrEmpty("请输入航班号")) return if (fdep.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 dep = fdep.value?.trim().noNull() @@ -231,7 +231,6 @@ class HbFlightEditViewModel : BaseViewModel() { "countryName" to countryTypeList.value ?.firstOrNull { it.value == countryType.value }?.key, "serviceType" to serviceType.value, - "status" to status.value, "scheduledTackOff" to scheduledTackOff.value, "estimatedTakeOff" to estimatedTakeOff.value, "actualTakeOff" to actualTakeOff.value, @@ -240,13 +239,14 @@ class HbFlightEditViewModel : BaseViewModel() { "actualArrival" to actualArrival.value, "standId" to standId.value?.trim(), "registration" to registration.value?.trim(), - "prefix" to prefix.value?.trim(), "flightStatus" to flightStatus.value, - "cmFlag" to cmFlag.value, "delayFreeText" to delayFreeText.value?.trim(), ) if (isModify) { params["fid"] = fid.toLongOrNull() ?: fid + params["status"] = status + params["prefix"] = prefix + params["cmFlag"] = cmFlag } launchLoadingCollect({ diff --git a/module_hangban/src/main/res/layout/activity_hb_flight_edit.xml b/module_hangban/src/main/res/layout/activity_hb_flight_edit.xml index 7018c29..f344c19 100644 --- a/module_hangban/src/main/res/layout/activity_hb_flight_edit.xml +++ b/module_hangban/src/main/res/layout/activity_hb_flight_edit.xml @@ -125,7 +125,7 @@ - + - + - - - - - - - - - - -