Переглянути джерело

1.添加测评结果接口

王鹏鹏 2 роки тому
батько
коміт
2015150203

+ 5 - 2
.idea/misc.xml

@@ -100,6 +100,7 @@
         <entry key="..\:/workspace/hcp-pad/home/src/main/res/drawable/bg_check_button.xml" value="0.2185" />
         <entry key="..\:/workspace/hcp-pad/home/src/main/res/drawable/bg_data_content.xml" value="0.2185" />
         <entry key="..\:/workspace/hcp-pad/home/src/main/res/drawable/bg_down_load_app.xml" value="0.219" />
+        <entry key="..\:/workspace/hcp-pad/home/src/main/res/drawable/bg_evaluation_result.xml" value="0.155" />
         <entry key="..\:/workspace/hcp-pad/home/src/main/res/drawable/bg_fun_time.xml" value="0.2185" />
         <entry key="..\:/workspace/hcp-pad/home/src/main/res/drawable/bg_game_current_level.xml" value="0.2185" />
         <entry key="..\:/workspace/hcp-pad/home/src/main/res/drawable/bg_game_total_level.xml" value="0.2185" />
@@ -124,7 +125,9 @@
         <entry key="..\:/workspace/hcp-pad/home/src/main/res/layout/activity_evaluation_result.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/home/src/main/res/layout/activity_home.xml" value="0.2" />
         <entry key="..\:/workspace/hcp-pad/home/src/main/res/layout/fragment_down_load_app.xml" value="0.21064814814814814" />
+        <entry key="..\:/workspace/hcp-pad/home/src/main/res/layout/item_evaluation_result.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/home/src/main/res/layout/item_game.xml" value="0.16" />
+        <entry key="..\:/workspace/hcp-pad/home/src/main/res/layout/itewm_evaluation_result.xml" value="0.6" />
         <entry key="..\:/workspace/hcp-pad/home/src/main/res/layout/layout_fun_time.xml" value="0.1" />
         <entry key="..\:/workspace/hcp-pad/home/src/main/res/layout/layout_play_with_blue_porpoise.xml" value="0.136" />
         <entry key="..\:/workspace/hcp-pad/home/src/main/res/layout/layout_play_with_blue_porpoises.xml" value="0.1" />
@@ -346,8 +349,8 @@
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_free_training_list.xml" value="0.8800000000000001" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_free_training_type.xml" value="0.536" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_game_list.xml" value="0.4" />
-        <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_leisure_brain_list.xml" value="0.1" />
-        <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_order_list.xml" value="0.1" />
+        <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_leisure_brain_list.xml" value="0.264" />
+        <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_order_list.xml" value="0.264" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_service_package_list.xml" value="0.4" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_service_package_type.xml" value="0.1" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_task.xml" value="0.8800000000000001" />

+ 98 - 0
baselib/src/main/java/com/yingyangfly/baselib/bean/UserInfoBean.kt

