bai пре 3 година
родитељ
комит
46b8b54cd3

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

@@ -19,8 +19,6 @@ fun Content(
         .padding(
             rememberInsetsPaddingValues(
                 LocalWindowInsets.current.navigationBars,
-                additionalStart = 32.dp,
-                additionalEnd = 32.dp, additionalTop = 32.dp,
                 additionalBottom = 12.dp
             )
         ),

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

@@ -27,7 +27,7 @@ fun ProjectScreen() {
         )
 
         Content {
-            Project()
+            ProjectTask()
         }
     }
 }

+ 248 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/ui/screen/project/ProjectTask.kt

@@ -0,0 +1,248 @@
+package com.ys.bdtp.adm.mvvm.ui.screen.project
+
+import androidx.compose.foundation.BorderStroke
+import androidx.compose.foundation.Image
+import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.*
+import androidx.compose.foundation.lazy.LazyColumn
+import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.material.Card
+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.text.font.FontWeight
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.unit.dp
+import androidx.compose.ui.unit.sp
+import com.ys.bdtp.adm.R
+import androidx.compose.foundation.lazy.items
+import androidx.compose.material.LinearProgressIndicator
+import androidx.compose.material.Surface
+import androidx.compose.ui.text.style.TextAlign
+
+// 3 7
+@Composable
+fun ProjectTask() {
+    Row(modifier = Modifier.fillMaxSize().background(Color.White)) {
+        Column(
+            modifier = Modifier
+                .fillMaxHeight()
+                .wrapContentWidth()
+                .padding(horizontal = 32.dp, vertical = 42.dp)
+        ) {
+            Column(
+                horizontalAlignment = Alignment.CenterHorizontally
+            ) {
+                TaskType(R.drawable.project_task_cad, "CAD核查")
+                Spacer(modifier = Modifier.height(20.dp))
+                TaskType(R.drawable.project_task_space, "空间模型核查")
+                Spacer(modifier = Modifier.height(20.dp))
+                TaskType(R.drawable.project_task_electric, "机电核查")
+                Spacer(modifier = Modifier.height(20.dp))
+                TaskType(R.drawable.project_task_relation, "交付关系")
+                Spacer(modifier = Modifier.height(20.dp))
+                TaskType(R.drawable.project_task_offline, "离线数据")
+            }
+        }
+        Spacer(modifier = Modifier.width(1.dp).fillMaxHeight().background(Color(0xFFE5E5E5)))
+
+        Column(
+            modifier = Modifier
+                .fillMaxHeight()
+                .padding(horizontal = 48.dp, vertical = 44.dp)
+        ) {
+            Text(
+                text = "近期负责的项目任务",
+                fontSize = 16.sp,
+                fontWeight = FontWeight.Bold,
+                color = Color(0xFF1F2429),
+                modifier = Modifier.height(20.dp)
+            )
+            Spacer(modifier = Modifier.fillMaxWidth().height(20.dp))
+            Row(
+                modifier = Modifier
+                    .fillMaxWidth()
+                    .height(40.dp)
+                    .background(Color(0xFFF8F9FA)),
+                verticalAlignment = Alignment.CenterVertically,
+                horizontalArrangement = Arrangement.SpaceAround
+
+            ) {
+                Text(
+                    text = "项目名称",
+                    fontSize = 16.sp,
+                    color = Color(0xFF646C73),
+                    textAlign = TextAlign.Center,
+                    modifier = Modifier.weight(20f)
+                )
+                Text(
+                    text = "楼层",
+                    fontSize = 16.sp,
+                    color = Color(0xFF646C73),
+                    textAlign = TextAlign.Center,
+                    modifier = Modifier.weight(20f)
+                )
+                Text(
+                    text = "起始时间",
+                    fontSize = 16.sp,
+                    color = Color(0xFF646C73),
+                    textAlign = TextAlign.Center,
+                    modifier = Modifier.weight(25f)
+                )
+                Text(
+                    text = "项目完成进度",
+                    fontSize = 16.sp,
+                    color = Color(0xFF646C73),
+                    textAlign = TextAlign.Center,
+                    modifier = Modifier.weight(33f)
+                )
+            }
+
+            LazyColumn(modifier = Modifier.fillMaxWidth().height(436.dp)) {
+                items(20) {
+                    Box {
+                        Row(
+                            modifier = Modifier
+                                .fillMaxWidth()
+                                .height(48.dp)
+                                .background(Color.White),
+                            verticalAlignment = Alignment.CenterVertically,
+                            horizontalArrangement = Arrangement.SpaceEvenly
+                        ) {
+                            Text(
+                                text = "项目名称",
+                                fontSize = 16.sp,
+                                color = Color(0xFF1F2429),
+                                textAlign = TextAlign.Center,
+                                modifier = Modifier.weight(20f)
+                            )
+                            Text(
+                                text = "楼层",
+                                fontSize = 16.sp,
+                                color = Color(0xFF1F2429),
+                                textAlign = TextAlign.Center,
+                                modifier = Modifier.weight(20f)
+                            )
+                            Text(
+                                text = "起始时间",
+                                fontSize = 16.sp,
+                                color = Color(0xFF1F2429),
+                                textAlign = TextAlign.Center,
+                                modifier = Modifier.weight(25f)
+                            )
+                            Row(
+                                modifier = Modifier.weight(33f),
+                                verticalAlignment = Alignment.CenterVertically,
+                                horizontalArrangement = Arrangement.Center
+                            ) {
+                                Surface(
+                                    elevation = 0.dp,
+                                    shape = RoundedCornerShape(10.dp),
+                                    modifier = Modifier.weight(4f).height(10.dp),
+                                ) {
+                                    LinearProgressIndicator(
+                                        progress = 0.8f,
+                                        color = Color(0xFF0091FF),
+                                        backgroundColor = Color(0xFFF9F9F9),
+                                    )
+                                }
+                                Spacer(modifier = Modifier.width(16.dp))
+                                Text(
+                                    text = "40%",
+                                    fontSize = 16.sp,
+                                    color = Color(0xFF1F2429),
+                                    textAlign = TextAlign.Start,
+                                    modifier = Modifier.weight(2f)
+                                )
+                            }
+                        }
+                        Spacer(
+                            modifier = Modifier
+                                .align(Alignment.BottomCenter)
+                                .fillMaxWidth().height(1.dp)
+                                .background(Color(0xFFE4E6E7))
+                        )
+                    }
+
+                }
+            }
+            Spacer(modifier = Modifier.fillMaxWidth().height(40.dp))
+            Text(
+                text = "查看全部项目任务",
+                fontSize = 14.sp,
+                color = Color(0xFF0091FF),
+                textAlign = TextAlign.Center,
+                modifier = Modifier.fillMaxWidth()
+            )
+        }
+    }
+}
+
+
+@Composable
+fun TaskType(resId: Int, title: String) {
+    Card(
+        shape = RoundedCornerShape(8),
+        border = BorderStroke(1.dp, Color(0xFFE5E5E5)),
+        elevation = 0.dp
+    ) {
+        Row(
+            modifier = Modifier
+                .width(314.dp)
+                .height(88.dp)
+                .background(Color.White)
+                .padding(horizontal = 20.dp, vertical = 15.dp),
+            verticalAlignment = Alignment.CenterVertically
+        ) {
+            Image(
+                painter = painterResource(resId),
+                contentDescription = "",
+                modifier = Modifier
+                    .width(58.dp)
+                    .height(58.dp)
+            )
+            Spacer(modifier = Modifier.width(20.dp))
+            Text(text = title, fontSize = 16.sp, fontWeight = FontWeight.Bold)
+        }
+    }
+}
+
+@Preview(widthDp = 1280, heightDp = 800)
+@Composable
+fun PreviewProjectTask() {
+    ProjectTask()
+}
+/*
+
+@Preview
+@Composable
+fun PreviewTaskType1() {
+    TaskType(R.drawable.project_task_cad, "CAD核查")
+}
+
+@Preview
+@Composable
+fun PreviewTaskType2() {
+    TaskType(R.drawable.project_task_space, "空间模型核查")
+}
+
+@Preview
+@Composable
+fun PreviewTaskType3() {
+    TaskType(R.drawable.project_task_electric, "机电核查")
+}
+
+@Preview
+@Composable
+fun PreviewTaskType4() {
+    TaskType(R.drawable.project_task_relation, "交付关系")
+}
+
+@Preview
+@Composable
+fun PreviewTaskType5() {
+    TaskType(R.drawable.project_task_offline, "离线数据")
+}*/

