From d11151f3c67372bd9dd57cd853af89046f834be2 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Wed, 9 Oct 2024 16:39:09 +0800 Subject: [PATCH] =?UTF-8?q?[6.7.0]=E5=B7=A5=E5=8D=95=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/hmi/bone/tab/WorkOrderView.kt | 100 +++++++++++++----- .../src/main/res/layout/view_work_order.xml | 8 +- 2 files changed, 76 insertions(+), 32 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/WorkOrderView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/WorkOrderView.kt index d47ece024e..7c848cbc3c 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/WorkOrderView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/WorkOrderView.kt @@ -13,6 +13,7 @@ import android.view.animation.Animation import android.view.animation.ScaleAnimation import android.widget.EditText import androidx.constraintlayout.widget.ConstraintLayout +import androidx.core.content.ContextCompat import com.iflytek.cloud.ErrorCode import com.iflytek.cloud.InitListener import com.iflytek.cloud.RecognizerListener @@ -31,6 +32,7 @@ import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManage import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager import com.mogo.eagle.core.function.hmi.R +import com.mogo.eagle.core.utilcode.util.ClickUtils import com.mogo.eagle.core.utilcode.util.JsonParser import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.eagle.core.utilcode.util.TimeUtils @@ -159,41 +161,59 @@ class WorkOrderView @JvmOverloads constructor( //问题描述录音 iv_describe_audio.setOnClickListener { audioStatus = !audioStatus + if (audioStatus) { + iv_describe_audio.setImageDrawable( + ContextCompat.getDrawable( + context, + R.drawable.icon_reason_audio_pressed + ) + ) + } else { + iv_describe_audio.setImageDrawable( + ContextCompat.getDrawable( + context, + R.drawable.icon_reason_audio_normal + ) + ) + } setAudio(audioStatus) } //上报 tv_work_order_report.setOnClickListener { - //工单问题类型必选,没有选择,进行提示 - if(workOrderType.isEmpty()){ - ToastUtils.showShort("请选择问题类型") - return@setOnClickListener - } - if(et_describe_input.text.toString().isEmpty()){ - ToastUtils.showShort("请填写问题描述") - return@setOnClickListener - } - GlobalScope.launch(Dispatchers.IO){ - val msgBoxList = CallerMsgBoxManager.queryFMInfoList(context, - workOrderOccurrenceTime-120000,workOrderOccurrenceTime+120000) - val faultList = ArrayList() - msgBoxList?.forEach { msgBoxBean -> - val fmInfoMsg = msgBoxBean.bean as FMInfoMsg - fmInfoMsg.fmInfoList?.forEach { fault -> - val faultBean = FaultInfo(false,fault.faultId,fault.faultName, - fault.faultTime.toString(), FaultDetailInfo(fault.faultDesc) - ) - faultList.add(faultBean) - } + if(ClickUtils.isFastClick()){ + //工单问题类型必选,没有选择,进行提示 + if(workOrderType.isEmpty()){ + ToastUtils.showShort("请选择问题类型") + return@setOnClickListener } - val workOrderReportInfo = WorkOrderReportInfo(workOrderType,workOrderOccurrenceTime.toString(), - et_describe_input.text.toString(), CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().longitude.toString(), - CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().latitude.toString(), - AppConfigInfo.plateNumber, SharedPrefsMgr.getInstance().getString("och_account","") , - BadCaseConfig.dockerVersion ?:"",faultList) - CallerDevaToolsManager.workOrderReport(workOrderReportInfo) + if(et_describe_input.text.toString().isEmpty()){ + ToastUtils.showShort("请填写问题描述") + return@setOnClickListener + } + GlobalScope.launch(Dispatchers.IO){ + val msgBoxList = CallerMsgBoxManager.queryFMInfoList(context, + workOrderOccurrenceTime-120000,workOrderOccurrenceTime+120000) + val faultList = ArrayList() + msgBoxList?.forEach { msgBoxBean -> + val fmInfoMsg = msgBoxBean.bean as FMInfoMsg + fmInfoMsg.fmInfoList?.forEach { fault -> + val faultBean = FaultInfo(false,fault.faultId,fault.faultName, + fault.faultTime.toString(), FaultDetailInfo(fault.faultDesc) + ) + faultList.add(faultBean) + } + } + val workOrderReportInfo = WorkOrderReportInfo(workOrderType,workOrderOccurrenceTime.toString(), + et_describe_input.text.toString(), CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().longitude.toString(), + CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().latitude.toString(), + AppConfigInfo.plateNumber, SharedPrefsMgr.getInstance().getString("och_account","") , + BadCaseConfig.dockerVersion ?:"",faultList) + CallerDevaToolsManager.workOrderReport(workOrderReportInfo) + } + }else{ + ToastUtils.showShort("请勿连续上报,稍后再试") } - } //取消 @@ -321,4 +341,28 @@ class WorkOrderView @JvmOverloads constructor( this.clickListener = clickListener } + override fun onVisibilityChanged(changedView: View, visibility: Int) { + super.onVisibilityChanged(changedView, visibility) + if(visibility == View.VISIBLE){ + //弹窗展示时间 + tv_work_order_time.text = + millis2String(System.currentTimeMillis(), TimeUtils.getHourMinSecondFormat()) + //问题类型 + wrap_radio_group.clearCheck() + //发生时间 + workOrderOccurrenceTime = System.currentTimeMillis() + tv_occurrence_time.text = millis2String(workOrderOccurrenceTime, TimeUtils.getHourMinFormat()) + et_describe_input.setText("") + //问题描述录音 + iv_describe_audio.setImageDrawable( + ContextCompat.getDrawable( + context, + R.drawable.icon_reason_audio_normal + ) + ) + setAudio(false) + } + + } + } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_work_order.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_work_order.xml index 61f7020e6b..6796b20b3d 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_work_order.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_work_order.xml @@ -254,13 +254,13 @@