lmw
2023-05-27 ff365ff4346d220edf2ec1d0041f2284befe3870
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
93
94
95
96
97
98
99
100
package com.fanghua.driver.ui.mine
 
import android.content.Intent
import androidx.recyclerview.widget.LinearLayoutManager
import cn.sinata.xldutils.utils.clickDelay
import cn.sinata.xldutils.utils.gone
import cn.sinata.xldutils.utils.visible
import com.flyco.tablayout.listener.CustomTabEntity
import com.fanghua.driver.R
import com.fanghua.driver.base.MyBaseFragment
import com.fanghua.driver.bean.ScoreBean
import com.fanghua.driver.netUtls.Api
import com.fanghua.driver.netUtls.callNet
import com.fanghua.driver.netUtls.getMapByAny
import com.fanghua.driver.ui.adapter.ScoreIncomeAdapter
import com.flyco.tablayout.listener.OnTabSelectListener
import com.google.gson.Gson
import kotlinx.android.synthetic.main.fragment_score_income.*
 
class ScoreIncomeFragment :MyBaseFragment(){
    override fun layoutId() = R.layout.fragment_score_income
 
    private val adapter = ScoreIncomeAdapter()
    private var type:Int? = null //类型(1=获取,2=消耗)
 
    override fun initView() {
        val list = arrayListOf<CustomTabEntity>()
        list.addAll(listOf("全部","获取","消耗").map { object :CustomTabEntity{
            override fun getTabTitle() = it
 
            override fun getTabSelectedIcon() = 0
 
            override fun getTabUnselectedIcon() = 0
        } })
        tab_layout.setTabData(list)
        tab_layout.setOnTabSelectListener(object :OnTabSelectListener{
            override fun onTabSelect(position: Int) {
                pageNumber = 1
                type = if (position == 0) null else position
                callData()
            }
 
            override fun onTabReselect(position: Int) {
            }
        })
        recycler_view.layoutManager = LinearLayoutManager(requireContext())
        recycler_view.adapter = adapter
 
        smart_refresh_layout.setOnRefreshListener {
            pageNumber = 1
            callData()
        }
 
        smart_refresh_layout.setOnLoadMoreListener {
            pageNumber++
            callData()
        }
 
        tv_action.clickDelay {
            startActivity(Intent(requireContext(),ExchangeActivity::class.java))
        }
 
        callData()
    }
 
 
    private fun callData(){
        val map = getMapByAny()
        map["pageSize"] = PAGE_SIZE
        map["pageNum"] = pageNumber
        if (type!=null)
            map["type"] = type
        callNet(Api.queryDriverIntegralIncomeAndExpenses,map,{
            val bean = Gson().fromJson(it, ScoreBean::class.java)
            if (bean.resultUtil.code == 10000){
                if (pageNumber == 1)
                    adapter.data.clear()
                adapter.data.addAll(bean.resultUtil.data)
                adapter.notifyDataSetChanged()
            }else{
                showToast(bean.resultUtil.msg)
                pageNumber--
            }
            showNoData()
        }){
            pageNumber--
            showNoData()
        }
    }
 
    private fun showNoData(){
        smart_refresh_layout.finishLoadMore()
        smart_refresh_layout.finishRefresh()
        if (adapter.data.isEmpty())
            ll_nothing.visible()
        else
            ll_nothing.gone()
        dismissDialog()
    }
}