From bddc945a6d0a6ac33300bddde6b4afe6461741fa Mon Sep 17 00:00:00 2001
From: 18034727885 <973609879@qq.com>
Date: 星期五, 17 四月 2026 10:11:05 +0800
Subject: [PATCH] 个人中心增加巡游打卡任务模块

---
 app/src/main/java/com/xw/yunwei/ui/task/normal/NormalTaskDetailVM.kt |   49 +++++++++++++++++++++++++++++++++++--------------
 1 files changed, 35 insertions(+), 14 deletions(-)

diff --git a/app/src/main/java/com/xw/yunwei/ui/task/normal/NormalTaskDetailVM.kt b/app/src/main/java/com/xw/yunwei/ui/task/normal/NormalTaskDetailVM.kt
index 67923a3..c56ed98 100644
--- a/app/src/main/java/com/xw/yunwei/ui/task/normal/NormalTaskDetailVM.kt
+++ b/app/src/main/java/com/xw/yunwei/ui/task/normal/NormalTaskDetailVM.kt
@@ -1,6 +1,7 @@
 package com.xw.yunwei.ui.task.normal
 
 import android.app.Application
+import android.content.Context
 import android.util.Log
 import android.view.View
 import androidx.core.os.bundleOf
@@ -13,6 +14,7 @@
 import com.xw.common.base.ImageEventListener
 import com.xw.common.base.ImageSelectAdapter
 import com.xw.common.utils.ToastUtilCommon
+import com.xw.yunwei.Constants
 import com.xw.yunwei.Constants.user
 import com.xw.yunwei.R
 import com.xw.yunwei.model.TaskNormalChargeModel
@@ -21,9 +23,10 @@
 import com.xw.yunwei.model.TaskNormalMaintainModel
 import com.xw.yunwei.model.TaskNormalModel
 import com.xw.yunwei.model.TaskNormalRepairModel
+import com.xw.yunwei.net.CommonRepository
 import com.xw.yunwei.net.TaskRepository
 import com.xw.yunwei.net.WorkRepository
-import com.xw.yunwei.net.CommonRepository
+import com.xw.yunwei.ui.dialog.ApplyForReassignReasonDialog
 import com.xw.yunwei.ui.work.car.detail.StandardDescriptionActivity
 import com.xw.yunwei.ui.work.car.detail.operations.charge.ChargeCarActivity
 import com.xw.yunwei.ui.work.car.detail.operations.check.CheckCarActivity
@@ -34,7 +37,6 @@
 import okhttp3.RequestBody.Companion.asRequestBody
 import org.koin.core.component.inject
 import java.io.File
-import kotlin.getValue
 
 class NormalTaskDetailVM(application: Application) : BaseViewModel(application) {
     val taskRepository: TaskRepository by inject()
@@ -46,16 +48,16 @@
     var taskId = 0L
     val taskDetail: MutableLiveData<TaskNormalModel> = MutableLiveData()
     val title = taskDetail.map {
-        if(it.status == 1) "待处理" else if(it.status == 2) "已处理" else ""
+        if (it.status == 1) "待处理" else if (it.status == 2) "已处理" else ""
     }
     val levelId = taskDetail.map {
-       when(it.taskUrgencyLevel){
-           0 -> R.mipmap.ic_accident_one
-           1 -> R.mipmap.ic_accident_two
-           2 -> R.mipmap.ic_accident_three
-           3 -> R.mipmap.ic_accident_four
-           else -> R.mipmap.ic_accident_one
-       }
+        when (it.taskUrgencyLevel) {
+            0 -> R.mipmap.ic_accident_one
+            1 -> R.mipmap.ic_accident_two
+            2 -> R.mipmap.ic_accident_three
+            3 -> R.mipmap.ic_accident_four
+            else -> R.mipmap.ic_accident_one
+        }
     }
     val btnDoingAction = MutableLiveData("")
     val showDoingBtn = MutableLiveData(true) // 显示按钮
@@ -107,7 +109,7 @@
 
     fun queryDetail() {
         launchRequest {
-            Log.e(TAG, "queryDetail: $taskId", )
+            Log.e(TAG, "queryDetail: $taskId")
             taskRepository.vehicleRoutineDetail("$taskId")?.let {
                 runOnMainThread {
                     if (taskDetail.value == null || taskDetail.value!!.status != it.status) {
@@ -155,21 +157,25 @@
                             checkModel.postValue(it)
                         }
                     }
+
                     "2" -> { // 充电
                         taskRepository.chargingDetail("$taskId")?.let {
                             chargeModel.postValue(it)
                         }
                     }
+
                     "3" -> { // 整备
                         taskRepository.preparationDetail("$taskId")?.let {
                             maintainModel.postValue(it)
                         }
                     }
+
                     "4" -> { // 洗车
                         taskRepository.cleanDetail("$taskId")?.let {
                             cleanModel.postValue(it)
                         }
                     }
+
                     "5" -> { // 维修
                         taskRepository.repairDetail("$taskId")?.let {
                             repairModel.postValue(it)
@@ -180,7 +186,7 @@
         }
     }
 
-    private fun submit(){
+    private fun submit() {
         taskDetail.value?.let {
             when (it.taskTypeId) {
                 "1" -> { // 车辆检测
@@ -189,28 +195,33 @@
                         bundleOf("carId" to (it.vehicleId ?: 0L), "taskId" to (it.id ?: 0L))
                     )
                 }
+
                 "2" -> { // 开始充电
                     startActivity(
                         ChargeCarActivity::class.java,
                         bundleOf("carId" to (it.vehicleId ?: 0L), "taskId" to (it.id ?: 0L))
                     )
                 }
+
                 "3" -> { // 开始整备
                     startActivity(
                         MaintainCarActivity::class.java,
                         bundleOf("carId" to (it.vehicleId ?: 0L), "taskId" to (it.id ?: 0L))
                     )
                 }
+
                 "4" -> { // 完成洗车任务
                     cleanCar()
                 }
+
                 "5" -> { // 去送修/取回
                     startActivity(
                         RepairCarActivity::class.java,
                         bundleOf("carId" to (it.vehicleId ?: 0L), "taskId" to (it.id ?: 0L))
                     )
                 }
-                "6","7","8","9" -> { // 完成保养 完成续保 完成年检 车辆运营资质到期
+
+                "6", "7", "8", "9" -> { // 完成保养 完成续保 完成年检 车辆运营资质到期
                     saveBy()
                 }
             }
@@ -245,7 +256,7 @@
     }
 
     /*完成保养/保险/年检*/
-    private fun saveBy(){
+    private fun saveBy() {
         if (taskDescription.value.isNullOrEmpty()) {
             ToastUtilCommon.showError("请录入完成任务情况说明")
             return
@@ -295,4 +306,14 @@
             }
         }
     }
+
+    //显示改派弹窗
+    fun showApplyForReassignDialog(context: Context) {
+        ApplyForReassignReasonDialog.show(
+            context,
+            Constants.reasons,
+        ) { position, input ->
+
+        }
+    }
 }
\ No newline at end of file

--
Gitblit v1.7.1