From 54b3db22e3eba615601259643e6ff3da0acb9771 Mon Sep 17 00:00:00 2001 From: lijia Date: Thu, 7 Nov 2024 08:42:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=99=AE=E9=80=9A=E5=8F=91=E8=B4=A7=EF=BC=8C?= =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E4=BF=A1=E6=81=AF=E7=BB=B4=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dhsd/glowner/bean/AddressBean.kt | 21 +- .../java/com/dhsd/glowner/bean/OrderBean.kt | 342 +++++++++---- .../java/com/dhsd/glowner/bean/UserBean.kt | 27 +- app/src/main/java/com/dhsd/glowner/net/Api.kt | 13 + .../ui/address/AddressEditOrAddActivity.kt | 3 +- .../ui/home/activtiy/SendGoodsActivity.kt | 131 ++++- .../ui/home/activtiy/SendSuccActivity.kt | 65 ++- .../com/dhsd/glowner/ui/mine/MineFragment.kt | 43 +- .../ui/mine/activity/ChoiceCarActivity.kt | 5 +- .../ui/mine/activity/ChoiceFleetActivity.kt | 2 +- .../main/res/layout/activity_goods_info.xml | 3 +- .../main/res/layout/activity_send_goods.xml | 33 +- .../main/res/layout/activity_send_succ.xml | 2 +- app/src/main/res/layout/fragment_mine.xml | 477 +++++++++--------- .../com/dahe/mylibrary/utils/TimeUtil.java | 14 + 15 files changed, 786 insertions(+), 395 deletions(-) diff --git a/app/src/main/java/com/dhsd/glowner/bean/AddressBean.kt b/app/src/main/java/com/dhsd/glowner/bean/AddressBean.kt index c7dae40..0254a42 100644 --- a/app/src/main/java/com/dhsd/glowner/bean/AddressBean.kt +++ b/app/src/main/java/com/dhsd/glowner/bean/AddressBean.kt @@ -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( "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", - "", "", "", "", "" + "", "", "", "", "", "","","", "" ) } diff --git a/app/src/main/java/com/dhsd/glowner/bean/OrderBean.kt b/app/src/main/java/com/dhsd/glowner/bean/OrderBean.kt index 9c5d4ab..807b984 100644 --- a/app/src/main/java/com/dhsd/glowner/bean/OrderBean.kt +++ b/app/src/main/java/com/dhsd/glowner/bean/OrderBean.kt @@ -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( - var total : Int, + var total : String, var rows: List ) -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 = mutableListOf(), + var goodsList:MutableList = 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, + 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 +) diff --git a/app/src/main/java/com/dhsd/glowner/bean/UserBean.kt b/app/src/main/java/com/dhsd/glowner/bean/UserBean.kt index 23242ee..57ee81b 100644 --- a/app/src/main/java/com/dhsd/glowner/bean/UserBean.kt +++ b/app/src/main/java/com/dhsd/glowner/bean/UserBean.kt @@ -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( diff --git a/app/src/main/java/com/dhsd/glowner/net/Api.kt b/app/src/main/java/com/dhsd/glowner/net/Api.kt index 362bdc9..b48333a 100644 --- a/app/src/main/java/com/dhsd/glowner/net/Api.kt +++ b/app/src/main/java/com/dhsd/glowner/net/Api.kt @@ -64,6 +64,10 @@ interface Api { fun cancelSourceOfOrder(@Body bean: TextOrder): Observable> + @GET(BASE_URL+"devApi/system/user/getInfo") + fun getUserInfo(): Observable> + + /** * 查询车辆信息列表 */ @@ -80,6 +84,15 @@ interface Api { fun dispatchVehicles(@Body bean: DispatchBean): Observable> + /** + * 新增订单 + * @param bean PostOrderBean + * @return Observable> + */ + @POST(BASE_URL + "devApi//business/shipper/order") + fun addOrder(@Body bean: PostOrderBean): Observable> + + /** * 查询车队列表 * @return Observable> diff --git a/app/src/main/java/com/dhsd/glowner/ui/address/AddressEditOrAddActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/address/AddressEditOrAddActivity.kt index 970222a..7b2f34e 100644 --- a/app/src/main/java/com/dhsd/glowner/ui/address/AddressEditOrAddActivity.kt +++ b/app/src/main/java/com/dhsd/glowner/ui/address/AddressEditOrAddActivity.kt @@ -258,7 +258,8 @@ class AddressEditOrAddActivity : BaseActivity(), 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" } } diff --git a/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/SendGoodsActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/SendGoodsActivity.kt index 1f1b1b0..73d10e0 100644 --- a/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/SendGoodsActivity.kt +++ b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/SendGoodsActivity.kt @@ -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() { + + private var postOrderBean: PostOrderBean = PostOrderBean() private lateinit var datas: MutableList private lateinit var adapter: SendGoodsAdapter + private var goodList: MutableList = mutableListOf() override fun initView(savedInstanceState: Bundle?) { setStatusBarColor(R.color.white) setTitleBar("普通装货", true) @@ -66,14 +73,48 @@ class SendGoodsActivity : BaseActivity() { 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() { val string = it.getString(AppConfig.BEAN, "") if (string.isNotEmpty()) { val addressBean = Gson().fromJson(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() { val datas = it.getStringExtra(AppConfig.DATAS) val userListType = object : TypeToken>() {}.type - val goods = Gson().fromJson>(datas, userListType) - val joinToString = goods.joinToString(separator = "\n") { innerIt -> + goodList = Gson().fromJson>(datas, userListType) + val joinToString = goodList.joinToString(separator = "\n") { innerIt -> """${innerIt.goodName},${innerIt.jttGoodsCategoryName},${ if (!TextUtils.isEmpty(innerIt.goodItemGrossWeight)) innerIt.goodItemGrossWeight + "吨" else innerIt.goodCube + "m³" }""" @@ -135,6 +191,14 @@ class SendGoodsActivity : BaseActivity() { 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() { } } } + + 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() { + override fun onSuccess(t: CommonResponseBean) { + super.onSuccess(t) + t.data.order?.let { + ActivityUtils.startActivity(mContext, SendSuccActivity::class.java,Bundle().apply { + putString(AppConfig.ID,it.orderId) + }) + finish() + } + + } + })) + } } \ No newline at end of file diff --git a/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/SendSuccActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/SendSuccActivity.kt index eac357c..5aaa051 100644 --- a/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/SendSuccActivity.kt +++ b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/SendSuccActivity.kt @@ -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() { +class SendSuccActivity : BaseActivity(), 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) + } + } + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/dhsd/glowner/ui/mine/MineFragment.kt b/app/src/main/java/com/dhsd/glowner/ui/mine/MineFragment.kt index b91785c..1beeeff 100644 --- a/app/src/main/java/com/dhsd/glowner/ui/mine/MineFragment.kt +++ b/app/src/main/java/com/dhsd/glowner/ui/mine/MineFragment.kt @@ -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(), View.OnClickListener { +class MineFragment : BaseFragment(), View.OnClickListener, RefreshCallBack { private val tools = mutableListOf( GridBean("车队管理", R.drawable.car_team), GridBean("车辆管理", R.drawable.car_manage), @@ -43,8 +53,11 @@ class MineFragment : BaseFragment(), 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(), 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(binding.smartRefresh){ + override fun onSuccess(t: CommonResponseBean) { + 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) + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceCarActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceCarActivity.kt index 9d9e288..be014ab 100644 --- a/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceCarActivity.kt +++ b/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceCarActivity.kt @@ -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(), OnLimitClick showToast(t.msg) // 设置返回结果 setResult(AppCompatActivity.RESULT_OK, Intent()) - finish() + ActivityUtils.finishToActivity(HomeActivity::class.java,false) +// finish() } })) } diff --git a/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetActivity.kt index cccc9c2..f8352ee 100644 --- a/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetActivity.kt +++ b/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetActivity.kt @@ -94,7 +94,7 @@ class ChoiceFleetActivity : BaseActivity(), OnLim DataManager.getInstance().getCaptainList() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) - .subscribe(BaseObserver(mContext, object : RxHttpCallBack>() { + .subscribe(BaseObserver(mContext, object : RxHttpCallBack>(this) { override fun onSuccess(t: CommonResponseBean>) { super.onSuccess(t) initList(t.data) diff --git a/app/src/main/res/layout/activity_goods_info.xml b/app/src/main/res/layout/activity_goods_info.xml index a5ac320..68fd1be 100644 --- a/app/src/main/res/layout/activity_goods_info.xml +++ b/app/src/main/res/layout/activity_goods_info.xml @@ -48,17 +48,16 @@ diff --git a/app/src/main/res/layout/activity_send_goods.xml b/app/src/main/res/layout/activity_send_goods.xml index b8e1d8b..69253c9 100644 --- a/app/src/main/res/layout/activity_send_goods.xml +++ b/app/src/main/res/layout/activity_send_goods.xml @@ -55,15 +55,15 @@ + android:textSize="@dimen/sp_16" + tools:text="螺纹钢,钢铁,40吨" /> + android:textSize="@dimen/sp_16" + tools:text="明天上午 06:00-12:00" /> + android:textSize="@dimen/sp_16" + tools:text="5000元" /> diff --git a/app/src/main/res/layout/activity_send_succ.xml b/app/src/main/res/layout/activity_send_succ.xml index cf44547..db02cca 100644 --- a/app/src/main/res/layout/activity_send_succ.xml +++ b/app/src/main/res/layout/activity_send_succ.xml @@ -35,7 +35,7 @@ diff --git a/app/src/main/res/layout/fragment_mine.xml b/app/src/main/res/layout/fragment_mine.xml index c3303f8..01dc447 100644 --- a/app/src/main/res/layout/fragment_mine.xml +++ b/app/src/main/res/layout/fragment_mine.xml @@ -1,285 +1,290 @@ - + android:layout_height="match_parent"> - - + android:layout_height="match_parent" + android:fillViewport="true"> - - - - - + android:layout_height="match_parent"> + + 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"> + + + + + android:orientation="vertical"> - + android:gravity="center_vertical" + android:orientation="horizontal"> + + + + + + + + + + + + - - - - - - - + android:layout_marginTop="@dimen/dp_18" + android:layout_marginRight="@dimen/dp_15" + android:background="@drawable/right" /> - + android:background="@drawable/shape_white_12" + android:padding="@dimen/sp_16"> - + - - - - - - - + + android:layout_alignParentBottom="true" + android:orientation="horizontal"> - + android:layout_weight="1" + android:gravity="center" + android:orientation="vertical"> - + + + + + - android:textColor="@color/color_9" - android:textSize="@dimen/sp_12"/> + + + + + + + + + + + - - + - - - - - - - - - - - - - - - - - - - - + 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"> + + - - - - - + - + + + 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"> + + + + + + - - + - \ No newline at end of file + \ No newline at end of file diff --git a/mylibrary/src/main/java/com/dahe/mylibrary/utils/TimeUtil.java b/mylibrary/src/main/java/com/dahe/mylibrary/utils/TimeUtil.java index 0cc51bc..be4f1b3 100644 --- a/mylibrary/src/main/java/com/dahe/mylibrary/utils/TimeUtil.java +++ b/mylibrary/src/main/java/com/dahe/mylibrary/utils/TimeUtil.java @@ -944,6 +944,20 @@ public final class TimeUtil { return millis2String(string2Millis(time, format) + timeSpan2Millis(timeSpan, unit), format); } + /** + * 获取与给定时间等于时间差的时间字符串 + *

格式为format

+ * @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); + } + /** * 获取与给定时间等于时间差的时间字符串 *

格式为yyyy-MM-dd HH:mm:ss