Jelajahi Sumber

1.添加查看理疗方案详情UI

王鹏鹏 2 tahun lalu
induk
melakukan
370e44b351

+ 3 - 2
.idea/misc.xml

@@ -157,6 +157,7 @@
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/drawable/bg_training_content.xml" value="0.219" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/drawable/bg_training_content_list.xml" value="0.2345" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/drawable/bg_training_content_title.xml" value="0.2165" />
+        <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/drawable/bg_treatment_details.xml" value="0.1615" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/drawable/bg_work_benches_btn.xml" value="0.2265" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/drawable/bg_workbenches_buttom_game.xml" value="0.219" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/drawable/bg_workbenches_level.xml" value="0.219" />
@@ -173,7 +174,7 @@
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/activity_leisure_brain.xml" value="0.16" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/activity_order_list.xml" value="0.1" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/activity_service_package.xml" value="0.326671261199173" />
-        <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/activity_train_content_details.xml" value="0.176" />
+        <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/activity_train_content_details.xml" value="0.152" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/activity_train_data.xml" value="0.18655967903711135" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/activity_workbenches.xml" value="0.16455696202531644" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/calendar_pick_view_layout.xml" value="0.23697916666666666" />
@@ -200,7 +201,7 @@
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_task.xml" value="0.8800000000000001" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_train_report.xml" value="0.536" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_training_content.xml" value="0.176" />
-        <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_training_content_details.xml" value="0.1" />
+        <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_training_content_details.xml" value="0.4" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/layout_empty.xml" value="0.1" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/spinner_list_item.xml" value="0.1" />
         <entry key="..\:/workspace/yingyangfly/app/src/main/res/layout/activity_main.xml" value="0.22826086956521738" />

+ 6 - 0
workbenches/src/main/java/com/yingyang/workbenches/adapter/TrainContentDetailsAdapter.kt

@@ -1,5 +1,6 @@
 package com.yingyang.workbenches.adapter
 
+import android.text.TextUtils
 import com.yingyang.workbenches.R
 import com.yingyang.workbenches.databinding.ItemTrainingContentDetailsBinding
 import com.yingyang.workbenches.entity.TrainContentDetailsBean
@@ -17,5 +18,10 @@ class TrainContentDetailsAdapter(override val layoutId: Int = R.layout.item_trai
         position: Int
     ) {
         binding.data = item
+        binding.tvGameStatus.text = if (TextUtils.equals("1", item.status)) {
+            "已通关"
+        } else {
+            "未通关"
+        }
     }
 }

+ 9 - 16
workbenches/src/main/java/com/yingyang/workbenches/entity/TrainContentDetailsBean.kt

@@ -4,23 +4,16 @@ package com.yingyang.workbenches.entity
  * 训练内容详情
  */
 data class TrainContentDetailsBean(
-    val createBy: String,
-    val createTime: String,
-    val currentTaskNum: Int,
     val gameCodes: String,
-    val gameCoverImages: Any,
-    val gameNames: String,
-    val id: String,
-    val orgCode: String,
-    val orgName: String,
-    val status: String,
-    val taskCover: Any,
-    val taskDesn: String,
+    val gameType: String,
+    val gameName: String,
+    val gameTotalScore: String,
+    val gameTotalTime: String,
+    val gameVideoUrl: String,
+    val desn: String,
+    val gameCoverImage: String,
     val taskName: String,
+    val status: String,
     val taskStartTime: String,
-    val totalTaskNum: Int,
-    val treatmentId: String,
-    val updateBy: String,
-    val updateTime: String,
-    val userId: String
+    val gameLevel: String
 )

+ 10 - 2
workbenches/src/main/java/com/yingyang/workbenches/traincontentdetails/TrainContentDetailsActivity.kt

@@ -4,6 +4,8 @@ import android.os.Bundle
 import com.alibaba.android.arouter.facade.annotation.Route
 import com.yingyang.workbenches.adapter.TrainContentDetailsAdapter
 import com.yingyang.workbenches.databinding.ActivityTrainContentDetailsBinding
