diff --git a/coalMiningApp/app/src/main/AndroidManifest.xml b/coalMiningApp/app/src/main/AndroidManifest.xml
index c92b113..25dbde0 100644
--- a/coalMiningApp/app/src/main/AndroidManifest.xml
+++ b/coalMiningApp/app/src/main/AndroidManifest.xml
@@ -66,6 +66,7 @@
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/WaterYieldRecordAdapter.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/WaterYieldRecordAdapter.kt
new file mode 100644
index 0000000..c927a13
--- /dev/null
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/WaterYieldRecordAdapter.kt
@@ -0,0 +1,129 @@
+package com.zmkg.coaloperation.adapter
+
+import android.graphics.Color
+import android.view.Gravity
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.LinearLayout
+import androidx.constraintlayout.widget.ConstraintLayout
+import androidx.core.view.updateLayoutParams
+import com.chad.library.adapter.base.BaseQuickAdapter
+import com.chad.library.adapter.base.viewholder.BaseViewHolder
+import com.zmkg.coaloperation.R
+import com.zmkg.coaloperation.bean.WaterYieldRecordItem
+import com.zmkg.coaloperation.databinding.ListItemWaterYieldRecordBinding
+import com.zmkg.coaloperation.databinding.ListItemWaterYieldRecordInnerBinding
+import com.zmkg.coaloperation.utils.gone
+import com.zmkg.coaloperation.utils.visible
+import androidx.core.graphics.toColorInt
+import com.zmkg.coaloperation.utils.dp
+
+class WaterYieldRecordAdapter(data: MutableList) :
+ BaseQuickAdapter(
+ R.layout.list_item_water_yield_record,
+ data
+ ) {
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VH {
+ val binding = ListItemWaterYieldRecordBinding.inflate(
+ LayoutInflater.from(parent.context),
+ parent,
+ false
+ )
+ return VH(binding).also {
+ bindViewClickListener(it, viewType)
+ }
+ }
+
+ override fun convert(
+ holder: VH,
+ item: WaterYieldRecordItem
+ ) {
+ loadRecordData(holder.binding, item)
+ val position = holder.layoutPosition
+ holder.binding.divider.run {
+ if (position == data.size - 1) gone() else visible()
+ }
+ }
+
+ private fun loadRecordData(
+ binding: ListItemWaterYieldRecordBinding,
+ item: WaterYieldRecordItem
+ ) {
+ binding.run {
+ if (item.isHeader) {
+ tvItemName.let {
+ it.textSize = 16F
+ it.setTextColor(Color.WHITE)
+ it.gravity = Gravity.CENTER
+ it.updateLayoutParams {
+ width = ConstraintLayout.LayoutParams.MATCH_PARENT
+ }
+ }
+ verticalDivider.gone()
+ tvItemValue.gone()
+ } else {
+ tvItemName.let {
+ it.textSize = 14F
+ it.setTextColor("#6A6F87".toColorInt())
+ it.gravity = Gravity.CENTER_VERTICAL
+ it.updateLayoutParams {
+ width = 80.dp
+ }
+ }
+ verticalDivider.visible()
+ tvItemValue.visible()
+ }
+ tvItemName.text = item.name
+ if (item.items.isNullOrEmpty()) {
+// tvItemName.updateLayoutParams { height = ScreenUtil.dp2px(50f) }
+ tvItemValue.let {
+ it.visibility = View.VISIBLE
+ it.text = item.value
+ }
+ llContainer.visibility = View.GONE
+ } else {
+// tvItemName.updateLayoutParams { height = ScreenUtil.dp2px(60f) }
+ tvItemValue.visibility = View.GONE
+ llContainer.let {
+ it.visibility = View.VISIBLE
+ it.removeAllViews()
+ addChildToContainer(it, item.items!!)
+ }
+ }
+ }
+ }
+
+ private fun loadItemData(
+ binding: ListItemWaterYieldRecordInnerBinding,
+ isLatest: Boolean,
+ item: WaterYieldRecordItem
+ ) {
+ binding.tvItemName.text = "${item.name}:"
+ binding.tvItemValue.text = item.value
+ binding.divider.run {
+ if (isLatest) gone() else visible()
+ }
+ }
+
+ private fun addChildToContainer(
+ container: LinearLayout,
+ list: MutableList
+ ) {
+ list.forEachIndexed { index, item ->
+ val itemBinding = ListItemWaterYieldRecordInnerBinding.inflate(
+ LayoutInflater.from(context),
+ container,
+ false
+ )
+ itemBinding.run {
+ loadItemData(itemBinding, index == list.size - 1, item)
+ container.addView(root)
+ }
+ }
+ }
+
+
+ inner class VH(var binding: ListItemWaterYieldRecordBinding) : BaseViewHolder(binding.root)
+}
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/TunnelWorkingItem.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/TunnelWorkingItem.kt
index bd720eb..3105529 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/TunnelWorkingItem.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/TunnelWorkingItem.kt
@@ -8,7 +8,7 @@ data class TunnelWorkingItem(
var name: String? = "",
var value: String? = "",
var items: MutableList? = null,
- var pageType:Int = 0
+ var pageType: Int = 0
)
data class RockItem(
@@ -18,12 +18,26 @@ data class RockItem(
)
data class WorkOption(
- var id:String,
+ var id: String,
var name: String
)
+data class Work3LevelOption(
+ var id: String = "",
+ var name: String = "",
+
+ var list: List? = null
+)
+
data class TunnelSubmitData(
- var faceList: MutableList?=null,
- var recordList: MutableList?=null,
- var lithologyList: MutableList?=null
+ var faceList: MutableList? = null,
+ var recordList: MutableList? = null,
+ var lithologyList: MutableList? = null
+)
+
+data class WaterYieldRecordItem(
+ var name: String? = "",
+ var value: String? = "",
+ var isHeader: Boolean = false,
+ var items: MutableList? = null,
)
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/wateryield/BuoyMethodFragment.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/wateryield/BuoyMethodFragment.kt
index ce1db57..543d492 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/wateryield/BuoyMethodFragment.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/wateryield/BuoyMethodFragment.kt
@@ -60,6 +60,7 @@ class BuoyMethodFragment :
mBinding.rvBuoyTop.let {
it.layoutManager = LinearLayoutManager(it.context)
it.adapter = buoyTopAdapter
+ it.requestDisallowInterceptTouchEvent(true)
}
buoyBottomList.run {
add(BuoyBottomItem(name = "水沟长(m)"))
@@ -67,6 +68,13 @@ class BuoyMethodFragment :
mBinding.rvBuoyBottom.let {
it.layoutManager = LinearLayoutManager(it.context)
it.adapter = buoyBottomAdapter
+ it.requestDisallowInterceptTouchEvent(true)
+ }
+ mBinding.btnRecord.setOnClickListener {
+ toActivity(WaterYieldObserveRecordActivity::class.java)
+ }
+ mBinding.btnSubmit.setOnClickListener {
+
}
}
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/wateryield/VolumeMethodFragment.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/wateryield/VolumeMethodFragment.kt
index 1c01f9f..ec0d379 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/wateryield/VolumeMethodFragment.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/wateryield/VolumeMethodFragment.kt
@@ -10,6 +10,12 @@ import com.zmkg.coaloperation.databinding.FragmentVolumeMethodBinding
class VolumeMethodFragment:
BaseVMBFragment(R.layout.fragment_volume_method) {
override fun initView(root: View?, savedInstanceState: Bundle?) {
+ mBinding.btnRecord.setOnClickListener {
+ toActivity(WaterYieldObserveRecordActivity::class.java)
+ }
+ mBinding.btnSubmit.setOnClickListener {
+
+ }
}
override fun bindEvent() {
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/wateryield/WaterYieldObserveRecordActivity.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/wateryield/WaterYieldObserveRecordActivity.kt
new file mode 100644
index 0000000..1e036b7
--- /dev/null
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/wateryield/WaterYieldObserveRecordActivity.kt
@@ -0,0 +1,105 @@
+package com.zmkg.coaloperation.ui.wateryield
+
+import android.os.Bundle
+import android.view.View
+import android.widget.RelativeLayout
+import androidx.core.view.marginEnd
+import androidx.core.view.updateLayoutParams
+import androidx.fragment.app.Fragment
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.zmkg.coaloperation.R
+import com.zmkg.coaloperation.adapter.WaterYieldRecordAdapter
+import com.zmkg.coaloperation.base.BaseVMBActivity
+import com.zmkg.coaloperation.base.viewmodel.TestViewModel
+import com.zmkg.coaloperation.bean.WaterYieldRecordItem
+import com.zmkg.coaloperation.databinding.ActivityWaterYieldObserveRecordBinding
+import com.zmkg.coaloperation.utils.dp
+import com.zmkg.coaloperation.utils.visible
+import org.checkerframework.checker.units.qual.h
+
+/**
+ * 观测历史记录页面
+ */
+class WaterYieldObserveRecordActivity :
+ BaseVMBActivity(R.layout.activity_water_yield_observe_record) {
+
+ private val recordList: MutableList = mutableListOf()
+ private val recordAdapter by lazy {
+ WaterYieldRecordAdapter(recordList)
+ }
+
+ override fun initView(savedInstanceState: Bundle?) {
+ mBinding.toolbarLay.title = "历史记录"
+// mBinding.toolbarLay.rightText = "添加观测点"
+ mBinding.toolbarLay.titleIvRight.run {
+ updateLayoutParams {
+ rightMargin = 10.dp
+ topMargin = 6.dp
+ width = 36.dp
+ height = 36.dp
+ }
+ setImageResource(R.drawable.ic_func_edit)
+ mBinding.toolbarLay.rightImageSrc = drawable
+ visible()
+ setOnClickListener {
+ //toActivity(WaterYieldAddObservePointActivity::class.java)
+ }
+ }
+ mBinding.toolbarLay.titleIvRight2.run {
+ updateLayoutParams {
+ topMargin = 6.dp
+ width = 36.dp
+ height = 36.dp
+ }
+ setImageResource(R.drawable.ic_func_delete)
+ visible()
+ setOnClickListener {
+ //toActivity(WaterYieldAddObservePointActivity::class.java)
+ }
+ }
+ mBinding.rvObserveRecord.let {
+ it.layoutManager = LinearLayoutManager(this)
+ it.adapter = recordAdapter
+ }
+ initBuoyMethodData()
+ recordList.run {
+ add(WaterYieldRecordItem(name = "水文观测原始记录", isHeader = true))
+ add(WaterYieldRecordItem(name = "观测时间", value = "2025-09-12 16:40:00"))
+ add(WaterYieldRecordItem(name = "观测地点", value = "观测点011"))
+ add(WaterYieldRecordItem(name = "观测人", value = "方一强"))
+ add(WaterYieldRecordItem(name = "观测方法", value = "浮标法"))
+ add(WaterYieldRecordItem(name = "观测参数", items = subList))
+ add(WaterYieldRecordItem(name = "观测结果", value = "1178400m³/h"))
+ add(WaterYieldRecordItem(name = "备注", value = ""))
+ }
+ recordAdapter.notifyDataSetChanged()
+ }
+
+
+ override fun initData() {
+ }
+
+ override fun bindEvent() {
+
+ }
+
+ override fun processClick(v: View?) {
+ }
+
+ val subList = mutableListOf()
+ fun initBuoyMethodData() {
+ subList.run {
+ add(WaterYieldRecordItem(name = "断面1水沟宽", value = "15m"))
+ add(WaterYieldRecordItem(name = "断面1水沟深", value = "15m"))
+ add(WaterYieldRecordItem(name = "断面2水沟宽", value = "15m"))
+ add(WaterYieldRecordItem(name = "断面2水沟深", value = "15m"))
+ add(WaterYieldRecordItem(name = "水沟长", value = "15m"))
+ add(WaterYieldRecordItem(name = "断面1到断面2水流速度", value = "3m/s"))
+ }
+ }
+
+ fun initVolumeMethodData() {
+
+ }
+
+}
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/PickerUtil.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/PickerUtil.kt
index f6568f2..6ef6aa1 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/PickerUtil.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/PickerUtil.kt
@@ -2,8 +2,11 @@ package com.zmkg.coaloperation.utils
import android.content.Context
import android.graphics.Color
+import androidx.core.content.ContextCompat
import com.bigkoo.pickerview.builder.OptionsPickerBuilder
import com.bigkoo.pickerview.builder.TimePickerBuilder
+import com.zmkg.coaloperation.R
+import com.zmkg.coaloperation.bean.Work3LevelOption
import com.zmkg.coaloperation.bean.WorkOption
import java.text.SimpleDateFormat
import java.util.Calendar
@@ -42,10 +45,37 @@ object PickerUtil {
}
// 三级联动选择器示例
+// fun show3LevelOptionPicker(context: Context, title:String, options: List, action: (Work3LevelOption, Work3LevelOption, Work3LevelOption) -> Unit) {
+// OptionsPickerBuilder(context) { idx1, idx2, idx3, _ ->
+// val option1 = options[idx1]
+// val option2 = option1.list!![idx2]
+// val option3 = option2.list!![idx3]
+// action(option1, option2, option3)
+// }.apply {
+// setTitleText(title)
+// setContentTextSize(18)
+// setOutSideCancelable(true)
+// }.build().apply {
+// val items1: MutableList = mutableListOf()
+// val items2: MutableList> = mutableListOf()
+// val items3: MutableList>> = mutableListOf()
+// options.forEach {
+// items1.add(it.name)
+//
+// }
+// setPicker( options.map { it.name } , null, null)
+// show()
+// }
+// }
+
+
fun showOptionPicker(context: Context, title:String, options: List, action: (WorkOption) -> Unit) {
OptionsPickerBuilder(context) { opt1, _, _, _ ->
action(options[opt1])
}.apply {
+// setOutSideColor(ContextCompat.getColor(context, R.color.black_bg))
+// setDividerColor(ContextCompat.getColor(context,R.color.divider))
+
setTitleText(title)
setContentTextSize(18)
setOutSideCancelable(true)
@@ -54,6 +84,7 @@ object PickerUtil {
show()
}
}
+
fun showTextPicker(context: Context, title:String, options: List, action: (String) -> Unit) {
OptionsPickerBuilder(context) { opt1, _, _, _ ->
action(options[opt1])
diff --git a/coalMiningApp/app/src/main/res/drawable-xxxhdpi/ic_func_delete.png b/coalMiningApp/app/src/main/res/drawable-xxxhdpi/ic_func_delete.png
new file mode 100644
index 0000000..95a0a43
Binary files /dev/null and b/coalMiningApp/app/src/main/res/drawable-xxxhdpi/ic_func_delete.png differ
diff --git a/coalMiningApp/app/src/main/res/drawable-xxxhdpi/ic_func_edit.png b/coalMiningApp/app/src/main/res/drawable-xxxhdpi/ic_func_edit.png
new file mode 100644
index 0000000..813ecd7
Binary files /dev/null and b/coalMiningApp/app/src/main/res/drawable-xxxhdpi/ic_func_edit.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
index 57f3177..7dc4222 100644
--- a/coalMiningApp/app/src/main/res/layout/activity_water_yield_observe.xml
+++ b/coalMiningApp/app/src/main/res/layout/activity_water_yield_observe.xml
@@ -175,8 +175,7 @@
+ android:layout_height="match_parent"/>
diff --git a/coalMiningApp/app/src/main/res/layout/activity_water_yield_observe_record.xml b/coalMiningApp/app/src/main/res/layout/activity_water_yield_observe_record.xml
new file mode 100644
index 0000000..4539d2c
--- /dev/null
+++ b/coalMiningApp/app/src/main/res/layout/activity_water_yield_observe_record.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/res/layout/fragment_buoy_method.xml b/coalMiningApp/app/src/main/res/layout/fragment_buoy_method.xml
index 46f7433..0ea4d64 100644
--- a/coalMiningApp/app/src/main/res/layout/fragment_buoy_method.xml
+++ b/coalMiningApp/app/src/main/res/layout/fragment_buoy_method.xml
@@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools">
-
-
+
+
+
+
+
+
diff --git a/coalMiningApp/app/src/main/res/layout/fragment_volume_method.xml b/coalMiningApp/app/src/main/res/layout/fragment_volume_method.xml
index d54357f..be03af0 100644
--- a/coalMiningApp/app/src/main/res/layout/fragment_volume_method.xml
+++ b/coalMiningApp/app/src/main/res/layout/fragment_volume_method.xml
@@ -2,181 +2,212 @@
-
+ android:layout_height="match_parent"
+ android:overScrollMode="never">
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ android:layout_marginStart="20dp"
+ android:layout_marginEnd="20dp"
+ android:background="@drawable/bg_stroke_gray"
+ android:gravity="center_vertical"
+ android:orientation="horizontal">
-
-
-
+ android:textSize="18sp" />
-
+
+
+
+ android:layout_height="wrap_content"
+ android:layout_marginStart="20dp"
+ android:layout_marginTop="10dp"
+ android:layout_marginEnd="20dp"
+ android:background="@drawable/bg_stroke_gray"
+ android:orientation="vertical">
+
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:paddingTop="20dp"
+ android:paddingBottom="20dp"
+ android:orientation="horizontal"
+ android:paddingStart="30dp"
+ android:paddingEnd="30dp">
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/res/layout/lay_title_right_bar.xml b/coalMiningApp/app/src/main/res/layout/lay_title_right_bar.xml
index a5967b5..bd7aa0d 100644
--- a/coalMiningApp/app/src/main/res/layout/lay_title_right_bar.xml
+++ b/coalMiningApp/app/src/main/res/layout/lay_title_right_bar.xml
@@ -94,6 +94,16 @@
android:src="@{rightImageSrc==null?@drawable/icon_back:rightImageSrc}"
android:visibility="@{rightImageSrc!=null?View.VISIBLE:View.GONE}" />
+
+
diff --git a/coalMiningApp/app/src/main/res/layout/list_item_buoy_top.xml b/coalMiningApp/app/src/main/res/layout/list_item_buoy_top.xml
index d23ff99..dc5a1d2 100644
--- a/coalMiningApp/app/src/main/res/layout/list_item_buoy_top.xml
+++ b/coalMiningApp/app/src/main/res/layout/list_item_buoy_top.xml
@@ -62,6 +62,7 @@
android:maxLines="1"
android:textColor="@color/white"
android:textColorHint="@color/white"
+ android:textCursorDrawable="@drawable/cursor_white"
android:textSize="16sp" />
@@ -90,6 +91,7 @@
android:layout_marginStart="10dp"
android:background="@color/transparent"
android:gravity="end|center_vertical"
+ android:textCursorDrawable="@drawable/cursor_white"
android:hint="请输入"
android:maxLines="1"
android:textColor="@color/white"
diff --git a/coalMiningApp/app/src/main/res/layout/list_item_water_yield_record.xml b/coalMiningApp/app/src/main/res/layout/list_item_water_yield_record.xml
new file mode 100644
index 0000000..09ba23e
--- /dev/null
+++ b/coalMiningApp/app/src/main/res/layout/list_item_water_yield_record.xml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/res/layout/list_item_water_yield_record_inner.xml b/coalMiningApp/app/src/main/res/layout/list_item_water_yield_record_inner.xml
new file mode 100644
index 0000000..22bcbd8
--- /dev/null
+++ b/coalMiningApp/app/src/main/res/layout/list_item_water_yield_record_inner.xml
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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 db66659..480fc69 100644
--- a/coalMiningApp/app/src/main/res/values/colors.xml
+++ b/coalMiningApp/app/src/main/res/values/colors.xml
@@ -32,4 +32,5 @@
#17181C
#A3FEA6
#FF21A69A
+ #353846
\ No newline at end of file