diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 8b7c719..2932de8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -44,6 +44,7 @@
+
+
()
+ requireContext().navigatePageTo()
}
return homeView
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 8b7c719..2932de8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -44,6 +44,7 @@
+
()
+ requireContext().navigatePageTo()
}
return homeView
}
diff --git a/app/src/main/java/com/casic/app/smartwell/sanxi/view/AlarmManageActivity.kt b/app/src/main/java/com/casic/app/smartwell/sanxi/view/AlarmManageActivity.kt
new file mode 100644
index 0000000..15c4e81
--- /dev/null
+++ b/app/src/main/java/com/casic/app/smartwell/sanxi/view/AlarmManageActivity.kt
@@ -0,0 +1,313 @@
+package com.casic.app.smartwell.sanxi.view
+
+import android.annotation.SuppressLint
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+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.AlarmListAdapter
+import com.casic.app.smartwell.sanxi.base.BaseActivity
+import com.casic.app.smartwell.sanxi.extensions.*
+import com.casic.app.smartwell.sanxi.model.AlarmListModel
+import com.casic.app.smartwell.sanxi.utils.BroadcastReceiverManager
+import com.casic.app.smartwell.sanxi.utils.Constant
+import com.casic.app.smartwell.sanxi.utils.DialogHelper
+import com.casic.app.smartwell.sanxi.utils.LoadState
+import com.casic.app.smartwell.sanxi.vm.AlarmViewModel
+import com.casic.app.smartwell.sanxi.widgets.CancelAlarmDialog
+import com.jzxiang.pickerview.TimePickerDialog
+import com.jzxiang.pickerview.data.Type
+import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
+import kotlinx.android.synthetic.main.activity_alarm_manage.*
+import kotlinx.android.synthetic.main.include_empty_view.*
+import kotlinx.android.synthetic.main.include_select_title.*
+import java.lang.ref.WeakReference
+
+class AlarmManageActivity : BaseActivity(), DrawerLayout.DrawerListener {
+
+ private lateinit var weakReferenceHandler: WeakReferenceHandler
+ private lateinit var alarmViewModel: AlarmViewModel
+ private lateinit var alarmListAdapter: AlarmListAdapter
+ private var dataBeans: MutableList = ArrayList()
+ private var keywords = ""
+ private var alarmContent = ""
+ private var pageIndex = 1
+ private var isRefresh = false
+ private var isLoadMore = false
+
+ override fun initLayoutView(): Int = R.layout.activity_alarm_manage
+
+ override fun setupTopBarLayout() {
+ leftBackView.setOnClickListener { finish() }
+ 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)
+ //告警类型
+ alarmViewModel = ViewModelProvider(this).get(AlarmViewModel::class.java)
+ //默认加载所有数据
+ obtainAlarmListByPage()
+ BroadcastReceiverManager.instance.addAction(
+ Constant.CANCEL_ALARM_ACTION, object : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ //收到广播相当于做了一次列表刷新
+ isRefresh = true
+ pageIndex = 1
+ obtainAlarmListByPage()
+ }
+ })
+ }
+
+ override fun initEvent() {
+ resultRefreshLayout.setOnRefreshListener {
+ isRefresh = true
+ //刷新之后页码重置
+ pageIndex = 1
+ obtainAlarmListByPage()
+ }
+ resultRefreshLayout.setOnLoadMoreListener {
+ isLoadMore = true
+ pageIndex++
+ obtainAlarmListByPage()
+ }
+
+ alarmViewModel.listModel.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(2022060802)
+ }
+ })
+
+ 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()
+ }
+ })
+
+ alarmViewModel.loadState.observe(this, {
+ when (it) {
+ is LoadState.Loading -> {
+ DialogHelper.showLoadingDialog(this, "处理中,请稍后")
+ }
+ is LoadState.Success -> {
+ DialogHelper.dismissLoadingDialog()
+ //刷新列表
+ BroadcastReceiverManager.instance.sendBroadcast(
+ Constant.CANCEL_ALARM_ACTION, ""
+ )
+ }
+ else -> {
+ DialogHelper.dismissLoadingDialog()
+ }
+ }
+ })
+ }
+
+ override fun onDrawerSlide(drawerView: View, slideOffset: Float) {
+
+ }
+
+ override fun onDrawerOpened(drawerView: View) {
+ val wellCodeView = drawerView.findViewById(R.id.wellCodeView)
+ val alarmContentView = drawerView.findViewById(R.id.alarmContentView)
+ val searchButton = drawerView.findViewById