Commit faf8ce77 authored by yinjiacheng's avatar yinjiacheng

update 订单详情页UI

parent eda3b7ba
...@@ -13,11 +13,13 @@ object OrderStatusManager { ...@@ -13,11 +13,13 @@ object OrderStatusManager {
fun getOrderStatus(status: Int): OrderStatus { fun getOrderStatus(status: Int): OrderStatus {
return when (status) { return when (status) {
0 -> OrderStatus.ORDER_STATUS_CONFIRM 0 -> OrderStatus.ORDER_STATUS_CONFIRM
1 -> OrderStatus.ORDER_STATUS_PAID 1 -> OrderStatus.ORDER_STATUS_WAIT_PAY
2 -> OrderStatus.ORDER_STATUS_WAIT_REFUND 2 -> OrderStatus.ORDER_STATUS_PAID
3 -> OrderStatus.ORDER_STATUS_ON_REFUND 3 -> OrderStatus.ORDER_STATUS_WAIT_REFUND
4 -> OrderStatus.ORDER_STATUS_REFUNDED 4 -> OrderStatus.ORDER_STATUS_REFUNDED
5 -> OrderStatus.ORDER_STATUS_REFUSE_REFUND 5 -> OrderStatus.ORDER_STATUS_ON_REFUND
6 -> OrderStatus.ORDER_STATUS_REFUSE_REFUND
8 -> OrderStatus.ORDER_STATUS_PART_REFUND
else -> OrderStatus.ORDER_STATUS_UNKNOWN else -> OrderStatus.ORDER_STATUS_UNKNOWN
} }
} }
...@@ -25,14 +27,16 @@ object OrderStatusManager { ...@@ -25,14 +27,16 @@ object OrderStatusManager {
/** /**
* 订单状态 * 订单状态
* e.g. 未知、确认中、已支付、待退款、退款中、已退款、拒绝退款 * e.g. 未知、确认中、未支付、已支付、待退款、退款中、已退款、拒绝退款、部分退款
*/ */
enum class OrderStatus(val code: Int, val text: String) { enum class OrderStatus(val code: Int, val text: String) {
ORDER_STATUS_UNKNOWN(-1, "未知"), ORDER_STATUS_UNKNOWN(-1, "未知"),
ORDER_STATUS_CONFIRM(0, "确认中"), ORDER_STATUS_CONFIRM(0, "确认中"),
ORDER_STATUS_PAID(1, "已支付"), ORDER_STATUS_WAIT_PAY(1, "未支付"),
ORDER_STATUS_WAIT_REFUND(2, "待退款"), ORDER_STATUS_PAID(2, "已支付"),
ORDER_STATUS_ON_REFUND(3, "退款中"), ORDER_STATUS_WAIT_REFUND(3, "待退款"),
ORDER_STATUS_REFUNDED(4, "已退款"), ORDER_STATUS_REFUNDED(4, "已退款"),
ORDER_STATUS_REFUSE_REFUND(5, "已拒绝退款") ORDER_STATUS_ON_REFUND(5, "退款中"),
ORDER_STATUS_REFUSE_REFUND(6, "已拒绝退款"),
ORDER_STATUS_PART_REFUND(8, "部分退款")
} }
...@@ -4,7 +4,8 @@ import androidx.activity.viewModels ...@@ -4,7 +4,8 @@ import androidx.activity.viewModels
import com.yidian.bcommon.mvvm.BaseMvvmActivity import com.yidian.bcommon.mvvm.BaseMvvmActivity
import com.yidian.shenghuoquan.border.R import com.yidian.shenghuoquan.border.R
import com.yidian.shenghuoquan.border.databinding.BorderActivityOrderDetailBinding import com.yidian.shenghuoquan.border.databinding.BorderActivityOrderDetailBinding
import com.yidian.shenghuoquan.border.manager.OrderStatus import com.yidian.shenghuoquan.border.manager.OrderStatusManager
import com.yidian.shenghuoquan.border.viewmodel.OrderDetailViewModel
/** /**
* author: yinjiacheng * author: yinjiacheng
...@@ -17,8 +18,15 @@ class OrderDetailActivity : BaseMvvmActivity<BorderActivityOrderDetailBinding, O ...@@ -17,8 +18,15 @@ class OrderDetailActivity : BaseMvvmActivity<BorderActivityOrderDetailBinding, O
override val vm: OrderDetailViewModel by viewModels() override val vm: OrderDetailViewModel by viewModels()
override fun initView() { override fun initView() {
binding.svOrderStatus.setOrderStatus(OrderStatus.ORDER_STATUS_REFUSE_REFUND) vm.orderDetailData.observe(this, {
binding.pvPickupPointInfo.setPickupPoint(OrderStatus.ORDER_STATUS_CONFIRM, null) // 获取当前订单状态
binding.ivConsigneeInfo.setConsigneeInfo(OrderStatus.ORDER_STATUS_CONFIRM, null) val status = OrderStatusManager.getOrderStatus(it.orderStatus)
binding.svOrderStatus.setOrderStatus(status, it)
binding.pvPickupPointInfo.setPickupPoint(status, it.placeList)
binding.ivConsigneeInfo.setConsigneeInfo(status, it.orderShippingInfo)
binding.ivCommodityInfo.setCommodityInfo(status, it)
binding.ivOrderInfo.setOrderInfo(status, it)
})
vm.requestOrderDetail("21081915562568101010")
} }
} }
package com.yidian.shenghuoquan.border.ui.widget
import android.content.Context
import android.util.AttributeSet
import android.view.View
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.view.isVisible
import com.yidian.shenghuoquan.border.R
import com.yidian.shenghuoquan.border.databinding.BorderViewOrderStatusInfoBinding
import com.yidian.shenghuoquan.border.manager.OrderStatus
/**
* author: yinjiacheng
* date: 2021/8/21 09:57
* description: 订单详情页-订单状态
*/
class OderStatusInfoView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyle: Int = 0) :
ConstraintLayout(context, attrs, defStyle) {
private val viewBinding =
BorderViewOrderStatusInfoBinding.bind(View.inflate(getContext(), R.layout.border_view_order_status_info, this))
/**
* 设置订单状态
*/
// TODO: 2021/8/21 传入退款金额
fun setOrderStatus(status: OrderStatus) {
viewBinding.tvOrderStatus.text = status.text
when (status) {
OrderStatus.ORDER_STATUS_UNKNOWN -> {
viewBinding.ivOrderStatus.setImageResource(R.drawable.icon_order_status_paid)
}
OrderStatus.ORDER_STATUS_PAID -> {
viewBinding.ivOrderStatus.setImageResource(R.drawable.icon_order_status_paid)
}
OrderStatus.ORDER_STATUS_WAIT_REFUND -> {
viewBinding.ivOrderStatus.setImageResource(R.drawable.icon_order_status_wait_refund)
}
OrderStatus.ORDER_STATUS_ON_REFUND -> {
viewBinding.ivOrderStatus.setImageResource(R.drawable.icon_order_status_on_refund)
}
OrderStatus.ORDER_STATUS_REFUNDED -> {
viewBinding.ivOrderStatus.setImageResource(R.drawable.icon_order_status_refunded)
viewBinding.tvOrderSubStatus.isVisible = true
viewBinding.tvOrderSubStatus.text = "退款金额:"
}
OrderStatus.ORDER_STATUS_REFUSE_REFUND -> {
viewBinding.ivOrderStatus.setImageResource(R.drawable.icon_order_status_refuse_refund)
viewBinding.tvOrderSubStatus.isVisible = true
viewBinding.tvOrderSubStatus.text = "如有疑问请联系卖家"
}
}
}
}
package com.yidian.shenghuoquan.border.ui.widget
import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.databinding.DataBindingUtil
import com.yidian.shenghuoquan.border.R
import com.yidian.shenghuoquan.border.databinding.BorderViewOrderStatusBinding
import com.yidian.shenghuoquan.border.dto.OrderDetailDto
import com.yidian.shenghuoquan.border.manager.OrderStatus
import com.yidian.shenghuoquan.border.viewmodel.OrderStatusViewModel
/**
* author: yinjiacheng
* date: 2021/8/21 09:57
* description: 订单详情页-订单状态
*/
class OderStatusView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyle: Int = 0) :
ConstraintLayout(context, attrs, defStyle) {
private val binding =
DataBindingUtil.inflate<BorderViewOrderStatusBinding>(LayoutInflater.from(getContext()), R.layout.border_view_order_status, this, true)
/**
* 设置订单状态
* @param status 订单状态
* @param data 订单详情
*/
fun setOrderStatus(status: OrderStatus, data: OrderDetailDto) {
binding.vm = OrderStatusViewModel()
binding.status = status
binding.data = data
}
}
...@@ -2,8 +2,9 @@ package com.yidian.shenghuoquan.border.ui.widget ...@@ -2,8 +2,9 @@ package com.yidian.shenghuoquan.border.ui.widget
import android.content.Context import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
import android.view.View import android.view.LayoutInflater
import androidx.constraintlayout.widget.ConstraintLayout import androidx.constraintlayout.widget.ConstraintLayout
import androidx.databinding.DataBindingUtil
import com.yidian.shenghuoquan.border.R import com.yidian.shenghuoquan.border.R
import com.yidian.shenghuoquan.border.databinding.BorderViewOrderCommodityInfoBinding import com.yidian.shenghuoquan.border.databinding.BorderViewOrderCommodityInfoBinding
import com.yidian.shenghuoquan.border.dto.OrderDetailDto import com.yidian.shenghuoquan.border.dto.OrderDetailDto
...@@ -17,8 +18,13 @@ import com.yidian.shenghuoquan.border.manager.OrderStatus ...@@ -17,8 +18,13 @@ import com.yidian.shenghuoquan.border.manager.OrderStatus
class OrderCommodityInfoView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyle: Int = 0) : class OrderCommodityInfoView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyle: Int = 0) :
ConstraintLayout(context, attrs, defStyle) { ConstraintLayout(context, attrs, defStyle) {
private val viewBinding = private val binding =
BorderViewOrderCommodityInfoBinding.bind(View.inflate(getContext(), R.layout.border_view_order_commodity_info, this)) DataBindingUtil.inflate<BorderViewOrderCommodityInfoBinding>(
LayoutInflater.from(getContext()),
R.layout.border_view_order_commodity_info,
this,
true
)
/** /**
* 设置商品信息 * 设置商品信息
......
...@@ -2,12 +2,14 @@ package com.yidian.shenghuoquan.border.ui.widget ...@@ -2,12 +2,14 @@ package com.yidian.shenghuoquan.border.ui.widget
import android.content.Context import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
import android.view.View import android.view.LayoutInflater
import androidx.constraintlayout.widget.ConstraintLayout import androidx.constraintlayout.widget.ConstraintLayout
import androidx.databinding.DataBindingUtil
import com.yidian.shenghuoquan.border.R import com.yidian.shenghuoquan.border.R
import com.yidian.shenghuoquan.border.databinding.BorderViewOrderConsigneeInfoBinding import com.yidian.shenghuoquan.border.databinding.BorderViewOrderConsigneeInfoBinding
import com.yidian.shenghuoquan.border.dto.OrderShippingInfo import com.yidian.shenghuoquan.border.dto.OrderShippingInfo
import com.yidian.shenghuoquan.border.manager.OrderStatus import com.yidian.shenghuoquan.border.manager.OrderStatus
import com.yidian.shenghuoquan.border.viewmodel.OrderConsigneeInfoViewModel
/** /**
* author: yinjiacheng * author: yinjiacheng
...@@ -17,31 +19,34 @@ import com.yidian.shenghuoquan.border.manager.OrderStatus ...@@ -17,31 +19,34 @@ import com.yidian.shenghuoquan.border.manager.OrderStatus
class OrderConsigneeInfoView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyle: Int = 0) : class OrderConsigneeInfoView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyle: Int = 0) :
ConstraintLayout(context, attrs, defStyle) { ConstraintLayout(context, attrs, defStyle) {
private val viewBinding = private val binding =
BorderViewOrderConsigneeInfoBinding.bind(View.inflate(getContext(), R.layout.border_view_order_consignee_info, this)) DataBindingUtil.inflate<BorderViewOrderConsigneeInfoBinding>(
LayoutInflater.from(getContext()),
R.layout.border_view_order_consignee_info,
this,
true
)
/** /**
* 设置收货人信息 * 设置收货人信息
* @param status 订单状态 确认订单时固定传ORDER_STATUS_CONFIRM * @param status 订单状态 确认订单时固定传ORDER_STATUS_CONFIRM
* @param info 收货人信息 * @param info 收货人信息
*/ */
fun setConsigneeInfo(status: OrderStatus, info: OrderShippingInfo?) { fun setConsigneeInfo(status: OrderStatus?, info: OrderShippingInfo?) {
if (status != OrderStatus.ORDER_STATUS_UNKNOWN && status != OrderStatus.ORDER_STATUS_CONFIRM) { if (status != OrderStatus.ORDER_STATUS_UNKNOWN && status != OrderStatus.ORDER_STATUS_CONFIRM) {
// 订单状态除未知和确认中 收件人信息禁止修改(仅展示) // 订单状态除未知和确认中 收件人信息禁止修改(仅展示)
disableModify() disableModify()
} }
info?.let { binding.vm = OrderConsigneeInfoViewModel()
viewBinding.etConsigneeName.setText(it.receiverName) binding.data = info
viewBinding.etConsigneePhone.setText(it.receiverMobile)
}
} }
/** /**
* 禁止修改 * 禁止修改
*/ */
fun disableModify() { fun disableModify() {
viewBinding.etConsigneeName.keyListener = null binding.etConsigneeName.keyListener = null
viewBinding.etConsigneePhone.keyListener = null binding.etConsigneePhone.keyListener = null
} }
} }
...@@ -2,11 +2,14 @@ package com.yidian.shenghuoquan.border.ui.widget ...@@ -2,11 +2,14 @@ package com.yidian.shenghuoquan.border.ui.widget
import android.content.Context import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
import android.view.LayoutInflater
import androidx.constraintlayout.widget.ConstraintLayout import androidx.constraintlayout.widget.ConstraintLayout
import androidx.databinding.DataBindingUtil
import com.yidian.shenghuoquan.border.R import com.yidian.shenghuoquan.border.R
import com.yidian.shenghuoquan.border.databinding.BorderViewOrderInfoBinding import com.yidian.shenghuoquan.border.databinding.BorderViewOrderInfoBinding
import com.yidian.shenghuoquan.border.dto.OrderDetailDto import com.yidian.shenghuoquan.border.dto.OrderDetailDto
import com.yidian.shenghuoquan.border.manager.OrderStatus import com.yidian.shenghuoquan.border.manager.OrderStatus
import com.yidian.shenghuoquan.border.viewmodel.OrderInfoViewModel
/** /**
* author: yinjiacheng * author: yinjiacheng
...@@ -16,14 +19,16 @@ import com.yidian.shenghuoquan.border.manager.OrderStatus ...@@ -16,14 +19,16 @@ import com.yidian.shenghuoquan.border.manager.OrderStatus
class OrderInfoView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyle: Int = 0) : class OrderInfoView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyle: Int = 0) :
ConstraintLayout(context, attrs, defStyle) { ConstraintLayout(context, attrs, defStyle) {
private val viewBinding = BorderViewOrderInfoBinding.bind(inflate(getContext(), R.layout.border_view_order_info, this)) private val binding =
DataBindingUtil.inflate<BorderViewOrderInfoBinding>(LayoutInflater.from(getContext()), R.layout.border_view_order_info, this, true)
/** /**
* 设置订单信息 * 设置订单信息
* @param status 订单状态 * @param status 订单状态
* @param info 订单信息 * @param info 订单信息
*/ */
fun setOrderInfo(status: OrderStatus, info: OrderDetailDto) { fun setOrderInfo(status: OrderStatus?, info: OrderDetailDto) {
binding.vm = OrderInfoViewModel()
binding.data = info
} }
} }
...@@ -2,14 +2,14 @@ package com.yidian.shenghuoquan.border.ui.widget ...@@ -2,14 +2,14 @@ package com.yidian.shenghuoquan.border.ui.widget
import android.content.Context import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
import android.view.View import android.view.LayoutInflater
import androidx.constraintlayout.widget.ConstraintLayout import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.view.isVisible import androidx.databinding.DataBindingUtil
import com.yidian.shenghuoquan.border.R import com.yidian.shenghuoquan.border.R
import com.yidian.shenghuoquan.border.databinding.BorderViewOrderPickupPointInfoBinding import com.yidian.shenghuoquan.border.databinding.BorderViewOrderPickupPointInfoBinding
import com.yidian.shenghuoquan.border.dto.PlaceList import com.yidian.shenghuoquan.border.dto.PlaceList
import com.yidian.shenghuoquan.border.manager.OrderStatus import com.yidian.shenghuoquan.border.manager.OrderStatus
import java.util.* import com.yidian.shenghuoquan.border.viewmodel.OrderPickupPointViewModel
/** /**
* author: yinjiacheng * author: yinjiacheng
...@@ -19,28 +19,21 @@ import java.util.* ...@@ -19,28 +19,21 @@ import java.util.*
class OrderPickupPointInfoView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyle: Int = 0) : class OrderPickupPointInfoView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyle: Int = 0) :
ConstraintLayout(context, attrs, defStyle) { ConstraintLayout(context, attrs, defStyle) {
private val viewBinding = private val binding =
BorderViewOrderPickupPointInfoBinding.bind(View.inflate(getContext(), R.layout.border_view_order_pickup_point_info, this)) DataBindingUtil.inflate<BorderViewOrderPickupPointInfoBinding>(
LayoutInflater.from(getContext()),
R.layout.border_view_order_pickup_point_info,
this,
true
)
/** /**
* 设置自提点 * 设置自提点
* @param status 订单状态 确认订单时固定传ORDER_STATUS_CONFIRM * @param status 订单状态 确认订单时固定传ORDER_STATUS_CONFIRM
* @param info 自提点信息 * @param info 自提点信息
*/ */
fun setPickupPoint(status: OrderStatus, info: PlaceList?) { fun setPickupPoint(status: OrderStatus?, info: PlaceList?) {
// 订单状态除未知和确认中 自提点选择入口隐藏 binding.vm = OrderPickupPointViewModel()
if (status != OrderStatus.ORDER_STATUS_UNKNOWN && status != OrderStatus.ORDER_STATUS_CONFIRM) { binding.data = info
viewBinding.ivPickupPointSelect.isVisible = false
}
// 填充自提点信息
info?.let {
viewBinding.tvPickupPoint.isVisible = true
viewBinding.tvPickupPointName.text = it.takePlaceName
viewBinding.tvPickupPointAddress.isVisible = true
viewBinding.tvPickupPointAddress.text = it.address
viewBinding.tvPickupPointContact.isVisible = true
viewBinding.tvPickupPointContact.text =
String.format(Locale.getDefault(), resources.getString(R.string.pickup_point_contract), info.contactName, info.phone)
}
} }
} }
package com.yidian.shenghuoquan.border.viewmodel
import com.yidian.bcommon.mvvm.BaseViewModel
/**
* author: yinjiacheng
* date: 2021/8/23 13:54
* description: 订单商品信息
*/
class OrderCommodityInfoViewModel : BaseViewModel() {
}
package com.yidian.shenghuoquan.border.viewmodel
import com.yidian.bcommon.mvvm.BaseViewModel
/**
* author: yinjiacheng
* date: 2021/8/23 13:54
* description: 订单收货人信息
*/
class OrderConsigneeInfoViewModel : BaseViewModel() {
}
package com.yidian.shenghuoquan.border.viewmodel
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import com.yidian.bcommon.mvvm.BaseViewModel
import com.yidian.shenghuoquan.border.dto.OrderDetailDto
import com.yidian.shenghuoquan.border.http.OrderRemoteDataSource
import com.yidian.shenghuoquan.border.http.callback.IGetOrderDetailCallback
/**
* author: yinjiacheng
* date: 2021/8/21 09:31
* description: 订单详情页
*/
class OrderDetailViewModel : BaseViewModel() {
private val _orderDetailData = MutableLiveData<OrderDetailDto>()
val orderDetailData: LiveData<OrderDetailDto> = _orderDetailData
/**
* 请求订单详情
*/
fun requestOrderDetail(orderId: String) {
OrderRemoteDataSource.getOrderDetail(object : IGetOrderDetailCallback {
override fun getOrderDetailSuccess(result: OrderDetailDto?) {
result?.let { _orderDetailData.value = it }
}
override fun getOrderDetailFailure(message: String?) {
}
}, hashMapOf("order_id" to orderId))
}
}
package com.yidian.shenghuoquan.border.viewmodel
import com.yidian.bcommon.mvvm.BaseViewModel
/**
* author: yinjiacheng
* date: 2021/8/23 10:45
* description: 订单信息
*/
class OrderInfoViewModel : BaseViewModel() {
/**
* 复制订单
*/
fun copyOrderNo() {
}
}
package com.yidian.shenghuoquan.border.ui package com.yidian.shenghuoquan.border.viewmodel
import com.yidian.bcommon.mvvm.BaseViewModel import com.yidian.bcommon.mvvm.BaseViewModel
/** /**
* author: yinjiacheng * author: yinjiacheng
* date: 2021/8/21 09:31 * date: 2021/8/23 13:52
* description: 订单详情页 * description: 订单自提点
*/ */
class OrderDetailViewModel : BaseViewModel() { class OrderPickupPointViewModel : BaseViewModel() {
} }
package com.yidian.shenghuoquan.border.viewmodel
import android.widget.ImageView
import android.widget.TextView
import androidx.databinding.BindingAdapter
import com.yidian.bcommon.mvvm.BaseViewModel
import com.yidian.shenghuoquan.border.R
import com.yidian.shenghuoquan.border.dto.OrderDetailDto
import com.yidian.shenghuoquan.border.manager.OrderStatus
/**
* author: yinjiacheng
* date: 2021/8/23 13:50
* description: 订单状态
*/
class OrderStatusViewModel : BaseViewModel() {
companion object {
/**
* 订单状态图标
* @param target 目标ImageView
* @param status 订单状态
*/
@BindingAdapter("orderStatusImage")
@JvmStatic
fun setOrderStatusImage(target: ImageView, status: OrderStatus?) {
target.setImageResource(
when (status) {
OrderStatus.ORDER_STATUS_PAID -> R.drawable.icon_order_status_paid
OrderStatus.ORDER_STATUS_WAIT_REFUND -> R.drawable.icon_order_status_wait_refund
OrderStatus.ORDER_STATUS_ON_REFUND -> R.drawable.icon_order_status_on_refund
OrderStatus.ORDER_STATUS_REFUNDED -> R.drawable.icon_order_status_refunded
OrderStatus.ORDER_STATUS_REFUSE_REFUND -> R.drawable.icon_order_status_refuse_refund
else -> R.drawable.icon_order_status_paid
}
)
}
/**
* 订单状态描述
* @param target 目标TextView
* @param status 订单状态
* @param data 订单详情
*/
@BindingAdapter(value = ["orderStatusDescription", "orderDetailData"], requireAll = true)
@JvmStatic
fun setOrderStatusText(target: TextView, status: OrderStatus?, data: OrderDetailDto?) {
target.text = when (status) {
OrderStatus.ORDER_STATUS_WAIT_REFUND -> "待商家确认"
OrderStatus.ORDER_STATUS_REFUNDED -> "退款金额: " + data?.refundAmount
OrderStatus.ORDER_STATUS_REFUSE_REFUND -> "如有疑问请联系卖家"
else -> ""
}
}
}
}
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<variable <variable
name="vm" name="vm"
type="com.yidian.shenghuoquan.border.ui.OrderDetailViewModel" /> type="com.yidian.shenghuoquan.border.viewmodel.OrderDetailViewModel" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
android:paddingEnd="@dimen/dp16" android:paddingEnd="@dimen/dp16"
android:paddingBottom="@dimen/dp46"> android:paddingBottom="@dimen/dp46">
<com.yidian.shenghuoquan.border.ui.widget.OderStatusInfoView <com.yidian.shenghuoquan.border.ui.widget.OderStatusView
android:id="@+id/sv_order_status" android:id="@+id/sv_order_status"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools">
android:layout_width="match_parent"
android:layout_height="wrap_content" <data>
android:background="@drawable/shape_solid_ffffff_corner_20"
android:paddingStart="@dimen/dp16" </data>
android:paddingTop="@dimen/dp20"
android:paddingEnd="@dimen/dp16" <androidx.constraintlayout.widget.ConstraintLayout
android:paddingBottom="@dimen/dp20">
<TextView
android:id="@+id/tv_activity_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp16"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="拼餐优惠多多" />
<ImageView
android:layout_width="@dimen/dp14"
android:layout_height="@dimen/dp14"
android:layout_marginStart="@dimen/dp4"
android:src="@drawable/icon_next"
app:layout_constraintBottom_toBottomOf="@id/tv_activity_title"
app:layout_constraintStart_toEndOf="@id/tv_activity_title"
app:layout_constraintTop_toTopOf="@id/tv_activity_title" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_commodity_list"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/tv_activity_title" /> android:background="@drawable/shape_solid_ffffff_corner_20"
android:paddingStart="@dimen/dp16"
android:paddingTop="@dimen/dp20"
android:paddingEnd="@dimen/dp16"
android:paddingBottom="@dimen/dp20">
<TextView <TextView
android:id="@+id/tv_apply_refund" android:id="@+id/tv_activity_title"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp8" android:textColor="@color/color_333333"
android:background="@drawable/shape_stroke_e5e5e5_corner_14" android:textSize="@dimen/sp16"
android:paddingStart="@dimen/dp13" app:layout_constraintStart_toStartOf="parent"
android:paddingTop="@dimen/dp9" app:layout_constraintTop_toTopOf="parent"
android:paddingEnd="@dimen/dp13" tools:text="拼餐优惠多多" />
android:paddingBottom="@dimen/dp8"
android:text="@string/apply_refund" <ImageView
android:textColor="@color/color_999999" android:layout_width="@dimen/dp14"
android:textSize="@dimen/sp11" android:layout_height="@dimen/dp14"
app:layout_constraintEnd_toStartOf="@id/tv_contract_seller" android:layout_marginStart="@dimen/dp4"
app:layout_constraintTop_toTopOf="@id/tv_contract_seller" /> android:src="@drawable/icon_next"
app:layout_constraintBottom_toBottomOf="@id/tv_activity_title"
<TextView app:layout_constraintStart_toEndOf="@id/tv_activity_title"
android:id="@+id/tv_contract_seller" app:layout_constraintTop_toTopOf="@id/tv_activity_title" />
android:layout_width="wrap_content"
android:layout_height="wrap_content" <androidx.recyclerview.widget.RecyclerView
android:layout_marginTop="@dimen/dp8" android:id="@+id/rv_commodity_list"
android:background="@drawable/shape_stroke_e5e5e5_corner_14" android:layout_width="match_parent"
android:paddingStart="@dimen/dp13" android:layout_height="wrap_content"
android:paddingTop="@dimen/dp9" app:layout_constraintTop_toBottomOf="@id/tv_activity_title" />
android:paddingEnd="@dimen/dp13"
android:paddingBottom="@dimen/dp8" <TextView
android:text="@string/contract_seller" android:id="@+id/tv_apply_refund"
android:textColor="@color/color_999999" android:layout_width="wrap_content"
android:textSize="@dimen/sp11" android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent" android:layout_marginEnd="@dimen/dp8"
app:layout_constraintTop_toBottomOf="@id/rv_commodity_list" /> android:background="@drawable/shape_stroke_e5e5e5_corner_14"
android:paddingStart="@dimen/dp13"
<ImageView android:paddingTop="@dimen/dp9"
android:id="@+id/iv_coupon" android:paddingEnd="@dimen/dp13"
android:layout_width="@dimen/dp20" android:paddingBottom="@dimen/dp8"
android:layout_height="@dimen/dp20" android:text="@string/apply_refund"
android:layout_marginTop="@dimen/dp18" android:textColor="@color/color_999999"
android:src="@drawable/icon_order_coupon" android:textSize="@dimen/sp11"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toStartOf="@id/tv_contract_seller"
app:layout_constraintTop_toBottomOf="@id/tv_contract_seller" /> app:layout_constraintTop_toTopOf="@id/tv_contract_seller" />
<TextView <TextView
android:id="@+id/tv_coupon_name" android:id="@+id/tv_contract_seller"
android:layout_width="0dp" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp3" android:layout_marginTop="@dimen/dp8"
android:ellipsize="end" android:background="@drawable/shape_stroke_e5e5e5_corner_14"
android:maxLines="1" android:paddingStart="@dimen/dp13"
android:text="@string/red_packet_or_coupon" android:paddingTop="@dimen/dp9"
android:textColor="@color/color_333333" android:paddingEnd="@dimen/dp13"
android:textSize="@dimen/sp14" android:paddingBottom="@dimen/dp8"
app:layout_constraintBottom_toBottomOf="@id/iv_coupon" android:text="@string/contract_seller"
app:layout_constraintEnd_toStartOf="@id/tv_coupon_amount" android:textColor="@color/color_999999"
app:layout_constraintStart_toEndOf="@id/iv_coupon" android:textSize="@dimen/sp11"
app:layout_constraintTop_toTopOf="@id/iv_coupon" /> app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/rv_commodity_list" />
<TextView
android:id="@+id/tv_coupon_amount" <ImageView
android:layout_width="wrap_content" android:id="@+id/iv_coupon"
android:layout_height="wrap_content" android:layout_width="@dimen/dp20"
android:background="@drawable/shape_solid_d66948_corner_9" android:layout_height="@dimen/dp20"
android:drawableEnd="@drawable/icon_next_white" android:layout_marginTop="@dimen/dp18"
android:paddingStart="@dimen/dp8" android:src="@drawable/icon_order_coupon"
android:paddingTop="@dimen/dp2" app:layout_constraintStart_toStartOf="parent"
android:paddingEnd="@dimen/dp2" app:layout_constraintTop_toBottomOf="@id/tv_contract_seller" />
android:paddingBottom="@dimen/dp2"
android:textColor="@color/white" <TextView
android:textSize="@dimen/sp11" android:id="@+id/tv_coupon_name"
app:layout_constraintBottom_toBottomOf="@id/iv_coupon" android:layout_width="0dp"
app:layout_constraintEnd_toEndOf="parent" android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="@id/iv_coupon" android:layout_marginStart="@dimen/dp3"
tools:ignore="UseCompatTextViewDrawableXml" android:ellipsize="end"
tools:text="3张优惠券可用" /> android:maxLines="1"
android:text="@string/red_packet_or_coupon"
<TextView android:textColor="@color/color_333333"
android:id="@+id/tv_discount_amount_text" android:textSize="@dimen/sp14"
android:layout_width="wrap_content" app:layout_constraintBottom_toBottomOf="@id/iv_coupon"
android:layout_height="wrap_content" app:layout_constraintEnd_toStartOf="@id/tv_coupon_amount"
android:text="@string/discount_amount" app:layout_constraintStart_toEndOf="@id/iv_coupon"
android:textColor="@color/color_333333" app:layout_constraintTop_toTopOf="@id/iv_coupon" />
android:textSize="@dimen/sp14"
app:layout_constraintBaseline_toBaselineOf="@id/tv_total_amount" <TextView
app:layout_constraintEnd_toStartOf="@id/tv_discount_amount" /> android:id="@+id/tv_coupon_amount"
android:layout_width="wrap_content"
<TextView android:layout_height="wrap_content"
android:id="@+id/tv_discount_amount" android:background="@drawable/shape_solid_d66948_corner_9"
android:layout_width="wrap_content" android:drawableEnd="@drawable/icon_next_white"
android:layout_height="wrap_content" android:paddingStart="@dimen/dp8"
android:layout_marginEnd="@dimen/dp8" android:paddingTop="@dimen/dp2"
android:textColor="@color/color_D66948" android:paddingEnd="@dimen/dp2"
android:textSize="@dimen/sp14" android:paddingBottom="@dimen/dp2"
app:layout_constraintBaseline_toBaselineOf="@id/tv_total_amount" android:textColor="@color/white"
app:layout_constraintEnd_toStartOf="@id/tv_total_amount_text" android:textSize="@dimen/sp11"
tools:text="¥10.00" /> app:layout_constraintBottom_toBottomOf="@id/iv_coupon"
app:layout_constraintEnd_toEndOf="parent"
<TextView app:layout_constraintTop_toTopOf="@id/iv_coupon"
android:id="@+id/tv_total_amount_text" tools:ignore="UseCompatTextViewDrawableXml"
android:layout_width="wrap_content" tools:text="3张优惠券可用" />
android:layout_height="wrap_content"
android:text="@string/total_amount" <TextView
android:textColor="@color/color_333333" android:id="@+id/tv_discount_amount_text"
android:textSize="@dimen/sp14" android:layout_width="wrap_content"
app:layout_constraintBaseline_toBaselineOf="@id/tv_total_amount" android:layout_height="wrap_content"
app:layout_constraintEnd_toStartOf="@id/tv_total_amount" /> android:text="@string/discount_amount"
android:textColor="@color/color_333333"
<TextView android:textSize="@dimen/sp14"
android:id="@+id/tv_total_amount" app:layout_constraintBaseline_toBaselineOf="@id/tv_total_amount"
android:layout_width="wrap_content" app:layout_constraintEnd_toStartOf="@id/tv_discount_amount" />
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp24" <TextView
android:textColor="@color/black" android:id="@+id/tv_discount_amount"
android:textSize="@dimen/sp18" android:layout_width="wrap_content"
android:textStyle="bold" android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent" android:layout_marginEnd="@dimen/dp8"
app:layout_constraintTop_toBottomOf="@id/iv_coupon" android:textColor="@color/color_D66948"
tools:text="¥35.00" /> android:textSize="@dimen/sp14"
app:layout_constraintBaseline_toBaselineOf="@id/tv_total_amount"
</androidx.constraintlayout.widget.ConstraintLayout> app:layout_constraintEnd_toStartOf="@id/tv_total_amount_text"
\ No newline at end of file tools:text="¥10.00" />
<TextView
android:id="@+id/tv_total_amount_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/total_amount"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp14"
app:layout_constraintBaseline_toBaselineOf="@id/tv_total_amount"
app:layout_constraintEnd_toStartOf="@id/tv_total_amount" />
<TextView
android:id="@+id/tv_total_amount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp24"
android:textColor="@color/black"
android:textSize="@dimen/sp18"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_coupon"
tools:text="¥35.00" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto">
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/shape_solid_ffffff_corner_20"
android:paddingStart="@dimen/dp16"
android:paddingTop="20dp"
android:paddingEnd="@dimen/dp16"
android:paddingBottom="20dp">
<TextView <data>
android:id="@+id/tv_consignee_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/consignee_name"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp16"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText <variable
android:id="@+id/et_consignee_name" name="vm"
android:layout_width="0dp" type="com.yidian.shenghuoquan.border.viewmodel.OrderConsigneeInfoViewModel" />
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp12"
android:autofillHints="123"
android:background="@null"
android:hint="@string/please_input_consignee_name"
android:inputType="text"
android:textColor="@color/color_333333"
android:textColorHint="@color/color_999999"
android:textCursorDrawable="@drawable/shape_bg_input_cursor"
android:textSize="@dimen/sp16"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/tv_consignee_name"
app:layout_constraintTop_toTopOf="@id/tv_consignee_name" />
<TextView <variable
android:id="@+id/tv_consignee_phone" name="data"
android:layout_width="wrap_content" type="com.yidian.shenghuoquan.border.dto.OrderShippingInfo" />
android:layout_height="wrap_content" </data>
android:layout_marginTop="@dimen/dp20"
android:text="@string/consignee_phone"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp16"
app:layout_constraintStart_toStartOf="@id/tv_consignee_name"
app:layout_constraintTop_toBottomOf="@id/tv_consignee_name" />
<EditText <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/et_consignee_phone" android:layout_width="match_parent"
android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@null" android:background="@drawable/shape_solid_ffffff_corner_20"
android:hint="@string/please_input_consignee_phone" android:paddingStart="@dimen/dp16"
android:inputType="phone" android:paddingTop="20dp"
android:maxLength="11" android:paddingEnd="@dimen/dp16"
android:textColor="@color/color_333333" android:paddingBottom="20dp">
android:textColorHint="@color/color_999999"
android:textCursorDrawable="@drawable/shape_bg_input_cursor" <TextView
android:textSize="@dimen/sp16" android:id="@+id/tv_consignee_name"
app:layout_constraintEnd_toEndOf="parent" android:layout_width="wrap_content"
app:layout_constraintStart_toStartOf="@id/et_consignee_name" android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="@id/tv_consignee_phone" /> android:text="@string/consignee_name"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp16"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/et_consignee_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp12"
android:autofillHints="123"
android:background="@null"
android:hint="@string/please_input_consignee_name"
android:inputType="text"
android:text="@{data.receiverName}"
android:textColor="@color/color_333333"
android:textColorHint="@color/color_999999"
android:textCursorDrawable="@drawable/shape_bg_input_cursor"
android:textSize="@dimen/sp16"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/tv_consignee_name"
app:layout_constraintTop_toTopOf="@id/tv_consignee_name" />
<TextView
android:id="@+id/tv_consignee_phone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp20"
android:text="@string/consignee_phone"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp16"
app:layout_constraintStart_toStartOf="@id/tv_consignee_name"
app:layout_constraintTop_toBottomOf="@id/tv_consignee_name" />
<EditText
android:id="@+id/et_consignee_phone"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@null"
android:hint="@string/please_input_consignee_phone"
android:inputType="phone"
android:maxLength="11"
android:text="@{data.receiverMobile}"
android:textColor="@color/color_333333"
android:textColorHint="@color/color_999999"
android:textCursorDrawable="@drawable/shape_bg_input_cursor"
android:textSize="@dimen/sp16"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/et_consignee_name"
app:layout_constraintTop_toTopOf="@id/tv_consignee_phone" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file </layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools">
android:layout_width="match_parent"
android:layout_height="wrap_content" <data>
android:background="@drawable/shape_solid_ffffff_corner_20"
android:paddingStart="@dimen/dp16" <import type="android.view.View" />
android:paddingTop="@dimen/dp20"
android:paddingEnd="@dimen/dp16" <variable
android:paddingBottom="@dimen/dp20"> name="vm"
type="com.yidian.shenghuoquan.border.viewmodel.OrderInfoViewModel" />
<TextView
android:id="@+id/tv_order_info" <variable
android:layout_width="wrap_content" name="data"
android:layout_height="wrap_content" type="com.yidian.shenghuoquan.border.dto.OrderDetailDto" />
android:text="@string/order_info" </data>
android:textColor="@color/color_333333"
android:textSize="@dimen/sp16" <androidx.constraintlayout.widget.ConstraintLayout
android:textStyle="bold" android:layout_width="match_parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_order_no_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp28"
android:text="@string/order_no"
android:textColor="@color/color_999999"
android:textSize="@dimen/sp14"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_order_info" />
<TextView
android:id="@+id/tv_order_no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp8"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp14"
app:layout_constraintEnd_toStartOf="@id/tv_copy"
app:layout_constraintTop_toTopOf="@id/tv_order_no_text"
tools:text="98567572479254325580" />
<TextView
android:id="@+id/tv_copy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_stroke_e5e5e5_corner_14"
android:paddingStart="@dimen/dp12"
android:paddingTop="@dimen/dp5"
android:paddingEnd="@dimen/dp12"
android:paddingBottom="@dimen/dp5"
android:text="@string/copy"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp12"
app:layout_constraintBottom_toBottomOf="@id/tv_order_no_text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_order_no_text" />
<TextView
android:id="@+id/tv_order_payment_time_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp20"
android:text="@string/payment_time"
android:textColor="@color/color_999999"
android:textSize="@dimen/sp14"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_order_no_text" />
<TextView
android:id="@+id/tv_order_payment_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp14"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_order_payment_time_text"
tools:text="2021-5-10 10:23" />
<TextView
android:id="@+id/tv_order_refund_apply_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp20"
android:text="@string/refund_apply"
android:textColor="@color/color_999999"
android:textSize="@dimen/sp14"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_order_payment_time_text" />
<TextView
android:id="@+id/tv_order_refund_apply"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp14"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_order_refund_apply_text"
tools:text="2021-5-10 10:23" />
<TextView
android:id="@+id/tv_order_refund_time_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp20"
android:text="@string/refund_time"
android:textColor="@color/color_999999"
android:textSize="@dimen/sp14"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_order_refund_apply_text" />
<TextView
android:id="@+id/tv_order_refund_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp14"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_order_refund_time_text"
tools:text="2021-5-10 10:23" />
<TextView
android:id="@+id/tv_order_remark_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp20"
android:text="@string/order_remark"
android:textColor="@color/color_999999"
android:textSize="@dimen/sp14"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_order_refund_time_text" />
<TextView
android:id="@+id/tv_order_remark"
android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp14" android:background="@drawable/shape_solid_ffffff_corner_20"
android:textColor="@color/color_333333" android:paddingStart="@dimen/dp16"
android:textSize="@dimen/sp14" android:paddingTop="@dimen/dp20"
app:layout_constraintEnd_toEndOf="parent" android:paddingEnd="@dimen/dp16"
app:layout_constraintStart_toEndOf="@id/tv_order_remark_text" android:paddingBottom="@dimen/dp20">
app:layout_constraintTop_toTopOf="@id/tv_order_remark_text"
tools:text="不喜欢吃辣,希望少放点辣椒不喜欢吃辣,希望少放点辣椒不喜欢吃辣" /> <TextView
android:id="@+id/tv_order_info"
</androidx.constraintlayout.widget.ConstraintLayout> android:layout_width="wrap_content"
\ No newline at end of file android:layout_height="wrap_content"
android:text="@string/order_info"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp16"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_order_no_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp28"
android:text="@string/order_no"
android:textColor="@color/color_999999"
android:textSize="@dimen/sp14"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_order_info" />
<TextView
android:id="@+id/tv_order_no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp8"
android:text="@{data.orderId}"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp14"
app:layout_constraintEnd_toStartOf="@id/tv_copy"
app:layout_constraintTop_toTopOf="@id/tv_order_no_text"
tools:text="98567572479254325580" />
<TextView
android:id="@+id/tv_copy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_stroke_e5e5e5_corner_14"
android:paddingStart="@dimen/dp12"
android:paddingTop="@dimen/dp5"
android:paddingEnd="@dimen/dp12"
android:paddingBottom="@dimen/dp5"
android:text="@string/copy"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp12"
app:layout_constraintBottom_toBottomOf="@id/tv_order_no_text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_order_no_text" />
<TextView
android:id="@+id/tv_order_payment_time_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp20"
android:text="@string/payment_time"
android:textColor="@color/color_999999"
android:textSize="@dimen/sp14"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_order_no_text" />
<TextView
android:id="@+id/tv_order_payment_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{data.payTime}"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp14"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_order_payment_time_text"
tools:text="2021-5-10 10:23" />
<TextView
android:id="@+id/tv_order_refund_apply_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp20"
android:text="@string/refund_apply"
android:textColor="@color/color_999999"
android:textSize="@dimen/sp14"
android:visibility="@{data.orderStatus == 3 || data.orderStatus == 4 || data.orderStatus == 5 || data.orderStatus == 6 ? View.VISIBLE : View.GONE}"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_order_payment_time_text" />
<TextView
android:id="@+id/tv_order_refund_apply"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{data.refundApplyTime}"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp14"
android:visibility="@{data.orderStatus == 3 || data.orderStatus == 4 || data.orderStatus == 5 || data.orderStatus == 6 ? View.VISIBLE : View.GONE}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_order_refund_apply_text"
tools:text="2021-5-10 10:23" />
<TextView
android:id="@+id/tv_order_refund_time_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp20"
android:text="@{data.orderStatus == 4 ? @string/refund_time : @string/refuse_time}"
android:textColor="@color/color_999999"
android:textSize="@dimen/sp14"
android:visibility="@{data.orderStatus == 4 || data.orderStatus == 6 ? View.VISIBLE : View.GONE}"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_order_refund_apply_text" />
<TextView
android:id="@+id/tv_order_refund_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{data.orderStatus == 4 ? data.refundFinishTime : data.auditTime}"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp14"
android:visibility="@{data.orderStatus == 4 || data.orderStatus == 6 ? View.VISIBLE : View.GONE}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_order_refund_time_text"
tools:text="2021-5-10 10:23" />
<TextView
android:id="@+id/tv_order_remark_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp20"
android:text="@string/order_remark"
android:textColor="@color/color_999999"
android:textSize="@dimen/sp14"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_order_refund_time_text" />
<TextView
android:id="@+id/tv_order_remark"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp14"
android:text="@{data.marketingName}"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp14"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/tv_order_remark_text"
app:layout_constraintTop_toTopOf="@id/tv_order_remark_text"
tools:text="不喜欢吃辣,希望少放点辣椒不喜欢吃辣,希望少放点辣椒不喜欢吃辣" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools">
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/shape_solid_ffffff_corner_20"
android:paddingStart="@dimen/dp16"
android:paddingTop="@dimen/dp20"
android:paddingEnd="@dimen/dp16"
android:paddingBottom="@dimen/dp20">
<TextView <data>
android:id="@+id/tv_pickup_point"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/pickup_point"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp16"
android:visibility="gone"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView <variable
android:id="@+id/tv_pickup_point_name" name="vm"
android:layout_width="wrap_content" type="com.yidian.shenghuoquan.border.viewmodel.OrderPickupPointViewModel" />
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp12"
android:text="@string/please_select_pickup_point"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp16"
android:textStyle="bold"
app:layout_constraintStart_toEndOf="@id/tv_pickup_point"
app:layout_constraintTop_toTopOf="parent" />
<ImageView <variable
android:id="@+id/iv_pickup_point_select" name="data"
android:layout_width="@dimen/dp14" type="com.yidian.shenghuoquan.border.dto.PlaceList" />
android:layout_height="@dimen/dp14"
android:src="@drawable/icon_next"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView </data>
android:id="@+id/tv_pickup_point_address"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp8"
android:ellipsize="end"
android:maxLines="2"
android:text="@string/pickup_point"
android:textColor="@color/color_999999"
android:textSize="@dimen/sp14"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/tv_pickup_point_name"
app:layout_constraintTop_toBottomOf="@id/tv_pickup_point_name"
tools:text="经济技术开发区燕郊顺路123号经济技术开发区燕郊顺路123号经济技术开发区燕郊顺路123号经济技术开发区燕郊顺路123号" />
<TextView <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/tv_pickup_point_contact" android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp4" android:background="@drawable/shape_solid_ffffff_corner_20"
android:text="@string/pickup_point" android:paddingStart="@dimen/dp16"
android:textColor="@color/color_999999" android:paddingTop="@dimen/dp20"
android:textSize="@dimen/sp14" android:paddingEnd="@dimen/dp16"
android:visibility="gone" android:paddingBottom="@dimen/dp20">
app:layout_constraintStart_toStartOf="@id/tv_pickup_point_name"
app:layout_constraintTop_toBottomOf="@id/tv_pickup_point_address" <TextView
tools:text="提货点联系人:面团儿" /> android:id="@+id/tv_pickup_point"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/pickup_point"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp16"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_pickup_point_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp12"
android:text="@{data.takePlaceName}"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp16"
android:textStyle="bold"
app:layout_constraintStart_toEndOf="@id/tv_pickup_point"
app:layout_constraintTop_toTopOf="parent"
tools:text="维多利亚3层" />
<ImageView
android:id="@+id/iv_pickup_point_select"
android:layout_width="@dimen/dp14"
android:layout_height="@dimen/dp14"
android:src="@drawable/icon_next"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_pickup_point_address"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp8"
android:ellipsize="end"
android:maxLines="2"
android:text="@{data.address}"
android:textColor="@color/color_999999"
android:textSize="@dimen/sp14"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/tv_pickup_point_name"
app:layout_constraintTop_toBottomOf="@id/tv_pickup_point_name"
tools:text="经济技术开发区燕郊顺路123号经济技术开发区燕郊顺路123号经济技术开发区燕郊顺路123号经济技术开发区燕郊顺路123号" />
<TextView
android:id="@+id/tv_pickup_point_contact"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp4"
android:text="@{@string/pickup_point_contract(data.contactName, data.phone)}"
android:textColor="@color/color_999999"
android:textSize="@dimen/sp14"
app:layout_constraintStart_toStartOf="@id/tv_pickup_point_name"
app:layout_constraintTop_toBottomOf="@id/tv_pickup_point_address"
tools:text="提货点联系人:面团儿" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file </layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<import type="com.yidian.shenghuoquan.border.manager.OrderStatus" />
<import type="android.view.View" />
<variable
name="vm"
type="com.yidian.shenghuoquan.border.viewmodel.OrderStatusViewModel" />
<variable
name="status"
type="com.yidian.shenghuoquan.border.manager.OrderStatus" />
<variable
name="data"
type="com.yidian.shenghuoquan.border.dto.OrderDetailDto" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/iv_order_status"
android:layout_width="@dimen/dp24"
android:layout_height="@dimen/dp24"
app:layout_constraintBottom_toBottomOf="@id/tv_order_sub_status"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_order_status"
app:orderStatusImage="@{status}"
tools:src="@drawable/icon_order_status_paid" />
<TextView
android:id="@+id/tv_order_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp8"
android:text="@{status.text}"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp22"
android:textStyle="bold"
app:layout_constraintStart_toEndOf="@id/iv_order_status"
app:layout_constraintTop_toTopOf="parent"
tools:text="已支付" />
<TextView
android:id="@+id/tv_order_sub_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp8"
android:layout_marginTop="@dimen/dp8"
android:textColor="@color/color_666666"
android:textSize="@dimen/sp14"
android:visibility="@{status == OrderStatus.ORDER_STATUS_WAIT_REFUND || status == OrderStatus.ORDER_STATUS_REFUNDED || status == OrderStatus.ORDER_STATUS_REFUSE_REFUND ? View.VISIBLE : View.GONE}"
app:orderStatusDescription="@{status}"
app:orderDetailData="@{data}"
app:layout_constraintStart_toEndOf="@id/iv_order_status"
app:layout_constraintTop_toBottomOf="@id/tv_order_status"
tools:text="待商家确认" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/iv_order_status"
android:layout_width="@dimen/dp24"
android:layout_height="@dimen/dp24"
app:layout_constraintBottom_toBottomOf="@id/tv_order_sub_status"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_order_status"
tools:src="@drawable/icon_order_status_paid" />
<TextView
android:id="@+id/tv_order_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp8"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp22"
android:textStyle="bold"
app:layout_constraintStart_toEndOf="@id/iv_order_status"
app:layout_constraintTop_toTopOf="parent"
tools:text="已支付" />
<TextView
android:id="@+id/tv_order_sub_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp8"
android:layout_marginTop="@dimen/dp8"
android:textColor="@color/color_666666"
android:textSize="@dimen/sp14"
android:textStyle="bold"
android:visibility="gone"
app:layout_constraintStart_toEndOf="@id/iv_order_status"
app:layout_constraintTop_toBottomOf="@id/tv_order_status"
tools:text="待商家确认" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -20,4 +20,5 @@ ...@@ -20,4 +20,5 @@
<string name="refund_apply">退款申请</string> <string name="refund_apply">退款申请</string>
<string name="refund_time">退款时间</string> <string name="refund_time">退款时间</string>
<string name="order_remark">订单备注</string> <string name="order_remark">订单备注</string>
<string name="refuse_time">拒绝时间</string>
</resources> </resources>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment