Browse Source

物资取还页适配接口

Frankensteinly 8 months ago
parent
commit
0bbb6a7d43

+ 2 - 0
app/build.gradle

@@ -86,4 +86,6 @@ dependencies {
     implementation "androidx.navigation:navigation-ui-ktx:2.6.0"
 
     implementation 'com.github.jzmanu:MDatePickerSample:v1.0.5'
+
+    implementation 'com.github.bumptech.glide:glide:4.11.0'
 }

+ 1 - 1
app/src/main/java/com/grkj/iscs_mc/model/vo/MaterialListRespVO.kt

@@ -38,7 +38,7 @@ data class MaterialListRespVO(
 
         val delFlag: String?,
 
-        val loanState: String?,
+        val loanState: String?, // 状态(0-借出 1-柜中)
 
         val materialsRfid: String?,
 

+ 26 - 5
app/src/main/java/com/grkj/iscs_mc/view/fragment/MaterialFetchReturnFragment.kt

@@ -1,5 +1,7 @@
 package com.grkj.iscs_mc.view.fragment
 
+import android.widget.ImageView
+import com.bumptech.glide.Glide
 import com.grkj.iscs_mc.R
 import com.grkj.iscs_mc.databinding.FragmentMaterialFetchReturnBinding
 import com.grkj.iscs_mc.extentions.navigateUp
@@ -18,6 +20,7 @@ class MaterialFetchReturnFragment :
     BaseMvpFragment<IMaterialFetchReturnView, MaterialFetchReturnPresenter, FragmentMaterialFetchReturnBinding>() {
 
     private var mMaterialList: MutableList<MaterialListRespVO>? = null
+    private var mDetailList = mutableListOf<MaterialListRespVO.MaterialsPageVO>()
 
     override val viewBinding: FragmentMaterialFetchReturnBinding
         get() = FragmentMaterialFetchReturnBinding.inflate(layoutInflater)
@@ -26,15 +29,25 @@ class MaterialFetchReturnFragment :
         mBinding?.cbBack?.setOnClickListener { navigateUp() }
 
         mBinding?.rvFetchReturn?.adapter = object :
-            CommonAdapter<String>(requireContext(), R.layout.item_rv_replacement, mutableListOf()) {
-            override fun convert(holder: ViewHolder, t: String, position: Int) {
-
+            CommonAdapter<MaterialListRespVO.MaterialsPageVO>(requireContext(), R.layout.item_rv_replacement, mDetailList) {
+            override fun convert(holder: ViewHolder, vo: MaterialListRespVO.MaterialsPageVO, position: Int) {
+                holder.setText(R.id.tv_name, vo.materialsName ?: "")
+                holder.setText(R.id.tv_rfid, vo.materialsRfid)
+                holder.setVisible(R.id.rv_tip, vo.loanState == "0")
+                holder.setVisible(R.id.iv_tip, false)
+                holder.setBackgroundColor(R.id.ll_tip, mContext.getColor(R.color.common_btn_red_bg))
+                holder.setText(R.id.tv_tip, getString(R.string.to_be_returned))
+                Glide.with(this@MaterialFetchReturnFragment).load(vo.materialsTypePicture).into(holder.getView(R.id.iv_icon))
             }
         }
 
-        mBinding?.etlType?.setOnSelectListener(object : ExpandableTabLayout.OnSelectListener{
+        mBinding?.etlType?.setOnSelectListener(object : ExpandableTabLayout.OnSelectListener {
             override fun onSelect(position: Int) {
-
+                mDetailList.clear()
+                mMaterialList?.get(position)?.materials?.let {
+                    mDetailList.addAll(it)
+                }
+                mBinding?.rvFetchReturn?.adapter?.notifyDataSetChanged()
             }
         })
 
@@ -45,6 +58,14 @@ class MaterialFetchReturnFragment :
                 list.add(ExpandableTabLayout.ItemData(itData.materialsTypeName, R.mipmap.safety_helmet))
             }
             mBinding?.etlType?.setData(list)
+
+            mDetailList.clear()
+            if (mMaterialList?.isNotEmpty() == true) {
+                mMaterialList?.get(0)?.materials?.let {
+                    mDetailList.addAll(it)
+                }
+            }
+            mBinding?.rvFetchReturn?.adapter?.notifyDataSetChanged()
         }
     }
 

+ 2 - 1
app/src/main/res/layout/fragment_material_fetch_return.xml

@@ -27,7 +27,8 @@
         android:layout_height="wrap_content"
         android:layout_above="@id/cb_back"
         android:layout_below="@id/tb"
-        android:layout_marginVertical="@dimen/common_spacing">
+        android:layout_marginVertical="@dimen/common_spacing"
+        android:background="@drawable/item_rv_technology_sop_bg_normal">
 
         <androidx.recyclerview.widget.RecyclerView
             android:id="@+id/rv_fetch_return"

+ 1 - 1
app/src/main/res/layout/item_rv_expandable_tab.xml

@@ -4,7 +4,7 @@
     android:layout_width="wrap_content"
     android:layout_height="31dp"
     android:orientation="vertical"
-    android:paddingHorizontal="@dimen/common_spacing_small">
+    android:paddingHorizontal="@dimen/common_spacing">
 
     <LinearLayout
         android:layout_width="match_parent"

+ 14 - 10
app/src/main/res/layout/item_rv_replacement.xml

@@ -15,7 +15,7 @@
         <ImageView
             android:id="@+id/iv_icon"
             android:layout_width="@dimen/item_rv_login_icon_size"
-            android:layout_height="@dimen/item_rv_login_icon_size"/>
+            android:layout_height="@dimen/item_rv_login_icon_size" />
 
         <TextView
             android:id="@+id/tv_name"
@@ -25,29 +25,33 @@
         <TextView
             android:id="@+id/tv_rfid"
             style="@style/CommonTextView"
-            android:textSize="@dimen/common_text_size_small"
-            android:layout_marginTop="@dimen/common_spacing_small" />
+            android:layout_marginTop="@dimen/common_spacing_small"
+            android:textSize="@dimen/common_text_size_small" />
     </LinearLayout>
-    
+
     <RelativeLayout
         android:id="@+id/rv_tip"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:background="@color/common_bg_white_60">
-        
+
         <LinearLayout
+            android:id="@+id/ll_tip"
             android:layout_width="@dimen/item_rv_material_base_tip_width"
             android:layout_height="@dimen/item_rv_material_base_tip_height"
-            android:orientation="horizontal"
-            android:layout_centerInParent="true">
+            android:layout_centerInParent="true"
+            android:gravity="center"
+            android:orientation="horizontal">
+
             <ImageView
                 android:id="@+id/iv_tip"
                 android:layout_width="@dimen/common_icon_size"
-                android:layout_height="@dimen/common_icon_size"/>
+                android:layout_height="@dimen/common_icon_size"
+                android:layout_marginRight="@dimen/common_spacing_small" />
 
             <TextView
-                style="@style/CommonTextView"
-                android:layout_marginLeft="@dimen/common_spacing_small"/>
+                android:id="@+id/tv_tip"
+                style="@style/CommonTextView" />
         </LinearLayout>
     </RelativeLayout>
 </RelativeLayout>

+ 1 - 1
app/src/main/res/layout/layout_expandable_tab_layout.xml

@@ -33,7 +33,7 @@
             style="@style/CommonRecyclerView"
             android:layout_height="wrap_content"
             android:layout_marginLeft="@dimen/common_spacing_small"
-            android:layout_marginTop="2dp"
+            android:layout_marginTop="@dimen/common_spacing_small"
             android:layout_marginRight="@dimen/common_spacing"
             android:orientation="horizontal" />
     </LinearLayout>

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

@@ -93,4 +93,6 @@
     <string name="exception_type">异常类型:%s</string>
 
     <string name="clear">清除</string>
+
+    <string name="to_be_returned">待还</string>
 </resources>