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:
2026-03-13 14:43:06 +08:00
parent a4095d6e72
commit 0b25e9c68c
10 changed files with 250 additions and 257 deletions

View File

@@ -5,28 +5,33 @@ import java.io.Serializable
/**
* 国际进港提取记录-列表数据Bean
* 对应API: IntImpPickUpRecord/pageQuery
* 对应API: IntImpPickup/pageQuery
*/
class IntImpPickUpRecordBean : Serializable {
var id: Long = 0 // 主键ID
var wbNo: String = "" // 运单号
var no: String = "" // 主单号
var prefix: String = "" // 前缀
var hno: String = "" // 分单号
var serialNo: String = "" // 序号
var pc: Int = 0 // 件数
var weight: Double = 0.0 // 重量
var checkWeight: Double = 0.0 // 计重量
var cashWeight: Double = 0.0 // 计重量
var agentCode: String = "" // 代理人
var spCode: String = "" // 特码
var serviceFee: Double = 0.0 // 服务费
var storageFee: Double = 0.0 // 仓储费
var totalAmount: Double = 0.0 // 总金额
var pickUpTime: String = "" // 提取时间
var pickUpNo: String = "" // 提货编号
var infoFee: Double = 0.0 // 信息费
var drawFee: Double = 0.0 // 抽单费
var coldFee: Double = 0.0 // 冷藏费
var forkliftFee: Double = 0.0 // 铲车费
var tallyFee: Double = 0.0 // 理货费
var operator: String = "" // 办理人
var outTime: String = "" // 出库时间
var optCharge: Double = 0.0 // 服务费
var whsCharge: Double = 0.0 // 仓储费
var amount: Double = 0.0 // 总金额
var chargeTime: String = "" // 缴费时间/提取时间
var pkId: String = "" // 提货编号
var tranCharge: Double = 0.0 // 信息费
var drawBillCharge: Double = 0.0 // 抽单费
var efrCharge: Double = 0.0 // 冷藏费
var svlCharge: Double = 0.0 // 铲车费
var tallyCharge: Double = 0.0 // 理货费
var chargeName: String = "" // 办理人名称
var chargeId: String = "" // 收费员ID
var dlvTime: String = "" // 出库时间
// ========== UI扩展字段 ==========
val checked: ObservableBoolean = ObservableBoolean(false)

View File

@@ -954,31 +954,24 @@ interface Api {
/**
* 国际进港提取记录-分页查询
* 接口路径: /IntImpPickUpRecord/pageQuery
* 接口路径: /IntImpPickup/pageQuery
*/
@POST("IntImpPickUpRecord/pageQuery")
@POST("IntImpPickup/pageQuery")
suspend fun getIntImpPickUpRecordList(@Body data: RequestBody): PageInfo<IntImpPickUpRecordBean>
/**
* 国际进港提取记录-分页合计
* 接口路径: /IntImpPickUpRecord/pageQueryTotal
* 接口路径: /IntImpPickup/pageQueryTotal
*/
@POST("IntImpPickUpRecord/pageQueryTotal")
@POST("IntImpPickup/pageQueryTotal")
suspend fun getIntImpPickUpRecordTotal(@Body data: RequestBody): BaseResultBean<ManifestTotalDto>
/**
* 国际进港提取记录-清除提货
* 接口路径: /IntImpPickUpRecord/clearPickUp
* 接口路径: /IntImpPickup/clearPickup
*/
@POST("IntImpPickUpRecord/clearPickUp")
suspend fun clearIntImpPickUp(@Body data: RequestBody): BaseResultBean<Boolean>
/**
* 国际进港提取记录-详情
* 接口路径: /IntImpPickUpRecord/getDetails
*/
@POST("IntImpPickUpRecord/getDetails")
suspend fun getIntImpPickUpRecordDetails(@Body data: RequestBody): BaseResultBean<IntImpPickUpRecordBean>
@POST("IntImpPickup/clearPickup")
suspend fun clearIntImpPickUp(@Body data: RequestBody): BaseResultBean<String>
/**
* 国际进港提取出库-分页查询

View File

@@ -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()

View File

@@ -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)
}
}

View File

@@ -26,7 +26,7 @@ class IntImpPickUpRecordViewHolder(view: View) :
// 列表项点击进入提取详情
itemView.setOnClickListener {
IntImpPickUpRecordDetailsActivity.start(itemView.context, bean.id)
IntImpPickUpRecordDetailsActivity.start(itemView.context, bean)
}
}
}

View File

@@ -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()
}
}
}
}

View File

@@ -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()

View File

@@ -75,6 +75,13 @@
<!-- 运单号 -->
<com.lukouguoji.module_base.ui.weight.search.layout.PadSearchLayout
android:id="@+id/pslWbNo"
autoQueryEnabled="@{true}"
autoQueryMaxLength="@{8}"
autoQueryMinLength="@{4}"
autoQueryParamKey="@{`wbNo`}"
autoQueryTitle="@{`选择运单号`}"
autoQueryUrl="@{`/IntImpPickup/queryWbNoList`}"
hint='@{"请输入运单号"}'
icon="@{@drawable/img_scan}"
setOnIconClickListener="@{(v)-> viewModel.scanWbNo()}"

View File

@@ -84,7 +84,7 @@
title='@{"提货编号"}'
titleLength="@{5}"
type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.pickUpNo}'
value='@{viewModel.dataBean.pkId}'
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
@@ -123,7 +123,7 @@
title='@{"计费重量"}'
titleLength="@{5}"
type="@{DataLayoutType.INPUT}"
value='@{String.valueOf(viewModel.dataBean.checkWeight)}'
value='@{String.valueOf(viewModel.dataBean.cashWeight)}'
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
@@ -133,7 +133,7 @@
title='@{"信息费"}'
titleLength="@{5}"
type="@{DataLayoutType.INPUT}"
value='@{String.valueOf(viewModel.dataBean.infoFee)}'
value='@{String.valueOf(viewModel.dataBean.tranCharge)}'
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
@@ -143,7 +143,7 @@
title='@{"服务费"}'
titleLength="@{5}"
type="@{DataLayoutType.INPUT}"
value='@{String.valueOf(viewModel.dataBean.serviceFee)}'
value='@{String.valueOf(viewModel.dataBean.optCharge)}'
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
@@ -162,7 +162,7 @@
title='@{"仓储费"}'
titleLength="@{5}"
type="@{DataLayoutType.INPUT}"
value='@{String.valueOf(viewModel.dataBean.storageFee)}'
value='@{String.valueOf(viewModel.dataBean.whsCharge)}'
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
@@ -172,7 +172,7 @@
title='@{"抽单费"}'
titleLength="@{5}"
type="@{DataLayoutType.INPUT}"
value='@{String.valueOf(viewModel.dataBean.drawFee)}'
value='@{String.valueOf(viewModel.dataBean.drawBillCharge)}'
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
@@ -182,7 +182,7 @@
title='@{"冷藏费"}'
titleLength="@{5}"
type="@{DataLayoutType.INPUT}"
value='@{String.valueOf(viewModel.dataBean.coldFee)}'
value='@{String.valueOf(viewModel.dataBean.efrCharge)}'
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
@@ -201,7 +201,7 @@
title='@{"铲车费"}'
titleLength="@{5}"
type="@{DataLayoutType.INPUT}"
value='@{String.valueOf(viewModel.dataBean.forkliftFee)}'
value='@{String.valueOf(viewModel.dataBean.svlCharge)}'
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
@@ -211,7 +211,7 @@
title='@{"理货费"}'
titleLength="@{5}"
type="@{DataLayoutType.INPUT}"
value='@{String.valueOf(viewModel.dataBean.tallyFee)}'
value='@{String.valueOf(viewModel.dataBean.tallyCharge)}'
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
@@ -221,7 +221,7 @@
title='@{"总金额"}'
titleLength="@{5}"
type="@{DataLayoutType.INPUT}"
value='@{String.valueOf(viewModel.dataBean.totalAmount)}'
value='@{String.valueOf(viewModel.dataBean.amount)}'
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
@@ -240,7 +240,7 @@
title='@{"提取时间"}'
titleLength="@{5}"
type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.pickUpTime}'
value='@{viewModel.dataBean.chargeTime}'
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
@@ -250,7 +250,7 @@
title='@{"办理人"}'
titleLength="@{5}"
type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.operator}'
value='@{viewModel.dataBean.chargeName}'
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
@@ -260,7 +260,7 @@
title='@{"出库时间"}'
titleLength="@{5}"
type="@{DataLayoutType.INPUT}"
value='@{viewModel.dataBean.outTime}'
value='@{viewModel.dataBean.dlvTime}'
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />

View File

@@ -14,12 +14,13 @@
</data>
<!-- 主列表项容器 -->
<LinearLayout
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="10dp"
android:layout_marginTop="10dp"
android:background="@drawable/bg_white_radius_8"
android:layout_marginHorizontal="15dp"
android:layout_marginVertical="5dp"
android:background="@drawable/bg_item"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="10dp">
@@ -29,7 +30,7 @@
android:id="@+id/iv_icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginEnd="10dp"
android:layout_gravity="center"
loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}"
android:src="@drawable/img_plane" />
@@ -37,268 +38,256 @@
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight="1"
android:orientation="vertical">
<!-- 第一行:运单号、件数、重量、计重量、代理 -->
<LinearLayout
<!-- 第一行:运单号、件数、重量、计重量、代理 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
android:layout_height="wrap_content">
<!-- 运单号 -->
<LinearLayout
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.2"
android:orientation="horizontal">
android:layout_weight="1.0"
android:gravity="center_vertical">
<TextView
completeSpace="@{4}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="运单号"
android:text="运单号"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="@{bean.wbNo}"
android:textColor="@color/colorPrimary"
android:textSize="16sp" />
</LinearLayout>
</androidx.appcompat.widget.LinearLayoutCompat>
<!-- 件数 -->
<LinearLayout
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:orientation="horizontal">
<TextView
completeSpace="@{3}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="件数"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="@{String.valueOf(bean.pc)}"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
<!-- 重量 -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:orientation="horizontal">
<TextView
completeSpace="@{3}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="重量"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="@{String.valueOf((int)bean.weight)}"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
<!-- 计重重量 -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal">
android:gravity="center_vertical">
<TextView
completeSpace="@{5}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="计重重量"
android:text="件数:"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:text="@{String.valueOf((int)bean.checkWeight)}"
android:text="@{String.valueOf(bean.pc)}"
android:textSize="16sp" />
</LinearLayout>
</androidx.appcompat.widget.LinearLayoutCompat>
<!-- 代理 -->
<LinearLayout
<!-- 重量 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:orientation="horizontal">
android:gravity="center_vertical">
<TextView
completeSpace="@{3}"
completeSpace="@{5}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="代理"
android:text="重量:"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="@{bean.agentCode}"
android:text="@{String.valueOf((int)bean.weight)}"
android:textSize="16sp" />
</LinearLayout>
</androidx.appcompat.widget.LinearLayoutCompat>
</LinearLayout>
<!-- 计费重量 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center_vertical">
<!-- 第二行:特码、服务费、仓储费、总金额、提取时间 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<TextView
completeSpace="@{5}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="计费重量:"
android:textSize="16sp" />
<!-- 特码 -->
<LinearLayout
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{String.valueOf((int)bean.cashWeight)}"
android:textSize="16sp" />
</androidx.appcompat.widget.LinearLayoutCompat>
<!-- 代理 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.2"
android:orientation="horizontal">
<TextView
completeSpace="@{4}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="特码"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="@{bean.spCode}"
android:textSize="16sp" />
</LinearLayout>
<!-- 服务费 -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:orientation="horizontal">
<TextView
completeSpace="@{4}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="服务费"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:text="@{String.valueOf((int)bean.serviceFee)}"
android:textSize="16sp" />
</LinearLayout>
<!-- 仓储费 -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:orientation="horizontal">
<TextView
completeSpace="@{4}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="仓储费"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:text="@{String.valueOf((int)bean.storageFee)}"
android:textSize="16sp" />
</LinearLayout>
<!-- 总金额 -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal">
<TextView
completeSpace="@{4}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="总金额"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="@{String.valueOf((int)bean.totalAmount)}"
android:textSize="16sp" />
</LinearLayout>
<!-- 提取时间 -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:orientation="horizontal">
android:gravity="center_vertical">
<TextView
completeSpace="@{5}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提取时间"
android:text="代理:"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:text="@{bean.pickUpTime}"
android:text="@{bean.agentCode}"
android:textSize="16sp" />
</LinearLayout>
</androidx.appcompat.widget.LinearLayoutCompat>
</LinearLayout>
</androidx.appcompat.widget.LinearLayoutCompat>
<!-- 第二行:特码、服务费、仓储费、总金额、提取时间 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp">
<!-- 特码 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:gravity="center_vertical">
<TextView
completeSpace="@{4}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="特码:"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.spCode}"
android:textSize="16sp" />
</androidx.appcompat.widget.LinearLayoutCompat>
<!-- 服务费 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center_vertical">
<TextView
completeSpace="@{5}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="服务费:"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{String.valueOf((int)bean.optCharge)}"
android:textSize="16sp" />
</androidx.appcompat.widget.LinearLayoutCompat>
<!-- 仓储费 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center_vertical">
<TextView
completeSpace="@{5}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="仓储费:"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{String.valueOf((int)bean.whsCharge)}"
android:textSize="16sp" />
</androidx.appcompat.widget.LinearLayoutCompat>
<!-- 总金额 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center_vertical">
<TextView
completeSpace="@{5}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="总金额:"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{String.valueOf((int)bean.amount)}"
android:textSize="16sp" />
</androidx.appcompat.widget.LinearLayoutCompat>
<!-- 提取时间 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.2"
android:gravity="center_vertical">
<TextView
completeSpace="@{5}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提取时间:"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.chargeTime}"
android:textSize="16sp" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</LinearLayout>
<!-- 右侧箭头 -->
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginStart="5dp"
android:src="@drawable/ic_arrow_right" />
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center"
android:layout_marginLeft="10dp"
android:src="@drawable/img_pda_right" />
</LinearLayout>
</androidx.appcompat.widget.LinearLayoutCompat>
</layout>