diff --git a/module_gjc/src/main/java/com/lukouguoji/gjc/dialog/IntExpLoadResetDialogModel.kt b/module_gjc/src/main/java/com/lukouguoji/gjc/dialog/IntExpLoadResetDialogModel.kt new file mode 100644 index 0000000..e49ce6c --- /dev/null +++ b/module_gjc/src/main/java/com/lukouguoji/gjc/dialog/IntExpLoadResetDialogModel.kt @@ -0,0 +1,48 @@ +package com.lukouguoji.gjc.dialog + +import android.content.Context +import androidx.lifecycle.MutableLiveData +import com.lukouguoji.gjc.R +import com.lukouguoji.gjc.databinding.DialogIntExpLoadResetBinding +import com.lukouguoji.module_base.base.BaseDialogModel +import com.lukouguoji.module_base.ktx.verifyNullOrEmpty +import dev.utils.app.info.KeyValue + +/** + * 国际出港装载 - 状态重置对话框 + */ +class IntExpLoadResetDialogModel( + private val callback: (IntExpLoadResetDialogModel) -> Unit +) : BaseDialogModel(DIALOG_TYPE_CENTER) { + + val resetStatusList = MutableLiveData>() + val selectedResetStatus = MutableLiveData("") + var resetStatusCode: String? = null + + override fun layoutId(): Int = R.layout.dialog_int_exp_load_reset + + override fun onDialogCreated(context: Context) { + binding.model = this + initResetStatusList() + selectedResetStatus.observeForever { value -> + resetStatusCode = when (value) { + "01" -> "01" + "02" -> null + else -> null + } + } + } + + private fun initResetStatusList() { + resetStatusList.value = listOf( + KeyValue("正常", "01"), + KeyValue("未申报", "02") + ) + } + + fun onSaveClick() { + if (selectedResetStatus.value.verifyNullOrEmpty("请选择重置状态")) return + dismiss() + callback(this) + } +} diff --git a/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpLoadViewModel.kt b/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpLoadViewModel.kt index cf73e50..0683fa1 100644 --- a/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpLoadViewModel.kt +++ b/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpLoadViewModel.kt @@ -4,6 +4,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.viewModelScope import com.lukouguoji.gjc.R import com.lukouguoji.gjc.dialog.IntExpLoadDeleteDialogModel +import com.lukouguoji.gjc.dialog.IntExpLoadResetDialogModel import com.lukouguoji.gjc.holder.IntExpLoadViewHolder import com.lukouguoji.module_base.base.BasePageViewModel import com.lukouguoji.module_base.bean.GjcCheckInPage @@ -84,7 +85,7 @@ class IntExpLoadViewModel : BasePageViewModel() { } /** - * 状态重置 (批量操作) + * 状态重置 (批量操作) — 弹框选状态后调接口 */ fun resetDeclare() { val list = pageModel.rv?.commonAdapter()?.items as? List ?: return @@ -95,18 +96,26 @@ class IntExpLoadViewModel : BasePageViewModel() { return } - val param = GjcDeclareParam(loadList = selectedItems) - val requestData = param.toRequestBody() + val dialog = IntExpLoadResetDialogModel { dialogModel -> + val params = mutableMapOf( + "loadList" to selectedItems + ) + if (dialogModel.resetStatusCode != null) { + params["restStatus"] = dialogModel.resetStatusCode + } + val requestData = params.toRequestBody() - launchLoadingCollect({ NetApply.api.resetDeclare(requestData) }) { - onSuccess = { - showToast("状态重置成功") - viewModelScope.launch { - FlowBus.with(ConstantEvent.EVENT_REFRESH).emit("refresh") + launchLoadingCollect({ NetApply.api.resetDeclare(requestData) }) { + onSuccess = { + showToast("状态重置成功") + viewModelScope.launch { + FlowBus.with(ConstantEvent.EVENT_REFRESH).emit("refresh") + } + refresh() } - refresh() } } + dialog.show() } /** diff --git a/module_gjc/src/main/res/layout/dialog_int_exp_load_reset.xml b/module_gjc/src/main/res/layout/dialog_int_exp_load_reset.xml new file mode 100644 index 0000000..d17a181 --- /dev/null +++ b/module_gjc/src/main/res/layout/dialog_int_exp_load_reset.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +