package com.kuanzhai.driver.ui.driver_server
|
|
import android.view.View
|
import androidx.recyclerview.widget.GridLayoutManager
|
import cn.sinata.xldutils.utils.clickDelay
|
import cn.sinata.xldutils.utils.getContent
|
import cn.sinata.xldutils.utils.hideKeyboard
|
import com.driver.emanagercar.ui.base.BaseWebActivity
|
import com.kuanzhai.driver.R
|
import com.kuanzhai.driver.base.BaseEvent
|
import com.kuanzhai.driver.base.local.BasePhotoActivity
|
import com.kuanzhai.driver.bean.AgreeBean
|
import com.kuanzhai.driver.bean.AllCarBean
|
import com.kuanzhai.driver.bean.MyBuyCar
|
import com.kuanzhai.driver.netUtls.Api
|
import com.kuanzhai.driver.netUtls.callNet
|
import com.kuanzhai.driver.netUtls.getMapByAny
|
import com.kuanzhai.driver.ui.DialogUtil
|
import com.kuanzhai.driver.ui.adapter.CarUpPhotoAdapter
|
import com.kuanzhai.driver.ui.adapter.UpPhotoAdapter
|
import com.kuanzhai.driver.ui.pub.ImageActivity
|
import com.kuanzhai.driver.utils.AndroidBug5497Workaround
|
import com.kuanzhai.driver.utils.Cache.CacheKey
|
import com.kuanzhai.driver.utils.citypickerview.picker.widget.listener.OnOptionsSelectListener
|
import com.kuanzhai.driver.utils.glide.GlideUtil
|
import com.lljjcoder.Interface.OnCityItemClickListener
|
import com.lljjcoder.bean.CityBean
|
import com.lljjcoder.bean.DistrictBean
|
import com.lljjcoder.bean.ProvinceBean
|
import kotlinx.android.synthetic.main.activity_rental_car_send.*
|
import org.jetbrains.anko.startActivity
|
import org.jetbrains.anko.toast
|
|
class RentalCarSendActivity: BasePhotoActivity() {
|
|
var select_car_p_id = "" //品牌id
|
var img = "" //描述图片
|
var videoUrl = "" //视频图片
|
var contactsProvinceCode = "" //联系人省code
|
var contactscityCode = "" //联系人市code
|
var selectBook = false //是否勾选协议
|
|
val carId by lazy {
|
intent.getStringExtra("carId")
|
}
|
|
val upPhotoAdapter by lazy {
|
CarUpPhotoAdapter()
|
}
|
|
val upPhotoAdapterOne by lazy {
|
CarUpPhotoAdapter()
|
}
|
|
override fun setContentView() {
|
setContentView(R.layout.activity_rental_car_send)
|
}
|
|
override fun onEventMainThread(event: BaseEvent?) {
|
super.onEventMainThread(event)
|
if (event!!.code == BaseEvent.UPDATE_CAE_NUM){
|
tv_car_phone_num.text = "*车辆图片"+ (upPhotoAdapter.data.size-1) +"/15"
|
}
|
}
|
|
override fun initView() {
|
setTitleText("租车信息发布")
|
AndroidBug5497Workaround.assistActivity(this)
|
recycler_view_img_all.layoutManager = GridLayoutManager(this, 3)
|
upPhotoAdapter.data.add("")
|
upPhotoAdapter.maxLength = 15
|
recycler_view_img_all.adapter = upPhotoAdapter
|
recycler_view_img_all_one.layoutManager = GridLayoutManager(this, 3)
|
upPhotoAdapterOne.data.add("")
|
upPhotoAdapterOne.maxLength = 8
|
recycler_view_img_all_one.adapter = upPhotoAdapterOne
|
if(!carId.isNullOrEmpty()){
|
callDetail(carId)
|
}
|
}
|
|
override fun onBackPressed() {
|
DialogUtil.getDelAndSureDialog(this,"您的数据还未提交,确认返回",{}){
|
super.onBackPressed()
|
}
|
}
|
|
|
|
override fun setOnclick() {
|
|
et_gear.clickDelay {
|
hideKeyboard(this.window.decorView)
|
var typeList = "手动,自动挡"
|
var ranklist = typeList.split(",")
|
DialogUtil.getOptionListDialog("选择级别",this,ranklist,object : OnOptionsSelectListener {
|
override fun onOptionsSelect(
|
view: View?,
|
options1: Int,
|
options2: Int,
|
options3: Int
|
): Boolean {
|
et_gear.text = ranklist[options1]
|
return false
|
}
|
})
|
}
|
|
upPhotoAdapter.setOnItemClickListener { view, position ->
|
if (upPhotoAdapter.data[position].isEmpty()){
|
imgType = 2
|
showSelectPhone(16 - upPhotoAdapter.data.size,false)
|
}else{
|
startActivity<ImageActivity>("url" to upPhotoAdapter.data[position])
|
}
|
}
|
|
upPhotoAdapterOne.setOnItemClickListener { view, position ->
|
if (upPhotoAdapterOne.data[position].isEmpty()){
|
imgType = 1
|
showSelectPhone(9 - upPhotoAdapterOne.data.size,false)
|
}else{
|
startActivity<ImageActivity>("url" to upPhotoAdapterOne.data[position])
|
}
|
}
|
|
iv_select_video.clickDelay {
|
hideKeyboard(this.window.decorView)
|
imgType = 3
|
openAlbumVideo(1)
|
}
|
|
tv_select_book.clickDelay {
|
hideKeyboard(this.window.decorView)
|
var map = getMapByAny()
|
map["type"] = 19
|
callNet(Api.queryByType, map) {
|
var data = gson.fromJson<AgreeBean>(it, AgreeBean::class.java)
|
BaseWebActivity.to(mContext, data.data.content, "宽窄优行汽车出租协议", "1")
|
}
|
}
|
|
iv_select_book.clickDelay {
|
hideKeyboard(this.window.decorView)
|
selectBook = !selectBook
|
iv_select_book.setImageResource(if (selectBook) R.mipmap.select_ture else R.mipmap.select_false)
|
}
|
|
|
ll_car_type.clickDelay {
|
hideKeyboard(this.window.decorView)
|
var typeList = "大巴,中巴,面包车,商务车,豪华轿车,新能源车,普通轿车 ,跑车,SUV,特殊车辆,出租车,货车"
|
var ranklist = typeList.split(",")
|
DialogUtil.getOptionListDialog("选择级别",this,ranklist,object : OnOptionsSelectListener {
|
override fun onOptionsSelect(
|
view: View?,
|
options1: Int,
|
options2: Int,
|
options3: Int
|
): Boolean {
|
tv_car_type.text = ranklist[options1]
|
return false
|
}
|
})
|
}
|
|
ll_pai.clickDelay {
|
hideKeyboard(this.window.decorView)
|
callNet(Api.queryAllBrand, getMapByAny()) { carallStr ->
|
var carAll = gson.fromJson<AllCarBean>(carallStr, AllCarBean::class.java)
|
var position = getPositionCar(carAll,select_car_p_id)
|
DialogUtil.getNetOneDialog(position,carAll.data as ArrayList<AllCarBean.DataBean>, window.decorView, this) { selectCar ->
|
tv_select_car_p.text = selectCar.name
|
select_car_p_id = selectCar.id.toString()
|
|
}
|
}
|
}
|
|
// ll_seat.clickDelay {
|
// hideKeyboard(this.window.decorView)
|
// var seat = "2座,4座,5座,6座,7座,8座"
|
// var seatList = seat.split(",")
|
// DialogUtil.getOptionListDialog("选择级别",this,seatList,object : OnOptionsSelectListener {
|
// override fun onOptionsSelect(
|
// view: View?,
|
// options1: Int,
|
// options2: Int,
|
// options3: Int
|
// ): Boolean {
|
// tv_seat.text = seatList[options1]
|
// return false
|
// }
|
// })
|
// }
|
|
ll_car_certificate.clickDelay {
|
hideKeyboard(this.window.decorView)
|
var certficate = "身份证,驾驶证,驾驶员资格证"
|
var certficateList = certficate.split(",") as ArrayList<String>
|
DialogUtil.getNetListDialogStr(certficateList,window.decorView,this){
|
tv_car_certificate.text = it
|
}
|
// DialogUtil.getOptionListDialog("选择级别",this,certficateList,object : OnOptionsSelectListener {
|
// override fun onOptionsSelect(
|
// view: View?,
|
// options1: Int,
|
// options2: Int,
|
// options3: Int
|
// ): Boolean {
|
// tv_car_certificate.text = certficateList[options1]
|
// return false
|
// }
|
// })
|
}
|
|
ll_contacts_site.clickDelay {
|
hideKeyboard(this.window.decorView)
|
showCityPop() { province, city, area,provinceCode,cityCode, areaCode ->
|
contactsProvinceCode = provinceCode
|
contactscityCode = cityCode
|
tv_province.text = province
|
tv_city_contacts.text = city
|
}
|
}
|
|
tv_add_commit.clickDelay {
|
hideKeyboard(this.window.decorView)
|
if (et_titie.getContent().isEmpty()
|
|| tv_car_type.getContent().isEmpty()
|
|| select_car_p_id.isEmpty()
|
|| tv_seat.getContent().isEmpty()
|
|| tv_displacement.getContent().isEmpty()
|
|| et_gear.getContent().isEmpty()
|
|| tv_car_certificate.getContent().isEmpty()
|
|| et_rent_money.getContent().isEmpty()
|
|| et_deposit.getContent().isEmpty()
|
){
|
toast("请输入完整基本信息")
|
return@clickDelay
|
}
|
|
if (upPhotoAdapter.data.size < 2){
|
toast("上传完整车辆信息")
|
return@clickDelay
|
}
|
|
|
if (et_phone_num.getContent().isEmpty()
|
|| et_phone_num.getContent().length < 11
|
|| tv_contacts_name.getContent().isEmpty()
|
|| tv_province.getContent().isEmpty()
|
|| tv_city_contacts.getContent().isEmpty()
|
|| tv_detail_site.getContent().isEmpty()){
|
toast("请填写完整联系人信息")
|
return@clickDelay
|
}
|
|
if (!selectBook){
|
toast("请勾选卖车协议")
|
return@clickDelay
|
}
|
|
var map = getMapByAny()
|
map["addres"] = tv_detail_site.getContent() //地址
|
map["brandId"] = select_car_p_id//品牌id
|
map["brandName"] = tv_select_car_p.getContent()//品牌名称
|
map["category"] = tv_car_type.getContent()
|
map["cityCode"] = contactscityCode//市Code
|
map["cityName"] = tv_city_contacts.getContent()//cityName
|
map["contactsName"] = tv_contacts_name.getContent()//联系人名称
|
map["contactsPhone"] = et_phone_num.getContent()
|
map["deposit"] = et_deposit.getContent()
|
map["describe"] = et_remark.getContent()//描述
|
map["describeImgUrl"] = img//描述图片
|
map["displacement"] = tv_displacement.getContent()//排量
|
map["gear"] = et_gear.getContent()
|
if (!carId.isNullOrEmpty()){
|
map["id"] = carId//
|
}
|
map["imgUrl"] = upPhotoAdapter.getImg()//
|
map["pickUpCarCarCertificates"] = tv_car_certificate.getContent()
|
map["provinceCode"] = contactsProvinceCode //省Code
|
map["provinceName"] = tv_province.getContent()//
|
map["rentMoney"] = et_rent_money.getContent()//
|
map["seat"] = tv_seat.getContent()//
|
map["title"] = et_titie.getContent()//标题
|
map["userId"] = CacheKey.getUserId()//
|
map["userType"] = "2"//
|
map["videoUrl"] = videoUrl//
|
callNet(Api.insertOrUpdateCarRental,map){
|
// toast("成功")
|
startActivity<SendOverActivity>("title" to "租车信息发布")
|
finish()
|
}
|
|
}
|
|
}
|
|
private fun getPositionCar(carAll: AllCarBean?, selectCarPId: String): Int {
|
if (selectCarPId.isEmpty()){
|
return 0
|
}else{
|
for (position in carAll?.data!!.indices){
|
if (carAll?.data!![position].id.toString() == selectCarPId){
|
return position
|
}
|
}
|
}
|
return 0
|
}
|
|
|
var imgType = -1 // 1 车况图片选择 2 车辆图片 3 车辆视频
|
|
|
override fun getPhoneUrl(url: String, type: Int, path: String) {
|
super.getPhoneUrl(url, type, path)
|
if (imgType == 1){
|
upPhotoAdapterOne.data.add(0,url)
|
upPhotoAdapterOne.notifyDataSetChanged()
|
img = upPhotoAdapterOne.getImg()
|
}
|
if (imgType == 2){
|
upPhotoAdapter.data.add(0,url)
|
upPhotoAdapter.notifyDataSetChanged()
|
tv_car_phone_num.text = "*车辆图片"+ (upPhotoAdapter.data.size-1) +"/15"
|
}
|
if (imgType == 3){
|
videoUrl = url
|
GlideUtil.load(this,url,iv_select_video,1)
|
tv_video_num.text = "车辆视频1/1"
|
}
|
}
|
|
/***
|
* type 1 2 3 省市县
|
*/
|
private fun showCityPop(onclick: (province: String, city: String, area: String, areaCode: String) -> Unit) {
|
DialogUtil.getCityDialog(this, object : OnCityItemClickListener() {
|
override fun onSelected(
|
province: ProvinceBean?,
|
city: CityBean?,
|
district: DistrictBean?
|
) {
|
super.onSelected(province, city, district)
|
onclick(
|
province!!.name,
|
city!!.name,
|
district!!.name,
|
district.id
|
)
|
}
|
})
|
}
|
|
|
/***
|
* type 1 2 3 省市县
|
*/
|
private fun showCityPop(onclick: (province: String, city: String, area: String,provinceCode:String,cityCode:String, areaCode: String) -> Unit) {
|
DialogUtil.getCityDialog(this, object : OnCityItemClickListener() {
|
override fun onSelected(
|
province: ProvinceBean?,
|
city: CityBean?,
|
district: DistrictBean?
|
) {
|
super.onSelected(province, city, district)
|
onclick(
|
province!!.name,
|
city!!.name,
|
district!!.name,
|
province.id,
|
city.id,
|
district.id
|
)
|
}
|
})
|
}
|
|
private fun callDetail(carId: String) {
|
var map = getMapByAny()
|
map["id"] = carId
|
callNet(Api.getCarRentalDetail,map){
|
var bean = gson.fromJson<MyBuyCar>(it, MyBuyCar::class.java)
|
et_titie.setText(bean.data.title)
|
tv_car_type.text = bean.data.category
|
tv_select_car_p.text = bean.data.brandName
|
tv_seat.setText(bean.data.seat)
|
tv_displacement.setText(bean.data.displacement)
|
et_gear.setText(bean.data.gear)
|
tv_car_certificate.text = bean.data.pickUpCarCarCertificates
|
et_rent_money.setText(bean.data.getRentMoneyStr().toString())
|
et_deposit.setText(bean.data.getDepositStr().toString())
|
et_remark.setText(bean.data.describe.toString())
|
|
upPhotoAdapterOne.data.addAll(bean.data.describeImgUrl.split(","))
|
upPhotoAdapterOne.notifyDataSetChanged()
|
img = bean.data.describeImgUrl
|
upPhotoAdapter.data.addAll(bean.data.imgUrl.split(","))
|
upPhotoAdapter.notifyDataSetChanged()
|
GlideUtil.load(this,bean.data.videoUrl,iv_select_video,1)
|
videoUrl = bean.data.videoUrl
|
tv_video_num.text = "车辆视频1/1"
|
et_phone_num.setText(bean.data.contactsPhone)
|
tv_contacts_name.setText(bean.data.contactsName)
|
tv_province.text = bean.data.provinceName
|
contactsProvinceCode = bean.data.provinceCode
|
contactscityCode = bean.data.cityCode
|
tv_city_contacts.setText(bean.data.cityName)
|
tv_detail_site.setText(bean.data.addres)
|
select_car_p_id = bean.data.brandId.toString()
|
}
|
}
|
}
|