package com.fanghua.driver.ui.adapter
|
|
import android.view.View
|
import cn.sinata.xldutils.activitys.BaseActivity
|
import cn.sinata.xldutils.utils.*
|
import com.google.gson.Gson
|
import com.fanghua.driver.R
|
import com.fanghua.driver.base.BaseRvAdapter
|
import com.fanghua.driver.base.BaseViewHolder
|
import com.fanghua.driver.bean.BaseBean
|
import com.fanghua.driver.bean.OrderBean
|
import com.fanghua.driver.netUtls.Api
|
import com.fanghua.driver.netUtls.callNet
|
import com.fanghua.driver.netUtls.getMapByAny
|
import com.fanghua.driver.ui.main.TripActivity
|
import com.fanghua.driver.utils.checkPermission
|
import kotlinx.android.synthetic.main.item_order_home_list.view.*
|
import org.jetbrains.anko.startActivity
|
|
class OrderHomeListAdapter: BaseRvAdapter<OrderBean>() {
|
|
override fun getLayoutResId(viewType: Int): Int {
|
return R.layout.item_order_home_list
|
}
|
|
override fun onBindItem(holder: BaseViewHolder?, view: View?, item: OrderBean) {
|
holder?.let {
|
it.itemView.tv_name.text = item.userName
|
it.itemView.iv_avatar.setImageURI(item.avatar)
|
it.itemView.tv_phone.text = StringUtils.hidePhoneNumber(item.userPhone)
|
it.itemView.tv_distance.text = if (item.currentDistance>100) "距你约%.1f公里".format(item.currentDistance/1000) else "距你约%d米".format(item.currentDistance.toInt())
|
it.itemView.tv_creator.text = if (item.source == 1){
|
it.itemView.tv_order_count.apply {
|
visible()
|
text = "下单%d次".format(item.orderTimes)
|
}
|
it.itemView.tv_cancel_count.apply {
|
visible()
|
text = "取消%d次".format(item.cancelTimes)
|
}
|
"乘客创建"
|
} else{
|
it.itemView.tv_order_count.gone()
|
it.itemView.tv_cancel_count.gone()
|
if (item.source == 3) "后台创建" else "司机创建"
|
}
|
|
it.itemView.tv_action.clickDelay {
|
if ((context as BaseActivity).checkPermission()){
|
var map = getMapByAny()
|
map["orderId"] = item.id
|
callNet(context, Api.grabOrder, map) {
|
val bean = Gson().fromJson<BaseBean>(it, BaseBean::class.java)
|
if (bean.resultUtil.code == 10000){
|
data.remove(item)
|
notifyDataSetChanged()
|
toast("抢单成功")
|
context.startActivity<TripActivity>("orderId" to item.id)
|
}else
|
toast(bean.resultUtil.msg)
|
}
|
}
|
}
|
it.itemView.tv_time.text = TimeUtils.getTripTime(item.createTime)
|
it.itemView.tv_start.text = item.startAddress
|
it.itemView.tv_end.text = if (item.endAddress.isNullOrEmpty()){
|
it.itemView.tv_2.gone()
|
it.itemView.tv_length.gone()
|
it.itemView.center.gone()
|
it.itemView.tv_1.text = "起步价"
|
it.itemView.tv_money.text = "%.2f元".format(item.startPrice)
|
"未填写"
|
} else{
|
it.itemView.tv_2.visible()
|
it.itemView.tv_length.visible()
|
it.itemView.center.visible()
|
it.itemView.tv_1.text = "预估费用"
|
it.itemView.tv_money.text = "%.2f元".format(item.estimatedPrice)
|
it.itemView.tv_length.text = "%.1f公里".format(item.estimatedMileage.toDouble())
|
item.endAddress
|
}
|
}
|
}
|
}
|