Эх сурвалжийг харах

1. 补充待归还设备列表

bjb 2 сар өмнө
parent
commit
9448de15c3

+ 40 - 67
app/src/main/java/com/iscs/bozzys/ui/pages/return_device/PageReturnDevice.kt

@@ -4,20 +4,21 @@ import android.content.Context
 import android.content.Intent
 import androidx.compose.foundation.background
 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.PaddingValues
 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.size
 import androidx.compose.foundation.layout.width
+import androidx.compose.foundation.lazy.LazyColumn
 import androidx.compose.foundation.lazy.rememberLazyListState
 import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.material3.Button
 import androidx.compose.material3.ExperimentalMaterial3Api
 import androidx.compose.material3.Icon
 import androidx.compose.material3.MaterialTheme
@@ -42,16 +43,12 @@ import androidx.compose.ui.unit.dp
 import androidx.compose.ui.unit.sp
 import androidx.lifecycle.viewmodel.compose.viewModel
 import com.iscs.bozzys.R
-import com.iscs.bozzys.api.Message
-import com.iscs.bozzys.ui.common.Empty
 import com.iscs.bozzys.ui.common.PageBase
 import com.iscs.bozzys.ui.dialog.TipsDialog
 import com.iscs.bozzys.ui.pages.compose.CardBox
 import com.iscs.bozzys.ui.pages.vm.StatePageMessage
 import com.iscs.bozzys.ui.pages.vm.VMMessage
 import com.iscs.bozzys.ui.theme.Text
-import com.iscs.bozzys.utils.DateUtil.getShowDate
-import com.iscs.bozzys.utils.DateUtil.getShowDateOrTime
 
 /**
  * 打开消息中心页面
@@ -139,7 +136,7 @@ class PageReturnDevice : PageBase() {
                     )
                 }
                 Text(
-                    "待归还设备列表",
+                    "待归还设备",
                     fontSize = 18.sp,
                     color = Color.White,
                     fontWeight = FontWeight.Medium,
@@ -193,18 +190,12 @@ private fun MessageList(vm: VMMessage) {
                 .padding(top = 5.dp)
                 .fillMaxSize()
         ) {
-//            LazyColumn(
-//                state = listState,
-//                modifier = Modifier.fillMaxSize()
-//            ) {
-//                items(state.messages) { item ->
-//                    if (item.uiIsTitle) {
-//                        MessageListItemTitle(item)
-//                    } else {
-//                        MessageListItemContent(vm, item)
-//                    }
-//                }
-//                // 数据不为空才会显示加载中
+            LazyColumn(
+                state = listState,
+                modifier = Modifier.fillMaxSize()
+            ) {
+                items(3) { item -> DeviceItem(item) }
+                // 数据不为空才会显示加载中
 //                if (state.messages.isNotEmpty()) item {
 //                    Text(
 //                        if (state.page.noMore) "没有更多数据" else "加载更多数据中...",
@@ -216,8 +207,8 @@ private fun MessageList(vm: VMMessage) {
 //                        color = Text.copy(alpha = 0.6f)
 //                    )
 //                }
-//            }
-            Empty(tips = "暂无待归还设备")
+            }
+//            Empty(tips = "暂无待归还设备")
 //            // 悬浮在列表的顶部
 //            if (state.messages.isNotEmpty()) Box(
 //                Modifier.background(MaterialTheme.colorScheme.background),
@@ -229,39 +220,24 @@ private fun MessageList(vm: VMMessage) {
     }
 }
 
-/**
- * 消息标题
- */
-@Composable
-private fun MessageListItemTitle(message: Message) {
-    Text(
-        message.createTime.getShowDate(),
-        fontSize = 16.sp,
-        lineHeight = 26.sp,
-        fontWeight = FontWeight.Medium,
-        color = Text,
-        modifier = Modifier
-            .fillMaxWidth()
-            .height(26.dp)
-            .padding(horizontal = 16.dp),
-    )
-}
-
 /**
  * 消息内容
  */
 @Composable
