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 * 国际进港提取记录-列表数据Bean
* 对应API: IntImpPickUpRecord/pageQuery * 对应API: IntImpPickup/pageQuery
*/ */
class IntImpPickUpRecordBean : Serializable { class IntImpPickUpRecordBean : Serializable {
var id: Long = 0 // 主键ID var id: Long = 0 // 主键ID
var wbNo: String = "" // 运单号 var wbNo: String = "" // 运单号
var no: String = "" // 主单号
var prefix: String = "" // 前缀
var hno: String = "" // 分单号
var serialNo: String = "" // 序号
var pc: Int = 0 // 件数 var pc: Int = 0 // 件数
var weight: Double = 0.0 // 重量 var weight: Double = 0.0 // 重量
var checkWeight: Double = 0.0 // 计重量 var cashWeight: Double = 0.0 // 计重量
var agentCode: String = "" // 代理人 var agentCode: String = "" // 代理人
var spCode: String = "" // 特码 var spCode: String = "" // 特码
var serviceFee: Double = 0.0 // 服务费 var optCharge: Double = 0.0 // 服务费
var storageFee: Double = 0.0 // 仓储费 var whsCharge: Double = 0.0 // 仓储费
var totalAmount: Double = 0.0 // 总金额 var amount: Double = 0.0 // 总金额
var pickUpTime: String = "" // 提取时间 var chargeTime: String = "" // 缴费时间/提取时间
var pickUpNo: String = "" // 提货编号 var pkId: String = "" // 提货编号
var infoFee: Double = 0.0 // 信息费 var tranCharge: Double = 0.0 // 信息费
var drawFee: Double = 0.0 // 抽单费 var drawBillCharge: Double = 0.0 // 抽单费
var coldFee: Double = 0.0 // 冷藏费 var efrCharge: Double = 0.0 // 冷藏费
var forkliftFee: Double = 0.0 // 铲车费 var svlCharge: Double = 0.0 // 铲车费
var tallyFee: Double = 0.0 // 理货费 var tallyCharge: Double = 0.0 // 理货费
var operator: String = "" // 办理人 var chargeName: String = "" // 办理人名称
var outTime: String = "" // 出库时间 var chargeId: String = "" // 收费员ID
var dlvTime: String = "" // 出库时间
// ========== UI扩展字段 ========== // ========== UI扩展字段 ==========
val checked: ObservableBoolean = ObservableBoolean(false) 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> 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> suspend fun getIntImpPickUpRecordTotal(@Body data: RequestBody): BaseResultBean<ManifestTotalDto>
/** /**
* 国际进港提取记录-清除提货 * 国际进港提取记录-清除提货
* 接口路径: /IntImpPickUpRecord/clearPickUp * 接口路径: /IntImpPickup/clearPickup
*/ */
@POST("IntImpPickUpRecord/clearPickUp") @POST("IntImpPickup/clearPickup")
suspend fun clearIntImpPickUp(@Body data: RequestBody): BaseResultBean<Boolean> suspend fun clearIntImpPickUp(@Body data: RequestBody): BaseResultBean<String>
/**
* 国际进港提取记录-详情
* 接口路径: /IntImpPickUpRecord/getDetails
*/
@POST("IntImpPickUpRecord/getDetails")
suspend fun getIntImpPickUpRecordDetails(@Body data: RequestBody): BaseResultBean<IntImpPickUpRecordBean>
/** /**
* 国际进港提取出库-分页查询 * 国际进港提取出库-分页查询

View File

@@ -46,6 +46,16 @@ class IntImpPickUpRecordActivity :
viewModel.refresh() 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.initAgentList()
viewModel.initSpecialCodeList() viewModel.initSpecialCodeList()

View File

@@ -3,10 +3,12 @@ package com.lukouguoji.gjj.activity
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import com.google.gson.Gson
import com.lukouguoji.gjj.R import com.lukouguoji.gjj.R
import com.lukouguoji.gjj.databinding.ActivityIntImpPickUpRecordDetailsBinding import com.lukouguoji.gjj.databinding.ActivityIntImpPickUpRecordDetailsBinding
import com.lukouguoji.gjj.viewModel.IntImpPickUpRecordDetailsViewModel import com.lukouguoji.gjj.viewModel.IntImpPickUpRecordDetailsViewModel
import com.lukouguoji.module_base.base.BaseBindingActivity import com.lukouguoji.module_base.base.BaseBindingActivity
import com.lukouguoji.module_base.bean.IntImpPickUpRecordBean
import com.lukouguoji.module_base.common.Constant import com.lukouguoji.module_base.common.Constant
/** /**
@@ -26,9 +28,9 @@ class IntImpPickUpRecordDetailsActivity :
companion object { companion object {
@JvmStatic @JvmStatic
fun start(context: Context, id: Long) { fun start(context: Context, bean: IntImpPickUpRecordBean) {
val starter = Intent(context, IntImpPickUpRecordDetailsActivity::class.java) val starter = Intent(context, IntImpPickUpRecordDetailsActivity::class.java)
.putExtra(Constant.Key.ID, id) .putExtra(Constant.Key.DATA, Gson().toJson(bean))
context.startActivity(starter) context.startActivity(starter)
} }
} }

View File

@@ -26,7 +26,7 @@ class IntImpPickUpRecordViewHolder(view: View) :
// 列表项点击进入提取详情 // 列表项点击进入提取详情
itemView.setOnClickListener { 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 android.content.Intent
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import com.google.gson.Gson
import com.lukouguoji.module_base.base.BaseViewModel import com.lukouguoji.module_base.base.BaseViewModel
import com.lukouguoji.module_base.bean.IntImpPickUpRecordBean import com.lukouguoji.module_base.bean.IntImpPickUpRecordBean
import com.lukouguoji.module_base.common.Constant 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.showToast
import com.lukouguoji.module_base.ktx.toRequestBody
/** /**
* 国际进港提取详情 ViewModel * 国际进港提取详情 ViewModel
*/ */
class IntImpPickUpRecordDetailsViewModel : BaseViewModel() { class IntImpPickUpRecordDetailsViewModel : BaseViewModel() {
var recordId: Long = 0
val dataBean = MutableLiveData(IntImpPickUpRecordBean()) val dataBean = MutableLiveData(IntImpPickUpRecordBean())
fun initOnCreated(intent: Intent) { fun initOnCreated(intent: Intent) {
recordId = intent.getLongExtra(Constant.Key.ID, 0) val json = intent.getStringExtra(Constant.Key.DATA) ?: ""
if (recordId > 0) { if (json.isNotEmpty()) {
getData() dataBean.value = Gson().fromJson(json, IntImpPickUpRecordBean::class.java)
} else { } else {
showToast("参数错误") showToast("参数错误")
getTopActivity().finish() 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.noNull
import com.lukouguoji.module_base.ktx.showToast import com.lukouguoji.module_base.ktx.showToast
import com.lukouguoji.module_base.ktx.toRequestBody 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.model.ScanModel
import com.lukouguoji.module_base.util.DictUtils import com.lukouguoji.module_base.util.DictUtils
import dev.utils.common.DateUtils
import dev.utils.app.info.KeyValue import dev.utils.app.info.KeyValue
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@@ -29,7 +31,7 @@ import kotlinx.coroutines.launch
class IntImpPickUpRecordViewModel : BasePageViewModel() { class IntImpPickUpRecordViewModel : BasePageViewModel() {
// ========== 筛选条件 ========== // ========== 筛选条件 ==========
val paymentDateStart = MutableLiveData("") // 缴费日期起 val paymentDateStart = MutableLiveData(DateUtils.getCurrentTime().formatDate()) // 缴费日期起
val paymentDateEnd = MutableLiveData("") // 缴费日期止 val paymentDateEnd = MutableLiveData("") // 缴费日期止
val agentCode = MutableLiveData("") // 代理人 val agentCode = MutableLiveData("") // 代理人
val spCode = MutableLiveData("") // 特码 val spCode = MutableLiveData("") // 特码
@@ -144,16 +146,16 @@ class IntImpPickUpRecordViewModel : BasePageViewModel() {
*/ */
override fun getData() { override fun getData() {
val filterParams = mapOf( val filterParams = mapOf(
"paymentDateStart" to paymentDateStart.value?.ifEmpty { null }, "beginDate" to paymentDateStart.value?.ifEmpty { null },
"paymentDateEnd" to paymentDateEnd.value?.ifEmpty { null }, "endDate" to paymentDateEnd.value?.ifEmpty { null },
"agentCode" to agentCode.value?.ifEmpty { null }, "agentCode" to agentCode.value?.ifEmpty { null },
"spCode" to spCode.value?.ifEmpty { null }, "spCode" to spCode.value?.ifEmpty { null },
"wbNo" to wbNo.value?.ifEmpty { null } "wbNo" to wbNo.value?.ifEmpty { null }
) )
val listParams = (filterParams + mapOf( val listParams = (filterParams + mapOf(
"pageNum" to pageModel.page, "page" to pageModel.page,
"pageSize" to pageModel.limit "limit" to pageModel.limit
)).toRequestBody() )).toRequestBody()
val totalParams = filterParams.toRequestBody() val totalParams = filterParams.toRequestBody()

View File

@@ -75,6 +75,13 @@
<!-- 运单号 --> <!-- 运单号 -->
<com.lukouguoji.module_base.ui.weight.search.layout.PadSearchLayout <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='@{"请输入运单号"}' hint='@{"请输入运单号"}'
icon="@{@drawable/img_scan}" icon="@{@drawable/img_scan}"
setOnIconClickListener="@{(v)-> viewModel.scanWbNo()}" setOnIconClickListener="@{(v)-> viewModel.scanWbNo()}"

View File

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

View File

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