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 } } /**