diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 7e86ee0..49ae515 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -10,6 +10,7 @@ diff --git a/app/src/main/java/com/dahe/gldriver/adapter/BusinessListAdapter.kt b/app/src/main/java/com/dahe/gldriver/adapter/BusinessListAdapter.kt index e66b092..1c68828 100644 --- a/app/src/main/java/com/dahe/gldriver/adapter/BusinessListAdapter.kt +++ b/app/src/main/java/com/dahe/gldriver/adapter/BusinessListAdapter.kt @@ -22,8 +22,13 @@ class BusinessListAdapter : setText(R.id.name, item?.title) setText(R.id.address, item?.snippet) setText(R.id.taste, item?.tel) - ImageLoader.getInstance() - .loadRoundImage(context, item?.photos?.get(0)?.url, 10, getView(R.id.photoUrl)) + item?.photos?.let { + if (it.size>0){ + ImageLoader.getInstance() + .loadRoundImage(context, item?.photos?.get(0)?.url, 10, getView(R.id.photoUrl)) + } + } + } } diff --git a/app/src/main/java/com/dahe/gldriver/base/App.kt b/app/src/main/java/com/dahe/gldriver/base/App.kt index faed818..f1a6845 100644 --- a/app/src/main/java/com/dahe/gldriver/base/App.kt +++ b/app/src/main/java/com/dahe/gldriver/base/App.kt @@ -11,17 +11,10 @@ import com.dahe.gldriver.R import com.dahe.gldriver.net.Api import com.dahe.gldriver.oss.OssServiceUtil import com.dahe.gldriver.push.PushHelper -import com.dahe.gldriver.service.MyNotification -import com.dahe.gldriver.ui.HomeActivity -import com.dahe.gldriver.utils.OrderUtils import com.dahe.mylibrary.CommonBaseLibrary -import com.dahe.mylibrary.utils.ActivityUtils -import com.dahe.mylibrary.utils.AppUtils import com.esign.esignsdk.EsignSdk import com.github.gzuliyujiang.dialog.DialogConfig import com.github.gzuliyujiang.dialog.DialogStyle -import com.gyf.cactus.Cactus -import com.gyf.cactus.callback.CactusBackgroundCallback import com.tencent.bugly.crashreport.CrashReport import com.umeng.commonsdk.UMConfigure import com.umeng.message.PushAgent diff --git a/app/src/main/java/com/dahe/gldriver/base/AppConfig.kt b/app/src/main/java/com/dahe/gldriver/base/AppConfig.kt index 9ef513d..e6af847 100644 --- a/app/src/main/java/com/dahe/gldriver/base/AppConfig.kt +++ b/app/src/main/java/com/dahe/gldriver/base/AppConfig.kt @@ -23,6 +23,7 @@ object AppConfig { const val CODE = "DA_HE_PHONE" const val USER_DETAIL = "DA_HE_USER_DETAIL" const val IS_ONLY_SHOW = "DA_HE_IS_ONLY_SHOW" + const val IS_SUPPLEMENT = "DA_HE_IS_SUPPLEMENT" const val REFRSH = "DA_HE_REFRSH" const val SUCCESS_TYPE = "DA_HE_SUCCESS_TYPE" const val E_KEY = "19ac0aa74338e487e45057faf7212401" diff --git a/app/src/main/java/com/dahe/gldriver/bean/OrderDetailBean.kt b/app/src/main/java/com/dahe/gldriver/bean/OrderDetailBean.kt index d5598f3..93be4d8 100644 --- a/app/src/main/java/com/dahe/gldriver/bean/OrderDetailBean.kt +++ b/app/src/main/java/com/dahe/gldriver/bean/OrderDetailBean.kt @@ -17,6 +17,7 @@ data class OrderDetailBean( val orderId: String, val orderNum: String, val orderStatus: String, + val phone: String, val orderType: String, val passingPoStringsNum: String, val realCompanyName: String, diff --git a/app/src/main/java/com/dahe/gldriver/event/GoWaybillEvent.kt b/app/src/main/java/com/dahe/gldriver/event/GoWaybillEvent.kt new file mode 100644 index 0000000..d5bd31e --- /dev/null +++ b/app/src/main/java/com/dahe/gldriver/event/GoWaybillEvent.kt @@ -0,0 +1,16 @@ +package com.dahe.gldriver.event + +/** + * @ClassName OrderStauEvent + * @Author john + * @Date 2024/3/5 15:51 + * @Description statu: 1 刷新 + */ +class GoWaybillEvent constructor(statu: Int) { + + var statu: Int = 0 + + init { + this.statu = statu + } +} \ No newline at end of file diff --git a/app/src/main/java/com/dahe/gldriver/ui/HomeActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/HomeActivity.kt index 002a15d..baf160f 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/HomeActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/HomeActivity.kt @@ -13,6 +13,8 @@ import com.dahe.gldriver.R import com.dahe.gldriver.adapter.MyHomePagerAdapter import com.dahe.gldriver.bean.TabBean import com.dahe.gldriver.databinding.ActivityHomeBinding +import com.dahe.gldriver.event.GoWaybillEvent +import com.dahe.gldriver.event.RefreshEvent import com.dahe.gldriver.ui.home.HomeFragment import com.dahe.gldriver.ui.message.MessageFragment import com.dahe.gldriver.ui.mine.MineFragment @@ -21,6 +23,8 @@ import com.dahe.mylibrary.base.BaseActivity import com.flyco.tablayout.listener.CustomTabEntity import com.flyco.tablayout.listener.OnTabSelectListener import com.permissionx.guolindev.PermissionX +import org.greenrobot.eventbus.EventBus +import org.greenrobot.eventbus.Subscribe import java.util.Timer import java.util.TimerTask @@ -54,10 +58,7 @@ class HomeActivity : BaseActivity(), OnTabSelectListener, TabBean(mTitles[2], mSelectRes[2], mNormalRes[2]), TabBean(mTitles[3], mSelectRes[3], mNormalRes[3]) ) - private var mFragments = arrayListOf(HomeFragment().setListener { - binding.homeTabLayout.currentTab = it - binding.homeNoScrollViewPager.currentItem = it - }, MessageFragment(), WaybillFragment(), MineFragment()) + private var mFragments = arrayListOf(HomeFragment(), MessageFragment(), WaybillFragment(), MineFragment()) override fun initView(savedInstanceState: Bundle?) { @@ -152,4 +153,19 @@ class HomeActivity : BaseActivity(), OnTabSelectListener, override fun onPageScrollStateChanged(state: Int) { } + override fun onStart() { + super.onStart() + EventBus.getDefault().register(this); + } + + override fun onStop() { + super.onStop() + EventBus.getDefault().unregister(this); + } + @Subscribe + fun eventStatu(event: GoWaybillEvent) { + binding.homeTabLayout.currentTab = event.statu + binding.homeNoScrollViewPager.currentItem = event.statu + } + } \ No newline at end of file diff --git a/app/src/main/java/com/dahe/gldriver/ui/account/AuthSuccActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/account/AuthSuccActivity.kt index 198f807..7a4ef26 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/account/AuthSuccActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/account/AuthSuccActivity.kt @@ -45,9 +45,11 @@ class AuthSuccActivity : BaseActivity() { * */ private fun goLeftOrRight(type: Int?, isLeft: Boolean) { if (isLeft) { - ActivityUtils.finishToActivity(HomeActivity::class.java, false) +// ActivityUtils.finishToActivity(HomeActivity::class.java, false) + ActivityUtils.startActivity(mContext,HomeActivity::class.java) } else { - ActivityUtils.finishToActivityAndGoNew(mContext,CarsManActivity::class.java,AuthDrivingActivity::class.java,false) + ActivityUtils.startActivity(mContext,AuthDrivingActivity::class.java) +// ActivityUtils.finishToActivityAndGoNew(mContext,CarsManActivity::class.java,AuthDrivingActivity::class.java,false) } } } \ No newline at end of file diff --git a/app/src/main/java/com/dahe/gldriver/ui/account/SelectRoleActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/account/SelectRoleActivity.kt index db6210b..08249dd 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/account/SelectRoleActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/account/SelectRoleActivity.kt @@ -6,7 +6,6 @@ import com.dahe.gldriver.databinding.ActivitySelectRoleBinding import com.dahe.gldriver.net.BaseObserver import com.dahe.gldriver.net.DataManager import com.dahe.gldriver.net.RxHttpCallBack -import com.dahe.gldriver.ui.account.authperson.AuthDrivingActivity import com.dahe.gldriver.ui.account.authperson.AuthPersonActivity import com.dahe.gldriver.ui.account.authteam.AuthTeamActivity import com.dahe.mylibrary.base.BaseActivity @@ -37,6 +36,7 @@ class SelectRoleActivity : BaseActivity() { override fun onSuccess(t: CommonResponseBean) { super.onSuccess(t) ActivityUtils.startActivity(mContext, AuthPersonActivity::class.java) + finish() } })) diff --git a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthBankCardActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthBankCardActivity.kt index fe42b3f..e0877c6 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthBankCardActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthBankCardActivity.kt @@ -91,6 +91,7 @@ class AuthBankCardActivity : BaseActivity() { override fun onSuccess(t: CommonResponseBean) { super.onSuccess(t) ActivityUtils.startActivity(mContext, AuthFaceActivity::class.java) + finish() } })) } diff --git a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthDriverActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthDriverActivity.kt index ca6c9a8..73a5f2e 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthDriverActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthDriverActivity.kt @@ -106,6 +106,7 @@ class AuthDriverActivity : BaseActivity() { mContext, AuthQualificationActivity::class.java ) + finish() } })) @@ -114,6 +115,10 @@ class AuthDriverActivity : BaseActivity() { private fun selFrontPic() { OcrUtils.getInstance().ocrDriver(mContext, this) { picPath, result -> + if (result?.data?.face==null){ + ToastUtils.showToast(mContext,"请选择正确证件照片") + return@ocrDriver + } result?.data?.face?.data.let { ImageLoader.getInstance() .loadRoundImage(mContext, picPath.locPic, 12, binding.ivFront) @@ -144,6 +149,10 @@ class AuthDriverActivity : BaseActivity() { private fun selBackPic() { OcrUtils.getInstance().ocrDriver(mContext, this) { picPath, result -> + if (result?.data?.back==null){ + ToastUtils.showToast(mContext,"请选择正确证件照片") + return@ocrDriver + } result?.data?.back?.data.let { ImageLoader.getInstance() .loadRoundImage(mContext, picPath.locPic, 12, binding.ivBack) diff --git a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthDrivingActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthDrivingActivity.kt index 8113995..1c3e047 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthDrivingActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthDrivingActivity.kt @@ -9,6 +9,7 @@ import com.dahe.gldriver.databinding.ActivityAuthDrivingBinding import com.dahe.gldriver.net.BaseObserver import com.dahe.gldriver.net.DataManager import com.dahe.gldriver.net.RxHttpCallBack +import com.dahe.gldriver.ui.HomeActivity import com.dahe.gldriver.ui.account.AuthSuccActivity import com.dahe.gldriver.utils.DicUtils import com.dahe.gldriver.utils.OcrUtils @@ -18,6 +19,7 @@ import com.dahe.mylibrary.utils.ActivityUtils import com.dahe.mylibrary.utils.ImageLoader import com.dahe.mylibrary.utils.PickerUtils import com.dahe.mylibrary.utils.TimeUtil +import com.dahe.mylibrary.utils.ToastUtils import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.schedulers.Schedulers @@ -33,7 +35,13 @@ class AuthDrivingActivity : BaseActivity() { var upDrivingInfoBean = UpDrivingInfoBean() override fun initView(savedInstanceState: Bundle?) { setStatusBarColor(R.color.white) - setTitleBar("实名认证", true) + setTitleBar("实名认证"){ + if (ActivityUtils.isActivityExistsInStack(HomeActivity::class.java)){ + finish() + }else{//homeactivity不存在,需跳转homeactivity + ActivityUtils.startActivity(mContext,HomeActivity::class.java) + } + } binding.btnOk.setOnClickListener { subMit() } @@ -73,6 +81,10 @@ class AuthDrivingActivity : BaseActivity() { DicUtils.getInstance() .selectDicCarType(mContext, this@AuthDrivingActivity, isLoading = true) { position, item -> var data = item as DiCarColor + + var isHasFow = data.dictLabel.contains("牵引车") + upDrivingInfoBean.isTrailer = if (isHasFow) "1" else "0"//是否有挂车(0否 1是) + tvCarType.text = data.dictLabel upDrivingInfoBean.run { vehicleTypeCode = data.dictValue @@ -81,7 +93,7 @@ class AuthDrivingActivity : BaseActivity() { } } tvEnd.setOnClickListener { - PickerUtils.getInstance().showDateSim(this@AuthDrivingActivity) { + PickerUtils.getInstance().showDateSim(this@AuthDrivingActivity,"有效结束日期") { tvEnd.text = it } } @@ -110,6 +122,11 @@ class AuthDrivingActivity : BaseActivity() { */ private fun selFrontPic() { OcrUtils.getInstance().ocrDriveing(mContext, this) { picPath, result -> + if (result?.data?.face==null){ + ToastUtils.showToast(mContext,"请选择正确证件照片") + return@ocrDriveing + } + ImageLoader.getInstance() .loadRoundImage(mContext, picPath.locPic, 12, binding.ivFront) upDrivingInfoBean.licenseFaceUrl = picPath.picPath//行驶证照片(正面) @@ -145,6 +162,10 @@ class AuthDrivingActivity : BaseActivity() { private fun selBackPic() { OcrUtils.getInstance().ocrDriveing(mContext, this) { picPath, result -> + if (result?.data?.back==null){ + ToastUtils.showToast(mContext,"请选择正确证件照片") + return@ocrDriveing + } ImageLoader.getInstance() .loadRoundImage(mContext, picPath.locPic, 12, binding.ivBack) upDrivingInfoBean.licenseBackUrl = picPath.picPath//行驶证照片(反面) @@ -169,11 +190,16 @@ class AuthDrivingActivity : BaseActivity() { carHeight = split[2] } } - upDrivingInfoBean.tractionWeight = it.tractionWeight + if (it.tractionWeight.contains("kg")){ + upDrivingInfoBean.tractionWeight = it.tractionWeight.split("kg")[0] + } + upDrivingInfoBean.energySignCode = it.energySign binding.run { etCurbWeight.setText(it.curbWeight)//整备质量 - etPermittedWeight.setText(it.permittedWeight)//核定载质量 + etPermittedWeight.setText(it.permittedWeight)// + + } } } diff --git a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthFaceActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthFaceActivity.kt index b3bcc97..9ce70bf 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthFaceActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthFaceActivity.kt @@ -2,6 +2,7 @@ package com.dahe.gldriver.ui.account.authperson import android.os.Bundle import com.dahe.gldriver.R +import com.dahe.gldriver.base.AppConfig import com.dahe.gldriver.databinding.ActivityAuthFaceBinding import com.dahe.gldriver.ui.account.AuthSuccActivity import com.dahe.mylibrary.base.BaseActivity @@ -11,14 +12,21 @@ import com.dahe.mylibrary.utils.ActivityUtils * @ClassName AuthFaceActivity * @Author john * @Date 2024/1/25 15:38 - * @Description TODO + * @Description 刷脸认证 */ class AuthFaceActivity : BaseActivity() { override fun initView(savedInstanceState: Bundle?) { setStatusBarColor(R.color.white) setTitleBar("实名认证",true) + var isSupp = intent.extras?.getBoolean(AppConfig.IS_SUPPLEMENT,false) binding.btnOk.setOnClickListener { - ActivityUtils.startActivity(mContext,AuthSuccActivity::class.java) + if (isSupp == true){ + finish() + }else{ + ActivityUtils.startActivity(mContext,AuthSuccActivity::class.java) + finish() + } + } } diff --git a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthPersonActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthPersonActivity.kt index ab23a36..1a214e4 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthPersonActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthPersonActivity.kt @@ -21,6 +21,7 @@ import com.dahe.mylibrary.utils.ImageLoader import com.dahe.mylibrary.utils.PickerUtils import com.dahe.mylibrary.utils.PopsUtils import com.dahe.mylibrary.utils.TimeUtil +import com.dahe.mylibrary.utils.ToastUtils import com.google.gson.Gson import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.schedulers.Schedulers @@ -54,7 +55,18 @@ class AuthPersonActivity : BaseActivity() { idcardNo = inBinding.etId.text.toString() idcardName = inBinding.etName.text.toString() idcardEffectiveStart = inBinding.tvStart.text.toString() - idcardEffectiveEnd = inBinding.tvEnd.text.toString() + if ("长期" == inBinding.tvEnd.text.toString()) { + idcardIsEndless = "1" + } else { + idcardEffectiveEnd = inBinding.tvEnd.text.toString() + } + } + + if (perInfoBean.idcardNo.isNullOrBlank() || perInfoBean.idcardName.isNullOrBlank() || + perInfoBean.idcardEffectiveStart.isNullOrBlank() || (perInfoBean.idcardEffectiveEnd.isNullOrBlank() && perInfoBean.idcardIsEndless.isNullOrBlank()) + ) { + ToastUtils.showToast(mContext, "请完善信息") + return@setOnClickListener } DataManager.getInstance().setUpDriverIdCard(perInfoBean) @@ -63,6 +75,7 @@ class AuthPersonActivity : BaseActivity() { override fun onSuccess(t: CommonResponseBean) { super.onSuccess(t) ActivityUtils.startActivity(mContext, AuthDriverActivity::class.java) + finish() } })) @@ -78,16 +91,20 @@ class AuthPersonActivity : BaseActivity() { } tvEnd.run { setOnClickListener { - PickerUtils.getInstance() - .showDate(this@AuthPersonActivity, "有效结束日期") { date -> - this.text = date - } + PickerUtils.getInstance().showDateSim(this@AuthPersonActivity, "有效结束日期") { + this.text = it + } } } ivFront.setOnClickListener { OcrUtils.getInstance() .ocrPerson(mContext, this@AuthPersonActivity) { picPath, result -> + if (result?.data?.face == null) { + ToastUtils.showToast(mContext, "请选择正确证件照片") + return@ocrPerson + } + ImageLoader.getInstance() .loadRoundImage(mContext, picPath.locPic, 12, ivFront) perInfoBean.idcardFrontUrl = picPath.picPath @@ -110,24 +127,41 @@ class AuthPersonActivity : BaseActivity() { } ivBack.setOnClickListener { - OcrUtils.getInstance().ocrPerson(mContext,this@AuthPersonActivity) { picPath, result -> - ImageLoader.getInstance() - .loadRoundImage(mContext, picPath.locPic, 12, ivBack) - result?.data?.back?.let { - if (it.data.validPeriod?.contains("-") == true) { - val split = it.data.validPeriod.split("-") - binding.run { - tvStart.text = - TimeUtil.changeDateFormat(split[0]) - tvEnd.text = - if (split.size == 2) TimeUtil.changeDateFormat( - split[1] - ) else "" + OcrUtils.getInstance() + .ocrPerson(mContext, this@AuthPersonActivity) { picPath, result -> + + if (result?.data?.back == null) { + ToastUtils.showToast(mContext, "请选择正确证件照片") + return@ocrPerson + } + + perInfoBean.idcardBackUrl = picPath.picPath + ImageLoader.getInstance() + .loadRoundImage(mContext, picPath.locPic, 12, ivBack) + result?.data?.back?.let { + if (it.data.validPeriod?.contains("-") == true) { + val split = it.data.validPeriod.split("-") + binding.run { + tvStart.text = + TimeUtil.changeDateFormat(split[0]) + tvEnd.text = + if (split.size == 2) TimeUtil.changeDateFormat( + split[1] + ) else "" + } + } + + if (it.data.validPeriod?.contains("长期") == true) { + val split = it.data.validPeriod.split("长期") + binding.run { + tvStart.text = + TimeUtil.changeDateFormat(split[0]) + tvEnd.text = "长期" + } } } - } - } + } } } diff --git a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthQualificationActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthQualificationActivity.kt index 94f4cc4..5d03593 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthQualificationActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthQualificationActivity.kt @@ -80,6 +80,7 @@ class AuthQualificationActivity : BaseActivity override fun onSuccess(t: CommonResponseBean) { super.onSuccess(t) ActivityUtils.startActivity(mContext, AuthBankCardActivity::class.java) + finish() } })) } diff --git a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthTrailerActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthTrailerActivity.kt index 37fa59e..d4e8928 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthTrailerActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthTrailerActivity.kt @@ -18,6 +18,7 @@ import com.dahe.mylibrary.utils.ActivityUtils import com.dahe.mylibrary.utils.ImageLoader import com.dahe.mylibrary.utils.PickerUtils import com.dahe.mylibrary.utils.TimeUtil +import com.dahe.mylibrary.utils.ToastUtils import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.schedulers.Schedulers @@ -92,6 +93,11 @@ class AuthTrailerActivity : BaseActivity() { */ private fun selFrontPic() { OcrUtils.getInstance().ocrDriveing(mContext, this) { picPath, result -> + if (result?.data?.face==null){ + ToastUtils.showToast(mContext,"请选择正确证件照片") + return@ocrDriveing + } + ImageLoader.getInstance() .loadRoundImage(mContext, picPath.locPic, 12, binding.ivFront) upDrivingInfoBean.licenseFaceUrl = picPath.picPath//行驶证照片(正面) @@ -122,6 +128,10 @@ class AuthTrailerActivity : BaseActivity() { private fun selBackPic() { OcrUtils.getInstance().ocrDriveing(mContext, this) { picPath, result -> + if (result?.data?.back==null){ + ToastUtils.showToast(mContext,"请选择正确证件照片") + return@ocrDriveing + } ImageLoader.getInstance() .loadRoundImage(mContext, picPath.locPic, 12, binding.ivBack) upDrivingInfoBean.licenseBackUrl = picPath.picPath//行驶证照片(反面) diff --git a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/EditDriverActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/EditDriverActivity.kt index d864488..c3c9e4d 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/EditDriverActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/EditDriverActivity.kt @@ -150,6 +150,11 @@ class EditDriverActivity : BaseActivity() { private fun selFrontPic() { OcrUtils.getInstance().ocrDriver(mContext, this) { picPath, result -> + if (result?.data?.face==null){ + ToastUtils.showToast(mContext,"请选择正确证件照片") + return@ocrDriver + } + result?.data?.face?.data.let { ImageLoader.getInstance() .loadRoundImage(mContext, picPath.locPic, 12, binding.ivFront) @@ -180,6 +185,10 @@ class EditDriverActivity : BaseActivity() { private fun selBackPic() { OcrUtils.getInstance().ocrDriver(mContext, this) { picPath, result -> + if (result?.data?.back==null){ + ToastUtils.showToast(mContext,"请选择正确证件照片") + return@ocrDriver + } result?.data?.back?.data.let { ImageLoader.getInstance() .loadRoundImage(mContext, picPath.locPic, 12, binding.ivBack) diff --git a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/EditDrivingActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/EditDrivingActivity.kt index 598dd92..fd54589 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/EditDrivingActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/EditDrivingActivity.kt @@ -19,6 +19,7 @@ import com.dahe.mylibrary.utils.ActivityUtils import com.dahe.mylibrary.utils.ImageLoader import com.dahe.mylibrary.utils.PickerUtils import com.dahe.mylibrary.utils.TimeUtil +import com.dahe.mylibrary.utils.ToastUtils import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.schedulers.Schedulers import java.text.Bidi @@ -88,7 +89,7 @@ class EditDrivingActivity : BaseActivity() { } } tvEnd.setOnClickListener { - PickerUtils.getInstance().showDateSim(this@EditDrivingActivity) { + PickerUtils.getInstance().showDateSim(this@EditDrivingActivity,"有效结束日期") { tvEnd.text = it } } @@ -174,6 +175,11 @@ class EditDrivingActivity : BaseActivity() { */ private fun selFrontPic() { OcrUtils.getInstance().ocrDriveing(mContext, this) { picPath, result -> + if (result?.data?.face==null){ + ToastUtils.showToast(mContext,"请选择正确证件照片") + return@ocrDriveing + } + ImageLoader.getInstance() .loadRoundImage(mContext, picPath.locPic, 12, binding.ivFront) upDrivingInfoBean.licenseFaceUrl = picPath.picPath//行驶证照片(正面) @@ -209,6 +215,10 @@ class EditDrivingActivity : BaseActivity() { private fun selBackPic() { OcrUtils.getInstance().ocrDriveing(mContext, this) { picPath, result -> + if (result?.data?.back==null){ + ToastUtils.showToast(mContext,"请选择正确证件照片") + return@ocrDriveing + } ImageLoader.getInstance() .loadRoundImage(mContext, picPath.locPic, 12, binding.ivBack) upDrivingInfoBean.licenseBackUrl = picPath.picPath//行驶证照片(反面) diff --git a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/EditPersonActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/EditPersonActivity.kt index 229e311..cddbf46 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/EditPersonActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/EditPersonActivity.kt @@ -20,6 +20,7 @@ import com.dahe.mylibrary.utils.ImageLoader import com.dahe.mylibrary.utils.PickerUtils import com.dahe.mylibrary.utils.PopsUtils import com.dahe.mylibrary.utils.TimeUtil +import com.dahe.mylibrary.utils.ToastUtils import com.google.gson.Gson import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.schedulers.Schedulers @@ -50,9 +51,19 @@ class EditPersonActivity : BaseActivity() { idcardNo = inBinding.etId.text.toString() idcardName = inBinding.etName.text.toString() idcardEffectiveStart = inBinding.tvStart.text.toString() - idcardEffectiveEnd = inBinding.tvEnd.text.toString() + if ("长期" == inBinding.tvEnd.text.toString()) { + idcardIsEndless = "1" + } else { + idcardEffectiveEnd = inBinding.tvEnd.text.toString() + } } + if (perInfoBean.idcardNo.isNullOrBlank() || perInfoBean.idcardName.isNullOrBlank() || + perInfoBean.idcardEffectiveStart.isNullOrBlank() || (perInfoBean.idcardEffectiveEnd.isNullOrBlank() && perInfoBean.idcardIsEndless.isNullOrBlank()) + ) { + ToastUtils.showToast(mContext, "请完善信息") + return@setOnClickListener + } DataManager.getInstance().reUpDriverIdCard(perInfoBean) .subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()) @@ -77,20 +88,23 @@ class EditPersonActivity : BaseActivity() { } tvEnd.run { setOnClickListener { - PickerUtils.getInstance() - .showDate(this@EditPersonActivity, "有效结束日期") { date -> - this.text = date - } + PickerUtils.getInstance().showDateSim(this@EditPersonActivity, "有效结束日期") { + this.text = it + } } } ivFront.setOnClickListener { OcrUtils.getInstance() .ocrPerson(mContext, this@EditPersonActivity) { picPath, result -> - ImageLoader.getInstance() - .loadRoundImage(mContext, picPath.locPic, 12, ivFront) - perInfoBean.idcardFrontUrl = picPath.picPath + if (result?.data?.face == null) { + ToastUtils.showToast(mContext, "请选择正确证件照片") + return@ocrPerson + } result?.data?.face?.data.let { + ImageLoader.getInstance() + .loadRoundImage(mContext, picPath.locPic, 12, ivFront) + perInfoBean.idcardFrontUrl = picPath.picPath it?.run { perInfoBean.run { idcardNo = idNumber @@ -111,9 +125,16 @@ class EditPersonActivity : BaseActivity() { ivBack.setOnClickListener { OcrUtils.getInstance() .ocrPerson(mContext, this@EditPersonActivity) { picPath, result -> - ImageLoader.getInstance() - .loadRoundImage(mContext, picPath.locPic, 12, ivBack) + if (result?.data?.back == null) { + ToastUtils.showToast(mContext, "请选择正确证件照片") + return@ocrPerson + } + result?.data?.back?.let { + perInfoBean.idcardBackUrl = picPath.picPath + ImageLoader.getInstance() + .loadRoundImage(mContext, picPath.locPic, 12, ivBack) + if (it.data.validPeriod?.contains("-") == true) { val split = it.data.validPeriod.split("-") binding.run { @@ -125,6 +146,15 @@ class EditPersonActivity : BaseActivity() { ) else "" } } + + if (it.data.validPeriod?.contains("长期") == true) { + val split = it.data.validPeriod.split("长期") + binding.run { + tvStart.text = + TimeUtil.changeDateFormat(split[0]) + tvEnd.text = "长期" + } + } } } @@ -158,7 +188,8 @@ class EditPersonActivity : BaseActivity() { etName.setText(perInfoBean.idcardName) etId.setText(perInfoBean.idcardNo) tvStart.text = perInfoBean.idcardEffectiveStart - tvEnd.text = perInfoBean.idcardEffectiveEnd + tvEnd.text = + if (perInfoBean.idcardIsEndless == "1") "长期" else perInfoBean.idcardEffectiveEnd ImageLoader.getInstance() .loadRoundImage(mContext, perInfoBean.idcardFrontUrl, 12, ivFront) ImageLoader.getInstance() diff --git a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/EditTrailerActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/EditTrailerActivity.kt index 4ad1052..2b56e55 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/EditTrailerActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/EditTrailerActivity.kt @@ -19,6 +19,7 @@ import com.dahe.mylibrary.utils.ActivityUtils import com.dahe.mylibrary.utils.ImageLoader import com.dahe.mylibrary.utils.PickerUtils import com.dahe.mylibrary.utils.TimeUtil +import com.dahe.mylibrary.utils.ToastUtils import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.schedulers.Schedulers @@ -97,6 +98,8 @@ class EditTrailerActivity : BaseActivity() { .subscribe(BaseObserver(mContext, object : RxHttpCallBack() { override fun onSuccess(t: CommonResponseBean) { super.onSuccess(t) + if (t.data == null) + return initViewByData(t.data) } })) @@ -142,6 +145,10 @@ class EditTrailerActivity : BaseActivity() { */ private fun selFrontPic() { OcrUtils.getInstance().ocrDriveing(mContext, this) { picPath, result -> + if (result?.data?.face==null){ + ToastUtils.showToast(mContext,"请选择正确证件照片") + return@ocrDriveing + } ImageLoader.getInstance() .loadRoundImage(mContext, picPath.locPic, 12, binding.ivFront) upDrivingInfoBean.licenseFaceUrl = picPath.picPath//行驶证照片(正面) @@ -172,6 +179,10 @@ class EditTrailerActivity : BaseActivity() { private fun selBackPic() { OcrUtils.getInstance().ocrDriveing(mContext, this) { picPath, result -> + if (result?.data?.back==null){ + ToastUtils.showToast(mContext,"请选择正确证件照片") + return@ocrDriveing + } ImageLoader.getInstance() .loadRoundImage(mContext, picPath.locPic, 12, binding.ivBack) upDrivingInfoBean.licenseBackUrl = picPath.picPath//行驶证照片(反面) diff --git a/app/src/main/java/com/dahe/gldriver/ui/home/HomeFragment.kt b/app/src/main/java/com/dahe/gldriver/ui/home/HomeFragment.kt index 721d13b..f0f82c1 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/home/HomeFragment.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/home/HomeFragment.kt @@ -14,6 +14,7 @@ import com.dahe.gldriver.base.WebActivity import com.dahe.gldriver.bean.GridBean import com.dahe.gldriver.bean.OrderDetailBean import com.dahe.gldriver.databinding.FragmentHomeBinding +import com.dahe.gldriver.event.GoWaybillEvent import com.dahe.gldriver.net.BaseObserver import com.dahe.gldriver.net.DataManager import com.dahe.gldriver.net.RxHttpCallBack @@ -30,6 +31,7 @@ import com.dahe.mylibrary.utils.ConvertUtils import com.permissionx.guolindev.PermissionX import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.schedulers.Schedulers +import org.greenrobot.eventbus.EventBus /** * @ClassName HomeFragment @@ -54,7 +56,7 @@ class HomeFragment : BaseFragment(), RefreshCallBack { } - lateinit var mListener: ((Int) -> Unit) + lateinit var mListener: (Int) -> Unit fun setListener(listener: (Int) -> Unit): HomeFragment { this.mListener = listener @@ -121,8 +123,9 @@ class HomeFragment : BaseFragment(), RefreshCallBack { tvMar.isSelected = true ivMyWaybill.setOnClickListener { - if (this@HomeFragment.mListener != null) - this@HomeFragment?.mListener?.invoke(2) + EventBus.getDefault().post(GoWaybillEvent(2)) +// if (::mListener.isInitialized) +// mListener(2) } ivAllWaybill.setOnClickListener { showToast("敬请期待") diff --git a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarDetailActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarDetailActivity.kt index de787e5..9babcc6 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarDetailActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarDetailActivity.kt @@ -10,6 +10,7 @@ import com.dahe.gldriver.databinding.ActivityDriverTeamDetailBinding import com.dahe.gldriver.net.BaseObserver import com.dahe.gldriver.net.DataManager import com.dahe.gldriver.net.RxHttpCallBack +import com.dahe.gldriver.ui.account.authperson.AuthFaceActivity import com.dahe.gldriver.ui.account.authperson.EditDriverActivity import com.dahe.gldriver.ui.account.authperson.EditDrivingActivity import com.dahe.gldriver.ui.account.authperson.EditPersonActivity @@ -33,7 +34,8 @@ import io.reactivex.rxjava3.schedulers.Schedulers class CarDetailActivity : BaseActivity(), View.OnClickListener { - lateinit var CarDetail: CarDetail + private lateinit var CarDetail: CarDetail + private var firstMissingInfo = -1 override fun initView(savedInstanceState: Bundle?) { setStatusHeightParams(binding.rlTop) setTitleBar("车辆详情", true) @@ -56,6 +58,7 @@ class CarDetailActivity : BaseActivity(), View.OnClick btnQua.setOnClickListener(this@CarDetailActivity) llAgainQua.setOnClickListener(this@CarDetailActivity) llSeeQua.setOnClickListener(this@CarDetailActivity) + btnNext.setOnClickListener(this@CarDetailActivity) } } @@ -112,6 +115,32 @@ class CarDetailActivity : BaseActivity(), View.OnClick putBoolean(AppConfig.IS_ONLY_SHOW, true) putString(AppConfig.CAR_ID, CarDetail.vehicleNum) }) + + btnNext.id -> { + when (firstMissingInfo) { + 1 -> ActivityUtils.startActivityForResult( + this@CarDetailActivity, + EditDrivingActivity::class.java, Bundle().apply { + putString(AppConfig.CAR_ID, CarDetail.vehicleNum) + }, 1 + ) + + 2 -> ActivityUtils.startActivityForResult( + this@CarDetailActivity, + EditTrailerActivity::class.java, Bundle().apply { + putString(AppConfig.CAR_ID, CarDetail.trailerVehicleNum) + }, 1 + ) + + 3 -> ActivityUtils.startActivityForResult( + this@CarDetailActivity, + EditRoadActivity::class.java, Bundle().apply { + putString(AppConfig.CAR_ID, CarDetail.vehicleNum) + }, 1 + ) + + } + } } } } @@ -137,6 +166,7 @@ class CarDetailActivity : BaseActivity(), View.OnClick if (data.vehicleNum.isNullOrEmpty()) { tvInfo.text = "证件缺失将无法进行接单" missInfo = missInfo.plus("行驶证") + firstMissingInfo = 1 } else { doneInfoCount++ tvInfo.text = """${data.vehicleNum} ${data.vehicleType}""" @@ -145,6 +175,9 @@ class CarDetailActivity : BaseActivity(), View.OnClick tvDriverInfo.text = "证件缺失将无法进行接单" missInfo = if (missInfo.isNullOrEmpty()) missInfo.plus("挂车行驶证") else missInfo.plus("、挂车行驶证") + if (firstMissingInfo == -1) { + firstMissingInfo = 2 + } } else { doneInfoCount++ tvDriverInfo.text = """${data.trailerVehicleNum} ${data.trailerVehicleType}""" @@ -155,6 +188,9 @@ class CarDetailActivity : BaseActivity(), View.OnClick if (missInfo.isNullOrEmpty()) missInfo.plus("道路运输许可证") else missInfo.plus( "、道路运输许可证" ) + if (firstMissingInfo == -1) { + firstMissingInfo = 3 + } } else { doneInfoCount++ tvQualiInfo.text = """${data.roadLicense}""" diff --git a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/PersonInfoActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/PersonInfoActivity.kt index 4bf6c9e..ae8fc8c 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/PersonInfoActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/PersonInfoActivity.kt @@ -10,6 +10,7 @@ import com.dahe.gldriver.net.BaseObserver import com.dahe.gldriver.net.DataManager import com.dahe.gldriver.net.RxHttpCallBack import com.dahe.gldriver.ui.account.authperson.AuthDriverActivity +import com.dahe.gldriver.ui.account.authperson.AuthFaceActivity import com.dahe.gldriver.ui.account.authperson.AuthPersonActivity import com.dahe.gldriver.ui.account.authperson.AuthQualificationActivity import com.dahe.gldriver.ui.account.authperson.EditDriverActivity @@ -32,7 +33,8 @@ import io.reactivex.rxjava3.schedulers.Schedulers * @Description TODO */ class PersonInfoActivity : BaseActivity(), View.OnClickListener { - var doneInfoCount = 0 + private var doneInfoCount = 0 + private var firstMissingInfo = -1 override fun initView(savedInstanceState: Bundle?) { setStatusHeightParams(binding.rlTop) setTitleBar("实名认证", true) @@ -58,6 +60,7 @@ class PersonInfoActivity : BaseActivity(), View.OnCli btnFace.setOnClickListener(this@PersonInfoActivity) + btnNext.setOnClickListener(this@PersonInfoActivity) } } @@ -112,7 +115,38 @@ class PersonInfoActivity : BaseActivity(), View.OnCli putBoolean(AppConfig.IS_ONLY_SHOW, true) }) - btnFace.id -> {} + btnFace.id -> { + ActivityUtils.startActivity( + mContext, + AuthFaceActivity::class.java, + Bundle().apply { putBoolean(AppConfig.IS_SUPPLEMENT, true) }) + } + + btnNext.id -> { + if (firstMissingInfo != -1) { + when (firstMissingInfo) { + 1 -> ActivityUtils.startActivityForResult( + this@PersonInfoActivity, + EditPersonActivity::class.java, 1 + ) + + 2 -> ActivityUtils.startActivityForResult( + this@PersonInfoActivity, + EditDriverActivity::class.java, 1 + ) + + 3 -> ActivityUtils.startActivityForResult( + this@PersonInfoActivity, + EditQualificationActivity::class.java, 1 + ) + + 4 -> ActivityUtils.startActivity( + mContext, + AuthFaceActivity::class.java, + Bundle().apply { putBoolean(AppConfig.IS_SUPPLEMENT, true) }) + } + } + } } } @@ -126,20 +160,29 @@ class PersonInfoActivity : BaseActivity(), View.OnCli if (data.idcardNo.isNullOrEmpty()) { tvInfo.text = "证件缺失将无法进行接单" missInfo = missInfo.plus("身份证") + firstMissingInfo = 1 } else { doneInfoCount++ tvInfo.text = """${data.idcardName} ${data.idcardNo}""" } if (data.licenseNo.isNullOrEmpty()) { tvDriverInfo.text = "证件缺失将无法进行接单" - missInfo = if (missInfo.isNullOrEmpty()) missInfo.plus("驾驶证") else missInfo.plus("、驾驶证") + missInfo = + if (missInfo.isNullOrEmpty()) missInfo.plus("驾驶证") else missInfo.plus("、驾驶证") + if (firstMissingInfo == -1) { + firstMissingInfo = 2 + } } else { doneInfoCount++ tvDriverInfo.text = """${data.licenseName} ${data.licenseNo}""" } if (data.qualificationCertificateNo.isNullOrEmpty()) { tvQualiInfo.text = "证件缺失将无法进行接单" - missInfo = if (missInfo.isNullOrEmpty()) missInfo.plus("从业资格证") else missInfo.plus("、从业资格证") + missInfo = + if (missInfo.isNullOrEmpty()) missInfo.plus("从业资格证") else missInfo.plus("、从业资格证") + if (firstMissingInfo == -1) { + firstMissingInfo = 3 + } } else { doneInfoCount++ tvQualiInfo.text = """${data.qualificationCertificateNo}""" @@ -147,14 +190,19 @@ class PersonInfoActivity : BaseActivity(), View.OnCli if (data?.isRealName == "0") { tvFaceInfo.text = "未实名认证将无法进行接单" - missInfo = if (missInfo.isNullOrEmpty()) missInfo.plus("实名认证") else missInfo.plus("、实名认证") + missInfo = + if (missInfo.isNullOrEmpty()) missInfo.plus("实名认证") else missInfo.plus("、实名认证") + if (firstMissingInfo == -1) { + firstMissingInfo = 4 + } } else { doneInfoCount++ tvFaceInfo.text = "实名认证成功" } btnNext.text = if (doneInfoCount == 4) "已完成" else "继续认证" - tvContent.text = if (missInfo.isNullOrEmpty()) "认证成功,请接单把!!!" else missInfo.plus("缺失") + tvContent.text = + if (missInfo.isNullOrEmpty()) "认证成功,请接单把!!!" else missInfo.plus("缺失") llId.visibility = if (data.idcardNo.isNullOrEmpty()) View.GONE else View.VISIBLE diff --git a/app/src/main/java/com/dahe/gldriver/ui/waybill/activity/WaybillLoadActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/waybill/activity/WaybillLoadActivity.kt index 5cdb3aa..2b9c6dd 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/waybill/activity/WaybillLoadActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/waybill/activity/WaybillLoadActivity.kt @@ -34,6 +34,7 @@ import com.dahe.mylibrary.utils.ActivityUtils import com.dahe.mylibrary.utils.BaseUtils import com.dahe.mylibrary.utils.ConvertUtils import com.dahe.mylibrary.utils.LoadingUtils +import com.dahe.mylibrary.utils.ToastUtils import com.permissionx.guolindev.PermissionX import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.schedulers.Schedulers @@ -74,14 +75,26 @@ class WaybillLoadActivity : BaseActivity() { uiSettings.run { isZoomControlsEnabled = false } } llGoStart.setOnClickListener { - if (!::loadPos.isInitialized){ + if (!::loadPos.isInitialized) { showToast("请等待定位成功") return@setOnClickListener } - NaviUtils.getInstance().goNextPoint(mContext,loadPos,loadAddress) + NaviUtils.getInstance().goNextPoint(mContext, loadPos, loadAddress) } + + llRoutes.setOnClickListener { + + if (!::unLoadPos.isInitialized || !::loadPos.isInitialized) { + showToast("缺少起始点定位信息,请返回重试") + return@setOnClickListener + } + NaviUtils.getInstance() + .getRoute(mContext, loadPos, unLoadPos, loadAddress, unLoadAddress) + } + + btnRight.setOnClickListener { var data = orderBean.orderChildList.first { it.type == "1" } ActivityUtils.startActivity( @@ -94,6 +107,8 @@ class WaybillLoadActivity : BaseActivity() { putString(AppConfig.CHILDRE_ID, data.orderChildreId) }) } + + } } @@ -106,10 +121,17 @@ class WaybillLoadActivity : BaseActivity() { super.onSuccess(t) orderBean = t.data val load = orderBean.orderChildList.first { it.type == "1" } + val unLoad = orderBean.orderChildList.last { it.type == "2" } var distance = "" loadPos = LatLng(load.latitude.toDouble(), load.longitude.toDouble()) + unLoadPos = LatLng(unLoad.latitude.toDouble(), unLoad.longitude.toDouble()) loadAddress = load.address + unLoadAddress = unLoad.address + + LocationUtils.getInstance().changeCamera(loadPos, aMap!!) + LocationUtils.getInstance() + .addMarker(unLoadPos, aMap!!, R.drawable.icon_loca_unload) if (::gdLatLng.isInitialized) { distance = LocationUtils.getInstance().getDistance( gdLatLng, @@ -131,7 +153,7 @@ class WaybillLoadActivity : BaseActivity() { tvCarNum.text = orderBean.waybillInfo.vehicleNum tvCarLen.text = - """${orderBean.waybillInfo.carLong}mm/${orderBean.waybillInfo.approvedLoad}吨""" + """${orderBean.waybillInfo.carLong}mm/${orderBean.waybillInfo.approvedLoad}""" tvCarType.text = orderBean.vehicleType//车辆类型 if (!distance.isNullOrEmpty()) tvLoadDis.text = distance @@ -148,9 +170,37 @@ class WaybillLoadActivity : BaseActivity() { if (!t.data.requirement.isNullOrEmpty()) tvRemark.text = t.data.requirement btnLeft.setOnClickListener { + if (orderBean.phone.isNullOrEmpty()){ + ToastUtils.showToast(mContext,"未获取到手机号码") + return@setOnClickListener + } PermissionX.init(this@WaybillLoadActivity) .permissions(Manifest.permission.CALL_PHONE) .request { allGranted, grantedList, deniedList -> + if (allGranted) { + BaseUtils.callPhone( + this@WaybillLoadActivity, + orderBean.phone + ) + } else { + Toast.makeText( + mContext, + "开启权限失败,请在应用设置-权限中打开电话权限", + Toast.LENGTH_SHORT + ).show() + } + } + + } + + btnHzPhone.setOnClickListener { + if (orderBean.shipperContactPhone.isNullOrEmpty()){ + ToastUtils.showToast(mContext,"未获取到手机号码") + return@setOnClickListener + } + PermissionX.init(this@WaybillLoadActivity) + .permissions(Manifest.permission.CALL_PHONE) + .request { allGranted, _, _ -> if (allGranted) { BaseUtils.callPhone( this@WaybillLoadActivity, @@ -164,7 +214,6 @@ class WaybillLoadActivity : BaseActivity() { ).show() } } - } } @@ -226,6 +275,8 @@ class WaybillLoadActivity : BaseActivity() { lateinit var gdLatLng: LatLng lateinit var loadPos: LatLng lateinit var loadAddress: String + lateinit var unLoadPos: LatLng + lateinit var unLoadAddress: String fun getLocation() { GDLocationUtils.instance.getLocation(mContext) { //errCode等于0代表定位成功,其他的为定位失败,具体的可以参照官网定位错误码说明 diff --git a/app/src/main/java/com/dahe/gldriver/ui/waybill/activity/WaybillUnlLoadActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/waybill/activity/WaybillUnlLoadActivity.kt index 03bd55a..88e92dc 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/waybill/activity/WaybillUnlLoadActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/waybill/activity/WaybillUnlLoadActivity.kt @@ -28,6 +28,7 @@ import com.dahe.mylibrary.utils.ActivityUtils import com.dahe.mylibrary.utils.BaseUtils import com.dahe.mylibrary.utils.ConvertUtils import com.dahe.mylibrary.utils.LoadingUtils +import com.dahe.mylibrary.utils.ToastUtils import com.permissionx.guolindev.PermissionX import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.schedulers.Schedulers @@ -134,7 +135,7 @@ class WaybillUnlLoadActivity : BaseActivity() { tvCarNum.text = orderBean.waybillInfo.vehicleNum tvCarLen.text = - """${orderBean.waybillInfo.carLong}mm/${orderBean.waybillInfo.approvedLoad}吨""" + """${orderBean.waybillInfo.carLong}mm/${orderBean.waybillInfo.approvedLoad}""" tvCarType.text = orderBean.vehicleType//车辆类型 if (!distance.isNullOrEmpty()) tvLoadDis.text = distance @@ -151,9 +152,37 @@ class WaybillUnlLoadActivity : BaseActivity() { if (!t.data.requirement.isNullOrEmpty()) tvRemark.text = t.data.requirement btnLeft.setOnClickListener { + if (orderBean.phone.isNullOrEmpty()){ + ToastUtils.showToast(mContext,"未获取到手机号码") + return@setOnClickListener + } PermissionX.init(this@WaybillUnlLoadActivity) .permissions(Manifest.permission.CALL_PHONE) .request { allGranted, grantedList, deniedList -> + if (allGranted) { + BaseUtils.callPhone( + this@WaybillUnlLoadActivity, + orderBean.phone + ) + } else { + Toast.makeText( + mContext, + "开启权限失败,请在应用设置-权限中打开电话权限", + Toast.LENGTH_SHORT + ).show() + } + } + + } + + btnHzPhone.setOnClickListener { + if (orderBean.shipperContactPhone.isNullOrEmpty()){ + ToastUtils.showToast(mContext,"未获取到手机号码") + return@setOnClickListener + } + PermissionX.init(this@WaybillUnlLoadActivity) + .permissions(Manifest.permission.CALL_PHONE) + .request { allGranted, _, _ -> if (allGranted) { BaseUtils.callPhone( this@WaybillUnlLoadActivity, @@ -167,7 +196,6 @@ class WaybillUnlLoadActivity : BaseActivity() { ).show() } } - } } diff --git a/app/src/main/java/com/dahe/gldriver/ui/waybill/fragment/WaitAppraiseFragment.kt b/app/src/main/java/com/dahe/gldriver/ui/waybill/fragment/WaitAppraiseFragment.kt index 29ca802..6a636e1 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/waybill/fragment/WaitAppraiseFragment.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/waybill/fragment/WaitAppraiseFragment.kt @@ -67,11 +67,11 @@ class WaitAppraiseFragment : BaseFragment(), Refresh (adapter as WaybillListAdapter).isStateViewEnable = true adapter as WaybillListAdapter }.apply { - setOnItemClickListener{_,_,position-> - val orderBean = items[position] - ActivityUtils.startActivity(mContext, - WaybillUnlLoadActivity::class.java,Bundle().apply { putString(AppConfig.ORDER_ID,orderBean.orderId) }) - } +// setOnItemClickListener{_,_,position-> +// val orderBean = items[position] +// ActivityUtils.startActivity(mContext, +// WaybillUnlLoadActivity::class.java,Bundle().apply { putString(AppConfig.ORDER_ID,orderBean.orderId) }) +// } addOnItemChildClickListener(R.id.btnOk) { _, _, position -> val orderBean = items[position] ActivityUtils.startActivity(mContext,WaybillRateActivity::class.java, Bundle().apply { diff --git a/app/src/main/java/com/dahe/gldriver/utils/LocationUtils.kt b/app/src/main/java/com/dahe/gldriver/utils/LocationUtils.kt index 164ac90..d554d74 100644 --- a/app/src/main/java/com/dahe/gldriver/utils/LocationUtils.kt +++ b/app/src/main/java/com/dahe/gldriver/utils/LocationUtils.kt @@ -111,6 +111,22 @@ class LocationUtils private constructor() { } + /** + * 地图添加mark + * @param latLng LatLng + * @param resource Int + * @param aMap AMap + */ + fun addMarker(latLng: LatLng, aMap: AMap, resource: Int) { + aMap.addMarker( + MarkerOptions().position(latLng) + .icon( + BitmapDescriptorFactory.fromResource(resource) + ) + ) + } + + /** * 开始搜索路径规划方案 * @param context Context @@ -169,7 +185,13 @@ class LocationUtils private constructor() { * @param startAddress String * @param endAddress String */ - fun getRoutes(context: Context, load: LatLng, unload: LatLng, startAddress: String = "", endAddress: String = "") { + fun getRoutes( + context: Context, + load: LatLng, + unload: LatLng, + startAddress: String = "", + endAddress: String = "" + ) { val params = AmapNaviParams( Poi(startAddress, load, ""), null, diff --git a/app/src/main/res/layout/activity_auth_bankcard.xml b/app/src/main/res/layout/activity_auth_bankcard.xml index 57cc945..ab00dba 100644 --- a/app/src/main/res/layout/activity_auth_bankcard.xml +++ b/app/src/main/res/layout/activity_auth_bankcard.xml @@ -17,7 +17,7 @@ android:paddingTop="@dimen/dp_14" android:paddingRight="@dimen/dp_20" android:paddingBottom="@dimen/dp_16" - android:text="为了认证您的身份信息,请上传您的身份证(属于您的 + android:text="为了认证您的身份信息,请上传您的银行卡(属于您的 敏感信息)以供我们认证,请先去下证件卡套后拍摄, 确保上传证件拍摄完成且清晰可见。" android:textColor="#FF5F20" diff --git a/app/src/main/res/layout/activity_auth_driver.xml b/app/src/main/res/layout/activity_auth_driver.xml index 09d2ee9..e0fb40b 100644 --- a/app/src/main/res/layout/activity_auth_driver.xml +++ b/app/src/main/res/layout/activity_auth_driver.xml @@ -17,7 +17,7 @@ android:paddingTop="@dimen/dp_14" android:paddingRight="@dimen/dp_20" android:paddingBottom="@dimen/dp_16" - android:text="为了认证您的身份信息,请上传您的身份证(属于您的 + android:text="为了认证您的身份信息,请上传您的驾驶证(属于您的 敏感信息)以供我们认证,请先去下证件卡套后拍摄, 确保上传证件拍摄完成且清晰可见。" android:textColor="#FF5F20" diff --git a/app/src/main/res/layout/activity_auth_driving.xml b/app/src/main/res/layout/activity_auth_driving.xml index 1608f01..958270b 100644 --- a/app/src/main/res/layout/activity_auth_driving.xml +++ b/app/src/main/res/layout/activity_auth_driving.xml @@ -17,7 +17,7 @@ android:paddingTop="@dimen/dp_14" android:paddingRight="@dimen/dp_20" android:paddingBottom="@dimen/dp_16" - android:text="为了认证您的身份信息,请上传您的身份证(属于您的 + android:text="为了认证您的身份信息,请上传您的行驶证(属于您的 敏感信息)以供我们认证,请先去下证件卡套后拍摄, 确保上传证件拍摄完成且清晰可见。" android:textColor="#FF5F20" diff --git a/app/src/main/res/layout/activity_auth_face.xml b/app/src/main/res/layout/activity_auth_face.xml index 706f726..916d3df 100644 --- a/app/src/main/res/layout/activity_auth_face.xml +++ b/app/src/main/res/layout/activity_auth_face.xml @@ -17,9 +17,7 @@ android:paddingTop="@dimen/dp_14" android:paddingRight="@dimen/dp_20" android:paddingBottom="@dimen/dp_16" - android:text="为了认证您的身份信息,请上传您的身份证(属于您的 -敏感信息)以供我们认证,请先去下证件卡套后拍摄, -确保上传证件拍摄完成且清晰可见。" + android:text="为了认证您的身份信息,请扫描面部信息(属于您的 敏感信息)以供我们认证,请尽量衣着整洁,露出五 官后拍摄,确保拍摄清晰可见。。" android:textColor="#FF5F20" android:textSize="@dimen/sp_14" /> diff --git a/app/src/main/res/layout/activity_auth_qualification.xml b/app/src/main/res/layout/activity_auth_qualification.xml index 20287c2..f01964e 100644 --- a/app/src/main/res/layout/activity_auth_qualification.xml +++ b/app/src/main/res/layout/activity_auth_qualification.xml @@ -17,9 +17,7 @@ android:paddingTop="@dimen/dp_14" android:paddingRight="@dimen/dp_20" android:paddingBottom="@dimen/dp_16" - android:text="为了认证您的身份信息,请上传您的身份证(属于您的 -敏感信息)以供我们认证,请先去下证件卡套后拍摄, -确保上传证件拍摄完成且清晰可见。" + android:text="为了认证您的身份信息,请上传您的从业资格证(属于 您的敏感信息)以供我们认证,请先去下证件卡套后拍 摄,确保上传证件拍摄完成且清晰可见。" android:textColor="#FF5F20" android:textSize="@dimen/sp_14"> diff --git a/app/src/main/res/layout/activity_auth_road.xml b/app/src/main/res/layout/activity_auth_road.xml index 9b2a6c7..918f186 100644 --- a/app/src/main/res/layout/activity_auth_road.xml +++ b/app/src/main/res/layout/activity_auth_road.xml @@ -17,9 +17,7 @@ android:paddingTop="@dimen/dp_14" android:paddingRight="@dimen/dp_20" android:paddingBottom="@dimen/dp_16" - android:text="为了认证您的身份信息,请上传您的身份证(属于您的 -敏感信息)以供我们认证,请先去下证件卡套后拍摄, -确保上传证件拍摄完成且清晰可见。" + android:text="为了认证您的身份信息,请上传您的道路运输证(属于 您的敏感信息)以供我们认证,请先去下证件卡套后拍 摄,确保上传证件拍摄完成且清晰可见" android:textColor="#FF5F20" android:textSize="@dimen/sp_14" /> diff --git a/app/src/main/res/layout/activity_auth_trailer.xml b/app/src/main/res/layout/activity_auth_trailer.xml index c7003a0..f90b989 100644 --- a/app/src/main/res/layout/activity_auth_trailer.xml +++ b/app/src/main/res/layout/activity_auth_trailer.xml @@ -17,7 +17,7 @@ android:paddingTop="@dimen/dp_14" android:paddingRight="@dimen/dp_20" android:paddingBottom="@dimen/dp_16" - android:text="为了认证您的身份信息,请上传您的身份证(属于您的 + android:text="为了认证您的身份信息,请上传您的挂车证件(属于您的 敏感信息)以供我们认证,请先去下证件卡套后拍摄, 确保上传证件拍摄完成且清晰可见。" android:textColor="#FF5F20" diff --git a/app/src/main/res/layout/activity_person_info.xml b/app/src/main/res/layout/activity_person_info.xml index faa26bf..36ea711 100644 --- a/app/src/main/res/layout/activity_person_info.xml +++ b/app/src/main/res/layout/activity_person_info.xml @@ -286,6 +286,7 @@ @@ -100,6 +103,7 @@ android:textSize="@dimen/sp_12" />