package com.quansu.heifengwuliu.fragment import android.app.Activity import android.content.Intent import android.os.Build import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment import com.hwangjr.rxbus.RxBus import com.qmuiteam.qmui.kotlin.onClick import com.qmuiteam.qmui.widget.tab.QMUITab import com.qmuiteam.qmui.widget.tab.QMUITabBuilder import com.quansu.heifengwuliu.R import com.quansu.heifengwuliu.activity.AreaSelectActivity import com.quansu.heifengwuliu.base.MBTabFragment import com.quansu.heifengwuliu.config.ConfigRx import com.quansu.heifengwuliu.config.MIntentAction import com.quansu.heifengwuliu.databinding.FragmentWaybillBinding import com.quansu.heifengwuliu.inte.ChoiceData import com.quansu.heifengwuliu.inte.ChoiceListData import com.quansu.heifengwuliu.model.SelectData import com.quansu.heifengwuliu.model.bean.SearchBean import com.quansu.heifengwuliu.utils.PopuListUtils import com.quansu.heifengwuliu.vmodel.DriverWayBillVModel import com.ysnows.base.utils.B import com.ysnows.base.utils.UiSwitch import com.ysnows.base.utils.UiUtils import java.util.ArrayList /** *Created by shihuiyun *on 2020/9/9 */ class WayBillFragment : MBTabFragment() { override fun init(savedInstanceState: Bundle?) { super.init(savedInstanceState) setShow() } private fun setShow(){ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { //不支持沉浸式状态栏 } else { //获取状态栏的高度 val statusBarHeight: Int = UiUtils.getStatusBarHeight() //动态设置高度 tv val params = binding.tv.getLayoutParams() //获取当前控件的布局对象 //params.height=UiUtils.dp2dip(getContext(), statusBarHeight);//设置当前控件布局的高度 params.height = statusBarHeight binding.tv.layoutParams = params //将设置好的布局参数应用到控件中 binding.tv.visibility = View.VISIBLE } } override fun initView(view: View?) { super.initView(view) binding.tvTitle.text=getString(R.string.order_information) } override fun vmClass(): Class { return DriverWayBillVModel::class.java } override fun binding(inflater: LayoutInflater, container: ViewGroup?): FragmentWaybillBinding { return FragmentWaybillBinding.inflate(layoutInflater) } override fun title(): String? { return null } override fun backable(): Boolean { return false } override fun getPageItem(position: Int): Fragment { var ownerFragment = OrderListFragment() when (position) { 0 -> { ownerFragment.arguments = B().putString("info_state", "0").ok() return ownerFragment } 1 -> { ownerFragment.arguments = B().putString("info_state", "10").ok() return ownerFragment } 2 -> { ownerFragment.arguments = B().putString("info_state", "20").ok() return ownerFragment } 3 -> { ownerFragment.arguments = B().putString("info_state", "30").ok() return ownerFragment } 4 -> { ownerFragment.arguments = B().putString("info_state", "100").ok() return ownerFragment } 5 -> { ownerFragment.arguments = B().putString("info_state", "40").ok() return ownerFragment } else->{ ownerFragment.arguments = B().putString("info_state", "0").ok() return ownerFragment } } return OrderListFragment() } override fun getPageCount(): Int { return 6 } override fun createTabs(tabBuilder: QMUITabBuilder): Array { val component = tabBuilder .setText(getString(R.string.all)) .build(context()) val pay = tabBuilder .setText(getText(R.string.to_order_pay)) .build(context()) val util = tabBuilder .setText(getText(R.string.to_order_receive)) .build(context()) val ongoing = tabBuilder .setText(getText(R.string.on_going)) .build(context()) val canceled = tabBuilder .setText(getText(R.string.canceled)) .build(context()) val completed = tabBuilder .setText(getText(R.string.completed)) .build(context()) return arrayOf(component, pay,util, ongoing, canceled, completed) } var type = 1 override fun listeners() { super.listeners() binding.flClear.onClick { vm.clearSearch() } binding.tvScreen.onClick { binding.drawerLayout.openDrawer(binding.menuLayoutRight) vm.butCarType=binding.butCarType } binding.flToSearch.onClick { var bean= SearchBean(vm.province_out,vm.city_out,vm.area_out,vm.province_in,vm.city_in,vm.area_in,vm.k!!, vm.carCode, vm.timeOutStart.value!!, vm.timeOutEnd.value!!, vm.timeInStart.value!!, vm.timeInEnd.value!!, vm.priceStart!!, vm.priceEnd!!,vm.sortCode,vm.sortChose.value.toString()) RxBus.get().post(ConfigRx.SEARCH_REFRESH, bean) binding.drawerLayout.closeDrawers() } binding.tvSearch.onClick { var bean= SearchBean(vm.province_out,vm.city_out,vm.area_out,vm.province_in,vm.city_in,vm.area_in,vm.k!!, vm.carCode, vm.timeOutStart.value!!, vm.timeOutEnd.value!!, vm.timeInStart.value!!, vm.timeInEnd.value!!, vm.priceStart!!, vm.priceEnd!!,vm.sortCode,vm.sortChose.value.toString()) RxBus.get().post(ConfigRx.SEARCH_REFRESH, bean) binding.drawerLayout.closeDrawers() } binding.butSearchOut.onClick { type = 1//出发地 UiSwitch.bundleRes(this, AreaSelectActivity::class.java, Bundle().apply { putInt("chose", 1) }, MIntentAction.REQUEST_CODE_TWO) } binding.butSearchIn.onClick { type = 2//目的地 UiSwitch.bundleRes(this, AreaSelectActivity::class.java, Bundle().apply { putInt("chose", 1) }, MIntentAction.REQUEST_CODE_TWO) } binding.butOutTimeStart.onClick { PopuListUtils.setChoseTime(context(),object : ChoiceData { override fun onRestuse(id: String?) { vm.timeOutStart.value = id vm.butColor.value=true } }) } binding.butOutTimeEnd.onClick { PopuListUtils.setChoseTime(context(),object : ChoiceData { override fun onRestuse(id: String?) { vm.timeOutEnd.value = id vm.butColor.value=true } }) } binding.butInTimeStart.onClick { PopuListUtils.setChoseTime(context(),object : ChoiceData { override fun onRestuse(id: String?) { vm.timeInStart.value = id vm.butColor.value=true } }) } binding.butInTimeEnd.onClick { PopuListUtils.setChoseTime(context(),object : ChoiceData { override fun onRestuse(id: String?) { vm.timeInEnd.value = id vm.butColor.value=true } }) } // binding.butCarType.onClick { // // if(null==vm.list!!.value|| vm.list!!.value!!.isEmpty()){ // toast("点击了") // vm.getInfo() // }else { // // var list = ArrayList() // for (item in vm.list!!.value!!) { // var bean = SelectData(item.type_id, item.type_name) // list.add(bean) // } // // PopuListUtils.showQMUIPopup(context(), binding.butCarType, list, object : ChoiceListData { // override fun onRestuse(code: String?, name: String?) { // vm.carCode = code.toString() // vm.carName.value = name // // } // }) // } // // // } binding.butChoseSort.onClick { //选择排序类型 var list= ArrayList() list.add(SelectData("create_time","发布时间")) list.add(SelectData("total","单价")) list.add(SelectData("all_total","总价")) PopuListUtils.showQMUIPopup(context(), binding.butChoseSort, list, object : ChoiceListData { override fun onRestuse(code: String?,name: String?) { vm.sortName.value = name vm.sortCode=code.toString() vm.butColor.value=true } }) } } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if (MIntentAction.REQUEST_CODE_TWO == requestCode && resultCode == Activity.RESULT_OK) { val bundle = data!!.extras if (null != bundle) { var name = bundle.getString("name") if (type == 1) { vm.area_out = bundle.getString("area_code")!! vm.province_out = bundle.getString("province_code")!! vm.city_out = bundle.getString("city_code")!! vm.name_out.value = name } else { vm.area_in = bundle.getString("area_code")!! vm.province_in = bundle.getString("province_code")!! vm.city_in = bundle.getString("city_code")!! vm.name_in.value = name } vm.butColor.value=true } return } } override val isRxbus: Boolean get() = true }