diff --git a/coalMiningApp/app/src/main/AndroidManifest.xml b/coalMiningApp/app/src/main/AndroidManifest.xml
index bf707e3..b3dfae6 100644
--- a/coalMiningApp/app/src/main/AndroidManifest.xml
+++ b/coalMiningApp/app/src/main/AndroidManifest.xml
@@ -62,6 +62,7 @@
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/WaterYieldObserveAdapter.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/WaterYieldObserveAdapter.kt
new file mode 100644
index 0000000..de30e48
--- /dev/null
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/WaterYieldObserveAdapter.kt
@@ -0,0 +1,60 @@
+package com.zmkg.coaloperation.adapter
+
+import android.graphics.drawable.GradientDrawable
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import android.widget.LinearLayout
+import com.chad.library.adapter.base.BaseQuickAdapter
+import com.chad.library.adapter.base.viewholder.BaseViewHolder
+import com.zmkg.coaloperation.R
+import com.zmkg.coaloperation.databinding.ListItemWaterYieldObserveBinding
+import com.zmkg.coaloperation.db.entity.water.WaterYieldObserveEntity
+import com.zmkg.coaloperation.utils.useShapeSetBackground
+import androidx.core.graphics.toColorInt
+import androidx.core.view.updateLayoutParams
+import androidx.recyclerview.widget.RecyclerView
+import com.zmkg.coaloperation.utils.dp
+
+class WaterYieldObserveAdapter(list: MutableList):
+ BaseQuickAdapter(R.layout.list_item_water_yield_observe, list) {
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VH {
+ val binding = ListItemWaterYieldObserveBinding.inflate(
+ LayoutInflater.from(context), parent, false
+ )
+ return VH(binding).also {
+ bindViewClickListener(it, viewType)
+ }
+ }
+
+ override fun convert(
+ holder: VH,
+ item: WaterYieldObserveEntity
+ ) {
+ holder.binding.let {
+ it.tvObservePoint.text = item.observePoint
+ it.tvObserveTime.text = item.observeTime
+ it.tvObserveState.run {
+ var stateColor = ""
+ if (item.observeState == "1") {
+ text = "已观测"
+ stateColor = "#3ECD88"
+ } else {
+ text = "未观测"
+ stateColor = "#803398"
+ }
+ useShapeSetBackground(
+ shape = GradientDrawable.RECTANGLE,
+ cornerRadius = 20F.dp,
+ solidColor = stateColor.toColorInt(),
+ )
+ }
+ it.root.updateLayoutParams {
+ bottomMargin = if (holder.layoutPosition == data.size - 1) 80.dp else 3.dp
+ }
+ }
+ }
+
+ inner class VH(var binding: ListItemWaterYieldObserveBinding): BaseViewHolder(binding.root)
+
+}
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/db/entity/water/WaterYieldObserveEntity.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/db/entity/water/WaterYieldObserveEntity.kt
new file mode 100644
index 0000000..34c360e
--- /dev/null
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/db/entity/water/WaterYieldObserveEntity.kt
@@ -0,0 +1,38 @@
+package com.zmkg.coaloperation.db.entity.water
+
+import android.os.Parcelable
+import androidx.room.Entity
+import androidx.room.Ignore
+import androidx.room.PrimaryKey
+import com.zmkg.coaloperation.utils.DateTimeUtil
+import kotlinx.parcelize.Parcelize
+import java.time.LocalDateTime
+
+@Parcelize
+@Entity(tableName = "water_yield_observe")
+data class WaterYieldObserveEntity(
+ @PrimaryKey
+ var observeId: Long = 0,
+ var observePoint: String = "",
+ var observeTime: String = "",
+ var observeState:String = "0",
+
+ /**
+ * 创建时间
+ */
+ var createTime: String? = "",
+
+ /**
+ * 更新时间
+ */
+ var updateTime: String? = DateTimeUtil.formatDateTime(LocalDateTime.now()),
+
+ /**
+ * 数据状态:0-默认值,原始数据,1-已修改数据
+ */
+ var dataState: String = "0"
+
+) : Parcelable {
+ @Ignore
+ constructor() : this(observeId = 0)
+}
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/home/adapter/HomeMenuAdapter.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/home/adapter/HomeMenuAdapter.kt
index d37903c..1338b51 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/home/adapter/HomeMenuAdapter.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/home/adapter/HomeMenuAdapter.kt
@@ -1,5 +1,6 @@
package com.zmkg.coaloperation.ui.home.adapter
+import android.widget.Toast
import com.chad.library.adapter.base.BaseMultiItemQuickAdapter
import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.zmkg.coaloperation.R
@@ -30,5 +31,8 @@ class HomeMenuAdapter :
R.id.img,
getMenuTabImg(item.index!!, holder.itemViewType)
)
+ holder.itemView.setOnClickListener {
+ item.onClick()
+ }
}
}
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/home/bean/HomeMenuBean.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/home/bean/HomeMenuBean.kt
index 8a845fc..9ccc738 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/home/bean/HomeMenuBean.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/home/bean/HomeMenuBean.kt
@@ -3,13 +3,13 @@ package com.zmkg.coaloperation.ui.home.bean
import com.chad.library.adapter.base.entity.MultiItemEntity
-class HomeMenuBean : MultiItemEntity {
- var name: String? = null
- var index: Int? = null
- var type: Int? = null // 0: 前4个(左右布局),1: 后4个(上下布局)
-
+data class HomeMenuBean(
+ var name: String? = null,
+ var index: Int? = null,
+ var type: Int? = null, // 0: 前4个(左右布局),1: 后4个(上下布局)
+ var onClick:()->Unit = {}
+) : MultiItemEntity {
override val itemType: Int
get() = type!!
-
}
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/home/fragment/HomeFragment.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/home/fragment/HomeFragment.kt
index 6f91def..d804910 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/home/fragment/HomeFragment.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/home/fragment/HomeFragment.kt
@@ -1,40 +1,32 @@
package com.zmkg.coaloperation.ui.home.fragment
import android.os.Bundle
-import android.text.TextUtils
-import android.util.Log
import android.view.View
import androidx.fragment.app.Fragment
-import androidx.lifecycle.Lifecycle
-import androidx.lifecycle.lifecycleScope
-import androidx.lifecycle.repeatOnLifecycle
import androidx.recyclerview.widget.GridLayoutManager
import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.listener.OnItemClickListener
-import com.google.gson.Gson
-import com.google.gson.reflect.TypeToken
import com.zmkg.coaloperation.R
import com.zmkg.coaloperation.adapter.common.ViewPagerAdapter
import com.zmkg.coaloperation.base.BaseVMBFragment
import com.zmkg.coaloperation.databinding.FragmentHomeBinding
-import com.zmkg.coaloperation.local.DataStoreManager
import com.zmkg.coaloperation.superfuntion.addItemTouchCallback
import com.zmkg.coaloperation.superfuntion.init
import com.zmkg.coaloperation.superfuntion.onPageChangeCallback
-import com.zmkg.coaloperation.superfuntion.toJson
import com.zmkg.coaloperation.ui.home.adapter.HomeMenuAdapter
import com.zmkg.coaloperation.ui.home.bean.HomeMenuBean
import com.zmkg.coaloperation.ui.home.viewmodel.HomeViewModel
+import com.zmkg.coaloperation.ui.wateryield.WaterYieldObserveActivity
import com.zmkg.coaloperation.utils.DictUtils
-import kotlinx.coroutines.flow.collectLatest
-import kotlinx.coroutines.launch
class HomeFragment :
BaseVMBFragment(R.layout.fragment_home),
OnItemClickListener {
- private val homeMenuAdapter: HomeMenuAdapter by lazy { HomeMenuAdapter() }
+ private val homeMenuAdapter: HomeMenuAdapter by lazy {
+ HomeMenuAdapter()
+ }
override fun initView(root: View?, savedInstanceState: Bundle?) {
mBinding.apply {
@@ -48,7 +40,7 @@ class HomeFragment :
rvList.adapter = homeMenuAdapter
rvList.addItemTouchCallback {
resetItemTypes(homeMenuAdapter.data)
- DataStoreManager.setHomeData(homeMenuAdapter.data.toJson())
+// DataStoreManager.setHomeData(homeMenuAdapter.data.toJson())
homeMenuAdapter.notifyDataSetChanged()
}
@@ -84,39 +76,27 @@ class HomeFragment :
DictUtils.initData()
// mViewModel.getWaterLedgerData()
- val titleNameList = mutableListOf(
- "涌水量观测",
- "导线测量",
- "瓦斯巡检",
- "防灭火检查",
- "通风巡检",
- "地质编录",
- "水文地质编录",
- "隐蔽致灾",
- "地物查询"
+ val menuList = mutableListOf(
+ HomeMenuBean(index = 1, name = "涌水量观测", type = 0, onClick = {
+ toActivity(WaterYieldObserveActivity::class.java)
+ }),
+ HomeMenuBean(index = 2, name = "导线测量", type = 0),
+ HomeMenuBean(index = 3, name = "瓦斯巡检", type = 0),
+ HomeMenuBean(index = 4, name = "防灭火检查", type = 0),
+ HomeMenuBean(index = 5, name = "通风巡检", type = 1),
+ HomeMenuBean(index = 6, name = "地质编录", type = 1),
+ HomeMenuBean(index = 7, name = "水文地质编录", type = 1),
+ HomeMenuBean(index = 8, name = "隐蔽致灾", type = 1),
+ HomeMenuBean(index = 9, name = "地物查询", type = 1)
)
- var mutableListOf = mutableListOf()
- val homeData = DataStoreManager.getHomeData()
- if (TextUtils.isEmpty(homeData)) {
+// val homeData = DataStoreManager.getHomeData()
+// if (!TextUtils.isEmpty(homeData)) {
+// val listType = object : TypeToken?>() {}.type
+// mutableListOf = Gson().fromJson(homeData, listType)
+// }
- titleNameList.forEachIndexed { index, s ->
- val homeMenuBean = HomeMenuBean()
- homeMenuBean.name = s
- homeMenuBean.index = index + 1
- if (index < 4) {
- homeMenuBean.type = 0
- } else {
- homeMenuBean.type = 1
- }
- mutableListOf.add(homeMenuBean)
- }
- } else {
- val listType = object : TypeToken?>() {}.getType()
- mutableListOf = Gson().fromJson(homeData, listType)
- }
-
- homeMenuAdapter.setNewInstance(mutableListOf)
+ homeMenuAdapter.setNewInstance(menuList)
}
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/activity/MiningActivity.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/activity/MiningActivity.kt
index 1243b61..0d543a5 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/activity/MiningActivity.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/activity/MiningActivity.kt
@@ -171,15 +171,7 @@ class MiningActivity :
@SuppressLint("NotifyDataSetChanged")
private fun getFaceRecord(position: Int) {
- workingFaceList[position].records?.let {
- if (it.isNotEmpty()) {
- val recordAdapter = getRecordAdapter(position)
- recordAdapter.apply {
- notifyDataSetChanged()
- }
- workingFaceAdapter.notifyItemChanged(position)
- }
- }
+ workingFaceAdapter.notifyItemChanged(position)
// val surfaceId = workingFaceList[position].surfaceId
// workingFaceRecordViewModel.getEntityList(surfaceId) { recordEntities ->
// if (recordEntities.isNullOrEmpty()) {
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/wateryield/WaterYieldObserveActivity.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/wateryield/WaterYieldObserveActivity.kt
new file mode 100644
index 0000000..129a1da
--- /dev/null
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/wateryield/WaterYieldObserveActivity.kt
@@ -0,0 +1,104 @@
+package com.zmkg.coaloperation.ui.wateryield
+
+import android.os.Bundle
+import android.view.View
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.zmkg.coaloperation.R
+import com.zmkg.coaloperation.adapter.WaterYieldObserveAdapter
+import com.zmkg.coaloperation.base.BaseVMBActivity
+import com.zmkg.coaloperation.base.viewmodel.TestViewModel
+import com.zmkg.coaloperation.bean.WorkOption
+import com.zmkg.coaloperation.databinding.ActivityWaterYieldObserveBinding
+import com.zmkg.coaloperation.db.entity.water.WaterYieldObserveEntity
+import com.zmkg.coaloperation.utils.PickerUtil
+
+/**
+ * 关于我们
+ */
+class WaterYieldObserveActivity :
+ BaseVMBActivity(R.layout.activity_water_yield_observe) {
+
+ val observeList: MutableList = mutableListOf()
+ val observeAdapter by lazy {
+ WaterYieldObserveAdapter(observeList).apply {
+ setOnItemClickListener { adapter, view, position ->
+
+ }
+ }
+ }
+
+ override fun initView(savedInstanceState: Bundle?) {
+ mBinding.toolbarLay.title = "涌水量观测"
+ mBinding.toolbarLay.rightText = "添加观测点"
+ mBinding.toolbarLay.titleTvRight.setOnClickListener {
+
+ }
+ initTestObserveData()
+ mBinding.rvWaterYield.let {
+ it.layoutManager = LinearLayoutManager(this)
+ it.adapter = observeAdapter
+ }
+ }
+
+ private fun initTestObserveData() {
+ observeList.run {
+ add(WaterYieldObserveEntity(
+ observeId = 1, observePoint = "观测点A", observeTime = "2024-09-01 15:15:00", observeState = "0"
+ ))
+ add(WaterYieldObserveEntity(
+ observeId = 1, observePoint = "观测点B", observeTime = "2024-10-09 10:36:00", observeState = "0"
+ ))
+ add(WaterYieldObserveEntity(
+ observeId = 1, observePoint = "观测点C", observeTime = "2024-11-13 16:56:00", observeState = "0"
+ ))
+ add(WaterYieldObserveEntity(
+ observeId = 1, observePoint = "观测点D", observeTime = "2024-12-19 12:13:00", observeState = "0"
+ ))
+ add(WaterYieldObserveEntity(
+ observeId = 1, observePoint = "观测点E", observeTime = "2025-01-09 08:36:00", observeState = "1"
+ ))
+ add(WaterYieldObserveEntity(
+ observeId = 1, observePoint = "观测点F", observeTime = "2025-02-20 18:20:00", observeState = "1"
+ ))
+ add(WaterYieldObserveEntity(
+ observeId = 1, observePoint = "观测点G", observeTime = "2025-03-09 11:25:00", observeState = "1"
+ ))
+ add(WaterYieldObserveEntity(
+ observeId = 1, observePoint = "观测点H", observeTime = "2025-04-30 13:30:00", observeState = "1"
+ ))
+ add(WaterYieldObserveEntity(
+ observeId = 1, observePoint = "观测点I", observeTime = "2025-05-06 07:55:00", observeState = "1"
+ ))
+ add(WaterYieldObserveEntity(
+ observeId = 1, observePoint = "观测点J", observeTime = "2025-06-08 14:13:00", observeState = "1"
+ ))
+ }
+ }
+
+ override fun initData() {
+ }
+
+ override fun bindEvent() {
+ val list = mutableListOf()
+ list.add(WorkOption("1", "观测点A"))
+ list.add(WorkOption("2", "观测点B"))
+ list.add(WorkOption("3", "观测点C"))
+ list.add(WorkOption("4", "观测点D"))
+ list.add(WorkOption("5", "观测点E"))
+ list.add(WorkOption("6", "观测点F"))
+ list.add(WorkOption("7", "观测点G"))
+ list.add(WorkOption("8", "观测点H"))
+ mBinding.llSelectObservePoint.setOnClickListener {
+ PickerUtil.showOptionPicker(this, "请选择观测点", list) { option ->
+ mBinding.tvObservePoint.let {
+ it.text = option.name
+ it.tag = option.id
+ }
+ }
+ }
+ }
+
+ override fun processClick(v: View?) {
+ }
+
+}
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/Ext.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/Ext.kt
index 0f0b5b8..4af5820 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/Ext.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/Ext.kt
@@ -2,6 +2,10 @@ package com.zmkg.coaloperation.utils
import android.annotation.SuppressLint
import android.content.SharedPreferences
+import android.content.res.Resources
+import android.graphics.Color
+import android.graphics.drawable.GradientDrawable
+import android.util.TypedValue
import android.view.View
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
@@ -87,5 +91,39 @@ fun String.formatDecimalString(): String {
fun Double.roundedOneDecimalPlace(): Double {
return BigDecimal(this).setScale(1, RoundingMode.HALF_UP).toDouble()
}
+val Float.sp: Float
+ get() = TypedValue.applyDimension(
+ TypedValue.COMPLEX_UNIT_SP,
+ this,
+ Resources.getSystem().displayMetrics
+ )
+
+val Int.sp: Int
+ get() = this.toFloat().sp.toInt()
+val Float.dp: Float
+ get() = TypedValue.applyDimension(
+ TypedValue.COMPLEX_UNIT_DIP,
+ this,
+ Resources.getSystem().displayMetrics
+ )
+
+val Int.dp: Int
+ get() = this.toFloat().dp.toInt()
+
+fun View.useShapeSetBackground(
+ shape: Int = GradientDrawable.RECTANGLE,
+ cornerRadius: Float = 0F,
+ solidColor: Int = Color.TRANSPARENT,
+ strokeWidth: Int = 0,
+ strokeColor: Int = Color.TRANSPARENT,
+) {
+ val shape = GradientDrawable().also {
+ it.shape = shape
+ it.cornerRadius = cornerRadius
+ it.setColor(solidColor)
+ it.setStroke(strokeWidth, strokeColor)
+ }
+ this.background = shape
+}
diff --git a/coalMiningApp/app/src/main/res/drawable-xxhdpi/ic_water_yield.png b/coalMiningApp/app/src/main/res/drawable-xxhdpi/ic_water_yield.png
new file mode 100644
index 0000000..3d0581b
Binary files /dev/null and b/coalMiningApp/app/src/main/res/drawable-xxhdpi/ic_water_yield.png differ
diff --git a/coalMiningApp/app/src/main/res/drawable-xxxhdpi/ic_arrow_down_gray.png b/coalMiningApp/app/src/main/res/drawable-xxxhdpi/ic_arrow_down_gray.png
new file mode 100644
index 0000000..e6b8d30
Binary files /dev/null and b/coalMiningApp/app/src/main/res/drawable-xxxhdpi/ic_arrow_down_gray.png differ
diff --git a/coalMiningApp/app/src/main/res/drawable-xxxhdpi/ic_search_gray.png b/coalMiningApp/app/src/main/res/drawable-xxxhdpi/ic_search_gray.png
new file mode 100644
index 0000000..6e21d1f
Binary files /dev/null and b/coalMiningApp/app/src/main/res/drawable-xxxhdpi/ic_search_gray.png differ
diff --git a/coalMiningApp/app/src/main/res/layout/activity_water_yield_observe.xml b/coalMiningApp/app/src/main/res/layout/activity_water_yield_observe.xml
new file mode 100644
index 0000000..d45f0e8
--- /dev/null
+++ b/coalMiningApp/app/src/main/res/layout/activity_water_yield_observe.xml
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/res/layout/fragment_home.xml b/coalMiningApp/app/src/main/res/layout/fragment_home.xml
index 32cf39a..6f6b2be 100644
--- a/coalMiningApp/app/src/main/res/layout/fragment_home.xml
+++ b/coalMiningApp/app/src/main/res/layout/fragment_home.xml
@@ -14,6 +14,7 @@
@@ -52,7 +53,7 @@
android:textSize="14sp" />
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/res/values/colors.xml b/coalMiningApp/app/src/main/res/values/colors.xml
index dc08a74..db66659 100644
--- a/coalMiningApp/app/src/main/res/values/colors.xml
+++ b/coalMiningApp/app/src/main/res/values/colors.xml
@@ -26,6 +26,7 @@
#FFFFFF
#000000
#5B6783
+ #6A6F87
#0C0D0E
#17181C