فهرست منبع

@fun: Offline

bai 3 سال پیش
والد
کامیت
2e1e286ec0

+ 39 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/ui/compose/Blank.kt

@@ -0,0 +1,39 @@
+package com.ys.bdtp.adm.mvvm.ui.compose
+
+import androidx.compose.foundation.Image
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.material.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.res.painterResource
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.unit.sp
+import com.ys.bdtp.adm.R
+
+@Composable
+fun Blank() {
+    Box(
+        modifier = Modifier.fillMaxSize(),
+        contentAlignment = Alignment.Center
+    ) {
+        Column(
+            horizontalAlignment = Alignment.CenterHorizontally
+        ) {
+            Image(
+                painter = painterResource(R.drawable.blank),
+                contentDescription = ""
+            )
+            Text(text = "暂无数据", color = Color(0xFF646C73), fontSize = 14.sp)
+        }
+    }
+}
+
+@Preview
+@Composable
+fun PreviewBlank() {
+    Blank()
+}

+ 6 - 3
app/src/main/java/com/ys/bdtp/adm/mvvm/ui/compose/Body.kt

@@ -5,14 +5,17 @@ import androidx.compose.foundation.layout.Row
 import androidx.compose.runtime.Composable
 
 @Composable
-fun Body() {
+fun Body(
+    side: @Composable () -> Unit,
+    content: @Composable () -> Unit
+) {
     Row {
         Column() {
-
+            side()
         }
 
         Column {
-
+            content()
         }
     }
 

+ 3 - 3
app/src/main/java/com/ys/bdtp/adm/mvvm/ui/compose/Head.kt

@@ -63,9 +63,9 @@ fun Head(
 @Composable
 fun PreviewTop() {
     Head(
-        left = { TopLeft() },
+        left = { HeadLeft() },
         right = {
-            TopRight(
+            HeadRight(
                 role = { "管家" },
                 click = { println("heiheihei") }
             )
@@ -87,7 +87,7 @@ fun PreviewTop1() {
             }
         },
         right = {
-            TopRight(
+            HeadRight(
                 role = { "管家" },
                 click = { println("heiheihei") }
             )

+ 4 - 4
app/src/main/java/com/ys/bdtp/adm/mvvm/ui/compose/TopLeft.kt

@@ -16,7 +16,7 @@ import androidx.compose.ui.unit.sp
 import com.ys.bdtp.adm.R
 
 @Composable
-fun TopLeft() {
+fun HeadLeft() {
     Row(
         verticalAlignment = Alignment.CenterVertically,
         horizontalArrangement = Arrangement.Start
@@ -27,7 +27,7 @@ fun TopLeft() {
         Image(
             painter = painterResource(R.drawable.arrow_back),
             contentDescription = "",
-            modifier = Modifier.size(32.dp)
+            modifier = Modifier.size(24.dp)
         )
 
         Spacer(
@@ -37,7 +37,7 @@ fun TopLeft() {
         Spacer(
             modifier = Modifier
                 .width(1.dp)
-                .height(24.dp)
+                .height(16.dp)
                 .background(Color(0xFFD8D8D8))
         )
 
@@ -61,5 +61,5 @@ fun TopLeft() {
 @Preview
 @Composable
 fun PreviewTopLeft() {
-    TopLeft()
+    HeadLeft()
 }

+ 2 - 2
app/src/main/java/com/ys/bdtp/adm/mvvm/ui/compose/TopRight.kt

@@ -18,7 +18,7 @@ import com.ys.bdtp.adm.R
 
 
 @Composable
-fun TopRight(
+fun HeadRight(
     role: () -> String,
     click: () -> Unit
 ) {
@@ -90,7 +90,7 @@ fun TopRight(
 @Preview
 @Composable
 fun PreviewTopRight() {
-    TopRight(
+    HeadRight(
         role = { "管家" },
         click = { println("heiheihei") }
     )

+ 8 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/ui/compose/Side.kt

@@ -0,0 +1,8 @@
+package com.ys.bdtp.adm.mvvm.ui.compose
+
+import androidx.compose.runtime.Composable
+
+@Composable
+fun Side() {
+
+}

+ 2 - 2
app/src/main/java/com/ys/bdtp/adm/mvvm/ui/screen/home/HomeScreen.kt

@@ -16,9 +16,9 @@ import com.ys.bdtp.adm.mvvm.ui.screen.project.Project
 fun HomeScreen() {
     Column(modifier = Modifier.fillMaxSize()) {
         Head(
-            left = { TopLeft() },
+            left = { HeadLeft() },
             right = {
-                TopRight(
+                HeadRight(
                     role = { "管家" },
                     click = { println("heiheihei") }
                 )

+ 19 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/ui/screen/offline/OfflineContent.kt

@@ -0,0 +1,19 @@
+package com.ys.bdtp.adm.mvvm.ui.screen.offline
+
+import androidx.compose.foundation.layout.Column
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.tooling.preview.Preview
+import com.ys.bdtp.adm.mvvm.ui.compose.Blank
+
+@Composable
+fun OfflineContent() {
+    Column {
+        Blank()
+    }
+}
+
+@Preview
+@Composable
+fun PreviewOfflineContent() {
+    OfflineContent()
+}

+ 75 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/ui/screen/offline/OfflineScreen.kt

@@ -0,0 +1,75 @@
+package com.ys.bdtp.adm.mvvm.ui.screen.offline
+
+import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.Spacer
+import androidx.compose.foundation.layout.fillMaxHeight
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.width
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.unit.dp
+import com.ys.bdtp.adm.mvvm.ui.compose.Head
+import com.ys.bdtp.adm.mvvm.ui.compose.HeadLeft
+import com.ys.bdtp.adm.mvvm.ui.compose.HeadRight
+
+@Composable
+fun OfflineScreen() {
+    Column(modifier = Modifier.background(Color.White)) {
+        Head(
+            left = { HeadLeft() },
+            middle = { OfflineHeadSyncMiddle() },
+            right = {
+                HeadRight(
+                    role = { "业务角色" },
+                    click = {}
+                )
+            }
+        )
+
+        Spacer(
+            modifier = Modifier
+                .height(1.dp)
+                .fillMaxWidth()
+                .background(Color(0xFFEFF0F1))
+        )
+
+
+        Row {
+            Column(
+                modifier = Modifier
+                    .width(288.dp)
+                    .fillMaxHeight()
+                    .padding(horizontal = 32.dp, vertical = 12.dp)
+            ) {
+                OfflineSide()
+            }
+            Spacer(
+                modifier = Modifier
+                    .width(1.dp)
+                    .fillMaxHeight()
+                    .background(Color(0xFFEFF0F1))
+            )
+            Column(
+                modifier = Modifier
+                    .fillMaxSize()
+                    .padding(horizontal = 32.dp, vertical = 12.dp)
+            ) {
+                OfflineContent()
+            }
+        }
+
+    }
+}
+
+@Preview(widthDp = 1137, heightDp = 711)
+@Composable
+fun PreviewOfflineScreen() {
+    OfflineScreen()
+}

+ 156 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/ui/screen/offline/OfflineSide.kt

@@ -0,0 +1,156 @@
+package com.ys.bdtp.adm.mvvm.ui.screen.offline
+
+import androidx.compose.foundation.Image
+import androidx.compose.foundation.background
+import androidx.compose.foundation.clickable
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.Spacer
+import androidx.compose.foundation.layout.fillMaxHeight
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.layout.width
+import androidx.compose.material.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.res.painterResource
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.unit.dp
+import com.ys.bdtp.adm.R
+
+
+/**
+ * 离线数据左侧UI
+ */
+@Composable
+fun OfflineSide() {
+    Column(
+        modifier = Modifier
+            .width(288.dp)
+            .fillMaxHeight()
+            .background(Color.White)
+    ) {
+        // 项目任务
+        Row(
+            modifier = Modifier
+                .fillMaxWidth()
+                .height(40.dp)
+                .clickable {
+
+                },
+            verticalAlignment = Alignment.CenterVertically
+        ) {
+            Image(
+                painter = painterResource(R.drawable.red_circle),
+                contentDescription = "",
+                modifier = Modifier.size(8.dp)
+            )
+            Spacer(modifier = Modifier.width(8.dp))
+            Text(text = "项目任务")
+        }
+
+        // 工程数据
+        Row(
+            modifier = Modifier
+                .fillMaxWidth()
+                .height(40.dp)
+                .clickable {
+
+                },
+            verticalAlignment = Alignment.CenterVertically
+        ) {
+            Image(
+                painter = painterResource(R.drawable.red_circle),
+                contentDescription = "",
+                modifier = Modifier.size(8.dp)
+            )
+            Spacer(modifier = Modifier.width(8.dp))
+            Text(text = "工程数据")
+        }
+
+        // 楼层模型
+        Row(
+            modifier = Modifier
+                .fillMaxWidth()
+                .height(40.dp)
+                .clickable {
+
+                },
+            verticalAlignment = Alignment.CenterVertically
+        ) {
+            Image(
+                painter = painterResource(R.drawable.red_circle),
+                contentDescription = "",
+                modifier = Modifier.size(8.dp)
+            )
+            Spacer(modifier = Modifier.width(8.dp))
+            Text(text = "楼层模型")
+        }
+
+        // 参考图纸
+        Row(
+            modifier = Modifier
+                .fillMaxWidth()
+                .height(40.dp)
+                .clickable {
+
+                },
+            verticalAlignment = Alignment.CenterVertically
+        ) {
+            Image(
+                painter = painterResource(R.drawable.red_circle),
+                contentDescription = "",
+                modifier = Modifier.size(8.dp)
+            )
+            Spacer(modifier = Modifier.width(8.dp))
+            Text(text = "参考图纸")
+        }
+
+        // 交付范围
+        Row(
+            modifier = Modifier
+                .fillMaxWidth()
+                .height(40.dp)
+                .clickable {
+
+                },
+            verticalAlignment = Alignment.CenterVertically
+        ) {
+            Image(
+                painter = painterResource(R.drawable.red_circle),
+                contentDescription = "",
+                modifier = Modifier.size(8.dp)
+            )
+            Spacer(modifier = Modifier.width(8.dp))
+            Text(text = "交付范围")
+        }
+
+        // 交付规则
+        Row(
+            modifier = Modifier
+                .fillMaxWidth()
+                .height(40.dp)
+                .clickable {
+
+                },
+            verticalAlignment = Alignment.CenterVertically
+        ) {
+            Image(
+                painter = painterResource(R.drawable.red_circle),
+                contentDescription = "",
+                modifier = Modifier.size(8.dp)
+            )
+            Spacer(modifier = Modifier.width(8.dp))
+            Text(text = "交付规则")
+        }
+    }
+}
+
+@Preview
+@Composable
+fun PreviewOfflineSide() {
+    OfflineSide()
+}

+ 4 - 4
app/src/main/java/com/ys/bdtp/adm/mvvm/ui/screen/project/ProjectScreen.kt

@@ -21,17 +21,17 @@ import androidx.compose.ui.unit.dp
 import com.ys.bdtp.adm.R
 import com.ys.bdtp.adm.mvvm.ui.compose.Head
 import com.ys.bdtp.adm.mvvm.ui.compose.TaskType
-import com.ys.bdtp.adm.mvvm.ui.compose.TopLeft
-import com.ys.bdtp.adm.mvvm.ui.compose.TopRight
+import com.ys.bdtp.adm.mvvm.ui.compose.HeadLeft
+import com.ys.bdtp.adm.mvvm.ui.compose.HeadRight
 
 @Composable
 fun ProjectScreen() {
 
     Column(modifier = Modifier.fillMaxSize().background(Color.White)) {
         Head(
-            left = { TopLeft() },
+            left = { HeadLeft() },
             right = {
-                TopRight(
+                HeadRight(
                     role = { "管家" },
                     click = { println("heiheihei") }
                 )

+ 4 - 4
app/src/main/java/com/ys/bdtp/adm/mvvm/ui/screen/project/ProjectTaskScreen.kt

@@ -36,17 +36,17 @@ import androidx.compose.ui.tooling.preview.Preview
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.unit.sp
 import com.ys.bdtp.adm.mvvm.ui.compose.Head
-import com.ys.bdtp.adm.mvvm.ui.compose.TopLeft
-import com.ys.bdtp.adm.mvvm.ui.compose.TopRight
+import com.ys.bdtp.adm.mvvm.ui.compose.HeadLeft
+import com.ys.bdtp.adm.mvvm.ui.compose.HeadRight
 
 @Composable
 fun ProjectTaskScreen() {
     var value by remember { mutableStateOf("") }
     Column(modifier = Modifier.fillMaxSize().background(Color.White)) {
         Head(
-            left = { TopLeft() },
+            left = { HeadLeft() },
             right = {
-                TopRight(
+                HeadRight(
                     role = { "管家" },
                     click = { println("heiheihei") }
                 )