优化首页订单加载

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() val isMoreLoading by viewModel.isMoreLoading.collectAsState()
var pageNum by remember { mutableIntStateOf(1) } var pageNum by remember { mutableIntStateOf(1) }
val lifecycleOwner = LocalLifecycleOwner.current val lifecycleOwner = LocalLifecycleOwner.current
val first = viewModel.firstOperate.collectAsState()
DisposableEffect(lifecycleOwner) { DisposableEffect(lifecycleOwner) {
val observer = LifecycleEventObserver { _, event -> val observer = LifecycleEventObserver { _, event ->
@@ -132,6 +132,10 @@ fun PurchaseOrderScreen(
start = 30.dp, end = 30.dp, top = 30.dp, bottom = 90.dp start = 30.dp, end = 30.dp, top = 30.dp, bottom = 90.dp
) )
) { ) {
if (first.value) {
viewModel.updateFirstState(false)
return@Box
}
if (products.isEmpty()) { if (products.isEmpty()) {
PurchaseEmptyItem() PurchaseEmptyItem()
} else { } else {
@@ -1,5 +1,7 @@
package com.sw.inbound.viewmodel package com.sw.inbound.viewmodel
import android.os.Handler
import android.os.Looper
import com.sw.inbound.model.response.SupplierInfo import com.sw.inbound.model.response.SupplierInfo
import com.sw.inbound.repository.RemoteRepository import com.sw.inbound.repository.RemoteRepository
import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.lifecycle.HiltViewModel
@@ -21,6 +23,13 @@ class PurchaseOrderViewModel @Inject constructor(
*/ */
private val _supplierList = MutableStateFlow<List<SupplierInfo?>>(emptyList()) private val _supplierList = MutableStateFlow<List<SupplierInfo?>>(emptyList())
val supplierList: StateFlow<List<SupplierInfo?>> = _supplierList 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 { launch {
updateMoreLoading(true) updateMoreLoading(true)
val response = repository.getReceiveList(pageNum, pageSize) val response = repository.getReceiveList(pageNum, pageSize)
Handler(Looper.getMainLooper()).postDelayed({
updateMoreLoading(false) updateMoreLoading(false)
}, 1000)
if (parseResponse(response)) { if (parseResponse(response)) {
response.result?.let { response.result?.let {
updateCanLoadMore(it.size >= pageSize) updateCanLoadMore(it.size >= pageSize)