package com.xw.yunwei.ui.work.site
|
|
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.common.utils.BindUtils.getUrl
|
import com.xw.common.utils.GlideEngine
|
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.ActivitySiteErrorUploadBinding
|
import com.xw.yunwei.extension.setOnDurationClickListener
|
import com.xw.yunwei.model.SiteModel
|
import com.xw.yunwei.ui.work.site.adapter.PictureOperationAdapter
|
import com.xw.yunwei.ui.work.site.viewmodel.SiteErrorUploadVM
|
import org.json.JSONArray
|
|
class SiteErrorUploadActivity :
|
BaseBusinessActivity<ActivitySiteErrorUploadBinding, SiteErrorUploadVM>() {
|
companion object {
|
//获取跳转该页面参数
|
fun getParams(model: SiteModel): Bundle {
|
return bundleOf(Key.DATA to model)
|
}
|
}
|
|
val adapter by lazy {
|
PictureOperationAdapter().apply {
|
addChildClickViewIds(R.id.iv_delete)
|
}
|
}
|
|
override fun getBindingVariable() = BR.viewModel
|
override fun onCreate(savedInstanceState: Bundle?) {
|
super.onCreate(savedInstanceState)
|
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.btnErrorUpload.setOnDurationClickListener { viewModel.submit() }
|
}
|
|
//设置运行状态
|
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) {
|
var url = ""
|
try {
|
url = JSONArray(it.pointPictures).get(0).toString().getUrl()
|
} catch (e: Exception) {
|
e.printStackTrace()
|
} finally {
|
GlideEngine.createGlideEngine()
|
.load(binding.ivPicture, url, R.drawable.img_site_bg, R.drawable.img_site_bg, 4f)
|
}
|
binding.tvTitle.text = it.pointName
|
binding.tvDetail.text = it.pointAddress
|
}
|
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)
|
}
|
}
|