lmw
2023-06-20 7e4a923b472a1ffb9d6deeb80302551ba4178ca3
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
package com.fanghua.driver.ui.mine
 
import androidx.core.content.ContextCompat
import androidx.core.os.bundleOf
import androidx.fragment.app.Fragment
import cn.sinata.xldutils.utils.StringUtils
import cn.sinata.xldutils.utils.TimeUtils
import cn.sinata.xldutils.utils.clickDelay
import com.fanghua.driver.R
import com.fanghua.driver.base.BaseEvent
import com.fanghua.driver.base.MyBaseActivity
import com.fanghua.driver.bean.RankData
import com.fanghua.driver.dialog.TypeDialog
import com.fanghua.driver.ui.mine.money_bag.RankFragment
import com.fanghua.driver.utils.citypickerview.picker.widget.builder.TimePickerBuilder
import com.fanghua.driver.utils.citypickerview.picker.widget.configure.TimePickerType
import com.fanghua.driver.utils.citypickerview.picker.widget.listener.OnTimeSelectListener
import kotlinx.android.synthetic.main.activity_rank.*
import org.greenrobot.eventbus.EventBus
import java.util.*
 
class RankActivity : MyBaseActivity() {
    override fun setContentView() {
        setContentView(R.layout.activity_rank)
    }
    private val fragments = arrayListOf<Fragment>()
    var type = 2 //1=日,2=月,3=年
 
    override fun initView() {
        setTitleText("业绩排行")
        fragments.add(RankFragment.newInstance(1))
        fragments.add(RankFragment.newInstance(2))
        fragments.add(RankFragment.newInstance(3))
        tab_layout.setViewPager(view_pager, arrayOf("订单排名","佣金排名","收入排名"),this,fragments)
        tv_time.text = TimeUtils.getTimeYM(System.currentTimeMillis())
    }
 
    override fun setOnclick() {
        tv_time.clickDelay {
            showTimePicker()
        }
        tv_type.clickDelay {
            val typeDialog = TypeDialog()
            typeDialog.arguments = bundleOf("type" to tv_type.text.toString(),"list" to arrayListOf("日","月","年"))
            typeDialog.setCallback(object :TypeDialog.OnOkClick{
                override fun onOk(name: String, type: Int) {
                    tv_type.text = name
                    this@RankActivity.type = if (name == "月") 2 else if (name == "年") 3 else 1
                    tv_time.text = if (this@RankActivity.type == 1) TimeUtils.getTimeYMD1(System.currentTimeMillis()) else if (this@RankActivity.type == 2) TimeUtils.getTimeYM(System.currentTimeMillis()) else TimeUtils.getTimeY(System.currentTimeMillis())
                    EventBus.getDefault().post(BaseEvent(BaseEvent.REFRESH_DATE))
                }
            })
            typeDialog.show(supportFragmentManager,"type")
        }
    }
 
    fun getTime() = tv_time.text.toString()
 
    fun showData(data:RankData){
        iv_avatar.setImageURI(data.avatar)
        tv_name.text = "%s|当前排名第%d名".format(data.name,data.position)
        tv_phone.text = StringUtils.hidePhoneNumber(data.phone)
        tv_income.text = "%s元".format(data.grossIncome)
        tv_count.text = "%d单".format(data.totalOrder)
    }
 
    fun showTimePicker() {
        var startCalendar = Calendar.getInstance()
        var endCalendar = Calendar.getInstance()
        var nowCalendar = Calendar.getInstance()
        startCalendar.set(2023, 1, 1)
        val time = tv_time.text.toString()
        nowCalendar.set(Calendar.YEAR, time.substring(0,4).toInt())
        if (time.length>5)
            nowCalendar.set(Calendar.MONTH, time.substring(5,7).toInt()-1)
        if (time.length>8)
            nowCalendar.set(Calendar.DAY_OF_MONTH, time.substring(8,10).toInt())
        var timePic = TimePickerBuilder(this,
            OnTimeSelectListener { date, v ->
                tv_time.text = if (type == 1) TimeUtils.getTimeYMD1(date.time) else if (type == 2) TimeUtils.getTimeYM(date.time) else TimeUtils.getTimeY(date.time)
                EventBus.getDefault().post(BaseEvent(BaseEvent.REFRESH_DATE))
            })
            .setTitleText("")
            .setBgColor(ContextCompat.getColor(this, R.color.white))
            .setCancelColor(ContextCompat.getColor(this, R.color.black_333333))
            .setSubmitColor(ContextCompat.getColor(this, R.color.main_yellow_shen))
            .setRangDate(startCalendar, endCalendar)
            .setDate(nowCalendar)
            .setType(if (type == 1) TimePickerType.DEFAULT else if (type == 2) TimePickerType.YM else TimePickerType.YEAR)
            .setSubmitText("确认")
            .setLineSpacingMultiplier(2f)
            .build()
        timePic.show()
    }
}