package com.igo.user.ui.mine.adapter
|
|
import android.view.View
|
import android.widget.TextView
|
import cn.sinata.xldutils.adapter.HFRecyclerAdapter
|
import cn.sinata.xldutils.adapter.util.ViewHolder
|
import cn.sinata.xldutils.gone
|
import cn.sinata.xldutils.toBrowser
|
import cn.sinata.xldutils.utils.myToast
|
import cn.sinata.xldutils.visible
|
import com.igo.user.R
|
import com.igo.user.extension.extClearInvalidZero
|
import com.igo.user.network.entity.Order
|
import org.jetbrains.anko.sdk27.coroutines.onClick
|
import org.jetbrains.anko.textColorResource
|
|
class LogisticsAdapter(datas: ArrayList<Order>,private val callback:ClickCallback) : HFRecyclerAdapter<Order>(datas, R.layout.item_logistics_order) {
|
override fun onBind(holder: ViewHolder, position: Int, data: Order) {
|
val pay = holder.bind<TextView>(R.id.tv_pay)
|
val cancel = holder.bind<TextView>(R.id.tv_cancel)
|
val line = holder.bind<View>(R.id.line)
|
holder.setText(R.id.tv_time,data.orderTime)
|
holder.setText(R.id.tv_start,data.startAddress)
|
holder.setText(R.id.tv_goods_typ,if (data.remark.isNullOrEmpty()) "——" else data.remark)
|
holder.setText(R.id.tv_trip_time,data.time)
|
holder.setText(R.id.tv_state,context.getString(data.getLogisticsState()))
|
holder.bind<TextView>(R.id.tv_state).textColorResource = if (data.state == 10) cn.sinata.xldutils.R.color.textColor66 else R.color.colorPrimary
|
cancel.onClick {
|
callback.onCancel(position)
|
}
|
cancel.gone()
|
pay.gone()
|
// Log.e("快件列表状态: ", data.state.toString())
|
when(data.state){ //1=待接单,2=待出发,3=待到达预约地点,4=待乘客上车,5=服务中,6=完成服务,7=待支付,8=待评价,9=已完成,10=已取消,11=改派中,12=取消待支付,13=补差价)
|
1->{
|
cancel.visible()
|
}
|
|
6->{
|
pay.text = context.getString(R.string.开收据)
|
line.visible()
|
pay.onClick {
|
if (data.receipt.isNullOrEmpty())
|
context.myToast(context.getString(R.string.收据不可用))
|
else
|
context.toBrowser(data.receipt)
|
}
|
}
|
7->{
|
pay.visible()
|
pay.text = context.getString(R.string.立即支付含金额,data.getShowOrderMoney()).replace(",",".").extClearInvalidZero()
|
line.visible()
|
pay.onClick {
|
callback.onPay(position)
|
}
|
}
|
13->{
|
pay.visible()
|
pay.text = context.getString(R.string.支付差价及金额,data.getShowDifferenceMoney()).replace(",",".")
|
line.visible()
|
pay.onClick {
|
callback.onPay(position)
|
}
|
}
|
in (1..4),11->{
|
line.visible()
|
}
|
else->{
|
pay.gone()
|
cancel.gone()
|
line.gone()
|
}
|
}
|
}
|
|
interface ClickCallback{
|
fun onPay(index:Int)
|
fun onCancel(index:Int)
|
}
|
}
|