package com.kuanzhai.driver.ui.driver_server.fragment
|
|
import MainRentalCarAdapter
|
import android.view.View
|
import androidx.recyclerview.widget.GridLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
import cn.sinata.xldutils.utils.clickDelay
|
import cn.sinata.xldutils.utils.gone
|
import cn.sinata.xldutils.utils.visible
|
import com.kuanzhai.driver.R
|
import com.kuanzhai.driver.base.MyBaseFragment
|
import com.kuanzhai.driver.bean.*
|
import com.kuanzhai.driver.netUtls.Api
|
import com.kuanzhai.driver.netUtls.callNet
|
import com.kuanzhai.driver.netUtls.getMapByAny
|
import com.kuanzhai.driver.ui.driver_server.*
|
import com.kuanzhai.driver.ui.driver_server.adapter.MainBuyCarAdapter
|
import com.kuanzhai.driver.ui.driver_server.adapter.MainJobAdapter
|
import kotlinx.android.synthetic.main.fragment_driver_server.*
|
import org.jetbrains.anko.startActivity
|
|
class DriverServerFragment: MyBaseFragment() {
|
|
val mainBuyCarAdapter by lazy {
|
MainBuyCarAdapter()
|
}
|
|
val mainJobAdapter by lazy {
|
MainJobAdapter()
|
}
|
|
val mainRentalCarAdapter by lazy {
|
MainRentalCarAdapter()
|
}
|
|
override fun layoutId(): Int {
|
return R.layout.fragment_driver_server
|
}
|
|
override fun initView() {
|
recycler_view_buy.layoutManager = GridLayoutManager(requireContext(),2)
|
recycler_view_rental.layoutManager = GridLayoutManager(requireContext(),2)
|
recycler_view_job.layoutManager = LinearLayoutManager(requireContext())
|
recycler_view_buy.adapter = mainBuyCarAdapter
|
recycler_view_rental.adapter = mainRentalCarAdapter
|
recycler_view_job.adapter = mainJobAdapter
|
|
callModule()
|
onClick()
|
initAll()
|
|
mSwipeRefreshLayout.setOnRefreshListener {
|
mSwipeRefreshLayout.isRefreshing = false
|
mainBuyCarAdapter.data.clear()
|
mainRentalCarAdapter.data.clear()
|
mainJobAdapter.data.clear()
|
mainBuyCarAdapter.notifyDataSetChanged()
|
mainRentalCarAdapter.notifyDataSetChanged()
|
mainJobAdapter.notifyDataSetChanged()
|
callModule()
|
initAll()
|
}
|
}
|
|
fun initAll(){
|
callBuy(){
|
if (!it.isNullOrEmpty()) {
|
mainBuyCarAdapter.data.addAll(it)
|
mainBuyCarAdapter.notifyDataSetChanged()
|
}
|
}
|
callRental(){
|
mainRentalCarAdapter.data.addAll(it)
|
mainRentalCarAdapter.notifyDataSetChanged()
|
}
|
|
callWork(){
|
mainJobAdapter.data.addAll(it)
|
mainJobAdapter.notifyDataSetChanged()
|
}
|
}
|
|
private fun callModule() {
|
var map = getMapByAny()
|
callNet(Api.getShowModular,map){
|
var module = gson.fromJson<ModuleBean>(it,ModuleBean::class.java)
|
var isAll = false
|
for (item in module.data){
|
if (item.driverShow == 1){
|
isAll = true
|
}
|
when(item.type){//1=招募,2=租车,3=买车,4=出租个人车辆,5=卖车,6=商家中心,7=打车卡)
|
1 -> {
|
tv_job.visibility = if (item.driverShow == 1) View.VISIBLE else View.GONE
|
ll_job_main.visibility = if (item.driverShow == 1) View.VISIBLE else View.GONE
|
}
|
2 -> {
|
tv_rental_car.visibility = if (item.driverShow == 1) View.VISIBLE else View.GONE
|
ll_rental_car_main.visibility = if (item.driverShow == 1) View.VISIBLE else View.GONE
|
}
|
3 -> {
|
tv_buy_car.visibility = if (item.driverShow == 1) View.VISIBLE else View.GONE
|
ll_buy_car_main.visibility = if (item.driverShow == 1) View.VISIBLE else View.GONE
|
}
|
4 -> {
|
tv_sell_her.visibility = if (item.driverShow == 1) View.VISIBLE else View.GONE
|
}
|
5 -> {
|
tv_sell_car.visibility = if (item.driverShow == 1) View.VISIBLE else View.GONE
|
}
|
6 -> {
|
|
}
|
}
|
}
|
if (!isAll){
|
ll_error.visible()
|
}else{
|
ll_error.gone()
|
}
|
|
}
|
}
|
|
private fun callWork(function: (List<ServerWorkData>) -> Unit) {
|
var map = getMapByAny()
|
map["pageNum"] = 1
|
map["size"] = 2
|
callNet(Api.getRecruitFirstPageList,map){
|
var bean = gson.fromJson<ServerWorkBean>(it,ServerWorkBean::class.java).data
|
function(bean)
|
}
|
}
|
|
private fun callRental(function: (List<MyBuyCarListData>) -> Unit) {
|
var map = getMapByAny()
|
map["pageNum"] = 1
|
map["size"] = 2
|
callNet(Api.getCarRentalFirstPageList,map){
|
var bean = gson.fromJson<MyBuyCarList>(it, MyBuyCarList::class.java).data
|
function(bean)
|
}
|
|
}
|
|
private fun callBuy(function:(List<MyBuyCarListData>) -> Unit) {
|
var map = getMapByAny()
|
map["pageNum"] = 1
|
map["size"] = 2
|
callNet(Api.getSellingCarFirstPageList,map){
|
var bean = gson.fromJson<MyBuyCarList>(it, MyBuyCarList::class.java).data
|
function(bean)
|
}
|
}
|
|
private fun onClick() {
|
//购车列表
|
tv_buy_car.clickDelay {
|
requireActivity().startActivity<CarBuyActivity>()
|
}
|
//租车列表
|
tv_rental_car.clickDelay {
|
requireActivity().startActivity<CarRentalActivity>()
|
}
|
//找工作列表
|
tv_job.clickDelay {
|
requireActivity().startActivity<DriverJobActivity>()
|
}
|
//发布租车信息
|
tv_sell_her.clickDelay {
|
requireActivity().startActivity<RentalCarSendActivity>()
|
}
|
//发布购车信息
|
tv_sell_car.clickDelay {
|
requireActivity().startActivity<SellCarSendActivity>()
|
}
|
|
ll_job.clickDelay {
|
tv_job.callOnClick()
|
}
|
ll_rental_car.clickDelay {
|
tv_rental_car.callOnClick()
|
}
|
ll_buy_car.clickDelay {
|
tv_buy_car.callOnClick()
|
}
|
|
mainBuyCarAdapter.setOnItemClickListener { view, position ->
|
requireActivity().startActivity<CarDetailActivity>("carId" to mainBuyCarAdapter.data[position].id)
|
}
|
|
mainRentalCarAdapter.setOnItemClickListener { view, position ->
|
requireActivity().startActivity<CarRentalDetailActivity>("carId" to mainBuyCarAdapter.data[position].id)
|
}
|
|
mainJobAdapter.setOnItemClickListener { view, position ->
|
requireActivity().startActivity<JobDetailActivity>("jobId" to mainJobAdapter.data[position].id.toString())
|
}
|
|
|
}
|
|
}
|