@@ -0,0 +1,98 @@
+package com.yingyangfly.baselib.bean
+
+import android.text.TextUtils
+import com.yingyangfly.baselib.ext.timeFormat
+
+/**
+ * 用户信息
+ */
+data class UserInfoBean(
+    val accountNonExpired: Boolean,
+    val accountNonLocked: Boolean,
+    val authorities: Any,
+    val avatar: String,
+    val birthDate: String,
+    val createBy: String,
+    val createTime: String,
+    val credentialsNonExpired: Boolean,
+    val diagnoseResult: List<String>,
+    val doctorId: String,
+    val doctorName: String,
+    val enabled: Boolean,
+    val hospitalDepartment: String,
+    val id: String,
+    val idcard: Any,
+    val lastLoginDate: String,
+    val mobile: String,
+    val name: String,
+    val nickName: Any,
+    val openid: String,
+    val orderEndTime: String,
+    val orderStartTime: String,
+    val orgCode: String,
+    val orgName: String,
+    val password: String,
+    val pwd: String,
+    val remark: String,
+    val status: String,
+    val updateBy: String,
+    val updateTime: String,
+    val username: String,
+    val firstLogin: String//是否第一次登陆 0需要弹框引导提示的
+) {
+    fun getUserNameInfo(): String {
+        return if (name.isNullOrEmpty()) {
+            ""
+        } else {
+            name
+        }
+    }
+
+    fun getBirthDateInfo(): String {
+        return if (birthDate.isNullOrEmpty()) {
+            ""
+        } else {
+            birthDate
+        }
+    }
+
+    fun getStartTime(): String {
+        return if (orderStartTime.isNullOrEmpty()) {
+            ""
+        } else {
+            timeFormat(orderStartTime)
+        }
+    }
+
+    fun getEndTime(): String {
+        return if (orderEndTime.isNullOrEmpty()) {
+            ""
+        } else {
+            timeFormat(orderEndTime)
+        }
+    }
+
+    fun getDoctorNameInfo(): String {
+        return if (doctorName.isNullOrEmpty()) {
+            ""
+        } else {
+            doctorName
+        }
+    }
+
+    fun getHospitalDepartmentInfo(): String {
+        return if (hospitalDepartment.isNullOrEmpty()) {
+            ""
+        } else {
+            hospitalDepartment
+        }
+    }
+
+    fun getOrgNameInfo(): String {
+        return if (orgName.isNullOrEmpty()) {
+            ""
+        } else {
+            orgName
+        }
+    }
+}

+ 4 - 1
home/src/main/java/com/yingyangfly/home/activity/HomeActivity.kt

@@ -11,7 +11,10 @@ import com.yingyang.home.databinding.ActivityHomeBinding
 import com.yingyangfly.baselib.db.VoicePlayerBean
 import com.yingyangfly.baselib.dialog.TaskFragment
 import com.yingyangfly.baselib.dialog.TipsDialog
-import com.yingyangfly.baselib.ext.*
+import com.yingyangfly.baselib.ext.getEndAnimation
+import com.yingyangfly.baselib.ext.getScaleAnimation
+import com.yingyangfly.baselib.ext.show
+import com.yingyangfly.baselib.ext.toast
 import com.yingyangfly.baselib.guideview.Guide
 import com.yingyangfly.baselib.guideview.GuideBuilder
 import com.yingyangfly.baselib.mvvm.BaseMVVMActivity

+ 20 - 0
home/src/main/java/com/yingyangfly/home/adapter/EvaluationResultAdapter.kt

@@ -0,0 +1,20 @@
+package com.yingyangfly.home.adapter
+
+import com.yingyang.home.R
+import com.yingyang.home.databinding.ItemEvaluationResultBinding
+import com.yingyangfly.baselib.adapter.BaseDataBindingAdapter
+import com.yingyangfly.home.entity.EvaluationResultBean
+
+/**
+ * 测评结果adapter
+ */
+class EvaluationResultAdapter(override val layoutId: Int = R.layout.item_evaluation_result) :
+    BaseDataBindingAdapter<EvaluationResultBean, ItemEvaluationResultBinding>() {
+    override fun onBindViewHolder(
+        binding: ItemEvaluationResultBinding,
+        item: EvaluationResultBean,
+        position: Int
+    ) {
+        binding.data = item
+    }
+}

+ 1 - 1
home/src/main/java/com/yingyangfly/home/entity/EvaluationResultBean.kt

@@ -8,5 +8,5 @@ data class EvaluationResultBean(
     val referenceValue: String,
     val result: String,
     val reviewContent: String,
-    val reviewScore: Int
+    val reviewScore: String
 )

+ 8 - 0
home/src/main/java/com/yingyangfly/home/entity/PagingBean.kt

@@ -0,0 +1,8 @@
+package com.yingyangfly.home.entity
+
+/**
+ * 分页
+ */
+class PagingBean {
+    var page: Int = 1
+}

