package com.xw.yunwei.ui.work.car.detail.operations.repair import android.annotation.SuppressLint import androidx.recyclerview.widget.GridLayoutManager import com.xw.common.base.BaseActivity import com.xw.common.base.FileSelectBean import com.xw.common.base.ImageEventListener import com.xw.common.base.ImageSelectAdapter import com.xw.common.base.ShowImgListDialog import com.xw.common.utils.BindUtils.getUrls import com.xw.yunwei.BR import com.xw.yunwei.databinding.ActivityCarRepairDetailBinding import com.xw.yunwei.model.CarCheckModel import com.xw.yunwei.model.CarModel import com.xw.yunwei.ui.work.car.detail.operations.repair.record.RepairCarDetailVM import java.util.ArrayList /** * 车辆维修详情 */ class RepairCarDetailActivity : BaseActivity() { override fun getBindingVariable() = BR.viewModel override fun init() { super.init() viewModel.carId = intent.getLongExtra("carId", 0L) viewModel.recordId = intent.getLongExtra("recordId", 0L) viewModel.queryInfo() viewModel.queryRecord() initAdapter() } override fun setObservable() { super.setObservable() viewModel.carInfo.observe(this) { initBasicInfo(it) } viewModel.recordInfo.observe(this) { with(viewModel) { it.startRepairPicture?.getUrls()?.let { adapters[0].setList(it.map { FileSelectBean(url = it, type = "img") }) } it.repairMoneyDetail?.getUrls()?.let { adapters[1].setList(it.map { FileSelectBean(url = it, type = "img") }) } } } } @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 fun initAdapter(){ viewModel.adapters.clear() viewModel.imageEvents.clear() for (index in 0 until 2) { val imageEvent = object : ImageEventListener() { override fun viewImage(item: FileSelectBean) { val imgList: MutableList = ArrayList() for (item1 in viewModel.adapters[index].data) { imgList.add(item1.localPath.ifEmpty { item1.url }) } ShowImgListDialog( this@RepairCarDetailActivity, imgList, imgList.indexOf(item.localPath) ).show() } } viewModel.imageEvents.add(imageEvent) val adapter = ImageSelectAdapter(this, viewModel.maxSizes[index], 0, imageEvent) viewModel.adapters.add(adapter) } binding.rv1.adapter = viewModel.adapters[0] binding.rv1.layoutManager = GridLayoutManager(this, 5) binding.rv2.adapter = viewModel.adapters[1] binding.rv2.layoutManager = GridLayoutManager(this, 5) } }