diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt index 7267e88..8d84a0f 100644 --- a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt +++ b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt @@ -7,7 +7,6 @@ import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.app.smartwell.R -import com.casic.app.smartwell.extensions.valueToType import com.casic.app.smartwell.model.WorkOrderListModel import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton @@ -31,8 +30,8 @@ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { //绑定数据 val rowsBean = dataRows[position] - holder.wellTypeView.text = rowsBean.wellId.valueToType() holder.alarmTypeView.text = rowsBean.alarmContentName + holder.createTimeView.text = rowsBean.createTime holder.wellCodeView.text = rowsBean.wellCode holder.wellLocationView.text = rowsBean.position //绑定事件 @@ -40,22 +39,19 @@ holder.itemView.setOnClickListener { listener!!.onClicked(position) } + holder.operationButton.setChangeAlphaWhenPress(true) holder.operationButton.setOnClickListener { listener!!.onOperationClicked(position) } - holder.navigationButton.setOnClickListener { - listener!!.onNavigationButtonClicked(position) - } } } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var wellTypeView: QMUIRoundButton = view.findViewById(R.id.wellTypeView) var alarmTypeView: TextView = view.findViewById(R.id.alarmTypeView) + var createTimeView: TextView = view.findViewById(R.id.createTimeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var wellLocationView: TextView = view.findViewById(R.id.wellLocationView) - var operationButton: QMUIRoundButton = view.findViewById(R.id.wellStateView) - var navigationButton: QMUIRoundButton = view.findViewById(R.id.navigationButton) + var operationButton: QMUIRoundButton = view.findViewById(R.id.operationButton) } private var listener: OnItemClickListener? = null @@ -64,8 +60,6 @@ fun onClicked(position: Int) fun onOperationClicked(position: Int) - - fun onNavigationButtonClicked(position: Int) } fun setOnItemClickListener(onClickListener: OnItemClickListener?) { diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt index 7267e88..8d84a0f 100644 --- a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt +++ b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt @@ -7,7 +7,6 @@ import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.app.smartwell.R -import com.casic.app.smartwell.extensions.valueToType import com.casic.app.smartwell.model.WorkOrderListModel import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton @@ -31,8 +30,8 @@ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { //绑定数据 val rowsBean = dataRows[position] - holder.wellTypeView.text = rowsBean.wellId.valueToType() holder.alarmTypeView.text = rowsBean.alarmContentName + holder.createTimeView.text = rowsBean.createTime holder.wellCodeView.text = rowsBean.wellCode holder.wellLocationView.text = rowsBean.position //绑定事件 @@ -40,22 +39,19 @@ holder.itemView.setOnClickListener { listener!!.onClicked(position) } + holder.operationButton.setChangeAlphaWhenPress(true) holder.operationButton.setOnClickListener { listener!!.onOperationClicked(position) } - holder.navigationButton.setOnClickListener { - listener!!.onNavigationButtonClicked(position) - } } } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var wellTypeView: QMUIRoundButton = view.findViewById(R.id.wellTypeView) var alarmTypeView: TextView = view.findViewById(R.id.alarmTypeView) + var createTimeView: TextView = view.findViewById(R.id.createTimeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var wellLocationView: TextView = view.findViewById(R.id.wellLocationView) - var operationButton: QMUIRoundButton = view.findViewById(R.id.wellStateView) - var navigationButton: QMUIRoundButton = view.findViewById(R.id.navigationButton) + var operationButton: QMUIRoundButton = view.findViewById(R.id.operationButton) } private var listener: OnItemClickListener? = null @@ -64,8 +60,6 @@ fun onClicked(position: Int) fun onOperationClicked(position: Int) - - fun onNavigationButtonClicked(position: Int) } fun setOnItemClickListener(onClickListener: OnItemClickListener?) { diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/String.kt b/app/src/main/java/com/casic/app/smartwell/extensions/String.kt index 7309344..7358b1c 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/String.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/String.kt @@ -55,4 +55,16 @@ "http://111.198.10.15:11304" ) as String return "$defaultValue/static/${this.replace("\\", "/")}" +} + +//窨井类型转换 +fun String.toChinese(): String { + return when (this) { + "1" -> "一级" + "2" -> "二级" + "3" -> "三级" + else -> { + "未知" + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt index 7267e88..8d84a0f 100644 --- a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt +++ b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt @@ -7,7 +7,6 @@ import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.app.smartwell.R -import com.casic.app.smartwell.extensions.valueToType import com.casic.app.smartwell.model.WorkOrderListModel import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton @@ -31,8 +30,8 @@ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { //绑定数据 val rowsBean = dataRows[position] - holder.wellTypeView.text = rowsBean.wellId.valueToType() holder.alarmTypeView.text = rowsBean.alarmContentName + holder.createTimeView.text = rowsBean.createTime holder.wellCodeView.text = rowsBean.wellCode holder.wellLocationView.text = rowsBean.position //绑定事件 @@ -40,22 +39,19 @@ holder.itemView.setOnClickListener { listener!!.onClicked(position) } + holder.operationButton.setChangeAlphaWhenPress(true) holder.operationButton.setOnClickListener { listener!!.onOperationClicked(position) } - holder.navigationButton.setOnClickListener { - listener!!.onNavigationButtonClicked(position) - } } } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var wellTypeView: QMUIRoundButton = view.findViewById(R.id.wellTypeView) var alarmTypeView: TextView = view.findViewById(R.id.alarmTypeView) + var createTimeView: TextView = view.findViewById(R.id.createTimeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var wellLocationView: TextView = view.findViewById(R.id.wellLocationView) - var operationButton: QMUIRoundButton = view.findViewById(R.id.wellStateView) - var navigationButton: QMUIRoundButton = view.findViewById(R.id.navigationButton) + var operationButton: QMUIRoundButton = view.findViewById(R.id.operationButton) } private var listener: OnItemClickListener? = null @@ -64,8 +60,6 @@ fun onClicked(position: Int) fun onOperationClicked(position: Int) - - fun onNavigationButtonClicked(position: Int) } fun setOnItemClickListener(onClickListener: OnItemClickListener?) { diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/String.kt b/app/src/main/java/com/casic/app/smartwell/extensions/String.kt index 7309344..7358b1c 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/String.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/String.kt @@ -55,4 +55,16 @@ "http://111.198.10.15:11304" ) as String return "$defaultValue/static/${this.replace("\\", "/")}" +} + +//窨井类型转换 +fun String.toChinese(): String { + return when (this) { + "1" -> "一级" + "2" -> "二级" + "3" -> "三级" + else -> { + "未知" + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt index 8d23f3e..682801a 100644 --- a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt @@ -75,7 +75,7 @@ var jobStatusName: String? = null var alarmValue: String? = null var alarmId: String? = null - var alarmLevel = 0 + var alarmLevel: String? = null var handleJobTime: String? = null var tel: String? = null var id: String? = null diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt index 7267e88..8d84a0f 100644 --- a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt +++ b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt @@ -7,7 +7,6 @@ import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.app.smartwell.R -import com.casic.app.smartwell.extensions.valueToType import com.casic.app.smartwell.model.WorkOrderListModel import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton @@ -31,8 +30,8 @@ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { //绑定数据 val rowsBean = dataRows[position] - holder.wellTypeView.text = rowsBean.wellId.valueToType() holder.alarmTypeView.text = rowsBean.alarmContentName + holder.createTimeView.text = rowsBean.createTime holder.wellCodeView.text = rowsBean.wellCode holder.wellLocationView.text = rowsBean.position //绑定事件 @@ -40,22 +39,19 @@ holder.itemView.setOnClickListener { listener!!.onClicked(position) } + holder.operationButton.setChangeAlphaWhenPress(true) holder.operationButton.setOnClickListener { listener!!.onOperationClicked(position) } - holder.navigationButton.setOnClickListener { - listener!!.onNavigationButtonClicked(position) - } } } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var wellTypeView: QMUIRoundButton = view.findViewById(R.id.wellTypeView) var alarmTypeView: TextView = view.findViewById(R.id.alarmTypeView) + var createTimeView: TextView = view.findViewById(R.id.createTimeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var wellLocationView: TextView = view.findViewById(R.id.wellLocationView) - var operationButton: QMUIRoundButton = view.findViewById(R.id.wellStateView) - var navigationButton: QMUIRoundButton = view.findViewById(R.id.navigationButton) + var operationButton: QMUIRoundButton = view.findViewById(R.id.operationButton) } private var listener: OnItemClickListener? = null @@ -64,8 +60,6 @@ fun onClicked(position: Int) fun onOperationClicked(position: Int) - - fun onNavigationButtonClicked(position: Int) } fun setOnItemClickListener(onClickListener: OnItemClickListener?) { diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/String.kt b/app/src/main/java/com/casic/app/smartwell/extensions/String.kt index 7309344..7358b1c 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/String.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/String.kt @@ -55,4 +55,16 @@ "http://111.198.10.15:11304" ) as String return "$defaultValue/static/${this.replace("\\", "/")}" +} + +//窨井类型转换 +fun String.toChinese(): String { + return when (this) { + "1" -> "一级" + "2" -> "二级" + "3" -> "三级" + else -> { + "未知" + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt index 8d23f3e..682801a 100644 --- a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt @@ -75,7 +75,7 @@ var jobStatusName: String? = null var alarmValue: String? = null var alarmId: String? = null - var alarmLevel = 0 + var alarmLevel: String? = null var handleJobTime: String? = null var tel: String? = null var id: String? = null diff --git a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt index 1d894cb..ed2695d 100644 --- a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt @@ -1,75 +1,52 @@ package com.casic.app.smartwell.model - class WorkOrderListModel { - /** - * code : 200 - * message : success - * data : {"rows":[{"id":1,"wellId":1,"wellCode":"N51F131","devcode":"4120182441","position":"宋郎路","alarmType":"1","alarmTypeName":"数据异常","alarmContent":"1","alarmContentName":"液位超限","alarmValue":"12","deptid":"1","deptName":"一分公司","jobId":1,"jobCode":"2019282717892","jobStatus":"0","jobStatusName":"待处理","createTime":"2018-12-27 00:00:00","getJobPerson":"1321321","getJobTime":"2018-12-27 00:00:00","confirmJobPerson":"1321321","confirmJobTime":"2018-12-27 00:00:00","handleJobPerson":"1321321","handleJobTime":"2018-12-27 00:00:00"}],"total":200} - */ var code = 0 - var message: String? = null var data: DataBean? = null - + var message: String? = null + var success = false class DataBean { - /** - * rows : [{"id":1,"wellId":1,"wellCode":"N51F131","devcode":"4120182441","position":"宋郎路","alarmType":"1","alarmTypeName":"数据异常","alarmContent":"1","alarmContentName":"液位超限","alarmValue":"12","deptid":"1","deptName":"一分公司","jobId":1,"jobCode":"2019282717892","jobStatus":"0","jobStatusName":"待处理","createTime":"2018-12-27 00:00:00","getJobPerson":"1321321","getJobTime":"2018-12-27 00:00:00","confirmJobPerson":"1321321","confirmJobTime":"2018-12-27 00:00:00","handleJobPerson":"1321321","handleJobTime":"2018-12-27 00:00:00"}] - * total : 200 - */ - var total = 0 var rows: MutableList? = null - + var total = 0 class RowsBean { - /** - * id : 1 - * wellId : 1 - * wellCode : N51F131 - * devcode : 4120182441 - * position : 宋郎路 - * alarmType : 1 - * alarmTypeName : 数据异常 - * alarmContent : 1 - * alarmContentName : 液位超限 - * alarmValue : 12 - * deptid : 1 - * deptName : 一分公司 - * jobId : 1 - * jobCode : 2019282717892 - * jobStatus : 0 - * jobStatusName : 待处理 - * createTime : 2018-12-27 00:00:00 - * getJobPerson : 1321321 - * getJobTime : 2018-12-27 00:00:00 - * confirmJobPerson : 1321321 - * confirmJobTime : 2018-12-27 00:00:00 - * handleJobPerson : 1321321 - * handleJobTime : 2018-12-27 00:00:00 - */ - var id = 0 - var wellId = 0 - var wellCode: String? = null - var devcode: String? = null - var position: String? = null - var alarmType: String? = null - var alarmTypeName: String? = null - var alarmContent: String? = null - var alarmContentName: String? = null - var alarmValue: String? = null - var deptid: String? = null + var alarmContent = 0 var deptName: String? = null - var jobId = 0 - var jobCode: String? = null var jobStatus: String? = null - var jobStatusName: String? = null - var createTime: String? = null - var getJobPerson: String? = null - var getJobTime: String? = null + var handleJobPerson: String? = null + var alarmContentName: String? = null + var shouldGetTime: String? = null + var wellCode: String? = null + var deptid: String? = null + var alarmTypeName: String? = null + var jobCode: String? = null + var jobBelongTo: String? = null + var jobFlag: String? = null var confirmJobPerson: String? = null var confirmJobTime: String? = null - var handleJobPerson: String? = null + var jobStatusName: String? = null + var alarmValue: String? = null + var alarmId: String? = null + var alarmLevel: String? = null var handleJobTime: String? = null + var tel: String? = null + var id: String? = null + var wellId: String? = null + var jobType: String? = null + var editable = 0 + var alarmTime: String? = null + var alarmMessage: String? = null + var staff: String? = null + var getJobTime: String? = null + var getJobPerson: String? = null + var shouldHandleTime: String? = null + var jobId: String? = null + var alarmType: String? = null + var alarmStatus: String? = null + var devcode: String? = null + var createTime: String? = null + var position: String? = null } } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt index 7267e88..8d84a0f 100644 --- a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt +++ b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt @@ -7,7 +7,6 @@ import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.app.smartwell.R -import com.casic.app.smartwell.extensions.valueToType import com.casic.app.smartwell.model.WorkOrderListModel import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton @@ -31,8 +30,8 @@ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { //绑定数据 val rowsBean = dataRows[position] - holder.wellTypeView.text = rowsBean.wellId.valueToType() holder.alarmTypeView.text = rowsBean.alarmContentName + holder.createTimeView.text = rowsBean.createTime holder.wellCodeView.text = rowsBean.wellCode holder.wellLocationView.text = rowsBean.position //绑定事件 @@ -40,22 +39,19 @@ holder.itemView.setOnClickListener { listener!!.onClicked(position) } + holder.operationButton.setChangeAlphaWhenPress(true) holder.operationButton.setOnClickListener { listener!!.onOperationClicked(position) } - holder.navigationButton.setOnClickListener { - listener!!.onNavigationButtonClicked(position) - } } } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var wellTypeView: QMUIRoundButton = view.findViewById(R.id.wellTypeView) var alarmTypeView: TextView = view.findViewById(R.id.alarmTypeView) + var createTimeView: TextView = view.findViewById(R.id.createTimeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var wellLocationView: TextView = view.findViewById(R.id.wellLocationView) - var operationButton: QMUIRoundButton = view.findViewById(R.id.wellStateView) - var navigationButton: QMUIRoundButton = view.findViewById(R.id.navigationButton) + var operationButton: QMUIRoundButton = view.findViewById(R.id.operationButton) } private var listener: OnItemClickListener? = null @@ -64,8 +60,6 @@ fun onClicked(position: Int) fun onOperationClicked(position: Int) - - fun onNavigationButtonClicked(position: Int) } fun setOnItemClickListener(onClickListener: OnItemClickListener?) { diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/String.kt b/app/src/main/java/com/casic/app/smartwell/extensions/String.kt index 7309344..7358b1c 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/String.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/String.kt @@ -55,4 +55,16 @@ "http://111.198.10.15:11304" ) as String return "$defaultValue/static/${this.replace("\\", "/")}" +} + +//窨井类型转换 +fun String.toChinese(): String { + return when (this) { + "1" -> "一级" + "2" -> "二级" + "3" -> "三级" + else -> { + "未知" + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt index 8d23f3e..682801a 100644 --- a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt @@ -75,7 +75,7 @@ var jobStatusName: String? = null var alarmValue: String? = null var alarmId: String? = null - var alarmLevel = 0 + var alarmLevel: String? = null var handleJobTime: String? = null var tel: String? = null var id: String? = null diff --git a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt index 1d894cb..ed2695d 100644 --- a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt @@ -1,75 +1,52 @@ package com.casic.app.smartwell.model - class WorkOrderListModel { - /** - * code : 200 - * message : success - * data : {"rows":[{"id":1,"wellId":1,"wellCode":"N51F131","devcode":"4120182441","position":"宋郎路","alarmType":"1","alarmTypeName":"数据异常","alarmContent":"1","alarmContentName":"液位超限","alarmValue":"12","deptid":"1","deptName":"一分公司","jobId":1,"jobCode":"2019282717892","jobStatus":"0","jobStatusName":"待处理","createTime":"2018-12-27 00:00:00","getJobPerson":"1321321","getJobTime":"2018-12-27 00:00:00","confirmJobPerson":"1321321","confirmJobTime":"2018-12-27 00:00:00","handleJobPerson":"1321321","handleJobTime":"2018-12-27 00:00:00"}],"total":200} - */ var code = 0 - var message: String? = null var data: DataBean? = null - + var message: String? = null + var success = false class DataBean { - /** - * rows : [{"id":1,"wellId":1,"wellCode":"N51F131","devcode":"4120182441","position":"宋郎路","alarmType":"1","alarmTypeName":"数据异常","alarmContent":"1","alarmContentName":"液位超限","alarmValue":"12","deptid":"1","deptName":"一分公司","jobId":1,"jobCode":"2019282717892","jobStatus":"0","jobStatusName":"待处理","createTime":"2018-12-27 00:00:00","getJobPerson":"1321321","getJobTime":"2018-12-27 00:00:00","confirmJobPerson":"1321321","confirmJobTime":"2018-12-27 00:00:00","handleJobPerson":"1321321","handleJobTime":"2018-12-27 00:00:00"}] - * total : 200 - */ - var total = 0 var rows: MutableList? = null - + var total = 0 class RowsBean { - /** - * id : 1 - * wellId : 1 - * wellCode : N51F131 - * devcode : 4120182441 - * position : 宋郎路 - * alarmType : 1 - * alarmTypeName : 数据异常 - * alarmContent : 1 - * alarmContentName : 液位超限 - * alarmValue : 12 - * deptid : 1 - * deptName : 一分公司 - * jobId : 1 - * jobCode : 2019282717892 - * jobStatus : 0 - * jobStatusName : 待处理 - * createTime : 2018-12-27 00:00:00 - * getJobPerson : 1321321 - * getJobTime : 2018-12-27 00:00:00 - * confirmJobPerson : 1321321 - * confirmJobTime : 2018-12-27 00:00:00 - * handleJobPerson : 1321321 - * handleJobTime : 2018-12-27 00:00:00 - */ - var id = 0 - var wellId = 0 - var wellCode: String? = null - var devcode: String? = null - var position: String? = null - var alarmType: String? = null - var alarmTypeName: String? = null - var alarmContent: String? = null - var alarmContentName: String? = null - var alarmValue: String? = null - var deptid: String? = null + var alarmContent = 0 var deptName: String? = null - var jobId = 0 - var jobCode: String? = null var jobStatus: String? = null - var jobStatusName: String? = null - var createTime: String? = null - var getJobPerson: String? = null - var getJobTime: String? = null + var handleJobPerson: String? = null + var alarmContentName: String? = null + var shouldGetTime: String? = null + var wellCode: String? = null + var deptid: String? = null + var alarmTypeName: String? = null + var jobCode: String? = null + var jobBelongTo: String? = null + var jobFlag: String? = null var confirmJobPerson: String? = null var confirmJobTime: String? = null - var handleJobPerson: String? = null + var jobStatusName: String? = null + var alarmValue: String? = null + var alarmId: String? = null + var alarmLevel: String? = null var handleJobTime: String? = null + var tel: String? = null + var id: String? = null + var wellId: String? = null + var jobType: String? = null + var editable = 0 + var alarmTime: String? = null + var alarmMessage: String? = null + var staff: String? = null + var getJobTime: String? = null + var getJobPerson: String? = null + var shouldHandleTime: String? = null + var jobId: String? = null + var alarmType: String? = null + var alarmStatus: String? = null + var devcode: String? = null + var createTime: String? = null + var position: String? = null } } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt index 9b64524..8395e15 100644 --- a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt @@ -103,7 +103,7 @@ @GET("/job/info") suspend fun obtainWorkOrderDetail( @Header("token") token: String, - @Query("id") id: Long + @Query("id") id: String ): WorkOrderDetailModel /** @@ -113,7 +113,7 @@ @POST("/job/getJob") suspend fun acceptWorkOrder( @Header("token") token: String, - @Field("id") id: Int + @Field("id") id: String ): CommonResultModel /** diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt index 7267e88..8d84a0f 100644 --- a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt +++ b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt @@ -7,7 +7,6 @@ import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.app.smartwell.R -import com.casic.app.smartwell.extensions.valueToType import com.casic.app.smartwell.model.WorkOrderListModel import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton @@ -31,8 +30,8 @@ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { //绑定数据 val rowsBean = dataRows[position] - holder.wellTypeView.text = rowsBean.wellId.valueToType() holder.alarmTypeView.text = rowsBean.alarmContentName + holder.createTimeView.text = rowsBean.createTime holder.wellCodeView.text = rowsBean.wellCode holder.wellLocationView.text = rowsBean.position //绑定事件 @@ -40,22 +39,19 @@ holder.itemView.setOnClickListener { listener!!.onClicked(position) } + holder.operationButton.setChangeAlphaWhenPress(true) holder.operationButton.setOnClickListener { listener!!.onOperationClicked(position) } - holder.navigationButton.setOnClickListener { - listener!!.onNavigationButtonClicked(position) - } } } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var wellTypeView: QMUIRoundButton = view.findViewById(R.id.wellTypeView) var alarmTypeView: TextView = view.findViewById(R.id.alarmTypeView) + var createTimeView: TextView = view.findViewById(R.id.createTimeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var wellLocationView: TextView = view.findViewById(R.id.wellLocationView) - var operationButton: QMUIRoundButton = view.findViewById(R.id.wellStateView) - var navigationButton: QMUIRoundButton = view.findViewById(R.id.navigationButton) + var operationButton: QMUIRoundButton = view.findViewById(R.id.operationButton) } private var listener: OnItemClickListener? = null @@ -64,8 +60,6 @@ fun onClicked(position: Int) fun onOperationClicked(position: Int) - - fun onNavigationButtonClicked(position: Int) } fun setOnItemClickListener(onClickListener: OnItemClickListener?) { diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/String.kt b/app/src/main/java/com/casic/app/smartwell/extensions/String.kt index 7309344..7358b1c 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/String.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/String.kt @@ -55,4 +55,16 @@ "http://111.198.10.15:11304" ) as String return "$defaultValue/static/${this.replace("\\", "/")}" +} + +//窨井类型转换 +fun String.toChinese(): String { + return when (this) { + "1" -> "一级" + "2" -> "二级" + "3" -> "三级" + else -> { + "未知" + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt index 8d23f3e..682801a 100644 --- a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt @@ -75,7 +75,7 @@ var jobStatusName: String? = null var alarmValue: String? = null var alarmId: String? = null - var alarmLevel = 0 + var alarmLevel: String? = null var handleJobTime: String? = null var tel: String? = null var id: String? = null diff --git a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt index 1d894cb..ed2695d 100644 --- a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt @@ -1,75 +1,52 @@ package com.casic.app.smartwell.model - class WorkOrderListModel { - /** - * code : 200 - * message : success - * data : {"rows":[{"id":1,"wellId":1,"wellCode":"N51F131","devcode":"4120182441","position":"宋郎路","alarmType":"1","alarmTypeName":"数据异常","alarmContent":"1","alarmContentName":"液位超限","alarmValue":"12","deptid":"1","deptName":"一分公司","jobId":1,"jobCode":"2019282717892","jobStatus":"0","jobStatusName":"待处理","createTime":"2018-12-27 00:00:00","getJobPerson":"1321321","getJobTime":"2018-12-27 00:00:00","confirmJobPerson":"1321321","confirmJobTime":"2018-12-27 00:00:00","handleJobPerson":"1321321","handleJobTime":"2018-12-27 00:00:00"}],"total":200} - */ var code = 0 - var message: String? = null var data: DataBean? = null - + var message: String? = null + var success = false class DataBean { - /** - * rows : [{"id":1,"wellId":1,"wellCode":"N51F131","devcode":"4120182441","position":"宋郎路","alarmType":"1","alarmTypeName":"数据异常","alarmContent":"1","alarmContentName":"液位超限","alarmValue":"12","deptid":"1","deptName":"一分公司","jobId":1,"jobCode":"2019282717892","jobStatus":"0","jobStatusName":"待处理","createTime":"2018-12-27 00:00:00","getJobPerson":"1321321","getJobTime":"2018-12-27 00:00:00","confirmJobPerson":"1321321","confirmJobTime":"2018-12-27 00:00:00","handleJobPerson":"1321321","handleJobTime":"2018-12-27 00:00:00"}] - * total : 200 - */ - var total = 0 var rows: MutableList? = null - + var total = 0 class RowsBean { - /** - * id : 1 - * wellId : 1 - * wellCode : N51F131 - * devcode : 4120182441 - * position : 宋郎路 - * alarmType : 1 - * alarmTypeName : 数据异常 - * alarmContent : 1 - * alarmContentName : 液位超限 - * alarmValue : 12 - * deptid : 1 - * deptName : 一分公司 - * jobId : 1 - * jobCode : 2019282717892 - * jobStatus : 0 - * jobStatusName : 待处理 - * createTime : 2018-12-27 00:00:00 - * getJobPerson : 1321321 - * getJobTime : 2018-12-27 00:00:00 - * confirmJobPerson : 1321321 - * confirmJobTime : 2018-12-27 00:00:00 - * handleJobPerson : 1321321 - * handleJobTime : 2018-12-27 00:00:00 - */ - var id = 0 - var wellId = 0 - var wellCode: String? = null - var devcode: String? = null - var position: String? = null - var alarmType: String? = null - var alarmTypeName: String? = null - var alarmContent: String? = null - var alarmContentName: String? = null - var alarmValue: String? = null - var deptid: String? = null + var alarmContent = 0 var deptName: String? = null - var jobId = 0 - var jobCode: String? = null var jobStatus: String? = null - var jobStatusName: String? = null - var createTime: String? = null - var getJobPerson: String? = null - var getJobTime: String? = null + var handleJobPerson: String? = null + var alarmContentName: String? = null + var shouldGetTime: String? = null + var wellCode: String? = null + var deptid: String? = null + var alarmTypeName: String? = null + var jobCode: String? = null + var jobBelongTo: String? = null + var jobFlag: String? = null var confirmJobPerson: String? = null var confirmJobTime: String? = null - var handleJobPerson: String? = null + var jobStatusName: String? = null + var alarmValue: String? = null + var alarmId: String? = null + var alarmLevel: String? = null var handleJobTime: String? = null + var tel: String? = null + var id: String? = null + var wellId: String? = null + var jobType: String? = null + var editable = 0 + var alarmTime: String? = null + var alarmMessage: String? = null + var staff: String? = null + var getJobTime: String? = null + var getJobPerson: String? = null + var shouldHandleTime: String? = null + var jobId: String? = null + var alarmType: String? = null + var alarmStatus: String? = null + var devcode: String? = null + var createTime: String? = null + var position: String? = null } } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt index 9b64524..8395e15 100644 --- a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt @@ -103,7 +103,7 @@ @GET("/job/info") suspend fun obtainWorkOrderDetail( @Header("token") token: String, - @Query("id") id: Long + @Query("id") id: String ): WorkOrderDetailModel /** @@ -113,7 +113,7 @@ @POST("/job/getJob") suspend fun acceptWorkOrder( @Header("token") token: String, - @Field("id") id: Int + @Field("id") id: String ): CommonResultModel /** diff --git a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt index d574dda..1223036 100644 --- a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt @@ -98,14 +98,14 @@ /** * 获取工单详情 */ - suspend fun obtainWorkOrderDetail(id: Long): WorkOrderDetailModel { + suspend fun obtainWorkOrderDetail(id: String): WorkOrderDetailModel { return api.obtainWorkOrderDetail(AuthenticationHelper.token!!, id) } /** * 接单 */ - suspend fun acceptWorkOrder(id: Int): CommonResultModel { + suspend fun acceptWorkOrder(id: String): CommonResultModel { return api.acceptWorkOrder(AuthenticationHelper.token!!, id) } diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt index 7267e88..8d84a0f 100644 --- a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt +++ b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt @@ -7,7 +7,6 @@ import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.app.smartwell.R -import com.casic.app.smartwell.extensions.valueToType import com.casic.app.smartwell.model.WorkOrderListModel import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton @@ -31,8 +30,8 @@ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { //绑定数据 val rowsBean = dataRows[position] - holder.wellTypeView.text = rowsBean.wellId.valueToType() holder.alarmTypeView.text = rowsBean.alarmContentName + holder.createTimeView.text = rowsBean.createTime holder.wellCodeView.text = rowsBean.wellCode holder.wellLocationView.text = rowsBean.position //绑定事件 @@ -40,22 +39,19 @@ holder.itemView.setOnClickListener { listener!!.onClicked(position) } + holder.operationButton.setChangeAlphaWhenPress(true) holder.operationButton.setOnClickListener { listener!!.onOperationClicked(position) } - holder.navigationButton.setOnClickListener { - listener!!.onNavigationButtonClicked(position) - } } } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var wellTypeView: QMUIRoundButton = view.findViewById(R.id.wellTypeView) var alarmTypeView: TextView = view.findViewById(R.id.alarmTypeView) + var createTimeView: TextView = view.findViewById(R.id.createTimeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var wellLocationView: TextView = view.findViewById(R.id.wellLocationView) - var operationButton: QMUIRoundButton = view.findViewById(R.id.wellStateView) - var navigationButton: QMUIRoundButton = view.findViewById(R.id.navigationButton) + var operationButton: QMUIRoundButton = view.findViewById(R.id.operationButton) } private var listener: OnItemClickListener? = null @@ -64,8 +60,6 @@ fun onClicked(position: Int) fun onOperationClicked(position: Int) - - fun onNavigationButtonClicked(position: Int) } fun setOnItemClickListener(onClickListener: OnItemClickListener?) { diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/String.kt b/app/src/main/java/com/casic/app/smartwell/extensions/String.kt index 7309344..7358b1c 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/String.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/String.kt @@ -55,4 +55,16 @@ "http://111.198.10.15:11304" ) as String return "$defaultValue/static/${this.replace("\\", "/")}" +} + +//窨井类型转换 +fun String.toChinese(): String { + return when (this) { + "1" -> "一级" + "2" -> "二级" + "3" -> "三级" + else -> { + "未知" + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt index 8d23f3e..682801a 100644 --- a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt @@ -75,7 +75,7 @@ var jobStatusName: String? = null var alarmValue: String? = null var alarmId: String? = null - var alarmLevel = 0 + var alarmLevel: String? = null var handleJobTime: String? = null var tel: String? = null var id: String? = null diff --git a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt index 1d894cb..ed2695d 100644 --- a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt @@ -1,75 +1,52 @@ package com.casic.app.smartwell.model - class WorkOrderListModel { - /** - * code : 200 - * message : success - * data : {"rows":[{"id":1,"wellId":1,"wellCode":"N51F131","devcode":"4120182441","position":"宋郎路","alarmType":"1","alarmTypeName":"数据异常","alarmContent":"1","alarmContentName":"液位超限","alarmValue":"12","deptid":"1","deptName":"一分公司","jobId":1,"jobCode":"2019282717892","jobStatus":"0","jobStatusName":"待处理","createTime":"2018-12-27 00:00:00","getJobPerson":"1321321","getJobTime":"2018-12-27 00:00:00","confirmJobPerson":"1321321","confirmJobTime":"2018-12-27 00:00:00","handleJobPerson":"1321321","handleJobTime":"2018-12-27 00:00:00"}],"total":200} - */ var code = 0 - var message: String? = null var data: DataBean? = null - + var message: String? = null + var success = false class DataBean { - /** - * rows : [{"id":1,"wellId":1,"wellCode":"N51F131","devcode":"4120182441","position":"宋郎路","alarmType":"1","alarmTypeName":"数据异常","alarmContent":"1","alarmContentName":"液位超限","alarmValue":"12","deptid":"1","deptName":"一分公司","jobId":1,"jobCode":"2019282717892","jobStatus":"0","jobStatusName":"待处理","createTime":"2018-12-27 00:00:00","getJobPerson":"1321321","getJobTime":"2018-12-27 00:00:00","confirmJobPerson":"1321321","confirmJobTime":"2018-12-27 00:00:00","handleJobPerson":"1321321","handleJobTime":"2018-12-27 00:00:00"}] - * total : 200 - */ - var total = 0 var rows: MutableList? = null - + var total = 0 class RowsBean { - /** - * id : 1 - * wellId : 1 - * wellCode : N51F131 - * devcode : 4120182441 - * position : 宋郎路 - * alarmType : 1 - * alarmTypeName : 数据异常 - * alarmContent : 1 - * alarmContentName : 液位超限 - * alarmValue : 12 - * deptid : 1 - * deptName : 一分公司 - * jobId : 1 - * jobCode : 2019282717892 - * jobStatus : 0 - * jobStatusName : 待处理 - * createTime : 2018-12-27 00:00:00 - * getJobPerson : 1321321 - * getJobTime : 2018-12-27 00:00:00 - * confirmJobPerson : 1321321 - * confirmJobTime : 2018-12-27 00:00:00 - * handleJobPerson : 1321321 - * handleJobTime : 2018-12-27 00:00:00 - */ - var id = 0 - var wellId = 0 - var wellCode: String? = null - var devcode: String? = null - var position: String? = null - var alarmType: String? = null - var alarmTypeName: String? = null - var alarmContent: String? = null - var alarmContentName: String? = null - var alarmValue: String? = null - var deptid: String? = null + var alarmContent = 0 var deptName: String? = null - var jobId = 0 - var jobCode: String? = null var jobStatus: String? = null - var jobStatusName: String? = null - var createTime: String? = null - var getJobPerson: String? = null - var getJobTime: String? = null + var handleJobPerson: String? = null + var alarmContentName: String? = null + var shouldGetTime: String? = null + var wellCode: String? = null + var deptid: String? = null + var alarmTypeName: String? = null + var jobCode: String? = null + var jobBelongTo: String? = null + var jobFlag: String? = null var confirmJobPerson: String? = null var confirmJobTime: String? = null - var handleJobPerson: String? = null + var jobStatusName: String? = null + var alarmValue: String? = null + var alarmId: String? = null + var alarmLevel: String? = null var handleJobTime: String? = null + var tel: String? = null + var id: String? = null + var wellId: String? = null + var jobType: String? = null + var editable = 0 + var alarmTime: String? = null + var alarmMessage: String? = null + var staff: String? = null + var getJobTime: String? = null + var getJobPerson: String? = null + var shouldHandleTime: String? = null + var jobId: String? = null + var alarmType: String? = null + var alarmStatus: String? = null + var devcode: String? = null + var createTime: String? = null + var position: String? = null } } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt index 9b64524..8395e15 100644 --- a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt @@ -103,7 +103,7 @@ @GET("/job/info") suspend fun obtainWorkOrderDetail( @Header("token") token: String, - @Query("id") id: Long + @Query("id") id: String ): WorkOrderDetailModel /** @@ -113,7 +113,7 @@ @POST("/job/getJob") suspend fun acceptWorkOrder( @Header("token") token: String, - @Field("id") id: Int + @Field("id") id: String ): CommonResultModel /** diff --git a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt index d574dda..1223036 100644 --- a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt @@ -98,14 +98,14 @@ /** * 获取工单详情 */ - suspend fun obtainWorkOrderDetail(id: Long): WorkOrderDetailModel { + suspend fun obtainWorkOrderDetail(id: String): WorkOrderDetailModel { return api.obtainWorkOrderDetail(AuthenticationHelper.token!!, id) } /** * 接单 */ - suspend fun acceptWorkOrder(id: Int): CommonResultModel { + suspend fun acceptWorkOrder(id: String): CommonResultModel { return api.acceptWorkOrder(AuthenticationHelper.token!!, id) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt index 37dc5d6..9667273 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt @@ -6,8 +6,10 @@ import com.amap.api.maps.model.Poi import com.casic.app.smartwell.R import com.casic.app.smartwell.base.BaseActivity +import com.casic.app.smartwell.extensions.covertColor import com.casic.app.smartwell.extensions.show import com.casic.app.smartwell.extensions.showRouteOnMap +import com.casic.app.smartwell.extensions.toChinese import com.casic.app.smartwell.utils.Constant import com.casic.app.smartwell.utils.DialogHelper import com.casic.app.smartwell.utils.LoadState @@ -37,7 +39,8 @@ override fun initData() { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! workOrderDetailViewModel = ViewModelProvider(this).get(WorkOrderDetailViewModel::class.java) - workOrderDetailViewModel.obtainWorkOrderDetail(id = jobId.toLong()) + acceptOrderViewModel = ViewModelProvider(this).get(AcceptOrderViewModel::class.java) + workOrderDetailViewModel.obtainWorkOrderDetail(id = jobId) workOrderDetailViewModel.detailModel.observe(this, { if (it.code == 200) { val orderDetail = it.data!![0] @@ -46,6 +49,14 @@ orderCodeView.text = orderDetail.jobCode wellCodeView.text = orderDetail.wellCode devCodeView.text = orderDetail.devcode + val level = orderDetail.alarmLevel.toString() + if (level == "") { + alarmLevelView.text = "未知" + alarmLevelView.setTextColor(R.color.mainTextColor.covertColor(this)) + } else { + alarmLevelView.text = level.toChinese() + alarmLevelView.setTextColor(R.color.redTextColor.covertColor(this)) + } alarmValueView.text = orderDetail.alarmValue val wellPosition = orderDetail.position.toString() wellLocationView.text = wellPosition @@ -62,13 +73,12 @@ } else { tipsImageView.visibility = View.GONE } - dispatchDateView.text = orderDetail.getJobTime + dispatchDateView.text = orderDetail.createTime + completedDateView.text = orderDetail.handleJobTime //接单 acceptOrderButton.setChangeAlphaWhenPress(true) acceptOrderButton.setOnClickListener { - acceptOrderViewModel = - ViewModelProvider(this).get(AcceptOrderViewModel::class.java) AlertControlDialog.Builder() .setContext(this) .setTitle("操作提示") @@ -82,7 +92,7 @@ "工单ID异常,无法接单".show(this@WorkOrderDetailActivity) return } - acceptOrderViewModel.acceptWorkOrder(id = orderDetail.jobId!!.toInt()) + acceptOrderViewModel.acceptWorkOrder(id = orderDetail.jobId!!) } override fun onCancelClick() { diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt index 7267e88..8d84a0f 100644 --- a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt +++ b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt @@ -7,7 +7,6 @@ import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.app.smartwell.R -import com.casic.app.smartwell.extensions.valueToType import com.casic.app.smartwell.model.WorkOrderListModel import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton @@ -31,8 +30,8 @@ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { //绑定数据 val rowsBean = dataRows[position] - holder.wellTypeView.text = rowsBean.wellId.valueToType() holder.alarmTypeView.text = rowsBean.alarmContentName + holder.createTimeView.text = rowsBean.createTime holder.wellCodeView.text = rowsBean.wellCode holder.wellLocationView.text = rowsBean.position //绑定事件 @@ -40,22 +39,19 @@ holder.itemView.setOnClickListener { listener!!.onClicked(position) } + holder.operationButton.setChangeAlphaWhenPress(true) holder.operationButton.setOnClickListener { listener!!.onOperationClicked(position) } - holder.navigationButton.setOnClickListener { - listener!!.onNavigationButtonClicked(position) - } } } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var wellTypeView: QMUIRoundButton = view.findViewById(R.id.wellTypeView) var alarmTypeView: TextView = view.findViewById(R.id.alarmTypeView) + var createTimeView: TextView = view.findViewById(R.id.createTimeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var wellLocationView: TextView = view.findViewById(R.id.wellLocationView) - var operationButton: QMUIRoundButton = view.findViewById(R.id.wellStateView) - var navigationButton: QMUIRoundButton = view.findViewById(R.id.navigationButton) + var operationButton: QMUIRoundButton = view.findViewById(R.id.operationButton) } private var listener: OnItemClickListener? = null @@ -64,8 +60,6 @@ fun onClicked(position: Int) fun onOperationClicked(position: Int) - - fun onNavigationButtonClicked(position: Int) } fun setOnItemClickListener(onClickListener: OnItemClickListener?) { diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/String.kt b/app/src/main/java/com/casic/app/smartwell/extensions/String.kt index 7309344..7358b1c 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/String.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/String.kt @@ -55,4 +55,16 @@ "http://111.198.10.15:11304" ) as String return "$defaultValue/static/${this.replace("\\", "/")}" +} + +//窨井类型转换 +fun String.toChinese(): String { + return when (this) { + "1" -> "一级" + "2" -> "二级" + "3" -> "三级" + else -> { + "未知" + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt index 8d23f3e..682801a 100644 --- a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt @@ -75,7 +75,7 @@ var jobStatusName: String? = null var alarmValue: String? = null var alarmId: String? = null - var alarmLevel = 0 + var alarmLevel: String? = null var handleJobTime: String? = null var tel: String? = null var id: String? = null diff --git a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt index 1d894cb..ed2695d 100644 --- a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt @@ -1,75 +1,52 @@ package com.casic.app.smartwell.model - class WorkOrderListModel { - /** - * code : 200 - * message : success - * data : {"rows":[{"id":1,"wellId":1,"wellCode":"N51F131","devcode":"4120182441","position":"宋郎路","alarmType":"1","alarmTypeName":"数据异常","alarmContent":"1","alarmContentName":"液位超限","alarmValue":"12","deptid":"1","deptName":"一分公司","jobId":1,"jobCode":"2019282717892","jobStatus":"0","jobStatusName":"待处理","createTime":"2018-12-27 00:00:00","getJobPerson":"1321321","getJobTime":"2018-12-27 00:00:00","confirmJobPerson":"1321321","confirmJobTime":"2018-12-27 00:00:00","handleJobPerson":"1321321","handleJobTime":"2018-12-27 00:00:00"}],"total":200} - */ var code = 0 - var message: String? = null var data: DataBean? = null - + var message: String? = null + var success = false class DataBean { - /** - * rows : [{"id":1,"wellId":1,"wellCode":"N51F131","devcode":"4120182441","position":"宋郎路","alarmType":"1","alarmTypeName":"数据异常","alarmContent":"1","alarmContentName":"液位超限","alarmValue":"12","deptid":"1","deptName":"一分公司","jobId":1,"jobCode":"2019282717892","jobStatus":"0","jobStatusName":"待处理","createTime":"2018-12-27 00:00:00","getJobPerson":"1321321","getJobTime":"2018-12-27 00:00:00","confirmJobPerson":"1321321","confirmJobTime":"2018-12-27 00:00:00","handleJobPerson":"1321321","handleJobTime":"2018-12-27 00:00:00"}] - * total : 200 - */ - var total = 0 var rows: MutableList? = null - + var total = 0 class RowsBean { - /** - * id : 1 - * wellId : 1 - * wellCode : N51F131 - * devcode : 4120182441 - * position : 宋郎路 - * alarmType : 1 - * alarmTypeName : 数据异常 - * alarmContent : 1 - * alarmContentName : 液位超限 - * alarmValue : 12 - * deptid : 1 - * deptName : 一分公司 - * jobId : 1 - * jobCode : 2019282717892 - * jobStatus : 0 - * jobStatusName : 待处理 - * createTime : 2018-12-27 00:00:00 - * getJobPerson : 1321321 - * getJobTime : 2018-12-27 00:00:00 - * confirmJobPerson : 1321321 - * confirmJobTime : 2018-12-27 00:00:00 - * handleJobPerson : 1321321 - * handleJobTime : 2018-12-27 00:00:00 - */ - var id = 0 - var wellId = 0 - var wellCode: String? = null - var devcode: String? = null - var position: String? = null - var alarmType: String? = null - var alarmTypeName: String? = null - var alarmContent: String? = null - var alarmContentName: String? = null - var alarmValue: String? = null - var deptid: String? = null + var alarmContent = 0 var deptName: String? = null - var jobId = 0 - var jobCode: String? = null var jobStatus: String? = null - var jobStatusName: String? = null - var createTime: String? = null - var getJobPerson: String? = null - var getJobTime: String? = null + var handleJobPerson: String? = null + var alarmContentName: String? = null + var shouldGetTime: String? = null + var wellCode: String? = null + var deptid: String? = null + var alarmTypeName: String? = null + var jobCode: String? = null + var jobBelongTo: String? = null + var jobFlag: String? = null var confirmJobPerson: String? = null var confirmJobTime: String? = null - var handleJobPerson: String? = null + var jobStatusName: String? = null + var alarmValue: String? = null + var alarmId: String? = null + var alarmLevel: String? = null var handleJobTime: String? = null + var tel: String? = null + var id: String? = null + var wellId: String? = null + var jobType: String? = null + var editable = 0 + var alarmTime: String? = null + var alarmMessage: String? = null + var staff: String? = null + var getJobTime: String? = null + var getJobPerson: String? = null + var shouldHandleTime: String? = null + var jobId: String? = null + var alarmType: String? = null + var alarmStatus: String? = null + var devcode: String? = null + var createTime: String? = null + var position: String? = null } } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt index 9b64524..8395e15 100644 --- a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt @@ -103,7 +103,7 @@ @GET("/job/info") suspend fun obtainWorkOrderDetail( @Header("token") token: String, - @Query("id") id: Long + @Query("id") id: String ): WorkOrderDetailModel /** @@ -113,7 +113,7 @@ @POST("/job/getJob") suspend fun acceptWorkOrder( @Header("token") token: String, - @Field("id") id: Int + @Field("id") id: String ): CommonResultModel /** diff --git a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt index d574dda..1223036 100644 --- a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt @@ -98,14 +98,14 @@ /** * 获取工单详情 */ - suspend fun obtainWorkOrderDetail(id: Long): WorkOrderDetailModel { + suspend fun obtainWorkOrderDetail(id: String): WorkOrderDetailModel { return api.obtainWorkOrderDetail(AuthenticationHelper.token!!, id) } /** * 接单 */ - suspend fun acceptWorkOrder(id: Int): CommonResultModel { + suspend fun acceptWorkOrder(id: String): CommonResultModel { return api.acceptWorkOrder(AuthenticationHelper.token!!, id) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt index 37dc5d6..9667273 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt @@ -6,8 +6,10 @@ import com.amap.api.maps.model.Poi import com.casic.app.smartwell.R import com.casic.app.smartwell.base.BaseActivity +import com.casic.app.smartwell.extensions.covertColor import com.casic.app.smartwell.extensions.show import com.casic.app.smartwell.extensions.showRouteOnMap +import com.casic.app.smartwell.extensions.toChinese import com.casic.app.smartwell.utils.Constant import com.casic.app.smartwell.utils.DialogHelper import com.casic.app.smartwell.utils.LoadState @@ -37,7 +39,8 @@ override fun initData() { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! workOrderDetailViewModel = ViewModelProvider(this).get(WorkOrderDetailViewModel::class.java) - workOrderDetailViewModel.obtainWorkOrderDetail(id = jobId.toLong()) + acceptOrderViewModel = ViewModelProvider(this).get(AcceptOrderViewModel::class.java) + workOrderDetailViewModel.obtainWorkOrderDetail(id = jobId) workOrderDetailViewModel.detailModel.observe(this, { if (it.code == 200) { val orderDetail = it.data!![0] @@ -46,6 +49,14 @@ orderCodeView.text = orderDetail.jobCode wellCodeView.text = orderDetail.wellCode devCodeView.text = orderDetail.devcode + val level = orderDetail.alarmLevel.toString() + if (level == "") { + alarmLevelView.text = "未知" + alarmLevelView.setTextColor(R.color.mainTextColor.covertColor(this)) + } else { + alarmLevelView.text = level.toChinese() + alarmLevelView.setTextColor(R.color.redTextColor.covertColor(this)) + } alarmValueView.text = orderDetail.alarmValue val wellPosition = orderDetail.position.toString() wellLocationView.text = wellPosition @@ -62,13 +73,12 @@ } else { tipsImageView.visibility = View.GONE } - dispatchDateView.text = orderDetail.getJobTime + dispatchDateView.text = orderDetail.createTime + completedDateView.text = orderDetail.handleJobTime //接单 acceptOrderButton.setChangeAlphaWhenPress(true) acceptOrderButton.setOnClickListener { - acceptOrderViewModel = - ViewModelProvider(this).get(AcceptOrderViewModel::class.java) AlertControlDialog.Builder() .setContext(this) .setTitle("操作提示") @@ -82,7 +92,7 @@ "工单ID异常,无法接单".show(this@WorkOrderDetailActivity) return } - acceptOrderViewModel.acceptWorkOrder(id = orderDetail.jobId!!.toInt()) + acceptOrderViewModel.acceptWorkOrder(id = orderDetail.jobId!!) } override fun onCancelClick() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt b/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt index 3a12e7c..0cf61eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt @@ -13,9 +13,13 @@ import com.casic.app.smartwell.extensions.show import com.casic.app.smartwell.model.WorkOrderListModel import com.casic.app.smartwell.utils.Constant +import com.casic.app.smartwell.utils.DialogHelper +import com.casic.app.smartwell.utils.LoadState import com.casic.app.smartwell.view.WorkOrderDetailActivity +import com.casic.app.smartwell.vm.AcceptOrderViewModel import com.casic.app.smartwell.vm.WorkOrderListViewModel import com.pengxh.app.multilib.base.BaseFragment +import com.pengxh.app.multilib.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.fragment_order_todo.* import java.lang.ref.WeakReference @@ -23,6 +27,7 @@ private lateinit var workOrderListAdapter: TodoWorkOrderListAdapter private lateinit var workOrderListViewModel: WorkOrderListViewModel + private lateinit var acceptOrderViewModel: AcceptOrderViewModel private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -45,6 +50,7 @@ override fun initData() { weakReferenceHandler = WeakReferenceHandler(this) workOrderListViewModel = ViewModelProvider(this).get(WorkOrderListViewModel::class.java) + acceptOrderViewModel = ViewModelProvider(this).get(AcceptOrderViewModel::class.java) obtainWorkOrderList(pageIndex) workOrderListViewModel.resultModel.observe(this, { if (it.code == 200) { @@ -85,6 +91,26 @@ pageIndex++ obtainWorkOrderList(pageIndex) } + + //接单状态处理 + acceptOrderViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(requireContext(), "接单中,请稍后") + } + is LoadState.Success -> { + DialogHelper.dismissLoadingDialog() + "接单成功".show(requireContext()) + //通知列表刷行数据 + weakReferenceHandler!!.sendEmptyMessage(Constant.ORDER_TRANSFER_OK) + //TODO 还需要通知待确认列表 + } + else -> { + DialogHelper.dismissLoadingDialog() + "接单失败".show(requireContext()) + } + } + }) } private fun obtainWorkOrderList(index: Int) { @@ -134,11 +160,29 @@ } override fun onOperationClicked(position: Int) { + AlertControlDialog.Builder() + .setContext(fragment.requireContext()) + .setTitle("操作提示") + .setMessage("确定要接单吗") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onConfirmClick() { + val jobId = + fragment.dataBeans[position].jobId.toString() + if (jobId == "") { + "工单ID异常,无法接单".show(fragment.requireContext()) + return + } + fragment.acceptOrderViewModel.acceptWorkOrder(id = jobId) + } - } + override fun onCancelClick() { - override fun onNavigationButtonClicked(position: Int) { - + } + }) + .build().show() } }) } diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt index 7267e88..8d84a0f 100644 --- a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt +++ b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt @@ -7,7 +7,6 @@ import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.app.smartwell.R -import com.casic.app.smartwell.extensions.valueToType import com.casic.app.smartwell.model.WorkOrderListModel import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton @@ -31,8 +30,8 @@ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { //绑定数据 val rowsBean = dataRows[position] - holder.wellTypeView.text = rowsBean.wellId.valueToType() holder.alarmTypeView.text = rowsBean.alarmContentName + holder.createTimeView.text = rowsBean.createTime holder.wellCodeView.text = rowsBean.wellCode holder.wellLocationView.text = rowsBean.position //绑定事件 @@ -40,22 +39,19 @@ holder.itemView.setOnClickListener { listener!!.onClicked(position) } + holder.operationButton.setChangeAlphaWhenPress(true) holder.operationButton.setOnClickListener { listener!!.onOperationClicked(position) } - holder.navigationButton.setOnClickListener { - listener!!.onNavigationButtonClicked(position) - } } } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var wellTypeView: QMUIRoundButton = view.findViewById(R.id.wellTypeView) var alarmTypeView: TextView = view.findViewById(R.id.alarmTypeView) + var createTimeView: TextView = view.findViewById(R.id.createTimeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var wellLocationView: TextView = view.findViewById(R.id.wellLocationView) - var operationButton: QMUIRoundButton = view.findViewById(R.id.wellStateView) - var navigationButton: QMUIRoundButton = view.findViewById(R.id.navigationButton) + var operationButton: QMUIRoundButton = view.findViewById(R.id.operationButton) } private var listener: OnItemClickListener? = null @@ -64,8 +60,6 @@ fun onClicked(position: Int) fun onOperationClicked(position: Int) - - fun onNavigationButtonClicked(position: Int) } fun setOnItemClickListener(onClickListener: OnItemClickListener?) { diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/String.kt b/app/src/main/java/com/casic/app/smartwell/extensions/String.kt index 7309344..7358b1c 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/String.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/String.kt @@ -55,4 +55,16 @@ "http://111.198.10.15:11304" ) as String return "$defaultValue/static/${this.replace("\\", "/")}" +} + +//窨井类型转换 +fun String.toChinese(): String { + return when (this) { + "1" -> "一级" + "2" -> "二级" + "3" -> "三级" + else -> { + "未知" + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt index 8d23f3e..682801a 100644 --- a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt @@ -75,7 +75,7 @@ var jobStatusName: String? = null var alarmValue: String? = null var alarmId: String? = null - var alarmLevel = 0 + var alarmLevel: String? = null var handleJobTime: String? = null var tel: String? = null var id: String? = null diff --git a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt index 1d894cb..ed2695d 100644 --- a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt @@ -1,75 +1,52 @@ package com.casic.app.smartwell.model - class WorkOrderListModel { - /** - * code : 200 - * message : success - * data : {"rows":[{"id":1,"wellId":1,"wellCode":"N51F131","devcode":"4120182441","position":"宋郎路","alarmType":"1","alarmTypeName":"数据异常","alarmContent":"1","alarmContentName":"液位超限","alarmValue":"12","deptid":"1","deptName":"一分公司","jobId":1,"jobCode":"2019282717892","jobStatus":"0","jobStatusName":"待处理","createTime":"2018-12-27 00:00:00","getJobPerson":"1321321","getJobTime":"2018-12-27 00:00:00","confirmJobPerson":"1321321","confirmJobTime":"2018-12-27 00:00:00","handleJobPerson":"1321321","handleJobTime":"2018-12-27 00:00:00"}],"total":200} - */ var code = 0 - var message: String? = null var data: DataBean? = null - + var message: String? = null + var success = false class DataBean { - /** - * rows : [{"id":1,"wellId":1,"wellCode":"N51F131","devcode":"4120182441","position":"宋郎路","alarmType":"1","alarmTypeName":"数据异常","alarmContent":"1","alarmContentName":"液位超限","alarmValue":"12","deptid":"1","deptName":"一分公司","jobId":1,"jobCode":"2019282717892","jobStatus":"0","jobStatusName":"待处理","createTime":"2018-12-27 00:00:00","getJobPerson":"1321321","getJobTime":"2018-12-27 00:00:00","confirmJobPerson":"1321321","confirmJobTime":"2018-12-27 00:00:00","handleJobPerson":"1321321","handleJobTime":"2018-12-27 00:00:00"}] - * total : 200 - */ - var total = 0 var rows: MutableList? = null - + var total = 0 class RowsBean { - /** - * id : 1 - * wellId : 1 - * wellCode : N51F131 - * devcode : 4120182441 - * position : 宋郎路 - * alarmType : 1 - * alarmTypeName : 数据异常 - * alarmContent : 1 - * alarmContentName : 液位超限 - * alarmValue : 12 - * deptid : 1 - * deptName : 一分公司 - * jobId : 1 - * jobCode : 2019282717892 - * jobStatus : 0 - * jobStatusName : 待处理 - * createTime : 2018-12-27 00:00:00 - * getJobPerson : 1321321 - * getJobTime : 2018-12-27 00:00:00 - * confirmJobPerson : 1321321 - * confirmJobTime : 2018-12-27 00:00:00 - * handleJobPerson : 1321321 - * handleJobTime : 2018-12-27 00:00:00 - */ - var id = 0 - var wellId = 0 - var wellCode: String? = null - var devcode: String? = null - var position: String? = null - var alarmType: String? = null - var alarmTypeName: String? = null - var alarmContent: String? = null - var alarmContentName: String? = null - var alarmValue: String? = null - var deptid: String? = null + var alarmContent = 0 var deptName: String? = null - var jobId = 0 - var jobCode: String? = null var jobStatus: String? = null - var jobStatusName: String? = null - var createTime: String? = null - var getJobPerson: String? = null - var getJobTime: String? = null + var handleJobPerson: String? = null + var alarmContentName: String? = null + var shouldGetTime: String? = null + var wellCode: String? = null + var deptid: String? = null + var alarmTypeName: String? = null + var jobCode: String? = null + var jobBelongTo: String? = null + var jobFlag: String? = null var confirmJobPerson: String? = null var confirmJobTime: String? = null - var handleJobPerson: String? = null + var jobStatusName: String? = null + var alarmValue: String? = null + var alarmId: String? = null + var alarmLevel: String? = null var handleJobTime: String? = null + var tel: String? = null + var id: String? = null + var wellId: String? = null + var jobType: String? = null + var editable = 0 + var alarmTime: String? = null + var alarmMessage: String? = null + var staff: String? = null + var getJobTime: String? = null + var getJobPerson: String? = null + var shouldHandleTime: String? = null + var jobId: String? = null + var alarmType: String? = null + var alarmStatus: String? = null + var devcode: String? = null + var createTime: String? = null + var position: String? = null } } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt index 9b64524..8395e15 100644 --- a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt @@ -103,7 +103,7 @@ @GET("/job/info") suspend fun obtainWorkOrderDetail( @Header("token") token: String, - @Query("id") id: Long + @Query("id") id: String ): WorkOrderDetailModel /** @@ -113,7 +113,7 @@ @POST("/job/getJob") suspend fun acceptWorkOrder( @Header("token") token: String, - @Field("id") id: Int + @Field("id") id: String ): CommonResultModel /** diff --git a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt index d574dda..1223036 100644 --- a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt @@ -98,14 +98,14 @@ /** * 获取工单详情 */ - suspend fun obtainWorkOrderDetail(id: Long): WorkOrderDetailModel { + suspend fun obtainWorkOrderDetail(id: String): WorkOrderDetailModel { return api.obtainWorkOrderDetail(AuthenticationHelper.token!!, id) } /** * 接单 */ - suspend fun acceptWorkOrder(id: Int): CommonResultModel { + suspend fun acceptWorkOrder(id: String): CommonResultModel { return api.acceptWorkOrder(AuthenticationHelper.token!!, id) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt index 37dc5d6..9667273 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt @@ -6,8 +6,10 @@ import com.amap.api.maps.model.Poi import com.casic.app.smartwell.R import com.casic.app.smartwell.base.BaseActivity +import com.casic.app.smartwell.extensions.covertColor import com.casic.app.smartwell.extensions.show import com.casic.app.smartwell.extensions.showRouteOnMap +import com.casic.app.smartwell.extensions.toChinese import com.casic.app.smartwell.utils.Constant import com.casic.app.smartwell.utils.DialogHelper import com.casic.app.smartwell.utils.LoadState @@ -37,7 +39,8 @@ override fun initData() { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! workOrderDetailViewModel = ViewModelProvider(this).get(WorkOrderDetailViewModel::class.java) - workOrderDetailViewModel.obtainWorkOrderDetail(id = jobId.toLong()) + acceptOrderViewModel = ViewModelProvider(this).get(AcceptOrderViewModel::class.java) + workOrderDetailViewModel.obtainWorkOrderDetail(id = jobId) workOrderDetailViewModel.detailModel.observe(this, { if (it.code == 200) { val orderDetail = it.data!![0] @@ -46,6 +49,14 @@ orderCodeView.text = orderDetail.jobCode wellCodeView.text = orderDetail.wellCode devCodeView.text = orderDetail.devcode + val level = orderDetail.alarmLevel.toString() + if (level == "") { + alarmLevelView.text = "未知" + alarmLevelView.setTextColor(R.color.mainTextColor.covertColor(this)) + } else { + alarmLevelView.text = level.toChinese() + alarmLevelView.setTextColor(R.color.redTextColor.covertColor(this)) + } alarmValueView.text = orderDetail.alarmValue val wellPosition = orderDetail.position.toString() wellLocationView.text = wellPosition @@ -62,13 +73,12 @@ } else { tipsImageView.visibility = View.GONE } - dispatchDateView.text = orderDetail.getJobTime + dispatchDateView.text = orderDetail.createTime + completedDateView.text = orderDetail.handleJobTime //接单 acceptOrderButton.setChangeAlphaWhenPress(true) acceptOrderButton.setOnClickListener { - acceptOrderViewModel = - ViewModelProvider(this).get(AcceptOrderViewModel::class.java) AlertControlDialog.Builder() .setContext(this) .setTitle("操作提示") @@ -82,7 +92,7 @@ "工单ID异常,无法接单".show(this@WorkOrderDetailActivity) return } - acceptOrderViewModel.acceptWorkOrder(id = orderDetail.jobId!!.toInt()) + acceptOrderViewModel.acceptWorkOrder(id = orderDetail.jobId!!) } override fun onCancelClick() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt b/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt index 3a12e7c..0cf61eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt @@ -13,9 +13,13 @@ import com.casic.app.smartwell.extensions.show import com.casic.app.smartwell.model.WorkOrderListModel import com.casic.app.smartwell.utils.Constant +import com.casic.app.smartwell.utils.DialogHelper +import com.casic.app.smartwell.utils.LoadState import com.casic.app.smartwell.view.WorkOrderDetailActivity +import com.casic.app.smartwell.vm.AcceptOrderViewModel import com.casic.app.smartwell.vm.WorkOrderListViewModel import com.pengxh.app.multilib.base.BaseFragment +import com.pengxh.app.multilib.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.fragment_order_todo.* import java.lang.ref.WeakReference @@ -23,6 +27,7 @@ private lateinit var workOrderListAdapter: TodoWorkOrderListAdapter private lateinit var workOrderListViewModel: WorkOrderListViewModel + private lateinit var acceptOrderViewModel: AcceptOrderViewModel private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -45,6 +50,7 @@ override fun initData() { weakReferenceHandler = WeakReferenceHandler(this) workOrderListViewModel = ViewModelProvider(this).get(WorkOrderListViewModel::class.java) + acceptOrderViewModel = ViewModelProvider(this).get(AcceptOrderViewModel::class.java) obtainWorkOrderList(pageIndex) workOrderListViewModel.resultModel.observe(this, { if (it.code == 200) { @@ -85,6 +91,26 @@ pageIndex++ obtainWorkOrderList(pageIndex) } + + //接单状态处理 + acceptOrderViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(requireContext(), "接单中,请稍后") + } + is LoadState.Success -> { + DialogHelper.dismissLoadingDialog() + "接单成功".show(requireContext()) + //通知列表刷行数据 + weakReferenceHandler!!.sendEmptyMessage(Constant.ORDER_TRANSFER_OK) + //TODO 还需要通知待确认列表 + } + else -> { + DialogHelper.dismissLoadingDialog() + "接单失败".show(requireContext()) + } + } + }) } private fun obtainWorkOrderList(index: Int) { @@ -134,11 +160,29 @@ } override fun onOperationClicked(position: Int) { + AlertControlDialog.Builder() + .setContext(fragment.requireContext()) + .setTitle("操作提示") + .setMessage("确定要接单吗") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onConfirmClick() { + val jobId = + fragment.dataBeans[position].jobId.toString() + if (jobId == "") { + "工单ID异常,无法接单".show(fragment.requireContext()) + return + } + fragment.acceptOrderViewModel.acceptWorkOrder(id = jobId) + } - } + override fun onCancelClick() { - override fun onNavigationButtonClicked(position: Int) { - + } + }) + .build().show() } }) } diff --git a/app/src/main/java/com/casic/app/smartwell/vm/AcceptOrderViewModel.kt b/app/src/main/java/com/casic/app/smartwell/vm/AcceptOrderViewModel.kt index 7af02ae..8da8883 100644 --- a/app/src/main/java/com/casic/app/smartwell/vm/AcceptOrderViewModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/vm/AcceptOrderViewModel.kt @@ -7,7 +7,7 @@ class AcceptOrderViewModel : BaseViewModel() { - fun acceptWorkOrder(id: Int) = launch({ + fun acceptWorkOrder(id: String) = launch({ loadState.value = LoadState.Loading RetrofitServiceManager.acceptWorkOrder(id) loadState.value = LoadState.Success diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt index 7267e88..8d84a0f 100644 --- a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt +++ b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt @@ -7,7 +7,6 @@ import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.app.smartwell.R -import com.casic.app.smartwell.extensions.valueToType import com.casic.app.smartwell.model.WorkOrderListModel import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton @@ -31,8 +30,8 @@ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { //绑定数据 val rowsBean = dataRows[position] - holder.wellTypeView.text = rowsBean.wellId.valueToType() holder.alarmTypeView.text = rowsBean.alarmContentName + holder.createTimeView.text = rowsBean.createTime holder.wellCodeView.text = rowsBean.wellCode holder.wellLocationView.text = rowsBean.position //绑定事件 @@ -40,22 +39,19 @@ holder.itemView.setOnClickListener { listener!!.onClicked(position) } + holder.operationButton.setChangeAlphaWhenPress(true) holder.operationButton.setOnClickListener { listener!!.onOperationClicked(position) } - holder.navigationButton.setOnClickListener { - listener!!.onNavigationButtonClicked(position) - } } } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var wellTypeView: QMUIRoundButton = view.findViewById(R.id.wellTypeView) var alarmTypeView: TextView = view.findViewById(R.id.alarmTypeView) + var createTimeView: TextView = view.findViewById(R.id.createTimeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var wellLocationView: TextView = view.findViewById(R.id.wellLocationView) - var operationButton: QMUIRoundButton = view.findViewById(R.id.wellStateView) - var navigationButton: QMUIRoundButton = view.findViewById(R.id.navigationButton) + var operationButton: QMUIRoundButton = view.findViewById(R.id.operationButton) } private var listener: OnItemClickListener? = null @@ -64,8 +60,6 @@ fun onClicked(position: Int) fun onOperationClicked(position: Int) - - fun onNavigationButtonClicked(position: Int) } fun setOnItemClickListener(onClickListener: OnItemClickListener?) { diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/String.kt b/app/src/main/java/com/casic/app/smartwell/extensions/String.kt index 7309344..7358b1c 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/String.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/String.kt @@ -55,4 +55,16 @@ "http://111.198.10.15:11304" ) as String return "$defaultValue/static/${this.replace("\\", "/")}" +} + +//窨井类型转换 +fun String.toChinese(): String { + return when (this) { + "1" -> "一级" + "2" -> "二级" + "3" -> "三级" + else -> { + "未知" + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt index 8d23f3e..682801a 100644 --- a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt @@ -75,7 +75,7 @@ var jobStatusName: String? = null var alarmValue: String? = null var alarmId: String? = null - var alarmLevel = 0 + var alarmLevel: String? = null var handleJobTime: String? = null var tel: String? = null var id: String? = null diff --git a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt index 1d894cb..ed2695d 100644 --- a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt @@ -1,75 +1,52 @@ package com.casic.app.smartwell.model - class WorkOrderListModel { - /** - * code : 200 - * message : success - * data : {"rows":[{"id":1,"wellId":1,"wellCode":"N51F131","devcode":"4120182441","position":"宋郎路","alarmType":"1","alarmTypeName":"数据异常","alarmContent":"1","alarmContentName":"液位超限","alarmValue":"12","deptid":"1","deptName":"一分公司","jobId":1,"jobCode":"2019282717892","jobStatus":"0","jobStatusName":"待处理","createTime":"2018-12-27 00:00:00","getJobPerson":"1321321","getJobTime":"2018-12-27 00:00:00","confirmJobPerson":"1321321","confirmJobTime":"2018-12-27 00:00:00","handleJobPerson":"1321321","handleJobTime":"2018-12-27 00:00:00"}],"total":200} - */ var code = 0 - var message: String? = null var data: DataBean? = null - + var message: String? = null + var success = false class DataBean { - /** - * rows : [{"id":1,"wellId":1,"wellCode":"N51F131","devcode":"4120182441","position":"宋郎路","alarmType":"1","alarmTypeName":"数据异常","alarmContent":"1","alarmContentName":"液位超限","alarmValue":"12","deptid":"1","deptName":"一分公司","jobId":1,"jobCode":"2019282717892","jobStatus":"0","jobStatusName":"待处理","createTime":"2018-12-27 00:00:00","getJobPerson":"1321321","getJobTime":"2018-12-27 00:00:00","confirmJobPerson":"1321321","confirmJobTime":"2018-12-27 00:00:00","handleJobPerson":"1321321","handleJobTime":"2018-12-27 00:00:00"}] - * total : 200 - */ - var total = 0 var rows: MutableList? = null - + var total = 0 class RowsBean { - /** - * id : 1 - * wellId : 1 - * wellCode : N51F131 - * devcode : 4120182441 - * position : 宋郎路 - * alarmType : 1 - * alarmTypeName : 数据异常 - * alarmContent : 1 - * alarmContentName : 液位超限 - * alarmValue : 12 - * deptid : 1 - * deptName : 一分公司 - * jobId : 1 - * jobCode : 2019282717892 - * jobStatus : 0 - * jobStatusName : 待处理 - * createTime : 2018-12-27 00:00:00 - * getJobPerson : 1321321 - * getJobTime : 2018-12-27 00:00:00 - * confirmJobPerson : 1321321 - * confirmJobTime : 2018-12-27 00:00:00 - * handleJobPerson : 1321321 - * handleJobTime : 2018-12-27 00:00:00 - */ - var id = 0 - var wellId = 0 - var wellCode: String? = null - var devcode: String? = null - var position: String? = null - var alarmType: String? = null - var alarmTypeName: String? = null - var alarmContent: String? = null - var alarmContentName: String? = null - var alarmValue: String? = null - var deptid: String? = null + var alarmContent = 0 var deptName: String? = null - var jobId = 0 - var jobCode: String? = null var jobStatus: String? = null - var jobStatusName: String? = null - var createTime: String? = null - var getJobPerson: String? = null - var getJobTime: String? = null + var handleJobPerson: String? = null + var alarmContentName: String? = null + var shouldGetTime: String? = null + var wellCode: String? = null + var deptid: String? = null + var alarmTypeName: String? = null + var jobCode: String? = null + var jobBelongTo: String? = null + var jobFlag: String? = null var confirmJobPerson: String? = null var confirmJobTime: String? = null - var handleJobPerson: String? = null + var jobStatusName: String? = null + var alarmValue: String? = null + var alarmId: String? = null + var alarmLevel: String? = null var handleJobTime: String? = null + var tel: String? = null + var id: String? = null + var wellId: String? = null + var jobType: String? = null + var editable = 0 + var alarmTime: String? = null + var alarmMessage: String? = null + var staff: String? = null + var getJobTime: String? = null + var getJobPerson: String? = null + var shouldHandleTime: String? = null + var jobId: String? = null + var alarmType: String? = null + var alarmStatus: String? = null + var devcode: String? = null + var createTime: String? = null + var position: String? = null } } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt index 9b64524..8395e15 100644 --- a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt @@ -103,7 +103,7 @@ @GET("/job/info") suspend fun obtainWorkOrderDetail( @Header("token") token: String, - @Query("id") id: Long + @Query("id") id: String ): WorkOrderDetailModel /** @@ -113,7 +113,7 @@ @POST("/job/getJob") suspend fun acceptWorkOrder( @Header("token") token: String, - @Field("id") id: Int + @Field("id") id: String ): CommonResultModel /** diff --git a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt index d574dda..1223036 100644 --- a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt @@ -98,14 +98,14 @@ /** * 获取工单详情 */ - suspend fun obtainWorkOrderDetail(id: Long): WorkOrderDetailModel { + suspend fun obtainWorkOrderDetail(id: String): WorkOrderDetailModel { return api.obtainWorkOrderDetail(AuthenticationHelper.token!!, id) } /** * 接单 */ - suspend fun acceptWorkOrder(id: Int): CommonResultModel { + suspend fun acceptWorkOrder(id: String): CommonResultModel { return api.acceptWorkOrder(AuthenticationHelper.token!!, id) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt index 37dc5d6..9667273 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt @@ -6,8 +6,10 @@ import com.amap.api.maps.model.Poi import com.casic.app.smartwell.R import com.casic.app.smartwell.base.BaseActivity +import com.casic.app.smartwell.extensions.covertColor import com.casic.app.smartwell.extensions.show import com.casic.app.smartwell.extensions.showRouteOnMap +import com.casic.app.smartwell.extensions.toChinese import com.casic.app.smartwell.utils.Constant import com.casic.app.smartwell.utils.DialogHelper import com.casic.app.smartwell.utils.LoadState @@ -37,7 +39,8 @@ override fun initData() { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! workOrderDetailViewModel = ViewModelProvider(this).get(WorkOrderDetailViewModel::class.java) - workOrderDetailViewModel.obtainWorkOrderDetail(id = jobId.toLong()) + acceptOrderViewModel = ViewModelProvider(this).get(AcceptOrderViewModel::class.java) + workOrderDetailViewModel.obtainWorkOrderDetail(id = jobId) workOrderDetailViewModel.detailModel.observe(this, { if (it.code == 200) { val orderDetail = it.data!![0] @@ -46,6 +49,14 @@ orderCodeView.text = orderDetail.jobCode wellCodeView.text = orderDetail.wellCode devCodeView.text = orderDetail.devcode + val level = orderDetail.alarmLevel.toString() + if (level == "") { + alarmLevelView.text = "未知" + alarmLevelView.setTextColor(R.color.mainTextColor.covertColor(this)) + } else { + alarmLevelView.text = level.toChinese() + alarmLevelView.setTextColor(R.color.redTextColor.covertColor(this)) + } alarmValueView.text = orderDetail.alarmValue val wellPosition = orderDetail.position.toString() wellLocationView.text = wellPosition @@ -62,13 +73,12 @@ } else { tipsImageView.visibility = View.GONE } - dispatchDateView.text = orderDetail.getJobTime + dispatchDateView.text = orderDetail.createTime + completedDateView.text = orderDetail.handleJobTime //接单 acceptOrderButton.setChangeAlphaWhenPress(true) acceptOrderButton.setOnClickListener { - acceptOrderViewModel = - ViewModelProvider(this).get(AcceptOrderViewModel::class.java) AlertControlDialog.Builder() .setContext(this) .setTitle("操作提示") @@ -82,7 +92,7 @@ "工单ID异常,无法接单".show(this@WorkOrderDetailActivity) return } - acceptOrderViewModel.acceptWorkOrder(id = orderDetail.jobId!!.toInt()) + acceptOrderViewModel.acceptWorkOrder(id = orderDetail.jobId!!) } override fun onCancelClick() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt b/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt index 3a12e7c..0cf61eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt @@ -13,9 +13,13 @@ import com.casic.app.smartwell.extensions.show import com.casic.app.smartwell.model.WorkOrderListModel import com.casic.app.smartwell.utils.Constant +import com.casic.app.smartwell.utils.DialogHelper +import com.casic.app.smartwell.utils.LoadState import com.casic.app.smartwell.view.WorkOrderDetailActivity +import com.casic.app.smartwell.vm.AcceptOrderViewModel import com.casic.app.smartwell.vm.WorkOrderListViewModel import com.pengxh.app.multilib.base.BaseFragment +import com.pengxh.app.multilib.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.fragment_order_todo.* import java.lang.ref.WeakReference @@ -23,6 +27,7 @@ private lateinit var workOrderListAdapter: TodoWorkOrderListAdapter private lateinit var workOrderListViewModel: WorkOrderListViewModel + private lateinit var acceptOrderViewModel: AcceptOrderViewModel private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -45,6 +50,7 @@ override fun initData() { weakReferenceHandler = WeakReferenceHandler(this) workOrderListViewModel = ViewModelProvider(this).get(WorkOrderListViewModel::class.java) + acceptOrderViewModel = ViewModelProvider(this).get(AcceptOrderViewModel::class.java) obtainWorkOrderList(pageIndex) workOrderListViewModel.resultModel.observe(this, { if (it.code == 200) { @@ -85,6 +91,26 @@ pageIndex++ obtainWorkOrderList(pageIndex) } + + //接单状态处理 + acceptOrderViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(requireContext(), "接单中,请稍后") + } + is LoadState.Success -> { + DialogHelper.dismissLoadingDialog() + "接单成功".show(requireContext()) + //通知列表刷行数据 + weakReferenceHandler!!.sendEmptyMessage(Constant.ORDER_TRANSFER_OK) + //TODO 还需要通知待确认列表 + } + else -> { + DialogHelper.dismissLoadingDialog() + "接单失败".show(requireContext()) + } + } + }) } private fun obtainWorkOrderList(index: Int) { @@ -134,11 +160,29 @@ } override fun onOperationClicked(position: Int) { + AlertControlDialog.Builder() + .setContext(fragment.requireContext()) + .setTitle("操作提示") + .setMessage("确定要接单吗") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onConfirmClick() { + val jobId = + fragment.dataBeans[position].jobId.toString() + if (jobId == "") { + "工单ID异常,无法接单".show(fragment.requireContext()) + return + } + fragment.acceptOrderViewModel.acceptWorkOrder(id = jobId) + } - } + override fun onCancelClick() { - override fun onNavigationButtonClicked(position: Int) { - + } + }) + .build().show() } }) } diff --git a/app/src/main/java/com/casic/app/smartwell/vm/AcceptOrderViewModel.kt b/app/src/main/java/com/casic/app/smartwell/vm/AcceptOrderViewModel.kt index 7af02ae..8da8883 100644 --- a/app/src/main/java/com/casic/app/smartwell/vm/AcceptOrderViewModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/vm/AcceptOrderViewModel.kt @@ -7,7 +7,7 @@ class AcceptOrderViewModel : BaseViewModel() { - fun acceptWorkOrder(id: Int) = launch({ + fun acceptWorkOrder(id: String) = launch({ loadState.value = LoadState.Loading RetrofitServiceManager.acceptWorkOrder(id) loadState.value = LoadState.Success diff --git a/app/src/main/java/com/casic/app/smartwell/vm/WorkOrderDetailViewModel.kt b/app/src/main/java/com/casic/app/smartwell/vm/WorkOrderDetailViewModel.kt index 74f8188..4363ef9 100644 --- a/app/src/main/java/com/casic/app/smartwell/vm/WorkOrderDetailViewModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/vm/WorkOrderDetailViewModel.kt @@ -11,7 +11,7 @@ val detailModel = MutableLiveData() - fun obtainWorkOrderDetail(id: Long) = launch({ + fun obtainWorkOrderDetail(id: String) = launch({ loadState.value = LoadState.Loading detailModel.value = RetrofitServiceManager.obtainWorkOrderDetail(id) loadState.value = LoadState.Success diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt index 7267e88..8d84a0f 100644 --- a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt +++ b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt @@ -7,7 +7,6 @@ import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.app.smartwell.R -import com.casic.app.smartwell.extensions.valueToType import com.casic.app.smartwell.model.WorkOrderListModel import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton @@ -31,8 +30,8 @@ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { //绑定数据 val rowsBean = dataRows[position] - holder.wellTypeView.text = rowsBean.wellId.valueToType() holder.alarmTypeView.text = rowsBean.alarmContentName + holder.createTimeView.text = rowsBean.createTime holder.wellCodeView.text = rowsBean.wellCode holder.wellLocationView.text = rowsBean.position //绑定事件 @@ -40,22 +39,19 @@ holder.itemView.setOnClickListener { listener!!.onClicked(position) } + holder.operationButton.setChangeAlphaWhenPress(true) holder.operationButton.setOnClickListener { listener!!.onOperationClicked(position) } - holder.navigationButton.setOnClickListener { - listener!!.onNavigationButtonClicked(position) - } } } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var wellTypeView: QMUIRoundButton = view.findViewById(R.id.wellTypeView) var alarmTypeView: TextView = view.findViewById(R.id.alarmTypeView) + var createTimeView: TextView = view.findViewById(R.id.createTimeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var wellLocationView: TextView = view.findViewById(R.id.wellLocationView) - var operationButton: QMUIRoundButton = view.findViewById(R.id.wellStateView) - var navigationButton: QMUIRoundButton = view.findViewById(R.id.navigationButton) + var operationButton: QMUIRoundButton = view.findViewById(R.id.operationButton) } private var listener: OnItemClickListener? = null @@ -64,8 +60,6 @@ fun onClicked(position: Int) fun onOperationClicked(position: Int) - - fun onNavigationButtonClicked(position: Int) } fun setOnItemClickListener(onClickListener: OnItemClickListener?) { diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/String.kt b/app/src/main/java/com/casic/app/smartwell/extensions/String.kt index 7309344..7358b1c 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/String.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/String.kt @@ -55,4 +55,16 @@ "http://111.198.10.15:11304" ) as String return "$defaultValue/static/${this.replace("\\", "/")}" +} + +//窨井类型转换 +fun String.toChinese(): String { + return when (this) { + "1" -> "一级" + "2" -> "二级" + "3" -> "三级" + else -> { + "未知" + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt index 8d23f3e..682801a 100644 --- a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt @@ -75,7 +75,7 @@ var jobStatusName: String? = null var alarmValue: String? = null var alarmId: String? = null - var alarmLevel = 0 + var alarmLevel: String? = null var handleJobTime: String? = null var tel: String? = null var id: String? = null diff --git a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt index 1d894cb..ed2695d 100644 --- a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt @@ -1,75 +1,52 @@ package com.casic.app.smartwell.model - class WorkOrderListModel { - /** - * code : 200 - * message : success - * data : {"rows":[{"id":1,"wellId":1,"wellCode":"N51F131","devcode":"4120182441","position":"宋郎路","alarmType":"1","alarmTypeName":"数据异常","alarmContent":"1","alarmContentName":"液位超限","alarmValue":"12","deptid":"1","deptName":"一分公司","jobId":1,"jobCode":"2019282717892","jobStatus":"0","jobStatusName":"待处理","createTime":"2018-12-27 00:00:00","getJobPerson":"1321321","getJobTime":"2018-12-27 00:00:00","confirmJobPerson":"1321321","confirmJobTime":"2018-12-27 00:00:00","handleJobPerson":"1321321","handleJobTime":"2018-12-27 00:00:00"}],"total":200} - */ var code = 0 - var message: String? = null var data: DataBean? = null - + var message: String? = null + var success = false class DataBean { - /** - * rows : [{"id":1,"wellId":1,"wellCode":"N51F131","devcode":"4120182441","position":"宋郎路","alarmType":"1","alarmTypeName":"数据异常","alarmContent":"1","alarmContentName":"液位超限","alarmValue":"12","deptid":"1","deptName":"一分公司","jobId":1,"jobCode":"2019282717892","jobStatus":"0","jobStatusName":"待处理","createTime":"2018-12-27 00:00:00","getJobPerson":"1321321","getJobTime":"2018-12-27 00:00:00","confirmJobPerson":"1321321","confirmJobTime":"2018-12-27 00:00:00","handleJobPerson":"1321321","handleJobTime":"2018-12-27 00:00:00"}] - * total : 200 - */ - var total = 0 var rows: MutableList? = null - + var total = 0 class RowsBean { - /** - * id : 1 - * wellId : 1 - * wellCode : N51F131 - * devcode : 4120182441 - * position : 宋郎路 - * alarmType : 1 - * alarmTypeName : 数据异常 - * alarmContent : 1 - * alarmContentName : 液位超限 - * alarmValue : 12 - * deptid : 1 - * deptName : 一分公司 - * jobId : 1 - * jobCode : 2019282717892 - * jobStatus : 0 - * jobStatusName : 待处理 - * createTime : 2018-12-27 00:00:00 - * getJobPerson : 1321321 - * getJobTime : 2018-12-27 00:00:00 - * confirmJobPerson : 1321321 - * confirmJobTime : 2018-12-27 00:00:00 - * handleJobPerson : 1321321 - * handleJobTime : 2018-12-27 00:00:00 - */ - var id = 0 - var wellId = 0 - var wellCode: String? = null - var devcode: String? = null - var position: String? = null - var alarmType: String? = null - var alarmTypeName: String? = null - var alarmContent: String? = null - var alarmContentName: String? = null - var alarmValue: String? = null - var deptid: String? = null + var alarmContent = 0 var deptName: String? = null - var jobId = 0 - var jobCode: String? = null var jobStatus: String? = null - var jobStatusName: String? = null - var createTime: String? = null - var getJobPerson: String? = null - var getJobTime: String? = null + var handleJobPerson: String? = null + var alarmContentName: String? = null + var shouldGetTime: String? = null + var wellCode: String? = null + var deptid: String? = null + var alarmTypeName: String? = null + var jobCode: String? = null + var jobBelongTo: String? = null + var jobFlag: String? = null var confirmJobPerson: String? = null var confirmJobTime: String? = null - var handleJobPerson: String? = null + var jobStatusName: String? = null + var alarmValue: String? = null + var alarmId: String? = null + var alarmLevel: String? = null var handleJobTime: String? = null + var tel: String? = null + var id: String? = null + var wellId: String? = null + var jobType: String? = null + var editable = 0 + var alarmTime: String? = null + var alarmMessage: String? = null + var staff: String? = null + var getJobTime: String? = null + var getJobPerson: String? = null + var shouldHandleTime: String? = null + var jobId: String? = null + var alarmType: String? = null + var alarmStatus: String? = null + var devcode: String? = null + var createTime: String? = null + var position: String? = null } } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt index 9b64524..8395e15 100644 --- a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt @@ -103,7 +103,7 @@ @GET("/job/info") suspend fun obtainWorkOrderDetail( @Header("token") token: String, - @Query("id") id: Long + @Query("id") id: String ): WorkOrderDetailModel /** @@ -113,7 +113,7 @@ @POST("/job/getJob") suspend fun acceptWorkOrder( @Header("token") token: String, - @Field("id") id: Int + @Field("id") id: String ): CommonResultModel /** diff --git a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt index d574dda..1223036 100644 --- a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt @@ -98,14 +98,14 @@ /** * 获取工单详情 */ - suspend fun obtainWorkOrderDetail(id: Long): WorkOrderDetailModel { + suspend fun obtainWorkOrderDetail(id: String): WorkOrderDetailModel { return api.obtainWorkOrderDetail(AuthenticationHelper.token!!, id) } /** * 接单 */ - suspend fun acceptWorkOrder(id: Int): CommonResultModel { + suspend fun acceptWorkOrder(id: String): CommonResultModel { return api.acceptWorkOrder(AuthenticationHelper.token!!, id) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt index 37dc5d6..9667273 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt @@ -6,8 +6,10 @@ import com.amap.api.maps.model.Poi import com.casic.app.smartwell.R import com.casic.app.smartwell.base.BaseActivity +import com.casic.app.smartwell.extensions.covertColor import com.casic.app.smartwell.extensions.show import com.casic.app.smartwell.extensions.showRouteOnMap +import com.casic.app.smartwell.extensions.toChinese import com.casic.app.smartwell.utils.Constant import com.casic.app.smartwell.utils.DialogHelper import com.casic.app.smartwell.utils.LoadState @@ -37,7 +39,8 @@ override fun initData() { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! workOrderDetailViewModel = ViewModelProvider(this).get(WorkOrderDetailViewModel::class.java) - workOrderDetailViewModel.obtainWorkOrderDetail(id = jobId.toLong()) + acceptOrderViewModel = ViewModelProvider(this).get(AcceptOrderViewModel::class.java) + workOrderDetailViewModel.obtainWorkOrderDetail(id = jobId) workOrderDetailViewModel.detailModel.observe(this, { if (it.code == 200) { val orderDetail = it.data!![0] @@ -46,6 +49,14 @@ orderCodeView.text = orderDetail.jobCode wellCodeView.text = orderDetail.wellCode devCodeView.text = orderDetail.devcode + val level = orderDetail.alarmLevel.toString() + if (level == "") { + alarmLevelView.text = "未知" + alarmLevelView.setTextColor(R.color.mainTextColor.covertColor(this)) + } else { + alarmLevelView.text = level.toChinese() + alarmLevelView.setTextColor(R.color.redTextColor.covertColor(this)) + } alarmValueView.text = orderDetail.alarmValue val wellPosition = orderDetail.position.toString() wellLocationView.text = wellPosition @@ -62,13 +73,12 @@ } else { tipsImageView.visibility = View.GONE } - dispatchDateView.text = orderDetail.getJobTime + dispatchDateView.text = orderDetail.createTime + completedDateView.text = orderDetail.handleJobTime //接单 acceptOrderButton.setChangeAlphaWhenPress(true) acceptOrderButton.setOnClickListener { - acceptOrderViewModel = - ViewModelProvider(this).get(AcceptOrderViewModel::class.java) AlertControlDialog.Builder() .setContext(this) .setTitle("操作提示") @@ -82,7 +92,7 @@ "工单ID异常,无法接单".show(this@WorkOrderDetailActivity) return } - acceptOrderViewModel.acceptWorkOrder(id = orderDetail.jobId!!.toInt()) + acceptOrderViewModel.acceptWorkOrder(id = orderDetail.jobId!!) } override fun onCancelClick() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt b/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt index 3a12e7c..0cf61eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt @@ -13,9 +13,13 @@ import com.casic.app.smartwell.extensions.show import com.casic.app.smartwell.model.WorkOrderListModel import com.casic.app.smartwell.utils.Constant +import com.casic.app.smartwell.utils.DialogHelper +import com.casic.app.smartwell.utils.LoadState import com.casic.app.smartwell.view.WorkOrderDetailActivity +import com.casic.app.smartwell.vm.AcceptOrderViewModel import com.casic.app.smartwell.vm.WorkOrderListViewModel import com.pengxh.app.multilib.base.BaseFragment +import com.pengxh.app.multilib.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.fragment_order_todo.* import java.lang.ref.WeakReference @@ -23,6 +27,7 @@ private lateinit var workOrderListAdapter: TodoWorkOrderListAdapter private lateinit var workOrderListViewModel: WorkOrderListViewModel + private lateinit var acceptOrderViewModel: AcceptOrderViewModel private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -45,6 +50,7 @@ override fun initData() { weakReferenceHandler = WeakReferenceHandler(this) workOrderListViewModel = ViewModelProvider(this).get(WorkOrderListViewModel::class.java) + acceptOrderViewModel = ViewModelProvider(this).get(AcceptOrderViewModel::class.java) obtainWorkOrderList(pageIndex) workOrderListViewModel.resultModel.observe(this, { if (it.code == 200) { @@ -85,6 +91,26 @@ pageIndex++ obtainWorkOrderList(pageIndex) } + + //接单状态处理 + acceptOrderViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(requireContext(), "接单中,请稍后") + } + is LoadState.Success -> { + DialogHelper.dismissLoadingDialog() + "接单成功".show(requireContext()) + //通知列表刷行数据 + weakReferenceHandler!!.sendEmptyMessage(Constant.ORDER_TRANSFER_OK) + //TODO 还需要通知待确认列表 + } + else -> { + DialogHelper.dismissLoadingDialog() + "接单失败".show(requireContext()) + } + } + }) } private fun obtainWorkOrderList(index: Int) { @@ -134,11 +160,29 @@ } override fun onOperationClicked(position: Int) { + AlertControlDialog.Builder() + .setContext(fragment.requireContext()) + .setTitle("操作提示") + .setMessage("确定要接单吗") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onConfirmClick() { + val jobId = + fragment.dataBeans[position].jobId.toString() + if (jobId == "") { + "工单ID异常,无法接单".show(fragment.requireContext()) + return + } + fragment.acceptOrderViewModel.acceptWorkOrder(id = jobId) + } - } + override fun onCancelClick() { - override fun onNavigationButtonClicked(position: Int) { - + } + }) + .build().show() } }) } diff --git a/app/src/main/java/com/casic/app/smartwell/vm/AcceptOrderViewModel.kt b/app/src/main/java/com/casic/app/smartwell/vm/AcceptOrderViewModel.kt index 7af02ae..8da8883 100644 --- a/app/src/main/java/com/casic/app/smartwell/vm/AcceptOrderViewModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/vm/AcceptOrderViewModel.kt @@ -7,7 +7,7 @@ class AcceptOrderViewModel : BaseViewModel() { - fun acceptWorkOrder(id: Int) = launch({ + fun acceptWorkOrder(id: String) = launch({ loadState.value = LoadState.Loading RetrofitServiceManager.acceptWorkOrder(id) loadState.value = LoadState.Success diff --git a/app/src/main/java/com/casic/app/smartwell/vm/WorkOrderDetailViewModel.kt b/app/src/main/java/com/casic/app/smartwell/vm/WorkOrderDetailViewModel.kt index 74f8188..4363ef9 100644 --- a/app/src/main/java/com/casic/app/smartwell/vm/WorkOrderDetailViewModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/vm/WorkOrderDetailViewModel.kt @@ -11,7 +11,7 @@ val detailModel = MutableLiveData() - fun obtainWorkOrderDetail(id: Long) = launch({ + fun obtainWorkOrderDetail(id: String) = launch({ loadState.value = LoadState.Loading detailModel.value = RetrofitServiceManager.obtainWorkOrderDetail(id) loadState.value = LoadState.Success diff --git a/app/src/main/res/layout/activity_order_detail.xml b/app/src/main/res/layout/activity_order_detail.xml index 0a32de5..9b07e65 100644 --- a/app/src/main/res/layout/activity_order_detail.xml +++ b/app/src/main/res/layout/activity_order_detail.xml @@ -113,6 +113,23 @@ + + + + + + + + + - + - + - - + + + + + + + + + + + + + + diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt index 7267e88..8d84a0f 100644 --- a/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt +++ b/app/src/main/java/com/casic/app/smartwell/adapter/TodoWorkOrderListAdapter.kt @@ -7,7 +7,6 @@ import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.app.smartwell.R -import com.casic.app.smartwell.extensions.valueToType import com.casic.app.smartwell.model.WorkOrderListModel import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton @@ -31,8 +30,8 @@ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { //绑定数据 val rowsBean = dataRows[position] - holder.wellTypeView.text = rowsBean.wellId.valueToType() holder.alarmTypeView.text = rowsBean.alarmContentName + holder.createTimeView.text = rowsBean.createTime holder.wellCodeView.text = rowsBean.wellCode holder.wellLocationView.text = rowsBean.position //绑定事件 @@ -40,22 +39,19 @@ holder.itemView.setOnClickListener { listener!!.onClicked(position) } + holder.operationButton.setChangeAlphaWhenPress(true) holder.operationButton.setOnClickListener { listener!!.onOperationClicked(position) } - holder.navigationButton.setOnClickListener { - listener!!.onNavigationButtonClicked(position) - } } } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var wellTypeView: QMUIRoundButton = view.findViewById(R.id.wellTypeView) var alarmTypeView: TextView = view.findViewById(R.id.alarmTypeView) + var createTimeView: TextView = view.findViewById(R.id.createTimeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var wellLocationView: TextView = view.findViewById(R.id.wellLocationView) - var operationButton: QMUIRoundButton = view.findViewById(R.id.wellStateView) - var navigationButton: QMUIRoundButton = view.findViewById(R.id.navigationButton) + var operationButton: QMUIRoundButton = view.findViewById(R.id.operationButton) } private var listener: OnItemClickListener? = null @@ -64,8 +60,6 @@ fun onClicked(position: Int) fun onOperationClicked(position: Int) - - fun onNavigationButtonClicked(position: Int) } fun setOnItemClickListener(onClickListener: OnItemClickListener?) { diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/String.kt b/app/src/main/java/com/casic/app/smartwell/extensions/String.kt index 7309344..7358b1c 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/String.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/String.kt @@ -55,4 +55,16 @@ "http://111.198.10.15:11304" ) as String return "$defaultValue/static/${this.replace("\\", "/")}" +} + +//窨井类型转换 +fun String.toChinese(): String { + return when (this) { + "1" -> "一级" + "2" -> "二级" + "3" -> "三级" + else -> { + "未知" + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt index 8d23f3e..682801a 100644 --- a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt @@ -75,7 +75,7 @@ var jobStatusName: String? = null var alarmValue: String? = null var alarmId: String? = null - var alarmLevel = 0 + var alarmLevel: String? = null var handleJobTime: String? = null var tel: String? = null var id: String? = null diff --git a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt index 1d894cb..ed2695d 100644 --- a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt @@ -1,75 +1,52 @@ package com.casic.app.smartwell.model - class WorkOrderListModel { - /** - * code : 200 - * message : success - * data : {"rows":[{"id":1,"wellId":1,"wellCode":"N51F131","devcode":"4120182441","position":"宋郎路","alarmType":"1","alarmTypeName":"数据异常","alarmContent":"1","alarmContentName":"液位超限","alarmValue":"12","deptid":"1","deptName":"一分公司","jobId":1,"jobCode":"2019282717892","jobStatus":"0","jobStatusName":"待处理","createTime":"2018-12-27 00:00:00","getJobPerson":"1321321","getJobTime":"2018-12-27 00:00:00","confirmJobPerson":"1321321","confirmJobTime":"2018-12-27 00:00:00","handleJobPerson":"1321321","handleJobTime":"2018-12-27 00:00:00"}],"total":200} - */ var code = 0 - var message: String? = null var data: DataBean? = null - + var message: String? = null + var success = false class DataBean { - /** - * rows : [{"id":1,"wellId":1,"wellCode":"N51F131","devcode":"4120182441","position":"宋郎路","alarmType":"1","alarmTypeName":"数据异常","alarmContent":"1","alarmContentName":"液位超限","alarmValue":"12","deptid":"1","deptName":"一分公司","jobId":1,"jobCode":"2019282717892","jobStatus":"0","jobStatusName":"待处理","createTime":"2018-12-27 00:00:00","getJobPerson":"1321321","getJobTime":"2018-12-27 00:00:00","confirmJobPerson":"1321321","confirmJobTime":"2018-12-27 00:00:00","handleJobPerson":"1321321","handleJobTime":"2018-12-27 00:00:00"}] - * total : 200 - */ - var total = 0 var rows: MutableList? = null - + var total = 0 class RowsBean { - /** - * id : 1 - * wellId : 1 - * wellCode : N51F131 - * devcode : 4120182441 - * position : 宋郎路 - * alarmType : 1 - * alarmTypeName : 数据异常 - * alarmContent : 1 - * alarmContentName : 液位超限 - * alarmValue : 12 - * deptid : 1 - * deptName : 一分公司 - * jobId : 1 - * jobCode : 2019282717892 - * jobStatus : 0 - * jobStatusName : 待处理 - * createTime : 2018-12-27 00:00:00 - * getJobPerson : 1321321 - * getJobTime : 2018-12-27 00:00:00 - * confirmJobPerson : 1321321 - * confirmJobTime : 2018-12-27 00:00:00 - * handleJobPerson : 1321321 - * handleJobTime : 2018-12-27 00:00:00 - */ - var id = 0 - var wellId = 0 - var wellCode: String? = null - var devcode: String? = null - var position: String? = null - var alarmType: String? = null - var alarmTypeName: String? = null - var alarmContent: String? = null - var alarmContentName: String? = null - var alarmValue: String? = null - var deptid: String? = null + var alarmContent = 0 var deptName: String? = null - var jobId = 0 - var jobCode: String? = null var jobStatus: String? = null - var jobStatusName: String? = null - var createTime: String? = null - var getJobPerson: String? = null - var getJobTime: String? = null + var handleJobPerson: String? = null + var alarmContentName: String? = null + var shouldGetTime: String? = null + var wellCode: String? = null + var deptid: String? = null + var alarmTypeName: String? = null + var jobCode: String? = null + var jobBelongTo: String? = null + var jobFlag: String? = null var confirmJobPerson: String? = null var confirmJobTime: String? = null - var handleJobPerson: String? = null + var jobStatusName: String? = null + var alarmValue: String? = null + var alarmId: String? = null + var alarmLevel: String? = null var handleJobTime: String? = null + var tel: String? = null + var id: String? = null + var wellId: String? = null + var jobType: String? = null + var editable = 0 + var alarmTime: String? = null + var alarmMessage: String? = null + var staff: String? = null + var getJobTime: String? = null + var getJobPerson: String? = null + var shouldHandleTime: String? = null + var jobId: String? = null + var alarmType: String? = null + var alarmStatus: String? = null + var devcode: String? = null + var createTime: String? = null + var position: String? = null } } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt index 9b64524..8395e15 100644 --- a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt @@ -103,7 +103,7 @@ @GET("/job/info") suspend fun obtainWorkOrderDetail( @Header("token") token: String, - @Query("id") id: Long + @Query("id") id: String ): WorkOrderDetailModel /** @@ -113,7 +113,7 @@ @POST("/job/getJob") suspend fun acceptWorkOrder( @Header("token") token: String, - @Field("id") id: Int + @Field("id") id: String ): CommonResultModel /** diff --git a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt index d574dda..1223036 100644 --- a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt @@ -98,14 +98,14 @@ /** * 获取工单详情 */ - suspend fun obtainWorkOrderDetail(id: Long): WorkOrderDetailModel { + suspend fun obtainWorkOrderDetail(id: String): WorkOrderDetailModel { return api.obtainWorkOrderDetail(AuthenticationHelper.token!!, id) } /** * 接单 */ - suspend fun acceptWorkOrder(id: Int): CommonResultModel { + suspend fun acceptWorkOrder(id: String): CommonResultModel { return api.acceptWorkOrder(AuthenticationHelper.token!!, id) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt index 37dc5d6..9667273 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt @@ -6,8 +6,10 @@ import com.amap.api.maps.model.Poi import com.casic.app.smartwell.R import com.casic.app.smartwell.base.BaseActivity +import com.casic.app.smartwell.extensions.covertColor import com.casic.app.smartwell.extensions.show import com.casic.app.smartwell.extensions.showRouteOnMap +import com.casic.app.smartwell.extensions.toChinese import com.casic.app.smartwell.utils.Constant import com.casic.app.smartwell.utils.DialogHelper import com.casic.app.smartwell.utils.LoadState @@ -37,7 +39,8 @@ override fun initData() { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! workOrderDetailViewModel = ViewModelProvider(this).get(WorkOrderDetailViewModel::class.java) - workOrderDetailViewModel.obtainWorkOrderDetail(id = jobId.toLong()) + acceptOrderViewModel = ViewModelProvider(this).get(AcceptOrderViewModel::class.java) + workOrderDetailViewModel.obtainWorkOrderDetail(id = jobId) workOrderDetailViewModel.detailModel.observe(this, { if (it.code == 200) { val orderDetail = it.data!![0] @@ -46,6 +49,14 @@ orderCodeView.text = orderDetail.jobCode wellCodeView.text = orderDetail.wellCode devCodeView.text = orderDetail.devcode + val level = orderDetail.alarmLevel.toString() + if (level == "") { + alarmLevelView.text = "未知" + alarmLevelView.setTextColor(R.color.mainTextColor.covertColor(this)) + } else { + alarmLevelView.text = level.toChinese() + alarmLevelView.setTextColor(R.color.redTextColor.covertColor(this)) + } alarmValueView.text = orderDetail.alarmValue val wellPosition = orderDetail.position.toString() wellLocationView.text = wellPosition @@ -62,13 +73,12 @@ } else { tipsImageView.visibility = View.GONE } - dispatchDateView.text = orderDetail.getJobTime + dispatchDateView.text = orderDetail.createTime + completedDateView.text = orderDetail.handleJobTime //接单 acceptOrderButton.setChangeAlphaWhenPress(true) acceptOrderButton.setOnClickListener { - acceptOrderViewModel = - ViewModelProvider(this).get(AcceptOrderViewModel::class.java) AlertControlDialog.Builder() .setContext(this) .setTitle("操作提示") @@ -82,7 +92,7 @@ "工单ID异常,无法接单".show(this@WorkOrderDetailActivity) return } - acceptOrderViewModel.acceptWorkOrder(id = orderDetail.jobId!!.toInt()) + acceptOrderViewModel.acceptWorkOrder(id = orderDetail.jobId!!) } override fun onCancelClick() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt b/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt index 3a12e7c..0cf61eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt @@ -13,9 +13,13 @@ import com.casic.app.smartwell.extensions.show import com.casic.app.smartwell.model.WorkOrderListModel import com.casic.app.smartwell.utils.Constant +import com.casic.app.smartwell.utils.DialogHelper +import com.casic.app.smartwell.utils.LoadState import com.casic.app.smartwell.view.WorkOrderDetailActivity +import com.casic.app.smartwell.vm.AcceptOrderViewModel import com.casic.app.smartwell.vm.WorkOrderListViewModel import com.pengxh.app.multilib.base.BaseFragment +import com.pengxh.app.multilib.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.fragment_order_todo.* import java.lang.ref.WeakReference @@ -23,6 +27,7 @@ private lateinit var workOrderListAdapter: TodoWorkOrderListAdapter private lateinit var workOrderListViewModel: WorkOrderListViewModel + private lateinit var acceptOrderViewModel: AcceptOrderViewModel private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -45,6 +50,7 @@ override fun initData() { weakReferenceHandler = WeakReferenceHandler(this) workOrderListViewModel = ViewModelProvider(this).get(WorkOrderListViewModel::class.java) + acceptOrderViewModel = ViewModelProvider(this).get(AcceptOrderViewModel::class.java) obtainWorkOrderList(pageIndex) workOrderListViewModel.resultModel.observe(this, { if (it.code == 200) { @@ -85,6 +91,26 @@ pageIndex++ obtainWorkOrderList(pageIndex) } + + //接单状态处理 + acceptOrderViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(requireContext(), "接单中,请稍后") + } + is LoadState.Success -> { + DialogHelper.dismissLoadingDialog() + "接单成功".show(requireContext()) + //通知列表刷行数据 + weakReferenceHandler!!.sendEmptyMessage(Constant.ORDER_TRANSFER_OK) + //TODO 还需要通知待确认列表 + } + else -> { + DialogHelper.dismissLoadingDialog() + "接单失败".show(requireContext()) + } + } + }) } private fun obtainWorkOrderList(index: Int) { @@ -134,11 +160,29 @@ } override fun onOperationClicked(position: Int) { + AlertControlDialog.Builder() + .setContext(fragment.requireContext()) + .setTitle("操作提示") + .setMessage("确定要接单吗") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onConfirmClick() { + val jobId = + fragment.dataBeans[position].jobId.toString() + if (jobId == "") { + "工单ID异常,无法接单".show(fragment.requireContext()) + return + } + fragment.acceptOrderViewModel.acceptWorkOrder(id = jobId) + } - } + override fun onCancelClick() { - override fun onNavigationButtonClicked(position: Int) { - + } + }) + .build().show() } }) } diff --git a/app/src/main/java/com/casic/app/smartwell/vm/AcceptOrderViewModel.kt b/app/src/main/java/com/casic/app/smartwell/vm/AcceptOrderViewModel.kt index 7af02ae..8da8883 100644 --- a/app/src/main/java/com/casic/app/smartwell/vm/AcceptOrderViewModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/vm/AcceptOrderViewModel.kt @@ -7,7 +7,7 @@ class AcceptOrderViewModel : BaseViewModel() { - fun acceptWorkOrder(id: Int) = launch({ + fun acceptWorkOrder(id: String) = launch({ loadState.value = LoadState.Loading RetrofitServiceManager.acceptWorkOrder(id) loadState.value = LoadState.Success diff --git a/app/src/main/java/com/casic/app/smartwell/vm/WorkOrderDetailViewModel.kt b/app/src/main/java/com/casic/app/smartwell/vm/WorkOrderDetailViewModel.kt index 74f8188..4363ef9 100644 --- a/app/src/main/java/com/casic/app/smartwell/vm/WorkOrderDetailViewModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/vm/WorkOrderDetailViewModel.kt @@ -11,7 +11,7 @@ val detailModel = MutableLiveData() - fun obtainWorkOrderDetail(id: Long) = launch({ + fun obtainWorkOrderDetail(id: String) = launch({ loadState.value = LoadState.Loading detailModel.value = RetrofitServiceManager.obtainWorkOrderDetail(id) loadState.value = LoadState.Success diff --git a/app/src/main/res/layout/activity_order_detail.xml b/app/src/main/res/layout/activity_order_detail.xml index 0a32de5..9b07e65 100644 --- a/app/src/main/res/layout/activity_order_detail.xml +++ b/app/src/main/res/layout/activity_order_detail.xml @@ -113,6 +113,23 @@ + + + + + + + + + - + - + - - + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_order_todo.xml b/app/src/main/res/layout/fragment_order_todo.xml index e512f69..2d888b1 100644 --- a/app/src/main/res/layout/fragment_order_todo.xml +++ b/app/src/main/res/layout/fragment_order_todo.xml @@ -2,7 +2,7 @@ + android:layout_height="match_parent" + android:layout_marginTop="@dimen/dp_10"> "一级" + "2" -> "二级" + "3" -> "三级" + else -> { + "未知" + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt index 8d23f3e..682801a 100644 --- a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderDetailModel.kt @@ -75,7 +75,7 @@ var jobStatusName: String? = null var alarmValue: String? = null var alarmId: String? = null - var alarmLevel = 0 + var alarmLevel: String? = null var handleJobTime: String? = null var tel: String? = null var id: String? = null diff --git a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt index 1d894cb..ed2695d 100644 --- a/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/model/WorkOrderListModel.kt @@ -1,75 +1,52 @@ package com.casic.app.smartwell.model - class WorkOrderListModel { - /** - * code : 200 - * message : success - * data : {"rows":[{"id":1,"wellId":1,"wellCode":"N51F131","devcode":"4120182441","position":"宋郎路","alarmType":"1","alarmTypeName":"数据异常","alarmContent":"1","alarmContentName":"液位超限","alarmValue":"12","deptid":"1","deptName":"一分公司","jobId":1,"jobCode":"2019282717892","jobStatus":"0","jobStatusName":"待处理","createTime":"2018-12-27 00:00:00","getJobPerson":"1321321","getJobTime":"2018-12-27 00:00:00","confirmJobPerson":"1321321","confirmJobTime":"2018-12-27 00:00:00","handleJobPerson":"1321321","handleJobTime":"2018-12-27 00:00:00"}],"total":200} - */ var code = 0 - var message: String? = null var data: DataBean? = null - + var message: String? = null + var success = false class DataBean { - /** - * rows : [{"id":1,"wellId":1,"wellCode":"N51F131","devcode":"4120182441","position":"宋郎路","alarmType":"1","alarmTypeName":"数据异常","alarmContent":"1","alarmContentName":"液位超限","alarmValue":"12","deptid":"1","deptName":"一分公司","jobId":1,"jobCode":"2019282717892","jobStatus":"0","jobStatusName":"待处理","createTime":"2018-12-27 00:00:00","getJobPerson":"1321321","getJobTime":"2018-12-27 00:00:00","confirmJobPerson":"1321321","confirmJobTime":"2018-12-27 00:00:00","handleJobPerson":"1321321","handleJobTime":"2018-12-27 00:00:00"}] - * total : 200 - */ - var total = 0 var rows: MutableList? = null - + var total = 0 class RowsBean { - /** - * id : 1 - * wellId : 1 - * wellCode : N51F131 - * devcode : 4120182441 - * position : 宋郎路 - * alarmType : 1 - * alarmTypeName : 数据异常 - * alarmContent : 1 - * alarmContentName : 液位超限 - * alarmValue : 12 - * deptid : 1 - * deptName : 一分公司 - * jobId : 1 - * jobCode : 2019282717892 - * jobStatus : 0 - * jobStatusName : 待处理 - * createTime : 2018-12-27 00:00:00 - * getJobPerson : 1321321 - * getJobTime : 2018-12-27 00:00:00 - * confirmJobPerson : 1321321 - * confirmJobTime : 2018-12-27 00:00:00 - * handleJobPerson : 1321321 - * handleJobTime : 2018-12-27 00:00:00 - */ - var id = 0 - var wellId = 0 - var wellCode: String? = null - var devcode: String? = null - var position: String? = null - var alarmType: String? = null - var alarmTypeName: String? = null - var alarmContent: String? = null - var alarmContentName: String? = null - var alarmValue: String? = null - var deptid: String? = null + var alarmContent = 0 var deptName: String? = null - var jobId = 0 - var jobCode: String? = null var jobStatus: String? = null - var jobStatusName: String? = null - var createTime: String? = null - var getJobPerson: String? = null - var getJobTime: String? = null + var handleJobPerson: String? = null + var alarmContentName: String? = null + var shouldGetTime: String? = null + var wellCode: String? = null + var deptid: String? = null + var alarmTypeName: String? = null + var jobCode: String? = null + var jobBelongTo: String? = null + var jobFlag: String? = null var confirmJobPerson: String? = null var confirmJobTime: String? = null - var handleJobPerson: String? = null + var jobStatusName: String? = null + var alarmValue: String? = null + var alarmId: String? = null + var alarmLevel: String? = null var handleJobTime: String? = null + var tel: String? = null + var id: String? = null + var wellId: String? = null + var jobType: String? = null + var editable = 0 + var alarmTime: String? = null + var alarmMessage: String? = null + var staff: String? = null + var getJobTime: String? = null + var getJobPerson: String? = null + var shouldHandleTime: String? = null + var jobId: String? = null + var alarmType: String? = null + var alarmStatus: String? = null + var devcode: String? = null + var createTime: String? = null + var position: String? = null } } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt index 9b64524..8395e15 100644 --- a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitService.kt @@ -103,7 +103,7 @@ @GET("/job/info") suspend fun obtainWorkOrderDetail( @Header("token") token: String, - @Query("id") id: Long + @Query("id") id: String ): WorkOrderDetailModel /** @@ -113,7 +113,7 @@ @POST("/job/getJob") suspend fun acceptWorkOrder( @Header("token") token: String, - @Field("id") id: Int + @Field("id") id: String ): CommonResultModel /** diff --git a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt index d574dda..1223036 100644 --- a/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/app/smartwell/utils/retrofit/RetrofitServiceManager.kt @@ -98,14 +98,14 @@ /** * 获取工单详情 */ - suspend fun obtainWorkOrderDetail(id: Long): WorkOrderDetailModel { + suspend fun obtainWorkOrderDetail(id: String): WorkOrderDetailModel { return api.obtainWorkOrderDetail(AuthenticationHelper.token!!, id) } /** * 接单 */ - suspend fun acceptWorkOrder(id: Int): CommonResultModel { + suspend fun acceptWorkOrder(id: String): CommonResultModel { return api.acceptWorkOrder(AuthenticationHelper.token!!, id) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt index 37dc5d6..9667273 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WorkOrderDetailActivity.kt @@ -6,8 +6,10 @@ import com.amap.api.maps.model.Poi import com.casic.app.smartwell.R import com.casic.app.smartwell.base.BaseActivity +import com.casic.app.smartwell.extensions.covertColor import com.casic.app.smartwell.extensions.show import com.casic.app.smartwell.extensions.showRouteOnMap +import com.casic.app.smartwell.extensions.toChinese import com.casic.app.smartwell.utils.Constant import com.casic.app.smartwell.utils.DialogHelper import com.casic.app.smartwell.utils.LoadState @@ -37,7 +39,8 @@ override fun initData() { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! workOrderDetailViewModel = ViewModelProvider(this).get(WorkOrderDetailViewModel::class.java) - workOrderDetailViewModel.obtainWorkOrderDetail(id = jobId.toLong()) + acceptOrderViewModel = ViewModelProvider(this).get(AcceptOrderViewModel::class.java) + workOrderDetailViewModel.obtainWorkOrderDetail(id = jobId) workOrderDetailViewModel.detailModel.observe(this, { if (it.code == 200) { val orderDetail = it.data!![0] @@ -46,6 +49,14 @@ orderCodeView.text = orderDetail.jobCode wellCodeView.text = orderDetail.wellCode devCodeView.text = orderDetail.devcode + val level = orderDetail.alarmLevel.toString() + if (level == "") { + alarmLevelView.text = "未知" + alarmLevelView.setTextColor(R.color.mainTextColor.covertColor(this)) + } else { + alarmLevelView.text = level.toChinese() + alarmLevelView.setTextColor(R.color.redTextColor.covertColor(this)) + } alarmValueView.text = orderDetail.alarmValue val wellPosition = orderDetail.position.toString() wellLocationView.text = wellPosition @@ -62,13 +73,12 @@ } else { tipsImageView.visibility = View.GONE } - dispatchDateView.text = orderDetail.getJobTime + dispatchDateView.text = orderDetail.createTime + completedDateView.text = orderDetail.handleJobTime //接单 acceptOrderButton.setChangeAlphaWhenPress(true) acceptOrderButton.setOnClickListener { - acceptOrderViewModel = - ViewModelProvider(this).get(AcceptOrderViewModel::class.java) AlertControlDialog.Builder() .setContext(this) .setTitle("操作提示") @@ -82,7 +92,7 @@ "工单ID异常,无法接单".show(this@WorkOrderDetailActivity) return } - acceptOrderViewModel.acceptWorkOrder(id = orderDetail.jobId!!.toInt()) + acceptOrderViewModel.acceptWorkOrder(id = orderDetail.jobId!!) } override fun onCancelClick() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt b/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt index 3a12e7c..0cf61eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/fragment/TodoOrderFragment.kt @@ -13,9 +13,13 @@ import com.casic.app.smartwell.extensions.show import com.casic.app.smartwell.model.WorkOrderListModel import com.casic.app.smartwell.utils.Constant +import com.casic.app.smartwell.utils.DialogHelper +import com.casic.app.smartwell.utils.LoadState import com.casic.app.smartwell.view.WorkOrderDetailActivity +import com.casic.app.smartwell.vm.AcceptOrderViewModel import com.casic.app.smartwell.vm.WorkOrderListViewModel import com.pengxh.app.multilib.base.BaseFragment +import com.pengxh.app.multilib.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.fragment_order_todo.* import java.lang.ref.WeakReference @@ -23,6 +27,7 @@ private lateinit var workOrderListAdapter: TodoWorkOrderListAdapter private lateinit var workOrderListViewModel: WorkOrderListViewModel + private lateinit var acceptOrderViewModel: AcceptOrderViewModel private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -45,6 +50,7 @@ override fun initData() { weakReferenceHandler = WeakReferenceHandler(this) workOrderListViewModel = ViewModelProvider(this).get(WorkOrderListViewModel::class.java) + acceptOrderViewModel = ViewModelProvider(this).get(AcceptOrderViewModel::class.java) obtainWorkOrderList(pageIndex) workOrderListViewModel.resultModel.observe(this, { if (it.code == 200) { @@ -85,6 +91,26 @@ pageIndex++ obtainWorkOrderList(pageIndex) } + + //接单状态处理 + acceptOrderViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(requireContext(), "接单中,请稍后") + } + is LoadState.Success -> { + DialogHelper.dismissLoadingDialog() + "接单成功".show(requireContext()) + //通知列表刷行数据 + weakReferenceHandler!!.sendEmptyMessage(Constant.ORDER_TRANSFER_OK) + //TODO 还需要通知待确认列表 + } + else -> { + DialogHelper.dismissLoadingDialog() + "接单失败".show(requireContext()) + } + } + }) } private fun obtainWorkOrderList(index: Int) { @@ -134,11 +160,29 @@ } override fun onOperationClicked(position: Int) { + AlertControlDialog.Builder() + .setContext(fragment.requireContext()) + .setTitle("操作提示") + .setMessage("确定要接单吗") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onConfirmClick() { + val jobId = + fragment.dataBeans[position].jobId.toString() + if (jobId == "") { + "工单ID异常,无法接单".show(fragment.requireContext()) + return + } + fragment.acceptOrderViewModel.acceptWorkOrder(id = jobId) + } - } + override fun onCancelClick() { - override fun onNavigationButtonClicked(position: Int) { - + } + }) + .build().show() } }) } diff --git a/app/src/main/java/com/casic/app/smartwell/vm/AcceptOrderViewModel.kt b/app/src/main/java/com/casic/app/smartwell/vm/AcceptOrderViewModel.kt index 7af02ae..8da8883 100644 --- a/app/src/main/java/com/casic/app/smartwell/vm/AcceptOrderViewModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/vm/AcceptOrderViewModel.kt @@ -7,7 +7,7 @@ class AcceptOrderViewModel : BaseViewModel() { - fun acceptWorkOrder(id: Int) = launch({ + fun acceptWorkOrder(id: String) = launch({ loadState.value = LoadState.Loading RetrofitServiceManager.acceptWorkOrder(id) loadState.value = LoadState.Success diff --git a/app/src/main/java/com/casic/app/smartwell/vm/WorkOrderDetailViewModel.kt b/app/src/main/java/com/casic/app/smartwell/vm/WorkOrderDetailViewModel.kt index 74f8188..4363ef9 100644 --- a/app/src/main/java/com/casic/app/smartwell/vm/WorkOrderDetailViewModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/vm/WorkOrderDetailViewModel.kt @@ -11,7 +11,7 @@ val detailModel = MutableLiveData() - fun obtainWorkOrderDetail(id: Long) = launch({ + fun obtainWorkOrderDetail(id: String) = launch({ loadState.value = LoadState.Loading detailModel.value = RetrofitServiceManager.obtainWorkOrderDetail(id) loadState.value = LoadState.Success diff --git a/app/src/main/res/layout/activity_order_detail.xml b/app/src/main/res/layout/activity_order_detail.xml index 0a32de5..9b07e65 100644 --- a/app/src/main/res/layout/activity_order_detail.xml +++ b/app/src/main/res/layout/activity_order_detail.xml @@ -113,6 +113,23 @@ + + + + + + + + + - + - + - - + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_order_todo.xml b/app/src/main/res/layout/fragment_order_todo.xml index e512f69..2d888b1 100644 --- a/app/src/main/res/layout/fragment_order_todo.xml +++ b/app/src/main/res/layout/fragment_order_todo.xml @@ -2,7 +2,7 @@ + android:layout_height="match_parent" + android:layout_marginTop="@dimen/dp_10"> - - + + - -