Browse Source

1.修改测评历史UI

王鹏鹏 2 years ago
parent
commit
ec5927bcc2

+ 19 - 4
home/src/main/java/com/yingyangfly/home/adapter/EvaluationHistoryAdapter.kt

@@ -3,22 +3,37 @@ package com.yingyangfly.home.adapter
 import com.yingyang.home.R
 import com.yingyang.home.databinding.ItemEvaluationHistoryBinding
 import com.yingyangfly.baselib.adapter.BaseDataBindingAdapter
-import com.yingyangfly.home.entity.Records
+import com.yingyangfly.home.entity.EvaluationHistoryBean
+import com.yingyangfly.home.entity.EvaluationHistoryBeanSubListItem
 
 /**
  * 测评历史adapter
  */
 class EvaluationHistoryAdapter(override val layoutId: Int = R.layout.item_evaluation_history) :
-    BaseDataBindingAdapter<Records, ItemEvaluationHistoryBinding>() {
+    BaseDataBindingAdapter<EvaluationHistoryBean, ItemEvaluationHistoryBinding>() {
 
-    var onClickListener: ((bean: Records) -> Unit)? = null
+    var onClickListener: ((bean: EvaluationHistoryBeanSubListItem) -> Unit)? = null
     override fun onBindViewHolder(
-        binding: ItemEvaluationHistoryBinding, item: Records, position: Int
+        binding: ItemEvaluationHistoryBinding, item: EvaluationHistoryBean, position: Int
     ) {
+        binding.tvDate.text = if (item.isNullOrEmpty().not()) {
+            val data = item[0]
+            if (data != null) {
+                data.createTime.substring(0, 12)
+            } else {
+                ""
+            }
+        } else {
+            ""
+        }
+
         val evaluationHistoryItemAdapter = EvaluationHistoryItemAdapter()
         evaluationHistoryItemAdapter.onClickListener = {
             onClickListener?.invoke(it)
         }
+        if (item.isNullOrEmpty().not()) {
+            evaluationHistoryItemAdapter.setData(item)
+        }
         binding.rvEvaluation.adapter = evaluationHistoryItemAdapter
     }
 }

+ 4 - 4
home/src/main/java/com/yingyangfly/home/adapter/EvaluationHistoryItemAdapter.kt

@@ -5,19 +5,19 @@ import com.yingyang.home.R
 import com.yingyang.home.databinding.ItemEvaluationHistoryItemBinding
 import com.yingyangfly.baselib.adapter.BaseDataBindingAdapter
 import com.yingyangfly.baselib.ext.setOnSingleClickListener
-import com.yingyangfly.home.entity.Records
+import com.yingyangfly.home.entity.EvaluationHistoryBeanSubListItem
 
 /**
  * 测评结果adapter
  */
 class EvaluationHistoryItemAdapter(override val layoutId: Int = R.layout.item_evaluation_history_item) :
-    BaseDataBindingAdapter<Records, ItemEvaluationHistoryItemBinding>() {
+    BaseDataBindingAdapter<EvaluationHistoryBeanSubListItem, ItemEvaluationHistoryItemBinding>() {
 
-    var onClickListener: ((bean: Records) -> Unit)? = null
+    var onClickListener: ((bean: EvaluationHistoryBeanSubListItem) -> Unit)? = null
 
     override fun onBindViewHolder(
         binding: ItemEvaluationHistoryItemBinding,
-        item: Records,
+        item: EvaluationHistoryBeanSubListItem,
         position: Int
     ) {
         binding.data = item

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

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

+ 14 - 45
home/src/main/java/com/yingyangfly/home/evaluation/EvaluationHistoryActivity.kt

@@ -13,8 +13,8 @@ import com.yingyangfly.baselib.ext.toast
 import com.yingyangfly.baselib.mvvm.BaseMVVMActivity
 import com.yingyangfly.baselib.router.RouterUrlCommon
 import com.yingyangfly.baselib.utils.JumpUtil
-import com.yingyangfly.home.adapter.EvaluationHistoryItemAdapter
-import com.yingyangfly.home.entity.Records
+import com.yingyangfly.home.adapter.EvaluationHistoryAdapter
+import com.yingyangfly.home.entity.EvaluationHistoryBean
 
 /**
  * 历史记录测评
@@ -24,9 +24,8 @@ class EvaluationHistoryActivity :
     BaseMVVMActivity<ActivityEvaluationHistoryBinding, EvaluationHistoryViewModel>(),
     View.OnTouchListener {
 
-    private var page = 1
-    private var results = mutableListOf<Records>()
-    private val adapter by lazy { EvaluationHistoryItemAdapter() }
+    private var results = mutableListOf<EvaluationHistoryBean>()
+    private val adapter by lazy { EvaluationHistoryAdapter() }
 
     override fun initViews() {
         binding {
@@ -37,9 +36,7 @@ class EvaluationHistoryActivity :
                     "请完成测评,再查看报告详情哦!".toast()
                 } else {
                     JumpUtil.jumpActivityWithUrl(
-                        RouterUrlCommon.reviewResultDetail,
-                        it.reviewTaskId,
-                        mContext
+                        RouterUrlCommon.reviewResultDetail, it.reviewTaskId, mContext
                     )
                 }
             }
@@ -50,14 +47,6 @@ class EvaluationHistoryActivity :
     override fun initListener() {
         binding {
             layoutHead.setOnTouchListener(this@EvaluationHistoryActivity)
-            historySwipe.setEnableLoadMore(true)
-            historySwipe.setEnableRefresh(true)
-            historySwipe.setOnRefreshListener {
-                loadData(true, false)
-            }
-            historySwipe.setOnLoadMoreListener {
-                loadData(false, false)
-            }
         }
     }
 
@@ -67,33 +56,21 @@ class EvaluationHistoryActivity :
 
     override fun onResume() {
         super.onResume()
-        loadData(true, true)
+        loadData()
     }
 
     /**
      * 加载数据
      */
-    private fun loadData(isRefresh: Boolean, isLoading: Boolean) {
-        if (isRefresh) {
-            page = 1
-            binding.historySwipe.resetNoMoreData()
-        } else {
-            page++
-        }
-        viewModel.getReviewTaskHistoryList(page, isLoading, fail = {
-            endRefresh()
+    private fun loadData() {
+        results.clear()
+        viewModel.getReviewTaskHistoryList(fail = {
             it.toast()
         }, success = {
-            endRefresh()
-            if (isRefresh) {
-                results.clear()
-            }
+            results.clear()
             it?.let {
-                if (page >= it.pages) {
-                    binding.historySwipe.finishLoadMoreWithNoMoreData()
-                }
-                if (it.records.isNullOrEmpty().not()) {
-                    results.addAll(it.records)
+                if (it.isNullOrEmpty().not()) {
+                    results.addAll(it)
                 }
             }
             adapter.setData(results)
@@ -108,6 +85,7 @@ class EvaluationHistoryActivity :
                     v.startAnimation(getScaleAnimation())
                 }
             }
+
             MotionEvent.ACTION_UP -> {
                 v.startAnimation(getEndAnimation())
                 when (v.id) {
@@ -116,6 +94,7 @@ class EvaluationHistoryActivity :
                     }
                 }
             }
+
             MotionEvent.ACTION_CANCEL -> {
                 if (v.id == R.id.layoutHead) {
                     v.startAnimation(getEndAnimation())
@@ -124,14 +103,4 @@ class EvaluationHistoryActivity :
         }
         return true
     }
-
-    /**
-     * 结束刷新
-     */
-    private fun endRefresh() {
-        binding {
-            historySwipe.finishRefresh()
-            historySwipe.finishLoadMore()
-        }
-    }
 }

+ 4 - 8
home/src/main/java/com/yingyangfly/home/evaluation/EvaluationHistoryViewModel.kt

@@ -4,7 +4,7 @@ import com.yingyangfly.baselib.bean.EvaluationPagingBean
 import com.yingyangfly.baselib.mvvm.BaseViewModel
 import com.yingyangfly.baselib.net.XUtils
 import com.yingyangfly.baselib.utils.GsonUtil
-import com.yingyangfly.home.entity.ReviewTaskListBean
+import com.yingyangfly.home.entity.EvaluationHistoryBean
 import com.yingyangfly.home.net.HOME_API
 
 /**
@@ -17,19 +17,15 @@ class EvaluationHistoryViewModel : BaseViewModel() {
      * 获取测评历史
      */
     fun getReviewTaskHistoryList(
-        index: Int,
-        isLoading: Boolean,
         fail: ((msg: String) -> Unit)? = null,
-        success: ((success: ReviewTaskListBean?) -> Unit)? = null,
-    ) = launchFlow(isLoading) {
+        success: ((success: List<EvaluationHistoryBean>?) -> Unit)? = null,
+    ) = launchFlow(true) {
         val requestBean = EvaluationPagingBean().apply {
-            page = index
             status = "1"
         }
         val body = XUtils.createJson(GsonUtil.GsonString(requestBean))
         HOME_API.getReviewTaskHistoryList(body)
     }.runUI(
-        success,
-        fail
+        success, fail
     )
 }

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

@@ -88,6 +88,6 @@ interface HomeApiService {
      * 获取测评任务
      */
     @POST("app/reviewTask/his")
-    suspend fun getReviewTaskHistoryList(@Body requestBody: RequestBody): BaseResp<ReviewTaskListBean>
+    suspend fun getReviewTaskHistoryList(@Body requestBody: RequestBody): BaseResp<List<EvaluationHistoryBean>>
 
 }

+ 7 - 0
home/src/main/res/drawable/bg_evaluation_top_results.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_20px" />
+    <solid android:color="@color/color_FF4A76FF" />
+</shape>

+ 5 - 12
home/src/main/res/layout/activity_evaluation_history.xml

@@ -125,7 +125,7 @@
                     android:layout_marginStart="@dimen/divider_34px"
                     android:layout_marginTop="@dimen/divider_23px"
                     android:layout_marginEnd="@dimen/divider_37px"
-                    android:background="@drawable/bg_top_results"
+                    android:background="@drawable/bg_evaluation_top_results"
                     android:orientation="horizontal"
                     app:layout_constraintEnd_toEndOf="parent"
                     app:layout_constraintStart_toStartOf="parent"
@@ -198,23 +198,16 @@
                     android:layout_marginStart="@dimen/divider_34px"
                     android:layout_marginEnd="@dimen/divider_37px"
                     android:layout_marginBottom="@dimen/divider_36px"
-                    android:background="@drawable/bg_results_content"
                     app:layout_constraintBottom_toBottomOf="parent"
                     app:layout_constraintEnd_toEndOf="parent"
                     app:layout_constraintStart_toStartOf="parent"
                     app:layout_constraintTop_toBottomOf="@+id/tvTitleTag">
 
-                    <com.scwang.smartrefresh.layout.SmartRefreshLayout
-                        android:id="@+id/historySwipe"
+                    <androidx.recyclerview.widget.RecyclerView
+                        android:id="@+id/rvResult"
                         android:layout_width="match_parent"
-                        android:layout_height="match_parent">
-
-                        <androidx.recyclerview.widget.RecyclerView
-                            android:id="@+id/rvResult"
-                            android:layout_width="match_parent"
-                            android:layout_height="match_parent"
-                            app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
-                    </com.scwang.smartrefresh.layout.SmartRefreshLayout>
+                        android:layout_height="match_parent"
+                        app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
                 </LinearLayout>
 
             </androidx.constraintlayout.widget.ConstraintLayout>

+ 7 - 15
home/src/main/res/layout/item_evaluation_history.xml

@@ -4,10 +4,11 @@
     xmlns:tools="http://schemas.android.com/tools"
     tools:ignore="ResourceName">
 
-    <androidx.constraintlayout.widget.ConstraintLayout
+    <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_marginTop="@dimen/divider_20px">
+        android:layout_marginTop="@dimen/divider_20px"
+        android:orientation="vertical">
 
         <androidx.appcompat.widget.AppCompatTextView
             android:id="@+id/tvDate"
@@ -16,22 +17,13 @@
             android:background="@drawable/bg_evaluation_date"
             android:gravity="center"
             android:textColor="@android:color/white"
-            android:textSize="@dimen/divider_24px"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent"
-            tools:text="@string/accessibility_service_descriptions" />
+            android:textSize="@dimen/divider_24px" />
 
         <androidx.recyclerview.widget.RecyclerView
             android:id="@+id/rvEvaluation"
             android:layout_width="match_parent"
-            android:layout_height="0dp"
-            app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/tvDate" />
-
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
+            android:layout_height="match_parent"
+            app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
+    </LinearLayout>
 
 </layout>

+ 1 - 1
home/src/main/res/layout/item_evaluation_history_item.xml

@@ -7,7 +7,7 @@
 
         <variable
             name="data"
-            type="com.yingyangfly.home.entity.Records" />
+            type="com.yingyangfly.home.entity.EvaluationHistoryBeanSubListItem" />
     </data>
 
     <LinearLayout