From 68084cfcf12a45dde9ccf86f22752356937191c9 Mon Sep 17 00:00:00 2001 From: lijia Date: Tue, 29 Oct 2024 16:29:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=BE=E5=8D=95-=E6=8C=87=E6=B4=BE=E8=BD=A6?= =?UTF-8?q?=E9=98=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 18 +- .../glowner/adapter/DriverFleetCarAdapter.kt | 44 +++++ .../adapter/popadapter/DriverFleetAdapter.kt | 46 +++++ .../java/com/dhsd/glowner/base/AppConfig.kt | 1 + .../java/com/dhsd/glowner/bean/CarBean.kt | 4 +- .../java/com/dhsd/glowner/bean/EventBean.kt | 10 ++ app/src/main/java/com/dhsd/glowner/net/Api.kt | 2 +- .../com/dhsd/glowner/ui/home/HomeFragment.kt | 38 +++-- .../ui/mine/activity/ChoiceCarActivity.kt | 4 - .../ui/mine/activity/ChoiceFleetActivity.kt | 111 ++++++++++-- .../mine/activity/ChoiceFleetCarActivity.kt | 160 ++++++++++++++++++ app/src/main/res/drawable/shape_orange_4.xml | 8 + .../res/layout/activity_choice_fleet_car.xml | 37 ---- app/src/main/res/layout/item_driver_fleet.xml | 77 +++++++++ .../main/res/layout/item_driver_fleet_car.xml | 97 +++++++++++ mylibrary/build.gradle | 3 + 16 files changed, 585 insertions(+), 75 deletions(-) create mode 100644 app/src/main/java/com/dhsd/glowner/adapter/DriverFleetCarAdapter.kt create mode 100644 app/src/main/java/com/dhsd/glowner/adapter/popadapter/DriverFleetAdapter.kt create mode 100644 app/src/main/java/com/dhsd/glowner/bean/EventBean.kt create mode 100644 app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetCarActivity.kt create mode 100644 app/src/main/res/drawable/shape_orange_4.xml create mode 100644 app/src/main/res/layout/item_driver_fleet.xml create mode 100644 app/src/main/res/layout/item_driver_fleet_car.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index eb4057e..bac1ba8 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -155,12 +155,22 @@ android:configChanges="keyboardHidden|orientation|locale" android:screenOrientation="portrait" android:windowSoftInputMode="adjustPan|stateHidden" /> - - + android:windowSoftInputMode="adjustPan|stateHidden" /> + + + diff --git a/app/src/main/java/com/dhsd/glowner/adapter/DriverFleetCarAdapter.kt b/app/src/main/java/com/dhsd/glowner/adapter/DriverFleetCarAdapter.kt new file mode 100644 index 0000000..4b20f58 --- /dev/null +++ b/app/src/main/java/com/dhsd/glowner/adapter/DriverFleetCarAdapter.kt @@ -0,0 +1,44 @@ +package com.dhsd.glowner.adapter + +import android.content.Context +import android.view.ViewGroup +import android.widget.ImageView +import com.chad.library.adapter4.BaseQuickAdapter +import com.chad.library.adapter4.viewholder.QuickViewHolder +import com.dahe.mylibrary.utils.ImageLoader +import com.dhsd.glowner.R +import com.dhsd.glowner.bean.CarBean + +/** + * @ClassName WaybillAdapter + * @Author 用户 + * @Date 2024/1/23 16:27 + * @Description TODO + */ +class DriverFleetCarAdapter() : + BaseQuickAdapter() { + override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: CarBean?) { + + item?.let { + holder.run { + setBackgroundResource(R.id.cdContent, if (item.isSelect) R.drawable.shape_discar_8 else R.drawable.shape_white_8) + setText(R.id.tvCarNum, item.vehicleNum) + setText(R.id.tvDriverName, item.driverContactName) + setText(R.id.tvPhone, item.driverContactPhone) + setText(R.id.tvCarLen, """${item.carLong.toFloat().div(1000)}m/${item.approvedLoad.toFloat().div(1000)}吨/${item?.vehicleType}""") + ImageLoader.getInstance() + .loadRoundImage(context, item?.carUrl, 6, getView(R.id.ivHead)) + + } + } + } + + override fun onCreateViewHolder( + context: Context, + parent: ViewGroup, + viewType: Int + ): QuickViewHolder { + // 返回一个 ViewHolder + return QuickViewHolder(R.layout.item_driver_fleet_car, parent) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/dhsd/glowner/adapter/popadapter/DriverFleetAdapter.kt b/app/src/main/java/com/dhsd/glowner/adapter/popadapter/DriverFleetAdapter.kt new file mode 100644 index 0000000..6b1bc4e --- /dev/null +++ b/app/src/main/java/com/dhsd/glowner/adapter/popadapter/DriverFleetAdapter.kt @@ -0,0 +1,46 @@ +package com.dhsd.glowner.adapter.popadapter + +import android.content.Context +import android.view.ViewGroup +import android.widget.CheckBox +import android.widget.ImageView +import com.chad.library.adapter4.BaseQuickAdapter +import com.chad.library.adapter4.viewholder.QuickViewHolder +import com.dahe.mylibrary.utils.ImageLoader +import com.dhsd.glowner.R +import com.dhsd.glowner.bean.CaptainBean +import com.dhsd.glowner.bean.CarBean + +/** + * @ClassName WaybillAdapter + * @Author 用户 + * @Date 2024/1/23 16:27 + * @Description 选择车队 + */ +class DriverFleetAdapter() : + BaseQuickAdapter() { + override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: CaptainBean?) { + holder.run { + item?.let { + holder.run { + setText(R.id.tvTitle,it.captainName) + setText(R.id.tvName,it.contactName) + setText(R.id.tvPhone,it.idcardName) +// ImageLoader.getInstance() +// .loadRoundImage(context, it.driverAvatar, 6, getView(R.id.ivHead)) + getView(R.id.cBox).isChecked = it.isSelect + + } + } + } + } + + override fun onCreateViewHolder( + context: Context, + parent: ViewGroup, + viewType: Int + ): QuickViewHolder { + // 返回一个 ViewHolder + return QuickViewHolder(R.layout.item_driver_fleet, parent) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/dhsd/glowner/base/AppConfig.kt b/app/src/main/java/com/dhsd/glowner/base/AppConfig.kt index e84135a..4c50de5 100644 --- a/app/src/main/java/com/dhsd/glowner/base/AppConfig.kt +++ b/app/src/main/java/com/dhsd/glowner/base/AppConfig.kt @@ -10,6 +10,7 @@ object AppConfig { const val BUGLY_APP_ID = "a5b894cef7" const val TIME = "DA_HE_TIME" const val ID = "DA_HE_ID" + const val CAPTAIN_ID = "CAPTAIN_ID" const val PWD = "DA_HE_PHONE" const val CODE = "DA_HE_PHONE" const val SUCCESS_TYPE = "DA_HE_SUCCESS_TYPE" diff --git a/app/src/main/java/com/dhsd/glowner/bean/CarBean.kt b/app/src/main/java/com/dhsd/glowner/bean/CarBean.kt index 0fdbb15..6846893 100644 --- a/app/src/main/java/com/dhsd/glowner/bean/CarBean.kt +++ b/app/src/main/java/com/dhsd/glowner/bean/CarBean.kt @@ -33,6 +33,8 @@ data class CarBean( var vehicleNum: String="", val vehicleType: String="", val contactName: String="", + val driverContactName: String="", + val driverContactPhone: String="", val vehicleTypeCode: String="", val idcardName: String="", val contactPhone: String="", @@ -43,7 +45,7 @@ data class CaptainBean( val auditStatus: String, val businessEnterpriseName: String, val businessLegalPerson: String, - val captainId: Int, + val captainId: String, val captainName: String, val captainType: String, val contactName: String, diff --git a/app/src/main/java/com/dhsd/glowner/bean/EventBean.kt b/app/src/main/java/com/dhsd/glowner/bean/EventBean.kt new file mode 100644 index 0000000..727f61a --- /dev/null +++ b/app/src/main/java/com/dhsd/glowner/bean/EventBean.kt @@ -0,0 +1,10 @@ +package com.dhsd.glowner.bean + +/** + * @ClassName EventBean + * @Author john + * @Date 2024/10/29 16:17 + * @Description TODO + */ + +class HomeEvent(var isRefresh: Boolean) \ No newline at end of file diff --git a/app/src/main/java/com/dhsd/glowner/net/Api.kt b/app/src/main/java/com/dhsd/glowner/net/Api.kt index ace4e9c..69dcdc4 100644 --- a/app/src/main/java/com/dhsd/glowner/net/Api.kt +++ b/app/src/main/java/com/dhsd/glowner/net/Api.kt @@ -88,5 +88,5 @@ interface Api { * @return Observable>> */ @GET(BASE_URL+"devApi/business/ft/common/dict/captain/driverAndCar") - fun driverAndCarList(@Query("captainId") captainId:String): Observable>> + fun driverAndCarList(@Query("captainId") captainId:String): Observable>> } \ No newline at end of file diff --git a/app/src/main/java/com/dhsd/glowner/ui/home/HomeFragment.kt b/app/src/main/java/com/dhsd/glowner/ui/home/HomeFragment.kt index a02a1d6..b13cae5 100644 --- a/app/src/main/java/com/dhsd/glowner/ui/home/HomeFragment.kt +++ b/app/src/main/java/com/dhsd/glowner/ui/home/HomeFragment.kt @@ -3,22 +3,19 @@ package com.dhsd.glowner.ui.home import BaseObserver import DataManager import RxHttpCallBack -import android.app.Activity import android.content.Intent import android.graphics.Color import android.os.Bundle +import android.util.Log import android.widget.LinearLayout -import androidx.activity.result.ActivityResultRegistry import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.app.AppCompatActivity import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView -import com.chad.library.adapter4.BaseQuickAdapter import com.dahe.gldriver.base.AppConfig import com.dahe.glex.bean.OrderBean import com.dahe.glex.bean.OrderListBean import com.dahe.glex.bean.TextOrder -import com.dahe.glex.bean.WayBillBean import com.dahe.mylibrary.base.BaseFragment import com.dahe.mylibrary.callback.RefreshCallBack import com.dahe.mylibrary.net.CommonResponseBean @@ -28,15 +25,17 @@ import com.dahe.mylibrary.utils.ConvertUtils import com.dahe.mylibrary.utils.ToastUtils import com.dhsd.glowner.R import com.dhsd.glowner.adapter.WaybillAdapter -import com.dhsd.glowner.bean.PopBean -import com.dhsd.glowner.cuspop.OnCarSelectListener +import com.dhsd.glowner.bean.HomeEvent import com.dhsd.glowner.databinding.FragmentHomeBinding -import com.dhsd.glowner.ui.MarketsActivity import com.dhsd.glowner.ui.home.activtiy.SendGoodsActivity import com.dhsd.glowner.ui.mine.activity.ChoiceCarActivity +import com.dhsd.glowner.ui.mine.activity.ChoiceFleetActivity import com.dhsd.glowner.utils.CommonPopUtils import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.schedulers.Schedulers +import org.greenrobot.eventbus.EventBus +import org.greenrobot.eventbus.Subscribe +import org.greenrobot.eventbus.ThreadMode /** * @ClassName HomeFragment @@ -62,6 +61,7 @@ class HomeFragment : BaseFragment(), RefreshCallBack { } override fun onFragmentFirstVisible() { + EventBus.getDefault().register(this) initRecy() binding.tvMar.isSelected = true @@ -83,6 +83,13 @@ class HomeFragment : BaseFragment(), RefreshCallBack { initData() } + @Subscribe(threadMode = ThreadMode.MAIN) + fun processResult(home: HomeEvent) { + if (home.isRefresh){ + initData() + } + } + private fun initRecy() { setRefresh(binding.refresh, this) adapter = binding.recyclerView.run { @@ -108,9 +115,20 @@ class HomeFragment : BaseFragment(), RefreshCallBack { mContext ) { _, position -> if (position === 0) { - launcher.launch(Intent(mContext, ChoiceCarActivity::class.java).apply { - putExtras(Bundle().apply { putString(AppConfig.ID, item?.orderId) }) - }) + + } + + when (position) { + 0->{ + launcher.launch(Intent(mContext, ChoiceCarActivity::class.java).apply { + putExtras(Bundle().apply { putString(AppConfig.ID, item?.orderId) }) + }) + } + 1 -> { + launcher.launch(Intent(mContext, ChoiceFleetActivity::class.java).apply { + putExtras(Bundle().apply { putString(AppConfig.ID, item?.orderId) }) + }) + } } } } diff --git a/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceCarActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceCarActivity.kt index 33b52a7..168c3cc 100644 --- a/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceCarActivity.kt +++ b/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceCarActivity.kt @@ -138,10 +138,6 @@ class ChoiceCarActivity : BaseActivity(), OnLimitClick if (orderId.isEmpty()) return - - - - if (selectCar == null) { showToast("请选择车辆") return diff --git a/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetActivity.kt index 9b6cc75..bf7f83c 100644 --- a/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetActivity.kt +++ b/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetActivity.kt @@ -3,22 +3,31 @@ package com.dhsd.glowner.ui.mine.activity import BaseObserver import DataManager import RxHttpCallBack +import android.content.Intent import android.graphics.Color import android.os.Bundle import android.view.View import android.widget.LinearLayout +import androidx.appcompat.app.AppCompatActivity import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView +import com.chad.library.adapter4.BaseQuickAdapter +import com.dahe.gldriver.base.AppConfig +import com.dahe.glex.bean.DispatchBean import com.dahe.mylibrary.base.BaseActivity import com.dahe.mylibrary.net.CommonResponseBean import com.dahe.mylibrary.recycleviewswipe.RecycleViewDivider +import com.dahe.mylibrary.utils.ActivityUtils import com.dahe.mylibrary.utils.ConvertUtils import com.dahe.mylibrary.utils.ToastUtils import com.dhsd.glowner.R import com.dhsd.glowner.adapter.DriverCarsAdapter +import com.dhsd.glowner.adapter.popadapter.DriverFleetAdapter import com.dhsd.glowner.bean.CaptainBean import com.dhsd.glowner.bean.CarBean import com.dhsd.glowner.databinding.ActivityChoiceFleetCarBinding +import com.dhsd.glowner.utils.OnLimitClickHelper +import com.dhsd.glowner.utils.OnLimitClickListener import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.core.Scheduler import io.reactivex.rxjava3.schedulers.Schedulers @@ -29,15 +38,17 @@ import io.reactivex.rxjava3.schedulers.Schedulers * @Date 2024/10/24 16:02 * @Description 选择车队/车辆 */ -class ChoiceFleetActivity : BaseActivity() { +class ChoiceFleetActivity : BaseActivity(), OnLimitClickListener { + lateinit var adapter: DriverFleetAdapter + private var orderId: String = "" override fun initView(savedInstanceState: Bundle?) { setStatusBarColor(R.color.white) setTitleBar("选择车队/车辆", View.OnClickListener { finish() }, true, "我的熟车") { ToastUtils.showToast(mContext, "我的熟车") } - + orderId = intent.extras?.getString(AppConfig.ID).toString() binding.run { - recycler.run { + adapter = recycler.run { layoutManager = LinearLayoutManager(mContext, RecyclerView.VERTICAL, false) addItemDecoration( RecycleViewDivider( @@ -46,37 +57,101 @@ class ChoiceFleetActivity : BaseActivity() { Color.TRANSPARENT ) ) - adapter = DriverCarsAdapter() - adapter as DriverCarsAdapter + adapter = DriverFleetAdapter() + adapter as DriverFleetAdapter }.apply { isStateViewEnable = true + + addOnItemChildClickListener(R.id.cBox) { adapter, view, position -> + val captainBean = adapter.items[position] + adapter.items.find { it.isSelect }?.isSelect = false + adapter.items[position].isSelect = true + notifyDataSetChanged() + } + + setOnItemClickListener { adapter, view, position -> + + ActivityUtils.startActivity(mContext, ChoiceFleetCarActivity::class.java, intent.extras?.apply { + putString(AppConfig.CAPTAIN_ID, adapter.items[position].captainId) + }) + } + } + + + btnOk.setOnClickListener(OnLimitClickHelper(this@ChoiceFleetActivity)) + } + + } + + override fun onClick(view: View?) { + super.onClick(view) + when (view?.id) { + R.id.btnOk -> { + dispatchVehicles() + } } } + override fun initDate() { DataManager.getInstance().getCaptainList() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) - .subscribe(BaseObserver(mContext,object :RxHttpCallBack>(){ + .subscribe(BaseObserver(mContext, object : RxHttpCallBack>() { override fun onSuccess(t: CommonResponseBean>) { super.onSuccess(t) - + initList(t.data) } })) } - private fun initList(rows: List) { -// if (rows.isEmpty()) { -// adapter.submitList(null) -// adapter.setStateViewLayout(mContext, R.layout.empty_view) -// } else { -// if (mRefreshPage === 1) { -// adapter?.submitList(rows) -// } else { -// adapter?.addAll(rows) -// } -// } + private fun initList(rows: List) { + if (rows.isEmpty()) { + adapter.submitList(null) + adapter.setStateViewLayout(mContext, R.layout.empty_view) + } else { + if (mRefreshPage === 1) { + adapter?.submitList(rows) + } else { + adapter?.addAll(rows) + } + } + } + + + /** + * 分配车辆 + */ + private fun dispatchVehicles() { + if (orderId.isEmpty()) + return + + val captainBean = adapter.items.find { it.isSelect } + if (captainBean == null) { + ToastUtils.showToast(mContext, "请选择车队") + return + } + + DataManager.getInstance().dispatchVehicles( + DispatchBean( + orderId, + adapter.items.find { it.isSelect }?.captainId.toString(), + "", + "" + ) + ) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(BaseObserver(mContext, object : RxHttpCallBack() { + override fun onSuccess(t: CommonResponseBean) { + super.onSuccess(t) + showToast(t.msg) + // 设置返回结果 + setResult(AppCompatActivity.RESULT_OK, Intent()) + finish() + } + })) } } \ No newline at end of file diff --git a/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetCarActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetCarActivity.kt new file mode 100644 index 0000000..3764786 --- /dev/null +++ b/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetCarActivity.kt @@ -0,0 +1,160 @@ +package com.dhsd.glowner.ui.mine.activity + +import BaseObserver +import DataManager +import RxHttpCallBack +import android.content.Intent +import android.graphics.Color +import android.os.Bundle +import android.view.View +import android.widget.LinearLayout +import androidx.appcompat.app.AppCompatActivity +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView +import com.chad.library.adapter4.BaseQuickAdapter +import com.dahe.gldriver.base.AppConfig +import com.dahe.glex.bean.DispatchBean +import com.dahe.mylibrary.base.BaseActivity +import com.dahe.mylibrary.net.CommonResponseBean +import com.dahe.mylibrary.recycleviewswipe.RecycleViewDivider +import com.dahe.mylibrary.utils.ActivityUtils +import com.dahe.mylibrary.utils.ConvertUtils +import com.dahe.mylibrary.utils.ToastUtils +import com.dhsd.glowner.R +import com.dhsd.glowner.adapter.DriverCarsAdapter +import com.dhsd.glowner.adapter.DriverFleetCarAdapter +import com.dhsd.glowner.adapter.popadapter.DriverFleetAdapter +import com.dhsd.glowner.bean.CaptainBean +import com.dhsd.glowner.bean.CarBean +import com.dhsd.glowner.bean.HomeEvent +import com.dhsd.glowner.databinding.ActivityChoiceFleetCarBinding +import com.dhsd.glowner.ui.HomeActivity +import com.dhsd.glowner.utils.OnLimitClickHelper +import com.dhsd.glowner.utils.OnLimitClickListener +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers +import io.reactivex.rxjava3.core.Scheduler +import io.reactivex.rxjava3.schedulers.Schedulers +import org.greenrobot.eventbus.EventBus + +/** + * @ClassName ChoiceFleetActivity + * @Author john + * @Date 2024/10/24 16:02 + * @Description 选择车队->车辆 + */ +class ChoiceFleetCarActivity : BaseActivity(), OnLimitClickListener { + lateinit var adapter: DriverFleetCarAdapter + private var orderId: String = "" + private var captainId: String = "" + override fun initView(savedInstanceState: Bundle?) { + setStatusBarColor(R.color.white) + setTitleBar("选择车队/车辆", View.OnClickListener { finish() }, true, "我的熟车") { + ToastUtils.showToast(mContext, "我的熟车") + } + + intent.extras?.let { + orderId = it.getString(AppConfig.ID).toString() + captainId = it.getString(AppConfig.CAPTAIN_ID).toString() + } + binding.run { + adapter = recycler.run { + layoutManager = LinearLayoutManager(mContext, RecyclerView.VERTICAL, false) + addItemDecoration( + RecycleViewDivider( + LinearLayout.VERTICAL, + ConvertUtils.dp2px(12.0f), + Color.TRANSPARENT + ) + ) + adapter = DriverFleetCarAdapter() + adapter as DriverFleetCarAdapter + }.apply { + isStateViewEnable = true + + setOnItemClickListener { adapter, view, position -> + adapter.items.find { it.isSelect }?.isSelect = false + adapter.getItem(position)?.isSelect = true +// selectCar = adapter.getItem(position) + + notifyDataSetChanged() + } + } + + + btnOk.setOnClickListener(OnLimitClickHelper(this@ChoiceFleetCarActivity)) + } + + } + + override fun onClick(view: View?) { + super.onClick(view) + when (view?.id) { + R.id.btnOk -> { + dispatchVehicles() + } + } + } + + + override fun initDate() { + DataManager.getInstance().driverAndCarList(captainId) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(BaseObserver(mContext, object : RxHttpCallBack>() { + override fun onSuccess(t: CommonResponseBean>) { + super.onSuccess(t) + initList(t.data) + } + })) + + } + + private fun initList(rows: List) { + if (rows.isEmpty()) { + adapter.submitList(null) + adapter.setStateViewLayout(mContext, R.layout.empty_view) + } else { + if (mRefreshPage === 1) { + adapter?.submitList(rows) + } else { + adapter?.addAll(rows) + } + } + } + + + /** + * 分配车辆 + */ + private fun dispatchVehicles() { + if (orderId.isEmpty()) + return + + val captainBean = adapter.items.find { it.isSelect } + if (captainBean == null) { + ToastUtils.showToast(mContext, "请选择车辆") + return + } + + + + DataManager.getInstance().dispatchVehicles( + DispatchBean( + orderId, + captainId, + captainBean.driverId, + captainBean.carId + ) + ) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(BaseObserver(mContext, object : RxHttpCallBack() { + override fun onSuccess(t: CommonResponseBean) { + super.onSuccess(t) + showToast(t.msg) + ActivityUtils.finishToActivity(HomeActivity::class.java, false) + EventBus.getDefault().post(HomeEvent(true)) + } + })) + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_orange_4.xml b/app/src/main/res/drawable/shape_orange_4.xml new file mode 100644 index 0000000..8ae904f --- /dev/null +++ b/app/src/main/res/drawable/shape_orange_4.xml @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_choice_fleet_car.xml b/app/src/main/res/layout/activity_choice_fleet_car.xml index 7491c60..573d87e 100644 --- a/app/src/main/res/layout/activity_choice_fleet_car.xml +++ b/app/src/main/res/layout/activity_choice_fleet_car.xml @@ -9,44 +9,7 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_driver_fleet_car.xml b/app/src/main/res/layout/item_driver_fleet_car.xml new file mode 100644 index 0000000..20d052d --- /dev/null +++ b/app/src/main/res/layout/item_driver_fleet_car.xml @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mylibrary/build.gradle b/mylibrary/build.gradle index 0cc5259..3ce6010 100644 --- a/mylibrary/build.gradle +++ b/mylibrary/build.gradle @@ -86,7 +86,10 @@ dependencies { api 'pub.devrel:easypermissions:3.0.0' api 'io.github.lucksiege:compress:v3.11.2' api 'androidx.cardview:cardview:1.0.0' + + api "com.github.pokercc:ExpandableRecyclerView:0.9.3" + api 'org.greenrobot:eventbus:3.1.1' api rootProject.ext.dependencies["WheelPicker"]