普通发货,个人信息维护

This commit is contained in:
lijia 2024-11-07 08:42:01 +08:00
parent 41a4fafd01
commit 54b3db22e3
15 changed files with 786 additions and 395 deletions

View File

@ -14,7 +14,6 @@ data class PostAddressBean(
var longitude: String = "",
var addressDetail: String = ""
) {
var addressType: String = ""
var cityCode: String = ""
var companyCode: String = ""
var companyName: String = ""
@ -26,7 +25,7 @@ data class PostAddressBean(
var provinceCode: String = ""
var sortValue: String = ""
var tagContent: String = ""
var userType: String = ""
var userType: String = ""//1:企业0个人
var addressId: String = ""
constructor(
@ -37,7 +36,6 @@ data class PostAddressBean(
latitude: String,
longitude: String,
addressDetail: String,
addressType: String,
cityCode: String,
companyCode: String,
companyName: String,
@ -52,7 +50,6 @@ data class PostAddressBean(
userType: String,
addressId: String
) : this(province, city, area, areaCode, latitude, longitude, addressDetail) {
this.addressType = addressType
this.cityCode = cityCode
this.companyCode = companyCode
this.companyName = companyName
@ -69,12 +66,9 @@ data class PostAddressBean(
}
}
data class Texfff(val name: String, val age: Int) {
constructor(name: String, age: Int, id: String) : this(name, age) {}
}
data class AddressBean(
val addressDetail: String,
var address: String,
val addressId: String,
val addressType: String,
val area: String,
@ -100,14 +94,21 @@ data class AddressBean(
val tagContent: String,
val updateBy: String,
val updateTime: String,
val userType: String
val userType: String,
var name: String,
var phone: String,
var type: String //1装2卸
) {
// var address:String= addressDetail
constructor() : this(
"", "", "", "", "",
"", "", "", "", "",
"", "", "", "", "", "",
"", "", "", "", "", "",
"", "", "", "", ""
"", "", "", "", "", "","","", ""
)
}

View File

@ -1,5 +1,8 @@
package com.dahe.glex.bean
import com.dhsd.glowner.bean.AddressBean
import com.dhsd.glowner.bean.GoodBean
/**
* @ClassName OrderBean
* @Author 用户
@ -8,108 +11,108 @@ package com.dahe.glex.bean
*/
data class OrderListBean<T>(
var total : Int,
var total : String,
var rows: List<T>
)
data class TextOrder(val orderId: String)
data class TextOrder(var orderId: String)
data class OrderBean(
val acceptTime: String,
val alctGoodsType: String,
val auditStatus: String,
val auditTime: String,
val auditUser: String,
val automaticAudit: String,
val bankCardNo: String,
val bankName: String,
val bankOpenBank: String,
val bankSequenceCode: String,
val bankUserName: String,
val businessType: String,
val capitalStatus: String,
val createBy: String,
val createDate: String,
val createTime: String,
val deptAncestors: String,
val deptId: String,
val direction: String,
val dispatchStatus: String,
val dispatchType: String,
val distance: Double,
val driverFreight: String,
val driverTax: String,
val driverTaxFreight: String,
val effectiveTimeEnd: String,
val effectiveTimeStart: String,
val estimatedProfit: Double,
val etcCost: String,
val failedReason: String,
val finishTime: String,
val goodsBigCate: String,
val goodsValue: String,
val inputFreight: String,
val insuranceCosts: String,
val insurancePremiumRate: String,
val insureAmount: String,
val isDeleted: String,
val isInsure: String,
val loadingAddress: String,
val loadingArea: String,
val loadingAreaCode: String,
val loadingBusinessCode: String,
val loadingBusinessName: String,
val loadingCity: String,
val loadingCityCode: String,
val loadingDeadline: String,
val loadingName: String,
val loadingPhone: String,
val loadingProvince: String,
val loadingProvinceCityArea: String,
val loadingProvinceCode: String,
val motorcadeRatio: String,
val motorcadeTotalFreight: String,
val namedDrivers: String,
val noShipperCar: String,
val oliCost: String,
val orderId: String,
val orderNum: String,
val orderStatus: String,
val orderType: String,
val otherCost: String,
val passingPoStringsNum: String,
val platformRatio: String,
val platformTotalFreight: String,
val receiverAddress: String,
val receiverArea: String,
val receiverAreaCode: String,
val receiverBusinessCode: String,
val receiverBusinessName: String,
val receiverCity: String,
val receiverCityCode: String,
val receiverDeadline: String,
val receiverIdcard: String,
val receiverName: String,
val receiverPhone: String,
val receiverProvince: String,
val receiverProvinceCityArea: String,
val receiverProvinceCode: String,
val remark: String,
val report: String,
val reportAlct: String,
val reportStatus: String,
val requirement: String,
val settleStatus: String,
val settleTime: String,
val shipperCaptainId: String,
val shipperCarId: String,
val shipperDriverId: String,
val shipperId: String,
val submitTime: String,
val totalFreight: String,
val updateBy: String,
val updateTime: String,
val vehicleLength: String,
val vehicleType: String
var acceptTime: String,
var alctGoodsType: String,
var auditStatus: String,
var auditTime: String,
var auditUser: String,
var automaticAudit: String,
var bankCardNo: String,
var bankName: String,
var bankOpenBank: String,
var bankSequenceCode: String,
var bankUserName: String,
var businessType: String,
var capitalStatus: String,
var createBy: String,
var createDate: String,
var createTime: String,
var deptAncestors: String,
var deptId: String,
var direction: String,
var dispatchStatus: String,
var dispatchType: String,
var distance: Double,
var driverFreight: String,
var driverTax: String,
var driverTaxFreight: String,
var effectiveTimeEnd: String,
var effectiveTimeStart: String,
var estimatedProfit: Double,
var etcCost: String,
var failedReason: String,
var finishTime: String,
var goodsBigCate: String,
var goodsvarue: String,
var inputFreight: String,
var insuranceCosts: String,
var insurancePremiumRate: String,
var insureAmount: String,
var isDeleted: String,
var isInsure: String,
var loadingAddress: String,
var loadingArea: String,
var loadingAreaCode: String,
var loadingBusinessCode: String,
var loadingBusinessName: String,
var loadingCity: String,
var loadingCityCode: String,
var loadingDeadline: String,
var loadingName: String,
var loadingPhone: String,
var loadingProvince: String,
var loadingProvinceCityArea: String,
var loadingProvinceCode: String,
var motorcadeRatio: String,
var motorcadeTotalFreight: String,
var namedDrivers: String,
var noShipperCar: String,
var oliCost: String,
var orderId: String,
var orderNum: String,
var orderStatus: String,
var orderType: String,
var otherCost: String,
var passingPoStringsNum: String,
var platformRatio: String,
var platformTotalFreight: String,
var receiverAddress: String,
var receiverArea: String,
var receiverAreaCode: String,
var receiverBusinessCode: String,
var receiverBusinessName: String,
var receiverCity: String,
var receiverCityCode: String,
var receiverDeadline: String,
var receiverIdcard: String,
var receiverName: String,
var receiverPhone: String,
var receiverProvince: String,
var receiverProvinceCityArea: String,
var receiverProvinceCode: String,
var remark: String,
var report: String,
var reportAlct: String,
var reportStatus: String,
var requirement: String,
var settleStatus: String,
var settleTime: String,
var shipperCaptainId: String,
var shipperCarId: String,
var shipperDriverId: String,
var shipperId: String,
var submitTime: String,
var totalFreight: String,
var updateBy: String,
var updateTime: String,
var vehicleLength: String,
var vehicleType: String
)
data class DispatchBean(
@ -118,3 +121,146 @@ data class DispatchBean(
var shipperDriverId: String,
var shipperCarId: String
)
data class PostOrderBean(
var acceptTime: String,
var alctCargoTypeClassificationCode: String = "10",
var auditStatus: String,
var auditTime: String,
var auditUser: String,
var automaticAudit: String,
var bankCardNo: String,
var bankName: String,
var bankOpenBank: String,
var bankSequenceCode: String,
var bankUserName: String,
var businessType: String = "1002996",
var capitalStatus: String,
var captainName: String,
var carVehicleNum: String,
var createBy: String,
var createDate: String,
var createTime: String,
var deptAncestors: String,
var deptId: String,
var direction: String,
var dispatchStatus: String,
var dispatchType: String,
var driverEvaruationStatus: String,
var driverFreight: String,
var driverName: String,
var driverPhone: String,
var driverTax: String,
var driverTaxFreight: String,
var effectiveTimeEnd: String,
var effectiveTimeStart: String,
var etcCost: String,
var failedReason: String,
var finishTime: String,
var goodsBigCate: String,
var goodsvarue: String,
var inputFreight: String,
var insuranceCosts: String,
var insurancePremiumRate: String,
var insureAmount: String,
var isDeleted: String,
var isInsure: String,
var loadingAddress: String,
var loadingArea: String,
var loadingAreaCode: String,
var loadingBusinessCode: String,
var loadingBusinessName: String,
var loadingCity: String,
var loadingCityCode: String,
var loadingDeadline: String,
var receiverDeadline: String,
var loadingName: String,
var loadingPhone: String,
var loadingProvince: String,
var loadingProvinceCityArea: String,
var loadingProvinceCode: String,
var motorcadeRatio: String,
var motorcadeTotalFreight: String,
var namedDrivers: String,
var noShipperCar: String,
var oliCost: String,
var orderId: String,
var orderNum: String,
var orderStatus: String,
var orderType: String,
var otherCost: String,
var passingPoStringsNum: String,
var platformRatio: String,
var platformTotalFreight: String,
var provinceCityArea: String,
var receiverAddress: String,
var vehicleType: String,
var vehicleLength: String,
var childList:MutableList<AddressBean> = mutableListOf(),
var goodsList:MutableList<GoodBean> = mutableListOf(),
var order : OrderBean? = null
){
constructor():this("","10","","","",
"","","","","","",
"1002996","","","","","","",
"","","","","","","",
"","","","","","",
"","","","","","",
"","","","","","",
"","","","","","",
"","","","","","",
"","","","","",
"","","","","","","","",
"","", "","","")
}
data class Child(
var address: String,
var area: String,
var areaCode: String,
var businessCode: String,
var businessName: String,
var city: String,
var cityCode: String,
var cost: String,
var createBy: String,
var createTime: String,
var deadline: String,
var displayOrder: String,
var isPassingPoStrings: String,
var isSaveToCommonAddress: String,
var latitude: String,
var longitude: String,
var name: String,
var orderChildreId: String,
var orderId: String,
var phone: String,
var province: String,
var provinceAreaCode: List<String>,
var provinceCityArea: String,
var provinceCode: String,
var remark: String,
var sortvarue: String,
var status: String,
var totalAmount: String,
var type: String,
var updateBy: String,
var updateTime: String
)
data class ShipperDispatchInfo(
var carHeight: String,
var carLong: String,
var carWidth: String,
var contactPhone: String,
var idcardName: String,
var isRealName: String,
var shipperCarId: String,
var shipperDriverId: String,
var vehicleNum: String,
var vehicleType: String,
var vehicleTypeCode: String
)

View File

@ -6,26 +6,23 @@ package com.dahe.glex.bean
* @Date 2023/9/21 09:52
* @Description TODO
*/
data class UserParent(
val user:UserBean
)
data class UserBean(
var token :String,
var access_token :String,
var expires_in :String,
var id :String,
var roleId :String,
var uname :String,
var registerPhone :String,
var companyName :String,
var account :String,
var headportraitUrl :String,
var salt :String,
var jumpUrl :String,
var distance :String,
var idCardValidity :String,
var driverValidity :String,
var qualificationValidity :String,
var isCar :String,
var qrcodeUrl :String,
var credit :String
var userName :String,
var nickName :String,
var phonenumber :String,
var userId :String,
var deptId :String,
var avatar :String,
var password :String
)
data class CodeBean(

View File

@ -64,6 +64,10 @@ interface Api {
fun cancelSourceOfOrder(@Body bean: TextOrder): Observable<CommonResponseBean<Any>>
@GET(BASE_URL+"devApi/system/user/getInfo")
fun getUserInfo(): Observable<CommonResponseBean<UserParent>>
/**
* 查询车辆信息列表
*/
@ -80,6 +84,15 @@ interface Api {
fun dispatchVehicles(@Body bean: DispatchBean): Observable<CommonResponseBean<Any>>
/**
* 新增订单
* @param bean PostOrderBean
* @return Observable<CommonResponseBean<Any>>
*/
@POST(BASE_URL + "devApi//business/shipper/order")
fun addOrder(@Body bean: PostOrderBean): Observable<CommonResponseBean<PostOrderBean>>
/**
* 查询车队列表
* @return Observable<CommonResponseBean<Any>>

View File

@ -258,7 +258,8 @@ class AddressEditOrAddActivity : BaseActivity<ActivityAddressEditBinding>(),
etName.setText(data.contactPerson)
etPhone.setText(data.contactNumber)
etCom.setText(data.companyName)
etComNum.setText(data.companyCode)
etComNum.setText(if (data.userType == "1")data.companyCode else data.idCard)
etComNum.hint = if (data.userType == "1") "社会统一代码" else "身份证号"
mySwitch.isOpened = data.userType == "1"
}
}

View File

@ -1,34 +1,38 @@
package com.dhsd.glowner.ui.home.activtiy
import android.annotation.SuppressLint
import BaseObserver
import DataManager
import RxHttpCallBack
import android.content.Intent
import android.graphics.Color
import android.os.Bundle
import android.text.TextUtils
import android.widget.LinearLayout
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.chad.library.adapter4.BaseQuickAdapter.OnItemChildClickListener
import com.dahe.gldriver.base.AppConfig
import com.dahe.glex.bean.WayBillBean
import com.dahe.glex.bean.PostOrderBean
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.PickerUtils
import com.dahe.mylibrary.utils.ToastUtils
import com.dahe.mylibrary.utils.TimeConstants
import com.dahe.mylibrary.utils.TimeUtil
import com.dhsd.glowner.R
import com.dhsd.glowner.adapter.SendGoodsAdapter
import com.dhsd.glowner.bean.AddressBean
import com.dhsd.glowner.bean.GoodBean
import com.dhsd.glowner.databinding.ActivitySendGoodsBinding
import com.dhsd.glowner.ui.address.AddressListActivity
import com.dhsd.glowner.ui.mine.activity.ChoiceCarActivity
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.schedulers.Schedulers
import java.text.SimpleDateFormat
import java.util.Locale
/**
* @ClassName SendGoodsActivity
@ -38,8 +42,11 @@ import com.google.gson.reflect.TypeToken
*/
class SendGoodsActivity : BaseActivity<ActivitySendGoodsBinding>() {
private var postOrderBean: PostOrderBean = PostOrderBean()
private lateinit var datas: MutableList<AddressBean>
private lateinit var adapter: SendGoodsAdapter
private var goodList: MutableList<GoodBean> = mutableListOf()
override fun initView(savedInstanceState: Bundle?) {
setStatusBarColor(R.color.white)
setTitleBar("普通装货", true)
@ -66,14 +73,48 @@ class SendGoodsActivity : BaseActivity<ActivitySendGoodsBinding>() {
binding.btnOk.setOnClickListener {
ActivityUtils.startActivity(mContext, SendSuccActivity::class.java)
submit()
}
binding.tvDate.setOnClickListener {
PickerUtils.getInstance()
.showDateSim(this@SendGoodsActivity, "装货截止时间") { date ->
binding.tvDate.text = date
postOrderBean.run {
effectiveTimeStart =TimeUtil.getString(
date,
SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()),
SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()),
1439,
TimeConstants.MIN
)
loadingDeadline =
TimeUtil.getString(
date,
SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()),
SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()),
8639,
TimeConstants.MIN
) //装货截止时间
receiverDeadline =
TimeUtil.getString(
date,
SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()),
SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()),
23039,
TimeConstants.MIN
)//卸货截止时间
effectiveTimeEnd =
TimeUtil.getString(
date,
SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()),
SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()),
30239,
TimeConstants.MIN
)
}
}
}
@ -112,7 +153,22 @@ class SendGoodsActivity : BaseActivity<ActivitySendGoodsBinding>() {
val string = it.getString(AppConfig.BEAN, "")
if (string.isNotEmpty()) {
val addressBean = Gson().fromJson<AddressBean>(string, AddressBean::class.java)
datas[requestCode] = addressBean
if (requestCode == 0) {
datas[requestCode] = addressBean.apply {
type = "1"
address = addressDetail
name = contactPerson
phone = contactNumber
}
} else if (requestCode == 1) {
datas[requestCode] = addressBean.apply {
type = "2"
address = addressDetail
name = contactPerson
phone = contactNumber
}
}
adapter.notifyItemChanged(requestCode)
}
@ -123,8 +179,8 @@ class SendGoodsActivity : BaseActivity<ActivitySendGoodsBinding>() {
val datas = it.getStringExtra(AppConfig.DATAS)
val userListType = object : TypeToken<MutableList<GoodBean>>() {}.type
val goods = Gson().fromJson<MutableList<GoodBean>>(datas, userListType)
val joinToString = goods.joinToString(separator = "\n") { innerIt ->
goodList = Gson().fromJson<MutableList<GoodBean>>(datas, userListType)
val joinToString = goodList.joinToString(separator = "\n") { innerIt ->
"""${innerIt.goodName},${innerIt.jttGoodsCategoryName},${
if (!TextUtils.isEmpty(innerIt.goodItemGrossWeight)) innerIt.goodItemGrossWeight + "" else innerIt.goodCube + ""
}"""
@ -135,6 +191,14 @@ class SendGoodsActivity : BaseActivity<ActivitySendGoodsBinding>() {
9999 -> {
val cx = it.getStringExtra(AppConfig.CX)
val cc = it.getStringExtra(AppConfig.CC)
postOrderBean.run {
if (cx != null) {
vehicleType = cx
}
if (cc != null) {
vehicleLength = cc.replace("", "")
}
}
binding.tvCarType.text = """$cc $cx"""
}
}
@ -142,4 +206,47 @@ class SendGoodsActivity : BaseActivity<ActivitySendGoodsBinding>() {
}
}
}
private fun submit() {
if (adapter.items.any { TextUtils.isEmpty(it.addressDetail) }) {
showToast("请完善装货地址信息")
return
}
binding?.run {
if (TextUtils.isEmpty(tvGoods.text.toString())) {
showToast("请选择货物信息")
return@submit
}
if (TextUtils.isEmpty(tvCarType.text.toString())) {
showToast("请选择用车信息")
return@submit
}
if (TextUtils.isEmpty(etMoney.text.toString()) || TextUtils.isEmpty(tvDate.text.toString())) {
showToast("请完善装货时间以及运费信息")
return@submit
}
}
postOrderBean.run {
inputFreight = binding.etMoney.text.toString()//运费
childList = datas
goodsList = goodList
}
DataManager.getInstance().addOrder(postOrderBean)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(BaseObserver(mContext, object : RxHttpCallBack<PostOrderBean>() {
override fun onSuccess(t: CommonResponseBean<PostOrderBean>) {
super.onSuccess(t)
t.data.order?.let {
ActivityUtils.startActivity(mContext, SendSuccActivity::class.java,Bundle().apply {
putString(AppConfig.ID,it.orderId)
})
finish()
}
}
}))
}
}

View File

@ -1,9 +1,21 @@
package com.dhsd.glowner.ui.home.activtiy
import android.content.Intent
import android.os.Bundle
import android.view.View
import com.dahe.gldriver.base.AppConfig
import com.dahe.mylibrary.base.BaseActivity
import com.dahe.mylibrary.utils.ActivityUtils
import com.dhsd.glowner.R
import com.dhsd.glowner.bean.HomeEvent
import com.dhsd.glowner.databinding.ActivitySendSuccBinding
import com.dhsd.glowner.ui.HomeActivity
import com.dhsd.glowner.ui.mine.activity.ChoiceCarActivity
import com.dhsd.glowner.ui.mine.activity.ChoiceFleetActivity
import com.dhsd.glowner.utils.CommonPopUtils
import com.dhsd.glowner.utils.OnLimitClickHelper
import com.dhsd.glowner.utils.OnLimitClickListener
import org.greenrobot.eventbus.EventBus
/**
* @ClassName SendSuccActivity
@ -11,12 +23,61 @@ import com.dhsd.glowner.databinding.ActivitySendSuccBinding
* @Date 2024/2/5 09:38
* @Description TODO
*/
class SendSuccActivity : BaseActivity<ActivitySendSuccBinding>() {
class SendSuccActivity : BaseActivity<ActivitySendSuccBinding>(), OnLimitClickListener {
lateinit var orderId :String
override fun initView(savedInstanceState: Bundle?) {
setStatusBarColor(R.color.white)
setTitleBar("创建成功",true)
setTitleBar("创建成功"){
//首页刷新
EventBus.getDefault().post(HomeEvent(true))
ActivityUtils.finishToActivity(HomeActivity::class.java,false)
}
intent.extras?.let {
orderId= it.getString(AppConfig.ID,"")
}
binding.run {
btnLeft.setOnClickListener {
EventBus.getDefault().post(HomeEvent(true))
ActivityUtils.finishToActivity(HomeActivity::class.java,false)
}
btnRight.setOnClickListener(OnLimitClickHelper(this@SendSuccActivity))
}
}
override fun initDate() {
}
override fun onClick(view: View?) {
super.onClick(view)
when(view?.id){
R.id.btnRight ->{
disCar()
}
}
}
override fun onBackPressed() {
super.onBackPressed()
EventBus.getDefault().post(HomeEvent(true))
}
/**
* 分配车辆
*
*/
private fun disCar(){
CommonPopUtils.getInstance().showCarList(
mContext
) { _, position ->
when (position) {
0->{
ActivityUtils.startActivity(mContext,ChoiceCarActivity::class.java,intent.extras)
}
1 -> {
ActivityUtils.startActivity(mContext,ChoiceFleetActivity::class.java,intent.extras)
}
}
}
}
}

View File

@ -1,18 +1,28 @@
package com.dhsd.glowner.ui.mine
import BaseObserver
import DataManager
import RxHttpCallBack
import android.os.Bundle
import android.view.View
import com.dahe.gldriver.bean.GridBean
import com.dahe.glex.bean.UserBean
import com.dahe.glex.bean.UserParent
import com.dahe.mylibrary.base.BaseFragment
import com.dahe.mylibrary.callback.RefreshCallBack
import com.dahe.mylibrary.net.CommonResponseBean
import com.dahe.mylibrary.utils.ActivityUtils
import com.dahe.mylibrary.utils.ImageLoader
import com.dahe.mylibrary.utils.ToastUtils
import com.dhsd.glowner.R
import com.dhsd.glowner.adapter.GridItemAdapter
import com.dhsd.glowner.databinding.FragmentMineBinding
import com.dhsd.glowner.ui.mine.activity.SettingActivity
import com.tencent.bugly.crashreport.CrashReport
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.schedulers.Schedulers
class MineFragment : BaseFragment<FragmentMineBinding>(), View.OnClickListener {
class MineFragment : BaseFragment<FragmentMineBinding>(), View.OnClickListener, RefreshCallBack {
private val tools = mutableListOf(
GridBean("车队管理", R.drawable.car_team),
GridBean("车辆管理", R.drawable.car_manage),
@ -43,8 +53,11 @@ class MineFragment : BaseFragment<FragmentMineBinding>(), View.OnClickListener {
// val userInfo = SPUtils.instance.getUserInfo(mContext)
// if (null==userInfo)
// return
getUserInfo()
binding.run {
setRefresh(smartRefresh,this@MineFragment)
smartRefresh.finishLoadMore()
//初始化常用工具
gvTools.run {
adapter = GridItemAdapter(mContext, tools, R.layout.grid_mine_item)
@ -152,5 +165,33 @@ class MineFragment : BaseFragment<FragmentMineBinding>(), View.OnClickListener {
}
}
override fun getRefreshDate(stat: Int, page: Int, count: Int) {
if (stat==2){
binding.smartRefresh.finishLoadMoreWithNoMoreData()
return
}
getUserInfo()
}
private fun getUserInfo() {
DataManager.getInstance().getUserInfo()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(BaseObserver(mContext,object : RxHttpCallBack<UserParent>(binding.smartRefresh){
override fun onSuccess(t: CommonResponseBean<UserParent>) {
super.onSuccess(t)
initUserByData(t.data.user)
}
}))
}
private fun initUserByData(userBean: UserBean){
binding?.run {
tvName.text = userBean.userName
tvPhone.text = userBean.phonenumber
ImageLoader.getInstance().loadCircleImage(mContext,userBean.avatar,ivHead,R.drawable.head_defaut)
}
}
}

View File

@ -17,12 +17,14 @@ 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.bean.CarBean
import com.dhsd.glowner.databinding.ActivityChoiceCarBinding
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
@ -154,7 +156,8 @@ class ChoiceCarActivity : BaseActivity<ActivityChoiceCarBinding>(), OnLimitClick
showToast(t.msg)
// 设置返回结果
setResult(AppCompatActivity.RESULT_OK, Intent())
finish()
ActivityUtils.finishToActivity(HomeActivity::class.java,false)
// finish()
}
}))
}

View File

@ -94,7 +94,7 @@ class ChoiceFleetActivity : BaseActivity<ActivityChoiceFleetCarBinding>(), OnLim
DataManager.getInstance().getCaptainList()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(BaseObserver(mContext, object : RxHttpCallBack<MutableList<CaptainBean>>() {
.subscribe(BaseObserver(mContext, object : RxHttpCallBack<MutableList<CaptainBean>>(this) {
override fun onSuccess(t: CommonResponseBean<MutableList<CaptainBean>>) {
super.onSuccess(t)
initList(t.data)

View File

@ -48,17 +48,16 @@
<EditText
android:hint="请输入货物名称"
android:id="@+id/tvGood"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:maxLines="1"
android:inputType="text"
android:drawableRight="@drawable/right"
android:drawablePadding="@dimen/dp_6"
android:gravity="right"
android:background="@null"
android:text="螺纹钢"
android:textColor="@color/black"
android:textSize="@dimen/sp_16" />
</LinearLayout>

View File

@ -55,15 +55,15 @@
<TextView
android:hint="请选择货物信息"
android:gravity="right"
android:layout_weight="1"
android:id="@+id/tvGoods"
android:layout_width="0dp"
android:layout_height="wrap_content"
tools:text="螺纹钢钢铁40吨"
android:layout_weight="1"
android:gravity="right"
android:hint="请选择货物信息"
android:textColor="@color/black"
android:textSize="@dimen/sp_16" />
android:textSize="@dimen/sp_16"
tools:text="螺纹钢钢铁40吨" />
</LinearLayout>
<LinearLayout
@ -84,7 +84,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:drawableLeft="@drawable/start"
android:text="用车信息"
android:textColor="@color/black"
@ -95,6 +95,8 @@
android:id="@+id/tvCarType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:hint="请选择用车信息"
android:textColor="#FF4A02"
android:textSize="@dimen/sp_16"
@ -131,14 +133,14 @@
<TextView
android:gravity="right"
android:hint="请选择装货时间"
android:id="@+id/tvDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="明天上午 06:00-12:00"
android:gravity="right"
android:hint="请选择装货时间"
android:textColor="#FF4A02"
android:textSize="@dimen/sp_16" />
android:textSize="@dimen/sp_16"
tools:text="明天上午 06:00-12:00" />
</LinearLayout>
<View
@ -165,15 +167,16 @@
<EditText
android:gravity="right"
android:id="@+id/etMoney"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="5000元"
android:inputType="numberDecimal"
android:hint="请输入运费金额"
android:background="@null"
android:gravity="right"
android:hint="请输入运费金额"
android:inputType="numberDecimal"
android:textColor="#FF4A02"
android:textSize="@dimen/sp_16" />
android:textSize="@dimen/sp_16"
tools:text="5000元" />
</LinearLayout>
</LinearLayout>

View File

@ -35,7 +35,7 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="@dimen/dp_50"
android:gravity="center"
android:layout_marginTop="@dimen/dp_52"
android:orientation="horizontal">

View File

@ -1,285 +1,290 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
<com.scwang.smart.refresh.layout.SmartRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/smartRefresh"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
android:layout_height="match_parent">
<RelativeLayout
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout
android:id="@+id/headContent"
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_210"
android:background="@drawable/mine_bg"
android:orientation="horizontal"
android:paddingTop="@dimen/dp_60">
<ImageView
android:id="@+id/ivHead"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_marginLeft="20dp"
android:src="@drawable/head_defaut" />
android:layout_height="match_parent">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:orientation="vertical">
android:id="@+id/headContent"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_210"
android:background="@drawable/mine_bg"
android:orientation="horizontal"
android:paddingTop="@dimen/dp_60">
<ImageView
android:id="@+id/ivHead"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_marginLeft="20dp"
android:src="@drawable/head_defaut" />
<LinearLayout
android:layout_width="match_parent"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:orientation="horizontal">
android:orientation="vertical">
<TextView
android:id="@+id/tvName"
android:layout_width="wrap_content"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="张学友"
android:textColor="@color/black"
android:textSize="@dimen/sp_18"
android:textStyle="bold" />
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/tvName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="张学友"
android:textColor="@color/black"
android:textSize="@dimen/sp_18"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/tvPhone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/color_3"
android:textSize="15dp"
tools:text="189****1230" />
<ImageView
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_10"
android:background="@drawable/party" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
<ImageView
android:id="@+id/iv_setting"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/tvPhone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/color_3"
android:textSize="15dp"
tools:text="189****1230" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_10"
android:background="@drawable/party"/>
</LinearLayout>
android:layout_marginTop="@dimen/dp_18"
android:layout_marginRight="@dimen/dp_15"
android:background="@drawable/right" />
</LinearLayout>
<ImageView
android:id="@+id/iv_setting"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_18"
<RelativeLayout
android:id="@+id/rlMoney"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_120"
android:layout_below="@+id/headContent"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_m_60"
android:layout_marginRight="@dimen/dp_15"
android:background="@drawable/right" />
android:background="@drawable/shape_white_12"
android:padding="@dimen/sp_16">
</LinearLayout>
<TextView
android:id="@+id/tvMoneyTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我的钱包"
android:textColor="@color/black"
android:textSize="@dimen/sp_16"
android:textStyle="bold" />
<RelativeLayout
android:id="@+id/rlMoney"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_120"
android:layout_below="@+id/headContent"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_m_60"
android:layout_marginRight="@dimen/dp_15"
android:background="@drawable/shape_white_12"
android:padding="@dimen/sp_16">
<TextView
android:id="@+id/tvMoneyTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我的钱包"
android:textColor="@color/black"
android:textSize="@dimen/sp_16"
android:textStyle="bold"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/tvMoneyTitle"
android:layout_alignParentRight="true"
android:drawableRight="@drawable/right_gray"
android:drawablePadding="@dimen/dp_5"
android:gravity="bottom"
android:text="进入钱包"
android:textColor="@color/color_9"
android:textSize="@dimen/sp_12"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/tvMoneyTitle"
android:layout_alignParentRight="true"
android:drawableRight="@drawable/right_gray"
android:drawablePadding="@dimen/dp_5"
android:gravity="bottom"
android:text="进入钱包"
android:textColor="@color/color_9"
android:textSize="@dimen/sp_12" />
<LinearLayout
android:layout_width="0dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
android:layout_alignParentBottom="true"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:maxLines="1"
android:singleLine="true"
android:text="26431.5"
android:textColor="@color/black"
android:textSize="@dimen/sp_20"
android:textStyle="bold"/>
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:singleLine="true"
android:text="26431.5"
android:textColor="@color/black"
android:textSize="@dimen/sp_20"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:text="余额(元)"
android:textColor="@color/color_9"
android:textSize="@dimen/sp_12" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:text="余额(元)"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
android:textColor="@color/color_9"
android:textSize="@dimen/sp_12"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5"
android:textColor="@color/black"
android:textSize="@dimen/sp_20"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:text="银行卡"
android:textColor="@color/color_9"
android:textSize="@dimen/sp_12" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2643.5"
android:textColor="@color/black"
android:textSize="@dimen/sp_20"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:text="累计收益(元)"
android:textColor="@color/color_9"
android:textSize="@dimen/sp_12" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5"
android:textColor="@color/black"
android:textSize="@dimen/sp_20"
android:textStyle="bold"/>
</RelativeLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:text="银行卡"
android:textColor="@color/color_9"
android:textSize="@dimen/sp_12"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2643.5"
android:textColor="@color/black"
android:textSize="@dimen/sp_20"
android:textStyle="bold"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:text="累计收益(元)"
android:textColor="@color/color_9"
android:textSize="@dimen/sp_12"/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
<RelativeLayout
android:id="@+id/rlTools"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_120"
android:layout_below="@+id/rlMoney"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginRight="@dimen/dp_15"
android:background="@drawable/shape_white_12">
<TextView
android:id="@+id/tvToolsTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/dp_16"
android:paddingTop="@dimen/dp_16"
android:paddingBottom="@dimen/dp_16"
android:text="常用工具"
android:textColor="@color/black"
android:textSize="@dimen/sp_16"
android:textStyle="bold"/>
<GridView
android:listSelector="@color/color_transparent"
android:id="@+id/gvTools"
<RelativeLayout
android:id="@+id/rlTools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tvToolsTitle"
android:layout_alignParentBottom="true"
android:numColumns="4"/>
android:layout_height="@dimen/dp_120"
android:layout_below="@+id/rlMoney"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginRight="@dimen/dp_15"
android:background="@drawable/shape_white_12">
<TextView
android:id="@+id/tvToolsTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/dp_16"
android:paddingTop="@dimen/dp_16"
android:paddingBottom="@dimen/dp_16"
android:text="常用工具"
android:textColor="@color/black"
android:textSize="@dimen/sp_16"
android:textStyle="bold" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_190"
android:layout_below="@+id/rlTools"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginRight="@dimen/dp_15"
android:background="@drawable/shape_white_12">
<TextView
android:id="@+id/tvplatTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/dp_16"
android:paddingTop="@dimen/dp_16"
android:paddingBottom="@dimen/dp_16"
android:text="平台规则"
android:textColor="@color/black"
android:textSize="@dimen/sp_16"
android:textStyle="bold"/>
<GridView
android:id="@+id/gvTools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tvToolsTitle"
android:layout_alignParentBottom="true"
android:listSelector="@color/color_transparent"
android:numColumns="4" />
<GridView
android:listSelector="@color/color_transparent"
android:id="@+id/gvPlat"
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tvplatTitle"
android:layout_alignParentBottom="true"
android:numColumns="4"
android:verticalSpacing="@dimen/dp_20"/>
android:layout_height="@dimen/dp_190"
android:layout_below="@+id/rlTools"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginRight="@dimen/dp_15"
android:background="@drawable/shape_white_12">
<TextView
android:id="@+id/tvplatTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/dp_16"
android:paddingTop="@dimen/dp_16"
android:paddingBottom="@dimen/dp_16"
android:text="平台规则"
android:textColor="@color/black"
android:textSize="@dimen/sp_16"
android:textStyle="bold" />
<GridView
android:id="@+id/gvPlat"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tvplatTitle"
android:layout_alignParentBottom="true"
android:listSelector="@color/color_transparent"
android:numColumns="4"
android:verticalSpacing="@dimen/dp_20" />
</RelativeLayout>
</RelativeLayout>
</RelativeLayout>
</androidx.core.widget.NestedScrollView>
</androidx.core.widget.NestedScrollView>
</com.scwang.smart.refresh.layout.SmartRefreshLayout>

View File

@ -944,6 +944,20 @@ public final class TimeUtil {
return millis2String(string2Millis(time, format) + timeSpan2Millis(timeSpan, unit), format);
}
/**
* 获取与给定时间等于时间差的时间字符串
* <p>格式为format</p>
* @param time
* @param format
* @param newformat
* @param timeSpan
* @param unit
* @return
*/
public static String getString(final String time, final DateFormat format, final DateFormat newformat, final long timeSpan, @TimeConstants.Unit final int unit) {
return millis2String(string2Millis(time, format) + timeSpan2Millis(timeSpan, unit), newformat);
}
/**
* 获取与给定时间等于时间差的时间字符串
* <p>格式为yyyy-MM-dd HH:mm:ss</p>