|
|
@@ -1,12 +1,15 @@
|
|
|
package com.grkj.iscs_mc.view.fragment
|
|
|
|
|
|
+import android.view.View
|
|
|
import com.grkj.iscs_mc.R
|
|
|
import com.grkj.iscs_mc.databinding.FragmentMaterialReplacementBinding
|
|
|
import com.grkj.iscs_mc.extentions.navigateTo
|
|
|
import com.grkj.iscs_mc.extentions.navigateUp
|
|
|
+import com.grkj.iscs_mc.model.vo.replacement.ManualReplacementListRespVO
|
|
|
import com.grkj.iscs_mc.view.base.BaseMvpFragment
|
|
|
import com.grkj.iscs_mc.view.iview.IMaterialReplacementView
|
|
|
import com.grkj.iscs_mc.view.presenter.MaterialReplacementPresenter
|
|
|
+import com.grkj.iscs_mc.view.widget.ExpandableTabLayout
|
|
|
import com.zhy.adapter.recyclerview.CommonAdapter
|
|
|
import com.zhy.adapter.recyclerview.base.ViewHolder
|
|
|
|
|
|
@@ -16,20 +19,64 @@ import com.zhy.adapter.recyclerview.base.ViewHolder
|
|
|
class MaterialReplacementFragment :
|
|
|
BaseMvpFragment<IMaterialReplacementView, MaterialReplacementPresenter, FragmentMaterialReplacementBinding>() {
|
|
|
|
|
|
+ private val mTypeList = mutableListOf<ManualReplacementListRespVO>()
|
|
|
+ private val mDetailList = mutableListOf<ManualReplacementListRespVO.MaterialsPageVO>()
|
|
|
+
|
|
|
override val viewBinding: FragmentMaterialReplacementBinding
|
|
|
get() = FragmentMaterialReplacementBinding.inflate(layoutInflater)
|
|
|
|
|
|
override fun initView() {
|
|
|
mBinding?.cbBack?.setOnClickListener { navigateUp() }
|
|
|
|
|
|
- mBinding?.rvMaterial?.adapter = object :
|
|
|
- CommonAdapter<String>(requireContext(), R.layout.item_rv_replacement, mutableListOf()) {
|
|
|
- override fun convert(holder: ViewHolder, t: String, position: Int) {
|
|
|
+ mBinding?.rvMaterial?.adapter =
|
|
|
+ object : CommonAdapter<ManualReplacementListRespVO.MaterialsPageVO>(
|
|
|
+ requireContext(),
|
|
|
+ R.layout.item_rv_replacement,
|
|
|
+ mDetailList
|
|
|
+ ) {
|
|
|
+ override fun convert(
|
|
|
+ holder: ViewHolder,
|
|
|
+ vo: ManualReplacementListRespVO.MaterialsPageVO,
|
|
|
+ position: Int
|
|
|
+ ) {
|
|
|
+ holder.setText(R.id.tv_name, vo.materialsName?:"")
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ mBinding?.etlType?.setOnSelectListener(object : ExpandableTabLayout.OnSelectListener {
|
|
|
+ override fun onSelect(position: Int) {
|
|
|
+ mDetailList.clear()
|
|
|
+ mTypeList[position].materials?.let {
|
|
|
+ mDetailList.addAll(it)
|
|
|
+ }
|
|
|
+ mBinding?.tvTip?.visibility = if (mDetailList.isEmpty()) View.VISIBLE else View.GONE
|
|
|
+ mBinding?.rvMaterial?.adapter?.notifyDataSetChanged()
|
|
|
}
|
|
|
+ })
|
|
|
+
|
|
|
+ mBinding?.cbManualReplace?.setOnClickListener {
|
|
|
+ navigateTo(MaterialReplacementFragmentDirections.actionReplacementFragmentToManualReplacementFragment())
|
|
|
}
|
|
|
|
|
|
- navigateTo(MaterialReplacementFragmentDirections.actionReplacementFragmentToManualReplacementFragment())
|
|
|
+ presenter?.getManualReplacementList {
|
|
|
+ it?.let {
|
|
|
+ mTypeList.addAll(it)
|
|
|
+ }
|
|
|
+ val list = mutableListOf<ExpandableTabLayout.ItemData>()
|
|
|
+ it?.forEach { itData ->
|
|
|
+ list.add(ExpandableTabLayout.ItemData("${itData.materialsTypeName}(${itData.exNumber})", iconUrl = itData.materialsTypeIcon))
|
|
|
+ }
|
|
|
+ mBinding?.etlType?.setData(list)
|
|
|
+
|
|
|
+ mDetailList.clear()
|
|
|
+ if (mTypeList.isNotEmpty()) {
|
|
|
+ mTypeList[0].materials?.let {
|
|
|
+ mDetailList.addAll(it)
|
|
|
+ }
|
|
|
+ mBinding?.tvTip?.visibility = if (mDetailList.isEmpty()) View.VISIBLE else View.GONE
|
|
|
+ }
|
|
|
+ mBinding?.rvMaterial?.adapter?.notifyDataSetChanged()
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
override fun initPresenter(): MaterialReplacementPresenter {
|