编录点

This commit is contained in:
2025-09-25 23:30:03 +08:00
parent 117c5fa3ad
commit bb09bc304f
20 changed files with 488 additions and 96 deletions
@@ -45,7 +45,7 @@
<activity android:name=".ui.user.activity.NetworkConfigActivity" />
<activity android:name=".ui.user.activity.CacheManageActivity" />
<activity android:name=".ui.user.activity.AboutUsActivity" />
<activity android:name=".ui.home.activity.GeologicalActivity" />
<activity android:name=".ui.geologging.GeologicalActivity" />
<activity android:name=".ui.tunneling.activity.WorkingFaceStatisticsActivity" />
<activity android:name=".ui.tunneling.activity.WorkingFaceRecordActivity" />
<activity android:name=".ui.tunneling.activity.WorkingFaceDetailActivity" />
@@ -67,6 +67,7 @@
android:windowSoftInputMode="adjustPan"/>
<activity android:name=".ui.wateryield.WaterYieldHomeActivity" />
<activity android:name=".ui.wateryield.WaterYieldObserveRecordActivity" />
<activity android:name=".ui.geologging.GeologicalPointActivity" />
</application>
</manifest>
@@ -0,0 +1,80 @@
package com.zmkg.coaloperation.adapter
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.core.graphics.toColorInt
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.GeoPointItem
import com.zmkg.coaloperation.databinding.ItemGeologicalPointBinding
import com.zmkg.coaloperation.utils.gone
import com.zmkg.coaloperation.utils.visible
class GeoPointAdapter(list: MutableList<GeoPointItem>) :
BaseQuickAdapter<GeoPointItem, GeoPointAdapter.VH>(
R.layout.item_geological_point, list
) {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VH {
val binding = ItemGeologicalPointBinding.inflate(
LayoutInflater.from(context), parent, false
)
return VH(binding).also {
bindViewClickListener(it, viewType)
}
}
override fun convert(
holder: VH,
item: GeoPointItem
) {
val index = holder.layoutPosition
val binding = holder.binding
binding.tvNum.run {
text = "${index+1}"
setTextColor(
if (item.isLogging) "#A3FEA6".toColorInt() else "#6A6F87".toColorInt()
)
}
binding.tvName.run {
text = item.name
setTextColor(
if (item.isLogging) "#A3FEA6".toColorInt() else "#6A6F87".toColorInt()
)
}
binding.tvDistance.run {
text = item.distance
setTextColor(
if (item.isLogging) "#A3FEA6".toColorInt() else "#6A6F87".toColorInt()
)
}
if (item.isLogging) {
binding.ivState.setImageResource(
if (item.isChecked) R.drawable.ic_point_green_check
else R.drawable.ic_point_green
)
} else {
binding.ivState.setImageResource(R.drawable.ic_point_grey)
}
binding.horizontalDivider.run {
if (item.isLogging) {
if (index == data.size-1) gone() else visible()
} else {
visible()
}
}
binding.btnAddPoint.run {
if (!item.isLogging && index == data.size-1) visible() else gone()
setOnClickListener {
}
}
}
init {
addChildClickViewIds(R.id.btnAddPoint)
}
inner class VH(var binding: ItemGeologicalPointBinding) : BaseViewHolder(binding.root)
}
@@ -0,0 +1,50 @@
package com.zmkg.coaloperation.adapter
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.LinearLayoutManager
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.GeoPointItem
import com.zmkg.coaloperation.bean.GeoPointParent
import com.zmkg.coaloperation.databinding.ItemGeologicalHeaderBinding
import com.zmkg.coaloperation.databinding.ListItemGeologicalPointParentBinding
class GeoPointParentAdapter(list: MutableList<GeoPointParent>) :
BaseQuickAdapter<GeoPointParent, GeoPointParentAdapter.VH>(
R.layout.list_item_geological_point_parent, list
) {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VH {
val binding = ListItemGeologicalPointParentBinding.inflate(
LayoutInflater.from(context), parent, false
)
return VH(binding).also {
bindViewClickListener(it, viewType)
}
}
override fun convert(
holder: VH,
item: GeoPointParent
) {
val binding = holder.binding
binding.tvPointFlag.run {
text = item.name
}
binding.rvPointList.let { rv ->
rv.layoutManager = LinearLayoutManager(context)
if (item.list == null) {
item.list = mutableListOf()
}
val geoPointAdapter = GeoPointAdapter(item.list!!)
rv.adapter = geoPointAdapter
// val headerBinding =
// ItemGeologicalHeaderBinding.inflate(LayoutInflater.from(context))
// geoPointAdapter.addHeaderView(headerBinding.root)
}
}
inner class VH(var binding: ListItemGeologicalPointParentBinding) : BaseViewHolder(binding.root)
}
@@ -29,7 +29,7 @@ data class DataSyncItem(
)
data class BuoyTopItem(
var faceName:String= "",
var faceName: String = "",
var ditchWidth: String = "",
var ditchDepth: String = ""
)
@@ -37,4 +37,16 @@ data class BuoyTopItem(
data class BuoyBottomItem(
var name: String = "",
var value: String = ""
)
data class GeoPointItem(
var isChecked: Boolean = false,
var isLogging: Boolean = false,
var name: String = "",
var distance: String = ""
)
data class GeoPointParent(
var name: String = "",
var list: MutableList<GeoPointItem>? = null
)
@@ -1,4 +1,4 @@
package com.zmkg.coaloperation.ui.home.activity
package com.zmkg.coaloperation.ui.geologging
import android.os.Bundle
import android.view.View
@@ -10,10 +10,15 @@ import com.zmkg.coaloperation.databinding.ActivityGeologicalBinding
/**
* 地质编录
*/
class GeologicalActivity : BaseVMBActivity<TestViewModel, ActivityGeologicalBinding>(R.layout.activity_geological) {
class GeologicalActivity :
BaseVMBActivity<TestViewModel, ActivityGeologicalBinding>(R.layout.activity_geological) {
override fun initView(savedInstanceState: Bundle?) {
mBinding.toolbarLay.title = "编录位置选择"
mBinding.toolbarLay.rightText = "新增工作面"
mBinding.toolbarLay.titleTvRight.setOnClickListener {
toActivity(GeologicalPointActivity::class.java)
}
}
override fun initData() {
@@ -0,0 +1,64 @@
package com.zmkg.coaloperation.ui.geologging
import android.os.Bundle
import android.view.View
import androidx.recyclerview.widget.LinearLayoutManager
import com.zmkg.coaloperation.R
import com.zmkg.coaloperation.adapter.GeoPointParentAdapter
import com.zmkg.coaloperation.base.BaseVMBActivity
import com.zmkg.coaloperation.base.viewmodel.TestViewModel
import com.zmkg.coaloperation.bean.GeoPointItem
import com.zmkg.coaloperation.bean.GeoPointParent
import com.zmkg.coaloperation.databinding.ActivityGeologicalPointBinding
/**
* 地质编录
*/
class GeologicalPointActivity :
BaseVMBActivity<TestViewModel, ActivityGeologicalPointBinding>(R.layout.activity_geological_point) {
private val parentList: MutableList<GeoPointParent> = mutableListOf(
GeoPointParent(name = "已编录点"),
GeoPointParent(name = "未编录点")
)
private val parentAdapter by lazy {
GeoPointParentAdapter(parentList)
}
override fun initView(savedInstanceState: Bundle?) {
mBinding.toolbarLay.title = "编录点"
// mBinding.toolbarLay.rightText = "新增工作面"
val subList = mutableListOf(
GeoPointItem(isLogging = true, name = "1#", distance = "0", isChecked = true),
GeoPointItem(isLogging = true, name = "2#", distance = "24.252"),
GeoPointItem(isLogging = true, name = "3#", distance = "37.859"),
GeoPointItem(isLogging = true, name = "4#", distance = "43.123"),
GeoPointItem(isLogging = true, name = "5#", distance = "50.567"),
GeoPointItem(isLogging = true, name = "6#", distance = "60.567"),
GeoPointItem(isLogging = true, name = "7#", distance = "70.567")
)
val subList2 = mutableListOf(
GeoPointItem(name = "1#", distance = "0"),
GeoPointItem(name = "2#", distance = "24.252"),
GeoPointItem(name = "3#", distance = "37.859"),
GeoPointItem(name = "4#", distance = "56.859"),
GeoPointItem(name = "5#", distance = "89.859")
)
parentList[0].list = subList
parentList[1].list = subList2
mBinding.rvPointParent.let {
it.layoutManager = LinearLayoutManager(this)
it.adapter = parentAdapter
}
}
override fun initData() {
}
override fun bindEvent() {
}
override fun processClick(v: View?) {
}
}
@@ -13,6 +13,7 @@ import com.zmkg.coaloperation.databinding.FragmentHomeBinding
import com.zmkg.coaloperation.superfuntion.addItemTouchCallback
import com.zmkg.coaloperation.superfuntion.init
import com.zmkg.coaloperation.superfuntion.onPageChangeCallback
import com.zmkg.coaloperation.ui.geologging.GeologicalActivity
import com.zmkg.coaloperation.ui.home.adapter.HomeMenuAdapter
import com.zmkg.coaloperation.ui.home.bean.HomeMenuBean
import com.zmkg.coaloperation.ui.home.viewmodel.HomeViewModel
@@ -84,7 +85,9 @@ class HomeFragment :
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 = 6, name = "地质编录", type = 1, onClick = {
toActivity(GeologicalActivity::class.java)
}),
HomeMenuBean(index = 7, name = "水文地质编录", type = 1),
HomeMenuBean(index = 8, name = "隐蔽致灾", type = 1),
HomeMenuBean(index = 9, name = "地物查询", type = 1)
Binary file not shown.

After

Width:  |  Height:  |  Size: 796 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 875 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 818 B

@@ -15,12 +15,10 @@
<include
android:id="@+id/toolbar_lay"
layout="@layout/lay_title_bar"
app:darkStyle="@{true}"
app:title="@{@string/title_geological}" />
layout="@layout/lay_title_right_bar"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_list"
android:id="@+id/rvGeoLogging"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:listitem="@layout/item_geological_list" />
@@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black_bg"
android:orientation="vertical">
<include
android:id="@+id/toolbar_lay"
layout="@layout/lay_title_bar"
app:darkStyle="@{true}"
app:title="@{@string/title_catalog_point}" />
<TextView
android:layout_marginLeft="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/rectangle_green"
android:text="已编录点"
android:drawablePadding="5dp"
android:textColor="@color/white"
android:textSize="16sp" />
<androidx.recyclerview.widget.RecyclerView
android:layout_marginTop="20dp"
android:background="#0C0D0E"
android:id="@+id/rv_list"
android:layout_marginHorizontal="20dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:listitem="@layout/item_geological_point" />
</LinearLayout>
</layout>
@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black_bg"
android:orientation="vertical">
<include
android:id="@+id/toolbar_lay"
layout="@layout/lay_title_right_bar" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvPointParent"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginHorizontal="20dp"
android:layout_weight="1"
android:overScrollMode="never"
tools:itemCount="2"
tools:listitem="@layout/list_item_geological_point_parent" />
<LinearLayout
style="?android:attr/buttonBarStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingStart="30dp"
android:paddingTop="20dp"
android:paddingEnd="30dp"
android:paddingBottom="20dp">
<Button
android:id="@+id/btnRecord"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dp"
android:layout_height="44dp"
android:layout_weight="1"
android:background="@drawable/bg_btn_save"
android:text="查看记录"
android:textColor="@color/white"
android:textSize="14sp" />
<Button
android:id="@+id/btnSubmit"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dp"
android:layout_height="44dp"
android:layout_marginStart="8dp"
android:layout_weight="1"
android:background="@drawable/bg_btn_export"
android:text="确认提交"
android:textColor="@color/white"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
</layout>
@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="HardcodedText">
<data>
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
tools:background="@color/black_bg">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:gravity="center"
android:text="序号"
android:textColor="@color/white"
android:textSize="16sp" />
<com.google.android.material.divider.MaterialDivider
android:layout_width="1dp"
android:layout_height="match_parent"
app:dividerColor="#282C38" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2.8"
android:gravity="center"
android:text="名称"
android:textColor="@color/white"
android:textSize="16sp" />
<com.google.android.material.divider.MaterialDivider
android:layout_width="1dp"
android:layout_height="match_parent"
app:dividerColor="#282C38" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:gravity="center"
android:text="点距"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>
<com.google.android.material.divider.MaterialDivider
android:layout_width="match_parent"
android:layout_height="1dp"
app:dividerColor="#282C38" />
</LinearLayout>
</layout>
@@ -9,54 +9,100 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginVertical="5dp">
android:layout_height="wrap_content"
android:orientation="vertical"
tools:background="@color/black_bg">
<ImageView
android:id="@+id/img"
android:layout_width="14dp"
android:layout_height="14dp"
android:layout_centerVertical="true"
android:layout_gravity="center_vertical"
android:layout_marginLeft="20dp"
android:background="@mipmap/ic_point_green_check"
android:scaleType="fitXY" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<FrameLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<ImageView
android:id="@+id/ivState"
android:layout_width="14dp"
android:layout_height="14dp"
android:layout_gravity="center"
tools:src="@drawable/ic_point_green_check" />
</FrameLayout>
<com.google.android.material.divider.MaterialDivider
android:layout_width="1dp"
android:layout_height="match_parent"
app:dividerColor="#282C38" />
<TextView
android:id="@+id/tvNum"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:textColor="#A3FEA6"
android:textSize="14sp"
tools:text="5" />
<com.google.android.material.divider.MaterialDivider
android:layout_width="1dp"
android:layout_height="match_parent"
app:dividerColor="#282C38" />
<TextView
android:id="@+id/tvName"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2.8"
android:gravity="center"
android:textColor="#A3FEA6"
android:textSize="14sp"
tools:text="5#" />
<com.google.android.material.divider.MaterialDivider
android:layout_width="1dp"
android:layout_height="match_parent"
app:dividerColor="#282C38" />
<TextView
android:id="@+id/tvDistance"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:gravity="center"
android:textColor="#A3FEA6"
android:textSize="14sp"
tools:text="0" />
</LinearLayout>
<com.google.android.material.divider.MaterialDivider
android:id="@+id/horizontalDivider"
android:layout_width="match_parent"
android:layout_height="1dp"
app:dividerColor="#282C38" />
<TextView
android:id="@+id/index"
android:id="@+id/btnAddPoint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="60dp"
android:gravity="center_horizontal"
android:textColor="#A3FEA6"
android:layout_height="40dp"
android:layout_gravity="center_horizontal"
android:drawablePadding="7dp"
android:gravity="center_vertical"
android:paddingStart="5dp"
android:paddingEnd="5dp"
android:text="新增编录点"
android:textColor="@color/white"
android:textSize="14sp"
tools:text="5" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_gravity="center_vertical"
android:layout_marginLeft="60dp"
android:gravity="center_horizontal"
android:textColor="#A3FEA6"
android:textSize="14sp"
tools:text="5#" />
<TextView
android:id="@+id/point"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_gravity="center_vertical"
android:layout_marginLeft="60dp"
android:gravity="center_horizontal"
android:textColor="#A3FEA6"
android:textSize="14sp"
tools:text="0" />
android:visibility="gone"
app:drawableStartCompat="@drawable/ic_add_point" />
</LinearLayout>
</layout>
@@ -102,7 +102,7 @@
android:layout_marginEnd="2dp"
android:scaleType="center"
tools:src="@drawable/ic_func_delete"
android:visibility="visible"/>
android:visibility="gone"/>
<View
android:id="@+id/v_line"
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
tools:background="@color/black_bg">
<TextView
android:id="@+id/tvPointFlag"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:drawablePadding="5dp"
android:gravity="center_vertical"
android:text="已编录点"
android:textColor="@color/white"
android:textSize="16sp"
app:drawableStartCompat="@drawable/line_green" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/bg_stroke_gray">
<include layout="@layout/item_geological_header"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvPointList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:itemCount="5"
android:overScrollMode="never"
tools:listitem="@layout/item_geological_point" />
</LinearLayout>
</LinearLayout>
</layout>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 472 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 533 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 520 B