18034727885
2026-06-20 a050081e06c768f4c93209a5e7ba2d0dcdc0ef28
修复问题
2个文件已添加
2个文件已修改
95 ■■■■■ 已修改文件
app/src/main/java/com/xw/yunwei/ui/user/mine/scheduling/adapter/DateWeekAdapter.kt 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/ui/work/car/detail/operations/charge/ChargeCarActivity.kt 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/ui/work/car/detail/operations/charge/ChargeCarVM.kt 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/item_date_week.xml 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/ui/user/mine/scheduling/adapter/DateWeekAdapter.kt
New file
@@ -0,0 +1,44 @@
package com.xw.yunwei.ui.user.mine.scheduling.adapter
import android.widget.TextView
import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.xw.yunwei.R
import java.util.Calendar
//日期星期适配器
class DateWeekAdapter() :
    BaseQuickAdapter<String, BaseViewHolder>(R.layout.item_date_week) {
    private val calendar = Calendar.getInstance()
    var selectDate: String? = null
        set(value) {
            data.indexOf(field).takeIf { it != -1 }?.also { notifyItemChanged(it) }
            field = value
            data.indexOf(field).takeIf { it != -1 }?.also { notifyItemChanged(it) }
        }
    override fun convert(holder: BaseViewHolder, item: String) {
        calendar.apply {
            val split = item.split("-")
            set(Calendar.YEAR, split[0].toInt())
            set(Calendar.MONTH, split[1].toInt() - 1)
            set(Calendar.DAY_OF_MONTH, split[2].toInt())
            holder.setText(
                R.id.tv_week, when (get(Calendar.DAY_OF_WEEK)) {
                    Calendar.SUNDAY -> "日"
                    Calendar.MONDAY -> "一"
                    Calendar.TUESDAY -> "二"
                    Calendar.WEDNESDAY -> "三"
                    Calendar.THURSDAY -> "四"
                    Calendar.FRIDAY -> "五"
                    Calendar.SATURDAY -> "六"
                    else -> ""
                }
            )
            holder.getView<TextView>(R.id.tv_day).apply {
                text = split[2].toInt().toString()
                isSelected = selectDate == item
            }
        }
    }
}
app/src/main/java/com/xw/yunwei/ui/work/car/detail/operations/charge/ChargeCarActivity.kt
@@ -36,7 +36,6 @@
        super.init()
        viewModel.carId = intent.getLongExtra("carId", 0L)
        viewModel.taskId = intent.getLongExtra("taskId", -1L)
        viewModel.queryInfo()
        viewModel.queryStatus()
        initAdapter()
    }
app/src/main/java/com/xw/yunwei/ui/work/car/detail/operations/charge/ChargeCarVM.kt
@@ -21,7 +21,6 @@
import okhttp3.RequestBody.Companion.asRequestBody
import org.koin.core.component.inject
import java.io.File
import kotlin.getValue
class ChargeCarVM(application: Application) : BaseViewModel(application) {
    val workRepository: WorkRepository by inject()
@@ -52,6 +51,9 @@
        launchRequest {
            workRepository.queryCarInfo(carId)?.let {
                carInfo.postValue(it)
                val left =
                    if ((it.mileageRange ?: 0.0) <= 0) "" else it.mileageRange!!.toInt().toString()
                leftCharge.postValue(left)
            }
        }
    }
@@ -62,6 +64,7 @@
                chargeRecord.postValue(it)
            }
        }
        queryInfo()
    }
    fun startCharging(block: (Boolean) -> Unit) {
@@ -106,12 +109,20 @@
        }
    }
    fun stopCharging(block: (Boolean) -> Unit){
    fun stopCharging(block: (Boolean) -> Unit) {
        if (leftCharge.value.isNullOrEmpty()) {
            ToastUtilCommon.showError("请输入剩余里程")
            block(false)
            return
        }
        if (leftCharge.value!!.toDouble() <= (chargeRecord.value?.xpChargingRecord?.startRemainingBattery
                ?: 0)
        ) {
            ToastUtilCommon.showError("结束电量不得低于开始电量")
            block(false)
            return
        }
        if (adapterNow.data.isEmpty()) {
            ToastUtilCommon.showError("请上传照片")
            block(false)
@@ -139,7 +150,11 @@
        }
    }
    private fun uploadFile(files: List<FileSelectBean>,block: (Boolean) -> Unit, succ: () -> Unit) {
    private fun uploadFile(
        files: List<FileSelectBean>,
        block: (Boolean) -> Unit,
        succ: () -> Unit
    ) {
        val result = files.find { it.url.isEmpty() }
        if (result == null) {
            succ()
app/src/main/res/layout/item_date_week.xml
New file
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:orientation="vertical">
    <androidx.appcompat.widget.AppCompatTextView
        android:id="@+id/tv_week"
        android:layout_width="@dimen/dp_50"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textColor="@color/gray_9"
        android:textSize="@dimen/sp_12"
        tools:text="日" />
    <androidx.appcompat.widget.AppCompatTextView
        android:id="@+id/tv_day"
        android:layout_width="@dimen/dp_44"
        android:layout_height="@dimen/dp_44"
        android:layout_marginTop="@dimen/dp_12"
        android:background="@drawable/selector_date_bg"
        android:gravity="center"
        android:textColor="@color/selector_grey9_to_white"
        android:textSize="@dimen/sp_20"
        android:textStyle="bold"
        tools:text="18" />
</LinearLayout>