18034727885
2026-04-14 370014cbb9ec1ef64e7e42bb4f9a12671461d8e4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package com.xw.yunwei.ui.work.car.manage
 
import android.annotation.SuppressLint
import androidx.databinding.DataBindingUtil
import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.xw.common.base.OnItemClickListener
import com.xw.common.utils.BindUtils.getUrl
import com.xw.common.utils.BindUtils.getResColor
import com.xw.common.viewAdapter.ImageDefault
import com.xw.common.viewAdapter.ViewAdapter
import com.xw.yunwei.R
import com.xw.yunwei.databinding.ItemWorkManageCarBinding
import com.xw.yunwei.model.CarModel
 
class CarAdapter(var listener: OnItemClickListener<CarModel>) :
    BaseQuickAdapter<CarModel, BaseViewHolder>(R.layout.item_work_manage_car) {
 
    var selectItem: CarModel? = null
 
    @SuppressLint("SetTextI18n")
    override fun convert(holder: BaseViewHolder, item: CarModel) {
        val binding: ItemWorkManageCarBinding? = DataBindingUtil.bind(holder.itemView)
        binding?.let {
            it.root.setOnClickListener {
                listener.onItemClick(item)
            }
            if (item == selectItem) {
                it.parent.setBackgroundColor(getResColor(com.xw.common.R.color.gray_3))
            } else {
                it.parent.setBackgroundColor(getResColor(com.xw.common.R.color.white))
            }
 
            var url = ""
            try {
                url = item.vehiclePictures?.getUrl() ?: ""
            } catch (e: Exception) {
            }
            ViewAdapter.loadImage(binding.icon, ImageDefault(url, R.mipmap.img_work_car))
            binding.name.text = item.plateNumber
            binding.color.text = item.vehicleColor
            binding.batteryLife.text = "${item.mileageRange?.toInt()}km"
            binding.batteryLife.setTextColor(
                com.xw.common.custom.BatteryView.getBatteryColor(
                    item.currentElectricity ?: 0
                )
            )
            binding.batteryView.setLevel(item.currentElectricity ?: 0)
 
            val setStatus: (Int, Int) -> Unit = { text, bg ->
                binding.status.setTextColor(text)
                binding.status.setBackgroundResource(bg)
            }
 
            // 1=运营中 2=维修中 3=已收车 4=车辆异常
            when (item.operatingStatus) {
                1 -> {
                    setStatus(
                        getResColor(com.xw.common.R.color.blue_5),
                        com.xw.common.R.color.blue_1
                    )
                    binding.status.text = "运营中"
                }
 
                2 -> {
                    setStatus(
                        getResColor(com.xw.common.R.color.red_5),
                        com.xw.common.R.color.red_1
                    )
                    binding.status.text = "维修中"
                }
 
                3 -> {
                    setStatus(
                        getResColor(com.xw.common.R.color.gray_7),
                        com.xw.common.R.color.gray_3
                    )
                    binding.status.text = "已收车"
                }
 
                4 -> {
                    setStatus(
                        getResColor(com.xw.common.R.color.orange_5),
                        com.xw.common.R.color.orange_1
                    )
                    binding.status.text = "车辆异常"
                }
            }
        }
    }
 
}