diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
index 0c0c338..5ef8039 100644
--- a/.idea/deploymentTargetDropDown.xml
+++ b/.idea/deploymentTargetDropDown.xml
@@ -3,7 +3,20 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7f69397..b467e84 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -127,6 +127,11 @@
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
+
(){
+
+ override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: GoodBean?) {
+ val recyBz = holder.getView(recycler)
+ recyBz.run {
+ layoutManager =
+ FullyGridLayoutManager(context, 3, GridLayoutManager.VERTICAL, false)
+ addItemDecoration(
+ GridSpacingItemDecoration(
+ 3,
+ DensityUtil.dip2px(context, 8f), false
+ )
+ )
+ adapter = PackingTypeAdapter2(item!!.goodBz)
+ adapter as PackingTypeAdapter2
+ }.apply {
+ setOnItemClickListener{adapter ,_, position ->
+ val itemBz = adapter.items
+ val indexOfFirst = itemBz.indexOfFirst { it.isCheck }
+ if (indexOfFirst>-1){
+ if (indexOfFirst==position){
+ itemBz[position].isCheck = !itemBz[position].isCheck
+ }else{
+ itemBz[indexOfFirst].isCheck = false
+ itemBz[position].isCheck = true
+ }
+ }else{
+ itemBz[position].isCheck = !itemBz[position].isCheck
+ }
+ adapter.notifyDataSetChanged()
+
+// if (indexOfFirst > -1 && indexOfFirst != position) {
+// itemBz[indexOfFirst].isCheck = false
+// itemBz[position].isCheck = !itemBz[position].isCheck
+// notifyItemChanged(indexOfFirst)
+// notifyItemChanged(position)
+// } else {
+// itemBz[position].isCheck = !itemBz[position].isCheck
+// notifyItemChanged(position)
+// }
+ }
+
+ }
+ item?.let {
+
+ }
+ }
+
+ override fun onCreateViewHolder(
+ context: Context,
+ parent: ViewGroup,
+ viewType: Int
+ ): QuickViewHolder {
+ return QuickViewHolder(R.layout.item_add_good, parent)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/dhsd/glowner/adapter/GoodsAdapter.kt b/app/src/main/java/com/dhsd/glowner/adapter/GoodsAdapter.kt
index eb732ef..724eb1b 100644
--- a/app/src/main/java/com/dhsd/glowner/adapter/GoodsAdapter.kt
+++ b/app/src/main/java/com/dhsd/glowner/adapter/GoodsAdapter.kt
@@ -18,7 +18,7 @@ class GoodsAdapter : BaseQuickAdapter() {
item?.let {
holder.run {
setText(R.id.tvAddress, it.goodName)
- setText(R.id.tvName, it.goodsPropertyTypeCode)
+ setText(R.id.tvName, """${it.jttGoodsCategoryName} ${it.packName}""")
}
}
diff --git a/app/src/main/java/com/dhsd/glowner/adapter/PackingTypeAdapter2.kt b/app/src/main/java/com/dhsd/glowner/adapter/PackingTypeAdapter2.kt
new file mode 100644
index 0000000..311daac
--- /dev/null
+++ b/app/src/main/java/com/dhsd/glowner/adapter/PackingTypeAdapter2.kt
@@ -0,0 +1,36 @@
+package com.dhsd.glowner.adapter
+
+import android.content.Context
+import android.view.ViewGroup
+import android.widget.RadioButton
+import android.widget.TextView
+import com.chad.library.adapter4.BaseQuickAdapter
+import com.chad.library.adapter4.QuickAdapterHelper
+import com.chad.library.adapter4.viewholder.QuickViewHolder
+import com.dahe.glex.bean.WayBillBean
+import com.dhsd.glowner.R
+import com.dhsd.glowner.bean.DictBean
+import com.dhsd.glowner.bean.PackTypeBean
+
+/**
+ * @ClassName PackingTypeAdapter
+ * @Author john
+ * @Date 2024/2/4 14:49
+ * @Description TODO
+ */
+class PackingTypeAdapter2(datas:MutableList) : BaseQuickAdapter() {
+ init {
+ items = datas
+ }
+ override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: DictBean?) {
+ holder.getView(R.id.rbWord).isSelected = item?.isCheck == true
+// holder.getView(R.id.rbWord).isChecked = item?.isCheck == true
+ holder.setText(R.id.rbWord,item?.dictValue)
+ }
+
+ override fun onCreateViewHolder(
+ context: Context,
+ parent: ViewGroup,
+ viewType: Int
+ ) = QuickViewHolder(R.layout.item_packing_type,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
index 69038bd..6e28b23 100644
--- a/app/src/main/java/com/dhsd/glowner/bean/GoodBean.kt
+++ b/app/src/main/java/com/dhsd/glowner/bean/GoodBean.kt
@@ -1,17 +1,25 @@
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
+ var cargoTypeClassificationCode: String,
+ var commonGoodsId: String,
+ var createBy: String,
+ var createTime: String,
+ var goodName: String,
+ var goodsPropertyTypeCode: String,
+ var jttGoodsCategoryName: String,
+ var alctGoodsCategoryCode: String,
+ var isDeleted: String,
+ var packName: String,
+ var remark: String,
+ var shipperId: String,
+ var sortValue: String,
+ var updateBy: String,
+ var updateTime: String,
+ var goodCube: String,//货物体积
+ var goodItemGrossWeight: String,//货物重量(吨)
+ var goodPrice: String,//货物价值
+ var goodBz:MutableList
+){
+ constructor():this("","","","","","","","","","","","","","","","","","", mutableListOf())
+}
\ 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 fa2a9a4..362bdc9 100644
--- a/app/src/main/java/com/dhsd/glowner/net/Api.kt
+++ b/app/src/main/java/com/dhsd/glowner/net/Api.kt
@@ -136,7 +136,7 @@ interface Api {
* 获取货主常用货物类型列表
* @return Observable>>
*/
- @GET(BASE_URL + "devApi//business/shipper/common/goods/list")
+ @GET(BASE_URL + "devApi/business/shipper/common/goods/list")
fun getGoodsList(): Observable>>
diff --git a/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/GoodsInfoActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/GoodsInfoActivity.kt
index a626410..c7664bc 100644
--- a/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/GoodsInfoActivity.kt
+++ b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/GoodsInfoActivity.kt
@@ -3,10 +3,13 @@ package com.dhsd.glowner.ui.home.activtiy
import BaseObserver
import DataManager
import RxHttpCallBack
+import android.content.Intent
import android.os.Bundle
+import android.text.TextUtils
import android.view.View
import android.view.View.OnClickListener
import androidx.recyclerview.widget.GridLayoutManager
+import com.dahe.gldriver.base.AppConfig
import com.dahe.mylibrary.base.BaseActivity
import com.dahe.mylibrary.net.CommonResponseBean
import com.dahe.mylibrary.utils.PickerUtils
@@ -15,12 +18,14 @@ import com.dhsd.glowner.R
import com.dhsd.glowner.adapter.PackingTypeAdapter
import com.dhsd.glowner.bean.AddressBean
import com.dhsd.glowner.bean.DictBean
+import com.dhsd.glowner.bean.GoodBean
import com.dhsd.glowner.bean.GoodTypeBean
import com.dhsd.glowner.bean.PackTypeBean
import com.dhsd.glowner.databinding.ActivityGoodsInfoBinding
import com.dhsd.glowner.utils.OnLimitClickHelper
import com.dhsd.glowner.utils.OnLimitClickListener
import com.github.gzuliyujiang.wheelpicker.contract.OnOptionPickedListener
+import com.google.gson.Gson
import com.luck.picture.lib.decoration.GridSpacingItemDecoration
import com.luck.picture.lib.utils.DensityUtil
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
@@ -33,11 +38,15 @@ import io.reactivex.rxjava3.schedulers.Schedulers
* @Description 货物信息
*/
class GoodsInfoActivity : BaseActivity(),
- OnLimitClickListener ,OnClickListener{
+ OnLimitClickListener, OnClickListener {
private var unitType = 1 //1:重量,2:体积
lateinit var adapter: PackingTypeAdapter
+
+ private lateinit var currGoodTypeBean: GoodTypeBean
+
+ lateinit var preBean: GoodBean
override fun initView(savedInstanceState: Bundle?) {
setStatusBarColor(R.color.white)
setTitleBar("货物信息", true)
@@ -73,14 +82,38 @@ class GoodsInfoActivity : BaseActivity(),
}
}
+
+ tvGoodType.setOnClickListener(OnLimitClickHelper(this@GoodsInfoActivity))
+ btnRight.setOnClickListener(OnLimitClickHelper(this@GoodsInfoActivity))
+ tvChange.setOnClickListener(this@GoodsInfoActivity)
+ }
+ intent.extras?.run {
+ val string = getString(AppConfig.BEAN)
+ preBean = Gson().fromJson(string, GoodBean::class.java)
+ binding?.run {
+ tvGood.setText(preBean.goodName)
+ tvGoodType.text = preBean.jttGoodsCategoryName
+ etMoney.setText(preBean.goodPrice)
+ if (!TextUtils.isEmpty(preBean.goodItemGrossWeight)) {
+ unitType = 1
+ etWeight.setText(preBean.goodItemGrossWeight)
+ etWeight.hint = "请填写总重量(吨)"
+ tvUnit.text = "重量(吨)"
+ } else if (!TextUtils.isEmpty(preBean.goodCube)) {
+ unitType = 2
+ etWeight.setText(preBean.goodCube)
+ etWeight.hint = "请填写总体积(m³)"
+ binding.tvUnit.text = "体积(m³)"
+ }
+
+ adapter.items.find { it.dictValue == preBean.packName }?.let {
+ it.isCheck = true
+ adapter.notifyDataSetChanged()
+ }
+
+ }
}
- binding.run {
- tvGood.setOnClickListener(OnLimitClickHelper(this@GoodsInfoActivity))
- tvGoodType.setOnClickListener(OnLimitClickHelper(this@GoodsInfoActivity))
- tvChange.setOnClickListener(this@GoodsInfoActivity)
-// tvChange.setOnClickListener(OnLimitClickHelper(this@GoodsInfoActivity))
- }
}
override fun initDate() {
@@ -89,6 +122,10 @@ class GoodsInfoActivity : BaseActivity(),
.subscribe(BaseObserver(mContext, object : RxHttpCallBack>() {
override fun onSuccess(t: CommonResponseBean>) {
super.onSuccess(t)
+ if (::preBean.isInitialized) {
+ val packName = preBean.packName
+ t.data.find { it.dictValue == packName }?.isCheck = true
+ }
initList(t.data)
}
}))
@@ -97,13 +134,17 @@ class GoodsInfoActivity : BaseActivity(),
override fun onClick(view: View?) {
super.onClick(view)
when (view?.id) {
+ R.id.btnRight -> {
+ submit()
+ }
+
R.id.tvGood -> {
- var datas = mutableListOf("螺纹钢", "螺纹钢1", "螺纹钢2")
- PickerUtils.getInstance().showSingleSelect(
- this, "请选择货物", datas
- ) { position, item ->
- showToast(item as String)
- }
+// var datas = mutableListOf("螺纹钢", "螺纹钢1", "螺纹钢2")
+// PickerUtils.getInstance().showSingleSelect(
+// this, "请选择货物", datas
+// ) { position, item ->
+// showToast(item as String)
+// }
}
R.id.tvGoodType -> {
@@ -140,7 +181,7 @@ class GoodsInfoActivity : BaseActivity(),
this@GoodsInfoActivity, "请选择货物类型",
"", t.data
) { position, item ->
- item as GoodTypeBean
+ currGoodTypeBean = item as GoodTypeBean
binding.tvGoodType.text = item.jttGoodsCategoryName
}
}
@@ -168,4 +209,52 @@ class GoodsInfoActivity : BaseActivity(),
}
}
+
+ private fun submit() {
+ binding.run {
+
+ if (tvGood.text.isEmpty() || tvGoodType.text.isEmpty() || etWeight.text.isEmpty()) {
+ showToast("请完善货物信息")
+ return
+ }
+
+ if (!::preBean.isInitialized) {
+ if (!::currGoodTypeBean.isInitialized) {
+ showToast("请选择货物类型")
+ return
+ }
+ }
+
+
+ val adapterBz = adapter.items.filter { it.isCheck }
+ if (adapterBz.isEmpty()) {
+ showToast("请选包装方式")
+ return
+ }
+
+
+ val goodBean = GoodBean().apply {
+ goodName = tvGood.text.toString().trim()
+ cargoTypeClassificationCode =
+ if (::preBean.isInitialized && !::currGoodTypeBean.isInitialized) preBean.cargoTypeClassificationCode else currGoodTypeBean.jttGoodsCategoryCode.toString()
+ goodsPropertyTypeCode =
+ if (::preBean.isInitialized && !::currGoodTypeBean.isInitialized) preBean.alctGoodsCategoryCode else currGoodTypeBean.alctGoodsCategoryCode.toString()
+ jttGoodsCategoryName = tvGoodType.text.toString()
+ packName = adapterBz.find { it.isCheck }!!.dictValue
+ goodPrice = etMoney.text.toString().trim()
+ if (unitType == 1) {
+ goodItemGrossWeight = etWeight.text.toString()
+ } else {
+ goodCube = etWeight.text.toString()
+ }
+ }
+
+ setResult(RESULT_OK, Intent().apply {
+ putExtra(AppConfig.BEAN, Gson().toJson(goodBean))
+ })
+ finish()
+ }
+
+ }
+
}
\ No newline at end of file
diff --git a/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/GoodsInfoListActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/GoodsInfoListActivity.kt
new file mode 100644
index 0000000..87a6503
--- /dev/null
+++ b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/GoodsInfoListActivity.kt
@@ -0,0 +1,190 @@
+package com.dhsd.glowner.ui.home.activtiy
+
+import BaseObserver
+import DataManager
+import Good
+import RxHttpCallBack
+import android.content.Intent
+import android.graphics.Color
+import android.os.Bundle
+import android.view.View
+import android.view.View.OnClickListener
+import android.widget.LinearLayout
+import androidx.activity.result.contract.ActivityResultContracts
+import androidx.appcompat.app.AppCompatActivity
+import androidx.recyclerview.widget.GridLayoutManager
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.dahe.gldriver.base.AppConfig
+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.weight.FullyGridLayoutManager
+import com.dhsd.glowner.R
+import com.dhsd.glowner.adapter.GoodListAdapter
+import com.dhsd.glowner.adapter.GoodsAdapter
+import com.dhsd.glowner.adapter.PackingTypeAdapter
+import com.dhsd.glowner.bean.AddressBean
+import com.dhsd.glowner.bean.DictBean
+import com.dhsd.glowner.bean.GoodBean
+import com.dhsd.glowner.bean.GoodTypeBean
+import com.dhsd.glowner.bean.PackTypeBean
+import com.dhsd.glowner.databinding.ActivityGoodsInfoBinding
+import com.dhsd.glowner.databinding.ActivityGoodsInfoListBinding
+import com.dhsd.glowner.utils.OnLimitClickHelper
+import com.dhsd.glowner.utils.OnLimitClickListener
+import com.github.gzuliyujiang.wheelpicker.contract.OnOptionPickedListener
+import com.google.gson.Gson
+import com.luck.picture.lib.decoration.GridSpacingItemDecoration
+import com.luck.picture.lib.utils.DensityUtil
+import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
+import io.reactivex.rxjava3.schedulers.Schedulers
+
+/**
+ * @ClassName GoodsInfoActivity
+ * @Author john
+ * @Date 2024/2/4 11:09
+ * @Description 新增货物信息列表
+ */
+class GoodsInfoListActivity : BaseActivity(),
+ OnLimitClickListener, OnClickListener {
+ private var editPosition: Int = -1
+
+// private val launcher =
+// registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
+// if (result.resultCode == AppCompatActivity.RESULT_OK) {
+// result.data?.let {
+// val serializableExtra = it.getSerializableExtra(AppConfig.BEAN)
+// Gson().fromJson()
+// }
+// }
+// }
+
+ lateinit var adapter: GoodsAdapter
+
+ override fun initView(savedInstanceState: Bundle?) {
+ setStatusBarColor(R.color.white)
+ setTitleBar("货物信息", { finish() }, true, "常用货物") {
+// launcher.launch(Intent(mContext,GoodsListActivity::class.java))
+ }
+
+
+ binding.run {
+ 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
+ submitList(null)
+ setStateViewLayout(mContext, R.layout.empty_view)
+ addOnItemChildClickListener(R.id.tvDel) { adapter, _, position ->
+ adapter.removeAt(position)
+ }
+
+ addOnItemChildClickListener(R.id.tvEdit) { adapter, _, position ->
+ val goodBean = adapter.items[position]
+ editPosition = position
+ ActivityUtils.startActivityForResult(
+ this@GoodsInfoListActivity,
+ GoodsInfoActivity::class.java,
+ Bundle().apply {
+ putString(AppConfig.BEAN, Gson().toJson(goodBean))
+ },
+ 1
+ )
+ }
+ }
+
+ btnLeft.setOnClickListener(OnLimitClickHelper(this@GoodsInfoListActivity))
+ }
+
+
+ }
+
+ override fun initDate() {
+
+ }
+
+ override fun onClick(view: View?) {
+ super.onClick(view)
+ when (view?.id) {
+ R.id.tvGood -> {
+ var datas = mutableListOf("螺纹钢", "螺纹钢1", "螺纹钢2")
+ PickerUtils.getInstance().showSingleSelect(
+ this, "请选择货物", datas
+ ) { position, item ->
+ showToast(item as String)
+ }
+ }
+
+ R.id.tvGoodType -> {
+
+ }
+
+ R.id.tvChange -> {
+
+ }
+
+ R.id.btnLeft -> {
+ //新增货物需要初始化编辑货物标志
+ editPosition = -1
+ ActivityUtils.startActivityForResult(
+ this@GoodsInfoListActivity,
+ GoodsInfoActivity::class.java,
+ 1
+ )
+ }
+ }
+ }
+
+ override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+ super.onActivityResult(requestCode, resultCode, data)
+ if (resultCode == RESULT_OK) {
+ when (requestCode) {
+ 1 -> {
+ val serializableExtra = data?.getStringExtra(AppConfig.BEAN)
+ if (serializableExtra != null) {
+ val goodBean = Gson().fromJson(serializableExtra, GoodBean::class.java)
+ val items = adapter.items
+ if (items.isEmpty()) {
+ adapter.submitList(mutableListOf(goodBean))
+ } else {
+ if (editPosition != -1) {
+ adapter[editPosition] = goodBean
+ } else {
+ adapter.add(goodBean)
+ }
+
+ }
+// adapter.notifyDataSetChanged()
+ }
+ }
+ }
+ }
+ }
+
+ 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/GoodsInfoListActivityBack.kt b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/GoodsInfoListActivityBack.kt
new file mode 100644
index 0000000..b67260d
--- /dev/null
+++ b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/GoodsInfoListActivityBack.kt
@@ -0,0 +1,160 @@
+package com.dhsd.glowner.ui.home.activtiy
+
+import BaseObserver
+import DataManager
+import Good
+import RxHttpCallBack
+import android.graphics.Color
+import android.os.Bundle
+import android.view.View
+import android.view.View.OnClickListener
+import android.widget.LinearLayout
+import androidx.recyclerview.widget.GridLayoutManager
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.dahe.mylibrary.base.BaseActivity
+import com.dahe.mylibrary.net.CommonResponseBean
+import com.dahe.mylibrary.recycleviewswipe.RecycleViewDivider
+import com.dahe.mylibrary.utils.ConvertUtils
+import com.dahe.mylibrary.utils.PickerUtils
+import com.dahe.mylibrary.weight.FullyGridLayoutManager
+import com.dhsd.glowner.R
+import com.dhsd.glowner.adapter.GoodListAdapter
+import com.dhsd.glowner.adapter.PackingTypeAdapter
+import com.dhsd.glowner.bean.AddressBean
+import com.dhsd.glowner.bean.DictBean
+import com.dhsd.glowner.bean.GoodBean
+import com.dhsd.glowner.bean.GoodTypeBean
+import com.dhsd.glowner.bean.PackTypeBean
+import com.dhsd.glowner.databinding.ActivityGoodsInfoBinding
+import com.dhsd.glowner.databinding.ActivityGoodsInfoListBinding
+import com.dhsd.glowner.utils.OnLimitClickHelper
+import com.dhsd.glowner.utils.OnLimitClickListener
+import com.github.gzuliyujiang.wheelpicker.contract.OnOptionPickedListener
+import com.luck.picture.lib.decoration.GridSpacingItemDecoration
+import com.luck.picture.lib.utils.DensityUtil
+import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
+import io.reactivex.rxjava3.schedulers.Schedulers
+
+/**
+ * @ClassName GoodsInfoActivity
+ * @Author john
+ * @Date 2024/2/4 11:09
+ * @Description 新增货物信息列表
+ */
+class GoodsInfoListActivityBack : BaseActivity(),
+ OnLimitClickListener, OnClickListener {
+
+ lateinit var adapter: GoodListAdapter
+ lateinit var datas: MutableList
+ lateinit var goodBzs : MutableList
+ override fun initView(savedInstanceState: Bundle?) {
+ setStatusBarColor(R.color.white)
+ setTitleBar("货物信息", true)
+
+
+ binding.run {
+ adapter = recycler.run {
+ layoutManager = LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false)
+ addItemDecoration(
+ RecycleViewDivider(
+ LinearLayout.VERTICAL,
+ ConvertUtils.dp2px(10.0f),
+ Color.TRANSPARENT
+ )
+ )
+ adapter = GoodListAdapter()
+ adapter as GoodListAdapter
+ }.apply {
+
+ addOnItemChildClickListener(R.id.tvChange) { adapter, view, position ->
+
+ showToast("点击了$position")
+
+ val items = adapter.items
+// val indexOfFirst = items.indexOfFirst { it.isCheck }
+//
+// if (indexOfFirst > -1 && indexOfFirst != position) {
+// items[indexOfFirst].isCheck = false
+// items[position].isCheck = !items[position].isCheck
+// notifyItemChanged(indexOfFirst)
+// notifyItemChanged(position)
+// } else {
+// items[position].isCheck = !items[position].isCheck
+// notifyItemChanged(position)
+// }
+
+ }
+ }
+
+ btnLeft.setOnClickListener(OnLimitClickHelper(this@GoodsInfoListActivityBack))
+ }
+ datas = mutableListOf(GoodBean())
+ adapter.submitList(datas)
+
+ }
+
+ override fun initDate() {
+ DataManager.getInstance().getDictData("packaging_method")
+ .subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
+ .subscribe(BaseObserver(mContext, object : RxHttpCallBack>() {
+ override fun onSuccess(t: CommonResponseBean>) {
+ super.onSuccess(t)
+ goodBzs = t.data
+ adapter.items.forEach {
+ it.goodBz = goodBzs
+ }
+ adapter.notifyDataSetChanged()
+// adapter.setGoodBz(t.data)
+// initList(t.data)
+ }
+ }))
+ }
+
+ override fun onClick(view: View?) {
+ super.onClick(view)
+ when (view?.id) {
+ R.id.tvGood -> {
+ var datas = mutableListOf("螺纹钢", "螺纹钢1", "螺纹钢2")
+ PickerUtils.getInstance().showSingleSelect(
+ this, "请选择货物", datas
+ ) { position, item ->
+ showToast(item as String)
+ }
+ }
+
+ R.id.tvGoodType -> {
+
+ }
+
+ R.id.tvChange -> {
+
+ }
+
+ R.id.btnLeft -> {
+ datas.add(GoodBean().apply {
+ goodBzs.forEach {
+ it.isCheck = false
+ }
+ goodBz = goodBzs
+ })
+ adapter.notifyItemInserted(datas.size - 1)
+ binding.recycler.scrollToPosition(datas.size - 1)
+ }
+ }
+ }
+
+ 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/GoodsListActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/GoodsListActivity.kt
index 98fb42d..f3776f1 100644
--- 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
@@ -25,7 +25,7 @@ import io.reactivex.rxjava3.schedulers.Schedulers
* @ClassName GoodsListActivity
* @Author john
* @Date 2024/11/1 16:36
- * @Description 常用货物
+ * @Description 货物列表
*/
class GoodsListActivity : BaseActivity(), RefreshCallBack {
lateinit var adapter: GoodsAdapter
@@ -47,14 +47,14 @@ class GoodsListActivity : BaseActivity(), RefreshCallB
}
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)
- }
- }))
+// 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) {
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 9696075..a5dfd88 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
@@ -45,7 +45,9 @@ class SendGoodsActivity : BaseActivity() {
)
binding.llGoods.setOnClickListener {
- ActivityUtils.startActivity(mContext, GoodsInfoActivity::class.java)
+// ActivityUtils.startActivity(mContext, GoodsInfoActivity::class.java)
+// ActivityUtils.startActivity(mContext, GoodsInfoListActivity::class.java)
+ ActivityUtils.startActivity(mContext, GoodsInfoListActivity::class.java)
}
binding.llCarType.setOnClickListener {
ActivityUtils.startActivity(mContext, CarTypeActivity::class.java)
diff --git a/app/src/main/res/layout/activity_goods_info.xml b/app/src/main/res/layout/activity_goods_info.xml
index c570692..a5ac320 100644
--- a/app/src/main/res/layout/activity_goods_info.xml
+++ b/app/src/main/res/layout/activity_goods_info.xml
@@ -261,6 +261,7 @@