fix: 国际进港提取记录接口路径及字段对齐后端优化
- API路径 IntImpPickUpRecord/* 修正为 IntImpPickup/* - Bean字段名全部对齐后端schema(checkWeight→cashWeight等) - 请求参数名修正(paymentDateStart→beginDate, pageNum→page等) - 缴费日期起默认值设为当天 - 详情页改为携带列表数据,不再调用接口 - 运单号搜索框添加autoQuery自动查询 - 列表项布局按规范优化(箭头、列宽、completeSpace对齐) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -46,6 +46,16 @@ class IntImpPickUpRecordActivity :
|
||||
viewModel.refresh()
|
||||
}
|
||||
|
||||
// 运单号自动查询额外参数
|
||||
binding.pslWbNo.autoQueryConfig.extraParamsProvider = {
|
||||
mapOf(
|
||||
"beginDate" to viewModel.paymentDateStart.value,
|
||||
"endDate" to viewModel.paymentDateEnd.value,
|
||||
"agentCode" to viewModel.agentCode.value,
|
||||
"spCode" to viewModel.spCode.value
|
||||
)
|
||||
}
|
||||
|
||||
// 初始化下拉列表
|
||||
viewModel.initAgentList()
|
||||
viewModel.initSpecialCodeList()
|
||||
|
||||
@@ -3,10 +3,12 @@ package com.lukouguoji.gjj.activity
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import com.google.gson.Gson
|
||||
import com.lukouguoji.gjj.R
|
||||
import com.lukouguoji.gjj.databinding.ActivityIntImpPickUpRecordDetailsBinding
|
||||
import com.lukouguoji.gjj.viewModel.IntImpPickUpRecordDetailsViewModel
|
||||
import com.lukouguoji.module_base.base.BaseBindingActivity
|
||||
import com.lukouguoji.module_base.bean.IntImpPickUpRecordBean
|
||||
import com.lukouguoji.module_base.common.Constant
|
||||
|
||||
/**
|
||||
@@ -26,9 +28,9 @@ class IntImpPickUpRecordDetailsActivity :
|
||||
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun start(context: Context, id: Long) {
|
||||
fun start(context: Context, bean: IntImpPickUpRecordBean) {
|
||||
val starter = Intent(context, IntImpPickUpRecordDetailsActivity::class.java)
|
||||
.putExtra(Constant.Key.ID, id)
|
||||
.putExtra(Constant.Key.DATA, Gson().toJson(bean))
|
||||
context.startActivity(starter)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ class IntImpPickUpRecordViewHolder(view: View) :
|
||||
|
||||
// 列表项点击进入提取详情
|
||||
itemView.setOnClickListener {
|
||||
IntImpPickUpRecordDetailsActivity.start(itemView.context, bean.id)
|
||||
IntImpPickUpRecordDetailsActivity.start(itemView.context, bean)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,41 +2,26 @@ package com.lukouguoji.gjj.viewModel
|
||||
|
||||
import android.content.Intent
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import com.google.gson.Gson
|
||||
import com.lukouguoji.module_base.base.BaseViewModel
|
||||
import com.lukouguoji.module_base.bean.IntImpPickUpRecordBean
|
||||
import com.lukouguoji.module_base.common.Constant
|
||||
import com.lukouguoji.module_base.http.net.NetApply
|
||||
import com.lukouguoji.module_base.ktx.launchLoadingCollect
|
||||
import com.lukouguoji.module_base.ktx.showToast
|
||||
import com.lukouguoji.module_base.ktx.toRequestBody
|
||||
|
||||
/**
|
||||
* 国际进港提取详情 ViewModel
|
||||
*/
|
||||
class IntImpPickUpRecordDetailsViewModel : BaseViewModel() {
|
||||
|
||||
var recordId: Long = 0
|
||||
|
||||
val dataBean = MutableLiveData(IntImpPickUpRecordBean())
|
||||
|
||||
fun initOnCreated(intent: Intent) {
|
||||
recordId = intent.getLongExtra(Constant.Key.ID, 0)
|
||||
if (recordId > 0) {
|
||||
getData()
|
||||
val json = intent.getStringExtra(Constant.Key.DATA) ?: ""
|
||||
if (json.isNotEmpty()) {
|
||||
dataBean.value = Gson().fromJson(json, IntImpPickUpRecordBean::class.java)
|
||||
} else {
|
||||
showToast("参数错误")
|
||||
getTopActivity().finish()
|
||||
}
|
||||
}
|
||||
|
||||
private fun getData() {
|
||||
val params = mapOf("id" to recordId).toRequestBody()
|
||||
launchLoadingCollect({
|
||||
NetApply.api.getIntImpPickUpRecordDetails(params)
|
||||
}) {
|
||||
onSuccess = {
|
||||
dataBean.value = it.data ?: IntImpPickUpRecordBean()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,8 +18,10 @@ 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.ktx.formatDate
|
||||
import com.lukouguoji.module_base.model.ScanModel
|
||||
import com.lukouguoji.module_base.util.DictUtils
|
||||
import dev.utils.common.DateUtils
|
||||
import dev.utils.app.info.KeyValue
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
@@ -29,7 +31,7 @@ import kotlinx.coroutines.launch
|
||||
class IntImpPickUpRecordViewModel : BasePageViewModel() {
|
||||
|
||||
// ========== 筛选条件 ==========
|
||||
val paymentDateStart = MutableLiveData("") // 缴费日期起
|
||||
val paymentDateStart = MutableLiveData(DateUtils.getCurrentTime().formatDate()) // 缴费日期起
|
||||
val paymentDateEnd = MutableLiveData("") // 缴费日期止
|
||||
val agentCode = MutableLiveData("") // 代理人
|
||||
val spCode = MutableLiveData("") // 特码
|
||||
@@ -144,16 +146,16 @@ class IntImpPickUpRecordViewModel : BasePageViewModel() {
|
||||
*/
|
||||
override fun getData() {
|
||||
val filterParams = mapOf(
|
||||
"paymentDateStart" to paymentDateStart.value?.ifEmpty { null },
|
||||
"paymentDateEnd" to paymentDateEnd.value?.ifEmpty { null },
|
||||
"beginDate" to paymentDateStart.value?.ifEmpty { null },
|
||||
"endDate" to paymentDateEnd.value?.ifEmpty { null },
|
||||
"agentCode" to agentCode.value?.ifEmpty { null },
|
||||
"spCode" to spCode.value?.ifEmpty { null },
|
||||
"wbNo" to wbNo.value?.ifEmpty { null }
|
||||
)
|
||||
|
||||
val listParams = (filterParams + mapOf(
|
||||
"pageNum" to pageModel.page,
|
||||
"pageSize" to pageModel.limit
|
||||
"page" to pageModel.page,
|
||||
"limit" to pageModel.limit
|
||||
)).toRequestBody()
|
||||
|
||||
val totalParams = filterParams.toRequestBody()
|
||||
|
||||
Reference in New Issue
Block a user