package com.kuanzhai.user.ui.menu
|
|
import android.view.animation.AnimationUtils
|
import androidx.recyclerview.widget.GridLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
import cn.sinata.xldutils.clickDelay
|
import cn.sinata.xldutils.gone
|
import cn.sinata.xldutils.view.SwipeRefreshRecyclerLayout
|
import cn.sinata.xldutils.visible
|
import com.kuanzhai.user.R
|
import com.kuanzhai.user.network.HttpManager
|
import com.kuanzhai.user.network.entity.WantedBean
|
import com.kuanzhai.user.network.request
|
import com.kuanzhai.user.ui.TransparentStatusBarActivity
|
import com.kuanzhai.user.ui.menu.adapter.FilterGridAdapter
|
import com.kuanzhai.user.ui.menu.adapter.FilterStringAdapter
|
import com.kuanzhai.user.ui.menu.adapter.WantedAdapter
|
import kotlinx.android.synthetic.main.activity_wanted.*
|
import org.jetbrains.anko.startActivity
|
|
class WantedActivity : TransparentStatusBarActivity() {
|
override fun setContentView() = R.layout.activity_wanted
|
|
private val list = arrayListOf<WantedBean>()
|
private val adapter = WantedAdapter(list)
|
private var page = 1
|
|
private val types = arrayListOf("不限","商务司机","出租车司机","货运司机","快车/专车司机","小件物流司机","专职司机")
|
private val typeAdapter = FilterStringAdapter(types,true)
|
private val money = arrayListOf("不限","1000元以下","1000-2000元","2000-3000元","3000-5000元","5000-8000元","8000-12000元","12000-20000元","20000-25000元","25000以上")
|
private val moneyAdapter = FilterStringAdapter(money,true)
|
private val fuli = arrayListOf("不限","五险一金","包吃","包住","年底双薪","周末双休","交通补助","加班补助","饭补","话补","房补")
|
private val fuliAdapter = FilterGridAdapter(fuli,true)
|
|
//筛选参数
|
private var driverType:String? = null
|
private var welfare:String? = null
|
private var startSalary:Double? = null
|
private var endSalary:Double? = null
|
|
override fun initClick() {
|
bg_shadow.setOnClickListener { closeFilter() }
|
|
fl_search1.setOnClickListener {
|
if (tv_search1.isSelected)
|
closeFilter()
|
else{
|
closeFilter()
|
tv_search1.isSelected = true
|
bg_shadow.visible()
|
rv_type.visible()
|
val loadAnimation = AnimationUtils.loadAnimation(this, R.anim.nemu_top_in)
|
rv_type.startAnimation(loadAnimation)
|
}
|
}
|
fl_search2.setOnClickListener {
|
if (tv_search2.isSelected)
|
closeFilter()
|
else{
|
closeFilter()
|
tv_search2.isSelected = true
|
bg_shadow.visible()
|
rv_money.visible()
|
val loadAnimation = AnimationUtils.loadAnimation(this, R.anim.nemu_top_in)
|
rv_money.startAnimation(loadAnimation)
|
}
|
}
|
fl_search3.setOnClickListener {
|
if (tv_search3.isSelected)
|
closeFilter()
|
else{
|
closeFilter()
|
tv_search3.isSelected = true
|
bg_shadow.visible()
|
ll_more.visible()
|
val loadAnimation = AnimationUtils.loadAnimation(this, R.anim.nemu_top_in)
|
ll_more.startAnimation(loadAnimation)
|
}
|
}
|
|
typeAdapter.setOnItemClickListener { view, position ->
|
typeAdapter.checked = position
|
typeAdapter.notifyDataSetChanged()
|
closeFilter()
|
tv_search1.text = types[position]
|
driverType = if (position == 0) null else types[position]
|
refresh()
|
}
|
moneyAdapter.setOnItemClickListener { view, position ->
|
moneyAdapter.checked = position
|
moneyAdapter.notifyDataSetChanged()
|
closeFilter()
|
tv_search2.text = money[position]
|
when(position){
|
0->{
|
startSalary = null
|
endSalary = null
|
}
|
1->{
|
startSalary = null
|
endSalary = 999.99
|
}
|
2->{
|
startSalary = 1000.0
|
endSalary = 2000.0
|
}
|
3->{
|
startSalary = 2000.0
|
endSalary = 3000.0
|
}
|
4->{
|
startSalary = 3000.0
|
endSalary = 5000.0
|
}
|
5->{
|
startSalary = 5000.0
|
endSalary = 8000.0
|
}
|
6->{
|
startSalary = 8000.0
|
endSalary = 12000.0
|
}
|
7->{
|
startSalary = 12000.0
|
endSalary = 20000.0
|
}
|
8->{
|
startSalary = 20000.0
|
endSalary = 25000.0
|
}
|
9->{
|
startSalary = 25000.0
|
endSalary = null
|
}
|
}
|
refresh()
|
}
|
fuliAdapter.setOnItemClickListener { view, position ->
|
if (position == 0){
|
fuliAdapter.checkedList.clear()
|
fuliAdapter.checkedList.add(fuli[0])
|
}else{
|
if (fuliAdapter.checkedList.contains(fuli[position]))
|
fuliAdapter.checkedList.remove(fuli[position])
|
else
|
fuliAdapter.checkedList.add(fuli[position])
|
if (fuliAdapter.checkedList.contains("不限"))
|
fuliAdapter.checkedList.remove("不限")
|
if (fuliAdapter.checkedList.isEmpty())
|
fuliAdapter.checkedList.add("不限")
|
}
|
fuliAdapter.notifyDataSetChanged()
|
}
|
|
tv_reset.setOnClickListener {
|
fuliAdapter.checkedList.clear()
|
fuliAdapter.checkedList.add(fuli[0])
|
fuliAdapter.notifyDataSetChanged()
|
}
|
tv_ok.clickDelay {
|
closeFilter()
|
welfare = if (fuliAdapter.checkedList.contains("不限")) null else fuliAdapter.checkedList.joinToString(",") { it }
|
refresh()
|
}
|
|
adapter.setOnItemClickListener { view, position ->
|
startActivity<JobDetailActivity>("id" to list[position].id)
|
}
|
|
bg_search.clickDelay {
|
startActivity<SearchCarActivity>("type" to SearchCarActivity.TYPE_JOB)
|
}
|
}
|
|
override fun initView() {
|
title = "司机招募"
|
swipeRefreshLayout.setLayoutManager(LinearLayoutManager(this))
|
swipeRefreshLayout.setAdapter(adapter)
|
swipeRefreshLayout.setOnRefreshListener(object : SwipeRefreshRecyclerLayout.OnRefreshListener{
|
override fun onRefresh() {
|
page = 1
|
getData()
|
}
|
|
override fun onLoadMore() {
|
page++
|
getData()
|
}
|
})
|
rv_type.layoutManager = LinearLayoutManager(this)
|
typeAdapter.checked = -1
|
rv_type.adapter = typeAdapter
|
rv_money.layoutManager = LinearLayoutManager(this)
|
moneyAdapter.checked = -1
|
rv_money.adapter = moneyAdapter
|
rv_fu.layoutManager = GridLayoutManager(this,4)
|
fuliAdapter.checkedList.add("不限")
|
rv_fu.adapter = fuliAdapter
|
getData()
|
}
|
|
private fun getData(){
|
HttpManager.getRecruitList(driverType,null,welfare,startSalary,endSalary,page).request(this,success = {_,data->
|
swipeRefreshLayout.isRefreshing = false
|
if (page == 1)
|
list.clear()
|
list.addAll(data?: emptyList())
|
adapter.notifyDataSetChanged()
|
}){_,_->
|
swipeRefreshLayout.isRefreshing = false
|
}
|
}
|
|
private fun refresh(){
|
swipeRefreshLayout.isRefreshing = true
|
page = 1
|
getData()
|
}
|
|
private fun closeFilter() {
|
bg_shadow.gone()
|
rv_type.gone()
|
rv_money.gone()
|
ll_more.gone()
|
tv_search1.isSelected = false
|
tv_search2.isSelected = false
|
tv_search3.isSelected = false
|
}
|
|
}
|