Explorar o código

增加护理项文字和图片动态配置显示

weizhengliang hai 1 ano
pai
achega
589005c2c2

+ 34 - 8
android_bed/src/main/java/com/wdkl/app/ncs/callingbed/adapter/NurseConfigAdpter.kt

@@ -3,14 +3,18 @@ package com.wdkl.app.ncs.callingbed.adapter
 import android.content.Context
 import android.graphics.Color
 import android.graphics.drawable.Drawable
+import android.text.TextUtils
 
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.widget.ImageView
 import android.widget.LinearLayout
 import android.widget.TextView
 import androidx.core.content.ContextCompat
 import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
+import com.bumptech.glide.load.engine.DiskCacheStrategy
 import com.wdkl.app.ncs.callingbed.R
 import com.wdkl.ncs.android.middleware.model.dto.NurseConfigDto
 import com.wdkl.ncs.android.middleware.utils.StringUtil
@@ -43,8 +47,34 @@ class NurseConfigAdpter : RecyclerView.Adapter<NurseConfigAdpter.ViewHolder> {
             } else {
                 drawable?.setTint(Color.parseColor("#e8e8e8"))
             }
-            holder.bed_f_txt.background = drawable
+            holder.nurseItem.background = drawable
             holder.bed_f_txt.text = data[position].nurseOptionName
+
+            holder.nurseImg.visibility = View.GONE
+            holder.bed_f_txt.visibility = View.VISIBLE
+            if (data[position].contentShow != null) {
+                //默认仅文字
+                if (data[position].contentShow == 1) {
+                    //图标+文字
+                    holder.nurseImg.visibility = View.VISIBLE
+                    if (!TextUtils.isEmpty(data[position].iconUrl)) {
+                        Glide.with(holder.nurseImg.context)
+                            .load(data[position].iconUrl)
+                            .diskCacheStrategy(DiskCacheStrategy.ALL)
+                            .into(holder.nurseImg)
+                    }
+                } else if (data[position].contentShow == 2) {
+                    //仅图标
+                    holder.nurseImg.visibility = View.VISIBLE
+                    holder.bed_f_txt.visibility = View.GONE
+                    if (!TextUtils.isEmpty(data[position].iconUrl)) {
+                        Glide.with(holder.nurseImg.context)
+                            .load(data[position].iconUrl)
+                            .diskCacheStrategy(DiskCacheStrategy.ALL)
+                            .into(holder.nurseImg)
+                    }
+                }
+            }
         } catch (e: Exception) {
             e.printStackTrace()
         }
@@ -60,17 +90,13 @@ class NurseConfigAdpter : RecyclerView.Adapter<NurseConfigAdpter.ViewHolder> {
     }
 
     class ViewHolder: RecyclerView.ViewHolder {
-        //var nurseColor : TextView
-        var nurseName : TextView
-        var nurseValue : TextView
-        var nurseItem : LinearLayout
         var bed_f_txt : TextView
+        var nurseImg : ImageView
+        var nurseItem : LinearLayout
 
         constructor(itemView: View): super(itemView) {
-            //nurseColor = itemView.findViewById(R.id.tv_nurse_color)
             bed_f_txt = itemView.findViewById(R.id.bed_f_txt)
-            nurseName = itemView.findViewById(R.id.tv_nurse_config_name)
-            nurseValue = itemView.findViewById(R.id.tv_nurse_config_value)
+            nurseImg = itemView.findViewById(R.id.img_nurse_item)
             nurseItem = itemView.findViewById(R.id.ll_nurse_item)
         }
     }

+ 3 - 3
android_bed/src/main/java/com/wdkl/app/ncs/callingbed/fragment/ApartmentFragment.kt

