优化首页订单加载
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user