//package com.sw.inbound.ui // //import androidx.compose.animation.core.tween //import androidx.compose.animation.fadeIn //import androidx.compose.animation.fadeOut //import androidx.compose.foundation.Image //import androidx.compose.foundation.layout.Box //import androidx.compose.foundation.layout.PaddingValues //import androidx.compose.foundation.layout.fillMaxSize //import androidx.compose.foundation.layout.padding //import androidx.compose.material3.Scaffold //import androidx.compose.runtime.Composable //import androidx.compose.runtime.getValue //import androidx.compose.runtime.mutableStateOf //import androidx.compose.runtime.remember //import androidx.compose.runtime.setValue //import androidx.compose.ui.Modifier //import androidx.compose.ui.graphics.Color //import androidx.compose.ui.layout.ContentScale //import androidx.compose.ui.res.painterResource //import androidx.navigation.NavHostController //import androidx.navigation.compose.NavHost //import androidx.navigation.compose.composable //import androidx.navigation.compose.currentBackStackEntryAsState //import androidx.navigation.compose.rememberNavController //import com.sw.inbound.GlobalKey //import com.sw.inbound.R //import com.sw.inbound.ui.page.HomeScreen //import com.sw.inbound.ui.page.PurchaseOrderScreen //import com.sw.inbound.utils.SPUtil //import com.sw.inbound.utils.ToastUtils // //@Composable //fun AppScreen( // onBackRequest: () -> Unit //) { // val navController = rememberNavController() // val currentBackStackEntry by navController.currentBackStackEntryAsState() // var canBack by remember { mutableStateOf(false) } // // // 拦截物理返回键 //// BackHandler( //// onBack = { //// val currentRoute = currentBackStackEntry?.destination?.route //// Timber.d("BackHandler currentRouter = ${currentRoute}") //// if (currentRoute == Screen.Home.route && !canBack) { //// ToastUtils.showToast("再次点击退出") //// canBack = true //// } else if (currentRoute == Screen.Login.route) { //// onBackRequest() //// } else { //// navController.popBackStack() //// } //// } //// ) //// //// BackHandler(canBack) { //// Timber.d("canBack = $canBack") //// if (canBack) { //// onBackRequest() //// } //// } // // Scaffold( // modifier = Modifier // .fillMaxSize() // //.paint(painter = painterResource(R.mipmap.bg)), // ,containerColor = Color.Transparent, // content = { padding -> // Box { //// Image( //// painter = painterResource(R.mipmap.bg), //// contentDescription = null, //// modifier = Modifier.fillMaxSize(), //// contentScale = ContentScale.Crop //// ) // Image( // painter = painterResource(id = R.mipmap.bg), // contentDescription = "背景图片", // modifier = Modifier.fillMaxSize(), // contentScale = ContentScale.Crop // ) // NavHost(padding, navController, onBackRequest) // } // } // ) // ToastUtils.ToastComposable() // //GlobalLoading() // 全局Loading // //} // ///** // * 导航 // */ //@Composable //private fun NavHost( // padding: PaddingValues, // navController: NavHostController, // onBackRequest: () -> Unit = {} //) { // val spUtil = SPUtil.getInstance() // val token = spUtil.get(GlobalKey.KEY_TOKEN, "")!! // NavHost( // modifier = Modifier // .fillMaxSize() // .padding(padding), // navController = navController, // //startDestination = if (token.isEmpty()) Screen.Login.route else Screen.Home.route // startDestination = Screen.Home.route // ) { //// composable(Screen.Test.route) { //// TestScreen(modifier = Modifier, navController) //// } // // 首页 // composable(Screen.Home.route) { // HomeScreen(modifier = Modifier, navController, onBackRequest = onBackRequest) // } // // 登录 //// composable(Screen.Login.route) { //// LoginScreen(modifier = Modifier, navController) //// } // // 采购单入库 // composable( // Screen.PurchaseOrder.route, // enterTransition = { fadeIn(animationSpec = tween(0)) }, // 无进入动画 // exitTransition = { fadeOut(animationSpec = tween(0)) } // 无退出动画 // ) { // PurchaseOrderScreen(modifier = Modifier.fillMaxSize(), navController) // } //// // 自采单 //// composable( //// Screen.SelfProcurement.route, //// enterTransition = { fadeIn(animationSpec = tween(0)) }, // 无进入动画 //// exitTransition = { fadeOut(animationSpec = tween(0)) } // 无退出动画 //// ) { //// SelfProcurementScreen(modifier = Modifier, navController) //// } //// // 收货 //// composable( //// Screen.ReceiptProduct.route, //// enterTransition = { fadeIn(animationSpec = tween(0)) }, // 无进入动画 //// exitTransition = { fadeOut(animationSpec = tween(0)) }, // 无退出动画 //// arguments = listOf( //// navArgument(name = "id", builder = { type = NavType.IntType }), //// navArgument(name = "supplierId", builder = { type = NavType.IntType }) //// ) //// ) { backStackEntry -> //// val id = backStackEntry.arguments?.getString("id") ?: "" //// val supplierId = backStackEntry.arguments?.getString("supplierId") ?: "" //// ReceiptProductScreen(modifier = Modifier, navController, id, supplierId) //// } // } //} // //sealed class Screen(val route: String) { // data object Home : Screen("home") //// data object Login : Screen("login") // // // 采购单入库 // data object PurchaseOrder : Screen("purchase_order") // // // 自采单入库 //// data object SelfProcurement : Screen("self_procurement") // // // 收货 //// data object ReceiptProduct : Screen("receipt_product?id={id}&supplierId={supplierId}") { //// fun createRoute(id: Int, supplierId: Int) = //// "receipt_product?id=${id}&supplierId=${supplierId}" //// } // // // 添加物品 //// data object AddProduct : Screen("addProduct") //// data object Test : Screen("Test") //}