+ 10 - 2
home/src/main/java/com/yingyangfly/home/evaluation/EvaluationActivity.kt

@@ -34,6 +34,7 @@ class EvaluationActivity : BaseMVVMActivity<ActivityEvaluationBinding, Evaluatio
             layoutHome.setOnTouchListener(this@EvaluationActivity)
             mmseLayout.setOnTouchListener(this@EvaluationActivity)
             mocaLayout.setOnTouchListener(this@EvaluationActivity)
+            tvEvaluationHistory.setOnTouchListener(this@EvaluationActivity)
         }
     }
 
@@ -69,7 +70,9 @@ class EvaluationActivity : BaseMVVMActivity<ActivityEvaluationBinding, Evaluatio
     override fun onTouch(v: View, event: MotionEvent): Boolean {
         when (event.action) {
             MotionEvent.ACTION_DOWN -> {
-                if (v.id == R.id.layoutHome || v.id == R.id.mmseLayout || v.id == R.id.mocaLayout) {
+                if (v.id == R.id.layoutHome || v.id == R.id.mmseLayout ||
+                    v.id == R.id.mocaLayout || v.id == R.id.tvEvaluationHistory
+                ) {
                     v.startAnimation(getScaleAnimation())
                 }
             }
@@ -85,10 +88,15 @@ class EvaluationActivity : BaseMVVMActivity<ActivityEvaluationBinding, Evaluatio
                     R.id.layoutHome -> {
                         finish()
                     }
+                    R.id.tvEvaluationHistory -> {
+                        JumpUtil.jumpActivity(RouterUrlCommon.evaluationResult, mContext)
+                    }
                 }
             }
             MotionEvent.ACTION_CANCEL -> {
-                if (v.id == R.id.layoutHome || v.id == R.id.mmseLayout || v.id == R.id.mocaLayout) {
+                if (v.id == R.id.layoutHome || v.id == R.id.mmseLayout ||
+                    v.id == R.id.mocaLayout || v.id == R.id.tvEvaluationHistory
+                ) {
                     v.startAnimation(getEndAnimation())
                 }
             }

+ 29 - 6
home/src/main/java/com/yingyangfly/home/evaluation/EvaluationResultActivity.kt

@@ -12,6 +12,7 @@ import com.yingyangfly.baselib.ext.getScaleAnimation
 import com.yingyangfly.baselib.ext.toast
 import com.yingyangfly.baselib.mvvm.BaseMVVMActivity
 import com.yingyangfly.baselib.router.RouterUrlCommon
+import com.yingyangfly.home.adapter.EvaluationResultAdapter
 import com.yingyangfly.home.entity.EvaluationResultBean
 
 /**
@@ -23,7 +24,8 @@ class EvaluationResultActivity :
     View.OnTouchListener {
 
     private var reviewTaskId = ""
-    private var evaluationResultBeans = mutableListOf<EvaluationResultBean>()
+    private var results = mutableListOf<EvaluationResultBean>()
+    private val adapter by lazy { EvaluationResultAdapter() }
 
     override fun onCreate(savedInstanceState: Bundle?) {
         reviewTaskId = intent.getStringExtra("url") ?: ""
@@ -31,7 +33,10 @@ class EvaluationResultActivity :
     }
 
     override fun initViews() {
-
+        binding {
+            rvResult.adapter = adapter
+            adapter.setData(results)
+        }
     }
 
     @SuppressLint("ClickableViewAccessibility")
@@ -47,16 +52,34 @@ class EvaluationResultActivity :
 
     override fun onResume() {
         super.onResume()
-        loadData()
+        getReviewTaskList()
+        getUserInfo()
     }
 
-    private fun loadData() {
+    /**
+     * 获取测评历史
+     */
+    private fun getReviewTaskList() {
         viewModel.findReviewResult(reviewTaskId, fail = {
             it.toast()
+        }, success = {
+            results.clear()
+            if (it != null) {
+                results.add(it)
+            }
+            adapter.setData(results)
+        })
+    }
+
+    /**
+     * 获取个人中心信息接口
+     */
+    private fun getUserInfo() {
+        viewModel.getUserInfo(fail = {
+            it.toast()
         }, success = {
             if (it != null) {
-                evaluationResultBeans.clear()
-                evaluationResultBeans.add(it)
+                binding.data = it
             }
         })
     }

+ 15 - 1
home/src/main/java/com/yingyangfly/home/evaluation/EvaluationResultViewModel.kt

@@ -1,5 +1,6 @@
 package com.yingyangfly.home.evaluation
 
+import com.yingyangfly.baselib.bean.UserInfoBean
 import com.yingyangfly.baselib.mvvm.BaseViewModel
 import com.yingyangfly.baselib.net.XUtils
 import com.yingyangfly.baselib.utils.GsonUtil
@@ -10,7 +11,7 @@ import com.yingyangfly.home.net.HOME_API
 class EvaluationResultViewModel : BaseViewModel() {
 
     /**
-     * 获取mmse试题
+     * 获取报告
      */
     fun findReviewResult(
         id: String,
@@ -26,4 +27,17 @@ class EvaluationResultViewModel : BaseViewModel() {
         success,
         fail
     )
+
+    /**
+     * 获取个人中心信息接口
+     */
+    fun getUserInfo(
+        fail: ((msg: String) -> Unit)? = null,
+        success: ((success: UserInfoBean?) -> Unit)? = null,
+    ) = launchFlow(true) {
+        HOME_API.getUserInfo()
+    }.runUI(
+        success,
+        fail
+    )
 }

+ 7 - 0
home/src/main/java/com/yingyangfly/home/net/HomeApiService.kt

@@ -1,5 +1,6 @@
 package com.yingyangfly.home.net
 
+import com.yingyangfly.baselib.bean.UserInfoBean
 import com.yingyangfly.baselib.db.QuestionsBean
 import com.yingyangfly.baselib.net.BaseResp
 import com.yingyangfly.home.entity.*
@@ -77,4 +78,10 @@ interface HomeApiService {
     @POST("app/review/findReviewResult")
     suspend fun findReviewResult(@Body requestBody: RequestBody): BaseResp<EvaluationResultBean>
 
+    /**
+     * 获取个人中心信息接口
+     */
+    @POST("app/user/info")
+    suspend fun getUserInfo(): BaseResp<UserInfoBean>
+
 }

+ 7 - 0
home/src/main/res/drawable/bg_evaluation_result.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    tools:ignore="ResourceName">
+    <corners android:radius="@dimen/divider_12px" />
+    <solid android:color="@color/color_FFCFD9FF" />
+</shape>

+ 13 - 0
home/src/main/res/layout/activity_evaluation.xml

@@ -48,6 +48,19 @@
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
 
+        <androidx.appcompat.widget.AppCompatTextView
+            android:id="@+id/tvEvaluationHistory"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/divider_32px"
+            android:layout_marginEnd="@dimen/divider_32px"
+            android:text="@string/evaluation_history_info"
+            android:textColor="@android:color/white"
+            android:textSize="@dimen/divider_28px"
+            android:textStyle="bold"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
         <androidx.constraintlayout.widget.ConstraintLayout
             android:id="@+id/mmseLayout"
             android:layout_width="@dimen/divider_445px"

+ 12 - 4
home/src/main/res/layout/activity_evaluation_result.xml

@@ -4,6 +4,13 @@
     xmlns:tools="http://schemas.android.com/tools"
     tools:ignore="ResourceName">
 
+    <data>
+
+        <variable
+            name="data"
+            type="com.yingyangfly.baselib.bean.UserInfoBean" />
+    </data>
+
     <androidx.constraintlayout.widget.ConstraintLayout
         style="@style/layout_properties_specify_width_geight"
         android:background="@mipmap/icon_uniform_background">
@@ -56,7 +63,7 @@
                     android:layout_height="wrap_content"
                     android:layout_marginStart="@dimen/divider_38px"
                     android:layout_marginTop="@dimen/divider_33px"
-                    android:text="@string/patient_name"
+                    android:text='@{"姓名:"+data.username}'
                     android:textColor="@color/color_FF333333"
                     android:textSize="@dimen/divider_24px"
                     android:textStyle="bold"
@@ -71,9 +78,9 @@
                     android:layout_width="0dp"
                     android:layout_height="wrap_content"
                     android:layout_marginTop="@dimen/divider_33px"
-                    android:text="@string/patient_sex"
                     android:textColor="@color/color_FF333333"
                     android:textSize="@dimen/divider_24px"
+                    android:text='@{"性别:"+data.username}'
                     android:textStyle="bold"
                     app:layout_constraintEnd_toStartOf="@+id/tvAge"
                     app:layout_constraintHorizontal_chainStyle="spread"
@@ -116,7 +123,7 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginTop="@dimen/divider_33px"
-                    android:text="@string/education_age"
+                    android:text="@string/patient_id"
                     android:textColor="@color/color_FF333333"
                     android:textSize="@dimen/divider_24px"
                     android:textStyle="bold"
@@ -196,7 +203,8 @@
                     <androidx.recyclerview.widget.RecyclerView
                         android:id="@+id/rvResult"
                         android:layout_width="match_parent"
-                        android:layout_height="match_parent" />
+                        android:layout_height="match_parent"
+                        app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
                 </LinearLayout>
 
             </androidx.constraintlayout.widget.ConstraintLayout>

+ 60 - 0
home/src/main/res/layout/item_evaluation_result.xml

@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    tools:ignore="ResourceName">
+
+    <data>
+
+        <variable
+            name="data"
+            type="com.yingyangfly.home.entity.EvaluationResultBean" />
+    </data>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/divider_98px"
+        android:background="@drawable/bg_evaluation_result"
+        android:orientation="horizontal">
+
+        <androidx.appcompat.widget.AppCompatTextView
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="1"
+            android:gravity="center"
+            android:text="@{data.reviewContent}"
+            android:textColor="@color/color_FF333333"
+            android:textSize="@dimen/divider_24px"
+            android:textStyle="bold" />
+
+        <androidx.appcompat.widget.AppCompatTextView
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="1"
+            android:gravity="center"
+            android:text="@{data.reviewScore}"
+            android:textColor="@color/color_FF333333"
+            android:textSize="@dimen/divider_24px"
+            android:textStyle="bold" />
+
+        <androidx.appcompat.widget.AppCompatTextView
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="1"
+            android:gravity="center"
+            android:text="@{data.referenceValue}"
+            android:textColor="@color/color_FF333333"
+            android:textSize="@dimen/divider_24px"
+            android:textStyle="bold" />
+
+        <androidx.appcompat.widget.AppCompatTextView
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="1"
+            android:gravity="center"
+            android:text="@{data.result}"
+            android:textColor="@color/color_FF333333"
+            android:textSize="@dimen/divider_24px"
+            android:textStyle="bold" />
+
+    </LinearLayout>
+</layout>

+ 2 - 0
home/src/main/res/values/strings.xml

@@ -45,8 +45,10 @@
     <string name="patient_sex" tools:ignore="ResourceName">性别:</string>
     <string name="patient_age" tools:ignore="ResourceName">年龄:</string>
     <string name="education_age" tools:ignore="ResourceName">教育年龄:</string>
+    <string name="patient_id" tools:ignore="ResourceName">编号:</string>
     <string name="assessment_content" tools:ignore="ResourceName">测评内容</string>
     <string name="score" tools:ignore="ResourceName">得分</string>
     <string name="reference_value" tools:ignore="ResourceName">参考值</string>
     <string name="result" tools:ignore="ResourceName">结果</string>
+    <string name="evaluation_history_info" tools:ignore="ExtraTranslation,ResourceName">测评历史</string>
 </resources>