From b29c46b906eed8f66d738e52936f88c9a352a45b Mon Sep 17 00:00:00 2001 From: zhangxiao <1441011491@qq.com> Date: Tue, 14 Jul 2026 19:15:11 +0800 Subject: [PATCH] =?UTF-8?q?feat(chat):=20=E4=B8=BA=E5=81=A5=E5=BA=B7?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E6=B7=BB=E5=8A=A0=E4=BD=8D=E7=BD=AE?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E9=95=BF=E6=8C=89=E5=8A=9F=E8=83=BD=E5=92=8C?= =?UTF-8?q?=E5=BA=94=E6=80=A5=E5=B0=B1=E5=8C=BB=E7=9B=B8=E5=85=B3=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在LocationMessageHolder中为健康客户端添加位置消息长按监听器 - 优化TUIGroupChatFragment中的代码格式和空格调整 - 在TUIGroupChatFragment中添加对健康客户端的特殊处理逻辑 - 注册ProposalActivity到AndroidManifest.xml - 添加健康档案页面相关的颜色定义 - 在EmergencyFragment中添加急救人员相关功能和界面元素 - 更新HomeFragment中的导航逻辑以跳转到健康档案页面 - 创建ProposalActivity和ProposalViewModel用于健康档案功能 - 添加应急就医群的相关字符串资源 --- app/src/main/AndroidManifest.xml | 4 +- .../fragment/EmergencyFragment.kt | 36 +- .../healthyclients/fragment/HomeFragment.kt | 3 +- .../ui/activity/ProposalActivity.kt | 40 + .../ui/viewmodel/ProposalViewModel.kt | 13 + app/src/main/res/layout/activity_proposal.xml | 1700 +++++++++++++++++ .../main/res/layout/fragment_emergency.xml | 14 +- app/src/main/res/values/colors.xml | 8 + app/src/main/res/values/strings.xml | 1 + 9 files changed, 1804 insertions(+), 15 deletions(-) create mode 100644 app/src/main/java/com/xjjk/healthyclients/ui/activity/ProposalActivity.kt create mode 100644 app/src/main/java/com/xjjk/healthyclients/ui/viewmodel/ProposalViewModel.kt create mode 100644 app/src/main/res/layout/activity_proposal.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1256b79..0917d30 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -199,7 +199,7 @@ android:screenOrientation="portrait"/> - + - \ No newline at end of file diff --git a/app/src/main/java/com/xjjk/healthyclients/fragment/EmergencyFragment.kt b/app/src/main/java/com/xjjk/healthyclients/fragment/EmergencyFragment.kt index 791b50b..dfe9aa7 100644 --- a/app/src/main/java/com/xjjk/healthyclients/fragment/EmergencyFragment.kt +++ b/app/src/main/java/com/xjjk/healthyclients/fragment/EmergencyFragment.kt @@ -97,13 +97,13 @@ class EmergencyFragment : // 0.0, // 0.0 // ) - var mHeadType= mutableListOf() + var mHeadType = mutableListOf() // mHeadType.add(EmergencyDictBean("全部","全部","全部","0",true)) - mHeadType.add(EmergencyDictBean("油田医院","油田医院","油田医院","1",true)) + mHeadType.add(EmergencyDictBean("油田医院", "油田医院", "油田医院", "1", true)) // mHeadType.add(EmergencyDictBean("合作医院","合作医院","合作医院","2",false)) - mHeadType.add(EmergencyDictBean("健康小屋","健康小屋","健康小屋","3",false)) - mHeadType.add(EmergencyDictBean("AED","AED","AED","4",false)) - mHeadType.add(EmergencyDictBean("救护车","救护车","救护车","5",false)) + mHeadType.add(EmergencyDictBean("健康小屋", "健康小屋", "健康小屋", "3", false)) + mHeadType.add(EmergencyDictBean("AED", "AED", "AED", "4", false)) + mHeadType.add(EmergencyDictBean("救护车", "救护车", "救护车", "5", false)) mBinding.fragmentEmergencyHeadRv.setHeadData(mHeadType) { titleBean -> // if (titleBean.value.equals("3")) { @@ -168,6 +168,7 @@ class EmergencyFragment : super.onResume() mMapView?.onResume() } + override fun onPause() { super.onPause() mMapView?.onPause() @@ -227,6 +228,7 @@ class EmergencyFragment : fragmentEmergencyPhone.setOnClickListener(this@EmergencyFragment) fragmentEmergencyCardNavigation.setOnClickListener(this@EmergencyFragment) fragmentEmergencyMarkerInfo.setOnClickListener(this@EmergencyFragment) + fragmentEmergencyParamedic.setOnClickListener(this@EmergencyFragment) } } @@ -284,6 +286,24 @@ class EmergencyFragment : ) }) } + + R.id.fragment_emergency_paramedic -> { + mViewModel.getIMGroupInfo( + getString(R.string.title_paramedic_group), + mCurrentLon, + mCurrentLat, + successCall = { + IMInputActionSettingUtils.createEmergencySetting() + activity?.startGroupChat( + it.groupId, + getString(R.string.title_paramedic_group), + false, + it.member, + workBean = WorkBean(it.id, TUIUtils.WORK_TYPE_EMERGENCY) + ) + }) + } + R.id.fragment_emergency_marker_info -> { } @@ -350,7 +370,11 @@ class EmergencyFragment : } if (markerList.size == 1) { - MapUtils.setMapZoonloAndZoom(mAMap, LatLng(markerList.get(0).latitude, markerList.get(0).longitude),11) + MapUtils.setMapZoonloAndZoom( + mAMap, + LatLng(markerList.get(0).latitude, markerList.get(0).longitude), + 11 + ) } else { MapUtils.setMapZoonlo(mAMap, 200, ArrayList(newlist)) } diff --git a/app/src/main/java/com/xjjk/healthyclients/fragment/HomeFragment.kt b/app/src/main/java/com/xjjk/healthyclients/fragment/HomeFragment.kt index d8c2303..853376b 100644 --- a/app/src/main/java/com/xjjk/healthyclients/fragment/HomeFragment.kt +++ b/app/src/main/java/com/xjjk/healthyclients/fragment/HomeFragment.kt @@ -36,6 +36,7 @@ import com.xjjk.healthyclients.superfuntion.startWebActivity import com.xjjk.healthyclients.superfuntion.toZeroDefault import com.xjjk.healthyclients.ui.activity.EmptyActivity import com.xjjk.healthyclients.ui.activity.LoginActivity +import com.xjjk.healthyclients.ui.activity.ProposalActivity import com.xjjk.healthyclients.ui.activity.guidance.adapter.GuidanceFragmentDoctorAdapter import com.xjjk.healthyclients.ui.activity.home.HomeBannerDetailActivity import com.xjjk.healthyclients.ui.activity.home.HomeNoticeListActivity @@ -210,7 +211,7 @@ class HomeFragment : R.id.img_right -> { val bundle = Bundle() bundle.putString("title", "一人一案") - toActivity(EmptyActivity::class.java, bundle) + toActivity(ProposalActivity::class.java, bundle) } R.id.home_head_tab1 -> { diff --git a/app/src/main/java/com/xjjk/healthyclients/ui/activity/ProposalActivity.kt b/app/src/main/java/com/xjjk/healthyclients/ui/activity/ProposalActivity.kt new file mode 100644 index 0000000..6465a17 --- /dev/null +++ b/app/src/main/java/com/xjjk/healthyclients/ui/activity/ProposalActivity.kt @@ -0,0 +1,40 @@ +package com.xjjk.healthyclients.ui.activity + +import android.os.Bundle +import android.view.View +import com.xjjk.healthyclients.R +import com.xjjk.healthyclients.base.BaseVMBActivity +import com.xjjk.healthyclients.databinding.ActivityProposalBinding +import com.xjjk.healthyclients.ui.viewmodel.ProposalViewModel + +/** + * 一人一案(健康档案)页面 + */ +class ProposalActivity : + BaseVMBActivity(R.layout.activity_proposal) { + + override fun initView(savedInstanceState: Bundle?) { + val stringExtra = intent.getStringExtra("title") + mBinding.toolbarLay.title = stringExtra ?: "一人一案" + } + + override fun initData() { + // 加载健康档案数据 + } + + override fun bindEvent() { + // 绑定事件 + } + + override fun processClick(paramView: View?) { + // 处理点击事件 + } + + override fun transparentStatusBar(): Boolean { + return false + } + + override fun statusBarDarkFont(): Boolean { + return true + } +} diff --git a/app/src/main/java/com/xjjk/healthyclients/ui/viewmodel/ProposalViewModel.kt b/app/src/main/java/com/xjjk/healthyclients/ui/viewmodel/ProposalViewModel.kt new file mode 100644 index 0000000..e9600d9 --- /dev/null +++ b/app/src/main/java/com/xjjk/healthyclients/ui/viewmodel/ProposalViewModel.kt @@ -0,0 +1,13 @@ +package com.xjjk.healthyclients.ui.viewmodel + +import com.xjjk.healthyclients.base.viewmodel.BaseViewModel + +/** + * 一人一案(健康档案)ViewModel + */ +class ProposalViewModel : BaseViewModel() { + + override fun init() { + // 初始化逻辑 + } +} diff --git a/app/src/main/res/layout/activity_proposal.xml b/app/src/main/res/layout/activity_proposal.xml new file mode 100644 index 0000000..9d2f009 --- /dev/null +++ b/app/src/main/res/layout/activity_proposal.xml @@ -0,0 +1,1700 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_emergency.xml b/app/src/main/res/layout/fragment_emergency.xml index f3568e8..661b34d 100644 --- a/app/src/main/res/layout/fragment_emergency.xml +++ b/app/src/main/res/layout/fragment_emergency.xml @@ -65,20 +65,22 @@ android:id="@+id/fragment_emergency_call_120" android:layout_width="@dimen/dp_70" android:layout_height="@dimen/dp_70" - android:layout_marginRight="@dimen/dp_16" + android:layout_marginEnd="@dimen/dp_16" android:src="@drawable/ic_emergency_120" /> + + - - - #006EFF + + #252535 + #194C4A + #F24439 + #EAECF1 + #808080 + #F5F7FB + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0f9c70d..5469e05 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -43,6 +43,7 @@ 医院概况 用户评价 应急就医 + 应急就医群 一线医疗 应急详情 健康咨询