Просмотр исходного кода

1.添加获取单个医生信息接口

王鹏鹏 2 лет назад
Родитель
Сommit
203dd39594

+ 1 - 1
.idea/misc.xml

@@ -87,7 +87,7 @@
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/layout/fragment_evaluate.xml" value="0.22239583333333332" />
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/layout/item_consultation.xml" value="0.3953084274543875" />
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/layout/item_consultation_data.xml" value="0.22239583333333332" />
-        <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/layout/item_consultation_record.xml" value="0.536" />
+        <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/layout/item_consultation_record.xml" value="0.4" />
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/layout/item_evaluate.xml" value="1.0" />
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/layout/item_image.xml" value="0.6682539682539682" />
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/layout/item_recommend_doctor.xml" value="0.6" />

+ 17 - 6
healthconsultation/src/main/java/com/yingyang/healthconsultation/adapter/ConsultationRecordAdapter.kt

@@ -2,8 +2,8 @@ package com.yingyang.healthconsultation.adapter
 
 import com.yingyang.healthconsultation.R
 import com.yingyang.healthconsultation.databinding.ItemConsultationRecordBinding
+import com.yingyang.healthconsultation.entity.ConsultationRecordsBean
 import com.yingyangfly.baselib.adapter.BaseDataBindingAdapter
-import com.yingyangfly.baselib.db.DoctorBean
 import com.yingyangfly.baselib.ext.setOnSingleClickListener
 import com.yingyangfly.baselib.ext.setTextColorResource
 import com.yingyangfly.baselib.ext.show
@@ -13,25 +13,28 @@ import com.yingyangfly.baselib.ext.timeFormat
  * 问诊记录adapter
  */
 class ConsultationRecordAdapter(override val layoutId: Int = R.layout.item_consultation_record) :
