成功订单页面

This commit is contained in:
2026-02-12 12:44:30 +08:00
parent f562abc12f
commit b034e9371f
11 changed files with 300 additions and 104 deletions
@@ -1,17 +1,91 @@
package com.sw.inbound.activity
import android.annotation.SuppressLint
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.viewModels
import androidx.compose.runtime.collectAsState
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.LinearLayoutManager
import com.sw.inbound.R
import com.sw.inbound.adapter.PurchaseOrderAdapter
import com.sw.inbound.databinding.ActivityPurchaseOrderBinding
import com.sw.inbound.dialog.Loading
import com.sw.inbound.model.response.SupplierInfo
import com.sw.inbound.utils.ext.clickWithDebounce
import com.sw.inbound.utils.ext.gone
import com.sw.inbound.utils.ext.startActivity
import com.sw.inbound.utils.ext.visible
import com.sw.inbound.viewmodel.PurchaseOrderViewModel
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.launch
/**
* 采购单列表
*/
@AndroidEntryPoint
class PurchaseOrderActivity : ComponentActivity(){
class PurchaseOrderActivity : ComponentActivity() {
private var list = mutableListOf<SupplierInfo>()
private val adapter by lazy {
PurchaseOrderAdapter(list).apply {
setOnItemClickListener { adapter, view, position ->
openReceiptPage(list[position])
}
addOnItemChildClickListener(R.id.btnReceive) { adapter, view, position ->
openReceiptPage(list[position])
}
}
}
private fun openReceiptPage(item: SupplierInfo) {
startActivity<ReceiptActivity> {
putExtra(GoodsListActivity.ID, item.id)
putExtra(GoodsListActivity.SUPPLIER_ID, item.supplierId)
putExtra(GoodsListActivity.IS_RECEIPT_PAGE, true)
//putExtra(GoodsListActivity.IS_NEW_RECEIPT, false)
}
}
private lateinit var binding: ActivityPurchaseOrderBinding
val viewModel: PurchaseOrderViewModel by viewModels()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityPurchaseOrderBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.rvOrderList.let {
it.layoutManager = LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false)
it.adapter = adapter
}
binding.btnBack.setOnClickListener { finish() }
binding.btnAddReceipt.clickWithDebounce {
startActivity<SelfProcurementActivity> {
putExtra(GoodsListActivity.IS_RECEIPT_PAGE, false)
}
}
Loading.show(this)
viewModel.getOrderListNew(pageNum = 1, pageSize = 100) { suppliers ->
runOnUiThread {
binding.root.postDelayed({
Loading.dismiss()
}, 600)
updateSupplierList(suppliers)
}
}
}
@SuppressLint("NotifyDataSetChanged")
private fun updateSupplierList(suppliers: List<SupplierInfo>?) {
if (suppliers.isNullOrEmpty()) {
binding.rvOrderList.gone()
binding.layoutEmptyView.visible()
return
}
list.addAll(suppliers)
adapter.notifyDataSetChanged()
binding.rvOrderList.visible()
binding.layoutEmptyView.gone()
}
}