feat: 国际出港 出港仓库 清仓

This commit is contained in:
2026-01-14 17:21:01 +08:00
parent 49151d0066
commit 557874ab88
8 changed files with 235 additions and 5 deletions

View File

@@ -1,20 +1,25 @@
package com.lukouguoji.gjc.viewModel
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.viewModelScope
import com.lukouguoji.gjc.R
import com.lukouguoji.gjc.holder.IntExpStorageUseViewHolder
import com.lukouguoji.module_base.base.BasePageViewModel
import com.lukouguoji.module_base.bean.GjcMaWb
import com.lukouguoji.module_base.common.Constant
import com.lukouguoji.module_base.common.ConstantEvent
import com.lukouguoji.module_base.http.net.NetApply
import com.lukouguoji.module_base.impl.FlowBus
import com.lukouguoji.module_base.ktx.commonAdapter
import com.lukouguoji.module_base.ktx.formatDate
import com.lukouguoji.module_base.ktx.launchCollect
import com.lukouguoji.module_base.ktx.launchLoadingCollect
import com.lukouguoji.module_base.ktx.noNull
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
import java.util.Date
/**
@@ -117,19 +122,43 @@ class IntExpStorageUseViewModel : BasePageViewModel() {
}
/**
* 清仓操作
* 清仓操作在Activity中调用会显示对话框
*/
fun clearStorage() {
// 由Activity显示对话框
}
/**
* 执行清仓操作
* @param clearNormal 清仓正常("0"或"1"
*/
fun performClear(clearNormal: String) {
val list = pageModel.rv?.commonAdapter()?.items as? List<GjcMaWb> ?: return
val selectedItems = list.filter { it.isSelected }
if (selectedItems.isEmpty()) {
showToast("选择要清仓的运单")
showToast("至少选择一条运单")
return
}
// TODO: 实现清仓接口调用
showToast("清仓功能待实现")
// 构建请求参数
val params = mapOf(
"clearNormal" to clearNormal,
"maWbList" to selectedItems
).toRequestBody()
launchLoadingCollect({ NetApply.api.clearIntExpStorage(params) }) {
onSuccess = {
showToast("清仓成功")
viewModelScope.launch {
FlowBus.with<String>(ConstantEvent.EVENT_REFRESH).emit("refresh")
}
refresh() // 刷新列表
}
onFailed = { _, msg ->
showToast(msg.noNull("清仓失败"))
}
}
}
/**