|
|
@@ -1,19 +1,14 @@
|
|
|
package com.yingyang.workbenches.datamonitor
|
|
|
|
|
|
import android.text.Html
|
|
|
-import androidx.recyclerview.widget.GridLayoutManager
|
|
|
import com.yingyang.workbenches.adapter.DataMonitorAdapter
|
|
|
-import com.yingyang.workbenches.adapter.DateAdapter
|
|
|
import com.yingyang.workbenches.databinding.FragmentDataMonitorBinding
|
|
|
-import com.yingyang.workbenches.entity.DayBean
|
|
|
import com.yingyang.workbenches.entity.MonthRecordBean
|
|
|
import com.yingyangfly.baselib.mvvm.BaseMVVMFragment
|
|
|
import com.yingyangfly.baselib.utils.RxBusCodes
|
|
|
-import com.yingyangfly.baselib.utils.StringUtil
|
|
|
import com.yingyangfly.baselib.utils.User
|
|
|
import gorden.rxbus2.Subscribe
|
|
|
import gorden.rxbus2.ThreadMode
|
|
|
-import java.util.*
|
|
|
|
|
|
|
|
|
/**
|
|
|
@@ -21,10 +16,7 @@ import java.util.*
|
|
|
*/
|
|
|
class DataMonitorFragment : BaseMVVMFragment<FragmentDataMonitorBinding, DataMonitorViewModel>() {
|
|
|
|
|
|
- private var calendar: Calendar? = null
|
|
|
private var monthRecordList = mutableListOf<MonthRecordBean>()
|
|
|
- private var dataList = mutableListOf<DayBean>()
|
|
|
- private val dateAdapter by lazy { DateAdapter() }
|
|
|
|
|
|
/**
|
|
|
* 数据监控adapter
|
|
|
@@ -34,22 +26,10 @@ class DataMonitorFragment : BaseMVVMFragment<FragmentDataMonitorBinding, DataMon
|
|
|
|
|
|
override fun initViews() {
|
|
|
binding {
|
|
|
- rvDate.layoutManager = GridLayoutManager(mContext, 7)
|
|
|
- rvDate.adapter = dateAdapter
|
|
|
- dateAdapter.setData(dataList)
|
|
|
- val summarize =
|
|
|
- "您已开通居家训练<font color='#FF0000'>10</font>天,共累计完成了专属专属训练<font color='#FF0000'>5</font>次"
|
|
|
+ val summarize = "您已开通居家训练<font color='#FF0000'>10</font>天,共累计完成了专属专属训练<font color='#FF0000'>5</font>次"
|
|
|
tvSummarize.setText(Html.fromHtml(summarize))
|
|
|
val trainingTime = "累计训练时长(含自由训练)<font color='#FF0000'>300</font>分钟"
|
|
|
tvTrainingTime.setText(Html.fromHtml(trainingTime))
|
|
|
- //数据监控adapter
|
|
|
- dataMonitorList.add("第1周(07.31-08.06)")
|
|
|
- dataMonitorList.add("第2周(08.07-08.13)")
|
|
|
- dataMonitorList.add("第3周(08.14-08.20)")
|
|
|
- dataMonitorList.add("第4周(08.21-08.27)")
|
|
|
- dataMonitorList.add("第5周(08.28-09.02)")
|
|
|
- weekLayout.adapter = dataMonitorAdapter
|
|
|
- dataMonitorAdapter.setData(dataMonitorList)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -58,7 +38,6 @@ class DataMonitorFragment : BaseMVVMFragment<FragmentDataMonitorBinding, DataMon
|
|
|
}
|
|
|
|
|
|
override fun initData() {
|
|
|
- calendar = Calendar.getInstance()
|
|
|
binding.tvDate.text = User.getNowDay()
|
|
|
|
|
|
}
|
|
|
@@ -83,73 +62,7 @@ class DataMonitorFragment : BaseMVVMFragment<FragmentDataMonitorBinding, DataMon
|
|
|
* 设置日历数据
|
|
|
*/
|
|
|
private fun setNowDate() {
|
|
|
- dataList.clear()
|
|
|
- // 得到本月一号的星期索引
|
|
|
- // 索引从 1 开始,第一个为星期日,减1是为了与星期对齐,如星期一对应索引1,星期二对应索引二
|
|
|
- calendar!![Calendar.DAY_OF_MONTH] = 1
|
|
|
- var weekIndex = calendar!![Calendar.DAY_OF_WEEK] - 1
|
|
|
- // 将日期设为上个月
|
|
|
- calendar!![Calendar.MONTH] = calendar!![Calendar.MONTH] - 1
|
|
|
- val preMonthDays: Int = StringUtil.getMonth(
|
|
|
- calendar!![Calendar.MONTH] + 1,
|
|
|
- calendar!![Calendar.YEAR]
|
|
|
- )
|
|
|
- // 拿到上一个月的最后几天的天数
|
|
|
- for (i in 0 until weekIndex) {
|
|
|
- val bean = DayBean()
|
|
|
- bean.year = calendar!![Calendar.YEAR]
|
|
|
- bean.month = calendar!![Calendar.MONTH] + 1
|
|
|
- bean.day = preMonthDays - weekIndex + i + 1
|
|
|
- bean.isCurrentDay = false
|
|
|
- bean.isCurrentMonth = false
|
|
|
- dataList.add(bean)
|
|
|
- }
|
|
|
- // 将日期设为当月
|
|
|
- calendar!![Calendar.MONTH] = calendar!![Calendar.MONTH] + 1
|
|
|
- val currentDays =
|
|
|
- StringUtil.getMonth(calendar!![Calendar.MONTH] + 1, calendar!![Calendar.YEAR])
|
|
|
- // 拿到当月的天数
|
|
|
- for (i in 0 until currentDays) {
|
|
|
- val bean = DayBean()
|
|
|
- bean.year = calendar!![Calendar.YEAR]
|
|
|
- bean.month = calendar!![Calendar.MONTH] + 1
|
|
|
- bean.day = i + 1
|
|
|
- // 当前日期
|
|
|
- val nowDate: String =
|
|
|
- StringUtil.getFormatTime("yyyy-M-d", Calendar.getInstance().time)
|
|
|
- // 选择的日期
|
|
|
- val selectDate: String =
|
|
|
- StringUtil.getFormatTime("yyyy-M-", calendar!!.time) + (i + 1)
|
|
|
- // 假如相等的话,那么就是今天的日期了
|
|
|
- bean.isCurrentDay = nowDate.contentEquals(selectDate)
|
|
|
- bean.isCurrentMonth = true
|
|
|
- bean.status = ""
|
|
|
- if (monthRecordList.isNullOrEmpty().not()) {
|
|
|
- monthRecordList.forEach {
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- dataList.add(bean)
|
|
|
- }
|
|
|
-
|
|
|
- // 拿到下个月第一周的天数
|
|
|
- // 先拿到下个月第一天的星期索引
|
|
|
- // 之前设为了1号,所以将日历对象的月数加 1 就行了
|
|
|
- calendar!![Calendar.MONTH] = calendar!![Calendar.MONTH] + 1
|
|
|
- weekIndex = calendar!![Calendar.DAY_OF_WEEK] - 1
|
|
|
- for (i in 0 until 7 - weekIndex) {
|
|
|
- val bean = DayBean()
|
|
|
- bean.year = calendar!![Calendar.YEAR]
|
|
|
- bean.month = calendar!![Calendar.MONTH] + 1
|
|
|
- bean.day = i + 1
|
|
|
- bean.isCurrentDay = false
|
|
|
- bean.isCurrentMonth = false
|
|
|
- dataList.add(bean)
|
|
|
- }
|
|
|
- dateAdapter.setData(dataList)
|
|
|
- // 最后将日期设为当月
|
|
|
- calendar!![Calendar.MONTH] = calendar!![Calendar.MONTH] - 1
|
|
|
}
|
|
|
|
|
|
}
|