diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/adapter/OrderSiteItemAdapter.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/adapter/OrderSiteItemAdapter.kt index 3f013fb0be..b74994b122 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/adapter/OrderSiteItemAdapter.kt +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/adapter/OrderSiteItemAdapter.kt @@ -36,9 +36,9 @@ class OrderSiteItemAdapter(private val context: Context, private val dataList: M } fun setEnable(enable:Boolean){ this.enable = enable - dataList.forEachIndexed { _, lineInfo -> - lineInfo.isCheck = false - } +// dataList.forEachIndexed { _, lineInfo -> +// lineInfo.isCheck = false +// } notifyDataSetChanged() } @@ -57,10 +57,10 @@ class OrderSiteItemAdapter(private val context: Context, private val dataList: M }else{ holder.iv_site_checked.setImageResource(R.drawable.m1_order_site_check) } - holder.tv_site_site_name.setTextColor(ContextCompat.getColor(context,R.color.bus_p_m1_2C2D31)) + holder.tv_site_site_name.setTextColor(ContextCompat.getColor(context,R.color.bus_p_m1_222222)) }else { - holder.iv_site_checked.setImageResource(R.drawable.m1_order_site_check) - holder.tv_site_site_name.setTextColor(ContextCompat.getColor(context,R.color.bus_p_m1_662C2D31)) + holder.iv_site_checked.setImageResource(R.drawable.m1_order_site_check_enable) + holder.tv_site_site_name.setTextColor(ContextCompat.getColor(context,R.color.bus_p_m1_332C2D31)) } holder.tv_site_site_name.text = siteInfo.siteName holder.itemView.setOnClickListener { diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/view/LineSiteView.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/view/LineSiteView.kt index 720290509d..ee41893145 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/view/LineSiteView.kt +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/view/LineSiteView.kt @@ -61,6 +61,9 @@ class LineSiteView @JvmOverloads constructor( // 向司机端临时提交的终点站点 private var tempCheckSite: SiteInfoResponse.SiteInfo? = null + private var tempCheckLineIsSubmit = false + private var isChangeIngLineAndSite = false + private val lineList = mutableListOf() private val siteList = mutableListOf() @@ -104,10 +107,14 @@ class LineSiteView @JvmOverloads constructor( checkSite = hasSetLineAndSite.second lineList.clear() resetData() + isChangeIngLineAndSite = true } else { queryLineList() setEnableLineStatus(true) setEnableSiteStatus(false) + onlyChangeSite(false) + setSiteAdapterEnable(false) + isChangeIngLineAndSite = false } initListener() @@ -122,10 +129,14 @@ class LineSiteView @JvmOverloads constructor( queryLineList() setEnableLineStatus(true) setEnableSiteStatus(false) + onlyChangeSite(false) + setSiteAdapterEnable(false) }else{ checkLine?.let { setEnableLineStatus(false) setEnableSiteStatus(false) + onlyChangeSite(false) + setSiteAdapterEnable(true) lineAdapter.submitLine(it) checkLine?.let { querySitesByLineId(it.lineId.toString(),false) @@ -150,12 +161,26 @@ class LineSiteView @JvmOverloads constructor( /** * 设置是否可用选择站点 */ - private fun setEnableSiteStatus(enable: Boolean) { - if (enable) { + private fun setEnableSiteStatus(cancleAndSubmit: Boolean) { + if (cancleAndSubmit) { g_side_cancle_submit_group.visibility = View.VISIBLE - siteAdapter.setEnable(true) } else { g_side_cancle_submit_group.visibility = View.GONE + } + } + + fun onlyChangeSite(submit:Boolean){ + if (submit) { + g_side_submit_group.visibility = View.VISIBLE + } else { + g_side_submit_group.visibility = View.GONE + } + } + + fun setSiteAdapterEnable(enable: Boolean){ + if(enable){ + siteAdapter.setEnable(true) + }else{ siteAdapter.setEnable(false) } } @@ -172,13 +197,24 @@ class LineSiteView @JvmOverloads constructor( override fun onCheckListener(siteInfo: SiteInfoResponse.SiteInfo) { // 设置临时选中的 tempCheckSite = siteInfo + if(isChangeIngLineAndSite) { + checkSite?.let { + if (it.siteId == siteInfo.siteId) { + onlyChangeSite(false) + } else { + onlyChangeSite(true) + } + } + } } } tv_line_cancle.onClick { + isChangeIngLineAndSite = false resetData() } tv_site_cancle.onClick { + isChangeIngLineAndSite = false resetData() } tv_line_submit.onClick { @@ -213,7 +249,7 @@ class LineSiteView @JvmOverloads constructor( } } tv_site_submit.onClick { - if (tempCheckSite == null) { + if (!tempCheckLineIsSubmit) { ToastUtils.showLong("请选择站点") return@onClick } @@ -245,6 +281,34 @@ class LineSiteView @JvmOverloads constructor( ) } } + tv_site_only_submit.onClick { + // 线路不换只换站点 + if (!CallerTelematicManager.getClientConnStatus()) { + ToastUtils.showLong("乘客屏无法连接司机屏请联系安全员") + return@onClick + } + tempCheckSite?.let { siteInfo -> + val msg = ChangeDestMsg( + siteInfo.lineId!!.toInt(), + siteInfo.lineName!!, + currentSite!!.siteId!!.toInt(), + currentSite!!.siteName!!, + siteInfo.siteId!!.toInt(), + siteInfo.siteName!!, + false + ) + CallerTelematicManager.sendMsgToServer( + OchCommonConst.BUSINESS_STRING, + GsonUtils.toJson(msg).toByteArray() + ) + } + startAni() + // 启动查看和司机端链接 + BusPassengerModelLoopManager.setLoopFunction( + TAGLINELOOP, + LoopInfo(3, ::checkServerStatus) + ) + } tv_loading_wait_driver_title.onClick { endAni() } @@ -259,7 +323,8 @@ class LineSiteView @JvmOverloads constructor( if (gnssSpeed < 0.5) { // TODO: 自驾中 需要 靠边停车中、到站 // TODO: 没有自驾中 需要 靠边停车中、到站 - + isChangeIngLineAndSite = false + onlyChangeSite(false) // 可以切换路径 setEnableLineStatus(true) queryLineList() @@ -286,26 +351,34 @@ class LineSiteView @JvmOverloads constructor( ToastUtils.showShort("线路确定") setEnableLineStatus(false) setEnableSiteStatus(true) + onlyChangeSite(false) + setSiteAdapterEnable(true) + tempCheckLineIsSubmit = true tempCheckLine?.let { lineAdapter.submitLine(it) } } else { + tempCheckLineIsSubmit = false ToastUtils.showShort("司机端拒绝请重新选择") } } else { if (msg.isConfirmed) { ToastUtils.showShort("站点确定") setEnableLineStatus(false) - setEnableSiteStatus(false) + setEnableSiteStatus(true) + onlyChangeSite(false) + setSiteAdapterEnable(true) checkLine = tempCheckLine checkSite = tempCheckSite tempCheckLine = null tempCheckSite = null + tempCheckLineIsSubmit = false checkLine?.let { lineAdapter.submitLine(it) } go2StartCar() } else { + tempCheckLineIsSubmit = false ToastUtils.showShort("司机端拒绝请重新选择") } } @@ -404,6 +477,7 @@ class LineSiteView @JvmOverloads constructor( } if(isSelect){ data.data.last().isCheck = true + tempCheckSite = data.data.last() }else{ data.data.forEach { if (it.siteId == checkSite?.siteId) { diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_site_check.png b/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_site_check.png index 94446335e8..320ac5abd8 100644 Binary files a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_site_check.png and b/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_site_check.png differ diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_site_check_enable.png b/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_site_check_enable.png new file mode 100644 index 0000000000..02ff730d28 Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_site_check_enable.png differ diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/values/color.xml b/OCH/mogo-och-charter-passenger/src/m1/res/values/color.xml index 685b7a7cfe..26fd58da09 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/res/values/color.xml +++ b/OCH/mogo-och-charter-passenger/src/m1/res/values/color.xml @@ -23,7 +23,9 @@ #485173 #292C39 #2C2D31 + #222222 #662C2D31 + #332C2D31 #80288DFC #3060ABFE