lmw
2024-06-18 1f45a54dc8e149548d3a61d1228741627aa4f23e
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
package com.dollearn.student.ui.course.adapter
 
import android.widget.TextView
import androidx.core.os.bundleOf
import cn.sinata.xldutils.activity.BaseActivity
import cn.sinata.xldutils.adapter.HFRecyclerAdapter
import cn.sinata.xldutils.adapter.util.ViewHolder
import cn.sinata.xldutils.gone
import cn.sinata.xldutils.utils.myToast
import cn.sinata.xldutils.utils.parserTime
import cn.sinata.xldutils.utils.showAllowingStateLoss
import cn.sinata.xldutils.visible
import com.google.gson.Gson
import com.dollearn.student.R
import com.dollearn.student.dialog.CheckQrCodeDialog
import com.dollearn.student.network.HttpManager
import com.dollearn.student.network.entity.Duration
import com.dollearn.student.network.entity.QrBean
import com.dollearn.student.network.entity.ReserveRecord
import com.dollearn.student.network.request
import com.dollearn.student.ui.course.PracticeListActivity
import org.jetbrains.anko.backgroundResource
import org.jetbrains.anko.startActivity
import org.jetbrains.anko.textColorResource
import java.util.ArrayList
 
class ReserveRecordAdapter(list: ArrayList<ReserveRecord>) :
    HFRecyclerAdapter<ReserveRecord>(list, R.layout.item_reserve_record) {
    var stuId = ""
    override fun onBind(holder: ViewHolder, position: Int, data: ReserveRecord) {
        val state = holder.bind<TextView>(R.id.tv_state)
        val action = holder.bind<TextView>(R.id.tv_action)
        holder.setText(R.id.tv_name, data.coursePackageName)
        holder.setText(R.id.tv_course, "${data.courseHours}课时")
        holder.setText(R.id.tv_address, data.storeNameAddr)
        holder.setText(R.id.tv_time, data.timeFrame)
        when (data.status) {//1待上课 2已开始 3已完成 4已取消,5已请假
            1 -> {
                action.visible()
                action.text = "二维码"
                action.backgroundResource = R.drawable.bg_orange_2dp
                state.text = "待上课"
                state.textColorResource = R.color.colorPrimary
            }
            2 -> {
                action.gone()
                state.text = "已开始"
                state.textColorResource = R.color.textColor99
            }
            3 -> {
                action.text = "课后练习"
                action.visible()
                action.backgroundResource = R.drawable.bg_blue_4dp
                state.text = "已完成"
                state.textColorResource = R.color.textColor99
            }
            4 -> {
                action.gone()
                state.text = "已取消"
                state.textColorResource = R.color.textColor99
            }
            5 -> {
                action.gone()
                state.text = "已请假"
                state.textColorResource = R.color.textColor99
            }
        }
        action.setOnClickListener {
            if (data.status == 1) {
//                HttpManager.cancelCourse(data.courseStuRecordId).request(context as BaseActivity){_,_->
//                    context.myToast("取消成功")
//                    data.status = 4
//                    notifyItemChanged(position)
//                }
                val duration = listOf(
                    Duration(
                        data.timeFrame.substring(0, 19).parserTime()/1000,
                        "${data.timeFrame.substring(0, 11)}${data.timeFrame.substring(20, 28)}".parserTime()/1000
                    )
                )
                val qrBean = QrBean(data.sid, data.rid, data.userId, duration)
                val dialog = CheckQrCodeDialog()
                dialog.arguments = bundleOf("qrinfo" to Gson().toJson(qrBean))
                dialog.showAllowingStateLoss((action.context as BaseActivity).supportFragmentManager, "checkqr")
            } else if (data.status == 3) {
                context.startActivity<PracticeListActivity>("stuId" to stuId)
            }
        }
    }
 
}