From e34d925a8390abd387ccfff616cdd72d642679d6 Mon Sep 17 00:00:00 2001 From: lvmeng <848755140@qq.com> Date: Tue, 16 Sep 2025 19:24:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=88=91=E7=9A=84=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E3=80=81=E5=BC=80=E5=A7=8B=E5=9B=9E=E9=87=87=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/src/main/AndroidManifest.xml | 1 + .../coaloperation/adapter/UserMenuAdapter.kt | 38 ++++ .../com/zmkg/coaloperation/bean/OtherData.kt | 8 + .../ui/home/fragment/PagerLeftFragment.kt | 4 +- .../ui/mining/MiningViewModel.kt | 4 + .../mining/{ => activity}/MiningActivity.kt | 11 +- .../ui/user/fragment/UserFragment.kt | 194 ++++++++++-------- .../res/drawable/ic_arrow_right_white2.png | Bin 0 -> 448 bytes .../src/main/res/layout/activity_mining.xml | 13 +- .../main/res/layout/activity_tunneling.xml | 4 +- .../main/res/layout/custom_my_info_view.xml | 2 +- .../app/src/main/res/layout/fragment_user.xml | 63 ++---- .../main/res/layout/list_item_user_menu.xml | 50 +++++ .../src/main/res/mipmap-xhdpi/arrow_right.png | Bin 255 -> 0 bytes 14 files changed, 246 insertions(+), 146 deletions(-) create mode 100644 coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/UserMenuAdapter.kt create mode 100644 coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/OtherData.kt create mode 100644 coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/MiningViewModel.kt rename coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/{ => activity}/MiningActivity.kt (74%) create mode 100644 coalMiningApp/app/src/main/res/drawable/ic_arrow_right_white2.png create mode 100644 coalMiningApp/app/src/main/res/layout/list_item_user_menu.xml delete mode 100644 coalMiningApp/app/src/main/res/mipmap-xhdpi/arrow_right.png diff --git a/coalMiningApp/app/src/main/AndroidManifest.xml b/coalMiningApp/app/src/main/AndroidManifest.xml index fe52274..b80becb 100644 --- a/coalMiningApp/app/src/main/AndroidManifest.xml +++ b/coalMiningApp/app/src/main/AndroidManifest.xml @@ -54,6 +54,7 @@ + \ No newline at end of file diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/UserMenuAdapter.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/UserMenuAdapter.kt new file mode 100644 index 0000000..06506d1 --- /dev/null +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/UserMenuAdapter.kt @@ -0,0 +1,38 @@ +package com.zmkg.coaloperation.adapter + +import android.view.LayoutInflater +import android.view.ViewGroup +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.UserMenuBean +import com.zmkg.coaloperation.databinding.ListItemUserMenuBinding + +class UserMenuAdapter(list: MutableList) : + BaseQuickAdapter(R.layout.list_item_user_menu, list) { + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VH { + val binding = ListItemUserMenuBinding.inflate( + LayoutInflater.from(context), parent, false + ) + return VH(binding).also { + bindViewClickListener(it, viewType) + } + } + + override fun convert( + holder: VH, + item: UserMenuBean + ) { + holder.binding.let { + it.ivUserMenu.run { + setImageResource(item.iconResId) + setBackgroundResource(item.iconBgResId) + } + it.tvUserMenu.text = item.menuName + } + } + + inner class VH(var binding: ListItemUserMenuBinding) : 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 new file mode 100644 index 0000000..4cb7990 --- /dev/null +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/OtherData.kt @@ -0,0 +1,8 @@ +package com.zmkg.coaloperation.bean + +data class UserMenuBean( + var menuName: String, + var iconResId:Int, + var iconBgResId: Int, + val click:()-> Unit +) \ No newline at end of file diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/home/fragment/PagerLeftFragment.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/home/fragment/PagerLeftFragment.kt index 983db74..f98d321 100644 --- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/home/fragment/PagerLeftFragment.kt +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/home/fragment/PagerLeftFragment.kt @@ -6,6 +6,7 @@ import com.zmkg.coaloperation.R import com.zmkg.coaloperation.base.BaseVMBFragment import com.zmkg.coaloperation.base.viewmodel.TestViewModel import com.zmkg.coaloperation.databinding.FragmentPageLeftBinding +import com.zmkg.coaloperation.ui.mining.activity.MiningActivity class PagerLeftFragment : BaseVMBFragment(R.layout.fragment_page_left) { @@ -24,8 +25,7 @@ class PagerLeftFragment : mBinding.rootView.setOnClickListener { // val pagerViewClickDialog = PagerViewClickDialog(requireContext()) // pagerViewClickDialog.show() - - + toActivity(MiningActivity::class.java) } } diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/MiningViewModel.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/MiningViewModel.kt new file mode 100644 index 0000000..8e91fda --- /dev/null +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/MiningViewModel.kt @@ -0,0 +1,4 @@ +package com.zmkg.coaloperation.ui.mining + +class MiningViewModel { +} \ No newline at end of file diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/MiningActivity.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/activity/MiningActivity.kt similarity index 74% rename from coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/MiningActivity.kt rename to coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/activity/MiningActivity.kt index 865d8b3..2a0570a 100644 --- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/MiningActivity.kt +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/activity/MiningActivity.kt @@ -1,4 +1,4 @@ -package com.zmkg.coaloperation.ui.mining +package com.zmkg.coaloperation.ui.mining.activity import android.os.Bundle import android.view.View @@ -7,22 +7,23 @@ import com.zmkg.coaloperation.base.BaseVMBActivity import com.zmkg.coaloperation.base.viewmodel.TestViewModel import com.zmkg.coaloperation.databinding.ActivityMiningBinding +/** + * 回采首页列表 + */ class MiningActivity : BaseVMBActivity(R.layout.activity_mining) { override fun initView(savedInstanceState: Bundle?) { - TODO("Not yet implemented") + mBinding.toolbarLay.title = "回采上报" + mBinding.toolbarLay.rightText = "新增工作面" } override fun initData() { - TODO("Not yet implemented") } override fun bindEvent() { - TODO("Not yet implemented") } override fun processClick(v: View?) { - TODO("Not yet implemented") } } \ No newline at end of file diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/user/fragment/UserFragment.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/user/fragment/UserFragment.kt index 4fc71a3..ed09182 100644 --- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/user/fragment/UserFragment.kt +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/user/fragment/UserFragment.kt @@ -7,9 +7,12 @@ import androidx.lifecycle.Lifecycle import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope import androidx.lifecycle.repeatOnLifecycle +import androidx.recyclerview.widget.LinearLayoutManager import com.zmkg.coaloperation.R +import com.zmkg.coaloperation.adapter.UserMenuAdapter import com.zmkg.coaloperation.base.BaseVMBFragment import com.zmkg.coaloperation.bean.TunnelSubmitData +import com.zmkg.coaloperation.bean.UserMenuBean import com.zmkg.coaloperation.databinding.FragmentUserBinding import com.zmkg.coaloperation.db.viewmodel.TunnelRoofLithologyViewModel import com.zmkg.coaloperation.db.viewmodel.TunnelWorkingFaceRecordViewModel @@ -62,105 +65,29 @@ class UserFragment : } } + private var userMenuList: MutableList = mutableListOf() + private val userMenuAdapter: UserMenuAdapter by lazy { + UserMenuAdapter(userMenuList).apply { + setOnItemClickListener { adapter, view, position -> + userMenuList[position].click() + } + } + } override fun initView(root: View?, savedInstanceState: Bundle?) { - mBinding.apply { - networkConfig.setOrderStateInfo( - "网络配置", - R.mipmap.network, - R.drawable.bg_icon_network_config - ) - dataPull.setOrderStateInfo( - "数据拉取", - R.drawable.ic_data_pull, - R.drawable.bg_icon_data_pull - ) - dataPush.setOrderStateInfo( - "数据推送", - R.drawable.ic_data_push, - R.drawable.bg_icon_data_push - ) - cacheManage.setOrderStateInfo( - "缓存管理", - R.mipmap.buffer, - R.drawable.bg_icon_cache_manage - ) - checkUpdate.setOrderStateInfo( - "检查更新", - R.mipmap.checkupdate, - R.drawable.bg_icon_check_update - ) - systemExit.setOrderStateInfo( - "系统退出", - R.mipmap.systemexit, - R.drawable.bg_icon_system_exit - ) - aboutUs.setOrderStateInfo("关于我们", R.mipmap.about_us, R.drawable.bg_icon_about_us) + initMenuList() + mBinding.rvMenuList.let { + it.layoutManager = LinearLayoutManager(it.context) + it.adapter = userMenuAdapter } } override fun bindEvent() { - mBinding.apply { - addClickViews( - networkConfig, - dataPull, - dataPush, - cacheManage, - checkUpdate, - systemExit, - aboutUs - ) - } } override fun onClick(v: View?) { - when (v?.id) { - R.id.network_config -> { - toActivity(NetworkConfigActivity::class.java) - } - R.id.data_pull -> { - checkDataState { state -> - if (state) { - showToast("本地存在待提交的数据") - return@checkDataState - } - showLoading("加载中") - workingFaceViewModel.deleteAll { - workingFaceRecordViewModel.deleteAll { - roofLithologyViewModel.deleteAll { - mViewModel.getTunnelFaceAndRecordList() - mViewModel.getTunnelAllDict() - mBinding.dataPull.postDelayed({ - hideLoading() - }, 3000) - } - } - } - } - } - - R.id.data_push -> { - dataPush() - } - - R.id.cache_manage -> { - toActivity(CacheManageActivity::class.java) - } - - R.id.check_update -> { - updateDialog.show("提示", "已经是最新版本了") - } - - R.id.system_exit -> { - exitDialog.show("退出", "确定要退出当前用户?") - } - - R.id.about_us -> { - toActivity(AboutUsActivity::class.java) - } - } } override fun createObserve() { @@ -260,4 +187,95 @@ class UserFragment : } } + private fun initMenuList() { + userMenuList.clear() + userMenuList.add( + UserMenuBean( + menuName = "网络配置", + iconResId = R.mipmap.network, + iconBgResId = R.drawable.bg_icon_network_config, + click = { + toActivity(NetworkConfigActivity::class.java) + } + ) + ) + userMenuList.add( + UserMenuBean( + menuName = "数据拉取", + iconResId = R.drawable.ic_data_pull, + iconBgResId = R.drawable.bg_icon_data_pull, + click = { dataPull() } + ) + ) + userMenuList.add( + UserMenuBean( + menuName = "数据推送", + iconResId = R.drawable.ic_data_push, + iconBgResId = R.drawable.bg_icon_data_push, + click = { dataPush() } + ) + ) + userMenuList.add( + UserMenuBean( + menuName = "缓存管理", + iconResId = R.mipmap.buffer, + iconBgResId = R.drawable.bg_icon_cache_manage, + click = { + toActivity(CacheManageActivity::class.java) + } + ) + ) + userMenuList.add( + UserMenuBean( + menuName = "检查更新", + iconResId = R.mipmap.checkupdate, + iconBgResId = R.drawable.bg_icon_check_update, + click = { + updateDialog.show("提示", "已经是最新版本了") + } + ) + ) + userMenuList.add( + UserMenuBean( + menuName = "系统退出", + iconResId = R.mipmap.systemexit, + iconBgResId = R.drawable.bg_icon_system_exit, + click = { + exitDialog.show("退出", "确定要退出当前用户?") + } + ) + ) + userMenuList.add( + UserMenuBean( + menuName = "关于我们", + iconResId = R.mipmap.about_us, + iconBgResId = R.drawable.bg_icon_about_us, + click = { + toActivity(AboutUsActivity::class.java) + } + ) + ) + } + + private fun dataPull() { + checkDataState { state -> + if (state) { + showToast("本地存在待提交的数据") + return@checkDataState + } + showLoading("加载中") + workingFaceViewModel.deleteAll { + workingFaceRecordViewModel.deleteAll { + roofLithologyViewModel.deleteAll { + mViewModel.getTunnelFaceAndRecordList() + mViewModel.getTunnelAllDict() + mBinding.root.postDelayed({ + hideLoading() + }, 3000) + } + } + } + } + } + } diff --git a/coalMiningApp/app/src/main/res/drawable/ic_arrow_right_white2.png b/coalMiningApp/app/src/main/res/drawable/ic_arrow_right_white2.png new file mode 100644 index 0000000000000000000000000000000000000000..4cf1df6abcc3e882895687451085104e8e9bbd9a GIT binary patch literal 448 zcmV;x0YCnUP)3V>1fjV^#V;#@A?0FT6RWdY#|P?qHd z04L~OWC&LPx&}mrqZx!d0L&Mb5Fr4T5McmT5TO7T5a9qS#4G?5hyef`W?GGTJN*T~ zD!GBU(737zQSTMI6#&LJ=;#J&`;{S^+Q@@9@8cxa3DD zokFltoElF&|57UeYp?-Sc?)CLP&$QZp8F?U{w;q2eydJ@1c{-X6z!>wh z0T^q3766L*Z~)bOD1e3eFaRs_Apn-<-2q^p--QOf=V`J_-s?c`6}HQCde0kx--WI) zaNrgNN4dBH!1M#!Lj;k{vjbNE4rr|mU>(t+{Y{gBp)Q2_89)f0NzqKNvCq0000 + android:orientation="vertical" + android:background="@color/black_bg"> + + \ No newline at end of file diff --git a/coalMiningApp/app/src/main/res/layout/activity_tunneling.xml b/coalMiningApp/app/src/main/res/layout/activity_tunneling.xml index bc93ab7..2562e49 100644 --- a/coalMiningApp/app/src/main/res/layout/activity_tunneling.xml +++ b/coalMiningApp/app/src/main/res/layout/activity_tunneling.xml @@ -10,7 +10,7 @@ @@ -20,7 +20,7 @@ app:title="@{@string/title_tunneling}" /> + android:src="@drawable/ic_arrow_right_white2"/> \ No newline at end of file diff --git a/coalMiningApp/app/src/main/res/layout/fragment_user.xml b/coalMiningApp/app/src/main/res/layout/fragment_user.xml index 06520cb..918a87e 100644 --- a/coalMiningApp/app/src/main/res/layout/fragment_user.xml +++ b/coalMiningApp/app/src/main/res/layout/fragment_user.xml @@ -7,28 +7,29 @@ - + android:background="@color/black_bg"> @@ -42,59 +43,27 @@ android:textColor="#6A6F87" android:textSize="14sp" /> - - - - - - - - - - - - - + android:layout_height="match_parent" + tools:itemCount="6" + android:paddingTop="8dp" + android:paddingBottom="7dp" + android:clipToPadding="true" + tools:listitem="@layout/list_item_user_menu"/> - + \ No newline at end of file diff --git a/coalMiningApp/app/src/main/res/layout/list_item_user_menu.xml b/coalMiningApp/app/src/main/res/layout/list_item_user_menu.xml new file mode 100644 index 0000000..e24321c --- /dev/null +++ b/coalMiningApp/app/src/main/res/layout/list_item_user_menu.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/coalMiningApp/app/src/main/res/mipmap-xhdpi/arrow_right.png b/coalMiningApp/app/src/main/res/mipmap-xhdpi/arrow_right.png deleted file mode 100644 index b0f5e6b1251543e207a0c72cfcda91f6a25e0a49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 255 zcmVPx#xk*GpR7gwh)Ugc$F${&_-yI`RAVEpN0(7tm%)|gU3P>yh9a}ue>4XA0CBads zE_L$0#I|BIUe-9D3CLF1RU%0n-~=4Z?4DA*zyi1q!MhaV0z$B)6>!cWZlDyY0!ol- zAcwpGNpqkBX4%;r-w@8PUz2qMwr2JS+x`bQZ`~i0v;;0g#@@`rEBaO4gH(7mkPEK@ zO2XZMr1-1&sQGs