+import com.yingyang.workbenches.entity.TrainContentDetailsBean
+import com.yingyangfly.baselib.ext.setOnSingleClickListener
 import com.yingyangfly.baselib.ext.toast
 import com.yingyangfly.baselib.mvvm.BaseMVVMActivity
 import com.yingyangfly.baselib.router.RouterUrlCommon
@@ -17,6 +19,7 @@ class TrainContentDetailsActivity :
 
     private var taskId = ""
 
+    private var trainContentDetailsList = mutableListOf<TrainContentDetailsBean>()
     private val adapter by lazy { TrainContentDetailsAdapter() }
 
     override fun onCreate(savedInstanceState: Bundle?) {
@@ -31,16 +34,21 @@ class TrainContentDetailsActivity :
     }
 
     override fun initListener() {
-
+        binding.backLayout.setOnSingleClickListener {
+            finish()
+        }
     }
 
     override fun initData() {
         viewModel.getSelectTaskDetailById(taskId, fail = {
             it.toast()
         }, success = {
+            trainContentDetailsList.clear()
             if (it.isNullOrEmpty().not()) {
-                adapter.setData(it)
+                trainContentDetailsList.addAll(it!!)
             }
+            adapter.showEmptyView = trainContentDetailsList.isNullOrEmpty()
+            adapter.setData(trainContentDetailsList)
         })
     }
 

+ 7 - 0
workbenches/src/main/res/drawable/bg_treatment_details.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_FFF2F5FF" />
+</shape>

+ 113 - 10
workbenches/src/main/res/layout/activity_train_content_details.xml

@@ -40,25 +40,128 @@
 
         </LinearLayout>
 
-        <androidx.cardview.widget.CardView
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/divider_32px"
+            android:text="@string/treatment_details"
+            android:textColor="@android:color/white"
+            android:textSize="@dimen/divider_34px"
+            android:textStyle="bold"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
 
+        <androidx.cardview.widget.CardView
             android:layout_width="match_parent"
             android:layout_height="0dp"
-            android:layout_margin="@dimen/divider_36px"
-            android:background="@drawable/bg_train_right"
-            app:cardCornerRadius="@dimen/divider_38px"
+            android:layout_margin="@dimen/divider_22px"
+            app:cardBackgroundColor="@android:color/white"
+            app:cardCornerRadius="@dimen/divider_28px"
             app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintTop_toBottomOf="@id/layoutHead">
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/backLayout">
 
-            <androidx.recyclerview.widget.RecyclerView
-                android:id="@+id/rvTrainContent"
+            <com.google.android.material.card.MaterialCardView
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
-                app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
-        </androidx.cardview.widget.CardView>
+                android:layout_marginStart="@dimen/divider_30px"
+                android:layout_marginTop="@dimen/divider_29px"
+                android:layout_marginEnd="@dimen/divider_30px"
+                android:layout_marginBottom="@dimen/divider_9px"
+                android:theme="@style/Theme.MaterialComponents.NoActionBar"
+                app:cardBackgroundColor="@color/color_FFE6ECFF"
+                app:cardCornerRadius="@dimen/divider_20px">
+
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent">
 
+                    <LinearLayout
+                        android:id="@+id/titleLayout"
+                        android:layout_width="match_parent"
+                        android:layout_height="@dimen/divider_71px"
+                        android:background="@color/color_FF4A76FF"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent">
 
