package com.xw.yunwei.ui.work.checkInMission
|
|
import android.os.Bundle
|
import android.view.View
|
import androidx.core.content.ContextCompat
|
import androidx.core.os.bundleOf
|
import androidx.core.widget.addTextChangedListener
|
import androidx.recyclerview.widget.GridLayoutManager
|
import com.xw.yunwei.BR
|
import com.xw.yunwei.BaseBusinessActivity
|
import com.xw.yunwei.R
|
import com.xw.yunwei.constants.Key
|
import com.xw.yunwei.databinding.ActivityCruiseCheckInOperationBinding
|
import com.xw.yunwei.model.CheckInMissionPointInfo
|
import com.xw.yunwei.ui.work.checkInMission.viewmodel.CruiseCheckInOperationViewModel
|
import com.xw.yunwei.ui.work.site.adapter.PictureOperationAdapter
|
|
class CruiseCheckInOperationActivity :
|
BaseBusinessActivity<ActivityCruiseCheckInOperationBinding, CruiseCheckInOperationViewModel>() {
|
override fun getBindingVariable() = BR.viewModel
|
|
companion object {
|
//获取跳转此页面参数
|
fun getParms(id: String, point: CheckInMissionPointInfo): Bundle {
|
return bundleOf(
|
Key.ID to id,
|
Key.DATA to point
|
)
|
}
|
}
|
|
val adapter by lazy {
|
PictureOperationAdapter().apply {
|
addChildClickViewIds(R.id.iv_delete)
|
}
|
}
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
super.onCreate(savedInstanceState)
|
viewModel.id = intent.getStringExtra(Key.ID) ?: ""
|
viewModel.model.postValue(intent.getParcelableExtra(Key.DATA))
|
}
|
|
override fun setListener() {
|
super.setListener()
|
binding.tvWork.setOnClickListener {
|
viewModel.working.postValue(true)
|
}
|
binding.tvError.setOnClickListener {
|
viewModel.working.postValue(false)
|
}
|
binding.etInput.addTextChangedListener {
|
binding.tvNotice.visibility =
|
if ((it?.toString()?.length ?: 0) > viewModel.maxLength.value!!) {
|
View.VISIBLE
|
} else {
|
View.GONE
|
}
|
viewModel.countNotice.postValue("${it?.toString()?.length ?: 0}/${viewModel.maxLength.value!!}")
|
}
|
adapter.setOnItemClickListener { _, _, i -> viewModel.operatePicture(this, i) }
|
adapter.setOnItemChildClickListener { _, _, i -> viewModel.removePicture(i) }
|
|
binding.btnSubmit.setOnClickListener { viewModel.submit(this) }
|
}
|
|
//设置运行状态
|
private fun setWorkState() {
|
binding.tvWork.setTextColor(
|
ContextCompat.getColor(
|
this,
|
if (viewModel.working.value == true) {
|
com.xw.common.R.color.green_5
|
} else {
|
com.xw.common.R.color.gray_9
|
}
|
)
|
)
|
binding.tvWork.setBackgroundResource(
|
if (viewModel.working.value == true) {
|
R.drawable.shape_green_1_bg_4
|
} else {
|
R.drawable.shape_gray11_bg_4
|
}
|
)
|
binding.tvError.setTextColor(
|
ContextCompat.getColor(
|
this,
|
if (viewModel.working.value == false) {
|
com.xw.common.R.color.orange_5
|
} else {
|
com.xw.common.R.color.gray_9
|
}
|
)
|
)
|
binding.tvError.setBackgroundResource(
|
if (viewModel.working.value == false) {
|
R.drawable.shape_orange_1_bg_4
|
} else {
|
R.drawable.shape_gray11_bg_4
|
}
|
)
|
}
|
|
override fun setObservable() {
|
super.setObservable()
|
viewModel.model.observe(this) {
|
binding.tvTime.text = it.time
|
binding.tvAddress.text = it.address
|
}
|
viewModel.operationPictures.observe(this) {
|
adapter.setNewInstance(it)
|
}
|
viewModel.working.observe(this) {
|
setWorkState()
|
}
|
}
|
|
override fun init() {
|
super.init()
|
binding.rvList.adapter = adapter
|
binding.rvList.layoutManager = GridLayoutManager(this, 5)
|
}
|
}
|