18034727885
2026-06-12 1d17dcc458c1d9c1a2f0dde2ec5d32c3990463e4
车辆详情UI优化
11个文件已添加
5个文件已修改
605 ■■■■■ 已修改文件
app/src/main/java/com/xw/yunwei/model/CarModel.kt 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/ui/dialog/ConfirmAcceptCarPointDialog.kt 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/ui/dialog/SelectConfirmAcceptCarPointDialog.kt 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/ui/work/car/detail/CarDetailActivity.kt 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/ui/work/car/detail/dispatch/DispatchFragment.kt 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/selector_switch_off_on.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/shape_0d31456a_0031456a_bg_4.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/shape_0d31456a_bg_8.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/shape_blue1_00006be1_bg_4.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/shape_e5f0fc_bg_2.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/dialog_confirm_accept_car_point.xml 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/fragment_car_dispatch.xml 293 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/mipmap-xhdpi/icon_location_blue.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/mipmap-xhdpi/icon_switch_off.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/mipmap-xhdpi/icon_switch_on.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values/colors.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/xw/yunwei/model/CarModel.kt
@@ -244,4 +244,9 @@
     */
    @SerializedName("updateTime")
    val updateTime: String? = null
) : Parcelable
) : Parcelable {
    //是否已经开启接单
    fun hadOpenTakeOrder(): Boolean {
        return acceptOrTest == 1 && acceptOrTestStatus == 1
    }
}
app/src/main/java/com/xw/yunwei/ui/dialog/ConfirmAcceptCarPointDialog.kt
New file
@@ -0,0 +1,33 @@
package com.xw.yunwei.ui.dialog
import android.content.Context
import android.view.Gravity
import android.widget.TextView
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.customview.customView
import com.xw.yunwei.R
import com.xw.yunwei.utils.DialogFactory
//收车点确认弹窗
object ConfirmAcceptCarPointDialog {
    fun show(
        context: Context,
        reasons: List<String>,
        submitBlock: (position: Int, input: String, dialog: MaterialDialog) -> Unit
    ) {
        val dialog = DialogFactory.produce(context).apply {
            customView(
                R.layout.dialog_confirm_accept_car_point,
                noVerticalPadding = true,
                dialogWrapContent = false
            )
            cornerRadius(8f)
            val tv_title = findViewById<TextView>(R.id.tv_title)
        }
        dialog.show()
        dialog.window?.setGravity(Gravity.CENTER)
        dialog.window?.setWindowAnimations(com.xw.common.R.style.AnimLeft)
    }
}
app/src/main/java/com/xw/yunwei/ui/dialog/SelectConfirmAcceptCarPointDialog.kt
New file
@@ -0,0 +1,31 @@
package com.xw.yunwei.ui.dialog
import android.content.Context
import android.view.Gravity
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.customview.customView
import com.xw.yunwei.R
import com.xw.yunwei.utils.DialogFactory
//选择确认收车点弹窗
object SelectConfirmAcceptCarPointDialog {
    fun show(
        context: Context,
        reasons: List<String>,
        submitBlock: (position: Int, input: String, dialog: MaterialDialog) -> Unit
    ) {
        val dialog = DialogFactory.produce(context).apply {
            customView(
                R.layout.dialog_apply_for_reassign_reason,
                noVerticalPadding = true,
                dialogWrapContent = false
            )
            cornerRadius(4f)
        }
        dialog.show()
        dialog.window?.setGravity(Gravity.CENTER)
        dialog.window?.setWindowAnimations(com.xw.common.R.style.AnimLeft)
    }
}
app/src/main/java/com/xw/yunwei/ui/work/car/detail/CarDetailActivity.kt
@@ -21,7 +21,7 @@
class CarDetailActivity : BaseBusinessActivity<ActivityCarDetailBinding, CarDetailVM>() {
    override fun getBindingVariable() = BR.viewModel
    private val tabTitles = listOf("车辆调度", "车辆运维", "车辆管理")
    private val tabTitles = listOf("运营管理", "车辆运维", "车辆管理")
    override fun init() {
        super.init()
@@ -71,7 +71,7 @@
        override fun getItemCount(): Int = tabTitles.size
        override fun createFragment(position: Int): Fragment {
            return when (tabTitles[position]) {
                "车辆调度" -> DispatchFragment()
                "运营管理" -> DispatchFragment()
                "车辆运维" -> OperationsFragment()
                "车辆管理" -> ManagementFragment()
                else -> error("Wrong position $position")
app/src/main/java/com/xw/yunwei/ui/work/car/detail/dispatch/DispatchFragment.kt
@@ -5,9 +5,8 @@
import com.xw.common.custom.SlideButtonView
import com.xw.common.custom.SlideButtonView.Companion.DIRECTION_LEFT
import com.xw.common.custom.SlideButtonView.Companion.DIRECTION_RIGHT
import com.xw.common.utils.BindUtils.getUrl
import com.xw.common.utils.BindUtils.getResColor
import com.xw.common.utils.ToastUtilCommon
import com.xw.common.utils.BindUtils.getUrl
import com.xw.common.viewAdapter.ImageDefault
import com.xw.common.viewAdapter.ViewAdapter
import com.xw.yunwei.R
@@ -16,7 +15,7 @@
import com.xw.yunwei.ui.work.car.detail.CarDetailActivity
/**
 * 车辆调度
 * 运营管理
 */
class DispatchFragment : BaseFragmentNoVM<FragmentCarDispatchBinding>() {
@@ -32,7 +31,6 @@
        super.setObservable()
        viewModel.carInfo.observe(this) {
            initBasicInfo(it)
            initSlideView(it)
        }
    }
@@ -59,66 +57,23 @@
                }
            }
        }
        with(binding.slideView2) {
            setOnSlideCompleteListener {
                val carInfo = viewModel.carInfo.value
                carInfo?.let { carInfo ->
                    val setStatus = if (carInfo.acceptOrTestStatus == 1) 2 else 1
                    val map = mutableMapOf<String, Any?>()
                    map["vehicleId"] = carInfo.id // 车辆ID
                    map["acceptOrTest"] = carInfo.acceptOrTest // 当前模式 1接单 2测试
                    map["acceptOrTestStatus"] = setStatus // 模式状态 1开始接单/开始测试 2停止接单/停止测试
                    viewModel.vehicleDispatchAccept(map, {
                        binding.slideView2.animateReset()
                    }) {
                        carInfo.acceptOrTestStatus = setStatus
                        if (getSlideDirection() == DIRECTION_RIGHT) {
                            val text = if (carInfo.acceptOrTest == 1) "左滑关闭接单" else "左滑关闭测试"
                            resetSlideView(this, DIRECTION_LEFT, text)
                        } else if (getSlideDirection() == DIRECTION_LEFT) {
                            val text = if (carInfo.acceptOrTest == 1) "右滑开始接单" else "右滑开始测试"
                            resetSlideView(this, DIRECTION_RIGHT, text)
                        }
                    }
                }
            }
        }
        binding.takeOrders.setOnClickListener {
            viewModel.carInfo.value?.let {
                if (it.acceptOrTest != 1) {
                    val map = mutableMapOf<String, Any?>()
                    map["vehicleId"] = it.id // 车辆ID
                    map["acceptOrTest"] = 1 // 当前模式 1接单 2测试
                    map["acceptOrTestStatus"] = 1 // 模式状态 1开始接单/开始测试 2停止接单/停止测试
                    viewModel.vehicleDispatchAccept(map, {
                        binding.slideView2.animateReset()
                    }) {
                        it.acceptOrTest = 1
                        it.acceptOrTestStatus = 1
                        initSlideView(it)
                    }
        binding.cbTakeOrder.setOnCheckedChangeListener { button, bool ->
            viewModel.carInfo.value?.takeIf {
                it.hadOpenTakeOrder() != bool
            }?.also { carInfo ->
                val setStatus = if (carInfo.acceptOrTestStatus == 1) 2 else 1
                val map = mutableMapOf<String, Any?>()
                map["vehicleId"] = carInfo.id // 车辆ID
                map["acceptOrTest"] = carInfo.acceptOrTest // 当前模式 1接单 2测试
                map["acceptOrTestStatus"] = setStatus // 模式状态 1开始接单/开始测试 2停止接单/停止测试
                viewModel.vehicleDispatchAccept(map, {
                    viewModel.queryInfo()
                }) {
                    viewModel.carInfo.postValue(carInfo.copy(acceptOrTestStatus = setStatus))
                }
            }
        }
        binding.test.setOnClickListener {
            viewModel.carInfo.value?.let {
                if (it.acceptOrTest != 2) {
                    val map = mutableMapOf<String, Any?>()
                    map["vehicleId"] = it.id // 车辆ID
                    map["acceptOrTest"] = 2 // 当前模式 1接单 2测试
                    map["acceptOrTestStatus"] = 1 // 模式状态 1开始接单/开始测试 2停止接单/停止测试
                    viewModel.vehicleDispatchAccept(map, {
                        binding.slideView2.animateReset()
                    }) {
                        it.acceptOrTest = 2
                        it.acceptOrTestStatus = 1
                        initSlideView(it)
                    }
                }
            }
        }
        binding.unlockDoor.setOnClickListener { viewModel.unlockByType(1) }
        binding.unlockBox.setOnClickListener { viewModel.unlockByType(2) }
    }
@@ -152,34 +107,8 @@
        try {
            url = it.vehiclePictures?.getUrl() ?: ""
        } catch (e: Exception) {
            e.printStackTrace()
        }
        ViewAdapter.loadImage(binding.icon, ImageDefault(url, R.mipmap.img_work_car1))
    }
    private fun initSlideView(it: CarModel) {
        if (it.acceptOrTest == 1) {
            binding.takeOrders.setBackgroundResource(R.drawable.shape_white_bg_4)
            binding.test.setBackgroundResource(com.xw.common.R.color.color_transparent)
            if (it.acceptOrTestStatus == 1) {
                resetSlideView(binding.slideView2, DIRECTION_RIGHT, "右滑开始接单")
            } else {
                resetSlideView(binding.slideView2, DIRECTION_LEFT, "左滑关闭接单")
            }
        } else if (it.acceptOrTest == 2) {
            binding.test.setBackgroundResource(R.drawable.shape_white_bg_4)
            binding.takeOrders.setBackgroundResource(com.xw.common.R.color.color_transparent)
            if (it.acceptOrTestStatus == 1) {
                resetSlideView(binding.slideView2, DIRECTION_RIGHT, "右滑开始测试")
            } else {
                resetSlideView(binding.slideView2, DIRECTION_LEFT, "左滑关闭测试")
            }
        }
        if (it.operatingStatus == 1) {
            resetSlideView(binding.slideView1, DIRECTION_LEFT, "左滑收车")
        } else {
            resetSlideView(binding.slideView1, DIRECTION_RIGHT, "右滑发车")
        }
    }
}
app/src/main/res/drawable/selector_switch_off_on.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@mipmap/icon_switch_on" android:state_checked="true" />
    <item android:drawable="@mipmap/icon_switch_off" android:state_checked="false" />
</selector>
app/src/main/res/drawable/shape_0d31456a_0031456a_bg_4.xml
New file
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient
        android:angle="-90"
        android:endColor="@color/color_0031456a"
        android:startColor="@color/color_0d31456a" />
    <corners android:radius="@dimen/dp_4" />
</shape>
app/src/main/res/drawable/shape_0d31456a_bg_8.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/color_0d31456a" />
    <corners android:radius="@dimen/dp_8" />
</shape>
app/src/main/res/drawable/shape_blue1_00006be1_bg_4.xml
New file
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient
        android:endColor="@color/color_00006be1"
        android:startColor="@color/blue_1" />
    <corners android:radius="@dimen/dp_4" />
</shape>
app/src/main/res/drawable/shape_e5f0fc_bg_2.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="@dimen/dp_2" />
    <solid android:color="@color/color_e5f0fc" />
</shape>
app/src/main/res/layout/dialog_confirm_accept_car_point.xml
New file
@@ -0,0 +1,98 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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="wrap_content"
    android:background="@drawable/shape_while_bg_5"
    android:orientation="vertical"
    android:padding="@dimen/dp_16">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="收车点确认"
        android:textColor="@color/gray_9"
        android:textSize="@dimen/sp_16"
        android:textStyle="bold" />
    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/shape_0d31456a_bg_8"
        android:padding="@dimen/dp_16">
        <TextView
            android:id="@+id/tv_label"
            android:layout_width="@dimen/dp_38"
            android:layout_height="@dimen/dp_18"
            android:background="@drawable/shape_e5f0fc_bg_2"
            android:gravity="center"
            android:text="默认"
            android:textColor="@color/color_0256ff"
            android:textSize="@dimen/sp_11"
            app:layout_constraintBottom_toBottomOf="@id/tv_title"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="@id/tv_title" />
        <TextView
            android:id="@+id/tv_title"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="@dimen/dp_4"
            android:singleLine="true"
            android:textColor="@color/gray_9"
            android:textSize="@dimen/sp_14"
            android:textStyle="bold"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@id/tv_label"
            app:layout_constraintTop_toTopOf="parent"
            tools:text="广州市白云机场T2航站楼" />
        <TextView
            android:id="@+id/tv_detail"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="@dimen/dp_4"
            android:textColor="@color/color_838fa6"
            android:textSize="@dimen/sp_14"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/tv_title"
            tools:text="深圳市宝安区西大街阳光绿色温馨家园17号楼313" />
    </androidx.constraintlayout.widget.ConstraintLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/dp_20"
        android:orientation="horizontal">
        <androidx.appcompat.widget.AppCompatTextView
            android:id="@+id/tv_change"
            android:layout_width="0dp"
            android:layout_height="@dimen/dp_42"
            android:layout_marginEnd="@dimen/dp_6"
            android:layout_weight="1"
            android:background="@drawable/shape_gray_5_line_4"
            android:gravity="center"
            android:text="更换收车点"
            android:textColor="@color/gray_9"
            android:textSize="@dimen/sp_16" />
        <androidx.appcompat.widget.AppCompatTextView
            android:id="@+id/tv_confirm"
            android:layout_width="0dp"
            android:layout_height="@dimen/dp_42"
            android:layout_marginStart="@dimen/dp_6"
            android:layout_weight="1"
            android:background="@drawable/shape_blue_5_bg_4"
            android:gravity="center"
            android:text="确认并收车"
            android:textColor="@color/white"
            android:textSize="@dimen/sp_16"
            android:textStyle="bold" />
    </LinearLayout>
</LinearLayout>
app/src/main/res/layout/fragment_car_dispatch.xml
@@ -13,19 +13,28 @@
    <androidx.core.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/color_surface">
        android:background="@color/white">
        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="@dimen/dp_50">
            <View
                android:layout_width="0dp"
                android:layout_height="@dimen/dp_315"
                android:layout_marginHorizontal="@dimen/dp_8"
                android:background="@drawable/shape_0d31456a_0031456a_bg_4"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent" />
            <androidx.appcompat.widget.AppCompatTextView
                android:id="@+id/carNo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="@dimen/dp_20"
                android:layout_marginTop="@dimen/dp_20"
                android:layout_marginTop="@dimen/dp_10"
                android:text="@{viewModel.carInfo.plateNumber}"
                android:textColor="@color/gray_9"
                android:textSize="@dimen/sp_24"
@@ -77,109 +86,68 @@
                android:id="@+id/icon"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/dp_10"
                android:layout_marginTop="@dimen/dp_8"
                android:adjustViewBounds="true"
                android:src="@mipmap/img_work_car1"
                app:layout_constraintTop_toBottomOf="@+id/basicLayout" />
            <LinearLayout
                android:id="@+id/unlockLayout"
                android:id="@+id/ll_destination"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginHorizontal="@dimen/dp_14"
                android:layout_marginHorizontal="@dimen/dp_20"
                android:layout_marginTop="@dimen/dp_12"
                android:baselineAligned="false"
                android:gravity="center_vertical"
                android:orientation="horizontal"
                android:visibility="gone"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/icon">
                app:layout_constraintTop_toBottomOf="@+id/icon"
                tools:visibility="visible">
                <androidx.appcompat.widget.AppCompatTextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="当前正在前往收车点"
                    android:textColor="@color/color_cc31456A"
                    android:textSize="@dimen/sp_11" />
                <LinearLayout
                    android:id="@+id/unlockDoor"
                    show="@{viewModel.unlockDoorPermissions}"
                    android:layout_width="0dp"
                    android:layout_height="@dimen/dp_48"
                    android:layout_marginHorizontal="@dimen/dp_6"
                    android:layout_weight="1"
                    android:background="@drawable/shape_blue1_bg_4"
                    android:gravity="center"
                    android:orientation="horizontal">
                    android:layout_width="match_parent"
                    android:layout_height="@dimen/dp_21"
                    android:layout_marginStart="@dimen/dp_4"
                    android:background="@drawable/shape_blue1_00006be1_bg_4"
                    android:gravity="center_vertical"
                    android:orientation="horizontal"
                    android:paddingHorizontal="@dimen/dp_4">
                    <androidx.appcompat.widget.AppCompatImageView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginStart="@dimen/dp_20"
                        android:src="@drawable/svg_car_cmjs"
                        android:tint="@color/blue_5" />
                    <ImageView
                        android:layout_width="@dimen/dp_12"
                        android:layout_height="@dimen/dp_12"
                        android:src="@mipmap/icon_location_blue" />
                    <androidx.appcompat.widget.AppCompatTextView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_marginEnd="@dimen/dp_20"
                        android:layout_marginStart="@dimen/dp_4"
                        android:layout_weight="1"
                        android:gravity="center"
                        android:text="车门解锁"
                        android:ellipsize="end"
                        android:singleLine="true"
                        android:textColor="@color/blue_5"
                        android:textSize="@dimen/sp_14" />
                        android:textSize="@dimen/sp_11"
                        tools:text="广州市天河区珠江新城幸福小区东北门广州市天河区珠江新城幸福小区东北门" />
                </LinearLayout>
                <LinearLayout
                    android:id="@+id/unlockBox"
                    android:layout_width="0dp"
                    android:layout_height="@dimen/dp_48"
                    show="@{viewModel.unlockBoxPermissions}"
                    android:layout_marginHorizontal="@dimen/dp_6"
                    android:layout_weight="1"
                    android:background="@drawable/shape_blue1_bg_4"
                    android:gravity="center"
                    android:orientation="horizontal">
                    <androidx.appcompat.widget.AppCompatImageView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginStart="@dimen/dp_20"
                        android:src="@drawable/svg_car_hbxjs"
                        android:tint="@color/blue_5" />
                    <androidx.appcompat.widget.AppCompatTextView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_marginEnd="@dimen/dp_20"
                        android:layout_weight="1"
                        android:gravity="center"
                        android:text="后备箱解锁"
                        android:textColor="@color/blue_5"
                        android:textSize="@dimen/sp_14" />
                </LinearLayout>
            </LinearLayout>
            <androidx.appcompat.widget.AppCompatTextView
                android:id="@+id/tv"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/dp_30"
                app:layout_goneMarginTop="@dimen/dp_12"
                show="@{viewModel.departurePermissions}"
                android:text="发车状态"
                android:textColor="@color/gray_9"
                android:textSize="@dimen/sp_16"
                android:textStyle="bold"
                app:layout_constraintLeft_toLeftOf="parent"
                android:layout_marginStart="@dimen/dp_20"
                app:layout_constraintTop_toBottomOf="@+id/unlockLayout" />
            <com.xw.common.custom.SlideButtonView
                android:id="@+id/slideView1"
                show="@{viewModel.departurePermissions}"
                android:layout_width="match_parent"
                android:layout_height="@dimen/dp_42"
                android:layout_marginHorizontal="@dimen/dp_20"
                show="@{viewModel.departurePermissions}"
                android:layout_marginTop="@dimen/dp_10"
                android:layout_marginTop="@dimen/dp_8"
                app:backgroundCornerRadius="@dimen/dp_4"
                app:layout_constraintTop_toBottomOf="@+id/tv"
                app:layout_constraintTop_toBottomOf="@id/ll_destination"
                app:layout_goneMarginTop="@dimen/dp_12"
                app:slideBackgroundColor="@color/blue_1"
                app:slideDirection="right"
                app:slideText="右滑发车"
@@ -191,78 +159,149 @@
            <LinearLayout
                android:id="@+id/layout1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                show="@{viewModel.takeOrdersPermissions}"
                android:layout_width="match_parent"
                android:layout_height="@dimen/dp_72"
                android:layout_marginHorizontal="@dimen/dp_20"
                android:layout_marginTop="@dimen/dp_30"
                android:layout_marginTop="@dimen/dp_12"
                android:layout_marginBottom="8dp"
                android:gravity="center_vertical"
                android:orientation="horizontal"
                app:layout_constraintTop_toBottomOf="@+id/slideView1">
                <androidx.appcompat.widget.AppCompatTextView
                <LinearLayout
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="接单/测试"
                    android:textColor="@color/gray_9"
                    android:textSize="@dimen/sp_16"
                    android:textStyle="bold" />
                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:background="@drawable/shape_gray_3_bg_4"
                    android:orientation="horizontal"
                    android:padding="@dimen/dp_2">
                    android:orientation="vertical">
                    <androidx.appcompat.widget.AppCompatTextView
                        android:id="@+id/takeOrders"
                        android:layout_width="wrap_content"
                        android:layout_height="match_parent"
                        android:background="@drawable/shape_white_bg_4"
                        android:gravity="center"
                        android:paddingHorizontal="@dimen/dp_12"
                        android:paddingVertical="@dimen/dp_6"
                        android:text="接单"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:text="接单状态"
                        android:textColor="@color/gray_9"
                        android:textSize="@dimen/sp_12"
                        android:textSize="@dimen/sp_14"
                        android:textStyle="bold" />
                    <androidx.appcompat.widget.AppCompatTextView
                        android:id="@+id/test"
                        android:layout_width="wrap_content"
                        android:layout_height="match_parent"
                        android:gravity="center"
                        android:paddingHorizontal="@dimen/dp_12"
                        android:paddingVertical="@dimen/dp_6"
                        android:text="测试"
                        android:textColor="@color/gray_9"
                        android:textSize="@dimen/sp_12"
                        android:textStyle="bold" />
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="@dimen/dp_4"
                        android:text="控制平台是否给该车辆派发运营订单"
                        android:textColor="@color/gray_7"
                        android:textSize="@dimen/sp_12" />
                </LinearLayout>
                <CheckBox
                    android:id="@+id/cb_take_order"
                    android:layout_width="@dimen/dp_52"
                    android:layout_height="@dimen/dp_32"
                    android:background="@drawable/selector_switch_off_on"
                    android:button="@null"
                    android:checked="@{viewModel.carInfo.hadOpenTakeOrder()}"
                    android:text="" />
            </LinearLayout>
            <com.xw.common.custom.SlideButtonView
                android:id="@+id/slideView2"
            <LinearLayout
                android:id="@+id/unlockLayout"
                show="@{(viewModel.unlockDoorPermissions||viewModel.unlockBoxPermissions)&amp;&amp;!viewModel.carInfo.hadOpenTakeOrder()}"
                android:layout_width="match_parent"
                android:layout_height="@dimen/dp_42"
                android:layout_marginHorizontal="@dimen/dp_20"
                show="@{viewModel.takeOrdersPermissions}"
                android:layout_marginTop="@dimen/dp_10"
                app:backgroundCornerRadius="@dimen/dp_4"
                app:layout_constraintTop_toBottomOf="@+id/layout1"
                app:slideBackgroundColor="@color/orange_5"
                app:slideDirection="left"
                app:slideText="左滑关闭接单"
                app:slideTextColor="@color/white"
                app:slideTextSize="@dimen/sp_14"
                app:thumbCornerRadius="@dimen/dp_4"
                app:thumbDrawable="@mipmap/ic_slide_l"
                app:thumbShape="roundRect" />
                android:layout_height="wrap_content"
                android:orientation="vertical"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintTop_toBottomOf="@id/layout1">
                <View
                    android:layout_width="match_parent"
                    android:layout_height="1px"
                    android:layout_marginHorizontal="@dimen/dp_20"
                    android:background="@color/gray_4" />
                <androidx.appcompat.widget.AppCompatTextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginStart="@dimen/dp_20"
                    android:layout_marginTop="@dimen/dp_16"
                    android:text="车辆控制"
                    android:textColor="@color/gray_9"
                    android:textSize="@dimen/sp_14"
                    android:textStyle="bold"
                    app:layout_constraintLeft_toLeftOf="parent"
                    app:layout_constraintTop_toBottomOf="@+id/icon"
                    app:layout_goneMarginTop="@dimen/dp_12" />
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginHorizontal="@dimen/dp_14"
                    android:layout_marginTop="@dimen/dp_8"
                    android:baselineAligned="false"
                    android:orientation="horizontal"
                    android:visibility="gone"
                    tools:visibility="visible">
                    <LinearLayout
                        android:id="@+id/unlockDoor"
                        show="@{viewModel.unlockDoorPermissions}"
                        android:layout_width="0dp"
                        android:layout_height="@dimen/dp_48"
                        android:layout_marginHorizontal="@dimen/dp_6"
                        android:layout_weight="1"
                        android:background="@drawable/shape_blue1_bg_4"
                        android:gravity="center"
                        android:orientation="horizontal">
                        <androidx.appcompat.widget.AppCompatImageView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginStart="@dimen/dp_20"
                            android:src="@drawable/svg_car_cmjs"
                            android:tint="@color/blue_5" />
                        <androidx.appcompat.widget.AppCompatTextView
                            android:layout_width="0dp"
                            android:layout_height="wrap_content"
                            android:layout_marginEnd="@dimen/dp_20"
                            android:layout_weight="1"
                            android:gravity="center"
                            android:text="车门解锁"
                            android:textColor="@color/blue_5"
                            android:textSize="@dimen/sp_14" />
                    </LinearLayout>
                    <LinearLayout
                        android:id="@+id/unlockBox"
                        show="@{viewModel.unlockBoxPermissions}"
                        android:layout_width="0dp"
                        android:layout_height="@dimen/dp_48"
                        android:layout_marginHorizontal="@dimen/dp_6"
                        android:layout_weight="1"
                        android:background="@drawable/shape_blue1_bg_4"
                        android:gravity="center"
                        android:orientation="horizontal">
                        <androidx.appcompat.widget.AppCompatImageView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginStart="@dimen/dp_20"
                            android:src="@drawable/svg_car_hbxjs"
                            android:tint="@color/blue_5" />
                        <androidx.appcompat.widget.AppCompatTextView
                            android:layout_width="0dp"
                            android:layout_height="wrap_content"
                            android:layout_marginEnd="@dimen/dp_20"
                            android:layout_weight="1"
                            android:gravity="center"
                            android:text="后备箱解锁"
                            android:textColor="@color/blue_5"
                            android:textSize="@dimen/sp_14" />
                    </LinearLayout>
                </LinearLayout>
            </LinearLayout>
        </androidx.constraintlayout.widget.ConstraintLayout>
app/src/main/res/mipmap-xhdpi/icon_location_blue.png
app/src/main/res/mipmap-xhdpi/icon_switch_off.png
app/src/main/res/mipmap-xhdpi/icon_switch_on.png
app/src/main/res/values/colors.xml
@@ -16,4 +16,10 @@
    <color name="color_0f31456a">#0f31456A</color>
    <color name="color_1a026ee4">#1a026EE4</color>
    <color name="color_4c5e7e">#4C5E7E</color>
    <color name="color_dcdcdc">#DCDCDC</color>
    <color name="color_0d31456a">#0d31456a</color>
    <color name="color_0031456a">#0031456A</color>
    <color name="color_00006be1">#00006be1</color>
    <color name="color_e5f0fc">#e5f0fc</color>
    <color name="color_0256ff">#0256ff</color>
</resources>