@@ -252,10 +252,10 @@ class  ApartmentFragment: BaseFragment<BedMainFragmentPresenter, MainView3Layout
 
            for ((index, e) in data.withIndex()) {
 
-                if (e.isBool_critical!=null && e.nurseOptionName!=null)   {
-                    if (e.isBool_critical && e.nurseOptionName.equals("病重")){
+                if (e.boolCritical!=null && e.nurseOptionName!=null)   {
+                    if (e.boolCritical && e.nurseOptionName.equals("病重")){
                         main_view_bg.setBackgroundResource(R.mipmap.bingren_bg_hh)
-                    }else if (e.isBool_critical && e.nurseOptionName.equals("病危")){
+                    }else if (e.boolCritical && e.nurseOptionName.equals("病危")){
                         main_view_bg.setBackgroundResource(R.mipmap.bingren_bg_h)
                     }
                 }

+ 3 - 3
android_bed/src/main/java/com/wdkl/app/ncs/callingbed/fragment/MainFragment.kt

@@ -221,10 +221,10 @@ class  MainFragment: BaseFragment<BedMainFragmentPresenter, MainViewLayoutBindin
 
            for ((index, e) in data.withIndex()) {
 
-                if (e.isBool_critical!=null && e.nurseOptionName!=null)   {
-                    if (e.isBool_critical && e.nurseOptionName.equals("病重")){
+                if (e.boolCritical!=null && e.nurseOptionName!=null)   {
+                    if (e.boolCritical && e.nurseOptionName.equals("病重")){
                         main_view_bg.setBackgroundResource(R.mipmap.bingren_bg_hh)
-                    }else if (e.isBool_critical && e.nurseOptionName.equals("病危")){
+                    }else if (e.boolCritical && e.nurseOptionName.equals("病危")){
                         main_view_bg.setBackgroundResource(R.mipmap.bingren_bg_h)
                     }
                 }

+ 16 - 43
android_bed/src/main/res/layout/item_nurse_config.xml

@@ -2,57 +2,30 @@
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/ll_nurse_item"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
+    android:layout_width="184dp"
+    android:layout_height="@dimen/d100"
     android:layout_marginBottom="@dimen/d24"
-    android:orientation="vertical">
+    android:orientation="horizontal"
+    android:gravity="center_vertical"
+    android:background="@drawable/shape_bed_bg">
 
+    <ImageView
+        android:id="@+id/img_nurse_item"
+        android:layout_width="54dp"
+        android:layout_height="54dp"
+        android:layout_marginLeft="6dp"
+        android:scaleType="center"
+        android:visibility="gone" />
 
     <TextView
         android:id="@+id/bed_f_txt"
-        android:layout_width="@dimen/d180"
-        android:layout_height="@dimen/d100"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
         android:text="@string/str_empty"
         android:gravity="center_vertical"
-        android:paddingLeft="@dimen/d22"
-        android:paddingRight="@dimen/d29"
-        android:background="@drawable/shape_bed_bg"
+        android:paddingLeft="@dimen/d10"
+        android:paddingRight="@dimen/d10"
         android:textColor="@color/white"
         android:textSize="@dimen/font_size_24"/>
 
-    <!--<TextView
-        android:id="@+id/tv_nurse_color"
-        android:layout_width="8dp"
-        android:layout_height="match_parent"
-        android:background="@color/main_color"/>-->
-
-    <TextView
-        android:id="@+id/tv_nurse_config_name"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_weight="1"
-        android:paddingLeft="6dp"
-        android:paddingTop="6dp"
-        android:singleLine="true"
-        android:ellipsize="end"
-        android:text="@string/default_nurse_config_name"
-        android:textSize="20sp"
-        android:visibility="gone"
-        android:textColor="@color/white"/>
-
-    <TextView
-        android:id="@+id/tv_nurse_config_value"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_weight="1"
-        android:paddingRight="6dp"
-        android:paddingBottom="6dp"
-        android:singleLine="true"
-        android:ellipsize="end"
-        android:gravity="right|bottom"
-        android:text="@string/str_empty"
-        android:textSize="22sp"
-        android:visibility="gone"
-        android:textColor="@color/white"/>
-
 </LinearLayout>

+ 23 - 23
android_bed/src/main/res/layout/main_view_layout.xml

@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <layout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto">
+
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
@@ -20,11 +21,11 @@
                 android:layout_height="@dimen/d250"
                 android:layout_marginLeft="@dimen/d10"
                 android:layout_marginTop="@dimen/d24"
-                android:paddingLeft="14dp"
-                android:paddingRight="14dp"
                 android:background="@mipmap/chuanghao_bg2"
                 android:gravity="center"
-                android:orientation="vertical">
+                android:orientation="vertical"
+                android:paddingLeft="14dp"
+                android:paddingRight="14dp">
 
                 <com.wdkl.ncs.android.lib.widget.MarqueeTextView
                     android:id="@+id/tv_bed_name_title"
@@ -46,7 +47,7 @@
                     android:layout_height="wrap_content"
                     android:textColor="@color/txt_number2"
                     android:textSize="18sp"
-                    android:visibility="gone"/>
+                    android:visibility="gone" />
             </LinearLayout>
 
             <com.wdkl.ncs.android.lib.widget.MarqueeTextView
@@ -113,8 +114,8 @@
                 android:layout_height="wrap_content"
                 android:layout_below="@+id/tv_bed_age"
                 android:layout_alignTop="@+id/tv_bed_time"
-                android:layout_toRightOf="@+id/tv_bed_time"
                 android:layout_marginLeft="@dimen/d20"
+                android:layout_toRightOf="@+id/tv_bed_time"
                 android:padding="@dimen/d3"
                 android:text="@string/str_gender_none"
                 android:textColor="@color/white"
@@ -282,35 +283,33 @@
                 android:layout_height="match_parent"
                 android:layout_marginLeft="@dimen/d18"
                 android:layout_marginTop="@dimen/d18"
-                android:orientation="vertical"
-                android:background="@drawable/shape_bed_bg">
-
+                android:background="@drawable/shape_bed_bg"
+                android:orientation="vertical">
 
 
                 <RelativeLayout
                     android:layout_width="match_parent"
                     android:layout_height="0dp"
-                    android:layout_weight="1"
                     android:layout_marginRight="@dimen/d5"
-                   >
+                    android:layout_weight="1">
 
                     <ImageView
                         android:id="@+id/bed_medic_img"
                         android:layout_width="@dimen/d43"
                         android:layout_height="@dimen/d43"
-                        android:layout_marginLeft="@dimen/d40"
                         android:layout_centerVertical="true"
+                        android:layout_marginLeft="@dimen/d40"
                         android:background="@mipmap/ys_img" />
 
                     <LinearLayout
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:orientation="vertical"
-                        android:gravity="center"
+                        android:layout_centerVertical="true"
                         android:layout_marginLeft="@dimen/d20"
                         android:layout_toRightOf="@+id/bed_medic_img"
-                        android:layout_centerVertical="true"
-                        >
+                        android:gravity="center"
+                        android:orientation="vertical">
+
                         <TextView
                             android:id="@+id/bed_medic_name"
                             android:layout_width="wrap_content"
@@ -337,6 +336,7 @@
                     </LinearLayout>
 
                 </RelativeLayout>
+
                 <View
                     android:id="@+id/f_tx_view"
                     android:layout_width="match_parent"
@@ -346,28 +346,28 @@
                 <RelativeLayout
                     android:layout_width="match_parent"
                     android:layout_height="0dp"
-                    android:layout_weight="1"
-
                     android:layout_marginRight="@dimen/d5"
+
+                    android:layout_weight="1"
                     android:gravity="center_vertical">
 
                     <ImageView
                         android:id="@+id/bed_medic_img2"
                         android:layout_width="@dimen/d43"
                         android:layout_height="@dimen/d43"
-                        android:layout_marginLeft="@dimen/d40"
                         android:layout_centerVertical="true"
+                        android:layout_marginLeft="@dimen/d40"
                         android:background="@mipmap/hs_img" />
 
                     <LinearLayout
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:orientation="vertical"
-                        android:gravity="center"
-                        android:layout_toRightOf="@+id/bed_medic_img2"
-                        android:layout_marginLeft="@dimen/d20"
                         android:layout_centerVertical="true"
-                        >
+                        android:layout_marginLeft="@dimen/d20"
+                        android:layout_toRightOf="@+id/bed_medic_img2"
+                        android:gravity="center"
+                        android:orientation="vertical">
+
                         <TextView
                             android:id="@+id/bed_medic_name2"
                             android:layout_width="wrap_content"

+ 52 - 15
middleware/src/main/code/com/wdkl/ncs/android/middleware/model/dto/NurseConfigDto.java

@@ -2,6 +2,8 @@ package com.wdkl.ncs.android.middleware.model.dto;
 
 import java.io.Serializable;
 
+import io.swagger.annotations.ApiModelProperty;
+
 public class NurseConfigDto implements Serializable {
     private Integer id;
 
@@ -17,25 +19,20 @@ public class NurseConfigDto implements Serializable {
 
     private String nurseConfigName;
 
-    private boolean bool_basic;
+    private Boolean boolBasic;
 
-    private boolean bool_critical;
+    private Boolean boolCritical;
 
-    public boolean isBool_basic() {
-        return bool_basic;
-    }
+    private Boolean boolManual;
 
-    public void setBool_basic(boolean bool_basic) {
-        this.bool_basic = bool_basic;
-    }
 
-    public boolean isBool_critical() {
-        return bool_critical;
-    }
+    @ApiModelProperty(value = "图标url", required = false)
+    private String iconUrl;
+
+
+    @ApiModelProperty(value = "内容展示方式,1-图标+文字,2-仅图标,3-仅文字", required = false)
+    private Integer contentShow;
 
-    public void setBool_critical(boolean bool_critical) {
-        this.bool_critical = bool_critical;
-    }
 
     public Integer getId() {
         return id;
@@ -71,7 +68,7 @@ public class NurseConfigDto implements Serializable {
 
     public String getNurseOptionName() {
         if (nurseOptionName==null){
-            return "";
+            return "NULL";
         }
         return nurseOptionName;
     }
@@ -95,4 +92,44 @@ public class NurseConfigDto implements Serializable {
     public void setNurseConfigName(String nurseConfigName) {
         this.nurseConfigName = nurseConfigName;
     }
+
+    public Boolean getBoolBasic() {
+        return boolBasic;
+    }
+
+    public void setBoolBasic(Boolean boolBasic) {
+        this.boolBasic = boolBasic;
+    }
+
+    public Boolean getBoolCritical() {
+        return boolCritical;
+    }
+
+    public void setBoolCritical(Boolean boolCritical) {
+        this.boolCritical = boolCritical;
+    }
+
+    public Boolean getBoolManual() {
+        return boolManual;
+    }
+
+    public void setBoolManual(Boolean boolManual) {
+        this.boolManual = boolManual;
+    }
+
+    public String getIconUrl() {
+        return iconUrl;
+    }
+
+    public void setIconUrl(String iconUrl) {
+        this.iconUrl = iconUrl;
+    }
+
+    public Integer getContentShow() {
+        return contentShow;
+    }
+
+    public void setContentShow(Integer contentShow) {
+        this.contentShow = contentShow;
+    }
 }