diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 6923679..8b7c719 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -43,6 +43,7 @@
+
+
()
}
homeView.deviceDataLayout.setOnClickListener {
-
+// requireContext().navigatePageTo()
}
homeView.orderDataLayout.setOnClickListener {
-
+ requireContext().navigatePageTo()
}
homeView.alarmDataLayout.setOnClickListener {
-
+// requireContext().navigatePageTo()
}
return homeView
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 6923679..8b7c719 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -43,6 +43,7 @@
+
()
}
homeView.deviceDataLayout.setOnClickListener {
-
+// requireContext().navigatePageTo()
}
homeView.orderDataLayout.setOnClickListener {
-
+ requireContext().navigatePageTo()
}
homeView.alarmDataLayout.setOnClickListener {
-
+// requireContext().navigatePageTo()
}
return homeView
}
diff --git a/app/src/main/java/com/casic/app/smartwell/sanxi/view/WorkOrderManageActivity.kt b/app/src/main/java/com/casic/app/smartwell/sanxi/view/WorkOrderManageActivity.kt
new file mode 100644
index 0000000..50d3abe
--- /dev/null
+++ b/app/src/main/java/com/casic/app/smartwell/sanxi/view/WorkOrderManageActivity.kt
@@ -0,0 +1,276 @@
+package com.casic.app.smartwell.sanxi.view
+
+import android.annotation.SuppressLint
+import android.os.Handler
+import android.os.Looper
+import android.os.Message
+import android.view.View
+import android.widget.Button
+import android.widget.EditText
+import android.widget.TextView
+import androidx.core.view.GravityCompat
+import androidx.drawerlayout.widget.DrawerLayout
+import androidx.lifecycle.ViewModelProvider
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.casic.app.smartwell.sanxi.R
+import com.casic.app.smartwell.sanxi.adapter.WorkOrderListAdapter
+import com.casic.app.smartwell.sanxi.base.BaseActivity
+import com.casic.app.smartwell.sanxi.extensions.navigatePageTo
+import com.casic.app.smartwell.sanxi.extensions.show
+import com.casic.app.smartwell.sanxi.extensions.showEmptyPage
+import com.casic.app.smartwell.sanxi.model.WorkOrderListModel
+import com.casic.app.smartwell.sanxi.utils.Constant
+import com.casic.app.smartwell.sanxi.utils.SaveKeyValues
+import com.casic.app.smartwell.sanxi.vm.AlarmViewModel
+import com.casic.app.smartwell.sanxi.vm.WorkOrderViewModel
+import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
+import kotlinx.android.synthetic.main.activity_work_order.*
+import kotlinx.android.synthetic.main.include_base_title.titleView
+import kotlinx.android.synthetic.main.include_empty_view.*
+import java.lang.ref.WeakReference
+
+/**
+ * 未完工单管理页面
+ * */
+class WorkOrderManageActivity : BaseActivity(), DrawerLayout.DrawerListener {
+
+ private lateinit var weakReferenceHandler: WeakReferenceHandler
+ private lateinit var workOrderViewModel: WorkOrderViewModel
+ private lateinit var alarmViewModel: AlarmViewModel
+ private lateinit var workOrderListAdapter: WorkOrderListAdapter
+ private var dataBeans: MutableList = ArrayList()
+ private var keywords = ""
+ private var alarmType = ""
+ private var alarmContent = ""
+ private var jobStatus = ""
+ private var pageIndex = 1
+ private var isRefresh = false
+ private var isLoadMore = false
+
+ override fun initLayoutView(): Int = R.layout.activity_work_order
+
+ override fun setupTopBarLayout() {
+ titleView.text = "工单管理"
+ rightOptionView.setOnClickListener {
+ if (rightDrawerLayout.isDrawerOpen(GravityCompat.END)) {
+ rightDrawerLayout.closeDrawer(GravityCompat.END)
+ } else {
+ rightDrawerLayout.openDrawer(GravityCompat.END)
+ }
+ }
+ rightDrawerLayout.addDrawerListener(this)
+ }
+
+ override fun initData() {
+ weakReferenceHandler = WeakReferenceHandler(this)
+ workOrderViewModel = ViewModelProvider(this).get(WorkOrderViewModel::class.java)
+ alarmViewModel = ViewModelProvider(this).get(AlarmViewModel::class.java)
+ //默认加载所有数据
+ obtainWorkOrderListByPage()
+ }
+
+ override fun initEvent() {
+ resultRefreshLayout.setOnRefreshListener {
+ isRefresh = true
+ //刷新之后页码重置
+ pageIndex = 1
+ obtainWorkOrderListByPage()
+ }
+ resultRefreshLayout.setOnLoadMoreListener {
+ isLoadMore = true
+ pageIndex++
+ obtainWorkOrderListByPage()
+ }
+
+ workOrderViewModel.orderListModel.observe(this, {
+ if (it.code == 200) {
+ val dataRows = it.data?.rows
+ when {
+ isRefresh -> {
+ dataBeans.clear()
+ dataBeans = dataRows!!
+ resultRefreshLayout.finishRefresh()
+ isRefresh = false
+ }
+ isLoadMore -> {
+ if (dataRows?.size == 0) {
+ "到底了,别拉了".show()
+ }
+ dataBeans.addAll(dataRows!!)
+ resultRefreshLayout.finishLoadMore()
+ isLoadMore = false
+ }
+ else -> {
+ dataBeans = dataRows!!
+ }
+ }
+ weakReferenceHandler.sendEmptyMessage(2022060801)
+ }
+ })
+
+ alarmViewModel.typeModel.observe(this, {
+ if (it.code == 200) {
+ val sheetBuilder = QMUIBottomSheet.BottomListSheetBuilder(this)
+ sheetBuilder.setTitle("告警类型")
+ it.data?.forEach { dataBean ->
+ sheetBuilder.addItem(dataBean.name)
+ }
+ sheetBuilder.setGravityCenter(true)
+ .setOnSheetItemClickListener { dialog, _, position, tag ->
+ alarmTypeView.text = tag
+ alarmType = it.data!![position].value.toString()
+
+ //告警类型变了之后需要清空告警内容
+ alarmContentView.text = ""
+ dialog.dismiss()
+ }.build().show()
+ }
+ })
+
+ alarmViewModel.contentModel.observe(this, {
+ if (it.code == 200) {
+ val sheetBuilder = QMUIBottomSheet.BottomListSheetBuilder(this)
+ sheetBuilder.setTitle("告警内容")
+ it.data?.list?.forEach { dataBean ->
+ sheetBuilder.addItem(dataBean.name)
+ }
+ sheetBuilder.setGravityCenter(true)
+ .setOnSheetItemClickListener { dialog, _, position, tag ->
+ alarmContentView.text = tag
+ alarmContent = it.data!!.list!![position].value.toString()
+
+ dialog.dismiss()
+ }.build().show()
+ }
+ })
+
+ workOrderViewModel.orderStatusModel.observe(this, {
+ if (it.code == 200) {
+ val sheetBuilder = QMUIBottomSheet.BottomListSheetBuilder(this)
+ sheetBuilder.setTitle("工单状态")
+ it.data?.forEach { dataBean ->
+ sheetBuilder.addItem(dataBean.name)
+ }
+ sheetBuilder.setGravityCenter(true)
+ .setOnSheetItemClickListener { dialog, _, position, tag ->
+ orderStateView.text = tag
+ jobStatus = it.data!![position].value.toString()
+
+ dialog.dismiss()
+ }.build().show()
+ }
+ })
+ }
+
+ private fun obtainWorkOrderListByPage() {
+ workOrderViewModel.obtainWorkOrderListByState(
+ keywords, alarmType, alarmContent, jobStatus, pageIndex
+ )
+ }
+
+ override fun onDrawerSlide(drawerView: View, slideOffset: Float) {
+
+ }
+
+ override fun onDrawerOpened(drawerView: View) {
+ //只要打开抽屉,pageIndex就默认等于1
+ this.pageIndex = 1
+
+ val wellCodeView = drawerView.findViewById(R.id.wellCodeView)
+ val alarmTypeView = drawerView.findViewById(R.id.alarmTypeView)
+ val alarmContentView = drawerView.findViewById(R.id.alarmContentView)
+ val orderStateView = drawerView.findViewById(R.id.orderStateView)
+ val clearButton = drawerView.findViewById