lmw
2024-05-27 c00669a852702e1aa1326872bb916f9a079b57e2
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
package com.future.driver.ui.adapter
 
import android.view.View
import cn.sinata.xldutils.utils.clickDelay
import cn.sinata.xldutils.utils.textColor
import com.future.driver.R
import com.future.driver.base.BaseRvAdapter
import com.future.driver.base.BaseViewHolder
import com.future.driver.bean.LineClassBean
import com.future.driver.netUtls.Api
import com.future.driver.netUtls.callNet
import com.future.driver.netUtls.getMapByAny
import com.future.driver.utils.DateUtil
import kotlinx.android.synthetic.main.item_line_class.view.*
import java.util.*
 
class LineClassAdapter: BaseRvAdapter<LineClassBean.DataBean>() {
 
    var calendar = Calendar.getInstance()
 
    override fun getLayoutResId(viewType: Int): Int {
        return R.layout.item_line_class
    }
 
    override fun onBindItem(holder: BaseViewHolder?, view: View?, item: LineClassBean.DataBean?) {
        holder?.let {
            it.itemView.tv_time.text = item!!.time
 
            when(item.state){
                1 -> {
                    it.itemView.tv_statue.text = "不可预约"
                    it.itemView.tv_statue.textColor(context,R.color.gray_transcation_40)
                    it.itemView.tv_statue.clickDelay {  }
                }
                2 -> {
                    it.itemView.tv_statue.text = "取消预约"
                    it.itemView.tv_statue.textColor(context,R.color.main_item_orange)
                    it.itemView.tv_statue.clickDelay {
                        reservation(2,item)
                    }
                }
                3 -> {
                    it.itemView.tv_statue.text = "预约"
                    it.itemView.tv_statue.textColor(context,R.color.main_item_orange)
                    it.itemView.tv_statue.clickDelay {
                        reservation(1,item)
                    }
                }
            }
 
        }
    }
 
    private fun reservation(type: Int, item: LineClassBean.DataBean) {
        var map = getMapByAny()
        map["lineShiftId"] = item.id
        map["time"] = DateUtil.getTime(DateUtil.TYPE1,calendar.timeInMillis)
        map["type"] = type
        callNet(context,Api.reservation,map){
            if (type == 1){
                item.state = 2
            }
            if (type == 2){
                item.state = 3
            }
            notifyDataSetChanged()
        }
 
    }
 
}