优化首页订单加载

This commit is contained in:
2026-02-03 19:01:18 +08:00
parent be5b9506bd
commit b442dddf8f
2 changed files with 17 additions and 2 deletions
@@ -85,7 +85,7 @@ fun PurchaseOrderScreen(
val isMoreLoading by viewModel.isMoreLoading.collectAsState()
var pageNum by remember { mutableIntStateOf(1) }
val lifecycleOwner = LocalLifecycleOwner.current
val first = viewModel.firstOperate.collectAsState()
DisposableEffect(lifecycleOwner) {
val observer = LifecycleEventObserver { _, event ->
@@ -132,6 +132,10 @@ fun PurchaseOrderScreen(
start = 30.dp, end = 30.dp, top = 30.dp, bottom = 90.dp
)
) {
if (first.value) {
viewModel.updateFirstState(false)
return@Box
}
if (products.isEmpty()) {
PurchaseEmptyItem()
} else {
@@ -1,5 +1,7 @@
package com.sw.inbound.viewmodel
import android.os.Handler
import android.os.Looper
import com.sw.inbound.model.response.SupplierInfo
import com.sw.inbound.repository.RemoteRepository
import dagger.hilt.android.lifecycle.HiltViewModel
@@ -21,6 +23,13 @@ class PurchaseOrderViewModel @Inject constructor(
*/
private val _supplierList = MutableStateFlow<List<SupplierInfo?>>(emptyList())
val supplierList: StateFlow<List<SupplierInfo?>> = _supplierList
private val _firstOperate = MutableStateFlow<Boolean>(true)
val firstOperate:StateFlow<Boolean> = _firstOperate
fun updateFirstState(state: Boolean) {
_firstOperate.value = state
}
/**
* 获取采购订单-供应商列表
*/
@@ -29,7 +38,9 @@ class PurchaseOrderViewModel @Inject constructor(
launch {
updateMoreLoading(true)
val response = repository.getReceiveList(pageNum, pageSize)
updateMoreLoading(false)
Handler(Looper.getMainLooper()).postDelayed({
updateMoreLoading(false)
}, 1000)
if (parseResponse(response)) {
response.result?.let {
updateCanLoadMore(it.size >= pageSize)