package com.kuanzhai.user.ui.menu
|
|
import android.app.Activity
|
import android.content.Intent
|
import android.view.View
|
import android.widget.TextView
|
import androidx.core.os.bundleOf
|
import androidx.recyclerview.widget.LinearLayoutManager
|
import cn.sinata.xldutils.gone
|
import cn.sinata.xldutils.utils.FileUtils
|
import cn.sinata.xldutils.utils.SpanBuilder
|
import cn.sinata.xldutils.visible
|
import com.github.zackratos.ultimatebar.UltimateBar
|
import com.kuanzhai.user.R
|
import com.kuanzhai.user.dialog.TipDialog
|
import com.kuanzhai.user.network.HttpManager
|
import com.kuanzhai.user.network.entity.RentBean
|
import com.kuanzhai.user.network.request
|
import com.kuanzhai.user.ui.TransparentStatusBarActivity
|
import com.kuanzhai.user.ui.menu.adapter.CarBannerAdapter
|
import com.kuanzhai.user.ui.menu.adapter.LinearImageAdapter
|
import com.luck.picture.lib.PictureVideoPlayActivity
|
import com.youth.banner.indicator.CircleIndicator
|
import com.youth.banner.listener.OnPageChangeListener
|
import kotlinx.android.synthetic.main.activity_rent_detail.*
|
import org.jetbrains.anko.startActivity
|
import org.jetbrains.anko.startActivityForResult
|
|
class RentDetailActivity:TransparentStatusBarActivity(), View.OnClickListener {
|
override fun setContentView() = R.layout.activity_rent_detail
|
|
private val id by lazy { intent.getLongExtra("id",0L) }
|
private var order:RentBean? = null
|
private val bannerImgs = arrayListOf<String>()
|
private val describeImgs = arrayListOf<String>()
|
private val imgAdapter = LinearImageAdapter(describeImgs)
|
|
override fun initClick() {
|
iv_back.setOnClickListener { finish() }
|
iv_video.setOnClickListener {
|
startActivity<PictureVideoPlayActivity>("videoPath" to (order?.videoUrl?:""),"isExternalPreviewVideo" to true)
|
}
|
tv_left.setOnClickListener(this)
|
tv_right.setOnClickListener(this)
|
}
|
|
override fun initView() {
|
titleBar.gone()
|
UltimateBar.with(this)
|
.statusDark(false)
|
.create().immersionBar() //沉浸状态栏
|
banner.indicator = CircleIndicator(this)
|
banner.addOnPageChangeListener(object :OnPageChangeListener{
|
override fun onPageScrolled(
|
position: Int,
|
positionOffset: Float,
|
positionOffsetPixels: Int
|
) {
|
|
}
|
|
override fun onPageSelected(position: Int) {
|
tv_banner.text = "${position+1}/${bannerImgs.size}"
|
}
|
|
override fun onPageScrollStateChanged(state: Int) {
|
}
|
})
|
rv_img.layoutManager = LinearLayoutManager(this)
|
rv_img.adapter = imgAdapter
|
getRentDetail()
|
}
|
|
private fun getRentDetail(){
|
HttpManager.getCarRentalDetail(id).request(this){_,data->
|
order = data
|
data?.apply {
|
bannerImgs.clear()
|
bannerImgs.addAll(imgUrl.split(",").filter { it.isNotEmpty() })
|
banner.adapter = CarBannerAdapter(bannerImgs)
|
tv_banner.text = "1/${bannerImgs.size}"
|
tv_type.text = if (userType == 3) "企业车辆" else "个人车辆"
|
tv_title_1.text = title
|
val price = "租金:${rentMoney}元/天"
|
tv_price.text = SpanBuilder(price).color(this@RentDetailActivity,3,price.length,R.color.colorRed).build()
|
val ya = "押金:${deposit}元"
|
tv_ya.text = SpanBuilder(ya).color(this@RentDetailActivity,3,ya.length,R.color.colorRed).build()
|
val brand = "车辆品牌:${brandName}"
|
tv_brand.text = SpanBuilder(brand).color(this@RentDetailActivity,5,brand.length,R.color.textColor).build()
|
val seats = "座位:${seat}"
|
tv_seat.text = SpanBuilder(seats).color(this@RentDetailActivity,3,seats.length,R.color.textColor).build()
|
val pai = "排量:${displacement}"
|
tv_pai.text = SpanBuilder(pai).color(this@RentDetailActivity,3,pai.length,R.color.textColor).build()
|
val dang = "挡位:${gear}"
|
tv_dang.text = SpanBuilder(dang).color(this@RentDetailActivity,3,dang.length,R.color.textColor).build()
|
val license = "取车证件:${pickUpCarCarCertificates}"
|
tv_license.text = SpanBuilder(license).color(this@RentDetailActivity,5,license.length,R.color.textColor).build()
|
val name = "联系人:${contactsName}"
|
tv_name.text = SpanBuilder(name).color(this@RentDetailActivity,4,name.length,R.color.textColor).build()
|
val address = "联系地址:${provinceName}${cityName}${addres}"
|
tv_address.text = SpanBuilder(address).color(this@RentDetailActivity,5,address.length,R.color.textColor).build()
|
tv_describe.text = describe
|
if (videoUrl.isNullOrEmpty()){
|
iv_video.gone()
|
iv_play.gone()
|
}else
|
Thread{
|
val f = FileUtils.createVideoThumbnail(videoUrl)
|
runOnUiThread {
|
iv_video.setImageBitmap(f)
|
}
|
}.start()
|
describeImgs.clear()
|
describeImgs.addAll(describeImgUrl.split(",").filter { it.isNotEmpty() })
|
imgAdapter.notifyDataSetChanged()
|
tv_refused.text = authRemark
|
refreshButton()
|
}
|
}
|
}
|
|
private fun refreshButton() {
|
tv_left.gone()
|
tv_right.gone()
|
tv_refused.gone()
|
when (order?.status) { //1=待审核,2=已上架,3=已下架,4=审核通过待上架,5=已拒绝
|
1 -> {
|
tv_left.visible()
|
tv_left.text = "审核中"
|
}
|
2 -> {
|
tv_right.visible()
|
tv_right.text = "下架"
|
}
|
3, 4 -> {
|
tv_left.visible()
|
tv_right.visible()
|
tv_left.text = "编辑"
|
tv_right.text = "上架"
|
}
|
5 -> {
|
tv_left.visible()
|
tv_left.text = "编辑"
|
tv_refused.visible()
|
}
|
}
|
}
|
|
override fun onClick(v: View) {
|
val action = (v as TextView).text.toString()
|
when(action){
|
"审核中"->{ } //无事件
|
"编辑"->{
|
startActivityForResult<RentMyCarActivity>(1,"data" to order)
|
}
|
else->{
|
val tipDialog = TipDialog()
|
tipDialog.arguments = bundleOf("msg" to "是否确认${action}?")
|
tipDialog.setCallback(object :TipDialog.OnClickCallback{
|
override fun onOk() {
|
val isUp = action == "上架"
|
HttpManager.operateMenuOrder(isUp,id,1).request(this@RentDetailActivity){ _, _->
|
order?.status = if (isUp) 2 else 3
|
refreshButton()
|
setResult(Activity.RESULT_OK)
|
}
|
}
|
|
override fun onCancel() {
|
}
|
})
|
tipDialog.show(supportFragmentManager,"action")
|
}
|
}
|
}
|
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
super.onActivityResult(requestCode, resultCode, data)
|
if (resultCode == Activity.RESULT_OK){
|
setResult(Activity.RESULT_OK)
|
finish()
|
// getRentDetail() // 杨冬梅:编辑后,再点击提交,应跳转到 我发布的列表
|
}
|
}
|
}
|