package com.zhaoyang.driver.ui.mine
|
|
import android.text.method.ReplacementTransformationMethod
|
import android.view.View
|
import androidx.core.content.ContextCompat
|
import cn.sinata.xldutils.utils.clickDelay
|
import cn.sinata.xldutils.utils.getContent
|
import cn.sinata.xldutils.utils.setTextChange
|
import com.zhaoyang.driver.R
|
import com.zhaoyang.driver.base.BaseEvent
|
import com.zhaoyang.driver.base.local.BasePhotoActivity
|
import com.zhaoyang.driver.bean.AllCarBean
|
import com.zhaoyang.driver.bean.ColorBean
|
import com.zhaoyang.driver.bean.ColorBeanData
|
import com.zhaoyang.driver.netUtls.Api
|
import com.zhaoyang.driver.netUtls.callNet
|
import com.zhaoyang.driver.netUtls.getMapByAny
|
import com.zhaoyang.driver.ui.DialogUtil
|
import com.zhaoyang.driver.utils.DateUtil
|
import com.zhaoyang.driver.utils.MyUtils
|
import com.zhaoyang.driver.utils.citypickerview.picker.widget.builder.TimePickerBuilder
|
import com.zhaoyang.driver.utils.citypickerview.picker.widget.listener.OnOptionsSelectListener
|
import com.zhaoyang.driver.utils.citypickerview.picker.widget.listener.OnTimeSelectListener
|
import com.zhaoyang.driver.utils.glide.GlideUtil
|
import kotlinx.android.synthetic.main.activity_add_car.*
|
import org.greenrobot.eventbus.EventBus
|
import org.jetbrains.anko.toast
|
import java.util.*
|
import kotlin.collections.ArrayList
|
|
class AddCarActivity : BasePhotoActivity() {
|
var arrayColor = arrayListOf("黑色", "银色", "白色", "红色", "黄色", "橙色", "蓝色")
|
var arrayNumStart = arrayListOf(
|
"冀", "蒙", "吉", "沪", "皖", "鲁", "鄂", "桂", "渝", "藏", "甘", "新", "晋"
|
, "辽", "黑", "苏", "浙", "闽", "赣", "豫", "湘", "粤", "琼", "川", "贵", "云", "陕", "青", "宁"
|
)
|
var letter = arrayListOf(
|
"A",
|
"B",
|
"C",
|
"D",
|
"E",
|
"F",
|
"G",
|
"H",
|
"I",
|
"J",
|
"K",
|
"L",
|
"M",
|
"N",
|
"O",
|
"P",
|
"Q",
|
"R",
|
"S",
|
"T"
|
,
|
"U",
|
"V",
|
"W",
|
"X",
|
"Y",
|
"Z"
|
)
|
var selectImgType = 0// 1 行驶证 2 保险 3人车合影
|
var drivingLicenceImg = "" //1
|
var insuranceImg = "" //2
|
var carPeopleImg = "" //3
|
var carId = -1
|
var selectCarPai = ""
|
|
override fun setContentView() {
|
setContentView(R.layout.activity_add_car)
|
}
|
|
override fun initView() {
|
setTitleText("更换车辆")
|
et_name.transformationMethod = InputCapLowerToUpper()
|
}
|
|
override fun setOnclick() {
|
ll_car_type.setOnClickListener {
|
var name = ""
|
callNet(Api.queryAllBrand, getMapByAny()) { carallStr ->
|
var carAll = gson.fromJson<AllCarBean>(carallStr, AllCarBean::class.java)
|
DialogUtil.getNetOneDialog(
|
carAll.data as ArrayList<AllCarBean.DataBean>,
|
window.decorView,
|
this
|
) { selectCar ->
|
name = selectCar.name
|
var map = getMapByAny()
|
map["brandId"] = selectCar.id
|
callNet(Api.queryCarModel, map) { modeStr ->
|
var carMode = gson.fromJson<AllCarBean>(modeStr, AllCarBean::class.java)
|
if (carMode.data == null || carMode.data.isEmpty()) {
|
toast("缺少车型")
|
return@callNet
|
}
|
DialogUtil.getNetOneDialog(
|
carMode.data as ArrayList<AllCarBean.DataBean>,
|
window.decorView,
|
this
|
) {
|
carId = it.id
|
name = name + " " + it.name
|
tv_mode_name.text = name
|
}
|
}
|
|
}
|
}
|
|
}
|
|
ll_car_color.setOnClickListener {
|
callColor() {itColor ->
|
var popColor = DialogUtil.getOptionListDialog(this,itColor, OnOptionsSelectListener { view, options1, options2, options3 ->
|
tv_color.text = itColor[options1].name
|
return@OnOptionsSelectListener false
|
},"选择颜色")
|
}
|
|
|
}
|
|
ll_car_num.setOnClickListener {
|
var popcar = DialogUtil.getOptionListDialog(
|
this,
|
arrayNumStart,
|
letter,
|
object : OnOptionsSelectListener {
|
override fun onOptionsSelect(
|
view: View?,
|
options1: Int,
|
options2: Int,
|
options3: Int
|
): Boolean {
|
selectCarPai = arrayNumStart[options1] + letter[options2]
|
tv_car_num_start.text = selectCarPai
|
return false
|
}
|
|
})
|
}
|
|
// ll_time.setOnClickListener {
|
// MyUtils.getInstans().hideKeyboard(ll_main)
|
// showTimePicker()
|
// }
|
|
|
rl_driving_licence.setOnClickListener {
|
selectImgType = 1
|
showSelectPhone()
|
}
|
|
// rl_insurance.setOnClickListener {
|
// selectImgType = 2
|
// showSelectPhone()
|
// }
|
//
|
// rl_car_people.setOnClickListener {
|
// selectImgType = 3
|
// showSelectPhone()
|
// }
|
|
tv_login.clickDelay {
|
if (carId == -1) {
|
toast("请选择车型")
|
return@clickDelay
|
}
|
if (tv_color.text.isNullOrEmpty()) {
|
toast("请选择颜色")
|
return@clickDelay
|
}
|
if (selectCarPai.isNullOrEmpty()) {
|
toast("请选择车牌号")
|
return@clickDelay
|
}
|
if (et_name.getContent().isNullOrEmpty()) {
|
toast("请填写车牌尾号")
|
return@clickDelay
|
}
|
// if (tv_time.text.isNullOrEmpty()){
|
// toast("请选择时间")
|
// return@clickDelay
|
// }
|
if (drivingLicenceImg.isEmpty()) {
|
toast("请选择行驶证照片")
|
return@clickDelay
|
}
|
// if (insuranceImg.isEmpty()){
|
// toast("请选择保险照片")
|
// return@clickDelay
|
// }
|
// if (carPeopleImg.isEmpty()){
|
// toast("请选择人车合影照片")
|
// return@clickDelay
|
// }
|
var map = getMapByAny()
|
map["carPhoto"] = carPeopleImg
|
map["color"] = tv_color.text
|
map["drivingLicensePhoto"] = drivingLicenceImg
|
map["insurancePhoto"] = insuranceImg
|
map["licensePlate"] = selectCarPai + et_name.getContent()
|
map["modelId"] = carId
|
// map["time"] = tv_time.text
|
callNet(Api.addCar, map) {
|
toast("添加成功")
|
EventBus.getDefault().post(BaseEvent(BaseEvent.CHANGE_CAR_SUCCESS))
|
onBackPressed()
|
}
|
}
|
}
|
|
private fun callColor(function: (List<ColorBeanData>) -> Unit) {
|
var map = getMapByAny()
|
callNet(Api.queryAllCarColor, map) {
|
var bean = gson.fromJson<ColorBean>(it,ColorBean::class.java)
|
function(bean.data)
|
}
|
}
|
|
|
// fun showTimePicker() {
|
// var startCalendar = Calendar.getInstance()
|
// var endCalendar = Calendar.getInstance()
|
// startCalendar.set(1900, 1, 1)
|
// endCalendar.time = Date()
|
// var timePic = TimePickerBuilder(this,
|
// OnTimeSelectListener { date, v ->
|
// tv_time.text = DateUtil.getTime(DateUtil.TYPE0,date.time)
|
// })
|
// .setTitleText("")
|
// .setBgColor(ContextCompat.getColor(this, R.color.white))
|
// .setCancelColor(ContextCompat.getColor(this, R.color.black_333333))
|
// .setSubmitColor(ContextCompat.getColor(this, R.color.main_yellow))
|
// .setRangDate(startCalendar, endCalendar)
|
// .setDate(endCalendar)
|
// .setSubmitText("确认")
|
// .setLineSpacingMultiplier(2f)
|
// .build()
|
// timePic.show()
|
// }
|
|
class InputCapLowerToUpper : ReplacementTransformationMethod() {
|
|
override fun getOriginal(): CharArray {
|
var lower = charArrayOf(
|
'a',
|
'b',
|
'c',
|
'd',
|
'e',
|
'f',
|
'g',
|
'h',
|
'i',
|
'j',
|
'k',
|
'l',
|
'm',
|
'n',
|
'o',
|
'p',
|
'q',
|
'r',
|
's',
|
't',
|
'u',
|
'v',
|
'w',
|
'x',
|
'y',
|
'z'
|
)
|
return lower;
|
}
|
|
override fun getReplacement(): CharArray {
|
var upper = charArrayOf(
|
'A',
|
'B',
|
'C',
|
'D',
|
'E',
|
'F',
|
'G',
|
'H',
|
'I',
|
'J',
|
'K',
|
'L',
|
'M',
|
'N',
|
'O',
|
'P',
|
'Q',
|
'R',
|
'S',
|
'T',
|
'U',
|
'V',
|
'W',
|
'X',
|
'Y',
|
'Z'
|
)
|
return upper;
|
}
|
}
|
|
override fun getPhoneUrl(url: String, type: Int) {
|
super.getPhoneUrl(url, type)
|
when (selectImgType) {
|
1 -> {
|
drivingLicenceImg = url
|
GlideUtil.load(this, url, iv_driving_licence, 1)
|
}
|
// 2 -> {
|
// insuranceImg = url
|
// GlideUtil.load(this, url, iv_insurance, 1)
|
// }
|
// 3 -> {
|
// carPeopleImg = url
|
// GlideUtil.load(this, url, iv_car_people, 1)
|
// }
|
}
|
}
|
}
|