-    BaseDataBindingAdapter<DoctorBean, ItemConsultationRecordBinding>() {
+    BaseDataBindingAdapter<ConsultationRecordsBean, ItemConsultationRecordBinding>() {
 
-    var onLeftClickListener: ((bean: DoctorBean) -> Unit)? = null
+    var onLeftClickListener: ((bean: ConsultationRecordsBean) -> Unit)? = null
 
-    var onRightClickListener: ((bean: DoctorBean) -> Unit)? = null
+    var onRightClickListener: ((bean: ConsultationRecordsBean) -> Unit)? = null
 
-    var onClickListener: ((bean: DoctorBean) -> Unit)? = null
+    var onClickListener: ((bean: ConsultationRecordsBean) -> Unit)? = null
 
     override fun onBindViewHolder(
         binding: ItemConsultationRecordBinding,
-        item: DoctorBean,
+        item: ConsultationRecordsBean,
         position: Int
     ) {
         binding.data = item
+        binding.doctor = item.doctor
         binding.tvTime.text = timeFormat(item.createTime)
         if (item.status.isNullOrEmpty().not()) {
             when (item.status) {
                 "0" -> {
                     //0未支付
+                    binding.tvStastus.text = "待支付"
+                    binding.tvStastus.setTextColorResource(R.color.color_FFFFA535)
                     binding.btnEvaluate.show(true)
                     binding.btnRecord.show(true)
                     binding.btnEvaluate.setBackgroundResource(R.drawable.bg_record_cancel_order)
@@ -41,24 +44,32 @@ class ConsultationRecordAdapter(override val layoutId: Int = R.layout.item_consu
                 }
                 "1" -> {
                     //1待接诊
+                    binding.tvStastus.text = "待医生接诊"
+                    binding.tvStastus.setTextColorResource(R.color.color_ff4571ff)
                     binding.btnEvaluate.show(false)
                     binding.btnRecord.show(true)
                     binding.btnRecord.text = "待医生接诊"
                 }
                 "2" -> {
                     //2接诊中
+                    binding.tvStastus.text = "咨询中"
+                    binding.tvStastus.setTextColorResource(R.color.color_ff4571ff)
                     binding.btnEvaluate.show(false)
                     binding.btnRecord.show(true)
                     binding.btnRecord.text = "联系医生"
                 }
                 "3" -> {
                     //3已拒诊
+                    binding.tvStastus.setTextColorResource(R.color.color_FFB4B4B4)
+                    binding.tvStastus.text = "已取消"
                     binding.btnEvaluate.show(false)
                     binding.btnRecord.show(true)
                     binding.btnRecord.text = "重新问诊"
                 }
                 "4" -> {
                     //4已完成
+                    binding.tvStastus.text = "已完成"
+                    binding.tvStastus.setTextColorResource(R.color.color_FF333333)
                     binding.btnEvaluate.show(true)
                     binding.btnRecord.show(true)
                     binding.btnEvaluate.setBackgroundResource(R.drawable.bg_cancel_order)

+ 32 - 0
healthconsultation/src/main/java/com/yingyang/healthconsultation/entity/ConsultationRecordsBean.kt

@@ -0,0 +1,32 @@
+package com.yingyang.healthconsultation.entity
+
+import com.yingyangfly.baselib.db.DoctorBean
+
+/**
+ * 问诊历史记录
+ */
+data class ConsultationRecordsBean(
+    val appUserAge: String,//患者年龄
+    val appUserId: String,//患者id
+    val appUserName: String,//患者姓名
+    val appUserSex: String,//患者性别
+    val createBy: String,//创建人
+    val createTime: String,//创建时间
+    val doctor: DoctorBean,
+    val finishTime: String,//完成时间
+    val id: String,//id
+    val images: String,//图片地址
+    val isConsultation: String,//是否就诊 0是 1否
+    val orgCode: String,//租户编号
+    val orgName: String,//租户名称
+    val payMethod: String,
+    val price: Double,//金额
+    val reason: String,//拒诊原因
+    val remark: String,//病情描述
+    val sickTime: String,//患病时间
+    val status: String,//状态 0未支付 1待接诊 2接诊中 3已拒诊 4已完成 5已取消
+    val sysUserId: String,//医生id
+    val sysUserName: String,//	医生姓名
+    val updateBy: String,//更新人
+    val updateTime: String//更新时间
+)

+ 2 - 1
healthconsultation/src/main/java/com/yingyang/healthconsultation/net/HealthConsultationApiService.kt

@@ -1,5 +1,6 @@
 package com.yingyang.healthconsultation.net
 
+import com.yingyang.healthconsultation.entity.ConsultationRecordsBean
 import com.yingyang.healthconsultation.entity.EvaluateRecordsBean
 import com.yingyang.healthconsultation.entity.UserInfoBean
 import com.yingyangfly.baselib.bean.PayImageBean
@@ -56,7 +57,7 @@ interface HealthConsultationApiService {
      * 问诊记录
      */
     @POST("medical_consultation/my/list")
-    suspend fun getConsultationRecordList(): BaseResp<List<DoctorBean>>
+    suspend fun getConsultationRecordList(): BaseResp<List<ConsultationRecordsBean>>
 
     /**
      * 取消支付

+ 3 - 2
healthconsultation/src/main/java/com/yingyang/healthconsultation/record/ConsultationRecordActivity.kt

@@ -7,6 +7,7 @@ import com.alibaba.android.arouter.facade.annotation.Route
 import com.yingyang.healthconsultation.R
 import com.yingyang.healthconsultation.adapter.ConsultationRecordAdapter
 import com.yingyang.healthconsultation.databinding.ActivityConsultationRecordBinding
+import com.yingyang.healthconsultation.entity.ConsultationRecordsBean
 import com.yingyangfly.baselib.db.DoctorBean
 import com.yingyangfly.baselib.ext.getEndAnimation
 import com.yingyangfly.baselib.ext.getScaleAnimation
@@ -24,7 +25,7 @@ class ConsultationRecordActivity :
     BaseMVVMActivity<ActivityConsultationRecordBinding, ConsultationRecordViewModel>(),
     View.OnTouchListener {
 
-    private var records = mutableListOf<DoctorBean>()
+    private var records = mutableListOf<ConsultationRecordsBean>()
     private val adapter by lazy { ConsultationRecordAdapter() }
 
     override fun initViews() {
@@ -35,7 +36,7 @@ class ConsultationRecordActivity :
                 when (it.status) {
                     "0" -> {
                         //0未支付
-                        cancleOrder(it)
+                        cancleOrder(it.doctor)
                     }
                     "1" -> {
                         //1待接诊

+ 2 - 2
healthconsultation/src/main/java/com/yingyang/healthconsultation/record/ConsultationRecordViewModel.kt

@@ -1,7 +1,7 @@
 package com.yingyang.healthconsultation.record
 
+import com.yingyang.healthconsultation.entity.ConsultationRecordsBean
 import com.yingyang.healthconsultation.net.HEALTHCONSULTATION_API
-import com.yingyangfly.baselib.db.DoctorBean
 import com.yingyangfly.baselib.mvvm.BaseViewModel
 
 /**
@@ -11,7 +11,7 @@ class ConsultationRecordViewModel : BaseViewModel() {
 
     fun getConsultationRecordList(
         fail: ((msg: String) -> Unit)? = null,
-        success: ((success: List<DoctorBean>?) -> Unit)? = null,
+        success: ((success: List<ConsultationRecordsBean>?) -> Unit)? = null,
     ) = launchFlow(true) {
         HEALTHCONSULTATION_API.getConsultationRecordList()
     }.runUI(

+ 23 - 10
healthconsultation/src/main/res/layout/item_consultation_record.xml

@@ -8,6 +8,10 @@
 
         <variable
             name="data"
+            type="com.yingyang.healthconsultation.entity.ConsultationRecordsBean" />
+
+        <variable
+            name="doctor"
             type="com.yingyangfly.baselib.db.DoctorBean" />
     </data>
 
@@ -35,7 +39,7 @@
                 app:isCircle="@{false}"
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintTop_toTopOf="parent"
-                app:loadHeadImg="@{data.avatar}" />
+                app:loadHeadImg="@{doctor.avatar}" />
 
             <androidx.appcompat.widget.AppCompatTextView
                 android:id="@+id/tvName"
@@ -43,7 +47,7 @@
                 android:layout_height="wrap_content"
                 android:layout_marginStart="@dimen/divider_27px"
                 android:layout_marginTop="@dimen/divider_28px"
-                android:text="@{data.userName}"
+                android:text="@{doctor.userName}"
                 android:textColor="@color/color_FF333333"
                 android:textSize="@dimen/divider_28px"
                 android:textStyle="bold"
@@ -56,12 +60,23 @@
                 android:layout_height="wrap_content"
                 android:layout_marginStart="@dimen/divider_40px"
                 android:layout_marginTop="@dimen/divider_32px"
-                android:text='@{data.title+":"+data.departmentName}'
+                android:text='@{doctor.title+":"+doctor.departmentName}'
                 android:textColor="@color/color_FF333333"
                 android:textSize="@dimen/divider_24px"
                 app:layout_constraintStart_toEndOf="@+id/tvName"
-                app:layout_constraintTop_toTopOf="parent"
-                tools:text="@string/album" />
+                app:layout_constraintTop_toTopOf="parent" />
+
+            <androidx.appcompat.widget.AppCompatTextView
+                android:id="@+id/tvStastus"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/divider_32px"
+                android:layout_marginEnd="@dimen/divider_36px"
+                android:textColor="@color/color_FF333333"
+                android:textSize="@dimen/divider_28px"
+                android:textStyle="bold"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintTop_toTopOf="parent" />
 
             <androidx.appcompat.widget.AppCompatTextView
                 android:id="@+id/tvContent"
@@ -69,13 +84,12 @@
                 android:layout_height="wrap_content"
                 android:layout_marginStart="@dimen/divider_27px"
                 android:layout_marginTop="@dimen/divider_9px"
-                android:text="@{data.speciality}"
+                android:text="@{doctor.speciality}"
                 android:textColor="@color/color_FF333333"
                 android:textSize="@dimen/divider_24px"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toEndOf="@+id/imageHead"
-                app:layout_constraintTop_toBottomOf="@+id/tvName"
-                tools:text="@string/album" />
+                app:layout_constraintTop_toBottomOf="@+id/tvName" />
 
             <androidx.appcompat.widget.AppCompatTextView
                 android:id="@+id/tvTime"
@@ -86,8 +100,7 @@
                 android:textColor="@color/color_FF333333"
                 android:textSize="@dimen/divider_24px"
                 app:layout_constraintStart_toEndOf="@+id/imageHead"
-                app:layout_constraintTop_toBottomOf="@+id/tvContent"
-                tools:text="@string/album" />
+                app:layout_constraintTop_toBottomOf="@+id/tvContent" />
 
             <androidx.appcompat.widget.AppCompatButton
                 android:id="@+id/btnEvaluate"

+ 1 - 0
healthconsultation/src/main/res/values/colors.xml

@@ -29,4 +29,5 @@
     <color name="color_ff8fafff" tools:ignore="ResourceName">#ff8fafff</color>
     <color name="color_FFA5A5A5" tools:ignore="ResourceName">#FFA5A5A5</color>
     <color name="color_FF4A76FF" tools:ignore="ResourceName">#FF4A76FF</color>
+    <color name="color_FFFFA535" tools:ignore="ResourceName">#FFFFA535</color>
 </resources>