+                        <TextView
+                            android:layout_width="@dimen/divider_96px"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="@dimen/divider_33px" />
+
+                        <TextView
+                            android:layout_width="0dp"
+                            android:layout_height="match_parent"
+                            android:layout_weight="1"
+                            android:gravity="center"
+                            android:text="@string/game_name"
+                            android:textColor="@android:color/white"
+                            android:textSize="@dimen/divider_24px" />
+
+                        <TextView
+                            android:layout_width="0dp"
+                            android:layout_height="match_parent"
+                            android:layout_weight="1"
+                            android:gravity="center"
+                            android:text="@string/game_category"
+                            android:textColor="@android:color/white"
+                            android:textSize="@dimen/divider_24px" />
+
+                        <TextView
+                            android:layout_width="0dp"
+                            android:layout_height="match_parent"
+                            android:layout_weight="1"
+                            android:gravity="center"
+                            android:text="@string/game_score"
+                            android:textColor="@android:color/white"
+                            android:textSize="@dimen/divider_24px" />
+
+                        <TextView
+                            android:layout_width="0dp"
+                            android:layout_height="match_parent"
+                            android:layout_weight="1"
+                            android:gravity="center"
+                            android:text="@string/game_duration"
+                            android:textColor="@android:color/white"
+                            android:textSize="@dimen/divider_24px" />
+
+                        <TextView
+                            android:layout_width="0dp"
+                            android:layout_height="match_parent"
+                            android:layout_weight="1"
+                            android:gravity="center"
+                            android:text="@string/game_level"
+                            android:textColor="@android:color/white"
+                            android:textSize="@dimen/divider_24px" />
+
+                        <TextView
+                            android:layout_width="0dp"
+                            android:layout_height="match_parent"
+                            android:layout_weight="1"
+                            android:gravity="center"
+                            android:text="@string/status"
+                            android:textColor="@android:color/white"
+                            android:textSize="@dimen/divider_24px" />
+                    </LinearLayout>
+
+                    <androidx.recyclerview.widget.RecyclerView
+                        android:id="@+id/rvTrainContent"
+                        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/titleLayout"
+                        tools:ignore="MissingConstraints" />
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+            </com.google.android.material.card.MaterialCardView>
+        </androidx.cardview.widget.CardView>
     </androidx.constraintlayout.widget.ConstraintLayout>
 </layout>

+ 104 - 7
workbenches/src/main/res/layout/item_training_content_details.xml

@@ -12,19 +12,116 @@
     </data>
 
     <androidx.constraintlayout.widget.ConstraintLayout
-        style="@style/layout_properties_specify_width"
-        android:minHeight="@dimen/divider_112px">
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/divider_135px">
+
+        <androidx.appcompat.widget.AppCompatImageView
+            android:id="@+id/gameImage"
+            android:layout_width="@dimen/divider_96px"
+            android:layout_height="@dimen/divider_96px"
+            android:layout_marginStart="@dimen/divider_33px"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:loadImg="@{data.gameCoverImage}"
+            app:roundRadius="@{8}" />
+
+        <TextView
+            android:id="@+id/tvGameName"
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:gravity="center"
+            android:text="@{data.gameName}"
+            android:textColor="@color/color_FF333333"
+            android:textSize="@dimen/divider_24px"
+            android:textStyle="bold"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toStartOf="@+id/tvGameCategory"
+            app:layout_constraintHorizontal_chainStyle="spread"
+            app:layout_constraintStart_toEndOf="@+id/gameImage"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <TextView
+            android:id="@+id/tvGameCategory"
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:gravity="center"
+            android:text="@{data.gameType}"
+            android:textColor="@color/color_FF333333"
+            android:textSize="@dimen/divider_24px"
+            android:textStyle="bold"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toStartOf="@+id/tvScore"
+            app:layout_constraintHorizontal_chainStyle="spread"
+            app:layout_constraintStart_toEndOf="@+id/tvGameName"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <TextView
+            android:id="@+id/tvScore"
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:gravity="center"
+            android:text="@{data.gameTotalScore}"
+            android:textColor="@color/color_FF333333"
+            android:textSize="@dimen/divider_24px"
+            android:textStyle="bold"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toStartOf="@+id/tvSuration"
+            app:layout_constraintHorizontal_chainStyle="spread"
+            app:layout_constraintStart_toEndOf="@+id/tvGameCategory"
+            app:layout_constraintTop_toTopOf="parent" />
 
         <TextView
