diff --git a/app/src/main/java/com/sw/inbound/ui/page/PurchaseOrderScreen.kt b/app/src/main/java/com/sw/inbound/ui/page/PurchaseOrderScreen.kt index 4008924..016023a 100644 --- a/app/src/main/java/com/sw/inbound/ui/page/PurchaseOrderScreen.kt +++ b/app/src/main/java/com/sw/inbound/ui/page/PurchaseOrderScreen.kt @@ -24,6 +24,7 @@ import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue @@ -44,6 +45,9 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.hilt.navigation.compose.hiltViewModel +import androidx.lifecycle.Lifecycle +import androidx.lifecycle.LifecycleEventObserver +import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.navigation.NavHostController import androidx.navigation.compose.rememberNavController import com.sw.inbound.R @@ -79,9 +83,19 @@ fun PurchaseOrderScreen( val canLoadMore by viewModel.canLoadMore.collectAsState() val isMoreLoading by viewModel.isMoreLoading.collectAsState() var pageNum by remember { mutableIntStateOf(1) } + val lifecycleOwner = LocalLifecycleOwner.current - LaunchedEffect(Unit) { - viewModel.getOrderList() + + DisposableEffect(lifecycleOwner) { + val observer = LifecycleEventObserver { _, event -> + if (event == Lifecycle.Event.ON_RESUME) { + Timber.d("ON_RESUME 触发") + pageNum = 0 + viewModel.getOrderList() + } + } + lifecycleOwner.lifecycle.addObserver(observer) + onDispose { lifecycleOwner.lifecycle.removeObserver(observer) } } // 检测是否滚动到底部 @@ -112,8 +126,7 @@ fun PurchaseOrderScreen( painter = painterResource(id = R.mipmap.bg_listview), contentDescription = "背景", modifier = Modifier - .width(1900.dp) - .height(880.dp), + .fillMaxSize(), contentScale = ContentScale.FillBounds ) diff --git a/app/src/main/java/com/sw/inbound/ui/page/ReceiptProductScreen.kt b/app/src/main/java/com/sw/inbound/ui/page/ReceiptProductScreen.kt index f091760..f17b42d 100644 --- a/app/src/main/java/com/sw/inbound/ui/page/ReceiptProductScreen.kt +++ b/app/src/main/java/com/sw/inbound/ui/page/ReceiptProductScreen.kt @@ -5,6 +5,7 @@ import androidx.compose.foundation.background import androidx.compose.foundation.border import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer @@ -32,6 +33,7 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color +import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.res.colorResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.font.FontWeight @@ -98,28 +100,42 @@ fun ReceiptProductScreen( Column(modifier = modifier) { TopTitleBar() - Row( + Box( modifier = modifier - .padding(30.dp) .weight(1f) + .padding(horizontal = 10.dp) ) { + Image( + painter = painterResource(id = R.mipmap.bg_listview), + contentDescription = "背景", + modifier = Modifier + .fillMaxSize(), + contentScale = ContentScale.FillBounds + ) Row( - modifier = modifier - .background( - color = Color(0x80FFFFFF), - shape = RoundedCornerShape(10.dp) - ) - .fillMaxWidth() - .padding(30.dp) + modifier = Modifier.padding( + start = 30.dp, + end = 30.dp, + top = 30.dp, + bottom = 30.dp + ) ) { // 左侧列表 - ReceiptLeftView(modifier.weight(1f), viewModel, id) + ReceiptLeftView( + modifier + .weight(1f) + .padding(start = 30.dp, top = 30.dp, bottom = 30.dp), viewModel, id + ) // 未调整,显示右侧界面 if (!adjustState) { - Spacer(modifier = Modifier.width(30.dp)) +// Spacer(modifier = Modifier.width(30.dp)) // 右侧编辑 - ReceiptRightView(modifier.width(580.dp), viewModel) + ReceiptRightView( + modifier + .width(580.dp) + .padding(30.dp), viewModel + ) } } } diff --git a/app/src/main/java/com/sw/inbound/viewmodel/PurchaseOrderViewModel.kt b/app/src/main/java/com/sw/inbound/viewmodel/PurchaseOrderViewModel.kt index 9f1e7ab..a826daf 100644 --- a/app/src/main/java/com/sw/inbound/viewmodel/PurchaseOrderViewModel.kt +++ b/app/src/main/java/com/sw/inbound/viewmodel/PurchaseOrderViewModel.kt @@ -5,6 +5,7 @@ import com.sw.inbound.repository.RemoteRepository import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow +import timber.log.Timber import javax.inject.Inject /** @@ -46,6 +47,7 @@ class PurchaseOrderViewModel @Inject constructor( if (parseResponse(response)) { response.result?.records?.let { _canLoadMore.value = it.size >= pageSize + Timber.d("加载更多 canLoadMore =${it.size >= pageSize}") _supplierList.value = _supplierList.value + it } }