feat: 删除原因 dialog for 出港运抵/理货/装载
This commit is contained in:
@@ -3,8 +3,10 @@ package com.lukouguoji.gjc.viewModel
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.lukouguoji.gjc.R
|
||||
import com.lukouguoji.gjc.dialog.IntExpArriveDeleteDialogModel
|
||||
import com.lukouguoji.gjc.holder.IntExpArriveViewHolder
|
||||
import com.lukouguoji.module_base.base.BasePageViewModel
|
||||
import com.lukouguoji.module_base.bean.GjcDeclareParam
|
||||
import com.lukouguoji.module_base.bean.GjcMaWb
|
||||
import com.lukouguoji.module_base.common.Constant
|
||||
import com.lukouguoji.module_base.common.ConstantEvent
|
||||
@@ -16,6 +18,7 @@ import com.lukouguoji.module_base.ktx.launchLoadingCollect
|
||||
import com.lukouguoji.module_base.ktx.showToast
|
||||
import com.lukouguoji.module_base.ktx.toRequestBody
|
||||
import com.lukouguoji.module_base.model.ScanModel
|
||||
import dev.utils.app.info.KeyValue
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
/**
|
||||
@@ -114,7 +117,48 @@ class IntExpArriveViewModel : BasePageViewModel() {
|
||||
* 删除申报
|
||||
*/
|
||||
fun deleteDeclareClick() {
|
||||
val list = pageModel.rv?.commonAdapter()?.items as? List<GjcMaWb> ?: return
|
||||
val selectedItems = list.filter { it.isSelected }
|
||||
|
||||
// if (selectedItems.isEmpty()) {
|
||||
// showToast("请选择要删除申报的记录")
|
||||
// return
|
||||
// }
|
||||
|
||||
// 准备变更原因列表(示例数据,可根据实际需求调整)
|
||||
val changeReasonList = listOf(
|
||||
KeyValue("01", "运单号错误"),
|
||||
KeyValue("02", "件数或重量错误"),
|
||||
KeyValue("03", "货物信息错误"),
|
||||
KeyValue("04", "航班信息错误"),
|
||||
KeyValue("99", "其他原因")
|
||||
)
|
||||
|
||||
// 创建并显示弹框
|
||||
val dialog = IntExpArriveDeleteDialogModel(changeReasonList) { dialogModel ->
|
||||
// 弹框确认后的回调
|
||||
val param = GjcDeclareParam(
|
||||
dcode = dialogModel.changeReason.value,
|
||||
dcontactsName = dialogModel.contactName.value,
|
||||
dcontactsTel = dialogModel.contactPhone.value,
|
||||
maWbList = selectedItems
|
||||
)
|
||||
|
||||
val requestData = param.toRequestBody()
|
||||
|
||||
// 调用删除接口
|
||||
launchLoadingCollect({ NetApply.api.deleteArriveDeclare(requestData) }) {
|
||||
onSuccess = {
|
||||
showToast("删除申报成功")
|
||||
viewModelScope.launch {
|
||||
FlowBus.with<String>(ConstantEvent.EVENT_REFRESH).emit("refresh")
|
||||
}
|
||||
refresh()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dialog.show()
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.lukouguoji.gjc.viewModel
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.lukouguoji.gjc.R
|
||||
import com.lukouguoji.gjc.dialog.IntExpLoadDeleteDialogModel
|
||||
import com.lukouguoji.gjc.holder.IntExpLoadViewHolder
|
||||
import com.lukouguoji.module_base.base.BasePageViewModel
|
||||
import com.lukouguoji.module_base.bean.GjcCheckInPage
|
||||
@@ -18,6 +19,7 @@ import com.lukouguoji.module_base.ktx.launchLoadingCollect
|
||||
import com.lukouguoji.module_base.ktx.showToast
|
||||
import com.lukouguoji.module_base.ktx.toRequestBody
|
||||
import com.lukouguoji.module_base.model.ScanModel
|
||||
import dev.utils.app.info.KeyValue
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
/**
|
||||
@@ -141,10 +143,50 @@ class IntExpLoadViewModel : BasePageViewModel() {
|
||||
|
||||
/**
|
||||
* 删除申报 (批量操作)
|
||||
* TODO: 待实现
|
||||
*/
|
||||
fun deleteLoad() {
|
||||
// 暂不实现,预留接口
|
||||
val list = pageModel.rv?.commonAdapter()?.items as? List<GjcExportLoad> ?: return
|
||||
val selectedItems = list.filter { it.isSelected }
|
||||
|
||||
// if (selectedItems.isEmpty()) {
|
||||
// showToast("请选择要删除申报的记录")
|
||||
// return
|
||||
// }
|
||||
|
||||
// 准备变更原因列表(示例数据,可根据实际需求调整)
|
||||
val changeReasonList = listOf(
|
||||
KeyValue("01", "运单号错误"),
|
||||
KeyValue("02", "件数或重量错误"),
|
||||
KeyValue("03", "货物信息错误"),
|
||||
KeyValue("04", "航班信息错误"),
|
||||
KeyValue("99", "其他原因")
|
||||
)
|
||||
|
||||
// 创建并显示弹框
|
||||
val dialog = IntExpLoadDeleteDialogModel(changeReasonList) { dialogModel ->
|
||||
// 弹框确认后的回调
|
||||
val param = GjcDeclareParam(
|
||||
dcode = dialogModel.changeReason.value,
|
||||
dcontactsName = dialogModel.contactName.value,
|
||||
dcontactsTel = dialogModel.contactPhone.value,
|
||||
loadList = selectedItems
|
||||
)
|
||||
|
||||
val requestData = param.toRequestBody()
|
||||
|
||||
// 调用删除接口
|
||||
launchLoadingCollect({ NetApply.api.deleteLoadDeclare(requestData) }) {
|
||||
onSuccess = {
|
||||
showToast("删除申报成功")
|
||||
viewModelScope.launch {
|
||||
FlowBus.with<String>(ConstantEvent.EVENT_REFRESH).emit("refresh")
|
||||
}
|
||||
refresh()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dialog.show()
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,9 +3,11 @@ package com.lukouguoji.gjc.viewModel
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.lukouguoji.gjc.R
|
||||
import com.lukouguoji.gjc.dialog.IntExpTallyDeleteDialogModel
|
||||
import com.lukouguoji.gjc.holder.IntExpTallyViewHolder
|
||||
import com.lukouguoji.module_base.base.BasePageViewModel
|
||||
import com.lukouguoji.module_base.bean.GjcCheckInPage
|
||||
import com.lukouguoji.module_base.bean.GjcDeclareParam
|
||||
import com.lukouguoji.module_base.bean.GjcMaWb
|
||||
import com.lukouguoji.module_base.common.Constant
|
||||
import com.lukouguoji.module_base.common.ConstantEvent
|
||||
@@ -17,6 +19,7 @@ import com.lukouguoji.module_base.ktx.launchLoadingCollect
|
||||
import com.lukouguoji.module_base.ktx.showToast
|
||||
import com.lukouguoji.module_base.ktx.toRequestBody
|
||||
import com.lukouguoji.module_base.model.ScanModel
|
||||
import dev.utils.app.info.KeyValue
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
/**
|
||||
@@ -138,10 +141,50 @@ class IntExpTallyViewModel : BasePageViewModel() {
|
||||
|
||||
/**
|
||||
* 删除申报 (批量操作)
|
||||
* TODO: 待实现
|
||||
*/
|
||||
fun deleteTally() {
|
||||
// 暂不实现,预留接口
|
||||
val list = pageModel.rv?.commonAdapter()?.items as? List<GjcMaWb> ?: return
|
||||
val selectedItems = list.filter { it.isSelected }
|
||||
|
||||
// if (selectedItems.isEmpty()) {
|
||||
// showToast("请选择要删除申报的记录")
|
||||
// return
|
||||
// }
|
||||
|
||||
// 准备变更原因列表(示例数据,可根据实际需求调整)
|
||||
val changeReasonList = listOf(
|
||||
KeyValue("01", "运单号错误"),
|
||||
KeyValue("02", "件数或重量错误"),
|
||||
KeyValue("03", "货物信息错误"),
|
||||
KeyValue("04", "航班信息错误"),
|
||||
KeyValue("99", "其他原因")
|
||||
)
|
||||
|
||||
// 创建并显示弹框
|
||||
val dialog = IntExpTallyDeleteDialogModel(changeReasonList) { dialogModel ->
|
||||
// 弹框确认后的回调
|
||||
val param = GjcDeclareParam(
|
||||
dcode = dialogModel.changeReason.value,
|
||||
dcontactsName = dialogModel.contactName.value,
|
||||
dcontactsTel = dialogModel.contactPhone.value,
|
||||
maWbList = selectedItems
|
||||
)
|
||||
|
||||
val requestData = param.toRequestBody()
|
||||
|
||||
// 调用删除接口
|
||||
launchLoadingCollect({ NetApply.api.deleteTallyDeclare(requestData) }) {
|
||||
onSuccess = {
|
||||
showToast("删除申报成功")
|
||||
viewModelScope.launch {
|
||||
FlowBus.with<String>(ConstantEvent.EVENT_REFRESH).emit("refresh")
|
||||
}
|
||||
refresh()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dialog.show()
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user