package com.kuanzhai.driver.ui.driver_server.fragment
|
|
import android.view.ViewGroup
|
import android.view.inputmethod.EditorInfo
|
import android.widget.TextView
|
import androidx.recyclerview.widget.GridLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
import cn.sinata.xldutils.utils.*
|
import com.kuanzhai.driver.R
|
import com.kuanzhai.driver.base.Const
|
import com.kuanzhai.driver.base.MyBaseActivity
|
import com.kuanzhai.driver.bean.AlLSiteBeanItem
|
import com.kuanzhai.driver.bean.AllCarBean
|
import com.kuanzhai.driver.netUtls.Api
|
import com.kuanzhai.driver.netUtls.callNet
|
import com.kuanzhai.driver.netUtls.getMapByAny
|
import com.kuanzhai.driver.ui.adapter.ProvinceSiteAdapter
|
import com.kuanzhai.driver.ui.adapter.ProvinceSiteDetailAdapter
|
import com.kuanzhai.driver.ui.driver_server.adapter.CarMoneytypeAdapter
|
import com.kuanzhai.driver.ui.driver_server.adapter.CarTypeAdapter
|
import com.kuanzhai.driver.ui.driver_server.fragment.CarRentalListFragment
|
import com.kuanzhai.driver.utils.EasePopup.EasyPopup
|
import com.google.gson.reflect.TypeToken
|
import kotlinx.android.synthetic.main.activity_car_buy.*
|
import kotlinx.android.synthetic.main.activiy_car_rental.*
|
import kotlinx.android.synthetic.main.activiy_car_rental.et_search
|
import kotlinx.android.synthetic.main.activiy_car_rental.ll_tops
|
import kotlinx.android.synthetic.main.activiy_car_rental.rl_money
|
import kotlinx.android.synthetic.main.activiy_car_rental.rl_more
|
import kotlinx.android.synthetic.main.activiy_car_rental.rl_site
|
import kotlinx.android.synthetic.main.activiy_car_rental.tv_cancel_search
|
import kotlinx.android.synthetic.main.activiy_car_rental.tv_car_type
|
import kotlinx.android.synthetic.main.activiy_car_rental.tv_money
|
import kotlinx.android.synthetic.main.activiy_car_rental.tv_more
|
import kotlinx.android.synthetic.main.activiy_car_rental.tv_site
|
import kotlinx.android.synthetic.main.activiy_car_rental.view_top
|
import kotlinx.android.synthetic.main.pop_car_more_rental.view.*
|
import kotlinx.android.synthetic.main.pop_car_site.view.*
|
import kotlinx.android.synthetic.main.pop_car_type.view.*
|
|
class CarRentalSearchActivity: MyBaseActivity() {
|
|
val carRentalListFragment by lazy {
|
CarRentalListFragment()
|
}
|
|
override fun setContentView() {
|
setContentView(R.layout.activiy_car_rental)
|
}
|
|
override fun initView() {
|
setTitleText("搜索")
|
addFragment(carRentalListFragment,R.id.container)
|
view_top.gone()
|
ll_tops.gone()
|
tv_cancel_search.visible()
|
carRentalListFragment.isShowAll = false
|
}
|
|
|
private fun allFailse(tvCarType: TextView?) {
|
carRentalListFragment.comineType = 1
|
tv_car_type.textColor(this,R.color.color_ff333333)
|
tv_money.textColor(this,R.color.color_ff333333)
|
tv_more.textColor(this,R.color.color_ff333333)
|
tv_site.textColor(this,R.color.color_ff333333)
|
tv_car_type.setDrawableRight(R.mipmap.icon_arrow_open_black)
|
tv_money.setDrawableRight(R.mipmap.icon_arrow_open_black)
|
tv_more.setDrawableRight(R.mipmap.icon_arrow_open_black)
|
tv_site.setDrawableRight(R.mipmap.icon_arrow_open_black)
|
if (tvCarType != null){
|
tvCarType.textColor(this,R.color.color_3090E9)
|
tvCarType.setDrawableRight(R.mipmap.arrow_blue_up)
|
}
|
|
}
|
|
override fun setOnclick() {
|
tv_cancel_search.clickDelay {
|
onBackPressed()
|
}
|
et_search.setTextChange {
|
// carRentalListFragment.serachName = it
|
// carRentalListFragment.refresh()
|
}
|
|
et_search.setOnEditorActionListener { v, actionId, event ->
|
if (actionId == EditorInfo.IME_ACTION_SEARCH){
|
carRentalListFragment.serachName = et_search.getContent()
|
carRentalListFragment.callRefresh()
|
}
|
return@setOnEditorActionListener false
|
}
|
tv_car_type.clickDelay {
|
allFailse(tv_car_type)
|
var view = layoutInflater.inflate(R.layout.pop_car_type,null)
|
var pop = EasyPopup()
|
.setContentView(view)
|
.setWidth(ViewGroup.LayoutParams.MATCH_PARENT)
|
.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT)
|
.setBackgroundDimEnable(false)
|
.setOutsideTouchable(true)
|
pop.showAsDropDown(ll_tops)
|
var carTypeAdapter = CarTypeAdapter()
|
carTypeAdapter.selectId = carRentalListFragment.brandId
|
view.recycler_view_car_type.layoutManager = LinearLayoutManager(this)
|
callNet(Api.queryAllBrand, getMapByAny()) { carallStr ->
|
var carAll = gson.fromJson<AllCarBean>(carallStr, AllCarBean::class.java)
|
carTypeAdapter.data.addAll(carAll.data)
|
carTypeAdapter.data.add(0,AllCarBean.DataBean.create("不限",-1))
|
carTypeAdapter.notifyDataSetChanged()
|
}
|
|
view.recycler_view_car_type.adapter = carTypeAdapter
|
carTypeAdapter.setOnItemClickListener { view, position ->
|
if (carTypeAdapter.selectId == carTypeAdapter.data[position].id){
|
carRentalListFragment.brandId = -1
|
}else{
|
carRentalListFragment.brandId = carTypeAdapter.data[position].id
|
}
|
carRentalListFragment.refresh()
|
allFailse(null)
|
pop.dismiss()
|
}
|
view.view_dismiss.clickDelay {
|
allFailse(null)
|
pop.dismiss()
|
}
|
}
|
|
rl_money.clickDelay {
|
allFailse(tv_money)
|
var view = layoutInflater.inflate(R.layout.pop_car_type,null)
|
var pop = EasyPopup()
|
.setContentView(view)
|
.setWidth(ViewGroup.LayoutParams.MATCH_PARENT)
|
.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT)
|
.setBackgroundDimEnable(false)
|
.setOutsideTouchable(true)
|
pop.showAsDropDown(ll_tops)
|
var carTypeAdapter = CarTypeAdapter()
|
carTypeAdapter.selectId = carRentalListFragment.type
|
view.recycler_view_car_type.layoutManager = LinearLayoutManager(this)
|
carTypeAdapter.data.add(AllCarBean.DataBean.create("不限",-1))
|
carTypeAdapter.data.add(AllCarBean.DataBean.create("企业车辆",2))
|
carTypeAdapter.data.add(AllCarBean.DataBean.create("个人车辆",1))
|
view.recycler_view_car_type.adapter = carTypeAdapter
|
carTypeAdapter.setOnItemClickListener { view, position ->
|
if (carTypeAdapter.selectId == carTypeAdapter.data[position].id){
|
carRentalListFragment.type = -1
|
}else{
|
carRentalListFragment.type = carTypeAdapter.data[position].id
|
}
|
carRentalListFragment.serachName = et_search.getContent()
|
carRentalListFragment.refresh()
|
allFailse(null)
|
pop.dismiss()
|
}
|
view.view_dismiss.clickDelay {
|
allFailse(null)
|
pop.dismiss()
|
}
|
}
|
|
rl_site.clickDelay {
|
allFailse(tv_site)
|
var view = layoutInflater.inflate(R.layout.pop_car_site, null)
|
var pop = EasyPopup()
|
.setContentView(view)
|
.setWidth(ViewGroup.LayoutParams.MATCH_PARENT)
|
.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT)
|
.setBackgroundDimEnable(false)
|
.setOutsideTouchable(true)
|
pop.showAsDropDown(ll_tops)
|
var cityCode = ""
|
var data = gson.fromJson<MutableList<AlLSiteBeanItem>>(Const.Site,object : TypeToken<MutableList<AlLSiteBeanItem>>(){}.type)
|
var siteAdapter = ProvinceSiteAdapter()
|
var siteDetailAdapter = ProvinceSiteDetailAdapter()
|
|
siteAdapter.selectPosition = carRentalListFragment.selectProvincePos
|
siteDetailAdapter.selectPosition = carRentalListFragment.selectCityPos
|
|
view.recycler_view_car_site.layoutManager = LinearLayoutManager(this)
|
view.recycler_view_car_site_detail.layoutManager = LinearLayoutManager(this)
|
view.recycler_view_car_site.adapter = siteAdapter
|
view.recycler_view_car_site_detail.adapter = siteDetailAdapter
|
siteAdapter.data.addAll(data)
|
siteAdapter.data.add(0, AlLSiteBeanItem("", arrayListOf(),"全国"))
|
siteAdapter.notifyDataSetChanged()
|
view.recycler_view_car_site.scrollToPosition(siteAdapter.selectPosition)
|
if (carRentalListFragment.selectProvincePos != 0){
|
siteDetailAdapter.data.clear()
|
siteDetailAdapter.data.addAll(siteAdapter.data[carRentalListFragment.selectProvincePos].city)
|
siteDetailAdapter.notifyDataSetChanged()
|
view.recycler_view_car_site_detail.scrollToPosition(siteDetailAdapter.selectPosition)
|
}
|
siteAdapter.setOnItemClickListener { view, position ->
|
siteAdapter.selectPosition = position
|
siteAdapter.notifyDataSetChanged()
|
if (position == 0){
|
cityCode = ""
|
carRentalListFragment.cityCode = cityCode
|
carRentalListFragment.serachName = et_search.getContent()
|
carRentalListFragment.refresh()
|
carRentalListFragment.selectProvincePos = 0
|
carRentalListFragment.selectCityPos = 0
|
allFailse(null)
|
pop.dismiss()
|
}else{
|
siteDetailAdapter.selectPosition = -1
|
siteDetailAdapter.data.clear()
|
siteDetailAdapter.data.addAll(siteAdapter.data[position].city)
|
siteDetailAdapter.notifyDataSetChanged()
|
}
|
}
|
siteDetailAdapter.setOnItemClickListener { view, position ->
|
carRentalListFragment.cityCode = siteDetailAdapter.data[position].adcode
|
carRentalListFragment.serachName = et_search.getContent()
|
carRentalListFragment.refresh()
|
carRentalListFragment.selectProvincePos = siteAdapter.selectPosition
|
carRentalListFragment.selectCityPos = position
|
allFailse(null)
|
pop.dismiss()
|
}
|
}
|
|
rl_more.clickDelay {
|
var moneyArray = arrayListOf("¥100以下","¥100-200","¥200-300","¥300-400","¥400以上")
|
var carBook = arrayListOf("身份证","驾驶证","驾驶员资格证")
|
allFailse(tv_more)
|
var startRentMoney = ""
|
var endRentMoney = ""
|
var pickUpCarCarCertificates = ""
|
var view = layoutInflater.inflate(R.layout.pop_car_more_rental,null)
|
var pop = EasyPopup()
|
.setContentView(view)
|
.setWidth(ViewGroup.LayoutParams.MATCH_PARENT)
|
.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT)
|
.setBackgroundDimEnable(false)
|
.setOutsideTouchable(true)
|
pop.showAsDropDown(ll_tops)
|
view.recycler_view_car_num.layoutManager = GridLayoutManager(this,4)
|
view.recycler_view_car_speed.layoutManager = GridLayoutManager(this,4)
|
var selectlist = arrayListOf<Int>()
|
selectlist.addAll(carRentalListFragment.selectPosList)
|
var moneyAdapter = CarMoneytypeAdapter()
|
var bookAdapter = CarMoneytypeAdapter()
|
|
moneyAdapter .select = selectlist[0]
|
bookAdapter .select = selectlist[1]
|
moneyAdapter.data.addAll(moneyArray)
|
bookAdapter.data.addAll(carBook)
|
view.recycler_view_car_num.adapter = moneyAdapter
|
view.recycler_view_car_speed.adapter = bookAdapter
|
setMoney(selectlist[0]){start,end ->
|
startRentMoney = start
|
endRentMoney = end
|
}
|
moneyAdapter.setOnItemClickListener { view, position ->
|
moneyAdapter.select = position
|
moneyAdapter.notifyDataSetChanged()
|
setMoney(position){start,end ->
|
startRentMoney = start
|
endRentMoney = end
|
}
|
selectlist[0] = position
|
}
|
bookAdapter.setOnItemClickListener { view, position ->
|
pickUpCarCarCertificates = bookAdapter.data[position]
|
bookAdapter.select = position
|
bookAdapter.notifyDataSetChanged()
|
selectlist[1] = position
|
}
|
view.view_dismiss_type.clickDelay {
|
allFailse(null)
|
pop.dismiss()
|
}
|
view.tv_sure_rental.clickDelay {
|
carRentalListFragment.selectPosList = selectlist
|
carRentalListFragment.startRentMoney = startRentMoney
|
carRentalListFragment.endRentMoney = endRentMoney
|
carRentalListFragment.pickUpCarCarCertificates = pickUpCarCarCertificates
|
carRentalListFragment.serachName = et_search.getContent()
|
carRentalListFragment.refresh()
|
allFailse(null)
|
pop.dismiss()
|
}
|
view.tv_resets.clickDelay {
|
startRentMoney = ""
|
endRentMoney = ""
|
pickUpCarCarCertificates = ""
|
moneyAdapter.select = 0
|
bookAdapter.select = 0
|
carRentalListFragment.selectPosList = arrayListOf(0,0)
|
selectlist = arrayListOf(0,0)
|
moneyAdapter.notifyDataSetChanged()
|
bookAdapter.notifyDataSetChanged()
|
}
|
}
|
}
|
|
// var moneyArray = arrayListOf("¥100以下","¥100-200","¥200-300","¥300-400","¥400以上")
|
private fun setMoney(position: Int, function:(String,String) -> Unit) {
|
when(position){
|
0 -> {
|
function("0","100")
|
}
|
1 -> {
|
function("100","200")
|
}
|
2 -> {
|
function("200","300")
|
}
|
3 -> {
|
function("300","400")
|
}
|
4 -> {
|
function("400","")
|
}
|
}
|
}
|
|
}
|