package com.xw.yunwei.ui.work.car.detail.operations.clean
|
|
import android.annotation.SuppressLint
|
import android.net.Uri
|
import androidx.recyclerview.widget.GridLayoutManager
|
import com.blankj.utilcode.util.UriUtils
|
import com.luck.picture.lib.basic.PictureSelector
|
import com.luck.picture.lib.config.PictureMimeType
|
import com.luck.picture.lib.config.SelectMimeType
|
import com.luck.picture.lib.entity.LocalMedia
|
import com.luck.picture.lib.interfaces.OnResultCallbackListener
|
import com.xw.common.CommonDialog
|
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.common.utils.GlideEngine
|
import com.xw.common.utils.PictureCompressEngine
|
import com.xw.yunwei.BR
|
import com.xw.yunwei.databinding.ActivityCarCleanDetailBinding
|
import com.xw.yunwei.model.CarModel
|
import java.util.ArrayList
|
import kotlin.text.ifEmpty
|
|
/**
|
* 车身清洁详情
|
*/
|
class CleanCarDetailActivity : BaseActivity<ActivityCarCleanDetailBinding, CleanCarDetailVM>() {
|
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.taskImage?.getUrls()?.let {
|
adapter.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.imageEvent = object : ImageEventListener<FileSelectBean>() {
|
override fun viewImage(item: FileSelectBean) {
|
val imgList: MutableList<String> = ArrayList()
|
for (item1 in viewModel.adapter.data) {
|
imgList.add(item1.localPath.ifEmpty { item1.url })
|
}
|
ShowImgListDialog(
|
this@CleanCarDetailActivity,
|
imgList,
|
imgList.indexOf(item.localPath)
|
).show()
|
}
|
}
|
viewModel.adapter = ImageSelectAdapter(this, 9, 0, viewModel.imageEvent)
|
|
binding.rv.adapter = viewModel.adapter
|
binding.rv.layoutManager = GridLayoutManager(this, 5)
|
}
|
|
}
|