出入库功能改版

This commit is contained in:
2025-10-28 19:22:31 +08:00
parent f4e7cab2d0
commit b22f42d92a
121 changed files with 8271 additions and 3141 deletions
@@ -0,0 +1,79 @@
package com.sw.inbound.adapter
import android.content.Context
import android.view.LayoutInflater
import android.view.ViewGroup
import android.widget.TextView
import androidx.core.graphics.toColorInt
import androidx.core.view.updateLayoutParams
import androidx.recyclerview.widget.RecyclerView
import com.chad.library.adapter4.BaseQuickAdapter
import com.chad.library.adapter4.viewholder.QuickViewHolder
import com.sw.inbound.R
import com.sw.inbound.databinding.ListItemReceiptGoodsBinding
import com.sw.inbound.model.bean.ReceiptGoodsInfo
import com.sw.inbound.model.response.GoodsInfo
import com.sw.inbound.utils.ext.dp
import com.sw.inbound.utils.ext.gone
import com.sw.inbound.utils.ext.ifNullOrBlank
import com.sw.inbound.utils.ext.ifNullOrZero
import com.sw.inbound.utils.ext.setShapeDrawable
import com.sw.inbound.utils.ext.visible
class ReceiptGoodsAdapter(var list: MutableList<GoodsInfo>) :
BaseQuickAdapter<GoodsInfo, ReceiptGoodsAdapter.VH>(list) {
inner class VH(var binding: ListItemReceiptGoodsBinding) : QuickViewHolder(binding.root)
override fun onCreateViewHolder(context: Context, parent: ViewGroup, viewType: Int): VH {
val inflater = LayoutInflater.from(context)
val binding = ListItemReceiptGoodsBinding.inflate(inflater, parent, false)
return VH(binding)
}
override fun onBindViewHolder(holder: VH, position: Int, item: GoodsInfo?) {
holder.binding.run {
root.updateLayoutParams<RecyclerView.LayoutParams> {
height = 100.dp
topMargin = 2.dp
bottomMargin = 3.dp
}
root.setShapeDrawable(
solidColor = if (item!!.isSelected) "#FFD5E1FF" else "#FFFFFFFF",
radius = 6.dp
)
updateTextView(
tvGoodsName, tvProcurementUnit,
tvProcurementCount, tvProcurementPrice,
tvProcurementAmount, tvReceiptCount, tvGoodsWeight,
)
tvGoodsName.text = item.goodName.ifNullOrBlank("-")
tvProcurementUnit.text = item.unitName.ifNullOrBlank("-")
tvProcurementCount.text = item.receiveCountStr.ifNullOrBlank("-")
tvProcurementPrice.text = item.recUnitPriceTaxInStr.ifNullOrBlank("-")
tvProcurementAmount.text = item.recPriceExItemStr.ifNullOrBlank("-")
tvReceiptCount.text = item.receivedNumStr.ifNullOrBlank("-")
tvGoodsWeight.text = item.goodsWeightStr.ifNullOrBlank("-")
tvState.gone()
ivState.run {
visible()
setImageResource(
if (item.isSelected.not()) R.mipmap.ic_receipt_no
else if (item.isLocalGoods) R.mipmap.ic_receipt_local
else if ((item.receivedNum?:0.toDouble()) < (item.receiveCount?:0.toDouble())) R.mipmap.ic_receipt_part
else R.mipmap.ic_receipt_all
)
}
}
}
private fun updateTextView(vararg views: TextView) {
views.forEach {
it.setTextColor("#FF1E2832".toColorInt())
it.paint.isFakeBoldText = true
}
}
}