18034727885
2026-06-13 520614b3cfb1edbbdaa916fcc40a12e93e05f803
交互优化
修复问题
2个文件已添加
36个文件已修改
668 ■■■■■ 已修改文件
app/src/main/java/com/xw/yunwei/model/CarModel.kt 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/ui/task/create/CreateTaskActivity.kt 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/ui/task/selectCar/SelectCarAdapter.kt 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/ui/user/login/LoginActivity.kt 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/ui/user/mine/protocol/ProtocolActivity.kt 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/ui/user/mine/protocol/ProtocolVM.kt 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/ui/user/mine/protocol/adapter/ProtocolEntranceAdapter.kt 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/ui/work/CarAdapter.kt 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/ui/work/car/detail/StandardDescriptionActivity.kt 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/ui/work/car/detail/dispatch/DispatchFragment.kt 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/ui/work/car/detail/management/ManagementFragment.kt 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/ui/work/car/detail/operations/OperationsFragment.kt 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/ui/work/car/detail/operations/charge/ChargeCarActivity.kt 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/ui/work/car/detail/operations/check/CheckCarActivity.kt 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/ui/work/car/detail/operations/clean/CleanCarActivity.kt 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/ui/work/car/manage/CarAdapter.kt 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_accident_process.xml 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_car_charge.xml 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_car_check.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_car_clean.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_car_maintain.xml 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_cert_upload.xml 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_create_task.xml 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_cruise_check_in_operation.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_protocol.xml 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_site_error_upload.xml 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_standard_description.xml 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/fragment_work.xml 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/item_protocol_entrance.xml 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/item_work_car.xml 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/layout_car_repair_get.xml 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/layout_car_repair_send.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/layout_normal_task_car_clear.xml 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/layout_normal_task_car_nj_or_by_or_bx.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/mipmap-xhdpi/img_work_car.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/mipmap-xhdpi/img_work_car_bg.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/mipmap-xhdpi/img_work_map.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/mipmap-xhdpi/img_work_report.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/model/CarModel.kt
@@ -2,6 +2,7 @@
import android.os.Parcelable
import com.google.gson.annotations.SerializedName
import com.xw.common.utils.BindUtils.getUrl
import kotlinx.parcelize.Parcelize
/**
@@ -244,4 +245,13 @@
     */
    @SerializedName("updateTime")
    val updateTime: String? = null
) : Parcelable
) : Parcelable {
    //获取车辆图片
    fun getShowVehiclePicture(): String {
        return try {
            vehiclePictures?.getUrl() ?: ""
        } catch (e: Exception) {
            ""
        }
    }
}
app/src/main/java/com/xw/yunwei/ui/task/create/CreateTaskActivity.kt
@@ -343,12 +343,7 @@
     */
    @SuppressLint("SetTextI18n")
    private fun initCarLayout(item: CarModel){
        var url = ""
        try {
            url = item.vehiclePictures?.getUrl() ?: ""
        } catch (e: Exception) {
        }
        ViewAdapter.loadImage(binding.icon, ImageDefault(url, com.xw.yunwei.R.mipmap.img_work_car))
        ViewAdapter.loadImage(binding.icon, ImageDefault(item.getShowVehiclePicture(), com.xw.yunwei.R.mipmap.img_work_car))
        binding.name.text = item.plateNumber
        binding.color.text = "${item.vehicleColor} | 车身编码:${item.vehicleCode}"
app/src/main/java/com/xw/yunwei/ui/task/selectCar/SelectCarAdapter.kt
@@ -32,12 +32,7 @@
        val binding = DataBindingUtil.bind<ItemSelectCarBinding>(holder.itemView)
        binding?.let {
            // 加载车辆图片,异常时显示默认车辆图
            var url = ""
            try {
                url = item.vehiclePictures?.getUrl() ?: ""
            } catch (e: Exception) {
            }
            ViewAdapter.loadImage(binding.icon, ImageDefault(url, R.mipmap.img_work_car))
            ViewAdapter.loadImage(binding.icon, ImageDefault(item.getShowVehiclePicture(), R.mipmap.img_work_car))
            binding.name.text = item.plateNumber
            binding.color.text = "${item.vehicleColor} | 车身编码:${item.vehicleCode}"
app/src/main/java/com/xw/yunwei/ui/user/login/LoginActivity.kt
@@ -80,7 +80,11 @@
                    override fun onClick(widget: View) {
                        startActivity(
                            StandardDescriptionActivity::class.java,
                            bundleOf("type" to it.id?.toInt(), "webType" to 1)
                            bundleOf(
                                "type" to it.id?.toInt(),
                                "webType" to 1,
                                "title" to it.name
                            )
                        )
                    }
app/src/main/java/com/xw/yunwei/ui/user/mine/protocol/ProtocolActivity.kt
@@ -1,97 +1,44 @@
package com.xw.yunwei.ui.user.mine.protocol
import android.annotation.SuppressLint
import android.webkit.WebSettings
import android.webkit.WebView
import com.google.android.material.tabs.TabLayout
import androidx.core.os.bundleOf
import androidx.recyclerview.widget.LinearLayoutManager
import com.xw.yunwei.BR
import com.xw.yunwei.BaseBusinessActivity
import com.xw.yunwei.databinding.ActivityProtocolBinding
import com.xw.yunwei.extension.safeLoadDataWithBaseURL
import com.xw.yunwei.extension.setSafeSetting
import com.xw.yunwei.ui.user.mine.protocol.adapter.ProtocolEntranceAdapter
import com.xw.yunwei.ui.work.car.detail.StandardDescriptionActivity
class ProtocolActivity : BaseBusinessActivity<ActivityProtocolBinding, ProtocolVM>() {
    override fun getBindingVariable() = BR.viewModel
    val adapter by lazy { ProtocolEntranceAdapter() }
    override fun init() {
        super.init()
        initWeb(binding.web)
        binding.back.setOnClickListener { onBackPressedHandel() }
//        val tab1 = binding.tabLayout.newTab().apply { text = "小鹏Robotaxi自动驾驶出行运维隐私政策" }
        val tab1 = binding.tabLayout.newTab().apply { text = "小鹏Robotaxi...隐私政策" }
        val tab2 = binding.tabLayout.newTab().apply { text = "第三方共享信息清单" }
        val tab3 = binding.tabLayout.newTab().apply { text = "个人信息收集清单" }
        val tab4 = binding.tabLayout.newTab().apply { text = "权限调用" }
        binding.tabLayout.addTab(tab1, true)
        binding.tabLayout.addTab(tab2, false)
        binding.tabLayout.addTab(tab3, false)
        binding.tabLayout.addTab(tab4, false)
        val getProtocol: (Int) -> Unit = { type ->
            viewModel.getProtocol(type) {
                setContent(binding.web, it)
            }
        binding.back.setOnClickListener {
            finish()
        }
        getProtocol(8)
        binding.tabLayout.addOnTabSelectedListener(object :
            TabLayout.OnTabSelectedListener {
            override fun onTabSelected(tab: TabLayout.Tab?) {
                tab?.let {
                    when (it.text) {
                        "用户协议" -> getProtocol(1)
                        "隐私条款" -> getProtocol(2)
                        "小鹏Robotaxi...隐私政策" -> getProtocol(8)
                        "第三方共享信息清单" -> getProtocol(9)
                        "个人信息收集清单" -> getProtocol(10)
                        "权限调用" -> getProtocol(11)
                        else -> {}
                    }
                }
            }
            override fun onTabUnselected(tab: TabLayout.Tab?) {}
            override fun onTabReselected(tab: TabLayout.Tab?) {}
        })
        binding.rvList.adapter = adapter
        binding.rvList.layoutManager = LinearLayoutManager(this)
    }
    @SuppressLint("SetJavaScriptEnabled")
    private fun initWeb(webView: WebView) {
        //声明WebSettings子类
        val webSettings = webView.settings
        webSettings.domStorageEnabled = true //设置适应Html5
        //如果访问的页面中要与Javascript交互,则webview必须设置支持Javascript
        webSettings.javaScriptEnabled = true //允许js调用
        webSettings.allowContentAccess = true //是否允许在WebView中访问内容URL(Content Url),默认允许
        //缩放操作
        webSettings.setSupportZoom(true) //支持缩放,默认为true。是下面那个的前提。
        webSettings.builtInZoomControls = true //设置内置的缩放控件。若为false,则该WebView不可缩放
        webSettings.displayZoomControls = false //隐藏原生的缩放控件
        //其他细节操作
        webSettings.cacheMode = WebSettings.LOAD_CACHE_ELSE_NETWORK //关闭webview中缓存
        webSettings.javaScriptCanOpenWindowsAutomatically = true //支持通过JS打开新窗口
        webSettings.loadsImagesAutomatically = true //支持自动加载图片
        webSettings.defaultTextEncodingName = "utf-8" //设置编码格式
        webView.setSafeSetting()//安全设置
    }
    @SuppressLint("SetJavaScriptEnabled")
    private fun setContent(webView: WebView, content: String?) {
        content?.let {
            // 加载并显示HTML代码
            webView.safeLoadDataWithBaseURL(
                null,
                content,
                "text/html",
                "utf-8",
                null
    override fun setListener() {
        super.setListener()
        adapter.setOnItemClickListener { adapter, view, i ->
            val info = viewModel.protocols.value!![i]
            startActivity(
                StandardDescriptionActivity::class.java,
                bundleOf(
                    "type" to info.id?.toInt(),
                    "webType" to 1,
                    "title" to info.name
                )
            )
        }
    }
    override fun setObservable() {
        super.setObservable()
        viewModel.protocols.observe(this) { it ->
            adapter.setList(it.map { it.name ?: "" })
        }
    }
}
app/src/main/java/com/xw/yunwei/ui/user/mine/protocol/ProtocolVM.kt
@@ -1,19 +1,26 @@
package com.xw.yunwei.ui.user.mine.protocol
import android.app.Application
import androidx.lifecycle.MutableLiveData
import com.xw.common.base.BaseViewModel
import com.xw.yunwei.model.AgreeInfo
import com.xw.yunwei.net.UserRepository
import org.koin.core.component.inject
import kotlin.getValue
class ProtocolVM (application: Application) : BaseViewModel(application) {
class ProtocolVM(application: Application) : BaseViewModel(application) {
    val userRepository: UserRepository by inject()
    fun getProtocol(type: Int, block: (String) -> Unit) {
        launchRequest {
            val data = userRepository.getProtocol(type)
            runOnMainThread { block(data?.content ?: "") }
        }
    val protocols = MutableLiveData<List<AgreeInfo>>()
    override fun onCreate() {
        super.onCreate()
        getAgreeConfig()
    }
    /*获取协议配置 */
    fun getAgreeConfig() {
        launchRequest {
            userRepository.getAgreeConfig()?.also {
                protocols.postValue(it)
            }
        }
    }
}
app/src/main/java/com/xw/yunwei/ui/user/mine/protocol/adapter/ProtocolEntranceAdapter.kt
New file
@@ -0,0 +1,13 @@
package com.xw.yunwei.ui.user.mine.protocol.adapter
import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.xw.yunwei.R
//服务条款入口适配器
class ProtocolEntranceAdapter :
    BaseQuickAdapter<String, BaseViewHolder>(R.layout.item_protocol_entrance) {
    override fun convert(holder: BaseViewHolder, item: String) {
        holder.setText(R.id.tv_title, item)
    }
}
app/src/main/java/com/xw/yunwei/ui/work/CarAdapter.kt
@@ -21,12 +21,7 @@
        binding?.let {
            it.root.setOnClickListener { listener.onItemClick(item) }
            var url = ""
            try {
                url = item.vehiclePictures?.getUrl() ?: ""
            } catch (e: Exception) {
            }
            ViewAdapter.loadImage(binding.icon, ImageDefault(url, R.mipmap.img_work_car))
            ViewAdapter.loadImage(binding.icon, ImageDefault(item.getShowVehiclePicture(), R.mipmap.img_work_car))
            binding.name.text = item.plateNumber
            binding.no.text = "NO.${item.vehicleCode}"
            binding.batteryLife.text = "${item.mileageRange?.toInt()}km"
app/src/main/java/com/xw/yunwei/ui/work/car/detail/StandardDescriptionActivity.kt
@@ -23,12 +23,13 @@
    override fun init() {
        super.init()
        val title = intent.getStringExtra("title")
        val type = intent.getIntExtra("type", 1)
        val webType = intent.getIntExtra("webType", 0)
        if (webType == 0) {
            viewModel.getDesc(type)
        } else {
            binding.title.text = "协议内容"
            binding.title.text = title ?: "协议内容"
            viewModel.getLoginProtocol(type)
        }
        initWeb(binding.web)
app/src/main/java/com/xw/yunwei/ui/work/car/detail/dispatch/DispatchFragment.kt
@@ -148,12 +148,8 @@
            )
        )
        binding.batteryView.setLevel(it.currentElectricity ?: 0)
        var url = ""
        try {
            url = it.vehiclePictures?.getUrl() ?: ""
        } catch (e: Exception) {
        }
        ViewAdapter.loadImage(binding.icon, ImageDefault(url, R.mipmap.img_work_car1))
        ViewAdapter.loadImage(binding.icon, ImageDefault(it.getShowVehiclePicture(), R.mipmap.img_work_car1))
    }
    private fun initSlideView(it: CarModel) {
app/src/main/java/com/xw/yunwei/ui/work/car/detail/management/ManagementFragment.kt
@@ -52,12 +52,8 @@
            )
        )
        binding.batteryView.setLevel(it.currentElectricity ?: 0)
        var url = ""
        try {
            url = it.vehiclePictures?.getUrl() ?: ""
        } catch (e: Exception) {
        }
        ViewAdapter.loadImage(binding.icon, ImageDefault(url, R.mipmap.img_work_car1))
        ViewAdapter.loadImage(binding.icon, ImageDefault(it.getShowVehiclePicture(), R.mipmap.img_work_car1))
        val setStatus: (Int, Int) -> Unit = { text, bg ->
            binding.status.setTextColor(text)
app/src/main/java/com/xw/yunwei/ui/work/car/detail/operations/OperationsFragment.kt
@@ -86,11 +86,7 @@
            )
        )
        binding.batteryView.setLevel(it.currentElectricity ?: 0)
        var url = ""
        try {
            url = it.vehiclePictures?.getUrl() ?: ""
        } catch (e: Exception) {
        }
        ViewAdapter.loadImage(binding.icon, ImageDefault(url, R.mipmap.img_work_car1))
        ViewAdapter.loadImage(binding.icon, ImageDefault(it.getShowVehiclePicture(), R.mipmap.img_work_car1))
    }
}
app/src/main/java/com/xw/yunwei/ui/work/car/detail/operations/charge/ChargeCarActivity.kt
@@ -1,7 +1,6 @@
package com.xw.yunwei.ui.work.car.detail.operations.charge
import android.annotation.SuppressLint
import android.content.res.ColorStateList
import android.net.Uri
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.GridLayoutManager
@@ -22,12 +21,13 @@
import com.xw.common.utils.BindUtils.getUrls
import com.xw.common.utils.GlideEngine
import com.xw.common.utils.PictureCompressEngine
import com.xw.common.viewAdapter.ImageDefault
import com.xw.common.viewAdapter.ViewAdapter
import com.xw.yunwei.BR
import com.xw.yunwei.BaseBusinessActivity
import com.xw.yunwei.R
import com.xw.yunwei.databinding.ActivityCarChargeBinding
import com.xw.yunwei.model.CarModel
import java.util.ArrayList
/**
 * 车辆充电
@@ -52,19 +52,21 @@
        }
        viewModel.chargeRecord.observe(this) {
            initSlideView(it.status ?: 1)
            if(it.status == 2){
            if (it.status == 2) {
                it.xpChargingRecord?.startChargingPicture?.let {
                    val list = it.getUrls().map { FileSelectBean(url = it, type = "img") }
                    viewModel.adapterHis.setList(list)
                }
                binding.batteryLifeHis.text = "${it.xpChargingRecord?.startRemainingBattery?:0}km"
                binding.batteryLifeHis.text = "${it.xpChargingRecord?.startRemainingBattery ?: 0}km"
                binding.batteryLifeHis.setTextColor(
                    getBatteryColorByBatteryLife(
                        it.xpChargingRecord?.startRemainingBattery ?: 0
                    )
                )
                binding.batteryViewHis.setBatteryLife(it.xpChargingRecord?.startRemainingBattery ?: 0)
                binding.batteryViewHis.setBatteryLife(
                    it.xpChargingRecord?.startRemainingBattery ?: 0
                )
            }
        }
    }
@@ -87,7 +89,8 @@
            binding.slideView.setThumbDrawable(com.xw.common.R.mipmap.ic_slide_b)
            binding.slideView.setSlideTextColor(getResColor(com.xw.common.R.color.blue_5))
            binding.slideView.setSlideBackgroundColor(getResColor(com.xw.common.R.color.blue_1))
            binding.slideArrow.imageTintList = ContextCompat.getColorStateList(this, com.xw.common.R.color.blue_5)
            binding.slideArrow.imageTintList =
                ContextCompat.getColorStateList(this, com.xw.common.R.color.blue_5)
            binding.slideView.setSlideText("右滑开始充电")
            binding.slideView.setSlideDirection(DIRECTION_RIGHT)
        } else if (status == 2) { // 已开始充电
@@ -95,7 +98,8 @@
            binding.slideView.setSlideTextColor(getResColor(com.xw.common.R.color.orange_5))
            binding.slideView.setSlideBackgroundColor(getResColor(com.xw.common.R.color.orange_1))
            binding.slideView.setSlideText("右滑结束充电")
            binding.slideArrow.imageTintList = ContextCompat.getColorStateList(this, com.xw.common.R.color.orange_5)
            binding.slideArrow.imageTintList =
                ContextCompat.getColorStateList(this, com.xw.common.R.color.orange_5)
            binding.slideView.setSlideDirection(DIRECTION_RIGHT)
        }
    }
@@ -156,6 +160,23 @@
            )
        )
        binding.batteryView.setLevel(it.currentElectricity ?: 0)
        binding.tv2.text = when (it.status) {
            1 -> { // 未开始充电
                "充电前照片"
            }
            2 -> { // 已开始充电
                "充电后照片"
            }
            else -> {
                ""
            }
        }
        ViewAdapter.loadImage(
            binding.ivCar,
            ImageDefault(it.getShowVehiclePicture(), R.mipmap.img_work_car1)
        )
    }
    private fun showTypeDialog() {
app/src/main/java/com/xw/yunwei/ui/work/car/detail/operations/check/CheckCarActivity.kt
@@ -209,12 +209,8 @@
            )
        )
        binding.batteryView.setLevel(it.currentElectricity ?: 0)
        var url = ""
        try {
            url = it.vehiclePictures?.getUrl() ?: ""
        } catch (e: Exception) {
        }
        ViewAdapter.loadImage(binding.icon, ImageDefault(url, R.mipmap.img_work_car1))
        ViewAdapter.loadImage(binding.icon, ImageDefault(it.getShowVehiclePicture(), R.mipmap.img_work_car1))
    }
    private fun showTypeDialog() {
app/src/main/java/com/xw/yunwei/ui/work/car/detail/operations/clean/CleanCarActivity.kt
@@ -16,8 +16,11 @@
import com.xw.common.base.ShowImgListDialog
import com.xw.common.utils.GlideEngine
import com.xw.common.utils.PictureCompressEngine
import com.xw.common.viewAdapter.ImageDefault
import com.xw.common.viewAdapter.ViewAdapter
import com.xw.yunwei.BR
import com.xw.yunwei.BaseBusinessActivity
import com.xw.yunwei.R
import com.xw.yunwei.databinding.ActivityCarCleanBinding
import com.xw.yunwei.model.CarModel
@@ -77,6 +80,10 @@
            )
        )
        binding.batteryView.setLevel(it.currentElectricity ?: 0)
        ViewAdapter.loadImage(
            binding.ivCar,
            ImageDefault(it.getShowVehiclePicture(), R.mipmap.img_work_car1)
        )
    }
    private fun showTypeDialog() {
app/src/main/java/com/xw/yunwei/ui/work/car/manage/CarAdapter.kt
@@ -31,12 +31,7 @@
                it.parent.setBackgroundColor(getResColor(com.xw.common.R.color.white))
            }
            var url = ""
            try {
                url = item.vehiclePictures?.getUrl() ?: ""
            } catch (e: Exception) {
            }
            ViewAdapter.loadImage(binding.icon, ImageDefault(url, R.mipmap.img_work_car))
            ViewAdapter.loadImage(binding.icon, ImageDefault(item.getShowVehiclePicture(), R.mipmap.img_work_car))
            binding.name.text = item.plateNumber
            binding.color.text = item.vehicleColor
            binding.batteryLife.text = "${item.mileageRange?.toInt()}km"
app/src/main/res/layout/activity_accident_process.xml
@@ -45,8 +45,8 @@
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_marginTop="@dimen/dp_88"
            android:fillViewport="true"
            android:layout_marginBottom="@dimen/dp_66"
            android:fillViewport="true"
            android:scrollbars="none"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintTop_toTopOf="parent">
@@ -54,16 +54,16 @@
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:paddingBottom="@dimen/dp_30"
                android:orientation="vertical">
                android:orientation="vertical"
                android:paddingBottom="@dimen/dp_30">
                <androidx.appcompat.widget.AppCompatTextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginHorizontal="@dimen/dp_20"
                    android:layout_marginTop="@dimen/dp_8"
                    android:text="人员伤亡情况"
                    android:drawableStart="@drawable/svg_must"
                    android:text="人员伤亡情况"
                    android:textColor="@color/gray_9"
                    android:textSize="@dimen/sp_16"
                    android:textStyle="bold" />
@@ -101,10 +101,10 @@
                            <androidx.appcompat.widget.AppCompatTextView
                                android:id="@+id/cut1"
                                android:onClick="@{viewModel.onClick}"
                                android:layout_width="@dimen/dp_28"
                                android:layout_height="match_parent"
                                android:gravity="center"
                                android:onClick="@{viewModel.onClick}"
                                android:text="-"
                                android:textColor="@color/gray_9"
                                android:textSize="@dimen/sp_20" />
@@ -118,10 +118,10 @@
                                android:layout_width="@dimen/dp_42"
                                android:layout_height="match_parent"
                                android:gravity="center"
                                tools:text="0"
                                android:text="@{viewModel.death}"
                                android:textColor="@color/gray_9"
                                android:textSize="@dimen/sp_14" />
                                android:textSize="@dimen/sp_14"
                                tools:text="0" />
                            <View
                                android:layout_width="1px"
@@ -129,12 +129,12 @@
                                android:background="@color/gray_4" />
                            <androidx.appcompat.widget.AppCompatTextView
                                android:id="@+id/add1"
                                android:layout_width="@dimen/dp_28"
                                android:layout_height="match_parent"
                                android:gravity="center"
                                android:text="+"
                                android:id="@+id/add1"
                                android:onClick="@{viewModel.onClick}"
                                android:text="+"
                                android:textColor="@color/gray_9"
                                android:textSize="@dimen/sp_20" />
@@ -166,12 +166,12 @@
                            tools:ignore="UselessLeaf">
                            <androidx.appcompat.widget.AppCompatTextView
                                android:id="@+id/cut2"
                                android:layout_width="@dimen/dp_28"
                                android:layout_height="match_parent"
                                android:gravity="center"
                                android:text="-"
                                android:id="@+id/cut2"
                                android:onClick="@{viewModel.onClick}"
                                android:text="-"
                                android:textColor="@color/gray_9"
                                android:textSize="@dimen/sp_20" />
@@ -184,10 +184,10 @@
                                android:layout_width="@dimen/dp_42"
                                android:layout_height="match_parent"
                                android:gravity="center"
                                tools:text="0"
                                android:text="@{viewModel.badlyHurt}"
                                android:textColor="@color/gray_9"
                                android:textSize="@dimen/sp_14" />
                                android:textSize="@dimen/sp_14"
                                tools:text="0" />
                            <View
                                android:layout_width="1px"
@@ -195,10 +195,10 @@
                                android:background="@color/gray_4" />
                            <androidx.appcompat.widget.AppCompatTextView
                                android:id="@+id/add2"
                                android:layout_width="@dimen/dp_28"
                                android:layout_height="match_parent"
                                android:gravity="center"
                                android:id="@+id/add2"
                                android:onClick="@{viewModel.onClick}"
                                android:text="+"
                                android:textColor="@color/gray_9"
@@ -232,12 +232,12 @@
                            tools:ignore="UselessLeaf">
                            <androidx.appcompat.widget.AppCompatTextView
                                android:id="@+id/cut3"
                                android:layout_width="@dimen/dp_28"
                                android:layout_height="match_parent"
                                android:gravity="center"
                                android:text="-"
                                android:id="@+id/cut3"
                                android:onClick="@{viewModel.onClick}"
                                android:text="-"
                                android:textColor="@color/gray_9"
                                android:textSize="@dimen/sp_20" />
@@ -250,10 +250,10 @@
                                android:layout_width="@dimen/dp_42"
                                android:layout_height="match_parent"
                                android:gravity="center"
                                tools:text="0"
                                android:text="@{viewModel.minorInjuries}"
                                android:textColor="@color/gray_9"
                                android:textSize="@dimen/sp_14" />
                                android:textSize="@dimen/sp_14"
                                tools:text="0" />
                            <View
                                android:layout_width="1px"
@@ -261,10 +261,10 @@
                                android:background="@color/gray_4" />
                            <androidx.appcompat.widget.AppCompatTextView
                                android:id="@+id/add3"
                                android:layout_width="@dimen/dp_28"
                                android:layout_height="match_parent"
                                android:gravity="center"
                                android:id="@+id/add3"
                                android:onClick="@{viewModel.onClick}"
                                android:text="+"
                                android:textColor="@color/gray_9"
@@ -350,9 +350,9 @@
                        android:background="@null"
                        android:gravity="top"
                        android:hint="请输入现场描述,最多可输入200字"
                        android:text="@={viewModel.siteDesc}"
                        android:maxLength="200"
                        android:padding="@dimen/dp_12"
                        android:text="@={viewModel.siteDesc}"
                        android:textColor="@color/gray_9"
                        android:textColorHint="@color/gray_6"
                        android:textSize="@dimen/sp_14"
@@ -360,16 +360,26 @@
                    <androidx.appcompat.widget.AppCompatTextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_margin="@dimen/dp_6"
                        android:text="@{viewModel.siteNums}"
                        android:textColor="@color/gray_6"
                        android:textSize="@dimen/sp_14"
                        tools:text="1/200"
                        android:text="@{viewModel.siteNums}"
                        android:layout_margin="@dimen/dp_6"
                        android:layout_height="wrap_content"
                        app:layout_constraintBottom_toBottomOf="parent"
                        app:layout_constraintRight_toRightOf="parent" />
                        app:layout_constraintRight_toRightOf="parent"
                        tools:text="1/200" />
                </androidx.constraintlayout.widget.ConstraintLayout>
                <androidx.appcompat.widget.AppCompatTextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginHorizontal="@dimen/dp_20"
                    android:layout_marginTop="@dimen/dp_12"
                    android:drawableStart="@drawable/svg_must"
                    android:text="现场照片"
                    android:textColor="@color/gray_9"
                    android:textSize="@dimen/sp_16" />
                <androidx.recyclerview.widget.RecyclerView
                    android:id="@+id/rv2"
@@ -390,8 +400,8 @@
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginHorizontal="@dimen/dp_20"
                    android:text="处置情况"
                    android:drawableStart="@drawable/svg_must"
                    android:text="处置情况"
                    android:textColor="@color/gray_9"
                    android:textSize="@dimen/sp_16" />
@@ -408,10 +418,10 @@
                        android:layout_height="wrap_content"
                        android:background="@null"
                        android:gravity="top"
                        android:text="@={viewModel.disposalDesc}"
                        android:hint="请输入处置描述,最多可输入200字"
                        android:maxLength="200"
                        android:padding="@dimen/dp_12"
                        android:text="@={viewModel.disposalDesc}"
                        android:textColor="@color/gray_9"
                        android:textColorHint="@color/gray_6"
                        android:textSize="@dimen/sp_14"
@@ -419,17 +429,27 @@
                    <androidx.appcompat.widget.AppCompatTextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_margin="@dimen/dp_6"
                        android:text="@{viewModel.disposalNums}"
                        android:textColor="@color/gray_6"
                        android:textSize="@dimen/sp_14"
                        android:text="@{viewModel.disposalNums}"
                        tools:text="1/200"
                        android:layout_margin="@dimen/dp_6"
                        android:layout_height="wrap_content"
                        app:layout_constraintBottom_toBottomOf="parent"
                        app:layout_constraintRight_toRightOf="parent" />
                        app:layout_constraintRight_toRightOf="parent"
                        tools:text="1/200" />
                </androidx.constraintlayout.widget.ConstraintLayout>
                <androidx.appcompat.widget.AppCompatTextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginHorizontal="@dimen/dp_20"
                    android:layout_marginTop="@dimen/dp_12"
                    android:drawableStart="@drawable/svg_must"
                    android:text="处置照片"
                    android:textColor="@color/gray_9"
                    android:textSize="@dimen/sp_16" />
                <androidx.recyclerview.widget.RecyclerView
                    android:id="@+id/rv3"
                    android:layout_width="match_parent"
app/src/main/res/layout/activity_car_charge.xml
@@ -88,12 +88,21 @@
            android:orientation="vertical"
            app:layout_constraintTop_toTopOf="parent">
            <androidx.appcompat.widget.AppCompatImageView
                android:id="@+id/iv_car"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/dp_10"
                android:adjustViewBounds="true"
                android:src="@mipmap/img_work_car1"
                app:layout_constraintTop_toTopOf="parent" />
            <androidx.constraintlayout.widget.ConstraintLayout
                android:id="@+id/chargeLayout"
                show="@{viewModel.chargeRecord.status==2}"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:layout_constraintTop_toTopOf="parent">
                app:layout_constraintTop_toBottomOf="@id/iv_car">
                <androidx.appcompat.widget.AppCompatImageView
                    android:id="@+id/icon"
@@ -223,6 +232,7 @@
                android:layout_height="wrap_content"
                android:layout_marginStart="@dimen/dp_20"
                android:layout_marginTop="@dimen/dp_20"
                android:drawableStart="@drawable/svg_must"
                android:text="当前剩余电量"
                android:textColor="@color/gray_9"
                android:textSize="@dimen/sp_16"
@@ -273,20 +283,35 @@
                app:layout_constraintTop_toTopOf="@+id/chargeEt" />
            <View
                android:id="@+id/v_line"
                android:layout_width="match_parent"
                android:layout_height="1px"
                android:layout_marginHorizontal="@dimen/dp_20"
                android:background="@color/gray_4"
                app:layout_constraintTop_toBottomOf="@+id/chargeEt" />
            <androidx.appcompat.widget.AppCompatTextView
                android:id="@+id/tv2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="@dimen/dp_20"
                android:layout_marginTop="@dimen/dp_20"
                android:drawableStart="@drawable/svg_must"
                android:text="充电前照片"
                android:textColor="@color/gray_9"
                android:textSize="@dimen/sp_16"
                android:textStyle="bold"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintTop_toBottomOf="@id/v_line" />
            <androidx.recyclerview.widget.RecyclerView
                android:id="@+id/rv"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/dp_20"
                android:layout_marginTop="@dimen/dp_16"
                app:layout_constraintLeft_toLeftOf="@+id/chargeEt"
                app:layout_constraintRight_toRightOf="@+id/chargeEt"
                app:layout_constraintTop_toBottomOf="@+id/chargeEt"
                app:layout_constraintTop_toBottomOf="@+id/tv2"
                tools:layout_height="@dimen/dp_40" />
        </androidx.constraintlayout.widget.ConstraintLayout>
app/src/main/res/layout/activity_car_check.xml
@@ -198,6 +198,7 @@
                    android:layout_height="wrap_content"
                    android:layout_marginStart="@dimen/dp_20"
                    android:layout_marginTop="@dimen/dp_20"
                    android:drawableStart="@drawable/svg_must"
                    android:text="传感器清洁"
                    android:textColor="@color/gray_9"
                    android:textSize="@dimen/sp_16"
@@ -242,6 +243,7 @@
                    android:layout_height="wrap_content"
                    android:layout_marginStart="@dimen/dp_20"
                    android:layout_marginTop="@dimen/dp_20"
                    android:drawableStart="@drawable/svg_must"
                    android:text="车内交互屏检查"
                    android:textColor="@color/gray_9"
                    android:textSize="@dimen/sp_16"
@@ -286,6 +288,7 @@
                    android:layout_height="wrap_content"
                    android:layout_marginStart="@dimen/dp_20"
                    android:layout_marginTop="@dimen/dp_20"
                    android:drawableStart="@drawable/svg_must"
                    android:text="紧急求助按钮/应答机"
                    android:textColor="@color/gray_9"
                    android:textSize="@dimen/sp_16"
@@ -330,6 +333,7 @@
                    android:layout_height="wrap_content"
                    android:layout_marginStart="@dimen/dp_20"
                    android:layout_marginTop="@dimen/dp_20"
                    android:drawableStart="@drawable/svg_must"
                    android:text="支付功能"
                    android:textColor="@color/gray_9"
                    android:textSize="@dimen/sp_16"
@@ -380,6 +384,7 @@
                    android:layout_height="wrap_content"
                    android:layout_marginStart="@dimen/dp_20"
                    android:layout_marginTop="@dimen/dp_20"
                    android:drawableStart="@drawable/svg_must"
                    android:text="订单系统检查"
                    android:textColor="@color/gray_9"
                    android:textSize="@dimen/sp_16"
app/src/main/res/layout/activity_car_clean.xml
@@ -81,18 +81,28 @@
        </LinearLayout>
        <androidx.appcompat.widget.AppCompatImageView
            android:id="@+id/iv_car"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/dp_108"
            android:adjustViewBounds="true"
            android:src="@mipmap/img_work_car1"
            app:layout_constraintTop_toTopOf="parent" />
        <androidx.appcompat.widget.AppCompatTextView
            android:id="@+id/tv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="@dimen/dp_20"
            android:layout_marginTop="@dimen/dp_108"
            android:layout_marginTop="@dimen/dp_10"
            android:text="车身标识及清洁"
            android:drawableStart="@drawable/svg_must"
            android:textColor="@color/gray_9"
            android:textSize="@dimen/sp_16"
            android:textStyle="bold"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
            app:layout_constraintTop_toBottomOf="@id/iv_car" />
        <androidx.appcompat.widget.AppCompatTextView
            android:id="@+id/viewDetail"
app/src/main/res/layout/activity_car_maintain.xml
@@ -20,8 +20,8 @@
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="@dimen/dp_20"
            android:onClick="@{viewModel::onBack}"
            android:layout_marginTop="@dimen/dp_56"
            android:onClick="@{viewModel::onBack}"
            android:src="@drawable/svg_back"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
@@ -30,7 +30,6 @@
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            tools:text="粤A 88934试"
            android:text="@{viewModel.carInfo.plateNumber}"
            android:textColor="@color/gray_10"
            android:textSize="@dimen/sp_16"
@@ -38,7 +37,8 @@
            app:layout_constraintBottom_toTopOf="@+id/basicLayout"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="@+id/back" />
            app:layout_constraintTop_toTopOf="@+id/back"
            tools:text="粤A 88934试" />
        <LinearLayout
            android:id="@+id/basicLayout"
@@ -55,10 +55,10 @@
            <androidx.appcompat.widget.AppCompatTextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                tools:text="白色 |"
                android:text='@{viewModel.carInfo.vehicleColor + " |"}'
                android:textColor="@color/gray_6"
                android:textSize="@dimen/sp_12" />
                android:textSize="@dimen/sp_12"
                tools:text="白色 |" />
            <com.xw.common.custom.BatteryView
                android:id="@+id/batteryView"
@@ -113,8 +113,8 @@
                    android:layout_height="wrap_content"
                    android:layout_gravity="end"
                    android:layout_marginEnd="@dimen/dp_20"
                    android:padding="4dp"
                    android:onClick="@{viewModel.onClick}"
                    android:padding="4dp"
                    android:text="标准说明"
                    android:textColor="@color/blue_5"
                    android:textSize="@dimen/sp_12"
@@ -364,8 +364,8 @@
                    android:layout_height="wrap_content"
                    android:layout_gravity="end"
                    android:layout_marginEnd="@dimen/dp_20"
                    android:padding="4dp"
                    android:onClick="@{viewModel.onClick}"
                    android:padding="4dp"
                    android:text="标准说明"
                    android:textColor="@color/blue_5"
                    android:textSize="@dimen/sp_12"
@@ -387,6 +387,7 @@
                        android:layout_height="wrap_content"
                        android:layout_marginStart="@dimen/dp_20"
                        android:layout_marginEnd="@dimen/dp_10"
                        android:drawableStart="@drawable/svg_must"
                        android:text="大灯情况"
                        android:textColor="@color/gray_9"
                        android:textSize="@dimen/sp_14"
@@ -401,6 +402,7 @@
                        android:layout_height="wrap_content"
                        android:layout_marginStart="@dimen/dp_10"
                        android:layout_marginEnd="20dp"
                        android:drawableStart="@drawable/svg_must"
                        android:text="转向灯情况"
                        android:textColor="@color/gray_9"
                        android:textSize="@dimen/sp_14"
@@ -434,30 +436,32 @@
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="@dimen/dp_15"
                        android:drawableStart="@drawable/svg_must"
                        android:text="刹车灯情况"
                        android:textColor="@color/gray_9"
                        android:textSize="@dimen/sp_14"
                        android:visibility="gone"
                        tools:visibility="visible"
                        android:textStyle="bold"
                        android:visibility="gone"
                        app:layout_constraintLeft_toLeftOf="@+id/tv2"
                        app:layout_constraintRight_toRightOf="@+id/tv2"
                        app:layout_constraintTop_toBottomOf="@+id/rv1" />
                        app:layout_constraintTop_toBottomOf="@+id/rv1"
                        tools:visibility="visible" />
                    <androidx.appcompat.widget.AppCompatTextView
                        android:id="@+id/tv5"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="@dimen/dp_15"
                        android:drawableStart="@drawable/svg_must"
                        android:text="雾灯情况"
                        android:textColor="@color/gray_9"
                        android:textSize="@dimen/sp_14"
                        android:textStyle="bold"
                        android:visibility="gone"
                        tools:visibility="visible"
                        app:layout_constraintLeft_toLeftOf="@+id/tv3"
                        app:layout_constraintRight_toRightOf="@+id/tv3"
                        app:layout_constraintTop_toBottomOf="@+id/rv2" />
                        app:layout_constraintTop_toBottomOf="@+id/rv2"
                        tools:visibility="visible" />
                    <androidx.recyclerview.widget.RecyclerView
                        android:id="@+id/rv3"
@@ -465,11 +469,11 @@
                        android:layout_height="wrap_content"
                        android:layout_marginTop="@dimen/dp_10"
                        android:visibility="gone"
                        tools:visibility="visible"
                        app:layout_constraintLeft_toLeftOf="@+id/tv2"
                        app:layout_constraintRight_toRightOf="@+id/tv2"
                        app:layout_constraintTop_toBottomOf="@+id/tv4"
                        tools:layout_height="@dimen/dp_40" />
                        tools:layout_height="@dimen/dp_40"
                        tools:visibility="visible" />
                    <androidx.recyclerview.widget.RecyclerView
                        android:id="@+id/rv4"
@@ -477,11 +481,11 @@
                        android:layout_height="wrap_content"
                        android:layout_marginTop="@dimen/dp_10"
                        android:visibility="gone"
                        tools:visibility="visible"
                        app:layout_constraintLeft_toLeftOf="@+id/tv3"
                        app:layout_constraintRight_toRightOf="@+id/tv3"
                        app:layout_constraintTop_toBottomOf="@+id/tv5"
                        tools:layout_height="@dimen/dp_40" />
                        tools:layout_height="@dimen/dp_40"
                        tools:visibility="visible" />
                </androidx.constraintlayout.widget.ConstraintLayout>
@@ -498,6 +502,7 @@
                    android:layout_height="wrap_content"
                    android:layout_marginStart="@dimen/dp_20"
                    android:layout_marginTop="@dimen/dp_40"
                    android:drawableStart="@drawable/svg_must"
                    android:text="舱内清洁及消毒"
                    android:textColor="@color/gray_9"
                    android:textSize="@dimen/sp_16"
@@ -511,8 +516,8 @@
                    android:layout_height="wrap_content"
                    android:layout_gravity="end"
                    android:layout_marginEnd="@dimen/dp_20"
                    android:padding="4dp"
                    android:onClick="@{viewModel.onClick}"
                    android:padding="4dp"
                    android:text="标准说明"
                    android:textColor="@color/blue_5"
                    android:textSize="@dimen/sp_12"
@@ -548,8 +553,8 @@
            android:layout_marginHorizontal="@dimen/dp_20"
            android:layout_marginTop="@dimen/dp_24"
            android:layout_marginBottom="@dimen/dp_12"
            android:onClick="@{viewModel.onClick}"
            android:backgroundTint="@color/blue_5"
            android:onClick="@{viewModel.onClick}"
            android:text="提交整备结果"
            android:textSize="@dimen/sp_16"
            android:textStyle="bold"
app/src/main/res/layout/activity_cert_upload.xml
@@ -215,6 +215,7 @@
                        android:layout_height="wrap_content"
                        android:layout_marginStart="@dimen/dp_20"
                        android:layout_marginTop="@dimen/dp_20"
                        android:drawableStart="@drawable/svg_must"
                        android:text="身份证"
                        android:textColor="@color/gray_9"
                        android:textSize="@dimen/sp_16"
@@ -308,6 +309,7 @@
                        android:layout_height="wrap_content"
                        android:layout_marginStart="@dimen/dp_20"
                        android:layout_marginTop="@dimen/dp_64"
                        android:drawableStart="@drawable/svg_must"
                        android:text="驾驶证"
                        android:textColor="@color/gray_9"
                        android:textSize="@dimen/sp_16"
@@ -363,6 +365,7 @@
                        android:layout_height="wrap_content"
                        android:layout_marginStart="@dimen/dp_20"
                        android:layout_marginTop="@dimen/dp_64"
                        android:drawableStart="@drawable/svg_must"
                        android:text="无犯罪记录证明"
                        android:textColor="@color/gray_9"
                        android:textSize="@dimen/sp_16"
@@ -416,6 +419,7 @@
                        android:layout_height="wrap_content"
                        android:layout_marginStart="@dimen/dp_20"
                        android:layout_marginTop="@dimen/dp_64"
                        android:drawableStart="@drawable/svg_must"
                        android:text="培训结业证书"
                        android:textColor="@color/gray_9"
                        android:textSize="@dimen/sp_16"
app/src/main/res/layout/activity_create_task.xml
@@ -200,6 +200,7 @@
                    android:layout_marginStart="@dimen/dp_20"
                    android:layout_marginTop="@dimen/dp_8"
                    android:text="任务等级"
                    android:drawableStart="@drawable/svg_must"
                    android:textColor="@color/gray_9"
                    android:textSize="@dimen/sp_16"
                    android:textStyle="bold" />
app/src/main/res/layout/activity_cruise_check_in_operation.xml
@@ -126,6 +126,7 @@
                    android:layout_height="wrap_content"
                    android:layout_marginStart="@dimen/dp_20"
                    android:layout_marginTop="@dimen/dp_20"
                    android:drawableStart="@drawable/svg_must"
                    android:text="现场情况"
                    android:textColor="@color/gray_9"
                    android:textSize="@dimen/sp_16"
@@ -166,6 +167,19 @@
                    app:layout_constraintStart_toEndOf="@id/tv_work"
                    app:layout_constraintTop_toBottomOf="@id/tv_label" />
                <TextView
                    android:id="@+id/tv_label2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginStart="@dimen/dp_20"
                    android:layout_marginTop="@dimen/dp_20"
                    android:drawableStart="@drawable/svg_must"
                    android:text="现场情况描述"
                    android:textColor="@color/gray_9"
                    android:textSize="@dimen/sp_16"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toBottomOf="@id/tv_work" />
                <EditText
                    android:id="@+id/et_input"
                    android:layout_width="match_parent"
@@ -183,7 +197,7 @@
                    android:textSize="@dimen/sp_14"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toBottomOf="@id/tv_work" />
                    app:layout_constraintTop_toBottomOf="@id/tv_label2" />
                <TextView
                    android:id="@+id/tv_count"
app/src/main/res/layout/activity_protocol.xml
@@ -1,14 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">
    <data>
        <variable
            name="viewModel"
            type="com.xw.yunwei.ui.user.mine.protocol.ProtocolVM" />
    </data>
    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        android:layout_height="match_parent"
        android:background="@color/white">
        <androidx.appcompat.widget.AppCompatImageView
            android:id="@+id/back"
@@ -32,47 +37,23 @@
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="@+id/back" />
        <LinearLayout
            android:layout_width="match_parent"
            android:orientation="vertical"
            android:layout_height="match_parent"
            android:layout_marginTop="@dimen/dp_88"
            android:layout_height="match_parent">
            <com.google.android.material.tabs.TabLayout
                android:id="@+id/tabLayout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@null"
                app:layout_collapseMode="pin"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/title"
                app:tabBackground="@null"
                app:tabIndicatorColor="@color/blue_5"
                app:tabIndicator="@drawable/layer_indicator_1"
                app:tabIndicatorHeight="@dimen/dp_4"
                app:tabGravity="fill"
                app:tabIndicatorFullWidth="false"
                app:tabMode="scrollable"
                app:tabRippleColor="@null"
                app:tabSelectedTextColor="@color/blue_5"
                app:tabTextAppearance="@style/TabTextStyle14"
                app:tabTextColor="@color/gray_7" />
            android:orientation="vertical">
            <View
                android:layout_width="match_parent"
                android:layout_height="1px"
                android:background="@color/gray_4"/>
                android:background="@color/gray_4" />
            <WebView
                android:id="@+id/web"
                android:background="@color/white"
                android:layout_marginHorizontal="@dimen/dp_20"
            <androidx.recyclerview.widget.RecyclerView
                android:id="@+id/rv_list"
                android:layout_width="match_parent"
                android:layout_height="match_parent"/>
                android:layout_height="wrap_content"
                tools:itemCount="4"
                tools:listitem="@layout/item_protocol_entrance" />
        </LinearLayout>
    </androidx.constraintlayout.widget.ConstraintLayout>
</layout>
app/src/main/res/layout/activity_site_error_upload.xml
@@ -92,6 +92,7 @@
                    android:layout_marginStart="@dimen/dp_20"
                    android:layout_marginTop="@dimen/dp_20"
                    android:text="现场情况"
                    android:drawableStart="@drawable/svg_must"
                    android:textColor="@color/gray_9"
                    android:textSize="@dimen/sp_16"
                    app:layout_constraintStart_toStartOf="parent"
app/src/main/res/layout/activity_standard_description.xml
@@ -27,6 +27,7 @@
            android:text="标准说明"
            android:textColor="@color/gray_10"
            android:textSize="@dimen/sp_16"
            android:maxLength="16"
            android:textStyle="bold"
            app:layout_constraintBottom_toBottomOf="@+id/back"
            app:layout_constraintLeft_toLeftOf="parent"
app/src/main/res/layout/fragment_work.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">
    <data>
@@ -11,12 +12,12 @@
    <androidx.core.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        android:layout_height="match_parent"
        android:background="@color/color_surface">
        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/color_surface">
            android:layout_height="wrap_content">
            <androidx.appcompat.widget.AppCompatImageView
                android:layout_width="match_parent"
@@ -26,34 +27,34 @@
                app:layout_constraintTop_toTopOf="parent" />
            <View
                android:id="@+id/situated"
                android:layout_width="match_parent"
                android:layout_height="1px"
                app:layout_constraintTop_toTopOf="parent"
                android:layout_marginTop="@dimen/dp_52"
                android:id="@+id/situated"/>
                app:layout_constraintTop_toTopOf="parent" />
            <androidx.appcompat.widget.AppCompatImageView
                android:id="@+id/report"
                show="@{viewModel.reportPermissions}"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:onClick="@{viewModel.onClick}"
                android:layout_marginHorizontal="@dimen/dp_12"
                show="@{viewModel.reportPermissions}"
                android:layout_marginTop="@dimen/dp_12"
                android:adjustViewBounds="true"
                android:onClick="@{viewModel.onClick}"
                android:src="@mipmap/img_work_report"
                app:layout_constraintTop_toBottomOf="@+id/situated" />
            <androidx.cardview.widget.CardView
                android:id="@+id/cardLayout"
                show="@{viewModel.carPermissions}"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                show="@{viewModel.carPermissions}"
                android:layout_marginHorizontal="@dimen/dp_12"
                android:layout_marginTop="@dimen/dp_12"
                app:cardCornerRadius="@dimen/dp_8"
                app:cardElevation="@dimen/dp_2"
                app:layout_constraintTop_toBottomOf="@+id/report">
                app:layout_constraintTop_toBottomOf="@id/report">
                <LinearLayout
                    android:layout_width="match_parent"
@@ -65,8 +66,8 @@
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:gravity="center_vertical"
                        android:orientation="horizontal"
                        android:onClick="@{viewModel.onClick}"
                        android:orientation="horizontal"
                        android:padding="@dimen/dp_16"
                        android:paddingHorizontal="16dp">
@@ -76,23 +77,27 @@
                            android:layout_weight="1"
                            android:text="车辆管理"
                            android:textColor="@color/gray_9"
                            android:textSize="@dimen/sp_14"
                            android:textSize="@dimen/sp_16"
                            android:textStyle="bold" />
                        <androidx.appcompat.widget.AppCompatImageView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:src="@drawable/svg_arrow_r" />
                            android:layout_width="@dimen/dp_16"
                            android:layout_height="@dimen/dp_16"
                            android:src="@mipmap/ic_task_item_arrow_right" />
                    </LinearLayout>
                    <androidx.recyclerview.widget.RecyclerView
                        android:id="@+id/carRv"
                        show="@{viewModel.carList.size()>0}"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingBottom="@dimen/dp_16"
                        show="@{viewModel.carList.size()>0}"
                        android:paddingHorizontal="@dimen/dp_16" />
                        android:paddingHorizontal="@dimen/dp_13"
                        android:paddingBottom="@dimen/dp_13"
                        tools:itemCount="4"
                        tools:layoutManager="LinearLayoutManager"
                        tools:listitem="@layout/item_work_car"
                        tools:orientation="horizontal" />
                </LinearLayout>
@@ -100,14 +105,13 @@
            <androidx.cardview.widget.CardView
                android:id="@+id/siteLayout"
                show="@{viewModel.sitePermissions}"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                show="@{viewModel.sitePermissions}"
                android:layout_marginHorizontal="@dimen/dp_12"
                android:layout_marginTop="@dimen/dp_12"
                android:layout_margin="@dimen/dp_12"
                app:cardCornerRadius="@dimen/dp_8"
                app:cardElevation="@dimen/dp_2"
                app:layout_constraintTop_toBottomOf="@+id/cardLayout">
                app:layout_constraintTop_toBottomOf="@id/cardLayout">
                <LinearLayout
                    android:id="@+id/siteNav"
@@ -129,13 +133,13 @@
                            android:layout_weight="1"
                            android:text="站点点位"
                            android:textColor="@color/gray_9"
                            android:textSize="@dimen/sp_14"
                            android:textSize="@dimen/sp_16"
                            android:textStyle="bold" />
                        <androidx.appcompat.widget.AppCompatImageView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:src="@drawable/svg_arrow_r" />
                            android:layout_width="@dimen/dp_16"
                            android:layout_height="@dimen/dp_16"
                            android:src="@mipmap/ic_task_item_arrow_right" />
                    </LinearLayout>
@@ -150,10 +154,16 @@
            </androidx.cardview.widget.CardView>
            <View
                android:layout_width="match_parent"
                android:layout_height="@dimen/dp_10"
                app:layout_constraintTop_toBottomOf="@id/siteLayout" />
            <androidx.cardview.widget.CardView
                android:id="@+id/courseLayout"
                android:layout_width="0dp"
                android:layout_height="0dp"
                android:visibility="gone"
                app:cardCornerRadius="@dimen/dp_8"
                app:cardElevation="@dimen/dp_2"
                app:layout_constraintBottom_toBottomOf="@+id/course"
@@ -170,12 +180,14 @@
                android:adjustViewBounds="true"
                android:elevation="@dimen/dp_3"
                android:src="@mipmap/img_work_course"
                android:visibility="gone"
                app:layout_constraintTop_toBottomOf="@+id/siteLayout" />
            <androidx.cardview.widget.CardView
                android:id="@+id/examLayout"
                android:layout_width="0dp"
                android:layout_height="0dp"
                android:visibility="gone"
                app:cardCornerRadius="@dimen/dp_8"
                app:cardElevation="@dimen/dp_2"
                app:layout_constraintBottom_toBottomOf="@+id/exam"
@@ -193,6 +205,7 @@
                android:adjustViewBounds="true"
                android:elevation="@dimen/dp_3"
                android:src="@mipmap/img_work_exam"
                android:visibility="gone"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/course" />
app/src/main/res/layout/item_protocol_entrance.xml
New file
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="@dimen/dp_50">
    <TextView
        android:id="@+id/tv_title"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="@dimen/dp_20"
        android:singleLine="true"
        android:textColor="@color/gray_9"
        android:textSize="@dimen/sp_14"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toStartOf="@id/iv_more"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:text="权限调用" />
    <androidx.appcompat.widget.AppCompatImageView
        android:id="@+id/iv_more"
        android:layout_width="@dimen/dp_16"
        android:layout_height="@dimen/dp_16"
        android:layout_marginEnd="@dimen/dp_20"
        android:src="@mipmap/ic_task_item_arrow_right"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
    <View
        android:id="@+id/v_line"
        android:layout_width="match_parent"
        android:layout_height="1px"
        android:layout_marginStart="@dimen/dp_20"
        android:background="@color/gray_4"
        app:layout_constraintBottom_toBottomOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
app/src/main/res/layout/item_work_car.xml
@@ -27,9 +27,9 @@
            <com.makeramen.roundedimageview.RoundedImageView
                android:id="@+id/icon"
                android:layout_width="@dimen/dp_68"
                android:layout_height="@dimen/dp_32"
                android:layout_marginTop="@dimen/dp_12"
                android:layout_width="@dimen/dp_78"
                android:layout_height="@dimen/dp_36"
                android:layout_marginTop="@dimen/dp_20"
                android:adjustViewBounds="true"
                android:scaleType="centerCrop"
                android:src="@mipmap/img_work_car"
@@ -42,14 +42,13 @@
                android:id="@+id/name"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginHorizontal="@dimen/dp_7"
                android:layout_marginTop="@dimen/dp_10"
                android:layout_weight="1"
                android:gravity="center"
                android:maxLines="1"
                android:text="粤A XV7029"
                android:textColor="@color/gray_9"
                android:textSize="@dimen/sp_10"
                android:textSize="@dimen/sp_12"
                android:textStyle="bold"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintRight_toRightOf="parent"
@@ -67,7 +66,7 @@
                android:maxLines="1"
                android:text="NO.0088"
                android:textColor="@color/gray_6"
                android:textSize="@dimen/sp_10"
                android:textSize="@dimen/sp_12"
                android:textStyle="bold"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintRight_toRightOf="parent"
@@ -75,7 +74,7 @@
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="@dimen/dp_20"
                android:layout_height="@dimen/dp_22"
                android:layout_marginTop="@dimen/dp_4"
                android:background="@mipmap/img_work_car_bg1"
                android:gravity="center"
@@ -86,8 +85,8 @@
                <com.xw.common.custom.BatteryView
                    android:id="@+id/batteryView"
                    android:layout_width="@dimen/dp_23"
                    android:layout_height="@dimen/dp_11"
                    android:layout_width="@dimen/dp_28"
                    android:layout_height="@dimen/dp_12"
                    app:batteryFrame="@mipmap/ic_battery"
                    app:batteryLevel="75"
                    app:showPercentage="false" />
@@ -96,11 +95,11 @@
                    android:id="@+id/batteryLife"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginStart="@dimen/dp_4"
                    android:layout_marginStart="@dimen/dp_6"
                    android:maxLines="1"
                    android:text="543KM"
                    android:textColor="@color/green_5"
                    android:textSize="@dimen/sp_8" />
                    android:textSize="@dimen/sp_11" />
            </LinearLayout>
app/src/main/res/layout/layout_car_repair_get.xml
@@ -35,8 +35,8 @@
                    android:layout_height="wrap_content"
                    android:layout_marginHorizontal="@dimen/dp_20"
                    android:layout_marginTop="@dimen/dp_20"
                    android:orientation="vertical"
                    android:background="@drawable/shape_gray_3_bg_4"
                    android:orientation="vertical"
                    android:padding="@dimen/dp_16"
                    app:layout_constraintTop_toTopOf="parent">
@@ -128,6 +128,7 @@
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_margin="@dimen/dp_20"
                    android:drawableStart="@drawable/svg_must"
                    android:text="维修总费用"
                    android:textColor="@color/gray_9"
                    android:textSize="@dimen/sp_16"
@@ -173,6 +174,7 @@
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_margin="@dimen/dp_20"
                    android:drawableStart="@drawable/svg_must"
                    android:text="维修费用明细单"
                    android:textColor="@color/gray_9"
                    android:textSize="@dimen/sp_16"
app/src/main/res/layout/layout_car_repair_send.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <data>
@@ -34,6 +33,7 @@
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_margin="@dimen/dp_20"
                    android:drawableStart="@drawable/svg_must"
                    android:text="预计维修停运时间"
                    android:textColor="@color/gray_9"
                    android:textSize="@dimen/sp_16"
@@ -118,6 +118,7 @@
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="@dimen/dp_20"
                    android:drawableStart="@drawable/svg_must"
                    android:text="本次维修原因"
                    android:textColor="@color/gray_9"
                    android:textSize="@dimen/sp_16"
@@ -155,6 +156,7 @@
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="@dimen/dp_36"
                    android:drawableStart="@drawable/svg_must"
                    android:text="维修前图片"
                    android:textColor="@color/gray_9"
                    android:textSize="@dimen/sp_16"
app/src/main/res/layout/layout_normal_task_car_clear.xml
@@ -23,6 +23,7 @@
        <androidx.appcompat.widget.AppCompatTextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:drawableStart="@drawable/svg_must"
            android:text="车身标识及清洁"
            android:textColor="@color/gray_9"
            android:textSize="@dimen/sp_16" />
app/src/main/res/layout/layout_normal_task_car_nj_or_by_or_bx.xml
@@ -23,6 +23,7 @@
        <androidx.appcompat.widget.AppCompatTextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:drawableStart="@drawable/svg_must"
            android:text="完成任务情况"
            android:textColor="@color/gray_9"
            android:textSize="@dimen/sp_16" />
@@ -30,20 +31,30 @@
        <androidx.appcompat.widget.AppCompatEditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginVertical="@dimen/dp_8"
            android:layout_marginTop="@dimen/dp_8"
            android:background="@drawable/shape_f9f9f9_bg_4"
            android:gravity="top"
            android:hint="请录入完成任务情况说明"
            android:minHeight="@dimen/dp_100"
            android:text="@={viewModel.taskDescription}"
            android:padding="@dimen/dp_12"
            android:maxLength="600"
            android:minHeight="@dimen/dp_100"
            android:padding="@dimen/dp_12"
            android:text="@={viewModel.taskDescription}"
            android:textColor="@color/gray_9"
            android:textColorHint="@color/gray_6"
            android:textSize="@dimen/sp_14" />
        <androidx.appcompat.widget.AppCompatTextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:drawableStart="@drawable/svg_must"
            android:layout_marginTop="@dimen/dp_8"
            android:text="相关照片"
            android:textColor="@color/gray_9"
            android:textSize="@dimen/sp_16" />
        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/rv"
            android:layout_marginTop="@dimen/dp_8"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            tools:layout_height="@dimen/dp_100" />
app/src/main/res/mipmap-xhdpi/img_work_car.png

app/src/main/res/mipmap-xhdpi/img_work_car_bg.png

app/src/main/res/mipmap-xhdpi/img_work_map.png

app/src/main/res/mipmap-xhdpi/img_work_report.png