+ 175 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/ui/screen/project/ProjectTaskAll.kt

@@ -0,0 +1,175 @@
+package com.ys.bdtp.adm.mvvm.ui.screen.project
+
+import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.*
+import androidx.compose.foundation.lazy.LazyColumn
+import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.material.*
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.filled.Search
+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.text.font.FontWeight
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.unit.dp
+import androidx.compose.ui.unit.sp
+
+@Composable
+fun ProjectTaskAll() {
+    Column(
+        modifier = Modifier
+            .fillMaxHeight()
+            .background(Color.White)
+            .padding(horizontal = 50.dp, vertical = 50.dp)
+    ) {
+        Spacer(modifier = Modifier.height(50.dp))
+        Row(
+            modifier = Modifier.fillMaxWidth(),
+            horizontalArrangement = Arrangement.SpaceBetween,
+            verticalAlignment = Alignment.CenterVertically
+        ) {
+            Text(
+                text = "全部项目任务",
+                fontSize = 16.sp,
+                fontWeight = FontWeight.Bold,
+                color = Color(0xFF1F2429),
+                modifier = Modifier.height(20.dp)
+            )
+
+            OutlinedTextField(
+                value = "",
+                onValueChange = {},
+                modifier = Modifier.height(48.dp),
+                placeholder = {
+                    Text(text = "Search", fontSize = 14.sp, color = Color(0xFFC3C7CB))
+                },
+                leadingIcon = {
+                    Icon(
+                        imageVector = Icons.Default.Search,
+                        contentDescription = ""
+                    )
+                }
+            )
+        }
+        Spacer(modifier = Modifier.height(20.dp))
+        Row(
+            modifier = Modifier
+                .fillMaxWidth()
+                .height(40.dp)
+                .background(Color(0xFFF8F9FA)),
+            verticalAlignment = Alignment.CenterVertically,
+            horizontalArrangement = Arrangement.SpaceAround
+
+        ) {
+            Text(
+                text = "项目名称",
+                fontSize = 16.sp,
+                color = Color(0xFF646C73),
+                textAlign = TextAlign.Center,
+                modifier = Modifier.weight(3f)
+            )
+            Text(
+                text = "楼层",
+                fontSize = 16.sp,
+                color = Color(0xFF646C73),
+                textAlign = TextAlign.Center,
+                modifier = Modifier.weight(2f)
+            )
+            Text(
+                text = "起始时间",
+                fontSize = 16.sp,
+                color = Color(0xFF646C73),
+                textAlign = TextAlign.Center,
+                modifier = Modifier.weight(2f)
+            )
+            Text(
+                text = "项目完成进度",
+                fontSize = 16.sp,
+                color = Color(0xFF646C73),
+                textAlign = TextAlign.Center,
+                modifier = Modifier.weight(3f)
+            )
+
+            Text(
+                text = "",
+                fontSize = 16.sp,
+                color = Color(0xFF646C73),
+                textAlign = TextAlign.Center,
+                modifier = Modifier.weight(2f)
+            )
+        }
+
+        LazyColumn(modifier = Modifier.fillMaxWidth().height(436.dp)) {
+            items(20) {
+                Box {
+                    Row(
+                        modifier = Modifier
+                            .fillMaxWidth()
+                            .height(48.dp)
+                            .background(Color.White),
+                        verticalAlignment = Alignment.CenterVertically,
+                        horizontalArrangement = Arrangement.SpaceEvenly
+                    ) {
+                        Text(
+                            text = "项目名称",
+                            fontSize = 16.sp,
+                            color = Color(0xFF1F2429),
+                            textAlign = TextAlign.Center,
+                            modifier = Modifier.weight(3f)
+                        )
+                        Text(
+                            text = "楼层",
+                            fontSize = 16.sp,
+                            color = Color(0xFF1F2429),
+                            textAlign = TextAlign.Center,
+                            modifier = Modifier.weight(2f)
+                        )
+                        Text(
+                            text = "起始时间",
+                            fontSize = 16.sp,
+                            color = Color(0xFF1F2429),
+                            textAlign = TextAlign.Center,
+                            modifier = Modifier.weight(2f)
+                        )
+
+                        Surface(
+                            elevation = 0.dp,
+                            shape = RoundedCornerShape(10.dp),
+                            modifier = Modifier.weight(3f).height(10.dp),
+                        ) {
+                            LinearProgressIndicator(
+                                progress = 0.8f,
+                                color = Color(0xFF0091FF),
+                                backgroundColor = Color(0xFFF9F9F9),
+                            )
+                        }
+
+                        Text(
+                            text = "40%",
+                            fontSize = 16.sp,
+                            color = Color(0xFF1F2429),
+                            textAlign = TextAlign.Center,
+                            modifier = Modifier.weight(2f)
+                        )
+                    }
+                    Spacer(
+                        modifier = Modifier
+                            .align(Alignment.BottomCenter)
+                            .fillMaxWidth().height(1.dp)
+                            .background(Color(0xFFE4E6E7))
+                    )
+                }
+
+            }
+        }
+    }
+}
+
+@Preview(widthDp = 1280, heightDp = 800)
+@Composable
+fun PreviewProjectTaskAll() {
+    ProjectTaskAll()
+}

BIN
app/src/main/res/drawable-hdpi/project_task_cad.png


BIN
app/src/main/res/drawable-hdpi/project_task_electric.png


BIN
app/src/main/res/drawable-hdpi/project_task_offline.png


BIN
app/src/main/res/drawable-hdpi/project_task_relation.png


BIN
app/src/main/res/drawable-hdpi/project_task_space.png


BIN
app/src/main/res/drawable-xhdpi/project_task_cad.png


BIN
app/src/main/res/drawable-xhdpi/project_task_electric.png


BIN
app/src/main/res/drawable-xhdpi/project_task_offline.png


BIN
app/src/main/res/drawable-xhdpi/project_task_relation.png


BIN
app/src/main/res/drawable-xhdpi/project_task_space.png