-            style="@style/layout_properties_self_adaption"
-            android:text="@{data.gameNames}"
-            android:textColor="@color/color_FF4A76FF"
-            android:textSize="@dimen/divider_26px"
+            android:id="@+id/tvSuration"
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:gravity="center"
+            android:text="@{data.gameTotalTime}"
+            android:textColor="@color/color_FF333333"
+            android:textSize="@dimen/divider_24px"
+            android:textStyle="bold"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toStartOf="@+id/tvGameLevel"
+            app:layout_constraintHorizontal_chainStyle="spread"
+            app:layout_constraintStart_toEndOf="@+id/tvScore"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <TextView
+            android:id="@+id/tvGameLevel"
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:gravity="center"
+            android:text="@{data.gameLevel}"
+            android:textColor="@color/color_FF333333"
+            android:textSize="@dimen/divider_24px"
+            android:textStyle="bold"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toStartOf="@+id/tvGameStatus"
+            app:layout_constraintHorizontal_chainStyle="spread"
+            app:layout_constraintStart_toEndOf="@+id/tvSuration"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <TextView
+            android:id="@+id/tvGameStatus"
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:gravity="center"
+            android:textColor="@color/color_FF333333"
+            android:textSize="@dimen/divider_24px"
+            android:textStyle="bold"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintHorizontal_chainStyle="spread"
+            app:layout_constraintStart_toEndOf="@+id/tvGameLevel"
             app:layout_constraintTop_toTopOf="parent" />
 
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/divider_1px"
+            android:background="@android:color/white"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent" />
     </androidx.constraintlayout.widget.ConstraintLayout>
 
 </layout>

+ 2 - 0
workbenches/src/main/res/values/dimens.xml

@@ -54,6 +54,7 @@
     <dimen name="divider_180px" tools:ignore="ResourceName">180px</dimen>
     <dimen name="divider_176px" tools:ignore="ResourceName">176px</dimen>
     <dimen name="divider_140px" tools:ignore="ResourceName">140px</dimen>
+    <dimen name="divider_135px" tools:ignore="ResourceName">135px</dimen>
     <dimen name="divider_133px" tools:ignore="ResourceName">133px</dimen>
     <dimen name="divider_130px" tools:ignore="ResourceName">130px</dimen>
     <dimen name="divider_128px" tools:ignore="ResourceName">128px</dimen>
@@ -79,6 +80,7 @@
     <dimen name="divider_101px" tools:ignore="ResourceName">101px</dimen>
     <dimen name="divider_100px" tools:ignore="ResourceName">100px</dimen>
     <dimen name="divider_98px" tools:ignore="ResourceName">98px</dimen>
+    <dimen name="divider_96px" tools:ignore="ResourceName">96px</dimen>
     <dimen name="divider_90px" tools:ignore="ResourceName">90px</dimen>
     <dimen name="divider_88px" tools:ignore="ResourceName">88px</dimen>
     <dimen name="divider_82px" tools:ignore="ResourceName">82px</dimen>

+ 7 - 0
workbenches/src/main/res/values/strings.xml

@@ -48,4 +48,11 @@
     <string name="contact_after_sales_service" tools:ignore="ResourceName">联系售后</string>
     <string name="back_pager" tools:ignore="MissingTranslation,ResourceName">返回</string>
     <string name="total_training_duration_today" tools:ignore="ResourceName">今日训练总时长</string>
+    <string name="treatment_details" tools:ignore="ResourceName">疗程详情</string>
+    <string name="game_name" tools:ignore="ResourceName">游戏名</string>
+    <string name="game_category" tools:ignore="ResourceName">游戏分类</string>
+    <string name="game_score" tools:ignore="ResourceName">游戏得分</string>
+    <string name="game_duration" tools:ignore="ResourceName">游戏时长</string>
+    <string name="game_level" tools:ignore="ResourceName">游戏级别</string>
+    <string name="status" tools:ignore="ResourceName">状态</string>
 </resources>