From 4adbd239e752a1358f4154a8e6b882ce090bc087 Mon Sep 17 00:00:00 2001 From: lijia Date: Fri, 1 Nov 2024 17:06:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B8=B8=E7=94=A8=E8=B4=A7=E7=89=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 6 ++ .../com/dhsd/glowner/adapter/GoodsAdapter.kt | 34 ++++++++ .../java/com/dhsd/glowner/bean/GoodBean.kt | 17 ++++ app/src/main/java/com/dhsd/glowner/net/Api.kt | 9 +++ .../ui/home/activtiy/GoodsListActivity.kt | 80 +++++++++++++++++++ .../ui/home/activtiy/SendGoodsActivity.kt | 3 +- .../main/res/layout/activity_goods_list.xml | 48 +++++++++++ app/src/main/res/layout/item_good.xml | 77 ++++++++++++++++++ 8 files changed, 273 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/com/dhsd/glowner/adapter/GoodsAdapter.kt create mode 100644 app/src/main/java/com/dhsd/glowner/bean/GoodBean.kt create mode 100644 app/src/main/java/com/dhsd/glowner/ui/home/activtiy/GoodsListActivity.kt create mode 100644 app/src/main/res/layout/activity_goods_list.xml create mode 100644 app/src/main/res/layout/item_good.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 967a2c6..7f69397 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ android:value="203d8b896f30ce1e7dd55d7c4a62c362" /> + + () { + override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: GoodBean?) { + item?.let { + holder.run { + setText(R.id.tvAddress, it.goodName) + setText(R.id.tvName, it.goodsPropertyTypeCode) + + } + } + } + + override fun onCreateViewHolder( + context: Context, + parent: ViewGroup, + viewType: Int + ): QuickViewHolder { + return QuickViewHolder(R.layout.item_good,parent) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/dhsd/glowner/bean/GoodBean.kt b/app/src/main/java/com/dhsd/glowner/bean/GoodBean.kt new file mode 100644 index 0000000..69038bd --- /dev/null +++ b/app/src/main/java/com/dhsd/glowner/bean/GoodBean.kt @@ -0,0 +1,17 @@ +package com.dhsd.glowner.bean + +data class GoodBean( + val cargoTypeClassificationCode: String, + val commonGoodsId: Int, + val createBy: String, + val createTime: String, + val goodName: String, + val goodsPropertyTypeCode: String, + val isDeleted: String, + val packName: String, + val remark: String, + val shipperId: Int, + val sortValue: String, + val updateBy: String, + val updateTime: String +) \ No newline at end of file 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 718c6b0..fa2a9a4 100644 --- a/app/src/main/java/com/dhsd/glowner/net/Api.kt +++ b/app/src/main/java/com/dhsd/glowner/net/Api.kt @@ -5,6 +5,7 @@ import com.dhsd.glowner.bean.AddressBean import com.dhsd.glowner.bean.CaptainBean import com.dhsd.glowner.bean.CarBean import com.dhsd.glowner.bean.DictBean +import com.dhsd.glowner.bean.GoodBean import com.dhsd.glowner.bean.GoodTypeBean import com.dhsd.glowner.bean.LoginBean import com.dhsd.glowner.bean.PostAddressBean @@ -131,6 +132,14 @@ interface Api { fun deleteAddress(@Path("addressIds") addressIds: String): Observable> + /** + * 获取货主常用货物类型列表 + * @return Observable>> + */ + @GET(BASE_URL + "devApi//business/shipper/common/goods/list") + fun getGoodsList(): Observable>> + + /** * 获取地址列表 * @return Observable>> diff --git a/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/GoodsListActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/GoodsListActivity.kt new file mode 100644 index 0000000..98fb42d --- /dev/null +++ b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/GoodsListActivity.kt @@ -0,0 +1,80 @@ +package com.dhsd.glowner.ui.home.activtiy + +import BaseObserver +import DataManager +import RxHttpCallBack +import android.graphics.Color +import android.os.Bundle +import android.widget.LinearLayout +import androidx.recyclerview.widget.LinearLayoutManager +import com.dahe.glex.bean.OrderListBean +import com.dahe.mylibrary.base.BaseActivity +import com.dahe.mylibrary.callback.RefreshCallBack +import com.dahe.mylibrary.net.CommonResponseBean +import com.dahe.mylibrary.recycleviewswipe.RecycleViewDivider +import com.dahe.mylibrary.utils.ConvertUtils +import com.dhsd.glowner.R +import com.dhsd.glowner.adapter.GoodsAdapter +import com.dhsd.glowner.bean.AddressBean +import com.dhsd.glowner.bean.GoodBean +import com.dhsd.glowner.databinding.ActivityGoodsListBinding +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers +import io.reactivex.rxjava3.schedulers.Schedulers + +/** + * @ClassName GoodsListActivity + * @Author john + * @Date 2024/11/1 16:36 + * @Description 常用货物 + */ +class GoodsListActivity : BaseActivity(), RefreshCallBack { + lateinit var adapter: GoodsAdapter + override fun initView(savedInstanceState: Bundle?) { + setStatusBarColor(R.color.white) + setTitleBar("货物列表",true) + binding.run { + setRefresh(smartRefresh,this@GoodsListActivity) + adapter = recycler.run { + layoutManager = LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false) + addItemDecoration(RecycleViewDivider(LinearLayout.VERTICAL, ConvertUtils.dp2px(10.0f), Color.TRANSPARENT)) + adapter = GoodsAdapter() + adapter as GoodsAdapter + }.apply { + isStateViewEnable = true + } + } + + } + + override fun initDate() { + DataManager.getInstance().getGoodsList() + .subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()) + .subscribe(BaseObserver(mContext,object : RxHttpCallBack>(){ + override fun onSuccess(t: CommonResponseBean>) { + super.onSuccess(t) + initList(t.data.rows) + } + })) + } + + override fun getRefreshDate(stat: Int, page: Int, count: Int) { + if (stat == 2){ + binding.smartRefresh.finishLoadMoreWithNoMoreData() + return + } + initDate() + } + + private fun initList(rows: List) { + if (rows.isEmpty()) { + adapter.submitList(null) + adapter.setStateViewLayout(mContext, R.layout.empty_view) + } else { + if (mRefreshPage === 1) { + adapter?.submitList(rows) + } else { + adapter?.addAll(rows) + } + } + } +} \ No newline at end of file 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 358fa1e..9696075 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 @@ -62,13 +62,14 @@ class SendGoodsActivity : BaseActivity() { addItemDecoration( RecycleViewDivider( LinearLayout.VERTICAL, - ConvertUtils.dp2px(14.0f), + ConvertUtils.dp2px(10.0f), Color.TRANSPARENT ) ) adapter = SendGoodsAdapter() adapter as SendGoodsAdapter }.apply { + isStateViewEnable = true setOnItemClickListener { adapter, view, position -> ActivityUtils.startActivityForResult( this@SendGoodsActivity, diff --git a/app/src/main/res/layout/activity_goods_list.xml b/app/src/main/res/layout/activity_goods_list.xml new file mode 100644 index 0000000..95927e4 --- /dev/null +++ b/app/src/main/res/layout/activity_goods_list.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_good.xml b/app/src/main/res/layout/item_good.xml new file mode 100644 index 0000000..e3c1fcf --- /dev/null +++ b/app/src/main/res/layout/item_good.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file