优化首页订单加载
This commit is contained in:
@@ -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)
|
||||||
updateMoreLoading(false)
|
Handler(Looper.getMainLooper()).postDelayed({
|
||||||
|
updateMoreLoading(false)
|
||||||
|
}, 1000)
|
||||||
if (parseResponse(response)) {
|
if (parseResponse(response)) {
|
||||||
response.result?.let {
|
response.result?.let {
|
||||||
updateCanLoadMore(it.size >= pageSize)
|
updateCanLoadMore(it.size >= pageSize)
|
||||||
|
|||||||
Reference in New Issue
Block a user