-private fun MessageListItemContent(vm: VMMessage, msg: Message) {
+private fun DeviceItem(item: Int) {
     CardBox(modifier = Modifier.padding(vertical = 8.dp, horizontal = 16.dp)) {
         Row(
             Modifier
                 .fillMaxWidth()
-                .height(122.dp)
-                .clickable(onClick = { vm.onMessage(msg) })
-                .padding(16.dp)
+                .height(100.dp)
+                .clickable(onClick = { })
+                .padding(horizontal = 16.dp),
+            horizontalArrangement = Arrangement.Center,
+            verticalAlignment = Alignment.CenterVertically
         ) {
             Icon(
-                painterResource(R.drawable.bell), contentDescription = null,
+                painterResource(if (item == 1) R.drawable.key else R.drawable.lock),
+                contentDescription = null,
                 modifier = Modifier
                     .size(40.dp)
                     .clip(RoundedCornerShape(50))
@@ -270,43 +246,40 @@ private fun MessageListItemContent(vm: VMMessage, msg: Message) {
                 tint = Color.White
             )
             Column(
-                Modifier
-                    .padding(start = 15.dp, end = 10.dp)
-                    .fillMaxHeight()
+                modifier = Modifier
+                    .padding(horizontal = 10.dp)
                     .weight(1f)
             ) {
                 Text(
-                    msg.title ?: "提醒",
-                    fontSize = 15.sp,
+                    if (item == 1) "钥匙" else "挂锁",
+                    fontSize = 16.sp,
+                    lineHeight = 16.sp,
                     fontWeight = FontWeight.Medium,
                     color = Text
                 )
                 Text(
-                    msg.templateContent,
+                    "32A9553$item",
                     fontSize = 13.sp,
+                    lineHeight = 13.sp,
                     color = Color(0xFF666666),
                     overflow = TextOverflow.Ellipsis,
                     maxLines = 2,
                     modifier = Modifier.fillMaxWidth()
                 )
-                Spacer(Modifier.weight(1f))
-                Row(Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) {
-                    Text(
-                        msg.createTime.getShowDateOrTime(),
-                        fontSize = 12.sp,
-                        color = Color(0xFF999999)
-                    )
-                    Spacer(Modifier.weight(1f))
-                    Text("作业管理", fontSize = 13.sp, color = Color(0xFF999999))
-                }
+                Text(
+                    "领取时间:2026-03-12 13:59:39",
+                    fontSize = 12.sp,
+                    color = Color(0xFF999999)
+                )
+            }
+            Button(
+                {},
+                shape = RoundedCornerShape(6.dp),
+                contentPadding = PaddingValues(vertical = 0.dp, horizontal = 5.dp),
+                modifier = Modifier.height(28.dp)
+            ) {
+                Text("上报异常", fontSize = 13.sp)
             }
-            Spacer(
-                Modifier
-                    .size(8.dp)
-                    .clip(RoundedCornerShape(50))
-                    .background(if (msg.readStatus) Color.Transparent else Color(0xFFFF4500))
-                    .align(Alignment.CenterVertically)
-            )
         }
     }
 }

+ 15 - 0
app/src/main/res/drawable/key.xml

@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="32dp"
+    android:height="32dp"
+    android:viewportWidth="1024"
+    android:viewportHeight="1024">
+  <path
+      android:pathData="M725.3,49.1H298.7A121.6,121.6 0,0 0,177.1 170.7v682.7A121.6,121.6 0,0 0,298.7 974.9h426.7A121.6,121.6 0,0 0,846.9 853.3V170.7A121.6,121.6 0,0 0,725.3 49.1zM298.7,121.6h426.7c27.1,0 49.1,22 49.1,49.1v682.7A49.1,49.1 0,0 1,725.3 902.4H298.7A49.1,49.1 0,0 1,249.6 853.3V170.7c0,-27.1 22,-49.1 49.1,-49.1z"
+      android:fillColor="#1296db"/>
+  <path
+      android:pathData="M649.2,168.7h-264.5a76.8,76.8 0,0 0,-76.8 76.8v122.2a76.8,76.8 0,0 0,76.8 76.8h264.5a76.8,76.8 0,0 0,76.8 -76.8L726,245.5a76.8,76.8 0,0 0,-76.8 -76.8zM649.2,228.4c9.4,0 17.1,7.6 17.1,17.1v122.2a17.1,17.1 0,0 1,-17.1 17.1h-264.5a17.1,17.1 0,0 1,-17.1 -17.1L367.6,245.5c0,-9.4 7.7,-17.1 17.1,-17.1h264.5z"
+      android:fillColor="#1296db"/>
+  <path
+      android:pathData="M426.7,497.1a36.3,36.3 0,0 1,4.6 72.2L426.7,569.6H384a36.3,36.3 0,0 1,-4.6 -72.2L384,497.1h42.7zM426.7,625.1a36.3,36.3 0,0 1,4.6 72.2L426.7,697.6H384a36.3,36.3 0,0 1,-4.6 -72.2L384,625.1h42.7zM426.7,753.1a36.3,36.3 0,0 1,4.6 72.2L426.7,825.6H384a36.3,36.3 0,0 1,-4.6 -72.2L384,753.1h42.7zM640,497.1a36.3,36.3 0,0 1,4.6 72.2L640,569.6h-42.7a36.3,36.3 0,0 1,-4.6 -72.2L597.3,497.1h42.7zM640,625.1a36.3,36.3 0,0 1,4.6 72.2L640,697.6h-42.7a36.3,36.3 0,0 1,-4.6 -72.2L597.3,625.1h42.7zM640,753.1a36.3,36.3 0,0 1,4.6 72.2L640,825.6h-42.7a36.3,36.3 0,0 1,-4.6 -72.2L597.3,753.1h42.7z"
+      android:fillColor="#1296db"/>
+</vector>

+ 9 - 0
app/src/main/res/drawable/lock.xml

@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="32dp"
+    android:height="32dp"
+    android:viewportWidth="1024"
+    android:viewportHeight="1024">
+  <path
+      android:pathData="M256,341.3a256,256 0,1 1,512 0v49.1c12.1,2.6 23.6,6.5 34.8,12.2a170.7,170.7 0,0 1,74.6 74.6c10.5,20.7 14.8,42.8 16.7,66.7 1.9,23.1 1.9,51.5 1.9,85.8v63.3c0,34.3 0,62.7 -1.9,85.8 -2,24 -6.2,46.1 -16.7,66.8a170.7,170.7 0,0 1,-74.6 74.6c-20.7,10.5 -42.8,14.8 -66.7,16.7 -23.1,1.9 -51.5,1.9 -85.8,1.9L373.7,938.7c-34.3,0 -62.7,0 -85.8,-1.9 -24,-2 -46.1,-6.2 -66.8,-16.7a170.7,170.7 0,0 1,-74.6 -74.6c-10.5,-20.7 -14.8,-42.8 -16.7,-66.7C128,755.6 128,727.3 128,693v-63.3c0,-34.3 0,-62.7 1.9,-85.8 2,-24 6.2,-46.1 16.7,-66.8a170.7,170.7 0,0 1,74.6 -74.6c11.2,-5.7 22.7,-9.6 34.8,-12.2L256,341.3zM341.3,384.1C351.5,384 362.2,384 373.7,384h276.6c11.5,0 22.2,0 32.4,0.1L682.7,341.3a170.7,170.7 0,0 0,-341.3 0v42.8zM294.9,471c-18.7,1.5 -28.3,4.3 -34.9,7.7a85.3,85.3 0,0 0,-37.3 37.3c-3.4,6.7 -6.2,16.2 -7.7,34.9C213.3,570.1 213.3,594.9 213.3,631.5v59.7c0,36.6 0,61.4 1.6,80.6 1.5,18.7 4.3,28.3 7.7,34.9a85.3,85.3 0,0 0,37.3 37.3c6.7,3.4 16.2,6.2 34.9,7.7C314.1,853.3 338.9,853.3 375.5,853.3h273.1c36.6,0 61.4,0 80.6,-1.6 18.7,-1.5 28.3,-4.3 34.9,-7.7a85.3,85.3 0,0 0,37.3 -37.3c3.4,-6.7 6.2,-16.2 7.7,-34.9 1.6,-19.2 1.6,-44 1.6,-80.6v-59.7c0,-36.6 0,-61.4 -1.6,-80.6 -1.5,-18.7 -4.3,-28.3 -7.7,-34.9a85.3,85.3 0,0 0,-37.3 -37.3c-6.7,-3.4 -16.2,-6.2 -34.9,-7.7C709.9,469.3 685.1,469.3 648.5,469.3L375.5,469.3c-36.6,0 -61.4,0 -80.6,1.6zM512,576a42.7,42.7 0,0 1,42.7 42.7v85.3a42.7,42.7 0,1 1,-85.3 0v-85.3a42.7,42.7 0,0 1,42.7 -42.7z"
+      android:fillColor="#1296db"/>
+</vector>