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 @@
医院概况
用户评价
应急就医
+ 应急就医群
一线医疗
应急详情
健康咨询