From 605ff7fe860edb8e6af3a6999b062b304a2f78a1 Mon Sep 17 00:00:00 2001
From: 18034727885 <973609879@qq.com>
Date: 星期三, 24 六月 2026 22:36:26 +0800
Subject: [PATCH] 修复问题

---
 app/src/main/res/layout/activity_create_task.xml                            |   34 +++++++++++-----
 app/src/main/res/layout/activity_accident_detail.xml                        |    2 
 app/src/main/java/com/xw/yunwei/ui/task/accident/detail/AccidentDetailVM.kt |    4 +-
 app/src/main/java/com/xw/yunwei/ui/work/car/detail/CarDetailVM.kt           |    4 +
 app/src/main/java/com/xw/yunwei/ui/task/create/CreateTaskActivity.kt        |   18 +++++++++
 5 files changed, 47 insertions(+), 15 deletions(-)

diff --git a/app/src/main/java/com/xw/yunwei/ui/task/accident/detail/AccidentDetailVM.kt b/app/src/main/java/com/xw/yunwei/ui/task/accident/detail/AccidentDetailVM.kt
index 6d98bcd..cd8a5c4 100644
--- a/app/src/main/java/com/xw/yunwei/ui/task/accident/detail/AccidentDetailVM.kt
+++ b/app/src/main/java/com/xw/yunwei/ui/task/accident/detail/AccidentDetailVM.kt
@@ -101,7 +101,7 @@
     }
 
     /** 顶部背景图,根据是否超时切换红/蓝主题 */
-    val topBgId = isTimeOut.map {
+    val topBgId = showRed.map {
         if (it) R.mipmap.img_accident_top_bg_red else R.mipmap.img_accident_top_bg_blue
     }
 
@@ -387,7 +387,7 @@
                     minutes.postValue(if (list[1] < 10) "0${list[1]}" else "${list[1]}")
                     second.postValue(if (list[2] < 10) "0${list[2]}" else "${list[2]}")
                     // 剩余时间不足3分钟显示红色警告
-                    showRed.postValue(list[0] == 0L && list[1] == 2L)
+                    showRed.postValue(list[0] == 0L && list[1] <= 2L)
                     if (list.all { it == 0L }) { // 全0 此项移除
                         isTimeOut.postValue(true)
                     }
diff --git a/app/src/main/java/com/xw/yunwei/ui/task/create/CreateTaskActivity.kt b/app/src/main/java/com/xw/yunwei/ui/task/create/CreateTaskActivity.kt
index f68edfd..7f2f1b5 100644
--- a/app/src/main/java/com/xw/yunwei/ui/task/create/CreateTaskActivity.kt
+++ b/app/src/main/java/com/xw/yunwei/ui/task/create/CreateTaskActivity.kt
@@ -127,6 +127,9 @@
 //            gpsHelper.startLocation()
 //        }
         viewModel.getVehicleLocation()
+
+        // 检查任务等级选项文字是否重叠,重叠则将横向内边距减半
+        binding.root.post { adjustLevelPaddingIfOverlap() }
     }
 
     override fun setObservable() {
@@ -507,4 +510,19 @@
             ellipsize = TextUtils.TruncateAt.END
         }
     }
+
+    private fun adjustLevelPaddingIfOverlap() {
+        val levels = listOf(binding.level0 /*, binding.level1, binding.level2*/)
+        val hasOverlap = levels.any { level ->
+            val leftTv = level.getChildAt(0) as TextView
+            val rightTv = level.getChildAt(1) as TextView
+            rightTv.left - leftTv.right < 5.dpToPx(this)
+        }
+        if (hasOverlap) {
+            val halfPadding = 8.dpToPx(this)
+            levels.forEach {
+                it.setPadding(halfPadding, it.paddingTop, halfPadding, it.paddingBottom)
+            }
+        }
+    }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/xw/yunwei/ui/work/car/detail/CarDetailVM.kt b/app/src/main/java/com/xw/yunwei/ui/work/car/detail/CarDetailVM.kt
index 5b86b73..300df1c 100644
--- a/app/src/main/java/com/xw/yunwei/ui/work/car/detail/CarDetailVM.kt
+++ b/app/src/main/java/com/xw/yunwei/ui/work/car/detail/CarDetailVM.kt
@@ -173,7 +173,7 @@
             }
         }
         launchRequest(tips = "正在传达指令", showLoading = false, error = { code, msg ->
-            ToastUtilCommon.showError(msg.ifEmpty { "操作失败,请重试" })
+            runOnMainThread { ToastUtilCommon.showError(msg.ifEmpty { "操作失败,请重试" }) }
             when (type) {
                 1 -> {
                     hadCheckDoorStatus.postValue(false)
@@ -195,11 +195,13 @@
             workRepository.unlockByType(map)
             when (type) {
                 1 -> {
+                    runOnMainThread { ToastUtilCommon.showSuc("车门已解锁") }
                     hadCheckDoorStatus.postValue(false)
                     hadDoorOpened.postValue(true)
                 }
 
                 2 -> {
+                    runOnMainThread { ToastUtilCommon.showSuc("后备箱已解锁") }
                     hadCheckTrunkStatus.postValue(false)
                     hadTrunkOpened.postValue(true)
                 }
diff --git a/app/src/main/res/layout/activity_accident_detail.xml b/app/src/main/res/layout/activity_accident_detail.xml
index 49d388b..cdeafdf 100644
--- a/app/src/main/res/layout/activity_accident_detail.xml
+++ b/app/src/main/res/layout/activity_accident_detail.xml
@@ -204,7 +204,7 @@
                             android:layout_height="wrap_content"
                             android:layout_marginTop="@dimen/dp_5"
                             android:text="倒计时结束前,务必到达现场"
-                            android:textColor="@color/blue_5"
+                            android:textColor="@{viewModel.showRed?@color/red_5:@color/blue_5}"
                             android:textSize="@dimen/sp_14" />
 
                     </LinearLayout>
diff --git a/app/src/main/res/layout/activity_create_task.xml b/app/src/main/res/layout/activity_create_task.xml
index dcda545..a18ccd8 100644
--- a/app/src/main/res/layout/activity_create_task.xml
+++ b/app/src/main/res/layout/activity_create_task.xml
@@ -204,21 +204,33 @@
                     android:layout_marginHorizontal="@dimen/dp_20"
                     android:background="@color/gray_4" />
 
-                <androidx.appcompat.widget.AppCompatTextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginStart="@dimen/dp_20"
-                    android:layout_marginTop="@dimen/dp_8"
-                    android:drawableStart="@drawable/svg_must"
-                    android:text="任务等级"
-                    android:textColor="@color/gray_9"
-                    android:textSize="@dimen/sp_16"
-                    android:textStyle="bold" />
+                <FrameLayout
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/dp_8">
+
+                    <androidx.appcompat.widget.AppCompatImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_gravity="center_vertical"
+                            android:layout_marginStart="@dimen/dp_12"
+                            android:src="@drawable/svg_must" />
+
+                    <androidx.appcompat.widget.AppCompatTextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="@dimen/dp_20"
+                            android:text="任务等级"
+                            android:textColor="@color/gray_9"
+                            android:textSize="@dimen/sp_16"
+                            android:textStyle="bold" />
+
+                </FrameLayout>
 
                 <LinearLayout
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    android:layout_marginHorizontal="@dimen/dp_28"
+                    android:layout_marginHorizontal="@dimen/dp_20"
                     android:layout_marginTop="@dimen/dp_8"
                     android:orientation="vertical">
 

--
Gitblit v1.7.1