地址列表刷新完善
This commit is contained in:
parent
9ab96216c3
commit
56c784466c
@ -8,6 +8,7 @@ import com.dhsd.glowner.bean.LoginBean
|
|||||||
import com.dhsd.glowner.bean.PostAddressBean
|
import com.dhsd.glowner.bean.PostAddressBean
|
||||||
import io.reactivex.rxjava3.core.Observable
|
import io.reactivex.rxjava3.core.Observable
|
||||||
import retrofit2.http.Body
|
import retrofit2.http.Body
|
||||||
|
import retrofit2.http.DELETE
|
||||||
import retrofit2.http.GET
|
import retrofit2.http.GET
|
||||||
import retrofit2.http.POST
|
import retrofit2.http.POST
|
||||||
import retrofit2.http.PUT
|
import retrofit2.http.PUT
|
||||||
@ -120,6 +121,15 @@ interface Api {
|
|||||||
fun updateAddress(@Body bean: PostAddressBean): Observable<CommonResponseBean<Any>>
|
fun updateAddress(@Body bean: PostAddressBean): Observable<CommonResponseBean<Any>>
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除货主常用地址
|
||||||
|
* @param addressIds String
|
||||||
|
* @return Observable<CommonResponseBean<Any>>
|
||||||
|
*/
|
||||||
|
@DELETE(BASE_URL+"devApi/business/shipper/common/address/{addressIds}")
|
||||||
|
fun deleteAddress(@Path("addressIds") addressIds:String): Observable<CommonResponseBean<Any>>
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取地址列表
|
* 获取地址列表
|
||||||
* @return Observable<CommonResponseBean<OrderListBean<AddressBean>>>
|
* @return Observable<CommonResponseBean<OrderListBean<AddressBean>>>
|
||||||
|
@ -7,6 +7,7 @@ import android.app.Activity
|
|||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.text.TextUtils
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.widget.LinearLayout
|
import android.widget.LinearLayout
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
@ -59,9 +60,9 @@ class AddressEditOrAddActivity : BaseActivity<ActivityAddressEditBinding>(),
|
|||||||
provinceCode = inAreaCode.subSequence(0, 3).toString().plus("000")
|
provinceCode = inAreaCode.subSequence(0, 3).toString().plus("000")
|
||||||
cityCode = inAreaCode.subSequence(0, 4).toString().plus("00")
|
cityCode = inAreaCode.subSequence(0, 4).toString().plus("00")
|
||||||
}
|
}
|
||||||
if (addressId.isEmpty()){
|
if (addressId.isEmpty()) {
|
||||||
postAddressBean = inAddressBean
|
postAddressBean = inAddressBean
|
||||||
}else{
|
} else {
|
||||||
postAddressBean?.run {
|
postAddressBean?.run {
|
||||||
addressDetail = inAddressBean.addressDetail
|
addressDetail = inAddressBean.addressDetail
|
||||||
areaCode = inAddressBean.areaCode
|
areaCode = inAddressBean.areaCode
|
||||||
@ -86,7 +87,10 @@ class AddressEditOrAddActivity : BaseActivity<ActivityAddressEditBinding>(),
|
|||||||
setTitleBar("地址信息", { finish() }, true, "地图选点") {
|
setTitleBar("地址信息", { finish() }, true, "地图选点") {
|
||||||
launcher.launch(Intent(mContext, ChoiceAddressByMapActivity::class.java))
|
launcher.launch(Intent(mContext, ChoiceAddressByMapActivity::class.java))
|
||||||
}
|
}
|
||||||
addressId = intent.extras?.getString(AppConfig.ID, "").toString()
|
|
||||||
|
intent.extras?.let {
|
||||||
|
addressId = it.getString(AppConfig.ID,"")
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
var datas = mutableListOf<WayBillBean>(
|
var datas = mutableListOf<WayBillBean>(
|
||||||
@ -151,7 +155,8 @@ class AddressEditOrAddActivity : BaseActivity<ActivityAddressEditBinding>(),
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun initDate() {
|
override fun initDate() {
|
||||||
if (addressId.isNotEmpty()) {
|
|
||||||
|
if (!addressId.isNullOrEmpty()) {
|
||||||
DataManager.getInstance().getAddressDetail(addressId)
|
DataManager.getInstance().getAddressDetail(addressId)
|
||||||
.subscribeOn(Schedulers.io())
|
.subscribeOn(Schedulers.io())
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
@ -25,6 +25,7 @@ import com.dhsd.glowner.adapter.AddressAdapter
|
|||||||
import com.dhsd.glowner.bean.AddressBean
|
import com.dhsd.glowner.bean.AddressBean
|
||||||
import com.dhsd.glowner.databinding.ActivityAddressListBinding
|
import com.dhsd.glowner.databinding.ActivityAddressListBinding
|
||||||
import com.dhsd.glowner.ui.mine.activity.ChoiceCarActivity
|
import com.dhsd.glowner.ui.mine.activity.ChoiceCarActivity
|
||||||
|
import com.dhsd.glowner.utils.CommonPopUtils
|
||||||
import com.dhsd.glowner.utils.OnLimitClickHelper
|
import com.dhsd.glowner.utils.OnLimitClickHelper
|
||||||
import com.dhsd.glowner.utils.OnLimitClickListener
|
import com.dhsd.glowner.utils.OnLimitClickListener
|
||||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||||
@ -37,7 +38,7 @@ import io.reactivex.rxjava3.schedulers.Schedulers
|
|||||||
* @Description 地址列表
|
* @Description 地址列表
|
||||||
*/
|
*/
|
||||||
class AddressListActivity : BaseActivity<ActivityAddressListBinding>(),
|
class AddressListActivity : BaseActivity<ActivityAddressListBinding>(),
|
||||||
OnLimitClickListener , RefreshCallBack {
|
OnLimitClickListener, RefreshCallBack {
|
||||||
|
|
||||||
private val launcher =
|
private val launcher =
|
||||||
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
|
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
|
||||||
@ -73,13 +74,18 @@ class AddressListActivity : BaseActivity<ActivityAddressListBinding>(),
|
|||||||
notifyDataSetChanged()
|
notifyDataSetChanged()
|
||||||
}
|
}
|
||||||
|
|
||||||
addOnItemChildClickListener(R.id.tvEdit){ adapter,_, position ->
|
addOnItemChildClickListener(R.id.tvEdit) { adapter, _, position ->
|
||||||
val addressBean = adapter.items[position]
|
val addressBean = adapter.items[position]
|
||||||
|
|
||||||
launcher.launch(Intent(mContext, AddressEditOrAddActivity::class.java).apply {
|
launcher.launch(Intent(mContext, AddressEditOrAddActivity::class.java).apply {
|
||||||
putExtras(Bundle().apply { putString(AppConfig.ID, addressBean.addressId) })
|
putExtras(Bundle().apply { putString(AppConfig.ID, addressBean.addressId) })
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
addOnItemChildClickListener(R.id.tvDel) { adapter, _, position ->
|
||||||
|
deleteAddress(adapter.items[position])
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
btnOk.setOnClickListener(OnLimitClickHelper(this@AddressListActivity))
|
btnOk.setOnClickListener(OnLimitClickHelper(this@AddressListActivity))
|
||||||
}
|
}
|
||||||
@ -90,13 +96,15 @@ class AddressListActivity : BaseActivity<ActivityAddressListBinding>(),
|
|||||||
DataManager.getInstance().getAddressList()
|
DataManager.getInstance().getAddressList()
|
||||||
.subscribeOn(Schedulers.io())
|
.subscribeOn(Schedulers.io())
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe(BaseObserver(mContext,
|
.subscribe(
|
||||||
object : RxHttpCallBack<OrderListBean<AddressBean>>(binding.smartRefresh) {
|
BaseObserver(mContext,
|
||||||
override fun onSuccess(t: CommonResponseBean<OrderListBean<AddressBean>>) {
|
object : RxHttpCallBack<OrderListBean<AddressBean>>(binding.smartRefresh) {
|
||||||
super.onSuccess(t)
|
override fun onSuccess(t: CommonResponseBean<OrderListBean<AddressBean>>) {
|
||||||
initList(t.data.rows)
|
super.onSuccess(t)
|
||||||
}
|
initList(t.data.rows)
|
||||||
}))
|
}
|
||||||
|
})
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onClick(view: View?) {
|
override fun onClick(view: View?) {
|
||||||
@ -104,13 +112,20 @@ class AddressListActivity : BaseActivity<ActivityAddressListBinding>(),
|
|||||||
when (view?.id) {
|
when (view?.id) {
|
||||||
R.id.btnOk -> {
|
R.id.btnOk -> {
|
||||||
launcher.launch(Intent(mContext, AddressEditOrAddActivity::class.java))
|
launcher.launch(Intent(mContext, AddressEditOrAddActivity::class.java))
|
||||||
// ActivityUtils.startActivity(mContext,AddressEditOrAddActivity::class.java,Bundle().apply {
|
|
||||||
// putBoolean(AppConfig.IS_ADD,true)
|
|
||||||
// })
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
override fun getRefreshDate(stat: Int, page: Int, count: Int) {
|
||||||
|
if (stat == 2) {
|
||||||
|
binding.smartRefresh.finishLoadMoreWithNoMoreData()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
initDate()
|
||||||
|
}
|
||||||
|
|
||||||
private fun initList(rows: List<AddressBean>) {
|
private fun initList(rows: List<AddressBean>) {
|
||||||
if (rows.isEmpty()) {
|
if (rows.isEmpty()) {
|
||||||
adapter.submitList(null)
|
adapter.submitList(null)
|
||||||
@ -124,7 +139,20 @@ class AddressListActivity : BaseActivity<ActivityAddressListBinding>(),
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getRefreshDate(stat: Int, page: Int, count: Int) {
|
private fun deleteAddress(data: AddressBean) {
|
||||||
initDate()
|
CommonPopUtils.getInstance()
|
||||||
|
.showCommCenterPop(mContext, content = """确定删除 ${data.contactPerson} 的地址吗?""") {
|
||||||
|
DataManager.getInstance().deleteAddress(data.addressId)
|
||||||
|
.subscribeOn(Schedulers.io())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
.subscribe(BaseObserver(mContext, object : RxHttpCallBack<Any>() {
|
||||||
|
override fun onSuccess(t: CommonResponseBean<Any>) {
|
||||||
|
super.onSuccess(t)
|
||||||
|
binding.smartRefresh.autoRefresh()
|
||||||
|
initDate()
|
||||||
|
}
|
||||||
|
}))
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -42,6 +42,18 @@
|
|||||||
android:textSize="@dimen/sp_14" />
|
android:textSize="@dimen/sp_14" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tvDel"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:gravity="center"
|
||||||
|
android:paddingLeft="@dimen/dp_6"
|
||||||
|
android:paddingRight="@dimen/dp_6"
|
||||||
|
android:text="删除"
|
||||||
|
android:textColor="@color/main_red"
|
||||||
|
android:textSize="@dimen/sp_14" />
|
||||||
<View
|
<View
|
||||||
android:layout_width="@dimen/dp_1"
|
android:layout_width="@dimen/dp_1"
|
||||||
android:layout_height="@dimen/dp_42"
|
android:layout_height="@dimen/dp_42"
|
||||||
|
Loading…
Reference in New Issue
Block a user