18034727885
2026-04-17 bddc945a6d0a6ac33300bddde6b4afe6461741fa
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 ->
        }
    }
}