package com.xw.yunwei.ui.work.car.detail.operations.repair.record import android.annotation.SuppressLint import androidx.fragment.app.Fragment import androidx.viewpager2.adapter.FragmentStateAdapter import com.google.android.material.tabs.TabLayoutMediator import com.xw.common.base.BaseActivity import com.xw.yunwei.BR import com.xw.yunwei.Constants.user import com.xw.yunwei.databinding.ActivityCarRepairRecordBinding import com.xw.yunwei.model.CarModel import com.xw.yunwei.model.MaintainRecordModel /** * 车辆维修记录 */ class RepairRecordActivity : BaseActivity() { override fun getBindingVariable() = BR.viewModel private val tabTitles = listOf("整备记录", "充电记录", "检测记录", "维修记录", "车身清洁") override fun init() { super.init() viewModel.carId = intent.getLongExtra("carId", 0L) viewModel.queryInfo() binding.pager.adapter = PageAdapter() TabLayoutMediator(binding.tabs, binding.pager) { tab, positon -> tab.text = tabTitles[positon] }.attach() } override fun setObservable() { super.setObservable() with(viewModel) { carInfo.observe(this@RepairRecordActivity) { initBasicInfo(it) } } } @SuppressLint("SetTextI18n") private fun initBasicInfo(it: CarModel) { binding.batteryLife.text = "${it.mileageRange?.toInt()}km" binding.batteryLife.setTextColor( com.xw.common.custom.BatteryView.getBatteryColor( it.currentElectricity ?: 0 ) ) binding.batteryView.setLevel(it.currentElectricity ?: 0) } private inner class PageAdapter : FragmentStateAdapter(this) { override fun getItemCount(): Int = tabTitles.size override fun createFragment(position: Int): Fragment { return when (tabTitles[position]) { "整备记录" -> RecordFragment(position, viewModel.carId) "充电记录" -> RecordFragment(position, viewModel.carId) "检测记录" -> RecordFragment(position, viewModel.carId) "维修记录" -> RecordFragment(position, viewModel.carId) "车身清洁" -> RecordFragment(position, viewModel.carId) else -> error("Wrong position $position") } } } }