diff --git a/app/src/main/assets/svg/delete.svg b/app/src/main/assets/svg/delete.svg
new file mode 100644
index 0000000..593ceb4
--- /dev/null
+++ b/app/src/main/assets/svg/delete.svg
@@ -0,0 +1,19 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/assets/svg/delete.svg b/app/src/main/assets/svg/delete.svg
new file mode 100644
index 0000000..593ceb4
--- /dev/null
+++ b/app/src/main/assets/svg/delete.svg
@@ -0,0 +1,19 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
index a60a2ca..e831e68 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
@@ -8,10 +8,11 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
+import com.casic.app.smartwell.extensions.covertColor
import com.casic.app.smartwell.model.WellMonitorModel
class SensorListAdapter(
- context: Context, private val dataRows: MutableList
+ private val context: Context, private val dataRows: MutableList
) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
@@ -27,6 +28,11 @@
//绑定数据
val rowsBean = dataRows[position]
holder.wellCodeView.text = rowsBean.devcode
+ if (rowsBean.onlineState == "0") {
+ holder.wellStateView.setTextColor(R.color.redTextColor.covertColor(context))
+ } else {
+ holder.wellStateView.setTextColor(R.color.greenTextColor.covertColor(context))
+ }
holder.wellStateView.text = rowsBean.onlineStateName
val value = rowsBean.data.toString()
if (value == "") {
diff --git a/app/src/main/assets/svg/delete.svg b/app/src/main/assets/svg/delete.svg
new file mode 100644
index 0000000..593ceb4
--- /dev/null
+++ b/app/src/main/assets/svg/delete.svg
@@ -0,0 +1,19 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
index a60a2ca..e831e68 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
@@ -8,10 +8,11 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
+import com.casic.app.smartwell.extensions.covertColor
import com.casic.app.smartwell.model.WellMonitorModel
class SensorListAdapter(
- context: Context, private val dataRows: MutableList
+ private val context: Context, private val dataRows: MutableList
) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
@@ -27,6 +28,11 @@
//绑定数据
val rowsBean = dataRows[position]
holder.wellCodeView.text = rowsBean.devcode
+ if (rowsBean.onlineState == "0") {
+ holder.wellStateView.setTextColor(R.color.redTextColor.covertColor(context))
+ } else {
+ holder.wellStateView.setTextColor(R.color.greenTextColor.covertColor(context))
+ }
holder.wellStateView.text = rowsBean.onlineStateName
val value = rowsBean.data.toString()
if (value == "") {
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
index d1f9f4b..f68cef4 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
@@ -11,21 +11,14 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
-import com.casic.app.smartwell.model.UserDetailModel
import com.casic.app.smartwell.model.WorkOrderListModel
-import com.casic.app.smartwell.utils.Constant
-import com.casic.app.smartwell.utils.SaveKeyValues
-import com.google.gson.Gson
-import com.google.gson.reflect.TypeToken
class UndeterminedOrderAdapter(
private val context: Context,
private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private lateinit var userDataModel: UserDetailModel.DataBean
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
- private val gson = Gson()
override fun onCreateViewHolder(
parent: ViewGroup,
@@ -56,14 +49,7 @@
}
holder.wellLocationView.text = rowsBean.position
- val userDetailJson = SaveKeyValues.getValue(Constant.USER_DETAIL_MODEL, "") as String
- if (userDetailJson != "") {
- userDataModel = gson.fromJson(
- userDetailJson,
- object : TypeToken() {}.type
- )
- holder.currentStateView.text = "${userDataModel.name}正在现场确认中..."
- }
+ holder.currentStateView.text = "${rowsBean.jobBelongTo}正在现场确认中..."
//绑定事件
if (listener != null) {
diff --git a/app/src/main/assets/svg/delete.svg b/app/src/main/assets/svg/delete.svg
new file mode 100644
index 0000000..593ceb4
--- /dev/null
+++ b/app/src/main/assets/svg/delete.svg
@@ -0,0 +1,19 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
index a60a2ca..e831e68 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
@@ -8,10 +8,11 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
+import com.casic.app.smartwell.extensions.covertColor
import com.casic.app.smartwell.model.WellMonitorModel
class SensorListAdapter(
- context: Context, private val dataRows: MutableList
+ private val context: Context, private val dataRows: MutableList
) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
@@ -27,6 +28,11 @@
//绑定数据
val rowsBean = dataRows[position]
holder.wellCodeView.text = rowsBean.devcode
+ if (rowsBean.onlineState == "0") {
+ holder.wellStateView.setTextColor(R.color.redTextColor.covertColor(context))
+ } else {
+ holder.wellStateView.setTextColor(R.color.greenTextColor.covertColor(context))
+ }
holder.wellStateView.text = rowsBean.onlineStateName
val value = rowsBean.data.toString()
if (value == "") {
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
index d1f9f4b..f68cef4 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
@@ -11,21 +11,14 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
-import com.casic.app.smartwell.model.UserDetailModel
import com.casic.app.smartwell.model.WorkOrderListModel
-import com.casic.app.smartwell.utils.Constant
-import com.casic.app.smartwell.utils.SaveKeyValues
-import com.google.gson.Gson
-import com.google.gson.reflect.TypeToken
class UndeterminedOrderAdapter(
private val context: Context,
private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private lateinit var userDataModel: UserDetailModel.DataBean
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
- private val gson = Gson()
override fun onCreateViewHolder(
parent: ViewGroup,
@@ -56,14 +49,7 @@
}
holder.wellLocationView.text = rowsBean.position
- val userDetailJson = SaveKeyValues.getValue(Constant.USER_DETAIL_MODEL, "") as String
- if (userDetailJson != "") {
- userDataModel = gson.fromJson(
- userDetailJson,
- object : TypeToken() {}.type
- )
- holder.currentStateView.text = "${userDataModel.name}正在现场确认中..."
- }
+ holder.currentStateView.text = "${rowsBean.jobBelongTo}正在现场确认中..."
//绑定事件
if (listener != null) {
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 682801a..09af7b1 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
@@ -1,61 +1,12 @@
package com.casic.app.smartwell.model
class WorkOrderDetailModel {
- /**
- * code : 200
- * data : [{"firstState":"","alarmContent":22,"deptName":"燃气集团总公司","jobStatus":"0","handleJobPerson":"","alarmContentName":"噪声超限","shouldGetTime":"","firstStatePhotos":"","wellCode":"test001","deptid":"24","alarmTypeName":"数据异常","jobCode":"ZSCX202009070001","jobBelongTo":"","jobFlag":"","confirmJobPerson":"","confirmJobTime":"","jobStatusName":"待处理","alarmValue":"4000.86","alarmId":"11243","alarmLevel":0,"handleJobTime":"","tel":"","id":"1232178","wellId":"4453","jobType":"1","flow":[],"editable":1,"alarmTime":"2019-10-17 14:22:00","handleMessage":"","alarmMessage":"噪声超限","staff":"吴甘牛","handlePhotos":"","getJobTime":"","getJobPerson":"","shouldHandleTime":"","jobId":"1232178","alarmType":"1","alarmStatus":"1","devcode":"212020000a","createTime":"2020-09-07 09:30:18","position":"test001位置"}]
- * message : 请求成功
- * success : true
- */
var code = 0
- var message: String? = null
- var success = false
var data: List? = null
+ var message: String? = null
+ var isSuccess = false
class DataBean {
- /**
- * firstState :
- * alarmContent : 22
- * deptName : 燃气集团总公司
- * jobStatus : 0
- * handleJobPerson :
- * alarmContentName : 噪声超限
- * shouldGetTime :
- * firstStatePhotos :
- * wellCode : test001
- * deptid : 24
- * alarmTypeName : 数据异常
- * jobCode : ZSCX202009070001
- * jobBelongTo :
- * jobFlag :
- * confirmJobPerson :
- * confirmJobTime :
- * jobStatusName : 待处理
- * alarmValue : 4000.86
- * alarmId : 11243
- * alarmLevel : 0
- * handleJobTime :
- * tel :
- * id : 1232178
- * wellId : 4453
- * jobType : 1
- * flow : []
- * editable : 1
- * alarmTime : 2019-10-17 14:22:00
- * handleMessage :
- * alarmMessage : 噪声超限
- * staff : 吴甘牛
- * handlePhotos :
- * getJobTime :
- * getJobPerson :
- * shouldHandleTime :
- * jobId : 1232178
- * alarmType : 1
- * alarmStatus : 1
- * devcode : 212020000a
- * createTime : 2020-09-07 09:30:18
- * position : test001位置
- */
var firstState: String? = null
var alarmContent = 0
var deptName: String? = null
@@ -81,6 +32,7 @@
var id: String? = null
var wellId: String? = null
var jobType: String? = null
+ var flow: MutableList? = null
var editable = 0
var alarmTime: String? = null
var handleMessage: String? = null
@@ -96,6 +48,11 @@
var devcode: String? = null
var createTime: String? = null
var position: String? = null
- var flow: List<*>? = null
+
+ class FlowBean {
+ var from: String? = null
+ var to: String? = null
+ var time: String? = null
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/assets/svg/delete.svg b/app/src/main/assets/svg/delete.svg
new file mode 100644
index 0000000..593ceb4
--- /dev/null
+++ b/app/src/main/assets/svg/delete.svg
@@ -0,0 +1,19 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
index a60a2ca..e831e68 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
@@ -8,10 +8,11 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
+import com.casic.app.smartwell.extensions.covertColor
import com.casic.app.smartwell.model.WellMonitorModel
class SensorListAdapter(
- context: Context, private val dataRows: MutableList
+ private val context: Context, private val dataRows: MutableList
) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
@@ -27,6 +28,11 @@
//绑定数据
val rowsBean = dataRows[position]
holder.wellCodeView.text = rowsBean.devcode
+ if (rowsBean.onlineState == "0") {
+ holder.wellStateView.setTextColor(R.color.redTextColor.covertColor(context))
+ } else {
+ holder.wellStateView.setTextColor(R.color.greenTextColor.covertColor(context))
+ }
holder.wellStateView.text = rowsBean.onlineStateName
val value = rowsBean.data.toString()
if (value == "") {
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
index d1f9f4b..f68cef4 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
@@ -11,21 +11,14 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
-import com.casic.app.smartwell.model.UserDetailModel
import com.casic.app.smartwell.model.WorkOrderListModel
-import com.casic.app.smartwell.utils.Constant
-import com.casic.app.smartwell.utils.SaveKeyValues
-import com.google.gson.Gson
-import com.google.gson.reflect.TypeToken
class UndeterminedOrderAdapter(
private val context: Context,
private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private lateinit var userDataModel: UserDetailModel.DataBean
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
- private val gson = Gson()
override fun onCreateViewHolder(
parent: ViewGroup,
@@ -56,14 +49,7 @@
}
holder.wellLocationView.text = rowsBean.position
- val userDetailJson = SaveKeyValues.getValue(Constant.USER_DETAIL_MODEL, "") as String
- if (userDetailJson != "") {
- userDataModel = gson.fromJson(
- userDetailJson,
- object : TypeToken() {}.type
- )
- holder.currentStateView.text = "${userDataModel.name}正在现场确认中..."
- }
+ holder.currentStateView.text = "${rowsBean.jobBelongTo}正在现场确认中..."
//绑定事件
if (listener != null) {
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 682801a..09af7b1 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
@@ -1,61 +1,12 @@
package com.casic.app.smartwell.model
class WorkOrderDetailModel {
- /**
- * code : 200
- * data : [{"firstState":"","alarmContent":22,"deptName":"燃气集团总公司","jobStatus":"0","handleJobPerson":"","alarmContentName":"噪声超限","shouldGetTime":"","firstStatePhotos":"","wellCode":"test001","deptid":"24","alarmTypeName":"数据异常","jobCode":"ZSCX202009070001","jobBelongTo":"","jobFlag":"","confirmJobPerson":"","confirmJobTime":"","jobStatusName":"待处理","alarmValue":"4000.86","alarmId":"11243","alarmLevel":0,"handleJobTime":"","tel":"","id":"1232178","wellId":"4453","jobType":"1","flow":[],"editable":1,"alarmTime":"2019-10-17 14:22:00","handleMessage":"","alarmMessage":"噪声超限","staff":"吴甘牛","handlePhotos":"","getJobTime":"","getJobPerson":"","shouldHandleTime":"","jobId":"1232178","alarmType":"1","alarmStatus":"1","devcode":"212020000a","createTime":"2020-09-07 09:30:18","position":"test001位置"}]
- * message : 请求成功
- * success : true
- */
var code = 0
- var message: String? = null
- var success = false
var data: List? = null
+ var message: String? = null
+ var isSuccess = false
class DataBean {
- /**
- * firstState :
- * alarmContent : 22
- * deptName : 燃气集团总公司
- * jobStatus : 0
- * handleJobPerson :
- * alarmContentName : 噪声超限
- * shouldGetTime :
- * firstStatePhotos :
- * wellCode : test001
- * deptid : 24
- * alarmTypeName : 数据异常
- * jobCode : ZSCX202009070001
- * jobBelongTo :
- * jobFlag :
- * confirmJobPerson :
- * confirmJobTime :
- * jobStatusName : 待处理
- * alarmValue : 4000.86
- * alarmId : 11243
- * alarmLevel : 0
- * handleJobTime :
- * tel :
- * id : 1232178
- * wellId : 4453
- * jobType : 1
- * flow : []
- * editable : 1
- * alarmTime : 2019-10-17 14:22:00
- * handleMessage :
- * alarmMessage : 噪声超限
- * staff : 吴甘牛
- * handlePhotos :
- * getJobTime :
- * getJobPerson :
- * shouldHandleTime :
- * jobId : 1232178
- * alarmType : 1
- * alarmStatus : 1
- * devcode : 212020000a
- * createTime : 2020-09-07 09:30:18
- * position : test001位置
- */
var firstState: String? = null
var alarmContent = 0
var deptName: String? = null
@@ -81,6 +32,7 @@
var id: String? = null
var wellId: String? = null
var jobType: String? = null
+ var flow: MutableList? = null
var editable = 0
var alarmTime: String? = null
var handleMessage: String? = null
@@ -96,6 +48,11 @@
var devcode: String? = null
var createTime: String? = null
var position: String? = null
- var flow: List<*>? = null
+
+ class FlowBean {
+ var from: String? = null
+ var to: String? = null
+ var time: String? = null
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
index 7cfc0cb..a1b889f 100644
--- a/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
+++ b/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
@@ -16,6 +16,7 @@
import com.casic.app.smartwell.view.fragment.UndeterminedOrderFragment
import com.casic.app.smartwell.vm.*
import com.casic.app.smartwell.widgets.SingleChoiceDialog
+import com.casic.app.smartwell.widgets.TimeLineBottomSheet
import com.luck.picture.lib.PictureSelector
import com.luck.picture.lib.config.PictureConfig
import com.luck.picture.lib.config.PictureMimeType
@@ -24,6 +25,7 @@
import com.pengxh.app.multilib.widget.dialog.BottomActionSheet
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
import kotlinx.android.synthetic.main.activity_order_determine_detail.*
+import kotlinx.android.synthetic.main.activity_well_management.*
import kotlinx.android.synthetic.main.include_base_title.*
import java.io.File
@@ -98,6 +100,19 @@
tipsImageView.visibility = View.GONE
}
+ //工单流转细节
+ val orderFlow = orderDetail.flow!!
+ if (orderFlow.size != 0) {
+ transferTipsView.visibility = View.VISIBLE
+ transferTipsView.setOnClickListener {
+ TimeLineBottomSheet.Builder()
+ .setContext(this)
+ .setFlowItems(orderFlow)
+ .build().show()
+ }
+ } else {
+ transferTipsView.visibility = View.GONE
+ }
acceptDateView.text = orderDetail.getJobTime
dispatchDateView.text = orderDetail.createTime
completedDateView.text = orderDetail.handleJobTime
@@ -123,19 +138,19 @@
AlertControlDialog.Builder()
.setContext(context)
.setTitle("操作提示")
- .setMessage("确定要接单吗")
+ .setMessage("确定要转单吗")
.setNegativeButton("取消")
.setPositiveButton("确定")
.setOnDialogButtonClickListener(object :
AlertControlDialog.OnDialogButtonClickListener {
override fun onConfirmClick() {
- if (orderDetail.jobId.toString() == "") {
- "工单ID异常,无法接单".show(context)
+ val orderId = orderDetail.jobId.toString()
+ if (orderId == "") {
+ "工单ID异常,无法转单".show(context)
return
}
transferOrderViewModel.transferWorkOrder(
- id = orderDetail.jobId!!,
- userId = personBean.id!!
+ id = orderId, userId = personBean.id!!
)
}
diff --git a/app/src/main/assets/svg/delete.svg b/app/src/main/assets/svg/delete.svg
new file mode 100644
index 0000000..593ceb4
--- /dev/null
+++ b/app/src/main/assets/svg/delete.svg
@@ -0,0 +1,19 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
index a60a2ca..e831e68 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
@@ -8,10 +8,11 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
+import com.casic.app.smartwell.extensions.covertColor
import com.casic.app.smartwell.model.WellMonitorModel
class SensorListAdapter(
- context: Context, private val dataRows: MutableList
+ private val context: Context, private val dataRows: MutableList
) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
@@ -27,6 +28,11 @@
//绑定数据
val rowsBean = dataRows[position]
holder.wellCodeView.text = rowsBean.devcode
+ if (rowsBean.onlineState == "0") {
+ holder.wellStateView.setTextColor(R.color.redTextColor.covertColor(context))
+ } else {
+ holder.wellStateView.setTextColor(R.color.greenTextColor.covertColor(context))
+ }
holder.wellStateView.text = rowsBean.onlineStateName
val value = rowsBean.data.toString()
if (value == "") {
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
index d1f9f4b..f68cef4 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
@@ -11,21 +11,14 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
-import com.casic.app.smartwell.model.UserDetailModel
import com.casic.app.smartwell.model.WorkOrderListModel
-import com.casic.app.smartwell.utils.Constant
-import com.casic.app.smartwell.utils.SaveKeyValues
-import com.google.gson.Gson
-import com.google.gson.reflect.TypeToken
class UndeterminedOrderAdapter(
private val context: Context,
private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private lateinit var userDataModel: UserDetailModel.DataBean
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
- private val gson = Gson()
override fun onCreateViewHolder(
parent: ViewGroup,
@@ -56,14 +49,7 @@
}
holder.wellLocationView.text = rowsBean.position
- val userDetailJson = SaveKeyValues.getValue(Constant.USER_DETAIL_MODEL, "") as String
- if (userDetailJson != "") {
- userDataModel = gson.fromJson(
- userDetailJson,
- object : TypeToken() {}.type
- )
- holder.currentStateView.text = "${userDataModel.name}正在现场确认中..."
- }
+ holder.currentStateView.text = "${rowsBean.jobBelongTo}正在现场确认中..."
//绑定事件
if (listener != null) {
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 682801a..09af7b1 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
@@ -1,61 +1,12 @@
package com.casic.app.smartwell.model
class WorkOrderDetailModel {
- /**
- * code : 200
- * data : [{"firstState":"","alarmContent":22,"deptName":"燃气集团总公司","jobStatus":"0","handleJobPerson":"","alarmContentName":"噪声超限","shouldGetTime":"","firstStatePhotos":"","wellCode":"test001","deptid":"24","alarmTypeName":"数据异常","jobCode":"ZSCX202009070001","jobBelongTo":"","jobFlag":"","confirmJobPerson":"","confirmJobTime":"","jobStatusName":"待处理","alarmValue":"4000.86","alarmId":"11243","alarmLevel":0,"handleJobTime":"","tel":"","id":"1232178","wellId":"4453","jobType":"1","flow":[],"editable":1,"alarmTime":"2019-10-17 14:22:00","handleMessage":"","alarmMessage":"噪声超限","staff":"吴甘牛","handlePhotos":"","getJobTime":"","getJobPerson":"","shouldHandleTime":"","jobId":"1232178","alarmType":"1","alarmStatus":"1","devcode":"212020000a","createTime":"2020-09-07 09:30:18","position":"test001位置"}]
- * message : 请求成功
- * success : true
- */
var code = 0
- var message: String? = null
- var success = false
var data: List? = null
+ var message: String? = null
+ var isSuccess = false
class DataBean {
- /**
- * firstState :
- * alarmContent : 22
- * deptName : 燃气集团总公司
- * jobStatus : 0
- * handleJobPerson :
- * alarmContentName : 噪声超限
- * shouldGetTime :
- * firstStatePhotos :
- * wellCode : test001
- * deptid : 24
- * alarmTypeName : 数据异常
- * jobCode : ZSCX202009070001
- * jobBelongTo :
- * jobFlag :
- * confirmJobPerson :
- * confirmJobTime :
- * jobStatusName : 待处理
- * alarmValue : 4000.86
- * alarmId : 11243
- * alarmLevel : 0
- * handleJobTime :
- * tel :
- * id : 1232178
- * wellId : 4453
- * jobType : 1
- * flow : []
- * editable : 1
- * alarmTime : 2019-10-17 14:22:00
- * handleMessage :
- * alarmMessage : 噪声超限
- * staff : 吴甘牛
- * handlePhotos :
- * getJobTime :
- * getJobPerson :
- * shouldHandleTime :
- * jobId : 1232178
- * alarmType : 1
- * alarmStatus : 1
- * devcode : 212020000a
- * createTime : 2020-09-07 09:30:18
- * position : test001位置
- */
var firstState: String? = null
var alarmContent = 0
var deptName: String? = null
@@ -81,6 +32,7 @@
var id: String? = null
var wellId: String? = null
var jobType: String? = null
+ var flow: MutableList? = null
var editable = 0
var alarmTime: String? = null
var handleMessage: String? = null
@@ -96,6 +48,11 @@
var devcode: String? = null
var createTime: String? = null
var position: String? = null
- var flow: List<*>? = null
+
+ class FlowBean {
+ var from: String? = null
+ var to: String? = null
+ var time: String? = null
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
index 7cfc0cb..a1b889f 100644
--- a/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
+++ b/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
@@ -16,6 +16,7 @@
import com.casic.app.smartwell.view.fragment.UndeterminedOrderFragment
import com.casic.app.smartwell.vm.*
import com.casic.app.smartwell.widgets.SingleChoiceDialog
+import com.casic.app.smartwell.widgets.TimeLineBottomSheet
import com.luck.picture.lib.PictureSelector
import com.luck.picture.lib.config.PictureConfig
import com.luck.picture.lib.config.PictureMimeType
@@ -24,6 +25,7 @@
import com.pengxh.app.multilib.widget.dialog.BottomActionSheet
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
import kotlinx.android.synthetic.main.activity_order_determine_detail.*
+import kotlinx.android.synthetic.main.activity_well_management.*
import kotlinx.android.synthetic.main.include_base_title.*
import java.io.File
@@ -98,6 +100,19 @@
tipsImageView.visibility = View.GONE
}
+ //工单流转细节
+ val orderFlow = orderDetail.flow!!
+ if (orderFlow.size != 0) {
+ transferTipsView.visibility = View.VISIBLE
+ transferTipsView.setOnClickListener {
+ TimeLineBottomSheet.Builder()
+ .setContext(this)
+ .setFlowItems(orderFlow)
+ .build().show()
+ }
+ } else {
+ transferTipsView.visibility = View.GONE
+ }
acceptDateView.text = orderDetail.getJobTime
dispatchDateView.text = orderDetail.createTime
completedDateView.text = orderDetail.handleJobTime
@@ -123,19 +138,19 @@
AlertControlDialog.Builder()
.setContext(context)
.setTitle("操作提示")
- .setMessage("确定要接单吗")
+ .setMessage("确定要转单吗")
.setNegativeButton("取消")
.setPositiveButton("确定")
.setOnDialogButtonClickListener(object :
AlertControlDialog.OnDialogButtonClickListener {
override fun onConfirmClick() {
- if (orderDetail.jobId.toString() == "") {
- "工单ID异常,无法接单".show(context)
+ val orderId = orderDetail.jobId.toString()
+ if (orderId == "") {
+ "工单ID异常,无法转单".show(context)
return
}
transferOrderViewModel.transferWorkOrder(
- id = orderDetail.jobId!!,
- userId = personBean.id!!
+ id = orderId, userId = personBean.id!!
)
}
diff --git a/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
index 72d715b..b5fdc10 100644
--- a/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
+++ b/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
@@ -192,13 +192,13 @@
.setOnDialogButtonClickListener(object :
AlertControlDialog.OnDialogButtonClickListener {
override fun onConfirmClick() {
- if (orderDetail.jobId.toString() == "") {
+ val orderId = orderDetail.jobId.toString()
+ if (orderId == "") {
"工单ID异常,无法转单".show(context)
return
}
transferOrderViewModel.transferWorkOrder(
- id = orderDetail.jobId!!,
- userId = personBean.id!!
+ id = orderId, userId = personBean.id!!
)
}
diff --git a/app/src/main/assets/svg/delete.svg b/app/src/main/assets/svg/delete.svg
new file mode 100644
index 0000000..593ceb4
--- /dev/null
+++ b/app/src/main/assets/svg/delete.svg
@@ -0,0 +1,19 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
index a60a2ca..e831e68 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
@@ -8,10 +8,11 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
+import com.casic.app.smartwell.extensions.covertColor
import com.casic.app.smartwell.model.WellMonitorModel
class SensorListAdapter(
- context: Context, private val dataRows: MutableList
+ private val context: Context, private val dataRows: MutableList
) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
@@ -27,6 +28,11 @@
//绑定数据
val rowsBean = dataRows[position]
holder.wellCodeView.text = rowsBean.devcode
+ if (rowsBean.onlineState == "0") {
+ holder.wellStateView.setTextColor(R.color.redTextColor.covertColor(context))
+ } else {
+ holder.wellStateView.setTextColor(R.color.greenTextColor.covertColor(context))
+ }
holder.wellStateView.text = rowsBean.onlineStateName
val value = rowsBean.data.toString()
if (value == "") {
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
index d1f9f4b..f68cef4 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
@@ -11,21 +11,14 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
-import com.casic.app.smartwell.model.UserDetailModel
import com.casic.app.smartwell.model.WorkOrderListModel
-import com.casic.app.smartwell.utils.Constant
-import com.casic.app.smartwell.utils.SaveKeyValues
-import com.google.gson.Gson
-import com.google.gson.reflect.TypeToken
class UndeterminedOrderAdapter(
private val context: Context,
private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private lateinit var userDataModel: UserDetailModel.DataBean
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
- private val gson = Gson()
override fun onCreateViewHolder(
parent: ViewGroup,
@@ -56,14 +49,7 @@
}
holder.wellLocationView.text = rowsBean.position
- val userDetailJson = SaveKeyValues.getValue(Constant.USER_DETAIL_MODEL, "") as String
- if (userDetailJson != "") {
- userDataModel = gson.fromJson(
- userDetailJson,
- object : TypeToken() {}.type
- )
- holder.currentStateView.text = "${userDataModel.name}正在现场确认中..."
- }
+ holder.currentStateView.text = "${rowsBean.jobBelongTo}正在现场确认中..."
//绑定事件
if (listener != null) {
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 682801a..09af7b1 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
@@ -1,61 +1,12 @@
package com.casic.app.smartwell.model
class WorkOrderDetailModel {
- /**
- * code : 200
- * data : [{"firstState":"","alarmContent":22,"deptName":"燃气集团总公司","jobStatus":"0","handleJobPerson":"","alarmContentName":"噪声超限","shouldGetTime":"","firstStatePhotos":"","wellCode":"test001","deptid":"24","alarmTypeName":"数据异常","jobCode":"ZSCX202009070001","jobBelongTo":"","jobFlag":"","confirmJobPerson":"","confirmJobTime":"","jobStatusName":"待处理","alarmValue":"4000.86","alarmId":"11243","alarmLevel":0,"handleJobTime":"","tel":"","id":"1232178","wellId":"4453","jobType":"1","flow":[],"editable":1,"alarmTime":"2019-10-17 14:22:00","handleMessage":"","alarmMessage":"噪声超限","staff":"吴甘牛","handlePhotos":"","getJobTime":"","getJobPerson":"","shouldHandleTime":"","jobId":"1232178","alarmType":"1","alarmStatus":"1","devcode":"212020000a","createTime":"2020-09-07 09:30:18","position":"test001位置"}]
- * message : 请求成功
- * success : true
- */
var code = 0
- var message: String? = null
- var success = false
var data: List? = null
+ var message: String? = null
+ var isSuccess = false
class DataBean {
- /**
- * firstState :
- * alarmContent : 22
- * deptName : 燃气集团总公司
- * jobStatus : 0
- * handleJobPerson :
- * alarmContentName : 噪声超限
- * shouldGetTime :
- * firstStatePhotos :
- * wellCode : test001
- * deptid : 24
- * alarmTypeName : 数据异常
- * jobCode : ZSCX202009070001
- * jobBelongTo :
- * jobFlag :
- * confirmJobPerson :
- * confirmJobTime :
- * jobStatusName : 待处理
- * alarmValue : 4000.86
- * alarmId : 11243
- * alarmLevel : 0
- * handleJobTime :
- * tel :
- * id : 1232178
- * wellId : 4453
- * jobType : 1
- * flow : []
- * editable : 1
- * alarmTime : 2019-10-17 14:22:00
- * handleMessage :
- * alarmMessage : 噪声超限
- * staff : 吴甘牛
- * handlePhotos :
- * getJobTime :
- * getJobPerson :
- * shouldHandleTime :
- * jobId : 1232178
- * alarmType : 1
- * alarmStatus : 1
- * devcode : 212020000a
- * createTime : 2020-09-07 09:30:18
- * position : test001位置
- */
var firstState: String? = null
var alarmContent = 0
var deptName: String? = null
@@ -81,6 +32,7 @@
var id: String? = null
var wellId: String? = null
var jobType: String? = null
+ var flow: MutableList? = null
var editable = 0
var alarmTime: String? = null
var handleMessage: String? = null
@@ -96,6 +48,11 @@
var devcode: String? = null
var createTime: String? = null
var position: String? = null
- var flow: List<*>? = null
+
+ class FlowBean {
+ var from: String? = null
+ var to: String? = null
+ var time: String? = null
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
index 7cfc0cb..a1b889f 100644
--- a/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
+++ b/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
@@ -16,6 +16,7 @@
import com.casic.app.smartwell.view.fragment.UndeterminedOrderFragment
import com.casic.app.smartwell.vm.*
import com.casic.app.smartwell.widgets.SingleChoiceDialog
+import com.casic.app.smartwell.widgets.TimeLineBottomSheet
import com.luck.picture.lib.PictureSelector
import com.luck.picture.lib.config.PictureConfig
import com.luck.picture.lib.config.PictureMimeType
@@ -24,6 +25,7 @@
import com.pengxh.app.multilib.widget.dialog.BottomActionSheet
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
import kotlinx.android.synthetic.main.activity_order_determine_detail.*
+import kotlinx.android.synthetic.main.activity_well_management.*
import kotlinx.android.synthetic.main.include_base_title.*
import java.io.File
@@ -98,6 +100,19 @@
tipsImageView.visibility = View.GONE
}
+ //工单流转细节
+ val orderFlow = orderDetail.flow!!
+ if (orderFlow.size != 0) {
+ transferTipsView.visibility = View.VISIBLE
+ transferTipsView.setOnClickListener {
+ TimeLineBottomSheet.Builder()
+ .setContext(this)
+ .setFlowItems(orderFlow)
+ .build().show()
+ }
+ } else {
+ transferTipsView.visibility = View.GONE
+ }
acceptDateView.text = orderDetail.getJobTime
dispatchDateView.text = orderDetail.createTime
completedDateView.text = orderDetail.handleJobTime
@@ -123,19 +138,19 @@
AlertControlDialog.Builder()
.setContext(context)
.setTitle("操作提示")
- .setMessage("确定要接单吗")
+ .setMessage("确定要转单吗")
.setNegativeButton("取消")
.setPositiveButton("确定")
.setOnDialogButtonClickListener(object :
AlertControlDialog.OnDialogButtonClickListener {
override fun onConfirmClick() {
- if (orderDetail.jobId.toString() == "") {
- "工单ID异常,无法接单".show(context)
+ val orderId = orderDetail.jobId.toString()
+ if (orderId == "") {
+ "工单ID异常,无法转单".show(context)
return
}
transferOrderViewModel.transferWorkOrder(
- id = orderDetail.jobId!!,
- userId = personBean.id!!
+ id = orderId, userId = personBean.id!!
)
}
diff --git a/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
index 72d715b..b5fdc10 100644
--- a/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
+++ b/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
@@ -192,13 +192,13 @@
.setOnDialogButtonClickListener(object :
AlertControlDialog.OnDialogButtonClickListener {
override fun onConfirmClick() {
- if (orderDetail.jobId.toString() == "") {
+ val orderId = orderDetail.jobId.toString()
+ if (orderId == "") {
"工单ID异常,无法转单".show(context)
return
}
transferOrderViewModel.transferWorkOrder(
- id = orderDetail.jobId!!,
- userId = personBean.id!!
+ id = orderId, userId = personBean.id!!
)
}
diff --git a/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt b/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt
new file mode 100644
index 0000000..138f9cf
--- /dev/null
+++ b/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt
@@ -0,0 +1,110 @@
+package com.casic.app.smartwell.widgets
+
+import android.app.Dialog
+import android.content.Context
+import android.graphics.Color
+import android.graphics.drawable.ColorDrawable
+import android.os.Bundle
+import android.view.*
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.app.smartwell.R
+import com.casic.app.smartwell.model.WorkOrderDetailModel
+import com.pengxh.app.multilib.utils.SizeUtil
+
+class TimeLineBottomSheet private constructor(builder: Builder) : Dialog(
+ builder.context!!, R.style.BottomSheetStyle
+) {
+ private val ctx: Context = builder.context!!
+ private val items: MutableList = builder.items!!
+
+ class Builder {
+ var context: Context? = null
+ var items: MutableList? = null
+
+ fun setContext(context: Context?): Builder {
+ this.context = context
+ return this
+ }
+
+ fun setFlowItems(flowItems: MutableList?): Builder {
+ this.items = flowItems
+ return this
+ }
+
+ fun build(): TimeLineBottomSheet {
+ return TimeLineBottomSheet(this)
+ }
+ }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ configDialogLayout()
+ setContentView(R.layout.dialog_bottom_sheet)
+ setCancelable(true)
+ setCanceledOnTouchOutside(true)
+ //绑定流程进展数据
+ val orderFlowRecyclerView = findViewById(R.id.orderFlowRecyclerView)
+ orderFlowRecyclerView.layoutManager = LinearLayoutManager(ctx)
+ orderFlowRecyclerView.adapter = OrderFlowAdapter()
+
+ val dismissView = findViewById(R.id.dismissView)
+ dismissView.setOnClickListener {
+ this.dismiss()
+ }
+ }
+
+ private fun configDialogLayout() {
+ val window = window ?: return
+ window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
+ window.decorView.setBackgroundColor(Color.TRANSPARENT)
+ window.setGravity(Gravity.BOTTOM)
+ //设置Dialog出现的动画
+ window.setWindowAnimations(R.style.BottomSheetAnimation)
+ val params = window.attributes
+ params.width = SizeUtil.getScreenWidth(ctx)
+ params.height = WindowManager.LayoutParams.WRAP_CONTENT
+ window.attributes = params
+ }
+
+ internal inner class OrderFlowAdapter :
+ RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(ctx)
+
+ override fun onCreateViewHolder(
+ parent: ViewGroup,
+ viewType: Int
+ ): OrderFlowAdapter.ItemViewHolder {
+ val view: View =
+ layoutInflater.inflate(R.layout.item_order_flow_recycleview, parent, false)
+ return ItemViewHolder(view)
+ }
+
+ override fun getItemCount(): Int = items.size
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = items[position]
+ holder.fromPersonView.text = rowsBean.from
+ holder.toPersonView.text = rowsBean.to
+ holder.transferDateView.text = rowsBean.time
+ when (position) {
+ 0 -> {
+
+ }
+ items.size - 1 -> {
+
+ }
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var fromPersonView: TextView = view.findViewById(R.id.fromPersonView)
+ var toPersonView: TextView = view.findViewById(R.id.toPersonView)
+ var transferDateView: TextView = view.findViewById(R.id.transferDateView)
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/assets/svg/delete.svg b/app/src/main/assets/svg/delete.svg
new file mode 100644
index 0000000..593ceb4
--- /dev/null
+++ b/app/src/main/assets/svg/delete.svg
@@ -0,0 +1,19 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
index a60a2ca..e831e68 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
@@ -8,10 +8,11 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
+import com.casic.app.smartwell.extensions.covertColor
import com.casic.app.smartwell.model.WellMonitorModel
class SensorListAdapter(
- context: Context, private val dataRows: MutableList
+ private val context: Context, private val dataRows: MutableList
) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
@@ -27,6 +28,11 @@
//绑定数据
val rowsBean = dataRows[position]
holder.wellCodeView.text = rowsBean.devcode
+ if (rowsBean.onlineState == "0") {
+ holder.wellStateView.setTextColor(R.color.redTextColor.covertColor(context))
+ } else {
+ holder.wellStateView.setTextColor(R.color.greenTextColor.covertColor(context))
+ }
holder.wellStateView.text = rowsBean.onlineStateName
val value = rowsBean.data.toString()
if (value == "") {
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
index d1f9f4b..f68cef4 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
@@ -11,21 +11,14 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
-import com.casic.app.smartwell.model.UserDetailModel
import com.casic.app.smartwell.model.WorkOrderListModel
-import com.casic.app.smartwell.utils.Constant
-import com.casic.app.smartwell.utils.SaveKeyValues
-import com.google.gson.Gson
-import com.google.gson.reflect.TypeToken
class UndeterminedOrderAdapter(
private val context: Context,
private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private lateinit var userDataModel: UserDetailModel.DataBean
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
- private val gson = Gson()
override fun onCreateViewHolder(
parent: ViewGroup,
@@ -56,14 +49,7 @@
}
holder.wellLocationView.text = rowsBean.position
- val userDetailJson = SaveKeyValues.getValue(Constant.USER_DETAIL_MODEL, "") as String
- if (userDetailJson != "") {
- userDataModel = gson.fromJson(
- userDetailJson,
- object : TypeToken() {}.type
- )
- holder.currentStateView.text = "${userDataModel.name}正在现场确认中..."
- }
+ holder.currentStateView.text = "${rowsBean.jobBelongTo}正在现场确认中..."
//绑定事件
if (listener != null) {
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 682801a..09af7b1 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
@@ -1,61 +1,12 @@
package com.casic.app.smartwell.model
class WorkOrderDetailModel {
- /**
- * code : 200
- * data : [{"firstState":"","alarmContent":22,"deptName":"燃气集团总公司","jobStatus":"0","handleJobPerson":"","alarmContentName":"噪声超限","shouldGetTime":"","firstStatePhotos":"","wellCode":"test001","deptid":"24","alarmTypeName":"数据异常","jobCode":"ZSCX202009070001","jobBelongTo":"","jobFlag":"","confirmJobPerson":"","confirmJobTime":"","jobStatusName":"待处理","alarmValue":"4000.86","alarmId":"11243","alarmLevel":0,"handleJobTime":"","tel":"","id":"1232178","wellId":"4453","jobType":"1","flow":[],"editable":1,"alarmTime":"2019-10-17 14:22:00","handleMessage":"","alarmMessage":"噪声超限","staff":"吴甘牛","handlePhotos":"","getJobTime":"","getJobPerson":"","shouldHandleTime":"","jobId":"1232178","alarmType":"1","alarmStatus":"1","devcode":"212020000a","createTime":"2020-09-07 09:30:18","position":"test001位置"}]
- * message : 请求成功
- * success : true
- */
var code = 0
- var message: String? = null
- var success = false
var data: List? = null
+ var message: String? = null
+ var isSuccess = false
class DataBean {
- /**
- * firstState :
- * alarmContent : 22
- * deptName : 燃气集团总公司
- * jobStatus : 0
- * handleJobPerson :
- * alarmContentName : 噪声超限
- * shouldGetTime :
- * firstStatePhotos :
- * wellCode : test001
- * deptid : 24
- * alarmTypeName : 数据异常
- * jobCode : ZSCX202009070001
- * jobBelongTo :
- * jobFlag :
- * confirmJobPerson :
- * confirmJobTime :
- * jobStatusName : 待处理
- * alarmValue : 4000.86
- * alarmId : 11243
- * alarmLevel : 0
- * handleJobTime :
- * tel :
- * id : 1232178
- * wellId : 4453
- * jobType : 1
- * flow : []
- * editable : 1
- * alarmTime : 2019-10-17 14:22:00
- * handleMessage :
- * alarmMessage : 噪声超限
- * staff : 吴甘牛
- * handlePhotos :
- * getJobTime :
- * getJobPerson :
- * shouldHandleTime :
- * jobId : 1232178
- * alarmType : 1
- * alarmStatus : 1
- * devcode : 212020000a
- * createTime : 2020-09-07 09:30:18
- * position : test001位置
- */
var firstState: String? = null
var alarmContent = 0
var deptName: String? = null
@@ -81,6 +32,7 @@
var id: String? = null
var wellId: String? = null
var jobType: String? = null
+ var flow: MutableList? = null
var editable = 0
var alarmTime: String? = null
var handleMessage: String? = null
@@ -96,6 +48,11 @@
var devcode: String? = null
var createTime: String? = null
var position: String? = null
- var flow: List<*>? = null
+
+ class FlowBean {
+ var from: String? = null
+ var to: String? = null
+ var time: String? = null
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
index 7cfc0cb..a1b889f 100644
--- a/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
+++ b/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
@@ -16,6 +16,7 @@
import com.casic.app.smartwell.view.fragment.UndeterminedOrderFragment
import com.casic.app.smartwell.vm.*
import com.casic.app.smartwell.widgets.SingleChoiceDialog
+import com.casic.app.smartwell.widgets.TimeLineBottomSheet
import com.luck.picture.lib.PictureSelector
import com.luck.picture.lib.config.PictureConfig
import com.luck.picture.lib.config.PictureMimeType
@@ -24,6 +25,7 @@
import com.pengxh.app.multilib.widget.dialog.BottomActionSheet
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
import kotlinx.android.synthetic.main.activity_order_determine_detail.*
+import kotlinx.android.synthetic.main.activity_well_management.*
import kotlinx.android.synthetic.main.include_base_title.*
import java.io.File
@@ -98,6 +100,19 @@
tipsImageView.visibility = View.GONE
}
+ //工单流转细节
+ val orderFlow = orderDetail.flow!!
+ if (orderFlow.size != 0) {
+ transferTipsView.visibility = View.VISIBLE
+ transferTipsView.setOnClickListener {
+ TimeLineBottomSheet.Builder()
+ .setContext(this)
+ .setFlowItems(orderFlow)
+ .build().show()
+ }
+ } else {
+ transferTipsView.visibility = View.GONE
+ }
acceptDateView.text = orderDetail.getJobTime
dispatchDateView.text = orderDetail.createTime
completedDateView.text = orderDetail.handleJobTime
@@ -123,19 +138,19 @@
AlertControlDialog.Builder()
.setContext(context)
.setTitle("操作提示")
- .setMessage("确定要接单吗")
+ .setMessage("确定要转单吗")
.setNegativeButton("取消")
.setPositiveButton("确定")
.setOnDialogButtonClickListener(object :
AlertControlDialog.OnDialogButtonClickListener {
override fun onConfirmClick() {
- if (orderDetail.jobId.toString() == "") {
- "工单ID异常,无法接单".show(context)
+ val orderId = orderDetail.jobId.toString()
+ if (orderId == "") {
+ "工单ID异常,无法转单".show(context)
return
}
transferOrderViewModel.transferWorkOrder(
- id = orderDetail.jobId!!,
- userId = personBean.id!!
+ id = orderId, userId = personBean.id!!
)
}
diff --git a/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
index 72d715b..b5fdc10 100644
--- a/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
+++ b/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
@@ -192,13 +192,13 @@
.setOnDialogButtonClickListener(object :
AlertControlDialog.OnDialogButtonClickListener {
override fun onConfirmClick() {
- if (orderDetail.jobId.toString() == "") {
+ val orderId = orderDetail.jobId.toString()
+ if (orderId == "") {
"工单ID异常,无法转单".show(context)
return
}
transferOrderViewModel.transferWorkOrder(
- id = orderDetail.jobId!!,
- userId = personBean.id!!
+ id = orderId, userId = personBean.id!!
)
}
diff --git a/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt b/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt
new file mode 100644
index 0000000..138f9cf
--- /dev/null
+++ b/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt
@@ -0,0 +1,110 @@
+package com.casic.app.smartwell.widgets
+
+import android.app.Dialog
+import android.content.Context
+import android.graphics.Color
+import android.graphics.drawable.ColorDrawable
+import android.os.Bundle
+import android.view.*
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.app.smartwell.R
+import com.casic.app.smartwell.model.WorkOrderDetailModel
+import com.pengxh.app.multilib.utils.SizeUtil
+
+class TimeLineBottomSheet private constructor(builder: Builder) : Dialog(
+ builder.context!!, R.style.BottomSheetStyle
+) {
+ private val ctx: Context = builder.context!!
+ private val items: MutableList = builder.items!!
+
+ class Builder {
+ var context: Context? = null
+ var items: MutableList? = null
+
+ fun setContext(context: Context?): Builder {
+ this.context = context
+ return this
+ }
+
+ fun setFlowItems(flowItems: MutableList?): Builder {
+ this.items = flowItems
+ return this
+ }
+
+ fun build(): TimeLineBottomSheet {
+ return TimeLineBottomSheet(this)
+ }
+ }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ configDialogLayout()
+ setContentView(R.layout.dialog_bottom_sheet)
+ setCancelable(true)
+ setCanceledOnTouchOutside(true)
+ //绑定流程进展数据
+ val orderFlowRecyclerView = findViewById(R.id.orderFlowRecyclerView)
+ orderFlowRecyclerView.layoutManager = LinearLayoutManager(ctx)
+ orderFlowRecyclerView.adapter = OrderFlowAdapter()
+
+ val dismissView = findViewById(R.id.dismissView)
+ dismissView.setOnClickListener {
+ this.dismiss()
+ }
+ }
+
+ private fun configDialogLayout() {
+ val window = window ?: return
+ window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
+ window.decorView.setBackgroundColor(Color.TRANSPARENT)
+ window.setGravity(Gravity.BOTTOM)
+ //设置Dialog出现的动画
+ window.setWindowAnimations(R.style.BottomSheetAnimation)
+ val params = window.attributes
+ params.width = SizeUtil.getScreenWidth(ctx)
+ params.height = WindowManager.LayoutParams.WRAP_CONTENT
+ window.attributes = params
+ }
+
+ internal inner class OrderFlowAdapter :
+ RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(ctx)
+
+ override fun onCreateViewHolder(
+ parent: ViewGroup,
+ viewType: Int
+ ): OrderFlowAdapter.ItemViewHolder {
+ val view: View =
+ layoutInflater.inflate(R.layout.item_order_flow_recycleview, parent, false)
+ return ItemViewHolder(view)
+ }
+
+ override fun getItemCount(): Int = items.size
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = items[position]
+ holder.fromPersonView.text = rowsBean.from
+ holder.toPersonView.text = rowsBean.to
+ holder.transferDateView.text = rowsBean.time
+ when (position) {
+ 0 -> {
+
+ }
+ items.size - 1 -> {
+
+ }
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var fromPersonView: TextView = view.findViewById(R.id.fromPersonView)
+ var toPersonView: TextView = view.findViewById(R.id.toPersonView)
+ var transferDateView: TextView = view.findViewById(R.id.transferDateView)
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/anim/bottom_sheet_in.xml b/app/src/main/res/anim/bottom_sheet_in.xml
new file mode 100644
index 0000000..276184e
--- /dev/null
+++ b/app/src/main/res/anim/bottom_sheet_in.xml
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/assets/svg/delete.svg b/app/src/main/assets/svg/delete.svg
new file mode 100644
index 0000000..593ceb4
--- /dev/null
+++ b/app/src/main/assets/svg/delete.svg
@@ -0,0 +1,19 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
index a60a2ca..e831e68 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
@@ -8,10 +8,11 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
+import com.casic.app.smartwell.extensions.covertColor
import com.casic.app.smartwell.model.WellMonitorModel
class SensorListAdapter(
- context: Context, private val dataRows: MutableList
+ private val context: Context, private val dataRows: MutableList
) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
@@ -27,6 +28,11 @@
//绑定数据
val rowsBean = dataRows[position]
holder.wellCodeView.text = rowsBean.devcode
+ if (rowsBean.onlineState == "0") {
+ holder.wellStateView.setTextColor(R.color.redTextColor.covertColor(context))
+ } else {
+ holder.wellStateView.setTextColor(R.color.greenTextColor.covertColor(context))
+ }
holder.wellStateView.text = rowsBean.onlineStateName
val value = rowsBean.data.toString()
if (value == "") {
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
index d1f9f4b..f68cef4 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
@@ -11,21 +11,14 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
-import com.casic.app.smartwell.model.UserDetailModel
import com.casic.app.smartwell.model.WorkOrderListModel
-import com.casic.app.smartwell.utils.Constant
-import com.casic.app.smartwell.utils.SaveKeyValues
-import com.google.gson.Gson
-import com.google.gson.reflect.TypeToken
class UndeterminedOrderAdapter(
private val context: Context,
private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private lateinit var userDataModel: UserDetailModel.DataBean
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
- private val gson = Gson()
override fun onCreateViewHolder(
parent: ViewGroup,
@@ -56,14 +49,7 @@
}
holder.wellLocationView.text = rowsBean.position
- val userDetailJson = SaveKeyValues.getValue(Constant.USER_DETAIL_MODEL, "") as String
- if (userDetailJson != "") {
- userDataModel = gson.fromJson(
- userDetailJson,
- object : TypeToken() {}.type
- )
- holder.currentStateView.text = "${userDataModel.name}正在现场确认中..."
- }
+ holder.currentStateView.text = "${rowsBean.jobBelongTo}正在现场确认中..."
//绑定事件
if (listener != null) {
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 682801a..09af7b1 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
@@ -1,61 +1,12 @@
package com.casic.app.smartwell.model
class WorkOrderDetailModel {
- /**
- * code : 200
- * data : [{"firstState":"","alarmContent":22,"deptName":"燃气集团总公司","jobStatus":"0","handleJobPerson":"","alarmContentName":"噪声超限","shouldGetTime":"","firstStatePhotos":"","wellCode":"test001","deptid":"24","alarmTypeName":"数据异常","jobCode":"ZSCX202009070001","jobBelongTo":"","jobFlag":"","confirmJobPerson":"","confirmJobTime":"","jobStatusName":"待处理","alarmValue":"4000.86","alarmId":"11243","alarmLevel":0,"handleJobTime":"","tel":"","id":"1232178","wellId":"4453","jobType":"1","flow":[],"editable":1,"alarmTime":"2019-10-17 14:22:00","handleMessage":"","alarmMessage":"噪声超限","staff":"吴甘牛","handlePhotos":"","getJobTime":"","getJobPerson":"","shouldHandleTime":"","jobId":"1232178","alarmType":"1","alarmStatus":"1","devcode":"212020000a","createTime":"2020-09-07 09:30:18","position":"test001位置"}]
- * message : 请求成功
- * success : true
- */
var code = 0
- var message: String? = null
- var success = false
var data: List? = null
+ var message: String? = null
+ var isSuccess = false
class DataBean {
- /**
- * firstState :
- * alarmContent : 22
- * deptName : 燃气集团总公司
- * jobStatus : 0
- * handleJobPerson :
- * alarmContentName : 噪声超限
- * shouldGetTime :
- * firstStatePhotos :
- * wellCode : test001
- * deptid : 24
- * alarmTypeName : 数据异常
- * jobCode : ZSCX202009070001
- * jobBelongTo :
- * jobFlag :
- * confirmJobPerson :
- * confirmJobTime :
- * jobStatusName : 待处理
- * alarmValue : 4000.86
- * alarmId : 11243
- * alarmLevel : 0
- * handleJobTime :
- * tel :
- * id : 1232178
- * wellId : 4453
- * jobType : 1
- * flow : []
- * editable : 1
- * alarmTime : 2019-10-17 14:22:00
- * handleMessage :
- * alarmMessage : 噪声超限
- * staff : 吴甘牛
- * handlePhotos :
- * getJobTime :
- * getJobPerson :
- * shouldHandleTime :
- * jobId : 1232178
- * alarmType : 1
- * alarmStatus : 1
- * devcode : 212020000a
- * createTime : 2020-09-07 09:30:18
- * position : test001位置
- */
var firstState: String? = null
var alarmContent = 0
var deptName: String? = null
@@ -81,6 +32,7 @@
var id: String? = null
var wellId: String? = null
var jobType: String? = null
+ var flow: MutableList? = null
var editable = 0
var alarmTime: String? = null
var handleMessage: String? = null
@@ -96,6 +48,11 @@
var devcode: String? = null
var createTime: String? = null
var position: String? = null
- var flow: List<*>? = null
+
+ class FlowBean {
+ var from: String? = null
+ var to: String? = null
+ var time: String? = null
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
index 7cfc0cb..a1b889f 100644
--- a/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
+++ b/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
@@ -16,6 +16,7 @@
import com.casic.app.smartwell.view.fragment.UndeterminedOrderFragment
import com.casic.app.smartwell.vm.*
import com.casic.app.smartwell.widgets.SingleChoiceDialog
+import com.casic.app.smartwell.widgets.TimeLineBottomSheet
import com.luck.picture.lib.PictureSelector
import com.luck.picture.lib.config.PictureConfig
import com.luck.picture.lib.config.PictureMimeType
@@ -24,6 +25,7 @@
import com.pengxh.app.multilib.widget.dialog.BottomActionSheet
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
import kotlinx.android.synthetic.main.activity_order_determine_detail.*
+import kotlinx.android.synthetic.main.activity_well_management.*
import kotlinx.android.synthetic.main.include_base_title.*
import java.io.File
@@ -98,6 +100,19 @@
tipsImageView.visibility = View.GONE
}
+ //工单流转细节
+ val orderFlow = orderDetail.flow!!
+ if (orderFlow.size != 0) {
+ transferTipsView.visibility = View.VISIBLE
+ transferTipsView.setOnClickListener {
+ TimeLineBottomSheet.Builder()
+ .setContext(this)
+ .setFlowItems(orderFlow)
+ .build().show()
+ }
+ } else {
+ transferTipsView.visibility = View.GONE
+ }
acceptDateView.text = orderDetail.getJobTime
dispatchDateView.text = orderDetail.createTime
completedDateView.text = orderDetail.handleJobTime
@@ -123,19 +138,19 @@
AlertControlDialog.Builder()
.setContext(context)
.setTitle("操作提示")
- .setMessage("确定要接单吗")
+ .setMessage("确定要转单吗")
.setNegativeButton("取消")
.setPositiveButton("确定")
.setOnDialogButtonClickListener(object :
AlertControlDialog.OnDialogButtonClickListener {
override fun onConfirmClick() {
- if (orderDetail.jobId.toString() == "") {
- "工单ID异常,无法接单".show(context)
+ val orderId = orderDetail.jobId.toString()
+ if (orderId == "") {
+ "工单ID异常,无法转单".show(context)
return
}
transferOrderViewModel.transferWorkOrder(
- id = orderDetail.jobId!!,
- userId = personBean.id!!
+ id = orderId, userId = personBean.id!!
)
}
diff --git a/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
index 72d715b..b5fdc10 100644
--- a/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
+++ b/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
@@ -192,13 +192,13 @@
.setOnDialogButtonClickListener(object :
AlertControlDialog.OnDialogButtonClickListener {
override fun onConfirmClick() {
- if (orderDetail.jobId.toString() == "") {
+ val orderId = orderDetail.jobId.toString()
+ if (orderId == "") {
"工单ID异常,无法转单".show(context)
return
}
transferOrderViewModel.transferWorkOrder(
- id = orderDetail.jobId!!,
- userId = personBean.id!!
+ id = orderId, userId = personBean.id!!
)
}
diff --git a/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt b/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt
new file mode 100644
index 0000000..138f9cf
--- /dev/null
+++ b/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt
@@ -0,0 +1,110 @@
+package com.casic.app.smartwell.widgets
+
+import android.app.Dialog
+import android.content.Context
+import android.graphics.Color
+import android.graphics.drawable.ColorDrawable
+import android.os.Bundle
+import android.view.*
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.app.smartwell.R
+import com.casic.app.smartwell.model.WorkOrderDetailModel
+import com.pengxh.app.multilib.utils.SizeUtil
+
+class TimeLineBottomSheet private constructor(builder: Builder) : Dialog(
+ builder.context!!, R.style.BottomSheetStyle
+) {
+ private val ctx: Context = builder.context!!
+ private val items: MutableList = builder.items!!
+
+ class Builder {
+ var context: Context? = null
+ var items: MutableList? = null
+
+ fun setContext(context: Context?): Builder {
+ this.context = context
+ return this
+ }
+
+ fun setFlowItems(flowItems: MutableList?): Builder {
+ this.items = flowItems
+ return this
+ }
+
+ fun build(): TimeLineBottomSheet {
+ return TimeLineBottomSheet(this)
+ }
+ }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ configDialogLayout()
+ setContentView(R.layout.dialog_bottom_sheet)
+ setCancelable(true)
+ setCanceledOnTouchOutside(true)
+ //绑定流程进展数据
+ val orderFlowRecyclerView = findViewById(R.id.orderFlowRecyclerView)
+ orderFlowRecyclerView.layoutManager = LinearLayoutManager(ctx)
+ orderFlowRecyclerView.adapter = OrderFlowAdapter()
+
+ val dismissView = findViewById(R.id.dismissView)
+ dismissView.setOnClickListener {
+ this.dismiss()
+ }
+ }
+
+ private fun configDialogLayout() {
+ val window = window ?: return
+ window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
+ window.decorView.setBackgroundColor(Color.TRANSPARENT)
+ window.setGravity(Gravity.BOTTOM)
+ //设置Dialog出现的动画
+ window.setWindowAnimations(R.style.BottomSheetAnimation)
+ val params = window.attributes
+ params.width = SizeUtil.getScreenWidth(ctx)
+ params.height = WindowManager.LayoutParams.WRAP_CONTENT
+ window.attributes = params
+ }
+
+ internal inner class OrderFlowAdapter :
+ RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(ctx)
+
+ override fun onCreateViewHolder(
+ parent: ViewGroup,
+ viewType: Int
+ ): OrderFlowAdapter.ItemViewHolder {
+ val view: View =
+ layoutInflater.inflate(R.layout.item_order_flow_recycleview, parent, false)
+ return ItemViewHolder(view)
+ }
+
+ override fun getItemCount(): Int = items.size
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = items[position]
+ holder.fromPersonView.text = rowsBean.from
+ holder.toPersonView.text = rowsBean.to
+ holder.transferDateView.text = rowsBean.time
+ when (position) {
+ 0 -> {
+
+ }
+ items.size - 1 -> {
+
+ }
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var fromPersonView: TextView = view.findViewById(R.id.fromPersonView)
+ var toPersonView: TextView = view.findViewById(R.id.toPersonView)
+ var transferDateView: TextView = view.findViewById(R.id.transferDateView)
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/anim/bottom_sheet_in.xml b/app/src/main/res/anim/bottom_sheet_in.xml
new file mode 100644
index 0000000..276184e
--- /dev/null
+++ b/app/src/main/res/anim/bottom_sheet_in.xml
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/anim/bottom_sheet_out.xml b/app/src/main/res/anim/bottom_sheet_out.xml
new file mode 100644
index 0000000..62be752
--- /dev/null
+++ b/app/src/main/res/anim/bottom_sheet_out.xml
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/assets/svg/delete.svg b/app/src/main/assets/svg/delete.svg
new file mode 100644
index 0000000..593ceb4
--- /dev/null
+++ b/app/src/main/assets/svg/delete.svg
@@ -0,0 +1,19 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
index a60a2ca..e831e68 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
@@ -8,10 +8,11 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
+import com.casic.app.smartwell.extensions.covertColor
import com.casic.app.smartwell.model.WellMonitorModel
class SensorListAdapter(
- context: Context, private val dataRows: MutableList
+ private val context: Context, private val dataRows: MutableList
) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
@@ -27,6 +28,11 @@
//绑定数据
val rowsBean = dataRows[position]
holder.wellCodeView.text = rowsBean.devcode
+ if (rowsBean.onlineState == "0") {
+ holder.wellStateView.setTextColor(R.color.redTextColor.covertColor(context))
+ } else {
+ holder.wellStateView.setTextColor(R.color.greenTextColor.covertColor(context))
+ }
holder.wellStateView.text = rowsBean.onlineStateName
val value = rowsBean.data.toString()
if (value == "") {
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
index d1f9f4b..f68cef4 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
@@ -11,21 +11,14 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
-import com.casic.app.smartwell.model.UserDetailModel
import com.casic.app.smartwell.model.WorkOrderListModel
-import com.casic.app.smartwell.utils.Constant
-import com.casic.app.smartwell.utils.SaveKeyValues
-import com.google.gson.Gson
-import com.google.gson.reflect.TypeToken
class UndeterminedOrderAdapter(
private val context: Context,
private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private lateinit var userDataModel: UserDetailModel.DataBean
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
- private val gson = Gson()
override fun onCreateViewHolder(
parent: ViewGroup,
@@ -56,14 +49,7 @@
}
holder.wellLocationView.text = rowsBean.position
- val userDetailJson = SaveKeyValues.getValue(Constant.USER_DETAIL_MODEL, "") as String
- if (userDetailJson != "") {
- userDataModel = gson.fromJson(
- userDetailJson,
- object : TypeToken() {}.type
- )
- holder.currentStateView.text = "${userDataModel.name}正在现场确认中..."
- }
+ holder.currentStateView.text = "${rowsBean.jobBelongTo}正在现场确认中..."
//绑定事件
if (listener != null) {
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 682801a..09af7b1 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
@@ -1,61 +1,12 @@
package com.casic.app.smartwell.model
class WorkOrderDetailModel {
- /**
- * code : 200
- * data : [{"firstState":"","alarmContent":22,"deptName":"燃气集团总公司","jobStatus":"0","handleJobPerson":"","alarmContentName":"噪声超限","shouldGetTime":"","firstStatePhotos":"","wellCode":"test001","deptid":"24","alarmTypeName":"数据异常","jobCode":"ZSCX202009070001","jobBelongTo":"","jobFlag":"","confirmJobPerson":"","confirmJobTime":"","jobStatusName":"待处理","alarmValue":"4000.86","alarmId":"11243","alarmLevel":0,"handleJobTime":"","tel":"","id":"1232178","wellId":"4453","jobType":"1","flow":[],"editable":1,"alarmTime":"2019-10-17 14:22:00","handleMessage":"","alarmMessage":"噪声超限","staff":"吴甘牛","handlePhotos":"","getJobTime":"","getJobPerson":"","shouldHandleTime":"","jobId":"1232178","alarmType":"1","alarmStatus":"1","devcode":"212020000a","createTime":"2020-09-07 09:30:18","position":"test001位置"}]
- * message : 请求成功
- * success : true
- */
var code = 0
- var message: String? = null
- var success = false
var data: List? = null
+ var message: String? = null
+ var isSuccess = false
class DataBean {
- /**
- * firstState :
- * alarmContent : 22
- * deptName : 燃气集团总公司
- * jobStatus : 0
- * handleJobPerson :
- * alarmContentName : 噪声超限
- * shouldGetTime :
- * firstStatePhotos :
- * wellCode : test001
- * deptid : 24
- * alarmTypeName : 数据异常
- * jobCode : ZSCX202009070001
- * jobBelongTo :
- * jobFlag :
- * confirmJobPerson :
- * confirmJobTime :
- * jobStatusName : 待处理
- * alarmValue : 4000.86
- * alarmId : 11243
- * alarmLevel : 0
- * handleJobTime :
- * tel :
- * id : 1232178
- * wellId : 4453
- * jobType : 1
- * flow : []
- * editable : 1
- * alarmTime : 2019-10-17 14:22:00
- * handleMessage :
- * alarmMessage : 噪声超限
- * staff : 吴甘牛
- * handlePhotos :
- * getJobTime :
- * getJobPerson :
- * shouldHandleTime :
- * jobId : 1232178
- * alarmType : 1
- * alarmStatus : 1
- * devcode : 212020000a
- * createTime : 2020-09-07 09:30:18
- * position : test001位置
- */
var firstState: String? = null
var alarmContent = 0
var deptName: String? = null
@@ -81,6 +32,7 @@
var id: String? = null
var wellId: String? = null
var jobType: String? = null
+ var flow: MutableList? = null
var editable = 0
var alarmTime: String? = null
var handleMessage: String? = null
@@ -96,6 +48,11 @@
var devcode: String? = null
var createTime: String? = null
var position: String? = null
- var flow: List<*>? = null
+
+ class FlowBean {
+ var from: String? = null
+ var to: String? = null
+ var time: String? = null
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
index 7cfc0cb..a1b889f 100644
--- a/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
+++ b/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
@@ -16,6 +16,7 @@
import com.casic.app.smartwell.view.fragment.UndeterminedOrderFragment
import com.casic.app.smartwell.vm.*
import com.casic.app.smartwell.widgets.SingleChoiceDialog
+import com.casic.app.smartwell.widgets.TimeLineBottomSheet
import com.luck.picture.lib.PictureSelector
import com.luck.picture.lib.config.PictureConfig
import com.luck.picture.lib.config.PictureMimeType
@@ -24,6 +25,7 @@
import com.pengxh.app.multilib.widget.dialog.BottomActionSheet
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
import kotlinx.android.synthetic.main.activity_order_determine_detail.*
+import kotlinx.android.synthetic.main.activity_well_management.*
import kotlinx.android.synthetic.main.include_base_title.*
import java.io.File
@@ -98,6 +100,19 @@
tipsImageView.visibility = View.GONE
}
+ //工单流转细节
+ val orderFlow = orderDetail.flow!!
+ if (orderFlow.size != 0) {
+ transferTipsView.visibility = View.VISIBLE
+ transferTipsView.setOnClickListener {
+ TimeLineBottomSheet.Builder()
+ .setContext(this)
+ .setFlowItems(orderFlow)
+ .build().show()
+ }
+ } else {
+ transferTipsView.visibility = View.GONE
+ }
acceptDateView.text = orderDetail.getJobTime
dispatchDateView.text = orderDetail.createTime
completedDateView.text = orderDetail.handleJobTime
@@ -123,19 +138,19 @@
AlertControlDialog.Builder()
.setContext(context)
.setTitle("操作提示")
- .setMessage("确定要接单吗")
+ .setMessage("确定要转单吗")
.setNegativeButton("取消")
.setPositiveButton("确定")
.setOnDialogButtonClickListener(object :
AlertControlDialog.OnDialogButtonClickListener {
override fun onConfirmClick() {
- if (orderDetail.jobId.toString() == "") {
- "工单ID异常,无法接单".show(context)
+ val orderId = orderDetail.jobId.toString()
+ if (orderId == "") {
+ "工单ID异常,无法转单".show(context)
return
}
transferOrderViewModel.transferWorkOrder(
- id = orderDetail.jobId!!,
- userId = personBean.id!!
+ id = orderId, userId = personBean.id!!
)
}
diff --git a/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
index 72d715b..b5fdc10 100644
--- a/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
+++ b/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
@@ -192,13 +192,13 @@
.setOnDialogButtonClickListener(object :
AlertControlDialog.OnDialogButtonClickListener {
override fun onConfirmClick() {
- if (orderDetail.jobId.toString() == "") {
+ val orderId = orderDetail.jobId.toString()
+ if (orderId == "") {
"工单ID异常,无法转单".show(context)
return
}
transferOrderViewModel.transferWorkOrder(
- id = orderDetail.jobId!!,
- userId = personBean.id!!
+ id = orderId, userId = personBean.id!!
)
}
diff --git a/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt b/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt
new file mode 100644
index 0000000..138f9cf
--- /dev/null
+++ b/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt
@@ -0,0 +1,110 @@
+package com.casic.app.smartwell.widgets
+
+import android.app.Dialog
+import android.content.Context
+import android.graphics.Color
+import android.graphics.drawable.ColorDrawable
+import android.os.Bundle
+import android.view.*
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.app.smartwell.R
+import com.casic.app.smartwell.model.WorkOrderDetailModel
+import com.pengxh.app.multilib.utils.SizeUtil
+
+class TimeLineBottomSheet private constructor(builder: Builder) : Dialog(
+ builder.context!!, R.style.BottomSheetStyle
+) {
+ private val ctx: Context = builder.context!!
+ private val items: MutableList = builder.items!!
+
+ class Builder {
+ var context: Context? = null
+ var items: MutableList? = null
+
+ fun setContext(context: Context?): Builder {
+ this.context = context
+ return this
+ }
+
+ fun setFlowItems(flowItems: MutableList?): Builder {
+ this.items = flowItems
+ return this
+ }
+
+ fun build(): TimeLineBottomSheet {
+ return TimeLineBottomSheet(this)
+ }
+ }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ configDialogLayout()
+ setContentView(R.layout.dialog_bottom_sheet)
+ setCancelable(true)
+ setCanceledOnTouchOutside(true)
+ //绑定流程进展数据
+ val orderFlowRecyclerView = findViewById(R.id.orderFlowRecyclerView)
+ orderFlowRecyclerView.layoutManager = LinearLayoutManager(ctx)
+ orderFlowRecyclerView.adapter = OrderFlowAdapter()
+
+ val dismissView = findViewById(R.id.dismissView)
+ dismissView.setOnClickListener {
+ this.dismiss()
+ }
+ }
+
+ private fun configDialogLayout() {
+ val window = window ?: return
+ window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
+ window.decorView.setBackgroundColor(Color.TRANSPARENT)
+ window.setGravity(Gravity.BOTTOM)
+ //设置Dialog出现的动画
+ window.setWindowAnimations(R.style.BottomSheetAnimation)
+ val params = window.attributes
+ params.width = SizeUtil.getScreenWidth(ctx)
+ params.height = WindowManager.LayoutParams.WRAP_CONTENT
+ window.attributes = params
+ }
+
+ internal inner class OrderFlowAdapter :
+ RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(ctx)
+
+ override fun onCreateViewHolder(
+ parent: ViewGroup,
+ viewType: Int
+ ): OrderFlowAdapter.ItemViewHolder {
+ val view: View =
+ layoutInflater.inflate(R.layout.item_order_flow_recycleview, parent, false)
+ return ItemViewHolder(view)
+ }
+
+ override fun getItemCount(): Int = items.size
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = items[position]
+ holder.fromPersonView.text = rowsBean.from
+ holder.toPersonView.text = rowsBean.to
+ holder.transferDateView.text = rowsBean.time
+ when (position) {
+ 0 -> {
+
+ }
+ items.size - 1 -> {
+
+ }
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var fromPersonView: TextView = view.findViewById(R.id.fromPersonView)
+ var toPersonView: TextView = view.findViewById(R.id.toPersonView)
+ var transferDateView: TextView = view.findViewById(R.id.transferDateView)
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/anim/bottom_sheet_in.xml b/app/src/main/res/anim/bottom_sheet_in.xml
new file mode 100644
index 0000000..276184e
--- /dev/null
+++ b/app/src/main/res/anim/bottom_sheet_in.xml
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/anim/bottom_sheet_out.xml b/app/src/main/res/anim/bottom_sheet_out.xml
new file mode 100644
index 0000000..62be752
--- /dev/null
+++ b/app/src/main/res/anim/bottom_sheet_out.xml
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_delete.xml b/app/src/main/res/drawable/ic_delete.xml
new file mode 100644
index 0000000..6894a13
--- /dev/null
+++ b/app/src/main/res/drawable/ic_delete.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/app/src/main/assets/svg/delete.svg b/app/src/main/assets/svg/delete.svg
new file mode 100644
index 0000000..593ceb4
--- /dev/null
+++ b/app/src/main/assets/svg/delete.svg
@@ -0,0 +1,19 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
index a60a2ca..e831e68 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
@@ -8,10 +8,11 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
+import com.casic.app.smartwell.extensions.covertColor
import com.casic.app.smartwell.model.WellMonitorModel
class SensorListAdapter(
- context: Context, private val dataRows: MutableList
+ private val context: Context, private val dataRows: MutableList
) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
@@ -27,6 +28,11 @@
//绑定数据
val rowsBean = dataRows[position]
holder.wellCodeView.text = rowsBean.devcode
+ if (rowsBean.onlineState == "0") {
+ holder.wellStateView.setTextColor(R.color.redTextColor.covertColor(context))
+ } else {
+ holder.wellStateView.setTextColor(R.color.greenTextColor.covertColor(context))
+ }
holder.wellStateView.text = rowsBean.onlineStateName
val value = rowsBean.data.toString()
if (value == "") {
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
index d1f9f4b..f68cef4 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
@@ -11,21 +11,14 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
-import com.casic.app.smartwell.model.UserDetailModel
import com.casic.app.smartwell.model.WorkOrderListModel
-import com.casic.app.smartwell.utils.Constant
-import com.casic.app.smartwell.utils.SaveKeyValues
-import com.google.gson.Gson
-import com.google.gson.reflect.TypeToken
class UndeterminedOrderAdapter(
private val context: Context,
private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private lateinit var userDataModel: UserDetailModel.DataBean
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
- private val gson = Gson()
override fun onCreateViewHolder(
parent: ViewGroup,
@@ -56,14 +49,7 @@
}
holder.wellLocationView.text = rowsBean.position
- val userDetailJson = SaveKeyValues.getValue(Constant.USER_DETAIL_MODEL, "") as String
- if (userDetailJson != "") {
- userDataModel = gson.fromJson(
- userDetailJson,
- object : TypeToken() {}.type
- )
- holder.currentStateView.text = "${userDataModel.name}正在现场确认中..."
- }
+ holder.currentStateView.text = "${rowsBean.jobBelongTo}正在现场确认中..."
//绑定事件
if (listener != null) {
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 682801a..09af7b1 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
@@ -1,61 +1,12 @@
package com.casic.app.smartwell.model
class WorkOrderDetailModel {
- /**
- * code : 200
- * data : [{"firstState":"","alarmContent":22,"deptName":"燃气集团总公司","jobStatus":"0","handleJobPerson":"","alarmContentName":"噪声超限","shouldGetTime":"","firstStatePhotos":"","wellCode":"test001","deptid":"24","alarmTypeName":"数据异常","jobCode":"ZSCX202009070001","jobBelongTo":"","jobFlag":"","confirmJobPerson":"","confirmJobTime":"","jobStatusName":"待处理","alarmValue":"4000.86","alarmId":"11243","alarmLevel":0,"handleJobTime":"","tel":"","id":"1232178","wellId":"4453","jobType":"1","flow":[],"editable":1,"alarmTime":"2019-10-17 14:22:00","handleMessage":"","alarmMessage":"噪声超限","staff":"吴甘牛","handlePhotos":"","getJobTime":"","getJobPerson":"","shouldHandleTime":"","jobId":"1232178","alarmType":"1","alarmStatus":"1","devcode":"212020000a","createTime":"2020-09-07 09:30:18","position":"test001位置"}]
- * message : 请求成功
- * success : true
- */
var code = 0
- var message: String? = null
- var success = false
var data: List? = null
+ var message: String? = null
+ var isSuccess = false
class DataBean {
- /**
- * firstState :
- * alarmContent : 22
- * deptName : 燃气集团总公司
- * jobStatus : 0
- * handleJobPerson :
- * alarmContentName : 噪声超限
- * shouldGetTime :
- * firstStatePhotos :
- * wellCode : test001
- * deptid : 24
- * alarmTypeName : 数据异常
- * jobCode : ZSCX202009070001
- * jobBelongTo :
- * jobFlag :
- * confirmJobPerson :
- * confirmJobTime :
- * jobStatusName : 待处理
- * alarmValue : 4000.86
- * alarmId : 11243
- * alarmLevel : 0
- * handleJobTime :
- * tel :
- * id : 1232178
- * wellId : 4453
- * jobType : 1
- * flow : []
- * editable : 1
- * alarmTime : 2019-10-17 14:22:00
- * handleMessage :
- * alarmMessage : 噪声超限
- * staff : 吴甘牛
- * handlePhotos :
- * getJobTime :
- * getJobPerson :
- * shouldHandleTime :
- * jobId : 1232178
- * alarmType : 1
- * alarmStatus : 1
- * devcode : 212020000a
- * createTime : 2020-09-07 09:30:18
- * position : test001位置
- */
var firstState: String? = null
var alarmContent = 0
var deptName: String? = null
@@ -81,6 +32,7 @@
var id: String? = null
var wellId: String? = null
var jobType: String? = null
+ var flow: MutableList? = null
var editable = 0
var alarmTime: String? = null
var handleMessage: String? = null
@@ -96,6 +48,11 @@
var devcode: String? = null
var createTime: String? = null
var position: String? = null
- var flow: List<*>? = null
+
+ class FlowBean {
+ var from: String? = null
+ var to: String? = null
+ var time: String? = null
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
index 7cfc0cb..a1b889f 100644
--- a/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
+++ b/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
@@ -16,6 +16,7 @@
import com.casic.app.smartwell.view.fragment.UndeterminedOrderFragment
import com.casic.app.smartwell.vm.*
import com.casic.app.smartwell.widgets.SingleChoiceDialog
+import com.casic.app.smartwell.widgets.TimeLineBottomSheet
import com.luck.picture.lib.PictureSelector
import com.luck.picture.lib.config.PictureConfig
import com.luck.picture.lib.config.PictureMimeType
@@ -24,6 +25,7 @@
import com.pengxh.app.multilib.widget.dialog.BottomActionSheet
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
import kotlinx.android.synthetic.main.activity_order_determine_detail.*
+import kotlinx.android.synthetic.main.activity_well_management.*
import kotlinx.android.synthetic.main.include_base_title.*
import java.io.File
@@ -98,6 +100,19 @@
tipsImageView.visibility = View.GONE
}
+ //工单流转细节
+ val orderFlow = orderDetail.flow!!
+ if (orderFlow.size != 0) {
+ transferTipsView.visibility = View.VISIBLE
+ transferTipsView.setOnClickListener {
+ TimeLineBottomSheet.Builder()
+ .setContext(this)
+ .setFlowItems(orderFlow)
+ .build().show()
+ }
+ } else {
+ transferTipsView.visibility = View.GONE
+ }
acceptDateView.text = orderDetail.getJobTime
dispatchDateView.text = orderDetail.createTime
completedDateView.text = orderDetail.handleJobTime
@@ -123,19 +138,19 @@
AlertControlDialog.Builder()
.setContext(context)
.setTitle("操作提示")
- .setMessage("确定要接单吗")
+ .setMessage("确定要转单吗")
.setNegativeButton("取消")
.setPositiveButton("确定")
.setOnDialogButtonClickListener(object :
AlertControlDialog.OnDialogButtonClickListener {
override fun onConfirmClick() {
- if (orderDetail.jobId.toString() == "") {
- "工单ID异常,无法接单".show(context)
+ val orderId = orderDetail.jobId.toString()
+ if (orderId == "") {
+ "工单ID异常,无法转单".show(context)
return
}
transferOrderViewModel.transferWorkOrder(
- id = orderDetail.jobId!!,
- userId = personBean.id!!
+ id = orderId, userId = personBean.id!!
)
}
diff --git a/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
index 72d715b..b5fdc10 100644
--- a/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
+++ b/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
@@ -192,13 +192,13 @@
.setOnDialogButtonClickListener(object :
AlertControlDialog.OnDialogButtonClickListener {
override fun onConfirmClick() {
- if (orderDetail.jobId.toString() == "") {
+ val orderId = orderDetail.jobId.toString()
+ if (orderId == "") {
"工单ID异常,无法转单".show(context)
return
}
transferOrderViewModel.transferWorkOrder(
- id = orderDetail.jobId!!,
- userId = personBean.id!!
+ id = orderId, userId = personBean.id!!
)
}
diff --git a/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt b/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt
new file mode 100644
index 0000000..138f9cf
--- /dev/null
+++ b/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt
@@ -0,0 +1,110 @@
+package com.casic.app.smartwell.widgets
+
+import android.app.Dialog
+import android.content.Context
+import android.graphics.Color
+import android.graphics.drawable.ColorDrawable
+import android.os.Bundle
+import android.view.*
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.app.smartwell.R
+import com.casic.app.smartwell.model.WorkOrderDetailModel
+import com.pengxh.app.multilib.utils.SizeUtil
+
+class TimeLineBottomSheet private constructor(builder: Builder) : Dialog(
+ builder.context!!, R.style.BottomSheetStyle
+) {
+ private val ctx: Context = builder.context!!
+ private val items: MutableList = builder.items!!
+
+ class Builder {
+ var context: Context? = null
+ var items: MutableList? = null
+
+ fun setContext(context: Context?): Builder {
+ this.context = context
+ return this
+ }
+
+ fun setFlowItems(flowItems: MutableList?): Builder {
+ this.items = flowItems
+ return this
+ }
+
+ fun build(): TimeLineBottomSheet {
+ return TimeLineBottomSheet(this)
+ }
+ }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ configDialogLayout()
+ setContentView(R.layout.dialog_bottom_sheet)
+ setCancelable(true)
+ setCanceledOnTouchOutside(true)
+ //绑定流程进展数据
+ val orderFlowRecyclerView = findViewById(R.id.orderFlowRecyclerView)
+ orderFlowRecyclerView.layoutManager = LinearLayoutManager(ctx)
+ orderFlowRecyclerView.adapter = OrderFlowAdapter()
+
+ val dismissView = findViewById(R.id.dismissView)
+ dismissView.setOnClickListener {
+ this.dismiss()
+ }
+ }
+
+ private fun configDialogLayout() {
+ val window = window ?: return
+ window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
+ window.decorView.setBackgroundColor(Color.TRANSPARENT)
+ window.setGravity(Gravity.BOTTOM)
+ //设置Dialog出现的动画
+ window.setWindowAnimations(R.style.BottomSheetAnimation)
+ val params = window.attributes
+ params.width = SizeUtil.getScreenWidth(ctx)
+ params.height = WindowManager.LayoutParams.WRAP_CONTENT
+ window.attributes = params
+ }
+
+ internal inner class OrderFlowAdapter :
+ RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(ctx)
+
+ override fun onCreateViewHolder(
+ parent: ViewGroup,
+ viewType: Int
+ ): OrderFlowAdapter.ItemViewHolder {
+ val view: View =
+ layoutInflater.inflate(R.layout.item_order_flow_recycleview, parent, false)
+ return ItemViewHolder(view)
+ }
+
+ override fun getItemCount(): Int = items.size
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = items[position]
+ holder.fromPersonView.text = rowsBean.from
+ holder.toPersonView.text = rowsBean.to
+ holder.transferDateView.text = rowsBean.time
+ when (position) {
+ 0 -> {
+
+ }
+ items.size - 1 -> {
+
+ }
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var fromPersonView: TextView = view.findViewById(R.id.fromPersonView)
+ var toPersonView: TextView = view.findViewById(R.id.toPersonView)
+ var transferDateView: TextView = view.findViewById(R.id.transferDateView)
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/anim/bottom_sheet_in.xml b/app/src/main/res/anim/bottom_sheet_in.xml
new file mode 100644
index 0000000..276184e
--- /dev/null
+++ b/app/src/main/res/anim/bottom_sheet_in.xml
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/anim/bottom_sheet_out.xml b/app/src/main/res/anim/bottom_sheet_out.xml
new file mode 100644
index 0000000..62be752
--- /dev/null
+++ b/app/src/main/res/anim/bottom_sheet_out.xml
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_delete.xml b/app/src/main/res/drawable/ic_delete.xml
new file mode 100644
index 0000000..6894a13
--- /dev/null
+++ b/app/src/main/res/drawable/ic_delete.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/app/src/main/res/layout/activity_order_determine_detail.xml b/app/src/main/res/layout/activity_order_determine_detail.xml
index bfb10c2..0ed21df 100644
--- a/app/src/main/res/layout/activity_order_determine_detail.xml
+++ b/app/src/main/res/layout/activity_order_determine_detail.xml
@@ -276,9 +276,27 @@
-
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
index a60a2ca..e831e68 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
@@ -8,10 +8,11 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
+import com.casic.app.smartwell.extensions.covertColor
import com.casic.app.smartwell.model.WellMonitorModel
class SensorListAdapter(
- context: Context, private val dataRows: MutableList
+ private val context: Context, private val dataRows: MutableList
) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
@@ -27,6 +28,11 @@
//绑定数据
val rowsBean = dataRows[position]
holder.wellCodeView.text = rowsBean.devcode
+ if (rowsBean.onlineState == "0") {
+ holder.wellStateView.setTextColor(R.color.redTextColor.covertColor(context))
+ } else {
+ holder.wellStateView.setTextColor(R.color.greenTextColor.covertColor(context))
+ }
holder.wellStateView.text = rowsBean.onlineStateName
val value = rowsBean.data.toString()
if (value == "") {
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
index d1f9f4b..f68cef4 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
@@ -11,21 +11,14 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
-import com.casic.app.smartwell.model.UserDetailModel
import com.casic.app.smartwell.model.WorkOrderListModel
-import com.casic.app.smartwell.utils.Constant
-import com.casic.app.smartwell.utils.SaveKeyValues
-import com.google.gson.Gson
-import com.google.gson.reflect.TypeToken
class UndeterminedOrderAdapter(
private val context: Context,
private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private lateinit var userDataModel: UserDetailModel.DataBean
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
- private val gson = Gson()
override fun onCreateViewHolder(
parent: ViewGroup,
@@ -56,14 +49,7 @@
}
holder.wellLocationView.text = rowsBean.position
- val userDetailJson = SaveKeyValues.getValue(Constant.USER_DETAIL_MODEL, "") as String
- if (userDetailJson != "") {
- userDataModel = gson.fromJson(
- userDetailJson,
- object : TypeToken() {}.type
- )
- holder.currentStateView.text = "${userDataModel.name}正在现场确认中..."
- }
+ holder.currentStateView.text = "${rowsBean.jobBelongTo}正在现场确认中..."
//绑定事件
if (listener != null) {
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 682801a..09af7b1 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
@@ -1,61 +1,12 @@
package com.casic.app.smartwell.model
class WorkOrderDetailModel {
- /**
- * code : 200
- * data : [{"firstState":"","alarmContent":22,"deptName":"燃气集团总公司","jobStatus":"0","handleJobPerson":"","alarmContentName":"噪声超限","shouldGetTime":"","firstStatePhotos":"","wellCode":"test001","deptid":"24","alarmTypeName":"数据异常","jobCode":"ZSCX202009070001","jobBelongTo":"","jobFlag":"","confirmJobPerson":"","confirmJobTime":"","jobStatusName":"待处理","alarmValue":"4000.86","alarmId":"11243","alarmLevel":0,"handleJobTime":"","tel":"","id":"1232178","wellId":"4453","jobType":"1","flow":[],"editable":1,"alarmTime":"2019-10-17 14:22:00","handleMessage":"","alarmMessage":"噪声超限","staff":"吴甘牛","handlePhotos":"","getJobTime":"","getJobPerson":"","shouldHandleTime":"","jobId":"1232178","alarmType":"1","alarmStatus":"1","devcode":"212020000a","createTime":"2020-09-07 09:30:18","position":"test001位置"}]
- * message : 请求成功
- * success : true
- */
var code = 0
- var message: String? = null
- var success = false
var data: List? = null
+ var message: String? = null
+ var isSuccess = false
class DataBean {
- /**
- * firstState :
- * alarmContent : 22
- * deptName : 燃气集团总公司
- * jobStatus : 0
- * handleJobPerson :
- * alarmContentName : 噪声超限
- * shouldGetTime :
- * firstStatePhotos :
- * wellCode : test001
- * deptid : 24
- * alarmTypeName : 数据异常
- * jobCode : ZSCX202009070001
- * jobBelongTo :
- * jobFlag :
- * confirmJobPerson :
- * confirmJobTime :
- * jobStatusName : 待处理
- * alarmValue : 4000.86
- * alarmId : 11243
- * alarmLevel : 0
- * handleJobTime :
- * tel :
- * id : 1232178
- * wellId : 4453
- * jobType : 1
- * flow : []
- * editable : 1
- * alarmTime : 2019-10-17 14:22:00
- * handleMessage :
- * alarmMessage : 噪声超限
- * staff : 吴甘牛
- * handlePhotos :
- * getJobTime :
- * getJobPerson :
- * shouldHandleTime :
- * jobId : 1232178
- * alarmType : 1
- * alarmStatus : 1
- * devcode : 212020000a
- * createTime : 2020-09-07 09:30:18
- * position : test001位置
- */
var firstState: String? = null
var alarmContent = 0
var deptName: String? = null
@@ -81,6 +32,7 @@
var id: String? = null
var wellId: String? = null
var jobType: String? = null
+ var flow: MutableList? = null
var editable = 0
var alarmTime: String? = null
var handleMessage: String? = null
@@ -96,6 +48,11 @@
var devcode: String? = null
var createTime: String? = null
var position: String? = null
- var flow: List<*>? = null
+
+ class FlowBean {
+ var from: String? = null
+ var to: String? = null
+ var time: String? = null
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
index 7cfc0cb..a1b889f 100644
--- a/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
+++ b/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
@@ -16,6 +16,7 @@
import com.casic.app.smartwell.view.fragment.UndeterminedOrderFragment
import com.casic.app.smartwell.vm.*
import com.casic.app.smartwell.widgets.SingleChoiceDialog
+import com.casic.app.smartwell.widgets.TimeLineBottomSheet
import com.luck.picture.lib.PictureSelector
import com.luck.picture.lib.config.PictureConfig
import com.luck.picture.lib.config.PictureMimeType
@@ -24,6 +25,7 @@
import com.pengxh.app.multilib.widget.dialog.BottomActionSheet
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
import kotlinx.android.synthetic.main.activity_order_determine_detail.*
+import kotlinx.android.synthetic.main.activity_well_management.*
import kotlinx.android.synthetic.main.include_base_title.*
import java.io.File
@@ -98,6 +100,19 @@
tipsImageView.visibility = View.GONE
}
+ //工单流转细节
+ val orderFlow = orderDetail.flow!!
+ if (orderFlow.size != 0) {
+ transferTipsView.visibility = View.VISIBLE
+ transferTipsView.setOnClickListener {
+ TimeLineBottomSheet.Builder()
+ .setContext(this)
+ .setFlowItems(orderFlow)
+ .build().show()
+ }
+ } else {
+ transferTipsView.visibility = View.GONE
+ }
acceptDateView.text = orderDetail.getJobTime
dispatchDateView.text = orderDetail.createTime
completedDateView.text = orderDetail.handleJobTime
@@ -123,19 +138,19 @@
AlertControlDialog.Builder()
.setContext(context)
.setTitle("操作提示")
- .setMessage("确定要接单吗")
+ .setMessage("确定要转单吗")
.setNegativeButton("取消")
.setPositiveButton("确定")
.setOnDialogButtonClickListener(object :
AlertControlDialog.OnDialogButtonClickListener {
override fun onConfirmClick() {
- if (orderDetail.jobId.toString() == "") {
- "工单ID异常,无法接单".show(context)
+ val orderId = orderDetail.jobId.toString()
+ if (orderId == "") {
+ "工单ID异常,无法转单".show(context)
return
}
transferOrderViewModel.transferWorkOrder(
- id = orderDetail.jobId!!,
- userId = personBean.id!!
+ id = orderId, userId = personBean.id!!
)
}
diff --git a/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
index 72d715b..b5fdc10 100644
--- a/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
+++ b/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
@@ -192,13 +192,13 @@
.setOnDialogButtonClickListener(object :
AlertControlDialog.OnDialogButtonClickListener {
override fun onConfirmClick() {
- if (orderDetail.jobId.toString() == "") {
+ val orderId = orderDetail.jobId.toString()
+ if (orderId == "") {
"工单ID异常,无法转单".show(context)
return
}
transferOrderViewModel.transferWorkOrder(
- id = orderDetail.jobId!!,
- userId = personBean.id!!
+ id = orderId, userId = personBean.id!!
)
}
diff --git a/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt b/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt
new file mode 100644
index 0000000..138f9cf
--- /dev/null
+++ b/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt
@@ -0,0 +1,110 @@
+package com.casic.app.smartwell.widgets
+
+import android.app.Dialog
+import android.content.Context
+import android.graphics.Color
+import android.graphics.drawable.ColorDrawable
+import android.os.Bundle
+import android.view.*
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.app.smartwell.R
+import com.casic.app.smartwell.model.WorkOrderDetailModel
+import com.pengxh.app.multilib.utils.SizeUtil
+
+class TimeLineBottomSheet private constructor(builder: Builder) : Dialog(
+ builder.context!!, R.style.BottomSheetStyle
+) {
+ private val ctx: Context = builder.context!!
+ private val items: MutableList = builder.items!!
+
+ class Builder {
+ var context: Context? = null
+ var items: MutableList? = null
+
+ fun setContext(context: Context?): Builder {
+ this.context = context
+ return this
+ }
+
+ fun setFlowItems(flowItems: MutableList?): Builder {
+ this.items = flowItems
+ return this
+ }
+
+ fun build(): TimeLineBottomSheet {
+ return TimeLineBottomSheet(this)
+ }
+ }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ configDialogLayout()
+ setContentView(R.layout.dialog_bottom_sheet)
+ setCancelable(true)
+ setCanceledOnTouchOutside(true)
+ //绑定流程进展数据
+ val orderFlowRecyclerView = findViewById(R.id.orderFlowRecyclerView)
+ orderFlowRecyclerView.layoutManager = LinearLayoutManager(ctx)
+ orderFlowRecyclerView.adapter = OrderFlowAdapter()
+
+ val dismissView = findViewById(R.id.dismissView)
+ dismissView.setOnClickListener {
+ this.dismiss()
+ }
+ }
+
+ private fun configDialogLayout() {
+ val window = window ?: return
+ window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
+ window.decorView.setBackgroundColor(Color.TRANSPARENT)
+ window.setGravity(Gravity.BOTTOM)
+ //设置Dialog出现的动画
+ window.setWindowAnimations(R.style.BottomSheetAnimation)
+ val params = window.attributes
+ params.width = SizeUtil.getScreenWidth(ctx)
+ params.height = WindowManager.LayoutParams.WRAP_CONTENT
+ window.attributes = params
+ }
+
+ internal inner class OrderFlowAdapter :
+ RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(ctx)
+
+ override fun onCreateViewHolder(
+ parent: ViewGroup,
+ viewType: Int
+ ): OrderFlowAdapter.ItemViewHolder {
+ val view: View =
+ layoutInflater.inflate(R.layout.item_order_flow_recycleview, parent, false)
+ return ItemViewHolder(view)
+ }
+
+ override fun getItemCount(): Int = items.size
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = items[position]
+ holder.fromPersonView.text = rowsBean.from
+ holder.toPersonView.text = rowsBean.to
+ holder.transferDateView.text = rowsBean.time
+ when (position) {
+ 0 -> {
+
+ }
+ items.size - 1 -> {
+
+ }
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var fromPersonView: TextView = view.findViewById(R.id.fromPersonView)
+ var toPersonView: TextView = view.findViewById(R.id.toPersonView)
+ var transferDateView: TextView = view.findViewById(R.id.transferDateView)
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/anim/bottom_sheet_in.xml b/app/src/main/res/anim/bottom_sheet_in.xml
new file mode 100644
index 0000000..276184e
--- /dev/null
+++ b/app/src/main/res/anim/bottom_sheet_in.xml
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/anim/bottom_sheet_out.xml b/app/src/main/res/anim/bottom_sheet_out.xml
new file mode 100644
index 0000000..62be752
--- /dev/null
+++ b/app/src/main/res/anim/bottom_sheet_out.xml
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_delete.xml b/app/src/main/res/drawable/ic_delete.xml
new file mode 100644
index 0000000..6894a13
--- /dev/null
+++ b/app/src/main/res/drawable/ic_delete.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/app/src/main/res/layout/activity_order_determine_detail.xml b/app/src/main/res/layout/activity_order_determine_detail.xml
index bfb10c2..0ed21df 100644
--- a/app/src/main/res/layout/activity_order_determine_detail.xml
+++ b/app/src/main/res/layout/activity_order_determine_detail.xml
@@ -276,9 +276,27 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/assets/svg/delete.svg b/app/src/main/assets/svg/delete.svg
new file mode 100644
index 0000000..593ceb4
--- /dev/null
+++ b/app/src/main/assets/svg/delete.svg
@@ -0,0 +1,19 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
index a60a2ca..e831e68 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
@@ -8,10 +8,11 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
+import com.casic.app.smartwell.extensions.covertColor
import com.casic.app.smartwell.model.WellMonitorModel
class SensorListAdapter(
- context: Context, private val dataRows: MutableList
+ private val context: Context, private val dataRows: MutableList
) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
@@ -27,6 +28,11 @@
//绑定数据
val rowsBean = dataRows[position]
holder.wellCodeView.text = rowsBean.devcode
+ if (rowsBean.onlineState == "0") {
+ holder.wellStateView.setTextColor(R.color.redTextColor.covertColor(context))
+ } else {
+ holder.wellStateView.setTextColor(R.color.greenTextColor.covertColor(context))
+ }
holder.wellStateView.text = rowsBean.onlineStateName
val value = rowsBean.data.toString()
if (value == "") {
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
index d1f9f4b..f68cef4 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
@@ -11,21 +11,14 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
-import com.casic.app.smartwell.model.UserDetailModel
import com.casic.app.smartwell.model.WorkOrderListModel
-import com.casic.app.smartwell.utils.Constant
-import com.casic.app.smartwell.utils.SaveKeyValues
-import com.google.gson.Gson
-import com.google.gson.reflect.TypeToken
class UndeterminedOrderAdapter(
private val context: Context,
private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private lateinit var userDataModel: UserDetailModel.DataBean
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
- private val gson = Gson()
override fun onCreateViewHolder(
parent: ViewGroup,
@@ -56,14 +49,7 @@
}
holder.wellLocationView.text = rowsBean.position
- val userDetailJson = SaveKeyValues.getValue(Constant.USER_DETAIL_MODEL, "") as String
- if (userDetailJson != "") {
- userDataModel = gson.fromJson(
- userDetailJson,
- object : TypeToken() {}.type
- )
- holder.currentStateView.text = "${userDataModel.name}正在现场确认中..."
- }
+ holder.currentStateView.text = "${rowsBean.jobBelongTo}正在现场确认中..."
//绑定事件
if (listener != null) {
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 682801a..09af7b1 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
@@ -1,61 +1,12 @@
package com.casic.app.smartwell.model
class WorkOrderDetailModel {
- /**
- * code : 200
- * data : [{"firstState":"","alarmContent":22,"deptName":"燃气集团总公司","jobStatus":"0","handleJobPerson":"","alarmContentName":"噪声超限","shouldGetTime":"","firstStatePhotos":"","wellCode":"test001","deptid":"24","alarmTypeName":"数据异常","jobCode":"ZSCX202009070001","jobBelongTo":"","jobFlag":"","confirmJobPerson":"","confirmJobTime":"","jobStatusName":"待处理","alarmValue":"4000.86","alarmId":"11243","alarmLevel":0,"handleJobTime":"","tel":"","id":"1232178","wellId":"4453","jobType":"1","flow":[],"editable":1,"alarmTime":"2019-10-17 14:22:00","handleMessage":"","alarmMessage":"噪声超限","staff":"吴甘牛","handlePhotos":"","getJobTime":"","getJobPerson":"","shouldHandleTime":"","jobId":"1232178","alarmType":"1","alarmStatus":"1","devcode":"212020000a","createTime":"2020-09-07 09:30:18","position":"test001位置"}]
- * message : 请求成功
- * success : true
- */
var code = 0
- var message: String? = null
- var success = false
var data: List? = null
+ var message: String? = null
+ var isSuccess = false
class DataBean {
- /**
- * firstState :
- * alarmContent : 22
- * deptName : 燃气集团总公司
- * jobStatus : 0
- * handleJobPerson :
- * alarmContentName : 噪声超限
- * shouldGetTime :
- * firstStatePhotos :
- * wellCode : test001
- * deptid : 24
- * alarmTypeName : 数据异常
- * jobCode : ZSCX202009070001
- * jobBelongTo :
- * jobFlag :
- * confirmJobPerson :
- * confirmJobTime :
- * jobStatusName : 待处理
- * alarmValue : 4000.86
- * alarmId : 11243
- * alarmLevel : 0
- * handleJobTime :
- * tel :
- * id : 1232178
- * wellId : 4453
- * jobType : 1
- * flow : []
- * editable : 1
- * alarmTime : 2019-10-17 14:22:00
- * handleMessage :
- * alarmMessage : 噪声超限
- * staff : 吴甘牛
- * handlePhotos :
- * getJobTime :
- * getJobPerson :
- * shouldHandleTime :
- * jobId : 1232178
- * alarmType : 1
- * alarmStatus : 1
- * devcode : 212020000a
- * createTime : 2020-09-07 09:30:18
- * position : test001位置
- */
var firstState: String? = null
var alarmContent = 0
var deptName: String? = null
@@ -81,6 +32,7 @@
var id: String? = null
var wellId: String? = null
var jobType: String? = null
+ var flow: MutableList? = null
var editable = 0
var alarmTime: String? = null
var handleMessage: String? = null
@@ -96,6 +48,11 @@
var devcode: String? = null
var createTime: String? = null
var position: String? = null
- var flow: List<*>? = null
+
+ class FlowBean {
+ var from: String? = null
+ var to: String? = null
+ var time: String? = null
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
index 7cfc0cb..a1b889f 100644
--- a/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
+++ b/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
@@ -16,6 +16,7 @@
import com.casic.app.smartwell.view.fragment.UndeterminedOrderFragment
import com.casic.app.smartwell.vm.*
import com.casic.app.smartwell.widgets.SingleChoiceDialog
+import com.casic.app.smartwell.widgets.TimeLineBottomSheet
import com.luck.picture.lib.PictureSelector
import com.luck.picture.lib.config.PictureConfig
import com.luck.picture.lib.config.PictureMimeType
@@ -24,6 +25,7 @@
import com.pengxh.app.multilib.widget.dialog.BottomActionSheet
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
import kotlinx.android.synthetic.main.activity_order_determine_detail.*
+import kotlinx.android.synthetic.main.activity_well_management.*
import kotlinx.android.synthetic.main.include_base_title.*
import java.io.File
@@ -98,6 +100,19 @@
tipsImageView.visibility = View.GONE
}
+ //工单流转细节
+ val orderFlow = orderDetail.flow!!
+ if (orderFlow.size != 0) {
+ transferTipsView.visibility = View.VISIBLE
+ transferTipsView.setOnClickListener {
+ TimeLineBottomSheet.Builder()
+ .setContext(this)
+ .setFlowItems(orderFlow)
+ .build().show()
+ }
+ } else {
+ transferTipsView.visibility = View.GONE
+ }
acceptDateView.text = orderDetail.getJobTime
dispatchDateView.text = orderDetail.createTime
completedDateView.text = orderDetail.handleJobTime
@@ -123,19 +138,19 @@
AlertControlDialog.Builder()
.setContext(context)
.setTitle("操作提示")
- .setMessage("确定要接单吗")
+ .setMessage("确定要转单吗")
.setNegativeButton("取消")
.setPositiveButton("确定")
.setOnDialogButtonClickListener(object :
AlertControlDialog.OnDialogButtonClickListener {
override fun onConfirmClick() {
- if (orderDetail.jobId.toString() == "") {
- "工单ID异常,无法接单".show(context)
+ val orderId = orderDetail.jobId.toString()
+ if (orderId == "") {
+ "工单ID异常,无法转单".show(context)
return
}
transferOrderViewModel.transferWorkOrder(
- id = orderDetail.jobId!!,
- userId = personBean.id!!
+ id = orderId, userId = personBean.id!!
)
}
diff --git a/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
index 72d715b..b5fdc10 100644
--- a/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
+++ b/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
@@ -192,13 +192,13 @@
.setOnDialogButtonClickListener(object :
AlertControlDialog.OnDialogButtonClickListener {
override fun onConfirmClick() {
- if (orderDetail.jobId.toString() == "") {
+ val orderId = orderDetail.jobId.toString()
+ if (orderId == "") {
"工单ID异常,无法转单".show(context)
return
}
transferOrderViewModel.transferWorkOrder(
- id = orderDetail.jobId!!,
- userId = personBean.id!!
+ id = orderId, userId = personBean.id!!
)
}
diff --git a/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt b/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt
new file mode 100644
index 0000000..138f9cf
--- /dev/null
+++ b/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt
@@ -0,0 +1,110 @@
+package com.casic.app.smartwell.widgets
+
+import android.app.Dialog
+import android.content.Context
+import android.graphics.Color
+import android.graphics.drawable.ColorDrawable
+import android.os.Bundle
+import android.view.*
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.app.smartwell.R
+import com.casic.app.smartwell.model.WorkOrderDetailModel
+import com.pengxh.app.multilib.utils.SizeUtil
+
+class TimeLineBottomSheet private constructor(builder: Builder) : Dialog(
+ builder.context!!, R.style.BottomSheetStyle
+) {
+ private val ctx: Context = builder.context!!
+ private val items: MutableList = builder.items!!
+
+ class Builder {
+ var context: Context? = null
+ var items: MutableList? = null
+
+ fun setContext(context: Context?): Builder {
+ this.context = context
+ return this
+ }
+
+ fun setFlowItems(flowItems: MutableList?): Builder {
+ this.items = flowItems
+ return this
+ }
+
+ fun build(): TimeLineBottomSheet {
+ return TimeLineBottomSheet(this)
+ }
+ }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ configDialogLayout()
+ setContentView(R.layout.dialog_bottom_sheet)
+ setCancelable(true)
+ setCanceledOnTouchOutside(true)
+ //绑定流程进展数据
+ val orderFlowRecyclerView = findViewById(R.id.orderFlowRecyclerView)
+ orderFlowRecyclerView.layoutManager = LinearLayoutManager(ctx)
+ orderFlowRecyclerView.adapter = OrderFlowAdapter()
+
+ val dismissView = findViewById(R.id.dismissView)
+ dismissView.setOnClickListener {
+ this.dismiss()
+ }
+ }
+
+ private fun configDialogLayout() {
+ val window = window ?: return
+ window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
+ window.decorView.setBackgroundColor(Color.TRANSPARENT)
+ window.setGravity(Gravity.BOTTOM)
+ //设置Dialog出现的动画
+ window.setWindowAnimations(R.style.BottomSheetAnimation)
+ val params = window.attributes
+ params.width = SizeUtil.getScreenWidth(ctx)
+ params.height = WindowManager.LayoutParams.WRAP_CONTENT
+ window.attributes = params
+ }
+
+ internal inner class OrderFlowAdapter :
+ RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(ctx)
+
+ override fun onCreateViewHolder(
+ parent: ViewGroup,
+ viewType: Int
+ ): OrderFlowAdapter.ItemViewHolder {
+ val view: View =
+ layoutInflater.inflate(R.layout.item_order_flow_recycleview, parent, false)
+ return ItemViewHolder(view)
+ }
+
+ override fun getItemCount(): Int = items.size
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = items[position]
+ holder.fromPersonView.text = rowsBean.from
+ holder.toPersonView.text = rowsBean.to
+ holder.transferDateView.text = rowsBean.time
+ when (position) {
+ 0 -> {
+
+ }
+ items.size - 1 -> {
+
+ }
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var fromPersonView: TextView = view.findViewById(R.id.fromPersonView)
+ var toPersonView: TextView = view.findViewById(R.id.toPersonView)
+ var transferDateView: TextView = view.findViewById(R.id.transferDateView)
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/anim/bottom_sheet_in.xml b/app/src/main/res/anim/bottom_sheet_in.xml
new file mode 100644
index 0000000..276184e
--- /dev/null
+++ b/app/src/main/res/anim/bottom_sheet_in.xml
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/anim/bottom_sheet_out.xml b/app/src/main/res/anim/bottom_sheet_out.xml
new file mode 100644
index 0000000..62be752
--- /dev/null
+++ b/app/src/main/res/anim/bottom_sheet_out.xml
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_delete.xml b/app/src/main/res/drawable/ic_delete.xml
new file mode 100644
index 0000000..6894a13
--- /dev/null
+++ b/app/src/main/res/drawable/ic_delete.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/app/src/main/res/layout/activity_order_determine_detail.xml b/app/src/main/res/layout/activity_order_determine_detail.xml
index bfb10c2..0ed21df 100644
--- a/app/src/main/res/layout/activity_order_determine_detail.xml
+++ b/app/src/main/res/layout/activity_order_determine_detail.xml
@@ -276,9 +276,27 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/item_order_flow_recycleview.xml b/app/src/main/res/layout/item_order_flow_recycleview.xml
new file mode 100644
index 0000000..b65a22e
--- /dev/null
+++ b/app/src/main/res/layout/item_order_flow_recycleview.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/assets/svg/delete.svg b/app/src/main/assets/svg/delete.svg
new file mode 100644
index 0000000..593ceb4
--- /dev/null
+++ b/app/src/main/assets/svg/delete.svg
@@ -0,0 +1,19 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
index a60a2ca..e831e68 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
@@ -8,10 +8,11 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
+import com.casic.app.smartwell.extensions.covertColor
import com.casic.app.smartwell.model.WellMonitorModel
class SensorListAdapter(
- context: Context, private val dataRows: MutableList
+ private val context: Context, private val dataRows: MutableList
) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
@@ -27,6 +28,11 @@
//绑定数据
val rowsBean = dataRows[position]
holder.wellCodeView.text = rowsBean.devcode
+ if (rowsBean.onlineState == "0") {
+ holder.wellStateView.setTextColor(R.color.redTextColor.covertColor(context))
+ } else {
+ holder.wellStateView.setTextColor(R.color.greenTextColor.covertColor(context))
+ }
holder.wellStateView.text = rowsBean.onlineStateName
val value = rowsBean.data.toString()
if (value == "") {
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
index d1f9f4b..f68cef4 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
@@ -11,21 +11,14 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
-import com.casic.app.smartwell.model.UserDetailModel
import com.casic.app.smartwell.model.WorkOrderListModel
-import com.casic.app.smartwell.utils.Constant
-import com.casic.app.smartwell.utils.SaveKeyValues
-import com.google.gson.Gson
-import com.google.gson.reflect.TypeToken
class UndeterminedOrderAdapter(
private val context: Context,
private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private lateinit var userDataModel: UserDetailModel.DataBean
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
- private val gson = Gson()
override fun onCreateViewHolder(
parent: ViewGroup,
@@ -56,14 +49,7 @@
}
holder.wellLocationView.text = rowsBean.position
- val userDetailJson = SaveKeyValues.getValue(Constant.USER_DETAIL_MODEL, "") as String
- if (userDetailJson != "") {
- userDataModel = gson.fromJson(
- userDetailJson,
- object : TypeToken() {}.type
- )
- holder.currentStateView.text = "${userDataModel.name}正在现场确认中..."
- }
+ holder.currentStateView.text = "${rowsBean.jobBelongTo}正在现场确认中..."
//绑定事件
if (listener != null) {
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 682801a..09af7b1 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
@@ -1,61 +1,12 @@
package com.casic.app.smartwell.model
class WorkOrderDetailModel {
- /**
- * code : 200
- * data : [{"firstState":"","alarmContent":22,"deptName":"燃气集团总公司","jobStatus":"0","handleJobPerson":"","alarmContentName":"噪声超限","shouldGetTime":"","firstStatePhotos":"","wellCode":"test001","deptid":"24","alarmTypeName":"数据异常","jobCode":"ZSCX202009070001","jobBelongTo":"","jobFlag":"","confirmJobPerson":"","confirmJobTime":"","jobStatusName":"待处理","alarmValue":"4000.86","alarmId":"11243","alarmLevel":0,"handleJobTime":"","tel":"","id":"1232178","wellId":"4453","jobType":"1","flow":[],"editable":1,"alarmTime":"2019-10-17 14:22:00","handleMessage":"","alarmMessage":"噪声超限","staff":"吴甘牛","handlePhotos":"","getJobTime":"","getJobPerson":"","shouldHandleTime":"","jobId":"1232178","alarmType":"1","alarmStatus":"1","devcode":"212020000a","createTime":"2020-09-07 09:30:18","position":"test001位置"}]
- * message : 请求成功
- * success : true
- */
var code = 0
- var message: String? = null
- var success = false
var data: List? = null
+ var message: String? = null
+ var isSuccess = false
class DataBean {
- /**
- * firstState :
- * alarmContent : 22
- * deptName : 燃气集团总公司
- * jobStatus : 0
- * handleJobPerson :
- * alarmContentName : 噪声超限
- * shouldGetTime :
- * firstStatePhotos :
- * wellCode : test001
- * deptid : 24
- * alarmTypeName : 数据异常
- * jobCode : ZSCX202009070001
- * jobBelongTo :
- * jobFlag :
- * confirmJobPerson :
- * confirmJobTime :
- * jobStatusName : 待处理
- * alarmValue : 4000.86
- * alarmId : 11243
- * alarmLevel : 0
- * handleJobTime :
- * tel :
- * id : 1232178
- * wellId : 4453
- * jobType : 1
- * flow : []
- * editable : 1
- * alarmTime : 2019-10-17 14:22:00
- * handleMessage :
- * alarmMessage : 噪声超限
- * staff : 吴甘牛
- * handlePhotos :
- * getJobTime :
- * getJobPerson :
- * shouldHandleTime :
- * jobId : 1232178
- * alarmType : 1
- * alarmStatus : 1
- * devcode : 212020000a
- * createTime : 2020-09-07 09:30:18
- * position : test001位置
- */
var firstState: String? = null
var alarmContent = 0
var deptName: String? = null
@@ -81,6 +32,7 @@
var id: String? = null
var wellId: String? = null
var jobType: String? = null
+ var flow: MutableList? = null
var editable = 0
var alarmTime: String? = null
var handleMessage: String? = null
@@ -96,6 +48,11 @@
var devcode: String? = null
var createTime: String? = null
var position: String? = null
- var flow: List<*>? = null
+
+ class FlowBean {
+ var from: String? = null
+ var to: String? = null
+ var time: String? = null
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
index 7cfc0cb..a1b889f 100644
--- a/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
+++ b/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
@@ -16,6 +16,7 @@
import com.casic.app.smartwell.view.fragment.UndeterminedOrderFragment
import com.casic.app.smartwell.vm.*
import com.casic.app.smartwell.widgets.SingleChoiceDialog
+import com.casic.app.smartwell.widgets.TimeLineBottomSheet
import com.luck.picture.lib.PictureSelector
import com.luck.picture.lib.config.PictureConfig
import com.luck.picture.lib.config.PictureMimeType
@@ -24,6 +25,7 @@
import com.pengxh.app.multilib.widget.dialog.BottomActionSheet
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
import kotlinx.android.synthetic.main.activity_order_determine_detail.*
+import kotlinx.android.synthetic.main.activity_well_management.*
import kotlinx.android.synthetic.main.include_base_title.*
import java.io.File
@@ -98,6 +100,19 @@
tipsImageView.visibility = View.GONE
}
+ //工单流转细节
+ val orderFlow = orderDetail.flow!!
+ if (orderFlow.size != 0) {
+ transferTipsView.visibility = View.VISIBLE
+ transferTipsView.setOnClickListener {
+ TimeLineBottomSheet.Builder()
+ .setContext(this)
+ .setFlowItems(orderFlow)
+ .build().show()
+ }
+ } else {
+ transferTipsView.visibility = View.GONE
+ }
acceptDateView.text = orderDetail.getJobTime
dispatchDateView.text = orderDetail.createTime
completedDateView.text = orderDetail.handleJobTime
@@ -123,19 +138,19 @@
AlertControlDialog.Builder()
.setContext(context)
.setTitle("操作提示")
- .setMessage("确定要接单吗")
+ .setMessage("确定要转单吗")
.setNegativeButton("取消")
.setPositiveButton("确定")
.setOnDialogButtonClickListener(object :
AlertControlDialog.OnDialogButtonClickListener {
override fun onConfirmClick() {
- if (orderDetail.jobId.toString() == "") {
- "工单ID异常,无法接单".show(context)
+ val orderId = orderDetail.jobId.toString()
+ if (orderId == "") {
+ "工单ID异常,无法转单".show(context)
return
}
transferOrderViewModel.transferWorkOrder(
- id = orderDetail.jobId!!,
- userId = personBean.id!!
+ id = orderId, userId = personBean.id!!
)
}
diff --git a/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
index 72d715b..b5fdc10 100644
--- a/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
+++ b/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
@@ -192,13 +192,13 @@
.setOnDialogButtonClickListener(object :
AlertControlDialog.OnDialogButtonClickListener {
override fun onConfirmClick() {
- if (orderDetail.jobId.toString() == "") {
+ val orderId = orderDetail.jobId.toString()
+ if (orderId == "") {
"工单ID异常,无法转单".show(context)
return
}
transferOrderViewModel.transferWorkOrder(
- id = orderDetail.jobId!!,
- userId = personBean.id!!
+ id = orderId, userId = personBean.id!!
)
}
diff --git a/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt b/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt
new file mode 100644
index 0000000..138f9cf
--- /dev/null
+++ b/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt
@@ -0,0 +1,110 @@
+package com.casic.app.smartwell.widgets
+
+import android.app.Dialog
+import android.content.Context
+import android.graphics.Color
+import android.graphics.drawable.ColorDrawable
+import android.os.Bundle
+import android.view.*
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.app.smartwell.R
+import com.casic.app.smartwell.model.WorkOrderDetailModel
+import com.pengxh.app.multilib.utils.SizeUtil
+
+class TimeLineBottomSheet private constructor(builder: Builder) : Dialog(
+ builder.context!!, R.style.BottomSheetStyle
+) {
+ private val ctx: Context = builder.context!!
+ private val items: MutableList = builder.items!!
+
+ class Builder {
+ var context: Context? = null
+ var items: MutableList? = null
+
+ fun setContext(context: Context?): Builder {
+ this.context = context
+ return this
+ }
+
+ fun setFlowItems(flowItems: MutableList?): Builder {
+ this.items = flowItems
+ return this
+ }
+
+ fun build(): TimeLineBottomSheet {
+ return TimeLineBottomSheet(this)
+ }
+ }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ configDialogLayout()
+ setContentView(R.layout.dialog_bottom_sheet)
+ setCancelable(true)
+ setCanceledOnTouchOutside(true)
+ //绑定流程进展数据
+ val orderFlowRecyclerView = findViewById(R.id.orderFlowRecyclerView)
+ orderFlowRecyclerView.layoutManager = LinearLayoutManager(ctx)
+ orderFlowRecyclerView.adapter = OrderFlowAdapter()
+
+ val dismissView = findViewById(R.id.dismissView)
+ dismissView.setOnClickListener {
+ this.dismiss()
+ }
+ }
+
+ private fun configDialogLayout() {
+ val window = window ?: return
+ window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
+ window.decorView.setBackgroundColor(Color.TRANSPARENT)
+ window.setGravity(Gravity.BOTTOM)
+ //设置Dialog出现的动画
+ window.setWindowAnimations(R.style.BottomSheetAnimation)
+ val params = window.attributes
+ params.width = SizeUtil.getScreenWidth(ctx)
+ params.height = WindowManager.LayoutParams.WRAP_CONTENT
+ window.attributes = params
+ }
+
+ internal inner class OrderFlowAdapter :
+ RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(ctx)
+
+ override fun onCreateViewHolder(
+ parent: ViewGroup,
+ viewType: Int
+ ): OrderFlowAdapter.ItemViewHolder {
+ val view: View =
+ layoutInflater.inflate(R.layout.item_order_flow_recycleview, parent, false)
+ return ItemViewHolder(view)
+ }
+
+ override fun getItemCount(): Int = items.size
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = items[position]
+ holder.fromPersonView.text = rowsBean.from
+ holder.toPersonView.text = rowsBean.to
+ holder.transferDateView.text = rowsBean.time
+ when (position) {
+ 0 -> {
+
+ }
+ items.size - 1 -> {
+
+ }
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var fromPersonView: TextView = view.findViewById(R.id.fromPersonView)
+ var toPersonView: TextView = view.findViewById(R.id.toPersonView)
+ var transferDateView: TextView = view.findViewById(R.id.transferDateView)
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/anim/bottom_sheet_in.xml b/app/src/main/res/anim/bottom_sheet_in.xml
new file mode 100644
index 0000000..276184e
--- /dev/null
+++ b/app/src/main/res/anim/bottom_sheet_in.xml
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/anim/bottom_sheet_out.xml b/app/src/main/res/anim/bottom_sheet_out.xml
new file mode 100644
index 0000000..62be752
--- /dev/null
+++ b/app/src/main/res/anim/bottom_sheet_out.xml
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_delete.xml b/app/src/main/res/drawable/ic_delete.xml
new file mode 100644
index 0000000..6894a13
--- /dev/null
+++ b/app/src/main/res/drawable/ic_delete.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/app/src/main/res/layout/activity_order_determine_detail.xml b/app/src/main/res/layout/activity_order_determine_detail.xml
index bfb10c2..0ed21df 100644
--- a/app/src/main/res/layout/activity_order_determine_detail.xml
+++ b/app/src/main/res/layout/activity_order_determine_detail.xml
@@ -276,9 +276,27 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/item_order_flow_recycleview.xml b/app/src/main/res/layout/item_order_flow_recycleview.xml
new file mode 100644
index 0000000..b65a22e
--- /dev/null
+++ b/app/src/main/res/layout/item_order_flow_recycleview.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_sensor_recycleview.xml b/app/src/main/res/layout/item_sensor_recycleview.xml
index 0eb7acd..47a0b04 100644
--- a/app/src/main/res/layout/item_sensor_recycleview.xml
+++ b/app/src/main/res/layout/item_sensor_recycleview.xml
@@ -1,61 +1,60 @@
-
+ android:background="@drawable/bg_layout"
+ android:padding="@dimen/dp_10">
-
+ android:layout_height="wrap_content"
+ android:layout_toStartOf="@id/wellStateView"
+ android:fontFamily="sans-serif-black"
+ android:text="412021160186"
+ android:textColor="@color/mainTextColor"
+ android:textSize="@dimen/titleFontSize" />
-
+
-
+
-
+
-
-
-
-
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/app/src/main/assets/svg/delete.svg b/app/src/main/assets/svg/delete.svg
new file mode 100644
index 0000000..593ceb4
--- /dev/null
+++ b/app/src/main/assets/svg/delete.svg
@@ -0,0 +1,19 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
index a60a2ca..e831e68 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/SensorListAdapter.kt
@@ -8,10 +8,11 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
+import com.casic.app.smartwell.extensions.covertColor
import com.casic.app.smartwell.model.WellMonitorModel
class SensorListAdapter(
- context: Context, private val dataRows: MutableList
+ private val context: Context, private val dataRows: MutableList
) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
@@ -27,6 +28,11 @@
//绑定数据
val rowsBean = dataRows[position]
holder.wellCodeView.text = rowsBean.devcode
+ if (rowsBean.onlineState == "0") {
+ holder.wellStateView.setTextColor(R.color.redTextColor.covertColor(context))
+ } else {
+ holder.wellStateView.setTextColor(R.color.greenTextColor.covertColor(context))
+ }
holder.wellStateView.text = rowsBean.onlineStateName
val value = rowsBean.data.toString()
if (value == "") {
diff --git a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
index d1f9f4b..f68cef4 100644
--- a/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
+++ b/app/src/main/java/com/casic/app/smartwell/adapter/UndeterminedOrderAdapter.kt
@@ -11,21 +11,14 @@
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.casic.app.smartwell.R
-import com.casic.app.smartwell.model.UserDetailModel
import com.casic.app.smartwell.model.WorkOrderListModel
-import com.casic.app.smartwell.utils.Constant
-import com.casic.app.smartwell.utils.SaveKeyValues
-import com.google.gson.Gson
-import com.google.gson.reflect.TypeToken
class UndeterminedOrderAdapter(
private val context: Context,
private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private lateinit var userDataModel: UserDetailModel.DataBean
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
- private val gson = Gson()
override fun onCreateViewHolder(
parent: ViewGroup,
@@ -56,14 +49,7 @@
}
holder.wellLocationView.text = rowsBean.position
- val userDetailJson = SaveKeyValues.getValue(Constant.USER_DETAIL_MODEL, "") as String
- if (userDetailJson != "") {
- userDataModel = gson.fromJson(
- userDetailJson,
- object : TypeToken() {}.type
- )
- holder.currentStateView.text = "${userDataModel.name}正在现场确认中..."
- }
+ holder.currentStateView.text = "${rowsBean.jobBelongTo}正在现场确认中..."
//绑定事件
if (listener != null) {
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 682801a..09af7b1 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
@@ -1,61 +1,12 @@
package com.casic.app.smartwell.model
class WorkOrderDetailModel {
- /**
- * code : 200
- * data : [{"firstState":"","alarmContent":22,"deptName":"燃气集团总公司","jobStatus":"0","handleJobPerson":"","alarmContentName":"噪声超限","shouldGetTime":"","firstStatePhotos":"","wellCode":"test001","deptid":"24","alarmTypeName":"数据异常","jobCode":"ZSCX202009070001","jobBelongTo":"","jobFlag":"","confirmJobPerson":"","confirmJobTime":"","jobStatusName":"待处理","alarmValue":"4000.86","alarmId":"11243","alarmLevel":0,"handleJobTime":"","tel":"","id":"1232178","wellId":"4453","jobType":"1","flow":[],"editable":1,"alarmTime":"2019-10-17 14:22:00","handleMessage":"","alarmMessage":"噪声超限","staff":"吴甘牛","handlePhotos":"","getJobTime":"","getJobPerson":"","shouldHandleTime":"","jobId":"1232178","alarmType":"1","alarmStatus":"1","devcode":"212020000a","createTime":"2020-09-07 09:30:18","position":"test001位置"}]
- * message : 请求成功
- * success : true
- */
var code = 0
- var message: String? = null
- var success = false
var data: List? = null
+ var message: String? = null
+ var isSuccess = false
class DataBean {
- /**
- * firstState :
- * alarmContent : 22
- * deptName : 燃气集团总公司
- * jobStatus : 0
- * handleJobPerson :
- * alarmContentName : 噪声超限
- * shouldGetTime :
- * firstStatePhotos :
- * wellCode : test001
- * deptid : 24
- * alarmTypeName : 数据异常
- * jobCode : ZSCX202009070001
- * jobBelongTo :
- * jobFlag :
- * confirmJobPerson :
- * confirmJobTime :
- * jobStatusName : 待处理
- * alarmValue : 4000.86
- * alarmId : 11243
- * alarmLevel : 0
- * handleJobTime :
- * tel :
- * id : 1232178
- * wellId : 4453
- * jobType : 1
- * flow : []
- * editable : 1
- * alarmTime : 2019-10-17 14:22:00
- * handleMessage :
- * alarmMessage : 噪声超限
- * staff : 吴甘牛
- * handlePhotos :
- * getJobTime :
- * getJobPerson :
- * shouldHandleTime :
- * jobId : 1232178
- * alarmType : 1
- * alarmStatus : 1
- * devcode : 212020000a
- * createTime : 2020-09-07 09:30:18
- * position : test001位置
- */
var firstState: String? = null
var alarmContent = 0
var deptName: String? = null
@@ -81,6 +32,7 @@
var id: String? = null
var wellId: String? = null
var jobType: String? = null
+ var flow: MutableList? = null
var editable = 0
var alarmTime: String? = null
var handleMessage: String? = null
@@ -96,6 +48,11 @@
var devcode: String? = null
var createTime: String? = null
var position: String? = null
- var flow: List<*>? = null
+
+ class FlowBean {
+ var from: String? = null
+ var to: String? = null
+ var time: String? = null
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
index 7cfc0cb..a1b889f 100644
--- a/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
+++ b/app/src/main/java/com/casic/app/smartwell/view/DetermineDetailActivity.kt
@@ -16,6 +16,7 @@
import com.casic.app.smartwell.view.fragment.UndeterminedOrderFragment
import com.casic.app.smartwell.vm.*
import com.casic.app.smartwell.widgets.SingleChoiceDialog
+import com.casic.app.smartwell.widgets.TimeLineBottomSheet
import com.luck.picture.lib.PictureSelector
import com.luck.picture.lib.config.PictureConfig
import com.luck.picture.lib.config.PictureMimeType
@@ -24,6 +25,7 @@
import com.pengxh.app.multilib.widget.dialog.BottomActionSheet
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
import kotlinx.android.synthetic.main.activity_order_determine_detail.*
+import kotlinx.android.synthetic.main.activity_well_management.*
import kotlinx.android.synthetic.main.include_base_title.*
import java.io.File
@@ -98,6 +100,19 @@
tipsImageView.visibility = View.GONE
}
+ //工单流转细节
+ val orderFlow = orderDetail.flow!!
+ if (orderFlow.size != 0) {
+ transferTipsView.visibility = View.VISIBLE
+ transferTipsView.setOnClickListener {
+ TimeLineBottomSheet.Builder()
+ .setContext(this)
+ .setFlowItems(orderFlow)
+ .build().show()
+ }
+ } else {
+ transferTipsView.visibility = View.GONE
+ }
acceptDateView.text = orderDetail.getJobTime
dispatchDateView.text = orderDetail.createTime
completedDateView.text = orderDetail.handleJobTime
@@ -123,19 +138,19 @@
AlertControlDialog.Builder()
.setContext(context)
.setTitle("操作提示")
- .setMessage("确定要接单吗")
+ .setMessage("确定要转单吗")
.setNegativeButton("取消")
.setPositiveButton("确定")
.setOnDialogButtonClickListener(object :
AlertControlDialog.OnDialogButtonClickListener {
override fun onConfirmClick() {
- if (orderDetail.jobId.toString() == "") {
- "工单ID异常,无法接单".show(context)
+ val orderId = orderDetail.jobId.toString()
+ if (orderId == "") {
+ "工单ID异常,无法转单".show(context)
return
}
transferOrderViewModel.transferWorkOrder(
- id = orderDetail.jobId!!,
- userId = personBean.id!!
+ id = orderId, userId = personBean.id!!
)
}
diff --git a/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
index 72d715b..b5fdc10 100644
--- a/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
+++ b/app/src/main/java/com/casic/app/smartwell/view/InHandleDetailActivity.kt
@@ -192,13 +192,13 @@
.setOnDialogButtonClickListener(object :
AlertControlDialog.OnDialogButtonClickListener {
override fun onConfirmClick() {
- if (orderDetail.jobId.toString() == "") {
+ val orderId = orderDetail.jobId.toString()
+ if (orderId == "") {
"工单ID异常,无法转单".show(context)
return
}
transferOrderViewModel.transferWorkOrder(
- id = orderDetail.jobId!!,
- userId = personBean.id!!
+ id = orderId, userId = personBean.id!!
)
}
diff --git a/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt b/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt
new file mode 100644
index 0000000..138f9cf
--- /dev/null
+++ b/app/src/main/java/com/casic/app/smartwell/widgets/TimeLineBottomSheet.kt
@@ -0,0 +1,110 @@
+package com.casic.app.smartwell.widgets
+
+import android.app.Dialog
+import android.content.Context
+import android.graphics.Color
+import android.graphics.drawable.ColorDrawable
+import android.os.Bundle
+import android.view.*
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.app.smartwell.R
+import com.casic.app.smartwell.model.WorkOrderDetailModel
+import com.pengxh.app.multilib.utils.SizeUtil
+
+class TimeLineBottomSheet private constructor(builder: Builder) : Dialog(
+ builder.context!!, R.style.BottomSheetStyle
+) {
+ private val ctx: Context = builder.context!!
+ private val items: MutableList = builder.items!!
+
+ class Builder {
+ var context: Context? = null
+ var items: MutableList? = null
+
+ fun setContext(context: Context?): Builder {
+ this.context = context
+ return this
+ }
+
+ fun setFlowItems(flowItems: MutableList?): Builder {
+ this.items = flowItems
+ return this
+ }
+
+ fun build(): TimeLineBottomSheet {
+ return TimeLineBottomSheet(this)
+ }
+ }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ configDialogLayout()
+ setContentView(R.layout.dialog_bottom_sheet)
+ setCancelable(true)
+ setCanceledOnTouchOutside(true)
+ //绑定流程进展数据
+ val orderFlowRecyclerView = findViewById(R.id.orderFlowRecyclerView)
+ orderFlowRecyclerView.layoutManager = LinearLayoutManager(ctx)
+ orderFlowRecyclerView.adapter = OrderFlowAdapter()
+
+ val dismissView = findViewById(R.id.dismissView)
+ dismissView.setOnClickListener {
+ this.dismiss()
+ }
+ }
+
+ private fun configDialogLayout() {
+ val window = window ?: return
+ window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
+ window.decorView.setBackgroundColor(Color.TRANSPARENT)
+ window.setGravity(Gravity.BOTTOM)
+ //设置Dialog出现的动画
+ window.setWindowAnimations(R.style.BottomSheetAnimation)
+ val params = window.attributes
+ params.width = SizeUtil.getScreenWidth(ctx)
+ params.height = WindowManager.LayoutParams.WRAP_CONTENT
+ window.attributes = params
+ }
+
+ internal inner class OrderFlowAdapter :
+ RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(ctx)
+
+ override fun onCreateViewHolder(
+ parent: ViewGroup,
+ viewType: Int
+ ): OrderFlowAdapter.ItemViewHolder {
+ val view: View =
+ layoutInflater.inflate(R.layout.item_order_flow_recycleview, parent, false)
+ return ItemViewHolder(view)
+ }
+
+ override fun getItemCount(): Int = items.size
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = items[position]
+ holder.fromPersonView.text = rowsBean.from
+ holder.toPersonView.text = rowsBean.to
+ holder.transferDateView.text = rowsBean.time
+ when (position) {
+ 0 -> {
+
+ }
+ items.size - 1 -> {
+
+ }
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var fromPersonView: TextView = view.findViewById(R.id.fromPersonView)
+ var toPersonView: TextView = view.findViewById(R.id.toPersonView)
+ var transferDateView: TextView = view.findViewById(R.id.transferDateView)
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/anim/bottom_sheet_in.xml b/app/src/main/res/anim/bottom_sheet_in.xml
new file mode 100644
index 0000000..276184e
--- /dev/null
+++ b/app/src/main/res/anim/bottom_sheet_in.xml
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/anim/bottom_sheet_out.xml b/app/src/main/res/anim/bottom_sheet_out.xml
new file mode 100644
index 0000000..62be752
--- /dev/null
+++ b/app/src/main/res/anim/bottom_sheet_out.xml
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_delete.xml b/app/src/main/res/drawable/ic_delete.xml
new file mode 100644
index 0000000..6894a13
--- /dev/null
+++ b/app/src/main/res/drawable/ic_delete.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/app/src/main/res/layout/activity_order_determine_detail.xml b/app/src/main/res/layout/activity_order_determine_detail.xml
index bfb10c2..0ed21df 100644
--- a/app/src/main/res/layout/activity_order_determine_detail.xml
+++ b/app/src/main/res/layout/activity_order_determine_detail.xml
@@ -276,9 +276,27 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/item_order_flow_recycleview.xml b/app/src/main/res/layout/item_order_flow_recycleview.xml
new file mode 100644
index 0000000..b65a22e
--- /dev/null
+++ b/app/src/main/res/layout/item_order_flow_recycleview.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_sensor_recycleview.xml b/app/src/main/res/layout/item_sensor_recycleview.xml
index 0eb7acd..47a0b04 100644
--- a/app/src/main/res/layout/item_sensor_recycleview.xml
+++ b/app/src/main/res/layout/item_sensor_recycleview.xml
@@ -1,61 +1,60 @@
-
+ android:background="@drawable/bg_layout"
+ android:padding="@dimen/dp_10">
-
+ android:layout_height="wrap_content"
+ android:layout_toStartOf="@id/wellStateView"
+ android:fontFamily="sans-serif-black"
+ android:text="412021160186"
+ android:textColor="@color/mainTextColor"
+ android:textSize="@dimen/titleFontSize" />
-
+
-
+
-
+
-
-
-
-
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index bef4fcd..d5843d1 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -139,4 +139,25 @@
- @anim/action_dialog_show
- @anim/action_dialog_hide
+
+
+
+