diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4d7c573..3fcef8b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -50,6 +50,7 @@ + + = 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_list_by_well + + 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() { + keywords = intent.getStringExtra(Constant.INTENT_PARAM)!! + weakReferenceHandler = WeakReferenceHandler(callback) + //告警类型 + alarmViewModel = ViewModelProvider(this).get(AlarmViewModel::class.java) + //默认加载所有数据 + 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(2022061001) + } + }) + + 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() + } + }) + } + + 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