[6.6.0]数据闭环
This commit is contained in:
@@ -293,12 +293,21 @@ class FaultReasonWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
//问题描述录音
|
||||
ivNoteAudio.setOnClickListener {
|
||||
audioStatus = !audioStatus
|
||||
if(audioStatus){
|
||||
ivNoteAudio.setImageDrawable(ContextCompat.getDrawable(
|
||||
mActivity,
|
||||
R.drawable.icon_reason_audio_pressed
|
||||
))
|
||||
}else{
|
||||
ivNoteAudio.setImageDrawable(ContextCompat.getDrawable(
|
||||
mActivity,
|
||||
R.drawable.icon_reason_audio_normal
|
||||
))
|
||||
}
|
||||
setAudio(audioStatus)
|
||||
}
|
||||
//上报
|
||||
tvFaultReport.setOnClickListener{
|
||||
CallerOrderListenerManager.invokeOrderLineUpdate("测试")
|
||||
|
||||
val geocodeSearch = GeocodeSearch(mActivity)
|
||||
geocodeSearch.setOnGeocodeSearchListener(object: GeocodeSearch.OnGeocodeSearchListener {
|
||||
override fun onRegeocodeSearched(regeocodeResult: RegeocodeResult?, p1: Int) {
|
||||
@@ -344,9 +353,7 @@ class FaultReasonWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
}
|
||||
//开始录音,展示放大缩小动效
|
||||
val scaleAnimation = ScaleAnimation(
|
||||
1.0f, 0.8f, 1.0f, 0.8f,
|
||||
Animation.RELATIVE_TO_SELF, 0.8f, Animation.RELATIVE_TO_SELF, 0.8f
|
||||
)
|
||||
1.0f, 0.8f, 1.0f, 0.8f)
|
||||
scaleAnimation.duration = 1000
|
||||
scaleAnimation.repeatCount = -1
|
||||
ivNoteAudio.startAnimation(scaleAnimation)
|
||||
@@ -502,6 +509,10 @@ class FaultReasonWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
super.problemPadAddSuccess()
|
||||
//显示上报成功页面,短暂停留关闭弹窗
|
||||
ThreadUtils.runOnUiThread {
|
||||
if(ivNoteAudio.hasTransientState()){
|
||||
//结束动画
|
||||
ivNoteAudio.clearAnimation()
|
||||
}
|
||||
rvFaultList.visibility = View.GONE
|
||||
tvUploadSuccess.visibility = View.VISIBLE
|
||||
faultReasonGroup.visibility = View.GONE
|
||||
|
||||
@@ -16,7 +16,9 @@ import android.widget.ImageView
|
||||
import android.widget.TextView
|
||||
import androidx.appcompat.widget.AppCompatTextView
|
||||
import androidx.constraintlayout.widget.Group
|
||||
import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager
|
||||
import com.mogo.eagle.core.utilcode.util.BarUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
@@ -30,7 +32,7 @@ import kotlin.math.round
|
||||
* 上报类型选择,包括一键上报及上报类型选择:故障类、接管类
|
||||
* 一键上报和类型选择互斥,当点击弹出上报类型选择时,一键上报隐藏
|
||||
*/
|
||||
class ReportTypeWindow constructor(activity: Activity) {
|
||||
class ReportTypeWindow constructor(activity: Activity): IMoGoDevaToolsListener {
|
||||
|
||||
companion object{
|
||||
const val TAG = "ReportTypeWindow"
|
||||
@@ -85,6 +87,7 @@ class ReportTypeWindow constructor(activity: Activity) {
|
||||
}
|
||||
|
||||
private fun initEvent(){
|
||||
CallerDevaToolsListenerManager.addListener(TAG, this)
|
||||
if(isOneClickType){
|
||||
oneClickGroup.visibility = View.VISIBLE
|
||||
reportTypeGroup.visibility = View.GONE
|
||||
@@ -114,6 +117,8 @@ class ReportTypeWindow constructor(activity: Activity) {
|
||||
ivOneClickReport.setOnClickListener {
|
||||
hasReportOperate = true
|
||||
//TODO
|
||||
|
||||
CallerDevaToolsListenerManager.invokeProblemPadAddSuccess()
|
||||
}
|
||||
//故障类
|
||||
tvReportTypeFault.setOnClickListener {
|
||||
@@ -128,6 +133,7 @@ class ReportTypeWindow constructor(activity: Activity) {
|
||||
BadCaseConfig.totalDuration, BadCaseConfig.previousDuration)
|
||||
if(response){
|
||||
//已发起录包
|
||||
oneClickGroup.visibility = View.GONE
|
||||
reportTypeGroup.visibility = View.GONE
|
||||
tvReportSuccess.visibility = View.VISIBLE
|
||||
tvReportSuccess.text = mActivity.resources.getString(R.string.record_success)
|
||||
@@ -137,6 +143,7 @@ class ReportTypeWindow constructor(activity: Activity) {
|
||||
},1500)
|
||||
}else{
|
||||
ToastUtils.showShort("主动录包命令下发失败")
|
||||
clickListener?.closeWindow()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -154,6 +161,7 @@ class ReportTypeWindow constructor(activity: Activity) {
|
||||
}
|
||||
|
||||
fun hideFloatWindow() {
|
||||
CallerDevaToolsListenerManager.removeListener(TAG)
|
||||
if (mFloatLayout.parent != null){
|
||||
mWindowManager!!.removeView(mFloatLayout)
|
||||
}
|
||||
@@ -167,4 +175,26 @@ class ReportTypeWindow constructor(activity: Activity) {
|
||||
fun closeWindow()
|
||||
}
|
||||
|
||||
/**
|
||||
* 故障上报成功
|
||||
*/
|
||||
override fun problemPadAddSuccess() {
|
||||
//显示上报成功页面,短暂停留关闭弹窗
|
||||
ThreadUtils.runOnUiThread {
|
||||
oneClickGroup.visibility = View.GONE
|
||||
reportTypeGroup.visibility = View.GONE
|
||||
tvReportSuccess.visibility = View.VISIBLE
|
||||
tvReportSuccess.text = mActivity.resources.getString(R.string.report_success)
|
||||
val successHandler = Handler(Looper.getMainLooper())
|
||||
successHandler.postDelayed({
|
||||
clickListener?.closeWindow()
|
||||
},1500)
|
||||
}
|
||||
}
|
||||
|
||||
override fun problemPadAddError(msg: String) {
|
||||
super.problemPadAddError(msg)
|
||||
ToastUtils.showShort("故障原因上报失败$msg")
|
||||
}
|
||||
|
||||
}
|
||||
@@ -249,6 +249,17 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
//问题描述录音
|
||||
ivNoteAudio.setOnClickListener {
|
||||
audioStatus = !audioStatus
|
||||
if(audioStatus){
|
||||
ivNoteAudio.setImageDrawable(ContextCompat.getDrawable(
|
||||
mActivity,
|
||||
R.drawable.icon_reason_audio_pressed
|
||||
))
|
||||
}else{
|
||||
ivNoteAudio.setImageDrawable(ContextCompat.getDrawable(
|
||||
mActivity,
|
||||
R.drawable.icon_reason_audio_normal
|
||||
))
|
||||
}
|
||||
setAudio(audioStatus)
|
||||
}
|
||||
//上报
|
||||
|
||||
@@ -7,10 +7,12 @@ import android.view.ViewGroup
|
||||
import android.widget.CheckBox
|
||||
import android.widget.ImageView
|
||||
import android.widget.TextView
|
||||
import androidx.appcompat.content.res.AppCompatResources
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.mogo.eagle.core.data.deva.report.TakeOverRecordInfo
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils.getHourMinSecondFormat
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.zhjt.mogo_core_function_devatools.R
|
||||
|
||||
@@ -36,12 +38,27 @@ class TakeOverListAdapter(private val context: Context): RecyclerView.Adapter<Ta
|
||||
override fun onBindViewHolder(holder: TakeOverRecordHolder, position: Int) {
|
||||
data?.let {
|
||||
val recordEntity = it[position]
|
||||
if(recordEntity.reportStatus){
|
||||
holder.ivCannotCheck.visibility = View.VISIBLE
|
||||
holder.cbRecordSelect.visibility = View.INVISIBLE
|
||||
}else{
|
||||
holder.ivCannotCheck.visibility = View.INVISIBLE
|
||||
holder.cbRecordSelect.visibility = View.VISIBLE
|
||||
}
|
||||
holder.cbRecordSelect.setOnCheckedChangeListener { _, isChecked ->
|
||||
clickListener?.onSelectRecord(recordEntity,isChecked)
|
||||
}
|
||||
holder.tvFaultStartTime.text = TimeUtils.millis2String(recordEntity.faultStartTime)
|
||||
holder.ivCannotCheck.setOnClickListener {
|
||||
ToastUtils.showShort("该条记录已上传,不可选择")
|
||||
}
|
||||
holder.tvFaultStartTime.text = TimeUtils.millis2String(recordEntity.faultStartTime,getHourMinSecondFormat())
|
||||
holder.tvLineName.text = recordEntity.lineName
|
||||
holder.tvTakeOverReason.text = recordEntity.reportNote
|
||||
//TODO 还应该判断类型和原因
|
||||
if(recordEntity.reportNote.isEmpty()){
|
||||
holder.tvTakeOverReason.text = "原因:空"
|
||||
}else{
|
||||
holder.tvTakeOverReason.text = "原因:${recordEntity.reportNote}"
|
||||
}
|
||||
if(recordEntity.reportStatus){
|
||||
//已上报
|
||||
holder.ivRecordStatusLabel.setImageDrawable(
|
||||
@@ -72,6 +89,7 @@ class TakeOverListAdapter(private val context: Context): RecyclerView.Adapter<Ta
|
||||
|
||||
class TakeOverRecordHolder(itemView: View) : RecyclerView.ViewHolder(itemView){
|
||||
val cbRecordSelect: CheckBox = itemView.findViewById(R.id.cbRecordSelect)
|
||||
val ivCannotCheck: ImageView = itemView.findViewById(R.id.ivCannotCheck)
|
||||
val tvFaultStartTime: TextView = itemView.findViewById(R.id.tvFaultStartTime)
|
||||
val ivRecordStatusLabel: ImageView = itemView.findViewById(R.id.ivRecordStatusLabel)
|
||||
val tvLineName: TextView = itemView.findViewById(R.id.tvLineName)
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 847 B |
Binary file not shown.
|
After Width: | Height: | Size: 1.6 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.1 KiB |
@@ -16,6 +16,20 @@
|
||||
android:paddingEnd="@dimen/dp_10"
|
||||
/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivCannotCheck"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:paddingTop="@dimen/dp_30"
|
||||
android:paddingBottom="@dimen/dp_30"
|
||||
android:paddingEnd="@dimen/dp_10"
|
||||
android:src="@drawable/icon_record_cannot_check"
|
||||
android:contentDescription="@string/take_over_record_cannot_check"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvFaultStartTime"
|
||||
android:layout_width="wrap_content"
|
||||
|
||||
@@ -249,13 +249,13 @@
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivNoteAudio"
|
||||
android:layout_width="@dimen/dp_45"
|
||||
android:layout_height="@dimen/dp_59"
|
||||
android:src="@drawable/icon_work_order_audio"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/icon_reason_audio_normal"
|
||||
app:layout_constraintTop_toTopOf="@id/etNoteInput"
|
||||
app:layout_constraintBottom_toBottomOf="@id/etNoteInput"
|
||||
app:layout_constraintEnd_toEndOf="@id/etNoteInput"
|
||||
android:layout_marginEnd="@dimen/dp_30"
|
||||
android:padding="@dimen/dp_30"
|
||||
android:contentDescription="@string/take_over_note_audio"
|
||||
/>
|
||||
|
||||
|
||||
@@ -190,13 +190,13 @@
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivNoteAudio"
|
||||
android:layout_width="@dimen/dp_45"
|
||||
android:layout_height="@dimen/dp_59"
|
||||
android:src="@drawable/icon_work_order_audio"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/icon_reason_audio_normal"
|
||||
app:layout_constraintTop_toTopOf="@id/etNoteInput"
|
||||
app:layout_constraintBottom_toBottomOf="@id/etNoteInput"
|
||||
app:layout_constraintEnd_toEndOf="@id/etNoteInput"
|
||||
android:layout_marginEnd="@dimen/dp_30"
|
||||
android:padding="@dimen/dp_30"
|
||||
android:contentDescription="@string/take_over_note_audio"
|
||||
/>
|
||||
|
||||
|
||||
@@ -65,5 +65,6 @@
|
||||
<string name="take_over_save">保存</string>
|
||||
<string name="take_over_cancel">取消</string>
|
||||
<string name="take_over_record_no_data">暂无接管记录</string>
|
||||
<string name="take_over_record_cannot_check">不能选则</string>
|
||||
|
||||
</resources>
|
||||
Reference in New Issue
Block a user