车辆默认选中

This commit is contained in:
lijia 2024-04-17 16:43:45 +08:00
parent b7706e4549
commit 9910d51e1b
10 changed files with 95 additions and 34 deletions

View File

@ -13,6 +13,9 @@ data class OrderBean(
val goodsList: List<Goods> = mutableListOf<Goods>(),
val loadingArea: String= "",
val loadingAreaCode: String= "",
val shipperCaptainId: String= "",//货主指定车队ID
val shipperDriverId: String= "",//货主指定司机ID
val shipperCarId: String= "",//货主指定车辆ID
val loadingCity: String= "",
val loadingCityCode: String= "",
val loadingDeadline: String= "",

View File

@ -27,6 +27,9 @@ data class OrderDetailBean(
val requirement: String,
val shipperContactName: String,
val shipperContactPhone: String,
val shipperCaptainId: String,//货主指定车队ID
val shipperDriverId: String,//货主指定司机ID
val shipperCarId: String,//货主指定车辆ID
val vehicleLength: String,
val vehicleType: String,
val waybillId: String,

View File

@ -24,6 +24,8 @@ class PopBottomCar(
context: Context,
cars: MutableList<CarBean>,
private var isCap: Boolean,
private var selDriverId: String = "",
private var selCarId: String = "",
onCarSelectListener: OnCarSelectListener
) : BottomPopupView(context) {
@ -43,6 +45,12 @@ class PopBottomCar(
super.onCreate()
var recycler = findViewById<RecyclerView>(R.id.recycler)
var btnOk = findViewById<Button>(R.id.btnOk)
cars.find { if (isCap) (it.carId == selCarId && it.driverId == selDriverId) else it.carId == selCarId }
?.run {
isSelect = true
currCar = this
}
initRecycle(recycler)
btnOk.text = if (isCap) "分配车辆" else "接单"
btnOk.setOnClickListener {

View File

@ -123,10 +123,13 @@ class LoginActivity : BaseActivity<ActivityLoginBinding>(), View.OnClickListener
}
private fun login() {
if (!binding.cb.isChecked) {
ToastUtils.showToast(mContext, "请勾选用户隐私协议")
return
}
if ("获取验证码" == binding.ok.text) {
var phone = binding.etPhone.text.toString().trim()
if (phone.length == 11) {
ActivityUtils.startActivityForResult(
LoginActivity@ this,
CodeLoginActivity::class.java,

View File

@ -78,7 +78,10 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(), RefreshCallBack {
.permissions(Manifest.permission.ACCESS_FINE_LOCATION)
.request { allGranted: Boolean, grantedList: List<String?>?, deniedList: List<String?>? ->
if (allGranted) {
ActivityUtils.startActivity(mContext,BusinessActivity::class.java)
ActivityUtils.startActivity(
mContext,
BusinessActivity::class.java
)
} else {
showToast("请先开启定位权限")
}
@ -142,28 +145,32 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(), RefreshCallBack {
private fun initData() {
DataManager.getInstance().orderList()
.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
.subscribe(BaseObserver(mContext, object : RxHttpCallBack<MutableList<OrderBean>>(binding.refresh) {
override fun onSuccess(t: CommonResponseBean<MutableList<OrderBean>>) {
super.onSuccess(t)
if (mRefreshPage === 1) {
if (t.data.size == 0) {
adapter?.submitList(null)
adapter?.setStateViewLayout(mContext, R.layout.empty_view)
} else {
adapter?.submitList(t.data)
.subscribe(
BaseObserver(
mContext,
object : RxHttpCallBack<MutableList<OrderBean>>(binding.refresh) {
override fun onSuccess(t: CommonResponseBean<MutableList<OrderBean>>) {
super.onSuccess(t)
if (mRefreshPage === 1) {
if (t.data.size == 0) {
adapter?.submitList(null)
adapter?.setStateViewLayout(mContext, R.layout.empty_view)
} else {
adapter?.submitList(t.data)
}
} else {
adapter?.addAll(t.data)
}
setFinishRefresh(
binding.refresh,
t.total > mRefreshPage * mRefreshCount
)
}
} else {
adapter?.addAll(t.data)
}
setFinishRefresh(
binding.refresh,
t.total > mRefreshPage * mRefreshCount
)
}
}))
})
)
//执行中运单轨迹上传
OrderUtils.getInstance().upLocation(mContext)
//执行中运单轨迹上传
OrderUtils.getInstance().upLocation(mContext)
}
private fun initRecy() {
@ -189,7 +196,12 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(), RefreshCallBack {
Bundle().apply { putString(AppConfig.ORDER_ID, items[position].orderId) })
}
addOnItemChildClickListener(R.id.btnOk) { adapter, view, position ->
OrderUtils.getInstance().goReceWaybill(mContext, items[position].orderId) {
OrderUtils.getInstance().goReceWaybill(
mContext,
items[position].orderId,
items[position].shipperDriverId,
items[position].shipperCarId
) {
if (it) {
initData()
}

View File

@ -22,6 +22,7 @@ import com.dahe.gldriver.utils.SPUtils
import com.dahe.mylibrary.base.BaseActivity
import com.dahe.mylibrary.net.CommonResponseBean
import com.dahe.mylibrary.utils.ImageLoader
import com.dahe.mylibrary.utils.ToastUtils
import com.lxj.xpopup.interfaces.OnInputConfirmListener
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.schedulers.Schedulers
@ -170,6 +171,7 @@ class DriverTeamDetailActivity : BaseActivity<ActivityDriverTeamDetailBinding>()
.subscribe(BaseObserver(mContext, object : RxHttpCallBack<Any>() {
override fun onSuccess(t: CommonResponseBean<Any>) {
super.onSuccess(t)
ToastUtils.showToast(mContext, "退出车队成功")
setResult(RESULT_OK, Intent().apply { putExtra(AppConfig.REFRSH, true) })
finish()
}
@ -184,6 +186,8 @@ class DriverTeamDetailActivity : BaseActivity<ActivityDriverTeamDetailBinding>()
.subscribe(BaseObserver(mContext, object : RxHttpCallBack<Any>() {
override fun onSuccess(t: CommonResponseBean<Any>) {
super.onSuccess(t)
if (status == "1")
ToastUtils.showToast(mContext, "加入车队成功")
setResult(RESULT_OK, Intent().apply { putExtra(AppConfig.REFRSH, true) })
finish()
}

View File

@ -30,6 +30,7 @@ import com.dahe.mylibrary.utils.BaseUtils
import com.dahe.mylibrary.utils.ConvertUtils
import com.dahe.mylibrary.utils.LoadingUtils
import com.dahe.mylibrary.utils.SelectPicUtils
import com.dahe.mylibrary.utils.ToastUtils
import com.permissionx.guolindev.PermissionX
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.schedulers.Schedulers
@ -45,6 +46,7 @@ class WaybillDetailActivity : BaseActivity<ActivityWaybillDetailBinding>() {
lateinit var gdLatLng: LatLng
lateinit var loadPos: LatLng
var isCap: Boolean = false
lateinit var orderDetailInfo: OrderDetailBean
override fun initView(savedInstanceState: Bundle?) {
isCap = SPUtils.instance.getUserInfo(mContext).isCarCaptain == "1"
orderId = intent.extras?.getString(AppConfig.ORDER_ID, "").toString()
@ -56,7 +58,15 @@ class WaybillDetailActivity : BaseActivity<ActivityWaybillDetailBinding>() {
BaseUtils.callPhone(this@WaybillDetailActivity, "15838201105")
}
binding.btnReceiving.setOnClickListener {
OrderUtils.getInstance().goReceWaybill(mContext, orderId) {
if (!::orderDetailInfo.isInitialized){
ToastUtils.showToast(mContext,"请稍等,暂未获取订单信息")
}
OrderUtils.getInstance().goReceWaybill(
mContext,
orderId,
orderDetailInfo.shipperDriverId,
orderDetailInfo.shipperCarId
) {
ActivityUtils.startActivity(
mContext,
WaybillSuccActivity::class.java,
@ -73,6 +83,7 @@ class WaybillDetailActivity : BaseActivity<ActivityWaybillDetailBinding>() {
.subscribe(BaseObserver(mContext, object : RxHttpCallBack<OrderDetailBean>() {
override fun onSuccess(t: CommonResponseBean<OrderDetailBean>) {
super.onSuccess(t)
orderDetailInfo = t.data
val load = t.data.orderChildList.first { it.type == "1" }
var distance: String = ""
loadPos = LatLng(load.latitude.toDouble(), load.longitude.toDouble())

View File

@ -35,11 +35,18 @@ class CommonPopUtils private constructor() {
/**
* 选择车辆
* */
fun showCarList(context: Context, cars: MutableList<CarBean>,isCap:Boolean = false, listener: OnCarSelectListener) {
fun showCarList(
context: Context,
cars: MutableList<CarBean>,
isCap: Boolean = false,
selDriverId: String = "",
selCarId: String = "",
listener: OnCarSelectListener
) {
XPopup.Builder(context)
.isViewMode(true)
// .isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
.asCustom(PopBottomCar(context, cars,isCap, listener))
.asCustom(PopBottomCar(context, cars, isCap,selDriverId,selCarId, listener))
.show()
@ -171,13 +178,13 @@ class CommonPopUtils private constructor() {
* @param userInfo UserDetail
* @param listener OnInputConfirmListener
*/
fun showPickMoney(context: Context, userInfo : UserDetail, listener: OnInputConfirmListener){
fun showPickMoney(context: Context, userInfo: UserDetail, listener: OnInputConfirmListener) {
XPopup.Builder(context)
.dismissOnBackPressed(true)
.dismissOnTouchOutside(true)
.asCustom(
InputMoneyPop(
context,userInfo,listener
context, userInfo, listener
)
)
.show()

View File

@ -97,7 +97,13 @@ class OrderUtils private constructor() {
*
* 接单包含选择车辆->装货
* */
fun goReceWaybill(context: Context, orderId: String, listener: OnResultListener) {
fun goReceWaybill(
context: Context,
orderId: String,
selDriverId: String = "",
selCarId: String = "",
listener: OnResultListener
) {
val userInfo = SPUtils.instance.getUserInfo(context)
if (userInfo.isCarCaptain == "1") {
DataManager.getInstance()
@ -111,10 +117,10 @@ class OrderUtils private constructor() {
return
}
CommonPopUtils.getInstance()
.showCarList(context, t.data, true) {
.showCarList(context, t.data, true,selDriverId,selCarId) {
//分配车辆redeliveryOrder
DataManager.getInstance()
.redeliveryOrder(UpDriverCar(orderId,it.driverId,it.carId))
.redeliveryOrder(UpDriverCar(orderId, it.driverId, it.carId))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
@ -146,7 +152,7 @@ class OrderUtils private constructor() {
}
if (t.data.size > 1) {//多辆车需选择车辆,单个车辆直接接单
CommonPopUtils.getInstance()
.showCarList(context, t.data, false) {
.showCarList(context, t.data, false,selDriverId,selCarId) {
//接单接口
receivingOrders(context, orderId, it, listener)
}
@ -203,6 +209,8 @@ class OrderUtils private constructor() {
* @param context Context
*/
fun upLocation(context: Context) {
if (SPUtils.instance.getUserInfo(context).isCarCaptain == "1")//车队长角色不需要上传轨迹
return
DataManager.getInstance().orderDetail("")
.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
.subscribe(BaseObserver(context, object : RxHttpCallBack<OrderDetailBean>() {

View File

@ -143,11 +143,13 @@
android:id="@+id/tvCom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxWidth="@dimen/dp_200"
android:maxLines="1"
android:ellipsize="end"
android:layout_alignTop="@+id/imgHead"
android:layout_marginLeft="@dimen/dp_8"
android:layout_toRightOf="@+id/imgHead"
android:text="双汇食品有限公司"
android:text="双汇食品有限公司双汇食品有限公司双汇食品有限公司"
android:textColor="@color/black"
android:textSize="@dimen/sp_14"></TextView>