From 07ea8853f3259e28030863ee388974363891803a Mon Sep 17 00:00:00 2001 From: YANG JIANKUAN Date: Fri, 11 Sep 2026 16:20:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9B=BD=E9=99=85=E5=87=BA=E6=B8=AF?= =?UTF-8?q?=E5=BC=80=E5=A7=8B=E7=BB=84=E8=A3=85=E6=9D=BF=E5=9E=8B=E4=B8=8B?= =?UTF-8?q?=E6=8B=89=E5=AF=B9=E6=8E=A5=E5=90=8E=E7=AB=AF=E6=9D=BF=E5=9E=8B?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 进入页面调用 /typeCode/bordType 取全量板型,选中待组装运单后 以航班号前两位作 carrier 重新加载覆盖下拉数据源;后端 carrier 必填,无承运人时传空串。替换原 BOARDTYPE 字典实现。 Co-Authored-By: Claude Fable 5.1 --- .../java/com/lukouguoji/module_base/http/net/Api.kt | 8 ++++++++ .../java/com/lukouguoji/module_base/util/DictUtils.kt | 9 +++++---- .../gjc/viewModel/IntExpAssembleStartViewModel.kt | 10 +++++++--- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/module_base/src/main/java/com/lukouguoji/module_base/http/net/Api.kt b/module_base/src/main/java/com/lukouguoji/module_base/http/net/Api.kt index d89b2e0..212ef6c 100644 --- a/module_base/src/main/java/com/lukouguoji/module_base/http/net/Api.kt +++ b/module_base/src/main/java/com/lukouguoji/module_base/http/net/Api.kt @@ -574,6 +574,14 @@ interface Api { @POST("typeCode/assembleCompany") suspend fun getAssembleCompanyList(): BaseResultBean> + /** + * 获取板型下拉列表(国际出港组装-开始组装) + * 接口路径: /typeCode/bordType(后端路径即为 bordType,非 boardType,2026-09-11 实测 boardType 返回 404) + * @param carrier 承运人二字码(取待组装运单航班号前两位);该参数后端必填(缺省返回 400),进入页面时传空串 + */ + @POST("typeCode/bordType") + suspend fun getBoardTypeList(@Query("carrier") carrier: String): DictListBean + /** * 国际出港板箱过磅-分页搜索 * 接口路径: /IntExpWeighting/pageQuery diff --git a/module_base/src/main/java/com/lukouguoji/module_base/util/DictUtils.kt b/module_base/src/main/java/com/lukouguoji/module_base/util/DictUtils.kt index 8a53a3b..3170f62 100644 --- a/module_base/src/main/java/com/lukouguoji/module_base/util/DictUtils.kt +++ b/module_base/src/main/java/com/lukouguoji/module_base/util/DictUtils.kt @@ -627,15 +627,16 @@ object DictUtils { /** * 板型列表(国际出港组装-开始组装) - * 字典 code:BOARDTYPE;显示与提交均使用 value 字段 + * 接口 /typeCode/bordType + * @param carrier 承运人二字码(运单航班号前两位);为空时传空串(后端该参数必填,不传返回 400) */ - fun getBoardTypeList(callBack: (List) -> Unit) { + fun getBoardTypeList(carrier: String? = null, callBack: (List) -> Unit) { launchCollect({ NetApply.api - .getDictList("BOARDTYPE") + .getBoardTypeList(carrier?.trim() ?: "") }) { onSuccess = { - callBack((it.data ?: emptyList()).map { b -> KeyValue(b.value, b.value) }) + callBack(it.data?.map { b -> b.toKeyValue() } ?: emptyList()) } } } diff --git a/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpAssembleStartViewModel.kt b/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpAssembleStartViewModel.kt index b037493..3fb18d5 100644 --- a/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpAssembleStartViewModel.kt +++ b/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpAssembleStartViewModel.kt @@ -271,6 +271,9 @@ class IntExpAssembleStartViewModel : BaseViewModel() { assembleWeight = previousAssembleWeight operator = previousOperator // 从operator LiveData获取的值 } + + // 按该运单航班号前两位(承运人)重新加载板型选项,覆盖下拉数据源 + loadBoardTypeList(selectedWaybill.fno.trim().take(2)) } // 刷新列表 @@ -415,10 +418,11 @@ class IntExpAssembleStartViewModel : BaseViewModel() { /** - * 加载板型选项列表(字典) + * 加载板型选项列表 + * @param carrier 承运人二字码(待组装运单航班号前两位);进入页面时不传,选中运单后按承运人重新加载并覆盖数据源 */ - fun loadBoardTypeList() { - DictUtils.getBoardTypeList { boardTypeList.value = it } + fun loadBoardTypeList(carrier: String? = null) { + DictUtils.getBoardTypeList(carrier) { boardTypeList.value = it } } /**