diff --git a/coalMiningApp/app/src/main/AndroidManifest.xml b/coalMiningApp/app/src/main/AndroidManifest.xml
index 2711d9f..1c35726 100644
--- a/coalMiningApp/app/src/main/AndroidManifest.xml
+++ b/coalMiningApp/app/src/main/AndroidManifest.xml
@@ -57,7 +57,8 @@
-
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/AddMiningFaceAdapter.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/AddMiningFaceAdapter.kt
new file mode 100644
index 0000000..85e0f98
--- /dev/null
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/AddMiningFaceAdapter.kt
@@ -0,0 +1,59 @@
+package com.zmkg.coaloperation.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.core.widget.addTextChangedListener
+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.AddMiningFaceItem
+import com.zmkg.coaloperation.databinding.ListItemAddMiningFaceBinding
+import com.zmkg.coaloperation.utils.gone
+import com.zmkg.coaloperation.utils.visible
+
+class AddMiningFaceAdapter(list: MutableList):
+ BaseQuickAdapter(R.layout.list_item_add_mining_face, list){
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VH {
+ val binding = ListItemAddMiningFaceBinding.inflate(
+ LayoutInflater.from(context), parent, false
+ )
+ return VH(binding).also {
+ bindViewClickListener(it, viewType)
+ }
+ }
+ override fun convert(
+ holder: VH,
+ item: AddMiningFaceItem
+ ) {
+ holder.binding.let {
+ val index = holder.layoutPosition
+ it.imgExpand.run {
+ if (item.isShowArrowDown) visible() else gone()
+ }
+ it.tvFuncName.text = item.funcName
+ if (item.funcType == 0) {
+ it.etInputValue.run {
+ visible()
+ addTextChangedListener(onTextChanged = { text, start, before, count ->
+ item.funcValue = text.toString().trim()
+ })
+ setText(item.funcValue)
+ }
+ it.tvSelectValue.gone()
+ } else {
+ it.etInputValue.gone()
+ it.tvSelectValue.run {
+ visible()
+ text = item.funcValue
+ tag = item.funcId
+ }
+ }
+ it.divider.run {
+ if (index == data.size - 1) gone() else visible()
+ }
+ }
+ }
+
+ inner class VH(var binding: ListItemAddMiningFaceBinding): BaseViewHolder(binding.root)
+
+ }
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/OtherData.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/OtherData.kt
index 4cb7990..b3de357 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/OtherData.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/OtherData.kt
@@ -2,7 +2,17 @@ package com.zmkg.coaloperation.bean
data class UserMenuBean(
var menuName: String,
- var iconResId:Int,
+ var iconResId: Int,
var iconBgResId: Int,
- val click:()-> Unit
+ val click: () -> Unit
+)
+
+data class AddMiningFaceItem(
+ //0-输入框,1-选择弹窗
+ var funcType: Int = 0,
+ var funcName: String = "",
+ var funcValue: String = "",
+ var funcId: String = "",
+ var isShowArrowDown: Boolean = false,
+ var onClick: () -> Unit = {}
)
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/activity/AddMiningFaceActivity.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/activity/AddMiningFaceActivity.kt
index 7e17016..1e60da7 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/activity/AddMiningFaceActivity.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/activity/AddMiningFaceActivity.kt
@@ -4,13 +4,18 @@ import android.os.Bundle
import android.text.TextUtils
import android.view.View
import android.widget.TextView
+import androidx.recyclerview.widget.LinearLayoutManager
import com.zmkg.coaloperation.R
+import com.zmkg.coaloperation.adapter.AddMiningFaceAdapter
import com.zmkg.coaloperation.base.BaseVMBActivity
import com.zmkg.coaloperation.base.viewmodel.TestViewModel
+import com.zmkg.coaloperation.bean.AddMiningFaceItem
import com.zmkg.coaloperation.bean.WorkOption
import com.zmkg.coaloperation.databinding.ActivityAddMiningFaceBinding
import com.zmkg.coaloperation.db.entity.mining.MiningWorkingFaceEntity
+import com.zmkg.coaloperation.ui.tunneling.activity.AddWorkingFaceActivity
import com.zmkg.coaloperation.ui.tunneling.activity.WorkingFaceDetailActivity
+import com.zmkg.coaloperation.utils.DictUtils
import com.zmkg.coaloperation.utils.PickerUtil
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
@@ -42,6 +47,25 @@ class AddMiningFaceActivity :
// }
private var faceDetail: MiningWorkingFaceEntity? = null
+ private val miningList = mutableListOf()
+ private val addFaceAdapter by lazy {
+ AddMiningFaceAdapter(miningList).apply {
+ addChildClickViewIds(R.id.tvSelectValue, R.id.imgExpand)
+ setOnItemChildClickListener { adapter, view, position ->
+ if (view.id == R.id.tvSelectValue) {
+ miningList[position].onClick()
+ return@setOnItemChildClickListener
+ }
+ if (view.id == R.id.imgExpand) {
+ miningList.clear()
+ initMiningList(false)
+ notifyDataSetChanged()
+ return@setOnItemChildClickListener
+ }
+ }
+ }
+ }
+
override fun initView(savedInstanceState: Bundle?) {
val stringExtra = intent.getStringExtra(WORK_FACE_TYPE)
if (TextUtils.isEmpty(stringExtra)) {
@@ -51,19 +75,14 @@ class AddMiningFaceActivity :
WorkFaceType.ADD.name -> {
currentFaceType = WorkFaceType.ADD
mBinding.confirm.text = "确认新增"
-// mBinding.toolbarLay.titleTvName.text = "新增工作面"
mBinding.toolbarLay.title = "新增工作面"
-// mBinding.expandLayout.gone()
-// mBinding.imgExpand.visible()
+ initMiningList(true)
}
WorkFaceType.EDIT.name -> {
currentFaceType = WorkFaceType.EDIT
mBinding.confirm.text = "确认修改"
-// mBinding.toolbarLay.titleTvName.text = "修改工作面"
mBinding.toolbarLay.title = "修改工作面"
-// mBinding.expandLayout.visible()
-// mBinding.imgExpand.gone()
faceDetail =
intent.getParcelableExtra(WorkingFaceDetailActivity.Companion.FACE_WORK_DETAIL_DATA) as MiningWorkingFaceEntity?
if (faceDetail == null) {
@@ -73,73 +92,28 @@ class AddMiningFaceActivity :
faceDetail?.let {
loadDetail(it)
}
+ initMiningList(false)
}
WorkFaceType.SEE.name -> {
currentFaceType = WorkFaceType.SEE
}
}
+ mBinding.rvFaceList.let {
+ it.layoutManager = LinearLayoutManager(this)
+ it.adapter = addFaceAdapter
+ }
-// mBinding.etPlanStartDate.let {
-// it.setOnClickListener { _ ->
-// showDatePicker(it)
-// }
-// }
-// mBinding.etPlannEndDate.let {
-// it.setOnClickListener { _ ->
-// showDatePicker(it)
-// }
-// }
// mBinding.tvSeamName.setOnClickListener { v ->
-// PickerUtil.showOptionPicker(this, "请选择所属煤层", DictUtils.seamList) { option ->
-// mBinding.tvSeamName.text = option.name
-// mBinding.tvSeamName.tag = option.id
-// seamAreaList = DictUtils.areaMap[option.id] ?: mutableListOf()
-// }
+
// }
// mBinding.tvAreaName.setOnClickListener { v ->
-// if (seamAreaList.isEmpty()) {
-// showToast("请先选择所属煤层")
-// return@setOnClickListener
-// }
-// PickerUtil.showOptionPicker(this, "请选择所属采区域", seamAreaList) { option ->
-// mBinding.tvAreaName.text = option.name
-// mBinding.tvAreaName.tag = option.id
-// }
-// }
-// mBinding.tvTunnelNature.setOnClickListener { v ->
-// PickerUtil.showOptionPicker(
-// this,
-// "请选择巷道性质",
-// DictUtils.seamRoadWayList
-// ) { option ->
-// mBinding.tvTunnelNature.text = option.name
-// mBinding.tvTunnelNature.tag = option.id
-// }
+
// }
}
private var seamAreaList: MutableList = mutableListOf()
- private fun showDatePicker(tv: TextView) {
- tv.setOnClickListener {
- PickerUtil.showTimePicker(this, tv.text.toString().trim()) { date ->
- tv.text = date
- }
- }
-// val cal = Calendar.getInstance()
-// DatePickerDialog(
-// this,
-// { view, year, month, day ->
-// textView.text = "$year-${numToString(month + 1)}-${numToString(day)}"
-// },
-// cal.get(Calendar.YEAR),
-// cal.get(Calendar.MONTH),
-// cal.get(Calendar.DAY_OF_MONTH)
-// )
-// .show()
- }
-
private fun numToString(num: Int): String {
return if (num < 10) "0${num}" else num.toString()
}
@@ -149,9 +123,7 @@ class AddMiningFaceActivity :
}
override fun bindEvent() {
- mBinding.apply {
-// addClickViews(imgExpand, confirm)
- }
+
}
override fun createObserve() {
@@ -185,82 +157,9 @@ class AddMiningFaceActivity :
}
private fun loadDetail(it: MiningWorkingFaceEntity) {
-// mBinding.etWorkfaceName.setText(it.surfaceName)
-// mBinding.etTotalFootage.setText("${it.totalFootage}")
-// mBinding.tvSeamName.tag = it.seamId
-// mBinding.tvSeamName.text = it.seamName
-// mBinding.tvAreaName.tag = it.areaId
-// mBinding.tvAreaName.text = it.areaName
-// mBinding.etSurfaceAzimuth.setText(it.surfaceAzimuth)
-// mBinding.etSurfaceHeight.setText(it.surfaceHeight)
-// mBinding.etSurfaceWidth.setText(it.surfaceWidth)
-// mBinding.tvTunnelNature.text = it.tunnelNature
-//
-// mBinding.etPlanStartDate.text = it.planStartDate
-// mBinding.etPlannEndDate.text = it.planEndDate
-//
-// mBinding.etGeologicalType.setText(it.geologicalType)
-// mBinding.etHydrogeologicalType.setText(it.hydrogeologicalType)
-// mBinding.etSeamIgnition.setText(it.seamIgnition)
-// mBinding.etSeamGas.setText(it.seamGas)
-// mBinding.etSeamBumpPressure.setText(it.seamBumpPressure)
-// mBinding.etSurfaceSupportForm.setText(it.surfaceSupportForm)
}
private fun addNewFace() {
-// val workingFaceName = mBinding.etWorkfaceName.text.toString().trim()
-// if (TextUtils.isEmpty(workingFaceName)) {
-// showToast("请输入工作面名称")
-// return
-// }
-// val totalFootageStr = mBinding.etTotalFootage.text.toString().trim()
-// if (TextUtils.isEmpty(totalFootageStr)) {
-// showToast("请输入总进尺")
-// return
-// }
-// try {
-// totalFootageStr.toDouble()
-// } catch (e: Exception) {
-// e.printStackTrace()
-// showToast("总进尺数据非数字格式,请确认")
-// return
-// }
-//// mViewModel.postTunnellingSurfaceAdd(
-//// TunnelingFaceAddBean(
-//// surfaceName = mBinding.etWorkfaceName.text.toString(),
-//// totalFootage = mBinding.etTotalFootage.text.toString()
-//// )
-//// )
-// val workingFaceEntity = TunnelWorkingFaceEntity().also {
-// it.surfaceId = System.currentTimeMillis()
-// it.surfaceName = workingFaceName
-// it.totalFootage = totalFootageStr
-//
-// it.seamName = mBinding.tvSeamName.text.toString().trim()
-// if (it.seamName!!.isNotBlank()) {
-// it.seamId = mBinding.tvSeamName.tag.toString().toLong()
-// }
-// it.areaName = mBinding.tvAreaName.text.toString().trim()
-// if (it.areaName!!.isNotBlank()) {
-// it.areaId = mBinding.tvAreaName.tag.toString().toLong()
-// }
-//
-// it.surfaceAzimuth = mBinding.etSurfaceAzimuth.text.toString().trim()
-// it.surfaceHeight = mBinding.etSurfaceHeight.text.toString().trim()
-// it.surfaceWidth = mBinding.etSurfaceWidth.text.toString().trim()
-// it.tunnelNature = mBinding.tvTunnelNature.text.toString().trim()
-// it.planStartDate = mBinding.etPlanStartDate.text.toString().trim()
-// it.planEndDate = mBinding.etPlannEndDate.text.toString().trim()
-// it.geologicalType = mBinding.etGeologicalType.text.toString().trim()
-// it.hydrogeologicalType = mBinding.etHydrogeologicalType.text.toString().trim()
-// it.seamIgnition = mBinding.etSeamIgnition.text.toString().trim()
-// it.seamGas = mBinding.etSeamGas.text.toString().trim()
-// it.seamBumpPressure = mBinding.etSeamBumpPressure.text.toString().trim()
-// it.surfaceSupportForm = mBinding.etSurfaceSupportForm.text.toString().trim()
-//
-// it.createTime = DateTimeUtil.formatDateTime(LocalDateTime.now())
-// it.dataState = "1"
-// }
// workingFaceViewModel.insert(workingFaceEntity) {
// showToast("工作面新增完成")
// EventBus.getDefault().post(workingFaceEntity)
@@ -269,53 +168,6 @@ class AddMiningFaceActivity :
}
private fun editFace() {
-// val workingFaceName = mBinding.etWorkfaceName.text.toString().trim()
-// if (TextUtils.isEmpty(workingFaceName)) {
-// showToast("请输入工作面名称")
-// return
-// }
-// val totalFootageStr = mBinding.etTotalFootage.text.toString().trim()
-// if (TextUtils.isEmpty(totalFootageStr)) {
-// showToast("请输入总进尺")
-// return
-// }
-// try {
-// totalFootageStr.toDouble()
-// } catch (e: Exception) {
-// e.printStackTrace()
-// showToast("总进尺数据非数字格式,请确认")
-// return
-// }
-// val workingFaceEntity = TunnelWorkingFaceEntity().also {
-// it.surfaceId = faceDetail!!.surfaceId
-// it.surfaceName = workingFaceName
-// it.totalFootage = totalFootageStr
-//
-// it.seamName = mBinding.tvSeamName.text.toString().trim()
-// if (it.seamName!!.isNotBlank()) {
-// it.seamId = string2num(mBinding.tvSeamName.tag.toString())
-// }
-// it.areaName = mBinding.tvAreaName.text.toString().trim()
-// if (it.areaName!!.isNotBlank()) {
-// it.areaId = string2num(mBinding.tvAreaName.tag.toString())
-// }
-//
-// it.surfaceAzimuth = mBinding.etSurfaceAzimuth.text.toString().trim()
-// it.surfaceHeight = mBinding.etSurfaceHeight.text.toString().trim()
-// it.surfaceWidth = mBinding.etSurfaceWidth.text.toString().trim()
-// it.tunnelNature = mBinding.tvTunnelNature.text.toString().trim()
-// it.planStartDate = mBinding.etPlanStartDate.text.toString().trim()
-// it.planEndDate = mBinding.etPlannEndDate.text.toString().trim()
-// it.geologicalType = mBinding.etGeologicalType.text.toString().trim()
-// it.hydrogeologicalType = mBinding.etHydrogeologicalType.text.toString().trim()
-// it.seamIgnition = mBinding.etSeamIgnition.text.toString().trim()
-// it.seamGas = mBinding.etSeamGas.text.toString().trim()
-// it.seamBumpPressure = mBinding.etSeamBumpPressure.text.toString().trim()
-// it.surfaceSupportForm = mBinding.etSurfaceSupportForm.text.toString().trim()
-//
-// it.createTime = DateTimeUtil.formatDateTime(LocalDateTime.now())
-// it.dataState = "1"
-// }
// workingFaceViewModel.update(workingFaceEntity) {
// showToast("工作面修改完成")
// EventBus.getDefault().post(workingFaceEntity)
@@ -332,4 +184,67 @@ class AddMiningFaceActivity :
return if (text.isNullOrBlank()) 0 else text.toLong()
}
+ private fun initMiningList(isFirst: Boolean) {
+ miningList.run {
+ if (isFirst) {
+ add(AddMiningFaceItem(funcName = "工作面名称", isShowArrowDown = true))
+ return
+ }
+ add(AddMiningFaceItem(funcName = "工作面名称", isShowArrowDown = false))
+ add(AddMiningFaceItem(funcName = "水平", funcType = 1, onClick = { selectHorizontalPlane() }))
+ add(AddMiningFaceItem(funcName = "煤层", funcType = 1, onClick = { selectSeam() }))
+ add(AddMiningFaceItem(funcName = "采区", funcType = 1, onClick = { selectArea() }))
+ add(AddMiningFaceItem(funcName = "储量"))
+ add(AddMiningFaceItem(funcName = "胶运巷安全出口宽度"))
+ add(AddMiningFaceItem(funcName = "回风巷安全出口宽度"))
+ add(AddMiningFaceItem(funcName = "走向长度"))
+ add(AddMiningFaceItem(funcName = "倾向长度"))
+ add(AddMiningFaceItem(funcName = "胶带巷长度"))
+ add(AddMiningFaceItem(funcName = "回风巷长度"))
+ add(AddMiningFaceItem(funcName = "切眼长度"))
+ add(AddMiningFaceItem(funcName = "平均煤厚"))
+ add(AddMiningFaceItem(funcName = "容积"))
+ }
+ }
+
+ private fun selectArea() {
+ if (seamAreaList.isEmpty()) {
+ showToast("请先选择所属煤层")
+ return
+ }
+ PickerUtil.showOptionPicker(this, "请选择所属采区域", seamAreaList) { option ->
+ miningList[3].let {
+ it.funcValue = option.name
+ it.funcId = option.id
+ }
+ addFaceAdapter.notifyItemChanged(3)
+ }
+ }
+ private fun selectSeam() {
+ PickerUtil.showOptionPicker(this, "请选择所属煤层", DictUtils.seamList) { option ->
+ miningList[2].let {
+ it.funcValue = option.name
+ it.funcId = option.id
+ }
+ addFaceAdapter.notifyItemChanged(2)
+ seamAreaList = DictUtils.areaMap[option.id] ?: mutableListOf()
+ }
+ }
+
+ private fun selectHorizontalPlane() {
+ 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"))
+ PickerUtil.showOptionPicker(this, "请选择水平", list) { option ->
+ miningList[1].let {
+ it.funcValue = option.name
+ it.funcId = option.id
+ }
+ addFaceAdapter.notifyItemChanged(1)
+ }
+ }
+
}
\ No newline at end of file
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 4014e0e..de7dc56 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
@@ -16,6 +16,8 @@ import com.zmkg.coaloperation.db.entity.mining.MiningWorkingFaceEntity
import com.zmkg.coaloperation.db.entity.mining.MiningWorkingFaceRecordEntity
import com.zmkg.coaloperation.db.entity.tunnel.TunnelWorkingFaceEntity
import com.zmkg.coaloperation.db.entity.tunnel.TunnelWorkingFaceRecordEntity
+import com.zmkg.coaloperation.ui.mining.activity.AddMiningFaceActivity.Companion.WORK_FACE_TYPE
+import com.zmkg.coaloperation.ui.mining.activity.AddMiningFaceActivity.WorkFaceType
import com.zmkg.coaloperation.ui.tunneling.activity.AddWorkingFaceRecordActivity
import com.zmkg.coaloperation.ui.tunneling.activity.WorkingFaceStatisticsActivity
import org.greenrobot.eventbus.Subscribe
@@ -114,6 +116,11 @@ class MiningActivity :
}
override fun bindEvent() {
+ mBinding.toolbarLay.titleTvRight.setOnClickListener {
+ toActivity(AddMiningFaceActivity::class.java, Bundle().apply {
+ putString(WORK_FACE_TYPE, WorkFaceType.ADD.name)
+ })
+ }
}
override fun processClick(v: View?) {
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/activity/MiningFaceDetailActivity.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/activity/MiningFaceDetailActivity.kt
index 9b2767b..75a94a4 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/activity/MiningFaceDetailActivity.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/activity/MiningFaceDetailActivity.kt
@@ -51,9 +51,8 @@ class MiningFaceDetailActivity :
override fun bindEvent() {
mBinding.toolbarLay.titleTvRight.setOnClickListener {
toActivity(AddMiningFaceActivity::class.java, Bundle().apply {
- putString(AddMiningFaceActivity.Companion.WORK_FACE_TYPE, AddMiningFaceActivity.WorkFaceType.EDIT.name)
-// putSerializable(WorkFaceActivity.FACE_WORK_DETAIL_DATA, detail)
- putParcelable(AddMiningFaceActivity.Companion.FACE_WORK_DETAIL_DATA, detail)
+ putString(AddMiningFaceActivity.WORK_FACE_TYPE, AddMiningFaceActivity.WorkFaceType.EDIT.name)
+ putParcelable(AddMiningFaceActivity.FACE_WORK_DETAIL_DATA, detail)
})
}
}
diff --git a/coalMiningApp/app/src/main/res/layout/activity_add_mining_face.xml b/coalMiningApp/app/src/main/res/layout/activity_add_mining_face.xml
index db9c19e..5369250 100644
--- a/coalMiningApp/app/src/main/res/layout/activity_add_mining_face.xml
+++ b/coalMiningApp/app/src/main/res/layout/activity_add_mining_face.xml
@@ -30,19 +30,10 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20dp"
+ tools:itemCount="6"
+ android:overScrollMode="never"
+ tools:listitem="@layout/list_item_add_mining_face"
android:background="@drawable/bg_stroke_gray"/>
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file