|
@@ -2,10 +2,13 @@ package com.grkj.iscs_mc.view.fragment
|
|
|
|
|
|
|
|
import com.grkj.iscs_mc.R
|
|
import com.grkj.iscs_mc.R
|
|
|
import com.grkj.iscs_mc.databinding.FragmentMaterialInstructionBinding
|
|
import com.grkj.iscs_mc.databinding.FragmentMaterialInstructionBinding
|
|
|
|
|
+import com.grkj.iscs_mc.extentions.navigateTo
|
|
|
import com.grkj.iscs_mc.extentions.navigateUp
|
|
import com.grkj.iscs_mc.extentions.navigateUp
|
|
|
|
|
+import com.grkj.iscs_mc.model.vo.material.MaterialInstructionListRespVO
|
|
|
import com.grkj.iscs_mc.view.base.BaseMvpFragment
|
|
import com.grkj.iscs_mc.view.base.BaseMvpFragment
|
|
|
import com.grkj.iscs_mc.view.iview.IMaterialInstructionView
|
|
import com.grkj.iscs_mc.view.iview.IMaterialInstructionView
|
|
|
import com.grkj.iscs_mc.view.presenter.MaterialInstructionPresenter
|
|
import com.grkj.iscs_mc.view.presenter.MaterialInstructionPresenter
|
|
|
|
|
+import com.grkj.iscs_mc.view.widget.ExpandableTabLayout
|
|
|
import com.zhy.adapter.recyclerview.CommonAdapter
|
|
import com.zhy.adapter.recyclerview.CommonAdapter
|
|
|
import com.zhy.adapter.recyclerview.base.ViewHolder
|
|
import com.zhy.adapter.recyclerview.base.ViewHolder
|
|
|
|
|
|
|
@@ -15,19 +18,61 @@ import com.zhy.adapter.recyclerview.base.ViewHolder
|
|
|
class MaterialInstructionFragment :
|
|
class MaterialInstructionFragment :
|
|
|
BaseMvpFragment<IMaterialInstructionView, MaterialInstructionPresenter, FragmentMaterialInstructionBinding>() {
|
|
BaseMvpFragment<IMaterialInstructionView, MaterialInstructionPresenter, FragmentMaterialInstructionBinding>() {
|
|
|
|
|
|
|
|
|
|
+ private var mInstructionList: MutableList<MaterialInstructionListRespVO>? = null
|
|
|
|
|
+ private var mDetailList = mutableListOf<MaterialInstructionListRespVO.IsMaterialsInstructions>()
|
|
|
|
|
+
|
|
|
override val viewBinding: FragmentMaterialInstructionBinding
|
|
override val viewBinding: FragmentMaterialInstructionBinding
|
|
|
get() = FragmentMaterialInstructionBinding.inflate(layoutInflater)
|
|
get() = FragmentMaterialInstructionBinding.inflate(layoutInflater)
|
|
|
|
|
|
|
|
override fun initView() {
|
|
override fun initView() {
|
|
|
mBinding?.cbBack?.setOnClickListener { navigateUp() }
|
|
mBinding?.cbBack?.setOnClickListener { navigateUp() }
|
|
|
|
|
|
|
|
- mBinding?.rvInstruction?.adapter = object :
|
|
|
|
|
- CommonAdapter<String>(requireContext(), R.layout.item_rv_instruction, mutableListOf()) {
|
|
|
|
|
- override fun convert(holder: ViewHolder, t: String, position: Int) {
|
|
|
|
|
- holder.setOnClickListener(R.id.root) {
|
|
|
|
|
-
|
|
|
|
|
|
|
+ mBinding?.rvInstruction?.adapter =
|
|
|
|
|
+ object : CommonAdapter<MaterialInstructionListRespVO.IsMaterialsInstructions>(
|
|
|
|
|
+ requireContext(),
|
|
|
|
|
+ R.layout.item_rv_instruction,
|
|
|
|
|
+ mDetailList
|
|
|
|
|
+ ) {
|
|
|
|
|
+ override fun convert(
|
|
|
|
|
+ holder: ViewHolder,
|
|
|
|
|
+ vo: MaterialInstructionListRespVO.IsMaterialsInstructions,
|
|
|
|
|
+ position: Int
|
|
|
|
|
+ ) {
|
|
|
|
|
+ holder.setText(R.id.tv_name, vo.instructionsTitle)
|
|
|
|
|
+ holder.setOnClickListener(R.id.root) {
|
|
|
|
|
+ vo.fileUrl?.let {
|
|
|
|
|
+ navigateTo(MaterialInstructionFragmentDirections.actionInstructionFragmentToInstructionDetailFragment(it))
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ mBinding?.etlType?.setOnSelectListener(object : ExpandableTabLayout.OnSelectListener {
|
|
|
|
|
+ override fun onSelect(position: Int) {
|
|
|
|
|
+ mDetailList.clear()
|
|
|
|
|
+ mInstructionList?.get(position)?.instructions?.let {
|
|
|
|
|
+ mDetailList.addAll(it)
|
|
|
|
|
+ }
|
|
|
|
|
+ mBinding?.rvInstruction?.adapter?.notifyDataSetChanged()
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ presenter?.getMaterialInstructionList {
|
|
|
|
|
+ mInstructionList = it
|
|
|
|
|
+ val list = mutableListOf<ExpandableTabLayout.ItemData>()
|
|
|
|
|
+ it?.forEach { itData ->
|
|
|
|
|
+ // TODO icon不对
|
|
|
|
|
+ list.add(ExpandableTabLayout.ItemData(itData.materialsTypeName, R.mipmap.safety_helmet))
|
|
|
|
|
+ }
|
|
|
|
|
+ mBinding?.etlType?.setData(list)
|
|
|
|
|
+
|
|
|
|
|
+ mDetailList.clear()
|
|
|
|
|
+ if (mInstructionList?.isNotEmpty() == true) {
|
|
|
|
|
+ mInstructionList?.get(0)?.instructions?.let {
|
|
|
|
|
+ mDetailList.addAll(it)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ mBinding?.rvInstruction?.adapter?.notifyDataSetChanged()
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|