地址列表刷新完善
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 io.reactivex.rxjava3.core.Observable
|
||||
import retrofit2.http.Body
|
||||
import retrofit2.http.DELETE
|
||||
import retrofit2.http.GET
|
||||
import retrofit2.http.POST
|
||||
import retrofit2.http.PUT
|
||||
@ -120,6 +121,15 @@ interface Api {
|
||||
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>>>
|
||||
|
@ -7,6 +7,7 @@ import android.app.Activity
|
||||
import android.content.Intent
|
||||
import android.graphics.Color
|
||||
import android.os.Bundle
|
||||
import android.text.TextUtils
|
||||
import android.view.View
|
||||
import android.widget.LinearLayout
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
@ -59,9 +60,9 @@ class AddressEditOrAddActivity : BaseActivity<ActivityAddressEditBinding>(),
|
||||
provinceCode = inAreaCode.subSequence(0, 3).toString().plus("000")
|
||||
cityCode = inAreaCode.subSequence(0, 4).toString().plus("00")
|
||||
}
|
||||
if (addressId.isEmpty()){
|
||||
if (addressId.isEmpty()) {
|
||||
postAddressBean = inAddressBean
|
||||
}else{
|
||||
} else {
|
||||
postAddressBean?.run {
|
||||
addressDetail = inAddressBean.addressDetail
|
||||
areaCode = inAddressBean.areaCode
|
||||
@ -86,7 +87,10 @@ class AddressEditOrAddActivity : BaseActivity<ActivityAddressEditBinding>(),
|
||||
setTitleBar("地址信息", { finish() }, true, "地图选点") {
|
||||
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>(
|
||||
@ -151,7 +155,8 @@ class AddressEditOrAddActivity : BaseActivity<ActivityAddressEditBinding>(),
|
||||
}
|
||||
|
||||
override fun initDate() {
|
||||
if (addressId.isNotEmpty()) {
|
||||
|
||||
if (!addressId.isNullOrEmpty()) {
|
||||
DataManager.getInstance().getAddressDetail(addressId)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
|
@ -25,6 +25,7 @@ import com.dhsd.glowner.adapter.AddressAdapter
|
||||
import com.dhsd.glowner.bean.AddressBean
|
||||
import com.dhsd.glowner.databinding.ActivityAddressListBinding
|
||||
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.OnLimitClickListener
|
||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||
@ -37,7 +38,7 @@ import io.reactivex.rxjava3.schedulers.Schedulers
|
||||
* @Description 地址列表
|
||||
*/
|
||||
class AddressListActivity : BaseActivity<ActivityAddressListBinding>(),
|
||||
OnLimitClickListener , RefreshCallBack {
|
||||
OnLimitClickListener, RefreshCallBack {
|
||||
|
||||
private val launcher =
|
||||
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
|
||||
@ -73,13 +74,18 @@ class AddressListActivity : BaseActivity<ActivityAddressListBinding>(),
|
||||
notifyDataSetChanged()
|
||||
}
|
||||
|
||||
addOnItemChildClickListener(R.id.tvEdit){ adapter,_, position ->
|
||||
addOnItemChildClickListener(R.id.tvEdit) { adapter, _, position ->
|
||||
val addressBean = adapter.items[position]
|
||||
|
||||
launcher.launch(Intent(mContext, AddressEditOrAddActivity::class.java).apply {
|
||||
putExtras(Bundle().apply { putString(AppConfig.ID, addressBean.addressId) })
|
||||
})
|
||||
}
|
||||
|
||||
addOnItemChildClickListener(R.id.tvDel) { adapter, _, position ->
|
||||
deleteAddress(adapter.items[position])
|
||||
|
||||
}
|
||||
}
|
||||
btnOk.setOnClickListener(OnLimitClickHelper(this@AddressListActivity))
|
||||
}
|
||||
@ -90,13 +96,15 @@ class AddressListActivity : BaseActivity<ActivityAddressListBinding>(),
|
||||
DataManager.getInstance().getAddressList()
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(BaseObserver(mContext,
|
||||
object : RxHttpCallBack<OrderListBean<AddressBean>>(binding.smartRefresh) {
|
||||
override fun onSuccess(t: CommonResponseBean<OrderListBean<AddressBean>>) {
|
||||
super.onSuccess(t)
|
||||
initList(t.data.rows)
|
||||
}
|
||||
}))
|
||||
.subscribe(
|
||||
BaseObserver(mContext,
|
||||
object : RxHttpCallBack<OrderListBean<AddressBean>>(binding.smartRefresh) {
|
||||
override fun onSuccess(t: CommonResponseBean<OrderListBean<AddressBean>>) {
|
||||
super.onSuccess(t)
|
||||
initList(t.data.rows)
|
||||
}
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
override fun onClick(view: View?) {
|
||||
@ -104,13 +112,20 @@ class AddressListActivity : BaseActivity<ActivityAddressListBinding>(),
|
||||
when (view?.id) {
|
||||
R.id.btnOk -> {
|
||||
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>) {
|
||||
if (rows.isEmpty()) {
|
||||
adapter.submitList(null)
|
||||
@ -124,7 +139,20 @@ class AddressListActivity : BaseActivity<ActivityAddressListBinding>(),
|
||||
}
|
||||
}
|
||||
|
||||
override fun getRefreshDate(stat: Int, page: Int, count: Int) {
|
||||
initDate()
|
||||
private fun deleteAddress(data: AddressBean) {
|
||||
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" />
|
||||
</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
|
||||
android:layout_width="@dimen/dp_1"
|
||||
android:layout_height="@dimen/dp_42"
|
||||
|
Loading…
Reference in New Issue
Block a user