diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt index 7efe048..0dfd8e0 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt @@ -36,7 +36,7 @@ } else { holder.alarmValueView.text = alarmValue } - holder.wellCodeView.text = rowsBean.wellCode + holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devCodeView.text = rowsBean.devcode holder.wellLocationView.text = String.format("位置:${rowsBean.position}") holder.createTimeView.text = rowsBean.alarmTime diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt index 7efe048..0dfd8e0 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt @@ -36,7 +36,7 @@ } else { holder.alarmValueView.text = alarmValue } - holder.wellCodeView.text = rowsBean.wellCode + holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devCodeView.text = rowsBean.devcode holder.wellLocationView.text = String.format("位置:${rowsBean.position}") holder.createTimeView.text = rowsBean.alarmTime diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt index a4e6526..4a72e6c 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt @@ -8,7 +8,6 @@ import androidx.recyclerview.widget.RecyclerView import com.casic.qd.smartwell.R import com.casic.qd.smartwell.model.DeviceDataModel -import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton class DeviceDataListAdapter( context: Context, private val dataRows: MutableList @@ -30,6 +29,11 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devLocationView.text = String.format("位置:${rowsBean.position}") @@ -38,11 +42,11 @@ holder.monthDataView.text = rowsBean.monthCount holder.totalDataView.text = rowsBean.totalCount if (rowsBean.deviceType == "13") { - holder.dataUnitView.text = String.format("单位:立方米(m³)") + holder.dataUnitView.text = String.format("单位:m³") } else { holder.dataUnitView.text = "单位:未知" } - holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.installDate}") + holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.uptime}") //绑定事件 if (listener != null) { holder.itemView.setOnClickListener { @@ -52,7 +56,7 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var watchDataView: TextView = view.findViewById(R.id.watchDataView) diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt index 7efe048..0dfd8e0 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt @@ -36,7 +36,7 @@ } else { holder.alarmValueView.text = alarmValue } - holder.wellCodeView.text = rowsBean.wellCode + holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devCodeView.text = rowsBean.devcode holder.wellLocationView.text = String.format("位置:${rowsBean.position}") holder.createTimeView.text = rowsBean.alarmTime diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt index a4e6526..4a72e6c 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt @@ -8,7 +8,6 @@ import androidx.recyclerview.widget.RecyclerView import com.casic.qd.smartwell.R import com.casic.qd.smartwell.model.DeviceDataModel -import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton class DeviceDataListAdapter( context: Context, private val dataRows: MutableList @@ -30,6 +29,11 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devLocationView.text = String.format("位置:${rowsBean.position}") @@ -38,11 +42,11 @@ holder.monthDataView.text = rowsBean.monthCount holder.totalDataView.text = rowsBean.totalCount if (rowsBean.deviceType == "13") { - holder.dataUnitView.text = String.format("单位:立方米(m³)") + holder.dataUnitView.text = String.format("单位:m³") } else { holder.dataUnitView.text = "单位:未知" } - holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.installDate}") + holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.uptime}") //绑定事件 if (listener != null) { holder.itemView.setOnClickListener { @@ -52,7 +56,7 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var watchDataView: TextView = view.findViewById(R.id.watchDataView) diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt index 2f0fc64..c5c0945 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt @@ -4,12 +4,10 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.widget.ImageView import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.qd.smartwell.R import com.casic.qd.smartwell.model.DeviceListModel -import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton class DeviceListAdapter( context: Context, private val dataRows: MutableList @@ -31,13 +29,13 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") - if (rowsBean.onlineState == "1") { - holder.deviceStateView.setBackgroundResource(R.drawable.bg_view_green) - } else { - holder.deviceStateView.setBackgroundResource(R.drawable.bg_view_gray) - } holder.devLocationView.text = String.format("位置:${rowsBean.position}") holder.devInstallTimeView.text = String.format("安装日期:${rowsBean.installDate}") //绑定事件 @@ -49,9 +47,8 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) - var deviceStateView: ImageView = view.findViewById(R.id.deviceStateView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var devLocationView: TextView = view.findViewById(R.id.devLocationView) var devInstallTimeView: TextView = view.findViewById(R.id.devInstallTimeView) diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt index 7efe048..0dfd8e0 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt @@ -36,7 +36,7 @@ } else { holder.alarmValueView.text = alarmValue } - holder.wellCodeView.text = rowsBean.wellCode + holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devCodeView.text = rowsBean.devcode holder.wellLocationView.text = String.format("位置:${rowsBean.position}") holder.createTimeView.text = rowsBean.alarmTime diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt index a4e6526..4a72e6c 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt @@ -8,7 +8,6 @@ import androidx.recyclerview.widget.RecyclerView import com.casic.qd.smartwell.R import com.casic.qd.smartwell.model.DeviceDataModel -import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton class DeviceDataListAdapter( context: Context, private val dataRows: MutableList @@ -30,6 +29,11 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devLocationView.text = String.format("位置:${rowsBean.position}") @@ -38,11 +42,11 @@ holder.monthDataView.text = rowsBean.monthCount holder.totalDataView.text = rowsBean.totalCount if (rowsBean.deviceType == "13") { - holder.dataUnitView.text = String.format("单位:立方米(m³)") + holder.dataUnitView.text = String.format("单位:m³") } else { holder.dataUnitView.text = "单位:未知" } - holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.installDate}") + holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.uptime}") //绑定事件 if (listener != null) { holder.itemView.setOnClickListener { @@ -52,7 +56,7 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var watchDataView: TextView = view.findViewById(R.id.watchDataView) diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt index 2f0fc64..c5c0945 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt @@ -4,12 +4,10 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.widget.ImageView import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.qd.smartwell.R import com.casic.qd.smartwell.model.DeviceListModel -import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton class DeviceListAdapter( context: Context, private val dataRows: MutableList @@ -31,13 +29,13 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") - if (rowsBean.onlineState == "1") { - holder.deviceStateView.setBackgroundResource(R.drawable.bg_view_green) - } else { - holder.deviceStateView.setBackgroundResource(R.drawable.bg_view_gray) - } holder.devLocationView.text = String.format("位置:${rowsBean.position}") holder.devInstallTimeView.text = String.format("安装日期:${rowsBean.installDate}") //绑定事件 @@ -49,9 +47,8 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) - var deviceStateView: ImageView = view.findViewById(R.id.deviceStateView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var devLocationView: TextView = view.findViewById(R.id.devLocationView) var devInstallTimeView: TextView = view.findViewById(R.id.devInstallTimeView) diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt index 513ea50..48c5cf2 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt @@ -4,6 +4,11 @@ import android.os.Handler import android.os.Looper import android.os.Message +import android.view.View +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.qd.smartwell.R @@ -11,11 +16,14 @@ import com.casic.qd.smartwell.base.BaseActivity import com.casic.qd.smartwell.extensions.show import com.casic.qd.smartwell.extensions.showEmptyPage +import com.casic.qd.smartwell.model.AreaModel import com.casic.qd.smartwell.model.DeviceDataModel import com.casic.qd.smartwell.utils.DialogHelper import com.casic.qd.smartwell.utils.LoadState import com.casic.qd.smartwell.vm.AreaViewModel import com.casic.qd.smartwell.vm.DeviceViewModel +import com.casic.qd.smartwell.widgets.BottomAreaSheet +import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton import kotlinx.android.synthetic.main.activity_data_search.* import kotlinx.android.synthetic.main.include_base_title.titleView import kotlinx.android.synthetic.main.include_empty_view.* @@ -27,7 +35,7 @@ * @date 2022/2/17 14:33 * @email 290677893@qq.com */ -class SearchDataActivity : BaseActivity() { +class SearchDataActivity : BaseActivity(), DrawerLayout.DrawerListener { private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var deviceViewModel: DeviceViewModel @@ -38,6 +46,7 @@ private var isRefresh = false private var isLoadMore = false private var areaId = "" + private var keywords = "" override fun initLayoutView(): Int = R.layout.activity_data_search @@ -53,7 +62,7 @@ override fun initEvent() { //默认加载所有数据 - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) deviceViewModel.deviceDataModel.observe(this, { if (it.code == 200) { val dataRows = it.data?.rows @@ -95,73 +104,96 @@ isRefresh = true //刷新之后页码重置 pageIndex = 1 - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) } resultRefreshLayout.setOnLoadMoreListener { isLoadMore = true pageIndex++ - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) } -// areaView.setOnClickListener { -// areaViewModel.obtainArea() -// } -// areaViewModel.areaModel.observe(this, { -// if (it.code == 200) { -// val firstLevelArea: MutableList = ArrayList() -// val secondLevelArea: MutableList = ArrayList() -// val thirdLevelArea: MutableList = ArrayList() -// it.data?.forEach { dataBean -> -// when (dataBean.level) { -// 2 -> firstLevelArea.add(dataBean) -// 3 -> secondLevelArea.add(dataBean) -// 4 -> thirdLevelArea.add(dataBean) -// } -// } -// -// // 绑定区域 -// BottomAreaSheet.Builder() -// .setContext(this) -// .setFirstAreaData(firstLevelArea) -// .setSecondAreaData(secondLevelArea) -// .setThirdAreaData(thirdLevelArea) -// .setOnActionSheetListener(object : BottomAreaSheet.OnActionSheetListener { -// override fun onAreaSelected(area: String?, id: String?) { -// areaView.text = area -// areaId = id.toString() -// } -// }).build().show() -// } -// }) -// -// searchButton.setChangeAlphaWhenPress(true) -// searchButton.setOnClickListener { -// //页面跳转,将查询参数传过去 -// navigatePageTo( -// DeviceSearchResultActivity::class.java, addAll( -// wellCodeView.text.toString().trim(), -// deviceTypeValue, -// deptId, -// deviceState, -// areaId -// ) -// ) -// } -// -// clearButton.setChangeAlphaWhenPress(true) -// clearButton.setOnClickListener { -// wellCodeView.setText("") -// deviceTypeView.text = "" -// ownerShipView.text = "" -// deviceStateView.text = "" -// areaView.text = "" -// } + rightOptionView.setOnClickListener { + if (rightDrawerLayout.isDrawerOpen(GravityCompat.END)) { + rightDrawerLayout.closeDrawer(GravityCompat.END) + } else { + rightDrawerLayout.openDrawer(GravityCompat.END) + } + } + rightDrawerLayout.addDrawerListener(this) + + areaViewModel.areaModel.observe(this, { + if (it.code == 200) { + val firstLevelArea: MutableList = ArrayList() + val secondLevelArea: MutableList = ArrayList() + val thirdLevelArea: MutableList = ArrayList() + it.data?.forEach { dataBean -> + when (dataBean.level) { + 2 -> firstLevelArea.add(dataBean) + 3 -> secondLevelArea.add(dataBean) + 4 -> thirdLevelArea.add(dataBean) + } + } + + // 绑定区域 + BottomAreaSheet.Builder() + .setContext(this) + .setFirstAreaData(firstLevelArea) + .setSecondAreaData(secondLevelArea) + .setThirdAreaData(thirdLevelArea) + .setOnActionSheetListener(object : + BottomAreaSheet.OnActionSheetListener { + override fun onAreaSelected(area: String?, id: String?) { + areaView.text = area + areaId = id.toString() + } + }).build().show() + } + }) } - private fun obtainSearchResult(areaId: String?, keywords: String?, pageIndex: Int) { + private fun obtainSearchResult(pageIndex: Int) { deviceViewModel.obtainDeviceData(areaId, keywords, pageIndex) } + override fun onDrawerSlide(drawerView: View, slideOffset: Float) { + + } + + override fun onDrawerOpened(drawerView: View) { + val deviceCodeView = drawerView.findViewById(R.id.deviceCodeView) + val areaView = drawerView.findViewById(R.id.areaView) + val searchButton = drawerView.findViewById(R.id.searchButton) + val clearButton = drawerView.findViewById(R.id.clearButton) + + areaView.setOnClickListener { + areaViewModel.obtainArea() + } + + searchButton.setChangeAlphaWhenPress(true) + searchButton.setOnClickListener { + keywords = deviceCodeView.text.toString() + obtainSearchResult(pageIndex) + rightDrawerLayout.closeDrawer(GravityCompat.END) + } + + clearButton.setChangeAlphaWhenPress(true) + clearButton.setOnClickListener { + keywords = "" + areaId = "" + + deviceCodeView.setText("") + areaView.text = "" + } + } + + override fun onDrawerClosed(drawerView: View) { + + } + + override fun onDrawerStateChanged(newState: Int) { + + } + private class WeakReferenceHandler(activity: SearchDataActivity) : Handler(Looper.getMainLooper()) { private val reference: WeakReference = WeakReference(activity) @@ -176,7 +208,7 @@ } else { if (activity.dataBeans.size == 0) { activity.emptyView!!.showEmptyPage { - activity.obtainSearchResult(activity.areaId, "", activity.pageIndex) + activity.obtainSearchResult(activity.pageIndex) } } else { activity.emptyView!!.hide() diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt index 7efe048..0dfd8e0 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt @@ -36,7 +36,7 @@ } else { holder.alarmValueView.text = alarmValue } - holder.wellCodeView.text = rowsBean.wellCode + holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devCodeView.text = rowsBean.devcode holder.wellLocationView.text = String.format("位置:${rowsBean.position}") holder.createTimeView.text = rowsBean.alarmTime diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt index a4e6526..4a72e6c 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt @@ -8,7 +8,6 @@ import androidx.recyclerview.widget.RecyclerView import com.casic.qd.smartwell.R import com.casic.qd.smartwell.model.DeviceDataModel -import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton class DeviceDataListAdapter( context: Context, private val dataRows: MutableList @@ -30,6 +29,11 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devLocationView.text = String.format("位置:${rowsBean.position}") @@ -38,11 +42,11 @@ holder.monthDataView.text = rowsBean.monthCount holder.totalDataView.text = rowsBean.totalCount if (rowsBean.deviceType == "13") { - holder.dataUnitView.text = String.format("单位:立方米(m³)") + holder.dataUnitView.text = String.format("单位:m³") } else { holder.dataUnitView.text = "单位:未知" } - holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.installDate}") + holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.uptime}") //绑定事件 if (listener != null) { holder.itemView.setOnClickListener { @@ -52,7 +56,7 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var watchDataView: TextView = view.findViewById(R.id.watchDataView) diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt index 2f0fc64..c5c0945 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt @@ -4,12 +4,10 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.widget.ImageView import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.qd.smartwell.R import com.casic.qd.smartwell.model.DeviceListModel -import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton class DeviceListAdapter( context: Context, private val dataRows: MutableList @@ -31,13 +29,13 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") - if (rowsBean.onlineState == "1") { - holder.deviceStateView.setBackgroundResource(R.drawable.bg_view_green) - } else { - holder.deviceStateView.setBackgroundResource(R.drawable.bg_view_gray) - } holder.devLocationView.text = String.format("位置:${rowsBean.position}") holder.devInstallTimeView.text = String.format("安装日期:${rowsBean.installDate}") //绑定事件 @@ -49,9 +47,8 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) - var deviceStateView: ImageView = view.findViewById(R.id.deviceStateView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var devLocationView: TextView = view.findViewById(R.id.devLocationView) var devInstallTimeView: TextView = view.findViewById(R.id.devInstallTimeView) diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt index 513ea50..48c5cf2 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt @@ -4,6 +4,11 @@ import android.os.Handler import android.os.Looper import android.os.Message +import android.view.View +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.qd.smartwell.R @@ -11,11 +16,14 @@ import com.casic.qd.smartwell.base.BaseActivity import com.casic.qd.smartwell.extensions.show import com.casic.qd.smartwell.extensions.showEmptyPage +import com.casic.qd.smartwell.model.AreaModel import com.casic.qd.smartwell.model.DeviceDataModel import com.casic.qd.smartwell.utils.DialogHelper import com.casic.qd.smartwell.utils.LoadState import com.casic.qd.smartwell.vm.AreaViewModel import com.casic.qd.smartwell.vm.DeviceViewModel +import com.casic.qd.smartwell.widgets.BottomAreaSheet +import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton import kotlinx.android.synthetic.main.activity_data_search.* import kotlinx.android.synthetic.main.include_base_title.titleView import kotlinx.android.synthetic.main.include_empty_view.* @@ -27,7 +35,7 @@ * @date 2022/2/17 14:33 * @email 290677893@qq.com */ -class SearchDataActivity : BaseActivity() { +class SearchDataActivity : BaseActivity(), DrawerLayout.DrawerListener { private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var deviceViewModel: DeviceViewModel @@ -38,6 +46,7 @@ private var isRefresh = false private var isLoadMore = false private var areaId = "" + private var keywords = "" override fun initLayoutView(): Int = R.layout.activity_data_search @@ -53,7 +62,7 @@ override fun initEvent() { //默认加载所有数据 - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) deviceViewModel.deviceDataModel.observe(this, { if (it.code == 200) { val dataRows = it.data?.rows @@ -95,73 +104,96 @@ isRefresh = true //刷新之后页码重置 pageIndex = 1 - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) } resultRefreshLayout.setOnLoadMoreListener { isLoadMore = true pageIndex++ - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) } -// areaView.setOnClickListener { -// areaViewModel.obtainArea() -// } -// areaViewModel.areaModel.observe(this, { -// if (it.code == 200) { -// val firstLevelArea: MutableList = ArrayList() -// val secondLevelArea: MutableList = ArrayList() -// val thirdLevelArea: MutableList = ArrayList() -// it.data?.forEach { dataBean -> -// when (dataBean.level) { -// 2 -> firstLevelArea.add(dataBean) -// 3 -> secondLevelArea.add(dataBean) -// 4 -> thirdLevelArea.add(dataBean) -// } -// } -// -// // 绑定区域 -// BottomAreaSheet.Builder() -// .setContext(this) -// .setFirstAreaData(firstLevelArea) -// .setSecondAreaData(secondLevelArea) -// .setThirdAreaData(thirdLevelArea) -// .setOnActionSheetListener(object : BottomAreaSheet.OnActionSheetListener { -// override fun onAreaSelected(area: String?, id: String?) { -// areaView.text = area -// areaId = id.toString() -// } -// }).build().show() -// } -// }) -// -// searchButton.setChangeAlphaWhenPress(true) -// searchButton.setOnClickListener { -// //页面跳转,将查询参数传过去 -// navigatePageTo( -// DeviceSearchResultActivity::class.java, addAll( -// wellCodeView.text.toString().trim(), -// deviceTypeValue, -// deptId, -// deviceState, -// areaId -// ) -// ) -// } -// -// clearButton.setChangeAlphaWhenPress(true) -// clearButton.setOnClickListener { -// wellCodeView.setText("") -// deviceTypeView.text = "" -// ownerShipView.text = "" -// deviceStateView.text = "" -// areaView.text = "" -// } + rightOptionView.setOnClickListener { + if (rightDrawerLayout.isDrawerOpen(GravityCompat.END)) { + rightDrawerLayout.closeDrawer(GravityCompat.END) + } else { + rightDrawerLayout.openDrawer(GravityCompat.END) + } + } + rightDrawerLayout.addDrawerListener(this) + + areaViewModel.areaModel.observe(this, { + if (it.code == 200) { + val firstLevelArea: MutableList = ArrayList() + val secondLevelArea: MutableList = ArrayList() + val thirdLevelArea: MutableList = ArrayList() + it.data?.forEach { dataBean -> + when (dataBean.level) { + 2 -> firstLevelArea.add(dataBean) + 3 -> secondLevelArea.add(dataBean) + 4 -> thirdLevelArea.add(dataBean) + } + } + + // 绑定区域 + BottomAreaSheet.Builder() + .setContext(this) + .setFirstAreaData(firstLevelArea) + .setSecondAreaData(secondLevelArea) + .setThirdAreaData(thirdLevelArea) + .setOnActionSheetListener(object : + BottomAreaSheet.OnActionSheetListener { + override fun onAreaSelected(area: String?, id: String?) { + areaView.text = area + areaId = id.toString() + } + }).build().show() + } + }) } - private fun obtainSearchResult(areaId: String?, keywords: String?, pageIndex: Int) { + private fun obtainSearchResult(pageIndex: Int) { deviceViewModel.obtainDeviceData(areaId, keywords, pageIndex) } + override fun onDrawerSlide(drawerView: View, slideOffset: Float) { + + } + + override fun onDrawerOpened(drawerView: View) { + val deviceCodeView = drawerView.findViewById(R.id.deviceCodeView) + val areaView = drawerView.findViewById(R.id.areaView) + val searchButton = drawerView.findViewById(R.id.searchButton) + val clearButton = drawerView.findViewById(R.id.clearButton) + + areaView.setOnClickListener { + areaViewModel.obtainArea() + } + + searchButton.setChangeAlphaWhenPress(true) + searchButton.setOnClickListener { + keywords = deviceCodeView.text.toString() + obtainSearchResult(pageIndex) + rightDrawerLayout.closeDrawer(GravityCompat.END) + } + + clearButton.setChangeAlphaWhenPress(true) + clearButton.setOnClickListener { + keywords = "" + areaId = "" + + deviceCodeView.setText("") + areaView.text = "" + } + } + + override fun onDrawerClosed(drawerView: View) { + + } + + override fun onDrawerStateChanged(newState: Int) { + + } + private class WeakReferenceHandler(activity: SearchDataActivity) : Handler(Looper.getMainLooper()) { private val reference: WeakReference = WeakReference(activity) @@ -176,7 +208,7 @@ } else { if (activity.dataBeans.size == 0) { activity.emptyView!!.showEmptyPage { - activity.obtainSearchResult(activity.areaId, "", activity.pageIndex) + activity.obtainSearchResult(activity.pageIndex) } } else { activity.emptyView!!.hide() diff --git a/app/src/main/res/drawable/bg_view_gray.xml b/app/src/main/res/drawable/bg_view_gray.xml index 4f54c88..4ce54eb 100644 --- a/app/src/main/res/drawable/bg_view_gray.xml +++ b/app/src/main/res/drawable/bg_view_gray.xml @@ -1,6 +1,8 @@ + android:shape="rectangle"> + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt index 7efe048..0dfd8e0 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt @@ -36,7 +36,7 @@ } else { holder.alarmValueView.text = alarmValue } - holder.wellCodeView.text = rowsBean.wellCode + holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devCodeView.text = rowsBean.devcode holder.wellLocationView.text = String.format("位置:${rowsBean.position}") holder.createTimeView.text = rowsBean.alarmTime diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt index a4e6526..4a72e6c 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt @@ -8,7 +8,6 @@ import androidx.recyclerview.widget.RecyclerView import com.casic.qd.smartwell.R import com.casic.qd.smartwell.model.DeviceDataModel -import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton class DeviceDataListAdapter( context: Context, private val dataRows: MutableList @@ -30,6 +29,11 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devLocationView.text = String.format("位置:${rowsBean.position}") @@ -38,11 +42,11 @@ holder.monthDataView.text = rowsBean.monthCount holder.totalDataView.text = rowsBean.totalCount if (rowsBean.deviceType == "13") { - holder.dataUnitView.text = String.format("单位:立方米(m³)") + holder.dataUnitView.text = String.format("单位:m³") } else { holder.dataUnitView.text = "单位:未知" } - holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.installDate}") + holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.uptime}") //绑定事件 if (listener != null) { holder.itemView.setOnClickListener { @@ -52,7 +56,7 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var watchDataView: TextView = view.findViewById(R.id.watchDataView) diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt index 2f0fc64..c5c0945 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt @@ -4,12 +4,10 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.widget.ImageView import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.qd.smartwell.R import com.casic.qd.smartwell.model.DeviceListModel -import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton class DeviceListAdapter( context: Context, private val dataRows: MutableList @@ -31,13 +29,13 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") - if (rowsBean.onlineState == "1") { - holder.deviceStateView.setBackgroundResource(R.drawable.bg_view_green) - } else { - holder.deviceStateView.setBackgroundResource(R.drawable.bg_view_gray) - } holder.devLocationView.text = String.format("位置:${rowsBean.position}") holder.devInstallTimeView.text = String.format("安装日期:${rowsBean.installDate}") //绑定事件 @@ -49,9 +47,8 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) - var deviceStateView: ImageView = view.findViewById(R.id.deviceStateView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var devLocationView: TextView = view.findViewById(R.id.devLocationView) var devInstallTimeView: TextView = view.findViewById(R.id.devInstallTimeView) diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt index 513ea50..48c5cf2 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt @@ -4,6 +4,11 @@ import android.os.Handler import android.os.Looper import android.os.Message +import android.view.View +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.qd.smartwell.R @@ -11,11 +16,14 @@ import com.casic.qd.smartwell.base.BaseActivity import com.casic.qd.smartwell.extensions.show import com.casic.qd.smartwell.extensions.showEmptyPage +import com.casic.qd.smartwell.model.AreaModel import com.casic.qd.smartwell.model.DeviceDataModel import com.casic.qd.smartwell.utils.DialogHelper import com.casic.qd.smartwell.utils.LoadState import com.casic.qd.smartwell.vm.AreaViewModel import com.casic.qd.smartwell.vm.DeviceViewModel +import com.casic.qd.smartwell.widgets.BottomAreaSheet +import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton import kotlinx.android.synthetic.main.activity_data_search.* import kotlinx.android.synthetic.main.include_base_title.titleView import kotlinx.android.synthetic.main.include_empty_view.* @@ -27,7 +35,7 @@ * @date 2022/2/17 14:33 * @email 290677893@qq.com */ -class SearchDataActivity : BaseActivity() { +class SearchDataActivity : BaseActivity(), DrawerLayout.DrawerListener { private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var deviceViewModel: DeviceViewModel @@ -38,6 +46,7 @@ private var isRefresh = false private var isLoadMore = false private var areaId = "" + private var keywords = "" override fun initLayoutView(): Int = R.layout.activity_data_search @@ -53,7 +62,7 @@ override fun initEvent() { //默认加载所有数据 - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) deviceViewModel.deviceDataModel.observe(this, { if (it.code == 200) { val dataRows = it.data?.rows @@ -95,73 +104,96 @@ isRefresh = true //刷新之后页码重置 pageIndex = 1 - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) } resultRefreshLayout.setOnLoadMoreListener { isLoadMore = true pageIndex++ - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) } -// areaView.setOnClickListener { -// areaViewModel.obtainArea() -// } -// areaViewModel.areaModel.observe(this, { -// if (it.code == 200) { -// val firstLevelArea: MutableList = ArrayList() -// val secondLevelArea: MutableList = ArrayList() -// val thirdLevelArea: MutableList = ArrayList() -// it.data?.forEach { dataBean -> -// when (dataBean.level) { -// 2 -> firstLevelArea.add(dataBean) -// 3 -> secondLevelArea.add(dataBean) -// 4 -> thirdLevelArea.add(dataBean) -// } -// } -// -// // 绑定区域 -// BottomAreaSheet.Builder() -// .setContext(this) -// .setFirstAreaData(firstLevelArea) -// .setSecondAreaData(secondLevelArea) -// .setThirdAreaData(thirdLevelArea) -// .setOnActionSheetListener(object : BottomAreaSheet.OnActionSheetListener { -// override fun onAreaSelected(area: String?, id: String?) { -// areaView.text = area -// areaId = id.toString() -// } -// }).build().show() -// } -// }) -// -// searchButton.setChangeAlphaWhenPress(true) -// searchButton.setOnClickListener { -// //页面跳转,将查询参数传过去 -// navigatePageTo( -// DeviceSearchResultActivity::class.java, addAll( -// wellCodeView.text.toString().trim(), -// deviceTypeValue, -// deptId, -// deviceState, -// areaId -// ) -// ) -// } -// -// clearButton.setChangeAlphaWhenPress(true) -// clearButton.setOnClickListener { -// wellCodeView.setText("") -// deviceTypeView.text = "" -// ownerShipView.text = "" -// deviceStateView.text = "" -// areaView.text = "" -// } + rightOptionView.setOnClickListener { + if (rightDrawerLayout.isDrawerOpen(GravityCompat.END)) { + rightDrawerLayout.closeDrawer(GravityCompat.END) + } else { + rightDrawerLayout.openDrawer(GravityCompat.END) + } + } + rightDrawerLayout.addDrawerListener(this) + + areaViewModel.areaModel.observe(this, { + if (it.code == 200) { + val firstLevelArea: MutableList = ArrayList() + val secondLevelArea: MutableList = ArrayList() + val thirdLevelArea: MutableList = ArrayList() + it.data?.forEach { dataBean -> + when (dataBean.level) { + 2 -> firstLevelArea.add(dataBean) + 3 -> secondLevelArea.add(dataBean) + 4 -> thirdLevelArea.add(dataBean) + } + } + + // 绑定区域 + BottomAreaSheet.Builder() + .setContext(this) + .setFirstAreaData(firstLevelArea) + .setSecondAreaData(secondLevelArea) + .setThirdAreaData(thirdLevelArea) + .setOnActionSheetListener(object : + BottomAreaSheet.OnActionSheetListener { + override fun onAreaSelected(area: String?, id: String?) { + areaView.text = area + areaId = id.toString() + } + }).build().show() + } + }) } - private fun obtainSearchResult(areaId: String?, keywords: String?, pageIndex: Int) { + private fun obtainSearchResult(pageIndex: Int) { deviceViewModel.obtainDeviceData(areaId, keywords, pageIndex) } + override fun onDrawerSlide(drawerView: View, slideOffset: Float) { + + } + + override fun onDrawerOpened(drawerView: View) { + val deviceCodeView = drawerView.findViewById(R.id.deviceCodeView) + val areaView = drawerView.findViewById(R.id.areaView) + val searchButton = drawerView.findViewById(R.id.searchButton) + val clearButton = drawerView.findViewById(R.id.clearButton) + + areaView.setOnClickListener { + areaViewModel.obtainArea() + } + + searchButton.setChangeAlphaWhenPress(true) + searchButton.setOnClickListener { + keywords = deviceCodeView.text.toString() + obtainSearchResult(pageIndex) + rightDrawerLayout.closeDrawer(GravityCompat.END) + } + + clearButton.setChangeAlphaWhenPress(true) + clearButton.setOnClickListener { + keywords = "" + areaId = "" + + deviceCodeView.setText("") + areaView.text = "" + } + } + + override fun onDrawerClosed(drawerView: View) { + + } + + override fun onDrawerStateChanged(newState: Int) { + + } + private class WeakReferenceHandler(activity: SearchDataActivity) : Handler(Looper.getMainLooper()) { private val reference: WeakReference = WeakReference(activity) @@ -176,7 +208,7 @@ } else { if (activity.dataBeans.size == 0) { activity.emptyView!!.showEmptyPage { - activity.obtainSearchResult(activity.areaId, "", activity.pageIndex) + activity.obtainSearchResult(activity.pageIndex) } } else { activity.emptyView!!.hide() diff --git a/app/src/main/res/drawable/bg_view_gray.xml b/app/src/main/res/drawable/bg_view_gray.xml index 4f54c88..4ce54eb 100644 --- a/app/src/main/res/drawable/bg_view_gray.xml +++ b/app/src/main/res/drawable/bg_view_gray.xml @@ -1,6 +1,8 @@ + android:shape="rectangle"> + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_view_green.xml b/app/src/main/res/drawable/bg_view_green.xml index f08666b..2c45e18 100644 --- a/app/src/main/res/drawable/bg_view_green.xml +++ b/app/src/main/res/drawable/bg_view_green.xml @@ -1,6 +1,8 @@ + android:shape="rectangle"> + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt index 7efe048..0dfd8e0 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt @@ -36,7 +36,7 @@ } else { holder.alarmValueView.text = alarmValue } - holder.wellCodeView.text = rowsBean.wellCode + holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devCodeView.text = rowsBean.devcode holder.wellLocationView.text = String.format("位置:${rowsBean.position}") holder.createTimeView.text = rowsBean.alarmTime diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt index a4e6526..4a72e6c 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt @@ -8,7 +8,6 @@ import androidx.recyclerview.widget.RecyclerView import com.casic.qd.smartwell.R import com.casic.qd.smartwell.model.DeviceDataModel -import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton class DeviceDataListAdapter( context: Context, private val dataRows: MutableList @@ -30,6 +29,11 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devLocationView.text = String.format("位置:${rowsBean.position}") @@ -38,11 +42,11 @@ holder.monthDataView.text = rowsBean.monthCount holder.totalDataView.text = rowsBean.totalCount if (rowsBean.deviceType == "13") { - holder.dataUnitView.text = String.format("单位:立方米(m³)") + holder.dataUnitView.text = String.format("单位:m³") } else { holder.dataUnitView.text = "单位:未知" } - holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.installDate}") + holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.uptime}") //绑定事件 if (listener != null) { holder.itemView.setOnClickListener { @@ -52,7 +56,7 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var watchDataView: TextView = view.findViewById(R.id.watchDataView) diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt index 2f0fc64..c5c0945 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt @@ -4,12 +4,10 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.widget.ImageView import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.qd.smartwell.R import com.casic.qd.smartwell.model.DeviceListModel -import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton class DeviceListAdapter( context: Context, private val dataRows: MutableList @@ -31,13 +29,13 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") - if (rowsBean.onlineState == "1") { - holder.deviceStateView.setBackgroundResource(R.drawable.bg_view_green) - } else { - holder.deviceStateView.setBackgroundResource(R.drawable.bg_view_gray) - } holder.devLocationView.text = String.format("位置:${rowsBean.position}") holder.devInstallTimeView.text = String.format("安装日期:${rowsBean.installDate}") //绑定事件 @@ -49,9 +47,8 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) - var deviceStateView: ImageView = view.findViewById(R.id.deviceStateView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var devLocationView: TextView = view.findViewById(R.id.devLocationView) var devInstallTimeView: TextView = view.findViewById(R.id.devInstallTimeView) diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt index 513ea50..48c5cf2 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt @@ -4,6 +4,11 @@ import android.os.Handler import android.os.Looper import android.os.Message +import android.view.View +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.qd.smartwell.R @@ -11,11 +16,14 @@ import com.casic.qd.smartwell.base.BaseActivity import com.casic.qd.smartwell.extensions.show import com.casic.qd.smartwell.extensions.showEmptyPage +import com.casic.qd.smartwell.model.AreaModel import com.casic.qd.smartwell.model.DeviceDataModel import com.casic.qd.smartwell.utils.DialogHelper import com.casic.qd.smartwell.utils.LoadState import com.casic.qd.smartwell.vm.AreaViewModel import com.casic.qd.smartwell.vm.DeviceViewModel +import com.casic.qd.smartwell.widgets.BottomAreaSheet +import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton import kotlinx.android.synthetic.main.activity_data_search.* import kotlinx.android.synthetic.main.include_base_title.titleView import kotlinx.android.synthetic.main.include_empty_view.* @@ -27,7 +35,7 @@ * @date 2022/2/17 14:33 * @email 290677893@qq.com */ -class SearchDataActivity : BaseActivity() { +class SearchDataActivity : BaseActivity(), DrawerLayout.DrawerListener { private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var deviceViewModel: DeviceViewModel @@ -38,6 +46,7 @@ private var isRefresh = false private var isLoadMore = false private var areaId = "" + private var keywords = "" override fun initLayoutView(): Int = R.layout.activity_data_search @@ -53,7 +62,7 @@ override fun initEvent() { //默认加载所有数据 - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) deviceViewModel.deviceDataModel.observe(this, { if (it.code == 200) { val dataRows = it.data?.rows @@ -95,73 +104,96 @@ isRefresh = true //刷新之后页码重置 pageIndex = 1 - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) } resultRefreshLayout.setOnLoadMoreListener { isLoadMore = true pageIndex++ - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) } -// areaView.setOnClickListener { -// areaViewModel.obtainArea() -// } -// areaViewModel.areaModel.observe(this, { -// if (it.code == 200) { -// val firstLevelArea: MutableList = ArrayList() -// val secondLevelArea: MutableList = ArrayList() -// val thirdLevelArea: MutableList = ArrayList() -// it.data?.forEach { dataBean -> -// when (dataBean.level) { -// 2 -> firstLevelArea.add(dataBean) -// 3 -> secondLevelArea.add(dataBean) -// 4 -> thirdLevelArea.add(dataBean) -// } -// } -// -// // 绑定区域 -// BottomAreaSheet.Builder() -// .setContext(this) -// .setFirstAreaData(firstLevelArea) -// .setSecondAreaData(secondLevelArea) -// .setThirdAreaData(thirdLevelArea) -// .setOnActionSheetListener(object : BottomAreaSheet.OnActionSheetListener { -// override fun onAreaSelected(area: String?, id: String?) { -// areaView.text = area -// areaId = id.toString() -// } -// }).build().show() -// } -// }) -// -// searchButton.setChangeAlphaWhenPress(true) -// searchButton.setOnClickListener { -// //页面跳转,将查询参数传过去 -// navigatePageTo( -// DeviceSearchResultActivity::class.java, addAll( -// wellCodeView.text.toString().trim(), -// deviceTypeValue, -// deptId, -// deviceState, -// areaId -// ) -// ) -// } -// -// clearButton.setChangeAlphaWhenPress(true) -// clearButton.setOnClickListener { -// wellCodeView.setText("") -// deviceTypeView.text = "" -// ownerShipView.text = "" -// deviceStateView.text = "" -// areaView.text = "" -// } + rightOptionView.setOnClickListener { + if (rightDrawerLayout.isDrawerOpen(GravityCompat.END)) { + rightDrawerLayout.closeDrawer(GravityCompat.END) + } else { + rightDrawerLayout.openDrawer(GravityCompat.END) + } + } + rightDrawerLayout.addDrawerListener(this) + + areaViewModel.areaModel.observe(this, { + if (it.code == 200) { + val firstLevelArea: MutableList = ArrayList() + val secondLevelArea: MutableList = ArrayList() + val thirdLevelArea: MutableList = ArrayList() + it.data?.forEach { dataBean -> + when (dataBean.level) { + 2 -> firstLevelArea.add(dataBean) + 3 -> secondLevelArea.add(dataBean) + 4 -> thirdLevelArea.add(dataBean) + } + } + + // 绑定区域 + BottomAreaSheet.Builder() + .setContext(this) + .setFirstAreaData(firstLevelArea) + .setSecondAreaData(secondLevelArea) + .setThirdAreaData(thirdLevelArea) + .setOnActionSheetListener(object : + BottomAreaSheet.OnActionSheetListener { + override fun onAreaSelected(area: String?, id: String?) { + areaView.text = area + areaId = id.toString() + } + }).build().show() + } + }) } - private fun obtainSearchResult(areaId: String?, keywords: String?, pageIndex: Int) { + private fun obtainSearchResult(pageIndex: Int) { deviceViewModel.obtainDeviceData(areaId, keywords, pageIndex) } + override fun onDrawerSlide(drawerView: View, slideOffset: Float) { + + } + + override fun onDrawerOpened(drawerView: View) { + val deviceCodeView = drawerView.findViewById(R.id.deviceCodeView) + val areaView = drawerView.findViewById(R.id.areaView) + val searchButton = drawerView.findViewById(R.id.searchButton) + val clearButton = drawerView.findViewById(R.id.clearButton) + + areaView.setOnClickListener { + areaViewModel.obtainArea() + } + + searchButton.setChangeAlphaWhenPress(true) + searchButton.setOnClickListener { + keywords = deviceCodeView.text.toString() + obtainSearchResult(pageIndex) + rightDrawerLayout.closeDrawer(GravityCompat.END) + } + + clearButton.setChangeAlphaWhenPress(true) + clearButton.setOnClickListener { + keywords = "" + areaId = "" + + deviceCodeView.setText("") + areaView.text = "" + } + } + + override fun onDrawerClosed(drawerView: View) { + + } + + override fun onDrawerStateChanged(newState: Int) { + + } + private class WeakReferenceHandler(activity: SearchDataActivity) : Handler(Looper.getMainLooper()) { private val reference: WeakReference = WeakReference(activity) @@ -176,7 +208,7 @@ } else { if (activity.dataBeans.size == 0) { activity.emptyView!!.showEmptyPage { - activity.obtainSearchResult(activity.areaId, "", activity.pageIndex) + activity.obtainSearchResult(activity.pageIndex) } } else { activity.emptyView!!.hide() diff --git a/app/src/main/res/drawable/bg_view_gray.xml b/app/src/main/res/drawable/bg_view_gray.xml index 4f54c88..4ce54eb 100644 --- a/app/src/main/res/drawable/bg_view_gray.xml +++ b/app/src/main/res/drawable/bg_view_gray.xml @@ -1,6 +1,8 @@ + android:shape="rectangle"> + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_view_green.xml b/app/src/main/res/drawable/bg_view_green.xml index f08666b..2c45e18 100644 --- a/app/src/main/res/drawable/bg_view_green.xml +++ b/app/src/main/res/drawable/bg_view_green.xml @@ -1,6 +1,8 @@ + android:shape="rectangle"> + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_alarm_search.xml b/app/src/main/res/layout/activity_alarm_search.xml index 498fd25..9f0c138 100644 --- a/app/src/main/res/layout/activity_alarm_search.xml +++ b/app/src/main/res/layout/activity_alarm_search.xml @@ -155,7 +155,6 @@ diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt index 7efe048..0dfd8e0 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt @@ -36,7 +36,7 @@ } else { holder.alarmValueView.text = alarmValue } - holder.wellCodeView.text = rowsBean.wellCode + holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devCodeView.text = rowsBean.devcode holder.wellLocationView.text = String.format("位置:${rowsBean.position}") holder.createTimeView.text = rowsBean.alarmTime diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt index a4e6526..4a72e6c 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt @@ -8,7 +8,6 @@ import androidx.recyclerview.widget.RecyclerView import com.casic.qd.smartwell.R import com.casic.qd.smartwell.model.DeviceDataModel -import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton class DeviceDataListAdapter( context: Context, private val dataRows: MutableList @@ -30,6 +29,11 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devLocationView.text = String.format("位置:${rowsBean.position}") @@ -38,11 +42,11 @@ holder.monthDataView.text = rowsBean.monthCount holder.totalDataView.text = rowsBean.totalCount if (rowsBean.deviceType == "13") { - holder.dataUnitView.text = String.format("单位:立方米(m³)") + holder.dataUnitView.text = String.format("单位:m³") } else { holder.dataUnitView.text = "单位:未知" } - holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.installDate}") + holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.uptime}") //绑定事件 if (listener != null) { holder.itemView.setOnClickListener { @@ -52,7 +56,7 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var watchDataView: TextView = view.findViewById(R.id.watchDataView) diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt index 2f0fc64..c5c0945 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt @@ -4,12 +4,10 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.widget.ImageView import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.qd.smartwell.R import com.casic.qd.smartwell.model.DeviceListModel -import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton class DeviceListAdapter( context: Context, private val dataRows: MutableList @@ -31,13 +29,13 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") - if (rowsBean.onlineState == "1") { - holder.deviceStateView.setBackgroundResource(R.drawable.bg_view_green) - } else { - holder.deviceStateView.setBackgroundResource(R.drawable.bg_view_gray) - } holder.devLocationView.text = String.format("位置:${rowsBean.position}") holder.devInstallTimeView.text = String.format("安装日期:${rowsBean.installDate}") //绑定事件 @@ -49,9 +47,8 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) - var deviceStateView: ImageView = view.findViewById(R.id.deviceStateView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var devLocationView: TextView = view.findViewById(R.id.devLocationView) var devInstallTimeView: TextView = view.findViewById(R.id.devInstallTimeView) diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt index 513ea50..48c5cf2 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt @@ -4,6 +4,11 @@ import android.os.Handler import android.os.Looper import android.os.Message +import android.view.View +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.qd.smartwell.R @@ -11,11 +16,14 @@ import com.casic.qd.smartwell.base.BaseActivity import com.casic.qd.smartwell.extensions.show import com.casic.qd.smartwell.extensions.showEmptyPage +import com.casic.qd.smartwell.model.AreaModel import com.casic.qd.smartwell.model.DeviceDataModel import com.casic.qd.smartwell.utils.DialogHelper import com.casic.qd.smartwell.utils.LoadState import com.casic.qd.smartwell.vm.AreaViewModel import com.casic.qd.smartwell.vm.DeviceViewModel +import com.casic.qd.smartwell.widgets.BottomAreaSheet +import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton import kotlinx.android.synthetic.main.activity_data_search.* import kotlinx.android.synthetic.main.include_base_title.titleView import kotlinx.android.synthetic.main.include_empty_view.* @@ -27,7 +35,7 @@ * @date 2022/2/17 14:33 * @email 290677893@qq.com */ -class SearchDataActivity : BaseActivity() { +class SearchDataActivity : BaseActivity(), DrawerLayout.DrawerListener { private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var deviceViewModel: DeviceViewModel @@ -38,6 +46,7 @@ private var isRefresh = false private var isLoadMore = false private var areaId = "" + private var keywords = "" override fun initLayoutView(): Int = R.layout.activity_data_search @@ -53,7 +62,7 @@ override fun initEvent() { //默认加载所有数据 - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) deviceViewModel.deviceDataModel.observe(this, { if (it.code == 200) { val dataRows = it.data?.rows @@ -95,73 +104,96 @@ isRefresh = true //刷新之后页码重置 pageIndex = 1 - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) } resultRefreshLayout.setOnLoadMoreListener { isLoadMore = true pageIndex++ - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) } -// areaView.setOnClickListener { -// areaViewModel.obtainArea() -// } -// areaViewModel.areaModel.observe(this, { -// if (it.code == 200) { -// val firstLevelArea: MutableList = ArrayList() -// val secondLevelArea: MutableList = ArrayList() -// val thirdLevelArea: MutableList = ArrayList() -// it.data?.forEach { dataBean -> -// when (dataBean.level) { -// 2 -> firstLevelArea.add(dataBean) -// 3 -> secondLevelArea.add(dataBean) -// 4 -> thirdLevelArea.add(dataBean) -// } -// } -// -// // 绑定区域 -// BottomAreaSheet.Builder() -// .setContext(this) -// .setFirstAreaData(firstLevelArea) -// .setSecondAreaData(secondLevelArea) -// .setThirdAreaData(thirdLevelArea) -// .setOnActionSheetListener(object : BottomAreaSheet.OnActionSheetListener { -// override fun onAreaSelected(area: String?, id: String?) { -// areaView.text = area -// areaId = id.toString() -// } -// }).build().show() -// } -// }) -// -// searchButton.setChangeAlphaWhenPress(true) -// searchButton.setOnClickListener { -// //页面跳转,将查询参数传过去 -// navigatePageTo( -// DeviceSearchResultActivity::class.java, addAll( -// wellCodeView.text.toString().trim(), -// deviceTypeValue, -// deptId, -// deviceState, -// areaId -// ) -// ) -// } -// -// clearButton.setChangeAlphaWhenPress(true) -// clearButton.setOnClickListener { -// wellCodeView.setText("") -// deviceTypeView.text = "" -// ownerShipView.text = "" -// deviceStateView.text = "" -// areaView.text = "" -// } + rightOptionView.setOnClickListener { + if (rightDrawerLayout.isDrawerOpen(GravityCompat.END)) { + rightDrawerLayout.closeDrawer(GravityCompat.END) + } else { + rightDrawerLayout.openDrawer(GravityCompat.END) + } + } + rightDrawerLayout.addDrawerListener(this) + + areaViewModel.areaModel.observe(this, { + if (it.code == 200) { + val firstLevelArea: MutableList = ArrayList() + val secondLevelArea: MutableList = ArrayList() + val thirdLevelArea: MutableList = ArrayList() + it.data?.forEach { dataBean -> + when (dataBean.level) { + 2 -> firstLevelArea.add(dataBean) + 3 -> secondLevelArea.add(dataBean) + 4 -> thirdLevelArea.add(dataBean) + } + } + + // 绑定区域 + BottomAreaSheet.Builder() + .setContext(this) + .setFirstAreaData(firstLevelArea) + .setSecondAreaData(secondLevelArea) + .setThirdAreaData(thirdLevelArea) + .setOnActionSheetListener(object : + BottomAreaSheet.OnActionSheetListener { + override fun onAreaSelected(area: String?, id: String?) { + areaView.text = area + areaId = id.toString() + } + }).build().show() + } + }) } - private fun obtainSearchResult(areaId: String?, keywords: String?, pageIndex: Int) { + private fun obtainSearchResult(pageIndex: Int) { deviceViewModel.obtainDeviceData(areaId, keywords, pageIndex) } + override fun onDrawerSlide(drawerView: View, slideOffset: Float) { + + } + + override fun onDrawerOpened(drawerView: View) { + val deviceCodeView = drawerView.findViewById(R.id.deviceCodeView) + val areaView = drawerView.findViewById(R.id.areaView) + val searchButton = drawerView.findViewById(R.id.searchButton) + val clearButton = drawerView.findViewById(R.id.clearButton) + + areaView.setOnClickListener { + areaViewModel.obtainArea() + } + + searchButton.setChangeAlphaWhenPress(true) + searchButton.setOnClickListener { + keywords = deviceCodeView.text.toString() + obtainSearchResult(pageIndex) + rightDrawerLayout.closeDrawer(GravityCompat.END) + } + + clearButton.setChangeAlphaWhenPress(true) + clearButton.setOnClickListener { + keywords = "" + areaId = "" + + deviceCodeView.setText("") + areaView.text = "" + } + } + + override fun onDrawerClosed(drawerView: View) { + + } + + override fun onDrawerStateChanged(newState: Int) { + + } + private class WeakReferenceHandler(activity: SearchDataActivity) : Handler(Looper.getMainLooper()) { private val reference: WeakReference = WeakReference(activity) @@ -176,7 +208,7 @@ } else { if (activity.dataBeans.size == 0) { activity.emptyView!!.showEmptyPage { - activity.obtainSearchResult(activity.areaId, "", activity.pageIndex) + activity.obtainSearchResult(activity.pageIndex) } } else { activity.emptyView!!.hide() diff --git a/app/src/main/res/drawable/bg_view_gray.xml b/app/src/main/res/drawable/bg_view_gray.xml index 4f54c88..4ce54eb 100644 --- a/app/src/main/res/drawable/bg_view_gray.xml +++ b/app/src/main/res/drawable/bg_view_gray.xml @@ -1,6 +1,8 @@ + android:shape="rectangle"> + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_view_green.xml b/app/src/main/res/drawable/bg_view_green.xml index f08666b..2c45e18 100644 --- a/app/src/main/res/drawable/bg_view_green.xml +++ b/app/src/main/res/drawable/bg_view_green.xml @@ -1,6 +1,8 @@ + android:shape="rectangle"> + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_alarm_search.xml b/app/src/main/res/layout/activity_alarm_search.xml index 498fd25..9f0c138 100644 --- a/app/src/main/res/layout/activity_alarm_search.xml +++ b/app/src/main/res/layout/activity_alarm_search.xml @@ -155,7 +155,6 @@ diff --git a/app/src/main/res/layout/activity_data_search.xml b/app/src/main/res/layout/activity_data_search.xml index 83374d6..b4ed22a 100644 --- a/app/src/main/res/layout/activity_data_search.xml +++ b/app/src/main/res/layout/activity_data_search.xml @@ -1,5 +1,6 @@ - - - + android:fitsSystemWindows="true" + tools:openDrawer="right"> - + + android:layout_height="match_parent"> - + + + + + + + + + + + + + + + + + android:layout_gravity="end" + android:background="@color/white" + android:clickable="true" + android:focusable="true" + android:orientation="vertical"> - + + + + + + + + + + + + + + + + + - + android:orientation="horizontal" + android:padding="@dimen/dp_20"> - - + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt index 7efe048..0dfd8e0 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt @@ -36,7 +36,7 @@ } else { holder.alarmValueView.text = alarmValue } - holder.wellCodeView.text = rowsBean.wellCode + holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devCodeView.text = rowsBean.devcode holder.wellLocationView.text = String.format("位置:${rowsBean.position}") holder.createTimeView.text = rowsBean.alarmTime diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt index a4e6526..4a72e6c 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt @@ -8,7 +8,6 @@ import androidx.recyclerview.widget.RecyclerView import com.casic.qd.smartwell.R import com.casic.qd.smartwell.model.DeviceDataModel -import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton class DeviceDataListAdapter( context: Context, private val dataRows: MutableList @@ -30,6 +29,11 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devLocationView.text = String.format("位置:${rowsBean.position}") @@ -38,11 +42,11 @@ holder.monthDataView.text = rowsBean.monthCount holder.totalDataView.text = rowsBean.totalCount if (rowsBean.deviceType == "13") { - holder.dataUnitView.text = String.format("单位:立方米(m³)") + holder.dataUnitView.text = String.format("单位:m³") } else { holder.dataUnitView.text = "单位:未知" } - holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.installDate}") + holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.uptime}") //绑定事件 if (listener != null) { holder.itemView.setOnClickListener { @@ -52,7 +56,7 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var watchDataView: TextView = view.findViewById(R.id.watchDataView) diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt index 2f0fc64..c5c0945 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt @@ -4,12 +4,10 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.widget.ImageView import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.qd.smartwell.R import com.casic.qd.smartwell.model.DeviceListModel -import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton class DeviceListAdapter( context: Context, private val dataRows: MutableList @@ -31,13 +29,13 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") - if (rowsBean.onlineState == "1") { - holder.deviceStateView.setBackgroundResource(R.drawable.bg_view_green) - } else { - holder.deviceStateView.setBackgroundResource(R.drawable.bg_view_gray) - } holder.devLocationView.text = String.format("位置:${rowsBean.position}") holder.devInstallTimeView.text = String.format("安装日期:${rowsBean.installDate}") //绑定事件 @@ -49,9 +47,8 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) - var deviceStateView: ImageView = view.findViewById(R.id.deviceStateView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var devLocationView: TextView = view.findViewById(R.id.devLocationView) var devInstallTimeView: TextView = view.findViewById(R.id.devInstallTimeView) diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt index 513ea50..48c5cf2 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt @@ -4,6 +4,11 @@ import android.os.Handler import android.os.Looper import android.os.Message +import android.view.View +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.qd.smartwell.R @@ -11,11 +16,14 @@ import com.casic.qd.smartwell.base.BaseActivity import com.casic.qd.smartwell.extensions.show import com.casic.qd.smartwell.extensions.showEmptyPage +import com.casic.qd.smartwell.model.AreaModel import com.casic.qd.smartwell.model.DeviceDataModel import com.casic.qd.smartwell.utils.DialogHelper import com.casic.qd.smartwell.utils.LoadState import com.casic.qd.smartwell.vm.AreaViewModel import com.casic.qd.smartwell.vm.DeviceViewModel +import com.casic.qd.smartwell.widgets.BottomAreaSheet +import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton import kotlinx.android.synthetic.main.activity_data_search.* import kotlinx.android.synthetic.main.include_base_title.titleView import kotlinx.android.synthetic.main.include_empty_view.* @@ -27,7 +35,7 @@ * @date 2022/2/17 14:33 * @email 290677893@qq.com */ -class SearchDataActivity : BaseActivity() { +class SearchDataActivity : BaseActivity(), DrawerLayout.DrawerListener { private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var deviceViewModel: DeviceViewModel @@ -38,6 +46,7 @@ private var isRefresh = false private var isLoadMore = false private var areaId = "" + private var keywords = "" override fun initLayoutView(): Int = R.layout.activity_data_search @@ -53,7 +62,7 @@ override fun initEvent() { //默认加载所有数据 - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) deviceViewModel.deviceDataModel.observe(this, { if (it.code == 200) { val dataRows = it.data?.rows @@ -95,73 +104,96 @@ isRefresh = true //刷新之后页码重置 pageIndex = 1 - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) } resultRefreshLayout.setOnLoadMoreListener { isLoadMore = true pageIndex++ - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) } -// areaView.setOnClickListener { -// areaViewModel.obtainArea() -// } -// areaViewModel.areaModel.observe(this, { -// if (it.code == 200) { -// val firstLevelArea: MutableList = ArrayList() -// val secondLevelArea: MutableList = ArrayList() -// val thirdLevelArea: MutableList = ArrayList() -// it.data?.forEach { dataBean -> -// when (dataBean.level) { -// 2 -> firstLevelArea.add(dataBean) -// 3 -> secondLevelArea.add(dataBean) -// 4 -> thirdLevelArea.add(dataBean) -// } -// } -// -// // 绑定区域 -// BottomAreaSheet.Builder() -// .setContext(this) -// .setFirstAreaData(firstLevelArea) -// .setSecondAreaData(secondLevelArea) -// .setThirdAreaData(thirdLevelArea) -// .setOnActionSheetListener(object : BottomAreaSheet.OnActionSheetListener { -// override fun onAreaSelected(area: String?, id: String?) { -// areaView.text = area -// areaId = id.toString() -// } -// }).build().show() -// } -// }) -// -// searchButton.setChangeAlphaWhenPress(true) -// searchButton.setOnClickListener { -// //页面跳转,将查询参数传过去 -// navigatePageTo( -// DeviceSearchResultActivity::class.java, addAll( -// wellCodeView.text.toString().trim(), -// deviceTypeValue, -// deptId, -// deviceState, -// areaId -// ) -// ) -// } -// -// clearButton.setChangeAlphaWhenPress(true) -// clearButton.setOnClickListener { -// wellCodeView.setText("") -// deviceTypeView.text = "" -// ownerShipView.text = "" -// deviceStateView.text = "" -// areaView.text = "" -// } + rightOptionView.setOnClickListener { + if (rightDrawerLayout.isDrawerOpen(GravityCompat.END)) { + rightDrawerLayout.closeDrawer(GravityCompat.END) + } else { + rightDrawerLayout.openDrawer(GravityCompat.END) + } + } + rightDrawerLayout.addDrawerListener(this) + + areaViewModel.areaModel.observe(this, { + if (it.code == 200) { + val firstLevelArea: MutableList = ArrayList() + val secondLevelArea: MutableList = ArrayList() + val thirdLevelArea: MutableList = ArrayList() + it.data?.forEach { dataBean -> + when (dataBean.level) { + 2 -> firstLevelArea.add(dataBean) + 3 -> secondLevelArea.add(dataBean) + 4 -> thirdLevelArea.add(dataBean) + } + } + + // 绑定区域 + BottomAreaSheet.Builder() + .setContext(this) + .setFirstAreaData(firstLevelArea) + .setSecondAreaData(secondLevelArea) + .setThirdAreaData(thirdLevelArea) + .setOnActionSheetListener(object : + BottomAreaSheet.OnActionSheetListener { + override fun onAreaSelected(area: String?, id: String?) { + areaView.text = area + areaId = id.toString() + } + }).build().show() + } + }) } - private fun obtainSearchResult(areaId: String?, keywords: String?, pageIndex: Int) { + private fun obtainSearchResult(pageIndex: Int) { deviceViewModel.obtainDeviceData(areaId, keywords, pageIndex) } + override fun onDrawerSlide(drawerView: View, slideOffset: Float) { + + } + + override fun onDrawerOpened(drawerView: View) { + val deviceCodeView = drawerView.findViewById(R.id.deviceCodeView) + val areaView = drawerView.findViewById(R.id.areaView) + val searchButton = drawerView.findViewById(R.id.searchButton) + val clearButton = drawerView.findViewById(R.id.clearButton) + + areaView.setOnClickListener { + areaViewModel.obtainArea() + } + + searchButton.setChangeAlphaWhenPress(true) + searchButton.setOnClickListener { + keywords = deviceCodeView.text.toString() + obtainSearchResult(pageIndex) + rightDrawerLayout.closeDrawer(GravityCompat.END) + } + + clearButton.setChangeAlphaWhenPress(true) + clearButton.setOnClickListener { + keywords = "" + areaId = "" + + deviceCodeView.setText("") + areaView.text = "" + } + } + + override fun onDrawerClosed(drawerView: View) { + + } + + override fun onDrawerStateChanged(newState: Int) { + + } + private class WeakReferenceHandler(activity: SearchDataActivity) : Handler(Looper.getMainLooper()) { private val reference: WeakReference = WeakReference(activity) @@ -176,7 +208,7 @@ } else { if (activity.dataBeans.size == 0) { activity.emptyView!!.showEmptyPage { - activity.obtainSearchResult(activity.areaId, "", activity.pageIndex) + activity.obtainSearchResult(activity.pageIndex) } } else { activity.emptyView!!.hide() diff --git a/app/src/main/res/drawable/bg_view_gray.xml b/app/src/main/res/drawable/bg_view_gray.xml index 4f54c88..4ce54eb 100644 --- a/app/src/main/res/drawable/bg_view_gray.xml +++ b/app/src/main/res/drawable/bg_view_gray.xml @@ -1,6 +1,8 @@ + android:shape="rectangle"> + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_view_green.xml b/app/src/main/res/drawable/bg_view_green.xml index f08666b..2c45e18 100644 --- a/app/src/main/res/drawable/bg_view_green.xml +++ b/app/src/main/res/drawable/bg_view_green.xml @@ -1,6 +1,8 @@ + android:shape="rectangle"> + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_alarm_search.xml b/app/src/main/res/layout/activity_alarm_search.xml index 498fd25..9f0c138 100644 --- a/app/src/main/res/layout/activity_alarm_search.xml +++ b/app/src/main/res/layout/activity_alarm_search.xml @@ -155,7 +155,6 @@ diff --git a/app/src/main/res/layout/activity_data_search.xml b/app/src/main/res/layout/activity_data_search.xml index 83374d6..b4ed22a 100644 --- a/app/src/main/res/layout/activity_data_search.xml +++ b/app/src/main/res/layout/activity_data_search.xml @@ -1,5 +1,6 @@ - - - + android:fitsSystemWindows="true" + tools:openDrawer="right"> - + + android:layout_height="match_parent"> - + + + + + + + + + + + + + + + + + android:layout_gravity="end" + android:background="@color/white" + android:clickable="true" + android:focusable="true" + android:orientation="vertical"> - + + + + + + + + + + + + + + + + + - + android:orientation="horizontal" + android:padding="@dimen/dp_20"> - - + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_device_search.xml b/app/src/main/res/layout/activity_device_search.xml index ff2d746..81fa8ee 100644 --- a/app/src/main/res/layout/activity_device_search.xml +++ b/app/src/main/res/layout/activity_device_search.xml @@ -134,7 +134,6 @@ diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt index 7efe048..0dfd8e0 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt @@ -36,7 +36,7 @@ } else { holder.alarmValueView.text = alarmValue } - holder.wellCodeView.text = rowsBean.wellCode + holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devCodeView.text = rowsBean.devcode holder.wellLocationView.text = String.format("位置:${rowsBean.position}") holder.createTimeView.text = rowsBean.alarmTime diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt index a4e6526..4a72e6c 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt @@ -8,7 +8,6 @@ import androidx.recyclerview.widget.RecyclerView import com.casic.qd.smartwell.R import com.casic.qd.smartwell.model.DeviceDataModel -import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton class DeviceDataListAdapter( context: Context, private val dataRows: MutableList @@ -30,6 +29,11 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devLocationView.text = String.format("位置:${rowsBean.position}") @@ -38,11 +42,11 @@ holder.monthDataView.text = rowsBean.monthCount holder.totalDataView.text = rowsBean.totalCount if (rowsBean.deviceType == "13") { - holder.dataUnitView.text = String.format("单位:立方米(m³)") + holder.dataUnitView.text = String.format("单位:m³") } else { holder.dataUnitView.text = "单位:未知" } - holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.installDate}") + holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.uptime}") //绑定事件 if (listener != null) { holder.itemView.setOnClickListener { @@ -52,7 +56,7 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var watchDataView: TextView = view.findViewById(R.id.watchDataView) diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt index 2f0fc64..c5c0945 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt @@ -4,12 +4,10 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.widget.ImageView import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.qd.smartwell.R import com.casic.qd.smartwell.model.DeviceListModel -import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton class DeviceListAdapter( context: Context, private val dataRows: MutableList @@ -31,13 +29,13 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") - if (rowsBean.onlineState == "1") { - holder.deviceStateView.setBackgroundResource(R.drawable.bg_view_green) - } else { - holder.deviceStateView.setBackgroundResource(R.drawable.bg_view_gray) - } holder.devLocationView.text = String.format("位置:${rowsBean.position}") holder.devInstallTimeView.text = String.format("安装日期:${rowsBean.installDate}") //绑定事件 @@ -49,9 +47,8 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) - var deviceStateView: ImageView = view.findViewById(R.id.deviceStateView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var devLocationView: TextView = view.findViewById(R.id.devLocationView) var devInstallTimeView: TextView = view.findViewById(R.id.devInstallTimeView) diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt index 513ea50..48c5cf2 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt @@ -4,6 +4,11 @@ import android.os.Handler import android.os.Looper import android.os.Message +import android.view.View +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.qd.smartwell.R @@ -11,11 +16,14 @@ import com.casic.qd.smartwell.base.BaseActivity import com.casic.qd.smartwell.extensions.show import com.casic.qd.smartwell.extensions.showEmptyPage +import com.casic.qd.smartwell.model.AreaModel import com.casic.qd.smartwell.model.DeviceDataModel import com.casic.qd.smartwell.utils.DialogHelper import com.casic.qd.smartwell.utils.LoadState import com.casic.qd.smartwell.vm.AreaViewModel import com.casic.qd.smartwell.vm.DeviceViewModel +import com.casic.qd.smartwell.widgets.BottomAreaSheet +import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton import kotlinx.android.synthetic.main.activity_data_search.* import kotlinx.android.synthetic.main.include_base_title.titleView import kotlinx.android.synthetic.main.include_empty_view.* @@ -27,7 +35,7 @@ * @date 2022/2/17 14:33 * @email 290677893@qq.com */ -class SearchDataActivity : BaseActivity() { +class SearchDataActivity : BaseActivity(), DrawerLayout.DrawerListener { private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var deviceViewModel: DeviceViewModel @@ -38,6 +46,7 @@ private var isRefresh = false private var isLoadMore = false private var areaId = "" + private var keywords = "" override fun initLayoutView(): Int = R.layout.activity_data_search @@ -53,7 +62,7 @@ override fun initEvent() { //默认加载所有数据 - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) deviceViewModel.deviceDataModel.observe(this, { if (it.code == 200) { val dataRows = it.data?.rows @@ -95,73 +104,96 @@ isRefresh = true //刷新之后页码重置 pageIndex = 1 - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) } resultRefreshLayout.setOnLoadMoreListener { isLoadMore = true pageIndex++ - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) } -// areaView.setOnClickListener { -// areaViewModel.obtainArea() -// } -// areaViewModel.areaModel.observe(this, { -// if (it.code == 200) { -// val firstLevelArea: MutableList = ArrayList() -// val secondLevelArea: MutableList = ArrayList() -// val thirdLevelArea: MutableList = ArrayList() -// it.data?.forEach { dataBean -> -// when (dataBean.level) { -// 2 -> firstLevelArea.add(dataBean) -// 3 -> secondLevelArea.add(dataBean) -// 4 -> thirdLevelArea.add(dataBean) -// } -// } -// -// // 绑定区域 -// BottomAreaSheet.Builder() -// .setContext(this) -// .setFirstAreaData(firstLevelArea) -// .setSecondAreaData(secondLevelArea) -// .setThirdAreaData(thirdLevelArea) -// .setOnActionSheetListener(object : BottomAreaSheet.OnActionSheetListener { -// override fun onAreaSelected(area: String?, id: String?) { -// areaView.text = area -// areaId = id.toString() -// } -// }).build().show() -// } -// }) -// -// searchButton.setChangeAlphaWhenPress(true) -// searchButton.setOnClickListener { -// //页面跳转,将查询参数传过去 -// navigatePageTo( -// DeviceSearchResultActivity::class.java, addAll( -// wellCodeView.text.toString().trim(), -// deviceTypeValue, -// deptId, -// deviceState, -// areaId -// ) -// ) -// } -// -// clearButton.setChangeAlphaWhenPress(true) -// clearButton.setOnClickListener { -// wellCodeView.setText("") -// deviceTypeView.text = "" -// ownerShipView.text = "" -// deviceStateView.text = "" -// areaView.text = "" -// } + rightOptionView.setOnClickListener { + if (rightDrawerLayout.isDrawerOpen(GravityCompat.END)) { + rightDrawerLayout.closeDrawer(GravityCompat.END) + } else { + rightDrawerLayout.openDrawer(GravityCompat.END) + } + } + rightDrawerLayout.addDrawerListener(this) + + areaViewModel.areaModel.observe(this, { + if (it.code == 200) { + val firstLevelArea: MutableList = ArrayList() + val secondLevelArea: MutableList = ArrayList() + val thirdLevelArea: MutableList = ArrayList() + it.data?.forEach { dataBean -> + when (dataBean.level) { + 2 -> firstLevelArea.add(dataBean) + 3 -> secondLevelArea.add(dataBean) + 4 -> thirdLevelArea.add(dataBean) + } + } + + // 绑定区域 + BottomAreaSheet.Builder() + .setContext(this) + .setFirstAreaData(firstLevelArea) + .setSecondAreaData(secondLevelArea) + .setThirdAreaData(thirdLevelArea) + .setOnActionSheetListener(object : + BottomAreaSheet.OnActionSheetListener { + override fun onAreaSelected(area: String?, id: String?) { + areaView.text = area + areaId = id.toString() + } + }).build().show() + } + }) } - private fun obtainSearchResult(areaId: String?, keywords: String?, pageIndex: Int) { + private fun obtainSearchResult(pageIndex: Int) { deviceViewModel.obtainDeviceData(areaId, keywords, pageIndex) } + override fun onDrawerSlide(drawerView: View, slideOffset: Float) { + + } + + override fun onDrawerOpened(drawerView: View) { + val deviceCodeView = drawerView.findViewById(R.id.deviceCodeView) + val areaView = drawerView.findViewById(R.id.areaView) + val searchButton = drawerView.findViewById(R.id.searchButton) + val clearButton = drawerView.findViewById(R.id.clearButton) + + areaView.setOnClickListener { + areaViewModel.obtainArea() + } + + searchButton.setChangeAlphaWhenPress(true) + searchButton.setOnClickListener { + keywords = deviceCodeView.text.toString() + obtainSearchResult(pageIndex) + rightDrawerLayout.closeDrawer(GravityCompat.END) + } + + clearButton.setChangeAlphaWhenPress(true) + clearButton.setOnClickListener { + keywords = "" + areaId = "" + + deviceCodeView.setText("") + areaView.text = "" + } + } + + override fun onDrawerClosed(drawerView: View) { + + } + + override fun onDrawerStateChanged(newState: Int) { + + } + private class WeakReferenceHandler(activity: SearchDataActivity) : Handler(Looper.getMainLooper()) { private val reference: WeakReference = WeakReference(activity) @@ -176,7 +208,7 @@ } else { if (activity.dataBeans.size == 0) { activity.emptyView!!.showEmptyPage { - activity.obtainSearchResult(activity.areaId, "", activity.pageIndex) + activity.obtainSearchResult(activity.pageIndex) } } else { activity.emptyView!!.hide() diff --git a/app/src/main/res/drawable/bg_view_gray.xml b/app/src/main/res/drawable/bg_view_gray.xml index 4f54c88..4ce54eb 100644 --- a/app/src/main/res/drawable/bg_view_gray.xml +++ b/app/src/main/res/drawable/bg_view_gray.xml @@ -1,6 +1,8 @@ + android:shape="rectangle"> + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_view_green.xml b/app/src/main/res/drawable/bg_view_green.xml index f08666b..2c45e18 100644 --- a/app/src/main/res/drawable/bg_view_green.xml +++ b/app/src/main/res/drawable/bg_view_green.xml @@ -1,6 +1,8 @@ + android:shape="rectangle"> + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_alarm_search.xml b/app/src/main/res/layout/activity_alarm_search.xml index 498fd25..9f0c138 100644 --- a/app/src/main/res/layout/activity_alarm_search.xml +++ b/app/src/main/res/layout/activity_alarm_search.xml @@ -155,7 +155,6 @@ diff --git a/app/src/main/res/layout/activity_data_search.xml b/app/src/main/res/layout/activity_data_search.xml index 83374d6..b4ed22a 100644 --- a/app/src/main/res/layout/activity_data_search.xml +++ b/app/src/main/res/layout/activity_data_search.xml @@ -1,5 +1,6 @@ - - - + android:fitsSystemWindows="true" + tools:openDrawer="right"> - + + android:layout_height="match_parent"> - + + + + + + + + + + + + + + + + + android:layout_gravity="end" + android:background="@color/white" + android:clickable="true" + android:focusable="true" + android:orientation="vertical"> - + + + + + + + + + + + + + + + + + - + android:orientation="horizontal" + android:padding="@dimen/dp_20"> - - + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_device_search.xml b/app/src/main/res/layout/activity_device_search.xml index ff2d746..81fa8ee 100644 --- a/app/src/main/res/layout/activity_device_search.xml +++ b/app/src/main/res/layout/activity_device_search.xml @@ -134,7 +134,6 @@ diff --git a/app/src/main/res/layout/item_device_data_recycleview.xml b/app/src/main/res/layout/item_device_data_recycleview.xml index d51c100..83f39a3 100644 --- a/app/src/main/res/layout/item_device_data_recycleview.xml +++ b/app/src/main/res/layout/item_device_data_recycleview.xml @@ -1,6 +1,5 @@ - + android:textSize="12sp" /> @@ -78,7 +75,7 @@ android:id="@+id/dataUnitView" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="单位:立方米" + android:text="单位:m³" android:textColor="@color/subTextColor" android:textSize="@dimen/miniFontSize" /> diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt index 7efe048..0dfd8e0 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt @@ -36,7 +36,7 @@ } else { holder.alarmValueView.text = alarmValue } - holder.wellCodeView.text = rowsBean.wellCode + holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devCodeView.text = rowsBean.devcode holder.wellLocationView.text = String.format("位置:${rowsBean.position}") holder.createTimeView.text = rowsBean.alarmTime diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt index a4e6526..4a72e6c 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt @@ -8,7 +8,6 @@ import androidx.recyclerview.widget.RecyclerView import com.casic.qd.smartwell.R import com.casic.qd.smartwell.model.DeviceDataModel -import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton class DeviceDataListAdapter( context: Context, private val dataRows: MutableList @@ -30,6 +29,11 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devLocationView.text = String.format("位置:${rowsBean.position}") @@ -38,11 +42,11 @@ holder.monthDataView.text = rowsBean.monthCount holder.totalDataView.text = rowsBean.totalCount if (rowsBean.deviceType == "13") { - holder.dataUnitView.text = String.format("单位:立方米(m³)") + holder.dataUnitView.text = String.format("单位:m³") } else { holder.dataUnitView.text = "单位:未知" } - holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.installDate}") + holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.uptime}") //绑定事件 if (listener != null) { holder.itemView.setOnClickListener { @@ -52,7 +56,7 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var watchDataView: TextView = view.findViewById(R.id.watchDataView) diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt index 2f0fc64..c5c0945 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt @@ -4,12 +4,10 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.widget.ImageView import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.qd.smartwell.R import com.casic.qd.smartwell.model.DeviceListModel -import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton class DeviceListAdapter( context: Context, private val dataRows: MutableList @@ -31,13 +29,13 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") - if (rowsBean.onlineState == "1") { - holder.deviceStateView.setBackgroundResource(R.drawable.bg_view_green) - } else { - holder.deviceStateView.setBackgroundResource(R.drawable.bg_view_gray) - } holder.devLocationView.text = String.format("位置:${rowsBean.position}") holder.devInstallTimeView.text = String.format("安装日期:${rowsBean.installDate}") //绑定事件 @@ -49,9 +47,8 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) - var deviceStateView: ImageView = view.findViewById(R.id.deviceStateView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var devLocationView: TextView = view.findViewById(R.id.devLocationView) var devInstallTimeView: TextView = view.findViewById(R.id.devInstallTimeView) diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt index 513ea50..48c5cf2 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt @@ -4,6 +4,11 @@ import android.os.Handler import android.os.Looper import android.os.Message +import android.view.View +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.qd.smartwell.R @@ -11,11 +16,14 @@ import com.casic.qd.smartwell.base.BaseActivity import com.casic.qd.smartwell.extensions.show import com.casic.qd.smartwell.extensions.showEmptyPage +import com.casic.qd.smartwell.model.AreaModel import com.casic.qd.smartwell.model.DeviceDataModel import com.casic.qd.smartwell.utils.DialogHelper import com.casic.qd.smartwell.utils.LoadState import com.casic.qd.smartwell.vm.AreaViewModel import com.casic.qd.smartwell.vm.DeviceViewModel +import com.casic.qd.smartwell.widgets.BottomAreaSheet +import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton import kotlinx.android.synthetic.main.activity_data_search.* import kotlinx.android.synthetic.main.include_base_title.titleView import kotlinx.android.synthetic.main.include_empty_view.* @@ -27,7 +35,7 @@ * @date 2022/2/17 14:33 * @email 290677893@qq.com */ -class SearchDataActivity : BaseActivity() { +class SearchDataActivity : BaseActivity(), DrawerLayout.DrawerListener { private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var deviceViewModel: DeviceViewModel @@ -38,6 +46,7 @@ private var isRefresh = false private var isLoadMore = false private var areaId = "" + private var keywords = "" override fun initLayoutView(): Int = R.layout.activity_data_search @@ -53,7 +62,7 @@ override fun initEvent() { //默认加载所有数据 - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) deviceViewModel.deviceDataModel.observe(this, { if (it.code == 200) { val dataRows = it.data?.rows @@ -95,73 +104,96 @@ isRefresh = true //刷新之后页码重置 pageIndex = 1 - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) } resultRefreshLayout.setOnLoadMoreListener { isLoadMore = true pageIndex++ - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) } -// areaView.setOnClickListener { -// areaViewModel.obtainArea() -// } -// areaViewModel.areaModel.observe(this, { -// if (it.code == 200) { -// val firstLevelArea: MutableList = ArrayList() -// val secondLevelArea: MutableList = ArrayList() -// val thirdLevelArea: MutableList = ArrayList() -// it.data?.forEach { dataBean -> -// when (dataBean.level) { -// 2 -> firstLevelArea.add(dataBean) -// 3 -> secondLevelArea.add(dataBean) -// 4 -> thirdLevelArea.add(dataBean) -// } -// } -// -// // 绑定区域 -// BottomAreaSheet.Builder() -// .setContext(this) -// .setFirstAreaData(firstLevelArea) -// .setSecondAreaData(secondLevelArea) -// .setThirdAreaData(thirdLevelArea) -// .setOnActionSheetListener(object : BottomAreaSheet.OnActionSheetListener { -// override fun onAreaSelected(area: String?, id: String?) { -// areaView.text = area -// areaId = id.toString() -// } -// }).build().show() -// } -// }) -// -// searchButton.setChangeAlphaWhenPress(true) -// searchButton.setOnClickListener { -// //页面跳转,将查询参数传过去 -// navigatePageTo( -// DeviceSearchResultActivity::class.java, addAll( -// wellCodeView.text.toString().trim(), -// deviceTypeValue, -// deptId, -// deviceState, -// areaId -// ) -// ) -// } -// -// clearButton.setChangeAlphaWhenPress(true) -// clearButton.setOnClickListener { -// wellCodeView.setText("") -// deviceTypeView.text = "" -// ownerShipView.text = "" -// deviceStateView.text = "" -// areaView.text = "" -// } + rightOptionView.setOnClickListener { + if (rightDrawerLayout.isDrawerOpen(GravityCompat.END)) { + rightDrawerLayout.closeDrawer(GravityCompat.END) + } else { + rightDrawerLayout.openDrawer(GravityCompat.END) + } + } + rightDrawerLayout.addDrawerListener(this) + + areaViewModel.areaModel.observe(this, { + if (it.code == 200) { + val firstLevelArea: MutableList = ArrayList() + val secondLevelArea: MutableList = ArrayList() + val thirdLevelArea: MutableList = ArrayList() + it.data?.forEach { dataBean -> + when (dataBean.level) { + 2 -> firstLevelArea.add(dataBean) + 3 -> secondLevelArea.add(dataBean) + 4 -> thirdLevelArea.add(dataBean) + } + } + + // 绑定区域 + BottomAreaSheet.Builder() + .setContext(this) + .setFirstAreaData(firstLevelArea) + .setSecondAreaData(secondLevelArea) + .setThirdAreaData(thirdLevelArea) + .setOnActionSheetListener(object : + BottomAreaSheet.OnActionSheetListener { + override fun onAreaSelected(area: String?, id: String?) { + areaView.text = area + areaId = id.toString() + } + }).build().show() + } + }) } - private fun obtainSearchResult(areaId: String?, keywords: String?, pageIndex: Int) { + private fun obtainSearchResult(pageIndex: Int) { deviceViewModel.obtainDeviceData(areaId, keywords, pageIndex) } + override fun onDrawerSlide(drawerView: View, slideOffset: Float) { + + } + + override fun onDrawerOpened(drawerView: View) { + val deviceCodeView = drawerView.findViewById(R.id.deviceCodeView) + val areaView = drawerView.findViewById(R.id.areaView) + val searchButton = drawerView.findViewById(R.id.searchButton) + val clearButton = drawerView.findViewById(R.id.clearButton) + + areaView.setOnClickListener { + areaViewModel.obtainArea() + } + + searchButton.setChangeAlphaWhenPress(true) + searchButton.setOnClickListener { + keywords = deviceCodeView.text.toString() + obtainSearchResult(pageIndex) + rightDrawerLayout.closeDrawer(GravityCompat.END) + } + + clearButton.setChangeAlphaWhenPress(true) + clearButton.setOnClickListener { + keywords = "" + areaId = "" + + deviceCodeView.setText("") + areaView.text = "" + } + } + + override fun onDrawerClosed(drawerView: View) { + + } + + override fun onDrawerStateChanged(newState: Int) { + + } + private class WeakReferenceHandler(activity: SearchDataActivity) : Handler(Looper.getMainLooper()) { private val reference: WeakReference = WeakReference(activity) @@ -176,7 +208,7 @@ } else { if (activity.dataBeans.size == 0) { activity.emptyView!!.showEmptyPage { - activity.obtainSearchResult(activity.areaId, "", activity.pageIndex) + activity.obtainSearchResult(activity.pageIndex) } } else { activity.emptyView!!.hide() diff --git a/app/src/main/res/drawable/bg_view_gray.xml b/app/src/main/res/drawable/bg_view_gray.xml index 4f54c88..4ce54eb 100644 --- a/app/src/main/res/drawable/bg_view_gray.xml +++ b/app/src/main/res/drawable/bg_view_gray.xml @@ -1,6 +1,8 @@ + android:shape="rectangle"> + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_view_green.xml b/app/src/main/res/drawable/bg_view_green.xml index f08666b..2c45e18 100644 --- a/app/src/main/res/drawable/bg_view_green.xml +++ b/app/src/main/res/drawable/bg_view_green.xml @@ -1,6 +1,8 @@ + android:shape="rectangle"> + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_alarm_search.xml b/app/src/main/res/layout/activity_alarm_search.xml index 498fd25..9f0c138 100644 --- a/app/src/main/res/layout/activity_alarm_search.xml +++ b/app/src/main/res/layout/activity_alarm_search.xml @@ -155,7 +155,6 @@ diff --git a/app/src/main/res/layout/activity_data_search.xml b/app/src/main/res/layout/activity_data_search.xml index 83374d6..b4ed22a 100644 --- a/app/src/main/res/layout/activity_data_search.xml +++ b/app/src/main/res/layout/activity_data_search.xml @@ -1,5 +1,6 @@ - - - + android:fitsSystemWindows="true" + tools:openDrawer="right"> - + + android:layout_height="match_parent"> - + + + + + + + + + + + + + + + + + android:layout_gravity="end" + android:background="@color/white" + android:clickable="true" + android:focusable="true" + android:orientation="vertical"> - + + + + + + + + + + + + + + + + + - + android:orientation="horizontal" + android:padding="@dimen/dp_20"> - - + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_device_search.xml b/app/src/main/res/layout/activity_device_search.xml index ff2d746..81fa8ee 100644 --- a/app/src/main/res/layout/activity_device_search.xml +++ b/app/src/main/res/layout/activity_device_search.xml @@ -134,7 +134,6 @@ diff --git a/app/src/main/res/layout/item_device_data_recycleview.xml b/app/src/main/res/layout/item_device_data_recycleview.xml index d51c100..83f39a3 100644 --- a/app/src/main/res/layout/item_device_data_recycleview.xml +++ b/app/src/main/res/layout/item_device_data_recycleview.xml @@ -1,6 +1,5 @@ - + android:textSize="12sp" /> @@ -78,7 +75,7 @@ android:id="@+id/dataUnitView" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="单位:立方米" + android:text="单位:m³" android:textColor="@color/subTextColor" android:textSize="@dimen/miniFontSize" /> diff --git a/app/src/main/res/layout/item_device_recycleview.xml b/app/src/main/res/layout/item_device_recycleview.xml index 41b3492..057e476 100644 --- a/app/src/main/res/layout/item_device_recycleview.xml +++ b/app/src/main/res/layout/item_device_recycleview.xml @@ -1,6 +1,5 @@ - + android:textSize="12sp" /> - - @@ -30,6 +29,11 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devLocationView.text = String.format("位置:${rowsBean.position}") @@ -38,11 +42,11 @@ holder.monthDataView.text = rowsBean.monthCount holder.totalDataView.text = rowsBean.totalCount if (rowsBean.deviceType == "13") { - holder.dataUnitView.text = String.format("单位:立方米(m³)") + holder.dataUnitView.text = String.format("单位:m³") } else { holder.dataUnitView.text = "单位:未知" } - holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.installDate}") + holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.uptime}") //绑定事件 if (listener != null) { holder.itemView.setOnClickListener { @@ -52,7 +56,7 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var watchDataView: TextView = view.findViewById(R.id.watchDataView) diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt index 2f0fc64..c5c0945 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt @@ -4,12 +4,10 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.widget.ImageView import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.qd.smartwell.R import com.casic.qd.smartwell.model.DeviceListModel -import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton class DeviceListAdapter( context: Context, private val dataRows: MutableList @@ -31,13 +29,13 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") - if (rowsBean.onlineState == "1") { - holder.deviceStateView.setBackgroundResource(R.drawable.bg_view_green) - } else { - holder.deviceStateView.setBackgroundResource(R.drawable.bg_view_gray) - } holder.devLocationView.text = String.format("位置:${rowsBean.position}") holder.devInstallTimeView.text = String.format("安装日期:${rowsBean.installDate}") //绑定事件 @@ -49,9 +47,8 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) - var deviceStateView: ImageView = view.findViewById(R.id.deviceStateView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var devLocationView: TextView = view.findViewById(R.id.devLocationView) var devInstallTimeView: TextView = view.findViewById(R.id.devInstallTimeView) diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt index 513ea50..48c5cf2 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt @@ -4,6 +4,11 @@ import android.os.Handler import android.os.Looper import android.os.Message +import android.view.View +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.qd.smartwell.R @@ -11,11 +16,14 @@ import com.casic.qd.smartwell.base.BaseActivity import com.casic.qd.smartwell.extensions.show import com.casic.qd.smartwell.extensions.showEmptyPage +import com.casic.qd.smartwell.model.AreaModel import com.casic.qd.smartwell.model.DeviceDataModel import com.casic.qd.smartwell.utils.DialogHelper import com.casic.qd.smartwell.utils.LoadState import com.casic.qd.smartwell.vm.AreaViewModel import com.casic.qd.smartwell.vm.DeviceViewModel +import com.casic.qd.smartwell.widgets.BottomAreaSheet +import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton import kotlinx.android.synthetic.main.activity_data_search.* import kotlinx.android.synthetic.main.include_base_title.titleView import kotlinx.android.synthetic.main.include_empty_view.* @@ -27,7 +35,7 @@ * @date 2022/2/17 14:33 * @email 290677893@qq.com */ -class SearchDataActivity : BaseActivity() { +class SearchDataActivity : BaseActivity(), DrawerLayout.DrawerListener { private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var deviceViewModel: DeviceViewModel @@ -38,6 +46,7 @@ private var isRefresh = false private var isLoadMore = false private var areaId = "" + private var keywords = "" override fun initLayoutView(): Int = R.layout.activity_data_search @@ -53,7 +62,7 @@ override fun initEvent() { //默认加载所有数据 - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) deviceViewModel.deviceDataModel.observe(this, { if (it.code == 200) { val dataRows = it.data?.rows @@ -95,73 +104,96 @@ isRefresh = true //刷新之后页码重置 pageIndex = 1 - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) } resultRefreshLayout.setOnLoadMoreListener { isLoadMore = true pageIndex++ - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) } -// areaView.setOnClickListener { -// areaViewModel.obtainArea() -// } -// areaViewModel.areaModel.observe(this, { -// if (it.code == 200) { -// val firstLevelArea: MutableList = ArrayList() -// val secondLevelArea: MutableList = ArrayList() -// val thirdLevelArea: MutableList = ArrayList() -// it.data?.forEach { dataBean -> -// when (dataBean.level) { -// 2 -> firstLevelArea.add(dataBean) -// 3 -> secondLevelArea.add(dataBean) -// 4 -> thirdLevelArea.add(dataBean) -// } -// } -// -// // 绑定区域 -// BottomAreaSheet.Builder() -// .setContext(this) -// .setFirstAreaData(firstLevelArea) -// .setSecondAreaData(secondLevelArea) -// .setThirdAreaData(thirdLevelArea) -// .setOnActionSheetListener(object : BottomAreaSheet.OnActionSheetListener { -// override fun onAreaSelected(area: String?, id: String?) { -// areaView.text = area -// areaId = id.toString() -// } -// }).build().show() -// } -// }) -// -// searchButton.setChangeAlphaWhenPress(true) -// searchButton.setOnClickListener { -// //页面跳转,将查询参数传过去 -// navigatePageTo( -// DeviceSearchResultActivity::class.java, addAll( -// wellCodeView.text.toString().trim(), -// deviceTypeValue, -// deptId, -// deviceState, -// areaId -// ) -// ) -// } -// -// clearButton.setChangeAlphaWhenPress(true) -// clearButton.setOnClickListener { -// wellCodeView.setText("") -// deviceTypeView.text = "" -// ownerShipView.text = "" -// deviceStateView.text = "" -// areaView.text = "" -// } + rightOptionView.setOnClickListener { + if (rightDrawerLayout.isDrawerOpen(GravityCompat.END)) { + rightDrawerLayout.closeDrawer(GravityCompat.END) + } else { + rightDrawerLayout.openDrawer(GravityCompat.END) + } + } + rightDrawerLayout.addDrawerListener(this) + + areaViewModel.areaModel.observe(this, { + if (it.code == 200) { + val firstLevelArea: MutableList = ArrayList() + val secondLevelArea: MutableList = ArrayList() + val thirdLevelArea: MutableList = ArrayList() + it.data?.forEach { dataBean -> + when (dataBean.level) { + 2 -> firstLevelArea.add(dataBean) + 3 -> secondLevelArea.add(dataBean) + 4 -> thirdLevelArea.add(dataBean) + } + } + + // 绑定区域 + BottomAreaSheet.Builder() + .setContext(this) + .setFirstAreaData(firstLevelArea) + .setSecondAreaData(secondLevelArea) + .setThirdAreaData(thirdLevelArea) + .setOnActionSheetListener(object : + BottomAreaSheet.OnActionSheetListener { + override fun onAreaSelected(area: String?, id: String?) { + areaView.text = area + areaId = id.toString() + } + }).build().show() + } + }) } - private fun obtainSearchResult(areaId: String?, keywords: String?, pageIndex: Int) { + private fun obtainSearchResult(pageIndex: Int) { deviceViewModel.obtainDeviceData(areaId, keywords, pageIndex) } + override fun onDrawerSlide(drawerView: View, slideOffset: Float) { + + } + + override fun onDrawerOpened(drawerView: View) { + val deviceCodeView = drawerView.findViewById(R.id.deviceCodeView) + val areaView = drawerView.findViewById(R.id.areaView) + val searchButton = drawerView.findViewById(R.id.searchButton) + val clearButton = drawerView.findViewById(R.id.clearButton) + + areaView.setOnClickListener { + areaViewModel.obtainArea() + } + + searchButton.setChangeAlphaWhenPress(true) + searchButton.setOnClickListener { + keywords = deviceCodeView.text.toString() + obtainSearchResult(pageIndex) + rightDrawerLayout.closeDrawer(GravityCompat.END) + } + + clearButton.setChangeAlphaWhenPress(true) + clearButton.setOnClickListener { + keywords = "" + areaId = "" + + deviceCodeView.setText("") + areaView.text = "" + } + } + + override fun onDrawerClosed(drawerView: View) { + + } + + override fun onDrawerStateChanged(newState: Int) { + + } + private class WeakReferenceHandler(activity: SearchDataActivity) : Handler(Looper.getMainLooper()) { private val reference: WeakReference = WeakReference(activity) @@ -176,7 +208,7 @@ } else { if (activity.dataBeans.size == 0) { activity.emptyView!!.showEmptyPage { - activity.obtainSearchResult(activity.areaId, "", activity.pageIndex) + activity.obtainSearchResult(activity.pageIndex) } } else { activity.emptyView!!.hide() diff --git a/app/src/main/res/drawable/bg_view_gray.xml b/app/src/main/res/drawable/bg_view_gray.xml index 4f54c88..4ce54eb 100644 --- a/app/src/main/res/drawable/bg_view_gray.xml +++ b/app/src/main/res/drawable/bg_view_gray.xml @@ -1,6 +1,8 @@ + android:shape="rectangle"> + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_view_green.xml b/app/src/main/res/drawable/bg_view_green.xml index f08666b..2c45e18 100644 --- a/app/src/main/res/drawable/bg_view_green.xml +++ b/app/src/main/res/drawable/bg_view_green.xml @@ -1,6 +1,8 @@ + android:shape="rectangle"> + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_alarm_search.xml b/app/src/main/res/layout/activity_alarm_search.xml index 498fd25..9f0c138 100644 --- a/app/src/main/res/layout/activity_alarm_search.xml +++ b/app/src/main/res/layout/activity_alarm_search.xml @@ -155,7 +155,6 @@ diff --git a/app/src/main/res/layout/activity_data_search.xml b/app/src/main/res/layout/activity_data_search.xml index 83374d6..b4ed22a 100644 --- a/app/src/main/res/layout/activity_data_search.xml +++ b/app/src/main/res/layout/activity_data_search.xml @@ -1,5 +1,6 @@ - - - + android:fitsSystemWindows="true" + tools:openDrawer="right"> - + + android:layout_height="match_parent"> - + + + + + + + + + + + + + + + + + android:layout_gravity="end" + android:background="@color/white" + android:clickable="true" + android:focusable="true" + android:orientation="vertical"> - + + + + + + + + + + + + + + + + + - + android:orientation="horizontal" + android:padding="@dimen/dp_20"> - - + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_device_search.xml b/app/src/main/res/layout/activity_device_search.xml index ff2d746..81fa8ee 100644 --- a/app/src/main/res/layout/activity_device_search.xml +++ b/app/src/main/res/layout/activity_device_search.xml @@ -134,7 +134,6 @@ diff --git a/app/src/main/res/layout/item_device_data_recycleview.xml b/app/src/main/res/layout/item_device_data_recycleview.xml index d51c100..83f39a3 100644 --- a/app/src/main/res/layout/item_device_data_recycleview.xml +++ b/app/src/main/res/layout/item_device_data_recycleview.xml @@ -1,6 +1,5 @@ - + android:textSize="12sp" /> @@ -78,7 +75,7 @@ android:id="@+id/dataUnitView" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="单位:立方米" + android:text="单位:m³" android:textColor="@color/subTextColor" android:textSize="@dimen/miniFontSize" /> diff --git a/app/src/main/res/layout/item_device_recycleview.xml b/app/src/main/res/layout/item_device_recycleview.xml index 41b3492..057e476 100644 --- a/app/src/main/res/layout/item_device_recycleview.xml +++ b/app/src/main/res/layout/item_device_recycleview.xml @@ -1,6 +1,5 @@ - + android:textSize="12sp" /> - - #DDDDDD #FF0000 #FF6600 - #66FFB5 + #37D4AE #C0000000 diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt index 7efe048..0dfd8e0 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/AlarmListAdapter.kt @@ -36,7 +36,7 @@ } else { holder.alarmValueView.text = alarmValue } - holder.wellCodeView.text = rowsBean.wellCode + holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devCodeView.text = rowsBean.devcode holder.wellLocationView.text = String.format("位置:${rowsBean.position}") holder.createTimeView.text = rowsBean.alarmTime diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt index a4e6526..4a72e6c 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceDataListAdapter.kt @@ -8,7 +8,6 @@ import androidx.recyclerview.widget.RecyclerView import com.casic.qd.smartwell.R import com.casic.qd.smartwell.model.DeviceDataModel -import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton class DeviceDataListAdapter( context: Context, private val dataRows: MutableList @@ -30,6 +29,11 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") holder.devLocationView.text = String.format("位置:${rowsBean.position}") @@ -38,11 +42,11 @@ holder.monthDataView.text = rowsBean.monthCount holder.totalDataView.text = rowsBean.totalCount if (rowsBean.deviceType == "13") { - holder.dataUnitView.text = String.format("单位:立方米(m³)") + holder.dataUnitView.text = String.format("单位:m³") } else { holder.dataUnitView.text = "单位:未知" } - holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.installDate}") + holder.dataCollectTimeView.text = String.format("采集时间:${rowsBean.uptime}") //绑定事件 if (listener != null) { holder.itemView.setOnClickListener { @@ -52,7 +56,7 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var watchDataView: TextView = view.findViewById(R.id.watchDataView) diff --git a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt index 2f0fc64..c5c0945 100644 --- a/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt +++ b/app/src/main/java/com/casic/qd/smartwell/adapter/DeviceListAdapter.kt @@ -4,12 +4,10 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.widget.ImageView import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.casic.qd.smartwell.R import com.casic.qd.smartwell.model.DeviceListModel -import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton class DeviceListAdapter( context: Context, private val dataRows: MutableList @@ -31,13 +29,13 @@ //绑定数据 val rowsBean = dataRows[position] holder.deviceTypeView.text = rowsBean.deviceTypeName + if (rowsBean.onlineState == "1") { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_green) + } else { + holder.deviceTypeView.setBackgroundResource(R.drawable.bg_view_gray) + } holder.deviceCodeView.text = rowsBean.devcode holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}") - if (rowsBean.onlineState == "1") { - holder.deviceStateView.setBackgroundResource(R.drawable.bg_view_green) - } else { - holder.deviceStateView.setBackgroundResource(R.drawable.bg_view_gray) - } holder.devLocationView.text = String.format("位置:${rowsBean.position}") holder.devInstallTimeView.text = String.format("安装日期:${rowsBean.installDate}") //绑定事件 @@ -49,9 +47,8 @@ } inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var deviceTypeView: QMUIRoundButton = view.findViewById(R.id.deviceTypeView) + var deviceTypeView: TextView = view.findViewById(R.id.deviceTypeView) var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) - var deviceStateView: ImageView = view.findViewById(R.id.deviceStateView) var wellCodeView: TextView = view.findViewById(R.id.wellCodeView) var devLocationView: TextView = view.findViewById(R.id.devLocationView) var devInstallTimeView: TextView = view.findViewById(R.id.devInstallTimeView) diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt index 513ea50..48c5cf2 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt @@ -4,6 +4,11 @@ import android.os.Handler import android.os.Looper import android.os.Message +import android.view.View +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.qd.smartwell.R @@ -11,11 +16,14 @@ import com.casic.qd.smartwell.base.BaseActivity import com.casic.qd.smartwell.extensions.show import com.casic.qd.smartwell.extensions.showEmptyPage +import com.casic.qd.smartwell.model.AreaModel import com.casic.qd.smartwell.model.DeviceDataModel import com.casic.qd.smartwell.utils.DialogHelper import com.casic.qd.smartwell.utils.LoadState import com.casic.qd.smartwell.vm.AreaViewModel import com.casic.qd.smartwell.vm.DeviceViewModel +import com.casic.qd.smartwell.widgets.BottomAreaSheet +import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton import kotlinx.android.synthetic.main.activity_data_search.* import kotlinx.android.synthetic.main.include_base_title.titleView import kotlinx.android.synthetic.main.include_empty_view.* @@ -27,7 +35,7 @@ * @date 2022/2/17 14:33 * @email 290677893@qq.com */ -class SearchDataActivity : BaseActivity() { +class SearchDataActivity : BaseActivity(), DrawerLayout.DrawerListener { private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var deviceViewModel: DeviceViewModel @@ -38,6 +46,7 @@ private var isRefresh = false private var isLoadMore = false private var areaId = "" + private var keywords = "" override fun initLayoutView(): Int = R.layout.activity_data_search @@ -53,7 +62,7 @@ override fun initEvent() { //默认加载所有数据 - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) deviceViewModel.deviceDataModel.observe(this, { if (it.code == 200) { val dataRows = it.data?.rows @@ -95,73 +104,96 @@ isRefresh = true //刷新之后页码重置 pageIndex = 1 - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) } resultRefreshLayout.setOnLoadMoreListener { isLoadMore = true pageIndex++ - obtainSearchResult(areaId, "", pageIndex) + obtainSearchResult(pageIndex) } -// areaView.setOnClickListener { -// areaViewModel.obtainArea() -// } -// areaViewModel.areaModel.observe(this, { -// if (it.code == 200) { -// val firstLevelArea: MutableList = ArrayList() -// val secondLevelArea: MutableList = ArrayList() -// val thirdLevelArea: MutableList = ArrayList() -// it.data?.forEach { dataBean -> -// when (dataBean.level) { -// 2 -> firstLevelArea.add(dataBean) -// 3 -> secondLevelArea.add(dataBean) -// 4 -> thirdLevelArea.add(dataBean) -// } -// } -// -// // 绑定区域 -// BottomAreaSheet.Builder() -// .setContext(this) -// .setFirstAreaData(firstLevelArea) -// .setSecondAreaData(secondLevelArea) -// .setThirdAreaData(thirdLevelArea) -// .setOnActionSheetListener(object : BottomAreaSheet.OnActionSheetListener { -// override fun onAreaSelected(area: String?, id: String?) { -// areaView.text = area -// areaId = id.toString() -// } -// }).build().show() -// } -// }) -// -// searchButton.setChangeAlphaWhenPress(true) -// searchButton.setOnClickListener { -// //页面跳转,将查询参数传过去 -// navigatePageTo( -// DeviceSearchResultActivity::class.java, addAll( -// wellCodeView.text.toString().trim(), -// deviceTypeValue, -// deptId, -// deviceState, -// areaId -// ) -// ) -// } -// -// clearButton.setChangeAlphaWhenPress(true) -// clearButton.setOnClickListener { -// wellCodeView.setText("") -// deviceTypeView.text = "" -// ownerShipView.text = "" -// deviceStateView.text = "" -// areaView.text = "" -// } + rightOptionView.setOnClickListener { + if (rightDrawerLayout.isDrawerOpen(GravityCompat.END)) { + rightDrawerLayout.closeDrawer(GravityCompat.END) + } else { + rightDrawerLayout.openDrawer(GravityCompat.END) + } + } + rightDrawerLayout.addDrawerListener(this) + + areaViewModel.areaModel.observe(this, { + if (it.code == 200) { + val firstLevelArea: MutableList = ArrayList() + val secondLevelArea: MutableList = ArrayList() + val thirdLevelArea: MutableList = ArrayList() + it.data?.forEach { dataBean -> + when (dataBean.level) { + 2 -> firstLevelArea.add(dataBean) + 3 -> secondLevelArea.add(dataBean) + 4 -> thirdLevelArea.add(dataBean) + } + } + + // 绑定区域 + BottomAreaSheet.Builder() + .setContext(this) + .setFirstAreaData(firstLevelArea) + .setSecondAreaData(secondLevelArea) + .setThirdAreaData(thirdLevelArea) + .setOnActionSheetListener(object : + BottomAreaSheet.OnActionSheetListener { + override fun onAreaSelected(area: String?, id: String?) { + areaView.text = area + areaId = id.toString() + } + }).build().show() + } + }) } - private fun obtainSearchResult(areaId: String?, keywords: String?, pageIndex: Int) { + private fun obtainSearchResult(pageIndex: Int) { deviceViewModel.obtainDeviceData(areaId, keywords, pageIndex) } + override fun onDrawerSlide(drawerView: View, slideOffset: Float) { + + } + + override fun onDrawerOpened(drawerView: View) { + val deviceCodeView = drawerView.findViewById(R.id.deviceCodeView) + val areaView = drawerView.findViewById(R.id.areaView) + val searchButton = drawerView.findViewById(R.id.searchButton) + val clearButton = drawerView.findViewById(R.id.clearButton) + + areaView.setOnClickListener { + areaViewModel.obtainArea() + } + + searchButton.setChangeAlphaWhenPress(true) + searchButton.setOnClickListener { + keywords = deviceCodeView.text.toString() + obtainSearchResult(pageIndex) + rightDrawerLayout.closeDrawer(GravityCompat.END) + } + + clearButton.setChangeAlphaWhenPress(true) + clearButton.setOnClickListener { + keywords = "" + areaId = "" + + deviceCodeView.setText("") + areaView.text = "" + } + } + + override fun onDrawerClosed(drawerView: View) { + + } + + override fun onDrawerStateChanged(newState: Int) { + + } + private class WeakReferenceHandler(activity: SearchDataActivity) : Handler(Looper.getMainLooper()) { private val reference: WeakReference = WeakReference(activity) @@ -176,7 +208,7 @@ } else { if (activity.dataBeans.size == 0) { activity.emptyView!!.showEmptyPage { - activity.obtainSearchResult(activity.areaId, "", activity.pageIndex) + activity.obtainSearchResult(activity.pageIndex) } } else { activity.emptyView!!.hide() diff --git a/app/src/main/res/drawable/bg_view_gray.xml b/app/src/main/res/drawable/bg_view_gray.xml index 4f54c88..4ce54eb 100644 --- a/app/src/main/res/drawable/bg_view_gray.xml +++ b/app/src/main/res/drawable/bg_view_gray.xml @@ -1,6 +1,8 @@ + android:shape="rectangle"> + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_view_green.xml b/app/src/main/res/drawable/bg_view_green.xml index f08666b..2c45e18 100644 --- a/app/src/main/res/drawable/bg_view_green.xml +++ b/app/src/main/res/drawable/bg_view_green.xml @@ -1,6 +1,8 @@ + android:shape="rectangle"> + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_alarm_search.xml b/app/src/main/res/layout/activity_alarm_search.xml index 498fd25..9f0c138 100644 --- a/app/src/main/res/layout/activity_alarm_search.xml +++ b/app/src/main/res/layout/activity_alarm_search.xml @@ -155,7 +155,6 @@ diff --git a/app/src/main/res/layout/activity_data_search.xml b/app/src/main/res/layout/activity_data_search.xml index 83374d6..b4ed22a 100644 --- a/app/src/main/res/layout/activity_data_search.xml +++ b/app/src/main/res/layout/activity_data_search.xml @@ -1,5 +1,6 @@ - - - + android:fitsSystemWindows="true" + tools:openDrawer="right"> - + + android:layout_height="match_parent"> - + + + + + + + + + + + + + + + + + android:layout_gravity="end" + android:background="@color/white" + android:clickable="true" + android:focusable="true" + android:orientation="vertical"> - + + + + + + + + + + + + + + + + + - + android:orientation="horizontal" + android:padding="@dimen/dp_20"> - - + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_device_search.xml b/app/src/main/res/layout/activity_device_search.xml index ff2d746..81fa8ee 100644 --- a/app/src/main/res/layout/activity_device_search.xml +++ b/app/src/main/res/layout/activity_device_search.xml @@ -134,7 +134,6 @@ diff --git a/app/src/main/res/layout/item_device_data_recycleview.xml b/app/src/main/res/layout/item_device_data_recycleview.xml index d51c100..83f39a3 100644 --- a/app/src/main/res/layout/item_device_data_recycleview.xml +++ b/app/src/main/res/layout/item_device_data_recycleview.xml @@ -1,6 +1,5 @@ - + android:textSize="12sp" /> @@ -78,7 +75,7 @@ android:id="@+id/dataUnitView" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="单位:立方米" + android:text="单位:m³" android:textColor="@color/subTextColor" android:textSize="@dimen/miniFontSize" /> diff --git a/app/src/main/res/layout/item_device_recycleview.xml b/app/src/main/res/layout/item_device_recycleview.xml index 41b3492..057e476 100644 --- a/app/src/main/res/layout/item_device_recycleview.xml +++ b/app/src/main/res/layout/item_device_recycleview.xml @@ -1,6 +1,5 @@ - + android:textSize="12sp" /> - - #DDDDDD #FF0000 #FF6600 - #66FFB5 + #37D4AE #C0000000 diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index ef45656..7ab9e13 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -57,7 +57,7 @@ @dimen/dp_10 @dimen/dp_10 @color/mainTextColor - @dimen/titleFontSize + @dimen/textFontSize