diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt new file mode 100644 index 0000000..afaea3f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeterageRegulationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_regulation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt new file mode 100644 index 0000000..afaea3f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeterageRegulationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_regulation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt new file mode 100644 index 0000000..fb33424 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt @@ -0,0 +1,84 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.vm.MeterageFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.utils.WeakReferenceHandler + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class MeterageRuleFragment : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: MeterageFileViewModel + private lateinit var fileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { +// weakReferenceHandler = WeakReferenceHandler(callback) +// fileViewModel = ViewModelProvider(this)[MeterageFileViewModel::class.java] +// fileViewModel.fileList.observe(this) { +// if (it.code == 200) { +// val dataRows = it.data?.rows +// when { +// isRefresh -> { +// dataBeans.clear() +// dataBeans = dataRows +// capabilityLayout.finishRefresh() +// isRefresh = false +// } +// isLoadMore -> { +// if (dataRows.size == 0) { +// "到底了,别拉了".show(this) +// } +// dataBeans.addAll(dataRows) +// capabilityLayout.finishLoadMore() +// isLoadMore = false +// } +// else -> { +// dataBeans = dataRows +// } +// } +// weakReferenceHandler.sendEmptyMessage(2023020902) +// } +// } +// +// +// fileViewModel.getMeterageFileList( +// "jlglwjsp", +// "1", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// arrayOf() +// ) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_rule + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt new file mode 100644 index 0000000..afaea3f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeterageRegulationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_regulation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt new file mode 100644 index 0000000..fb33424 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt @@ -0,0 +1,84 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.vm.MeterageFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.utils.WeakReferenceHandler + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class MeterageRuleFragment : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: MeterageFileViewModel + private lateinit var fileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { +// weakReferenceHandler = WeakReferenceHandler(callback) +// fileViewModel = ViewModelProvider(this)[MeterageFileViewModel::class.java] +// fileViewModel.fileList.observe(this) { +// if (it.code == 200) { +// val dataRows = it.data?.rows +// when { +// isRefresh -> { +// dataBeans.clear() +// dataBeans = dataRows +// capabilityLayout.finishRefresh() +// isRefresh = false +// } +// isLoadMore -> { +// if (dataRows.size == 0) { +// "到底了,别拉了".show(this) +// } +// dataBeans.addAll(dataRows) +// capabilityLayout.finishLoadMore() +// isLoadMore = false +// } +// else -> { +// dataBeans = dataRows +// } +// } +// weakReferenceHandler.sendEmptyMessage(2023020902) +// } +// } +// +// +// fileViewModel.getMeterageFileList( +// "jlglwjsp", +// "1", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// arrayOf() +// ) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_rule + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt new file mode 100644 index 0000000..26d8b49 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class OperationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_operation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt new file mode 100644 index 0000000..afaea3f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeterageRegulationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_regulation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt new file mode 100644 index 0000000..fb33424 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt @@ -0,0 +1,84 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.vm.MeterageFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.utils.WeakReferenceHandler + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class MeterageRuleFragment : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: MeterageFileViewModel + private lateinit var fileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { +// weakReferenceHandler = WeakReferenceHandler(callback) +// fileViewModel = ViewModelProvider(this)[MeterageFileViewModel::class.java] +// fileViewModel.fileList.observe(this) { +// if (it.code == 200) { +// val dataRows = it.data?.rows +// when { +// isRefresh -> { +// dataBeans.clear() +// dataBeans = dataRows +// capabilityLayout.finishRefresh() +// isRefresh = false +// } +// isLoadMore -> { +// if (dataRows.size == 0) { +// "到底了,别拉了".show(this) +// } +// dataBeans.addAll(dataRows) +// capabilityLayout.finishLoadMore() +// isLoadMore = false +// } +// else -> { +// dataBeans = dataRows +// } +// } +// weakReferenceHandler.sendEmptyMessage(2023020902) +// } +// } +// +// +// fileViewModel.getMeterageFileList( +// "jlglwjsp", +// "1", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// arrayOf() +// ) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_rule + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt new file mode 100644 index 0000000..26d8b49 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class OperationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_operation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt new file mode 100644 index 0000000..790f5f5 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ProcedureFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_procedure + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt new file mode 100644 index 0000000..afaea3f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeterageRegulationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_regulation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt new file mode 100644 index 0000000..fb33424 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt @@ -0,0 +1,84 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.vm.MeterageFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.utils.WeakReferenceHandler + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class MeterageRuleFragment : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: MeterageFileViewModel + private lateinit var fileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { +// weakReferenceHandler = WeakReferenceHandler(callback) +// fileViewModel = ViewModelProvider(this)[MeterageFileViewModel::class.java] +// fileViewModel.fileList.observe(this) { +// if (it.code == 200) { +// val dataRows = it.data?.rows +// when { +// isRefresh -> { +// dataBeans.clear() +// dataBeans = dataRows +// capabilityLayout.finishRefresh() +// isRefresh = false +// } +// isLoadMore -> { +// if (dataRows.size == 0) { +// "到底了,别拉了".show(this) +// } +// dataBeans.addAll(dataRows) +// capabilityLayout.finishLoadMore() +// isLoadMore = false +// } +// else -> { +// dataBeans = dataRows +// } +// } +// weakReferenceHandler.sendEmptyMessage(2023020902) +// } +// } +// +// +// fileViewModel.getMeterageFileList( +// "jlglwjsp", +// "1", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// arrayOf() +// ) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_rule + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt new file mode 100644 index 0000000..26d8b49 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class OperationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_operation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt new file mode 100644 index 0000000..790f5f5 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ProcedureFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_procedure + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt new file mode 100644 index 0000000..e77771c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class QualityNoteFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_quality + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt new file mode 100644 index 0000000..afaea3f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeterageRegulationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_regulation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt new file mode 100644 index 0000000..fb33424 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt @@ -0,0 +1,84 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.vm.MeterageFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.utils.WeakReferenceHandler + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class MeterageRuleFragment : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: MeterageFileViewModel + private lateinit var fileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { +// weakReferenceHandler = WeakReferenceHandler(callback) +// fileViewModel = ViewModelProvider(this)[MeterageFileViewModel::class.java] +// fileViewModel.fileList.observe(this) { +// if (it.code == 200) { +// val dataRows = it.data?.rows +// when { +// isRefresh -> { +// dataBeans.clear() +// dataBeans = dataRows +// capabilityLayout.finishRefresh() +// isRefresh = false +// } +// isLoadMore -> { +// if (dataRows.size == 0) { +// "到底了,别拉了".show(this) +// } +// dataBeans.addAll(dataRows) +// capabilityLayout.finishLoadMore() +// isLoadMore = false +// } +// else -> { +// dataBeans = dataRows +// } +// } +// weakReferenceHandler.sendEmptyMessage(2023020902) +// } +// } +// +// +// fileViewModel.getMeterageFileList( +// "jlglwjsp", +// "1", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// arrayOf() +// ) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_rule + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt new file mode 100644 index 0000000..26d8b49 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class OperationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_operation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt new file mode 100644 index 0000000..790f5f5 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ProcedureFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_procedure + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt new file mode 100644 index 0000000..e77771c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class QualityNoteFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_quality + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt new file mode 100644 index 0000000..db93e20 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SkillAbilityFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_ability + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt new file mode 100644 index 0000000..afaea3f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeterageRegulationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_regulation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt new file mode 100644 index 0000000..fb33424 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt @@ -0,0 +1,84 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.vm.MeterageFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.utils.WeakReferenceHandler + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class MeterageRuleFragment : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: MeterageFileViewModel + private lateinit var fileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { +// weakReferenceHandler = WeakReferenceHandler(callback) +// fileViewModel = ViewModelProvider(this)[MeterageFileViewModel::class.java] +// fileViewModel.fileList.observe(this) { +// if (it.code == 200) { +// val dataRows = it.data?.rows +// when { +// isRefresh -> { +// dataBeans.clear() +// dataBeans = dataRows +// capabilityLayout.finishRefresh() +// isRefresh = false +// } +// isLoadMore -> { +// if (dataRows.size == 0) { +// "到底了,别拉了".show(this) +// } +// dataBeans.addAll(dataRows) +// capabilityLayout.finishLoadMore() +// isLoadMore = false +// } +// else -> { +// dataBeans = dataRows +// } +// } +// weakReferenceHandler.sendEmptyMessage(2023020902) +// } +// } +// +// +// fileViewModel.getMeterageFileList( +// "jlglwjsp", +// "1", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// arrayOf() +// ) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_rule + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt new file mode 100644 index 0000000..26d8b49 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class OperationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_operation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt new file mode 100644 index 0000000..790f5f5 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ProcedureFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_procedure + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt new file mode 100644 index 0000000..e77771c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class QualityNoteFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_quality + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt new file mode 100644 index 0000000..db93e20 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SkillAbilityFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_ability + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java new file mode 100644 index 0000000..4e3715d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class MeterageFileListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createUser; + private String effectiveStatus; + private String effectiveStatusName; + private String effectiveTime; + private String fileCode; + private String fileName; + private String fileNo; + private String fileType; + private String fileTypeName; + private String id; + private String minioFileName; + private String processId; + private String publishTime; + private String publisher; + private String remark; + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEffectiveStatus() { + return effectiveStatus; + } + + public void setEffectiveStatus(String effectiveStatus) { + this.effectiveStatus = effectiveStatus; + } + + public String getEffectiveStatusName() { + return effectiveStatusName; + } + + public void setEffectiveStatusName(String effectiveStatusName) { + this.effectiveStatusName = effectiveStatusName; + } + + public String getEffectiveTime() { + return effectiveTime; + } + + public void setEffectiveTime(String effectiveTime) { + this.effectiveTime = effectiveTime; + } + + public String getFileCode() { + return fileCode; + } + + public void setFileCode(String fileCode) { + this.fileCode = fileCode; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileNo() { + return fileNo; + } + + public void setFileNo(String fileNo) { + this.fileNo = fileNo; + } + + public String getFileType() { + return fileType; + } + + public void setFileType(String fileType) { + this.fileType = fileType; + } + + public String getFileTypeName() { + return fileTypeName; + } + + public void setFileTypeName(String fileTypeName) { + this.fileTypeName = fileTypeName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public String getPublishTime() { + return publishTime; + } + + public void setPublishTime(String publishTime) { + this.publishTime = publishTime; + } + + public String getPublisher() { + return publisher; + } + + public void setPublisher(String publisher) { + this.publisher = publisher; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt new file mode 100644 index 0000000..afaea3f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeterageRegulationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_regulation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt new file mode 100644 index 0000000..fb33424 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt @@ -0,0 +1,84 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.vm.MeterageFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.utils.WeakReferenceHandler + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class MeterageRuleFragment : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: MeterageFileViewModel + private lateinit var fileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { +// weakReferenceHandler = WeakReferenceHandler(callback) +// fileViewModel = ViewModelProvider(this)[MeterageFileViewModel::class.java] +// fileViewModel.fileList.observe(this) { +// if (it.code == 200) { +// val dataRows = it.data?.rows +// when { +// isRefresh -> { +// dataBeans.clear() +// dataBeans = dataRows +// capabilityLayout.finishRefresh() +// isRefresh = false +// } +// isLoadMore -> { +// if (dataRows.size == 0) { +// "到底了,别拉了".show(this) +// } +// dataBeans.addAll(dataRows) +// capabilityLayout.finishLoadMore() +// isLoadMore = false +// } +// else -> { +// dataBeans = dataRows +// } +// } +// weakReferenceHandler.sendEmptyMessage(2023020902) +// } +// } +// +// +// fileViewModel.getMeterageFileList( +// "jlglwjsp", +// "1", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// arrayOf() +// ) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_rule + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt new file mode 100644 index 0000000..26d8b49 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class OperationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_operation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt new file mode 100644 index 0000000..790f5f5 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ProcedureFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_procedure + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt new file mode 100644 index 0000000..e77771c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class QualityNoteFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_quality + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt new file mode 100644 index 0000000..db93e20 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SkillAbilityFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_ability + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java new file mode 100644 index 0000000..4e3715d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class MeterageFileListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createUser; + private String effectiveStatus; + private String effectiveStatusName; + private String effectiveTime; + private String fileCode; + private String fileName; + private String fileNo; + private String fileType; + private String fileTypeName; + private String id; + private String minioFileName; + private String processId; + private String publishTime; + private String publisher; + private String remark; + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEffectiveStatus() { + return effectiveStatus; + } + + public void setEffectiveStatus(String effectiveStatus) { + this.effectiveStatus = effectiveStatus; + } + + public String getEffectiveStatusName() { + return effectiveStatusName; + } + + public void setEffectiveStatusName(String effectiveStatusName) { + this.effectiveStatusName = effectiveStatusName; + } + + public String getEffectiveTime() { + return effectiveTime; + } + + public void setEffectiveTime(String effectiveTime) { + this.effectiveTime = effectiveTime; + } + + public String getFileCode() { + return fileCode; + } + + public void setFileCode(String fileCode) { + this.fileCode = fileCode; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileNo() { + return fileNo; + } + + public void setFileNo(String fileNo) { + this.fileNo = fileNo; + } + + public String getFileType() { + return fileType; + } + + public void setFileType(String fileType) { + this.fileType = fileType; + } + + public String getFileTypeName() { + return fileTypeName; + } + + public void setFileTypeName(String fileTypeName) { + this.fileTypeName = fileTypeName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public String getPublishTime() { + return publishTime; + } + + public void setPublishTime(String publishTime) { + this.publishTime = publishTime; + } + + public String getPublisher() { + return publisher; + } + + public void setPublisher(String publisher) { + this.publisher = publisher; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index e415d85..76af155 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -276,4 +276,15 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量标准规范文件列表 + */ + @POST("/meter/file/listPage") + suspend fun getMeterageFileList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt new file mode 100644 index 0000000..afaea3f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeterageRegulationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_regulation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt new file mode 100644 index 0000000..fb33424 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt @@ -0,0 +1,84 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.vm.MeterageFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.utils.WeakReferenceHandler + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class MeterageRuleFragment : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: MeterageFileViewModel + private lateinit var fileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { +// weakReferenceHandler = WeakReferenceHandler(callback) +// fileViewModel = ViewModelProvider(this)[MeterageFileViewModel::class.java] +// fileViewModel.fileList.observe(this) { +// if (it.code == 200) { +// val dataRows = it.data?.rows +// when { +// isRefresh -> { +// dataBeans.clear() +// dataBeans = dataRows +// capabilityLayout.finishRefresh() +// isRefresh = false +// } +// isLoadMore -> { +// if (dataRows.size == 0) { +// "到底了,别拉了".show(this) +// } +// dataBeans.addAll(dataRows) +// capabilityLayout.finishLoadMore() +// isLoadMore = false +// } +// else -> { +// dataBeans = dataRows +// } +// } +// weakReferenceHandler.sendEmptyMessage(2023020902) +// } +// } +// +// +// fileViewModel.getMeterageFileList( +// "jlglwjsp", +// "1", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// arrayOf() +// ) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_rule + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt new file mode 100644 index 0000000..26d8b49 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class OperationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_operation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt new file mode 100644 index 0000000..790f5f5 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ProcedureFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_procedure + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt new file mode 100644 index 0000000..e77771c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class QualityNoteFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_quality + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt new file mode 100644 index 0000000..db93e20 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SkillAbilityFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_ability + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java new file mode 100644 index 0000000..4e3715d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class MeterageFileListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createUser; + private String effectiveStatus; + private String effectiveStatusName; + private String effectiveTime; + private String fileCode; + private String fileName; + private String fileNo; + private String fileType; + private String fileTypeName; + private String id; + private String minioFileName; + private String processId; + private String publishTime; + private String publisher; + private String remark; + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEffectiveStatus() { + return effectiveStatus; + } + + public void setEffectiveStatus(String effectiveStatus) { + this.effectiveStatus = effectiveStatus; + } + + public String getEffectiveStatusName() { + return effectiveStatusName; + } + + public void setEffectiveStatusName(String effectiveStatusName) { + this.effectiveStatusName = effectiveStatusName; + } + + public String getEffectiveTime() { + return effectiveTime; + } + + public void setEffectiveTime(String effectiveTime) { + this.effectiveTime = effectiveTime; + } + + public String getFileCode() { + return fileCode; + } + + public void setFileCode(String fileCode) { + this.fileCode = fileCode; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileNo() { + return fileNo; + } + + public void setFileNo(String fileNo) { + this.fileNo = fileNo; + } + + public String getFileType() { + return fileType; + } + + public void setFileType(String fileType) { + this.fileType = fileType; + } + + public String getFileTypeName() { + return fileTypeName; + } + + public void setFileTypeName(String fileTypeName) { + this.fileTypeName = fileTypeName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public String getPublishTime() { + return publishTime; + } + + public void setPublishTime(String publishTime) { + this.publishTime = publishTime; + } + + public String getPublisher() { + return publisher; + } + + public void setPublisher(String publisher) { + this.publisher = publisher; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index e415d85..76af155 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -276,4 +276,15 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量标准规范文件列表 + */ + @POST("/meter/file/listPage") + suspend fun getMeterageFileList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 0a95514..f8e690d 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -198,10 +198,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getStandardDeviceList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -294,10 +291,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getMeterageTrainList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -621,4 +615,48 @@ ) return api.addEntrust(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量标准规范文件列表 + */ + suspend fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject["formId"] = formId + paramObject["fileType"] = fileType + paramObject["fileName"] = fileName + paramObject["fileNo"] = fileNo + paramObject["fileCode"] = fileCode + paramObject["effectiveStatus"] = effectiveStatus + paramObject["effectiveStartTime"] = effectiveStartTime + paramObject["effectiveEndTime"] = effectiveEndTime + paramObject["publishStartTime"] = publishStartTime + paramObject["publishEndTime"] = publishEndTime + paramObject["ids"] = JSONArray.parseArray(JSON.toJSONString(ids)) + + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getMeterageFileList( + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap + ) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt new file mode 100644 index 0000000..afaea3f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeterageRegulationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_regulation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt new file mode 100644 index 0000000..fb33424 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt @@ -0,0 +1,84 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.vm.MeterageFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.utils.WeakReferenceHandler + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class MeterageRuleFragment : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: MeterageFileViewModel + private lateinit var fileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { +// weakReferenceHandler = WeakReferenceHandler(callback) +// fileViewModel = ViewModelProvider(this)[MeterageFileViewModel::class.java] +// fileViewModel.fileList.observe(this) { +// if (it.code == 200) { +// val dataRows = it.data?.rows +// when { +// isRefresh -> { +// dataBeans.clear() +// dataBeans = dataRows +// capabilityLayout.finishRefresh() +// isRefresh = false +// } +// isLoadMore -> { +// if (dataRows.size == 0) { +// "到底了,别拉了".show(this) +// } +// dataBeans.addAll(dataRows) +// capabilityLayout.finishLoadMore() +// isLoadMore = false +// } +// else -> { +// dataBeans = dataRows +// } +// } +// weakReferenceHandler.sendEmptyMessage(2023020902) +// } +// } +// +// +// fileViewModel.getMeterageFileList( +// "jlglwjsp", +// "1", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// arrayOf() +// ) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_rule + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt new file mode 100644 index 0000000..26d8b49 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class OperationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_operation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt new file mode 100644 index 0000000..790f5f5 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ProcedureFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_procedure + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt new file mode 100644 index 0000000..e77771c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class QualityNoteFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_quality + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt new file mode 100644 index 0000000..db93e20 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SkillAbilityFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_ability + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java new file mode 100644 index 0000000..4e3715d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class MeterageFileListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createUser; + private String effectiveStatus; + private String effectiveStatusName; + private String effectiveTime; + private String fileCode; + private String fileName; + private String fileNo; + private String fileType; + private String fileTypeName; + private String id; + private String minioFileName; + private String processId; + private String publishTime; + private String publisher; + private String remark; + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEffectiveStatus() { + return effectiveStatus; + } + + public void setEffectiveStatus(String effectiveStatus) { + this.effectiveStatus = effectiveStatus; + } + + public String getEffectiveStatusName() { + return effectiveStatusName; + } + + public void setEffectiveStatusName(String effectiveStatusName) { + this.effectiveStatusName = effectiveStatusName; + } + + public String getEffectiveTime() { + return effectiveTime; + } + + public void setEffectiveTime(String effectiveTime) { + this.effectiveTime = effectiveTime; + } + + public String getFileCode() { + return fileCode; + } + + public void setFileCode(String fileCode) { + this.fileCode = fileCode; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileNo() { + return fileNo; + } + + public void setFileNo(String fileNo) { + this.fileNo = fileNo; + } + + public String getFileType() { + return fileType; + } + + public void setFileType(String fileType) { + this.fileType = fileType; + } + + public String getFileTypeName() { + return fileTypeName; + } + + public void setFileTypeName(String fileTypeName) { + this.fileTypeName = fileTypeName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public String getPublishTime() { + return publishTime; + } + + public void setPublishTime(String publishTime) { + this.publishTime = publishTime; + } + + public String getPublisher() { + return publisher; + } + + public void setPublisher(String publisher) { + this.publisher = publisher; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index e415d85..76af155 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -276,4 +276,15 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量标准规范文件列表 + */ + @POST("/meter/file/listPage") + suspend fun getMeterageFileList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 0a95514..f8e690d 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -198,10 +198,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getStandardDeviceList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -294,10 +291,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getMeterageTrainList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -621,4 +615,48 @@ ) return api.addEntrust(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量标准规范文件列表 + */ + suspend fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject["formId"] = formId + paramObject["fileType"] = fileType + paramObject["fileName"] = fileName + paramObject["fileNo"] = fileNo + paramObject["fileCode"] = fileCode + paramObject["effectiveStatus"] = effectiveStatus + paramObject["effectiveStartTime"] = effectiveStartTime + paramObject["effectiveEndTime"] = effectiveEndTime + paramObject["publishStartTime"] = publishStartTime + paramObject["publishEndTime"] = publishEndTime + paramObject["ids"] = JSONArray.parseArray(JSON.toJSONString(ids)) + + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getMeterageFileList( + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap + ) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt index edb3f8e..4db8b9b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt @@ -1,16 +1,56 @@ package com.casic.xz.meterage.view.home +import androidx.fragment.app.Fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.file.* +import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import kotlinx.android.synthetic.main.activity_standard_file.* +import kotlinx.android.synthetic.main.include_base_title.* class StandardFileActivity : KotlinBaseActivity() { + private val filePageTitles = arrayOf( + "计量法规", + "质量手册", + "程序文件", + "作业文件", + "技术能力", + "CNAS文件", + "规章制度", + "管理办法", + "检测办法", + "计量规程" + ) + private var fragmentPages: ArrayList = ArrayList() + + init { + fragmentPages.add(MeterageRuleFragment()) + fragmentPages.add(QualityNoteFragment()) + fragmentPages.add(ProcedureFragment()) + fragmentPages.add(OperationFragment()) + fragmentPages.add(SkillAbilityFragment()) + fragmentPages.add(CNASFragment()) + fragmentPages.add(InstitutionFragment()) + fragmentPages.add(ManagementFragment()) + fragmentPages.add(DetectMethodFragment()) + fragmentPages.add(MeterageRegulationFragment()) + } + override fun initData() { + fileViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, filePageTitles + ) + fileViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(fileViewPager) } override fun initEvent() { - + leftBackView.setOnClickListener { finish() } } override fun initLayoutView(): Int = R.layout.activity_standard_file @@ -20,6 +60,8 @@ } override fun setupTopBarLayout() { - + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "计量文件" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt new file mode 100644 index 0000000..afaea3f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeterageRegulationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_regulation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt new file mode 100644 index 0000000..fb33424 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt @@ -0,0 +1,84 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.vm.MeterageFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.utils.WeakReferenceHandler + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class MeterageRuleFragment : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: MeterageFileViewModel + private lateinit var fileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { +// weakReferenceHandler = WeakReferenceHandler(callback) +// fileViewModel = ViewModelProvider(this)[MeterageFileViewModel::class.java] +// fileViewModel.fileList.observe(this) { +// if (it.code == 200) { +// val dataRows = it.data?.rows +// when { +// isRefresh -> { +// dataBeans.clear() +// dataBeans = dataRows +// capabilityLayout.finishRefresh() +// isRefresh = false +// } +// isLoadMore -> { +// if (dataRows.size == 0) { +// "到底了,别拉了".show(this) +// } +// dataBeans.addAll(dataRows) +// capabilityLayout.finishLoadMore() +// isLoadMore = false +// } +// else -> { +// dataBeans = dataRows +// } +// } +// weakReferenceHandler.sendEmptyMessage(2023020902) +// } +// } +// +// +// fileViewModel.getMeterageFileList( +// "jlglwjsp", +// "1", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// arrayOf() +// ) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_rule + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt new file mode 100644 index 0000000..26d8b49 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class OperationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_operation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt new file mode 100644 index 0000000..790f5f5 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ProcedureFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_procedure + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt new file mode 100644 index 0000000..e77771c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class QualityNoteFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_quality + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt new file mode 100644 index 0000000..db93e20 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SkillAbilityFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_ability + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java new file mode 100644 index 0000000..4e3715d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class MeterageFileListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createUser; + private String effectiveStatus; + private String effectiveStatusName; + private String effectiveTime; + private String fileCode; + private String fileName; + private String fileNo; + private String fileType; + private String fileTypeName; + private String id; + private String minioFileName; + private String processId; + private String publishTime; + private String publisher; + private String remark; + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEffectiveStatus() { + return effectiveStatus; + } + + public void setEffectiveStatus(String effectiveStatus) { + this.effectiveStatus = effectiveStatus; + } + + public String getEffectiveStatusName() { + return effectiveStatusName; + } + + public void setEffectiveStatusName(String effectiveStatusName) { + this.effectiveStatusName = effectiveStatusName; + } + + public String getEffectiveTime() { + return effectiveTime; + } + + public void setEffectiveTime(String effectiveTime) { + this.effectiveTime = effectiveTime; + } + + public String getFileCode() { + return fileCode; + } + + public void setFileCode(String fileCode) { + this.fileCode = fileCode; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileNo() { + return fileNo; + } + + public void setFileNo(String fileNo) { + this.fileNo = fileNo; + } + + public String getFileType() { + return fileType; + } + + public void setFileType(String fileType) { + this.fileType = fileType; + } + + public String getFileTypeName() { + return fileTypeName; + } + + public void setFileTypeName(String fileTypeName) { + this.fileTypeName = fileTypeName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public String getPublishTime() { + return publishTime; + } + + public void setPublishTime(String publishTime) { + this.publishTime = publishTime; + } + + public String getPublisher() { + return publisher; + } + + public void setPublisher(String publisher) { + this.publisher = publisher; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index e415d85..76af155 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -276,4 +276,15 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量标准规范文件列表 + */ + @POST("/meter/file/listPage") + suspend fun getMeterageFileList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 0a95514..f8e690d 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -198,10 +198,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getStandardDeviceList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -294,10 +291,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getMeterageTrainList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -621,4 +615,48 @@ ) return api.addEntrust(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量标准规范文件列表 + */ + suspend fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject["formId"] = formId + paramObject["fileType"] = fileType + paramObject["fileName"] = fileName + paramObject["fileNo"] = fileNo + paramObject["fileCode"] = fileCode + paramObject["effectiveStatus"] = effectiveStatus + paramObject["effectiveStartTime"] = effectiveStartTime + paramObject["effectiveEndTime"] = effectiveEndTime + paramObject["publishStartTime"] = publishStartTime + paramObject["publishEndTime"] = publishEndTime + paramObject["ids"] = JSONArray.parseArray(JSON.toJSONString(ids)) + + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getMeterageFileList( + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap + ) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt index edb3f8e..4db8b9b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt @@ -1,16 +1,56 @@ package com.casic.xz.meterage.view.home +import androidx.fragment.app.Fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.file.* +import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import kotlinx.android.synthetic.main.activity_standard_file.* +import kotlinx.android.synthetic.main.include_base_title.* class StandardFileActivity : KotlinBaseActivity() { + private val filePageTitles = arrayOf( + "计量法规", + "质量手册", + "程序文件", + "作业文件", + "技术能力", + "CNAS文件", + "规章制度", + "管理办法", + "检测办法", + "计量规程" + ) + private var fragmentPages: ArrayList = ArrayList() + + init { + fragmentPages.add(MeterageRuleFragment()) + fragmentPages.add(QualityNoteFragment()) + fragmentPages.add(ProcedureFragment()) + fragmentPages.add(OperationFragment()) + fragmentPages.add(SkillAbilityFragment()) + fragmentPages.add(CNASFragment()) + fragmentPages.add(InstitutionFragment()) + fragmentPages.add(ManagementFragment()) + fragmentPages.add(DetectMethodFragment()) + fragmentPages.add(MeterageRegulationFragment()) + } + override fun initData() { + fileViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, filePageTitles + ) + fileViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(fileViewPager) } override fun initEvent() { - + leftBackView.setOnClickListener { finish() } } override fun initLayoutView(): Int = R.layout.activity_standard_file @@ -20,6 +60,8 @@ } override fun setupTopBarLayout() { - + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "计量文件" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt new file mode 100644 index 0000000..fc55e38 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.vm + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState + +/** + * 计量文件 VM + * */ +class MeterageFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getMeterageFileList( + formId, + fileType, + fileName, + fileNo, + fileCode, + effectiveStatus, + effectiveStartTime, + effectiveEndTime, + publishStartTime, + publishEndTime, + ids, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + fileList.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt new file mode 100644 index 0000000..afaea3f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeterageRegulationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_regulation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt new file mode 100644 index 0000000..fb33424 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt @@ -0,0 +1,84 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.vm.MeterageFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.utils.WeakReferenceHandler + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class MeterageRuleFragment : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: MeterageFileViewModel + private lateinit var fileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { +// weakReferenceHandler = WeakReferenceHandler(callback) +// fileViewModel = ViewModelProvider(this)[MeterageFileViewModel::class.java] +// fileViewModel.fileList.observe(this) { +// if (it.code == 200) { +// val dataRows = it.data?.rows +// when { +// isRefresh -> { +// dataBeans.clear() +// dataBeans = dataRows +// capabilityLayout.finishRefresh() +// isRefresh = false +// } +// isLoadMore -> { +// if (dataRows.size == 0) { +// "到底了,别拉了".show(this) +// } +// dataBeans.addAll(dataRows) +// capabilityLayout.finishLoadMore() +// isLoadMore = false +// } +// else -> { +// dataBeans = dataRows +// } +// } +// weakReferenceHandler.sendEmptyMessage(2023020902) +// } +// } +// +// +// fileViewModel.getMeterageFileList( +// "jlglwjsp", +// "1", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// arrayOf() +// ) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_rule + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt new file mode 100644 index 0000000..26d8b49 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class OperationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_operation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt new file mode 100644 index 0000000..790f5f5 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ProcedureFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_procedure + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt new file mode 100644 index 0000000..e77771c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class QualityNoteFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_quality + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt new file mode 100644 index 0000000..db93e20 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SkillAbilityFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_ability + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java new file mode 100644 index 0000000..4e3715d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class MeterageFileListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createUser; + private String effectiveStatus; + private String effectiveStatusName; + private String effectiveTime; + private String fileCode; + private String fileName; + private String fileNo; + private String fileType; + private String fileTypeName; + private String id; + private String minioFileName; + private String processId; + private String publishTime; + private String publisher; + private String remark; + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEffectiveStatus() { + return effectiveStatus; + } + + public void setEffectiveStatus(String effectiveStatus) { + this.effectiveStatus = effectiveStatus; + } + + public String getEffectiveStatusName() { + return effectiveStatusName; + } + + public void setEffectiveStatusName(String effectiveStatusName) { + this.effectiveStatusName = effectiveStatusName; + } + + public String getEffectiveTime() { + return effectiveTime; + } + + public void setEffectiveTime(String effectiveTime) { + this.effectiveTime = effectiveTime; + } + + public String getFileCode() { + return fileCode; + } + + public void setFileCode(String fileCode) { + this.fileCode = fileCode; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileNo() { + return fileNo; + } + + public void setFileNo(String fileNo) { + this.fileNo = fileNo; + } + + public String getFileType() { + return fileType; + } + + public void setFileType(String fileType) { + this.fileType = fileType; + } + + public String getFileTypeName() { + return fileTypeName; + } + + public void setFileTypeName(String fileTypeName) { + this.fileTypeName = fileTypeName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public String getPublishTime() { + return publishTime; + } + + public void setPublishTime(String publishTime) { + this.publishTime = publishTime; + } + + public String getPublisher() { + return publisher; + } + + public void setPublisher(String publisher) { + this.publisher = publisher; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index e415d85..76af155 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -276,4 +276,15 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量标准规范文件列表 + */ + @POST("/meter/file/listPage") + suspend fun getMeterageFileList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 0a95514..f8e690d 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -198,10 +198,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getStandardDeviceList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -294,10 +291,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getMeterageTrainList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -621,4 +615,48 @@ ) return api.addEntrust(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量标准规范文件列表 + */ + suspend fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject["formId"] = formId + paramObject["fileType"] = fileType + paramObject["fileName"] = fileName + paramObject["fileNo"] = fileNo + paramObject["fileCode"] = fileCode + paramObject["effectiveStatus"] = effectiveStatus + paramObject["effectiveStartTime"] = effectiveStartTime + paramObject["effectiveEndTime"] = effectiveEndTime + paramObject["publishStartTime"] = publishStartTime + paramObject["publishEndTime"] = publishEndTime + paramObject["ids"] = JSONArray.parseArray(JSON.toJSONString(ids)) + + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getMeterageFileList( + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap + ) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt index edb3f8e..4db8b9b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt @@ -1,16 +1,56 @@ package com.casic.xz.meterage.view.home +import androidx.fragment.app.Fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.file.* +import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import kotlinx.android.synthetic.main.activity_standard_file.* +import kotlinx.android.synthetic.main.include_base_title.* class StandardFileActivity : KotlinBaseActivity() { + private val filePageTitles = arrayOf( + "计量法规", + "质量手册", + "程序文件", + "作业文件", + "技术能力", + "CNAS文件", + "规章制度", + "管理办法", + "检测办法", + "计量规程" + ) + private var fragmentPages: ArrayList = ArrayList() + + init { + fragmentPages.add(MeterageRuleFragment()) + fragmentPages.add(QualityNoteFragment()) + fragmentPages.add(ProcedureFragment()) + fragmentPages.add(OperationFragment()) + fragmentPages.add(SkillAbilityFragment()) + fragmentPages.add(CNASFragment()) + fragmentPages.add(InstitutionFragment()) + fragmentPages.add(ManagementFragment()) + fragmentPages.add(DetectMethodFragment()) + fragmentPages.add(MeterageRegulationFragment()) + } + override fun initData() { + fileViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, filePageTitles + ) + fileViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(fileViewPager) } override fun initEvent() { - + leftBackView.setOnClickListener { finish() } } override fun initLayoutView(): Int = R.layout.activity_standard_file @@ -20,6 +60,8 @@ } override fun setupTopBarLayout() { - + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "计量文件" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt new file mode 100644 index 0000000..fc55e38 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.vm + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState + +/** + * 计量文件 VM + * */ +class MeterageFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getMeterageFileList( + formId, + fileType, + fileName, + fileNo, + fileCode, + effectiveStatus, + effectiveStartTime, + effectiveEndTime, + publishStartTime, + publishEndTime, + ids, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + fileList.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_file.xml b/app/src/main/res/layout/activity_standard_file.xml index 77d9ef6..3943475 100644 --- a/app/src/main/res/layout/activity_standard_file.xml +++ b/app/src/main/res/layout/activity_standard_file.xml @@ -1,6 +1,37 @@ - + android:layout_height="match_parent" + android:orientation="vertical"> - \ No newline at end of file + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt new file mode 100644 index 0000000..afaea3f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeterageRegulationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_regulation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt new file mode 100644 index 0000000..fb33424 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt @@ -0,0 +1,84 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.vm.MeterageFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.utils.WeakReferenceHandler + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class MeterageRuleFragment : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: MeterageFileViewModel + private lateinit var fileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { +// weakReferenceHandler = WeakReferenceHandler(callback) +// fileViewModel = ViewModelProvider(this)[MeterageFileViewModel::class.java] +// fileViewModel.fileList.observe(this) { +// if (it.code == 200) { +// val dataRows = it.data?.rows +// when { +// isRefresh -> { +// dataBeans.clear() +// dataBeans = dataRows +// capabilityLayout.finishRefresh() +// isRefresh = false +// } +// isLoadMore -> { +// if (dataRows.size == 0) { +// "到底了,别拉了".show(this) +// } +// dataBeans.addAll(dataRows) +// capabilityLayout.finishLoadMore() +// isLoadMore = false +// } +// else -> { +// dataBeans = dataRows +// } +// } +// weakReferenceHandler.sendEmptyMessage(2023020902) +// } +// } +// +// +// fileViewModel.getMeterageFileList( +// "jlglwjsp", +// "1", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// arrayOf() +// ) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_rule + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt new file mode 100644 index 0000000..26d8b49 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class OperationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_operation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt new file mode 100644 index 0000000..790f5f5 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ProcedureFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_procedure + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt new file mode 100644 index 0000000..e77771c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class QualityNoteFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_quality + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt new file mode 100644 index 0000000..db93e20 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SkillAbilityFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_ability + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java new file mode 100644 index 0000000..4e3715d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class MeterageFileListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createUser; + private String effectiveStatus; + private String effectiveStatusName; + private String effectiveTime; + private String fileCode; + private String fileName; + private String fileNo; + private String fileType; + private String fileTypeName; + private String id; + private String minioFileName; + private String processId; + private String publishTime; + private String publisher; + private String remark; + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEffectiveStatus() { + return effectiveStatus; + } + + public void setEffectiveStatus(String effectiveStatus) { + this.effectiveStatus = effectiveStatus; + } + + public String getEffectiveStatusName() { + return effectiveStatusName; + } + + public void setEffectiveStatusName(String effectiveStatusName) { + this.effectiveStatusName = effectiveStatusName; + } + + public String getEffectiveTime() { + return effectiveTime; + } + + public void setEffectiveTime(String effectiveTime) { + this.effectiveTime = effectiveTime; + } + + public String getFileCode() { + return fileCode; + } + + public void setFileCode(String fileCode) { + this.fileCode = fileCode; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileNo() { + return fileNo; + } + + public void setFileNo(String fileNo) { + this.fileNo = fileNo; + } + + public String getFileType() { + return fileType; + } + + public void setFileType(String fileType) { + this.fileType = fileType; + } + + public String getFileTypeName() { + return fileTypeName; + } + + public void setFileTypeName(String fileTypeName) { + this.fileTypeName = fileTypeName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public String getPublishTime() { + return publishTime; + } + + public void setPublishTime(String publishTime) { + this.publishTime = publishTime; + } + + public String getPublisher() { + return publisher; + } + + public void setPublisher(String publisher) { + this.publisher = publisher; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index e415d85..76af155 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -276,4 +276,15 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量标准规范文件列表 + */ + @POST("/meter/file/listPage") + suspend fun getMeterageFileList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 0a95514..f8e690d 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -198,10 +198,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getStandardDeviceList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -294,10 +291,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getMeterageTrainList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -621,4 +615,48 @@ ) return api.addEntrust(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量标准规范文件列表 + */ + suspend fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject["formId"] = formId + paramObject["fileType"] = fileType + paramObject["fileName"] = fileName + paramObject["fileNo"] = fileNo + paramObject["fileCode"] = fileCode + paramObject["effectiveStatus"] = effectiveStatus + paramObject["effectiveStartTime"] = effectiveStartTime + paramObject["effectiveEndTime"] = effectiveEndTime + paramObject["publishStartTime"] = publishStartTime + paramObject["publishEndTime"] = publishEndTime + paramObject["ids"] = JSONArray.parseArray(JSON.toJSONString(ids)) + + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getMeterageFileList( + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap + ) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt index edb3f8e..4db8b9b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt @@ -1,16 +1,56 @@ package com.casic.xz.meterage.view.home +import androidx.fragment.app.Fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.file.* +import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import kotlinx.android.synthetic.main.activity_standard_file.* +import kotlinx.android.synthetic.main.include_base_title.* class StandardFileActivity : KotlinBaseActivity() { + private val filePageTitles = arrayOf( + "计量法规", + "质量手册", + "程序文件", + "作业文件", + "技术能力", + "CNAS文件", + "规章制度", + "管理办法", + "检测办法", + "计量规程" + ) + private var fragmentPages: ArrayList = ArrayList() + + init { + fragmentPages.add(MeterageRuleFragment()) + fragmentPages.add(QualityNoteFragment()) + fragmentPages.add(ProcedureFragment()) + fragmentPages.add(OperationFragment()) + fragmentPages.add(SkillAbilityFragment()) + fragmentPages.add(CNASFragment()) + fragmentPages.add(InstitutionFragment()) + fragmentPages.add(ManagementFragment()) + fragmentPages.add(DetectMethodFragment()) + fragmentPages.add(MeterageRegulationFragment()) + } + override fun initData() { + fileViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, filePageTitles + ) + fileViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(fileViewPager) } override fun initEvent() { - + leftBackView.setOnClickListener { finish() } } override fun initLayoutView(): Int = R.layout.activity_standard_file @@ -20,6 +60,8 @@ } override fun setupTopBarLayout() { - + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "计量文件" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt new file mode 100644 index 0000000..fc55e38 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.vm + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState + +/** + * 计量文件 VM + * */ +class MeterageFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getMeterageFileList( + formId, + fileType, + fileName, + fileNo, + fileCode, + effectiveStatus, + effectiveStartTime, + effectiveEndTime, + publishStartTime, + publishEndTime, + ids, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + fileList.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_file.xml b/app/src/main/res/layout/activity_standard_file.xml index 77d9ef6..3943475 100644 --- a/app/src/main/res/layout/activity_standard_file.xml +++ b/app/src/main/res/layout/activity_standard_file.xml @@ -1,6 +1,37 @@ - + android:layout_height="match_parent" + android:orientation="vertical"> - \ No newline at end of file + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_ability.xml b/app/src/main/res/layout/fragment_file_ability.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_ability.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt new file mode 100644 index 0000000..afaea3f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeterageRegulationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_regulation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt new file mode 100644 index 0000000..fb33424 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt @@ -0,0 +1,84 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.vm.MeterageFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.utils.WeakReferenceHandler + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class MeterageRuleFragment : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: MeterageFileViewModel + private lateinit var fileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { +// weakReferenceHandler = WeakReferenceHandler(callback) +// fileViewModel = ViewModelProvider(this)[MeterageFileViewModel::class.java] +// fileViewModel.fileList.observe(this) { +// if (it.code == 200) { +// val dataRows = it.data?.rows +// when { +// isRefresh -> { +// dataBeans.clear() +// dataBeans = dataRows +// capabilityLayout.finishRefresh() +// isRefresh = false +// } +// isLoadMore -> { +// if (dataRows.size == 0) { +// "到底了,别拉了".show(this) +// } +// dataBeans.addAll(dataRows) +// capabilityLayout.finishLoadMore() +// isLoadMore = false +// } +// else -> { +// dataBeans = dataRows +// } +// } +// weakReferenceHandler.sendEmptyMessage(2023020902) +// } +// } +// +// +// fileViewModel.getMeterageFileList( +// "jlglwjsp", +// "1", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// arrayOf() +// ) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_rule + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt new file mode 100644 index 0000000..26d8b49 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class OperationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_operation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt new file mode 100644 index 0000000..790f5f5 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ProcedureFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_procedure + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt new file mode 100644 index 0000000..e77771c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class QualityNoteFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_quality + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt new file mode 100644 index 0000000..db93e20 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SkillAbilityFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_ability + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java new file mode 100644 index 0000000..4e3715d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class MeterageFileListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createUser; + private String effectiveStatus; + private String effectiveStatusName; + private String effectiveTime; + private String fileCode; + private String fileName; + private String fileNo; + private String fileType; + private String fileTypeName; + private String id; + private String minioFileName; + private String processId; + private String publishTime; + private String publisher; + private String remark; + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEffectiveStatus() { + return effectiveStatus; + } + + public void setEffectiveStatus(String effectiveStatus) { + this.effectiveStatus = effectiveStatus; + } + + public String getEffectiveStatusName() { + return effectiveStatusName; + } + + public void setEffectiveStatusName(String effectiveStatusName) { + this.effectiveStatusName = effectiveStatusName; + } + + public String getEffectiveTime() { + return effectiveTime; + } + + public void setEffectiveTime(String effectiveTime) { + this.effectiveTime = effectiveTime; + } + + public String getFileCode() { + return fileCode; + } + + public void setFileCode(String fileCode) { + this.fileCode = fileCode; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileNo() { + return fileNo; + } + + public void setFileNo(String fileNo) { + this.fileNo = fileNo; + } + + public String getFileType() { + return fileType; + } + + public void setFileType(String fileType) { + this.fileType = fileType; + } + + public String getFileTypeName() { + return fileTypeName; + } + + public void setFileTypeName(String fileTypeName) { + this.fileTypeName = fileTypeName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public String getPublishTime() { + return publishTime; + } + + public void setPublishTime(String publishTime) { + this.publishTime = publishTime; + } + + public String getPublisher() { + return publisher; + } + + public void setPublisher(String publisher) { + this.publisher = publisher; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index e415d85..76af155 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -276,4 +276,15 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量标准规范文件列表 + */ + @POST("/meter/file/listPage") + suspend fun getMeterageFileList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 0a95514..f8e690d 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -198,10 +198,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getStandardDeviceList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -294,10 +291,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getMeterageTrainList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -621,4 +615,48 @@ ) return api.addEntrust(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量标准规范文件列表 + */ + suspend fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject["formId"] = formId + paramObject["fileType"] = fileType + paramObject["fileName"] = fileName + paramObject["fileNo"] = fileNo + paramObject["fileCode"] = fileCode + paramObject["effectiveStatus"] = effectiveStatus + paramObject["effectiveStartTime"] = effectiveStartTime + paramObject["effectiveEndTime"] = effectiveEndTime + paramObject["publishStartTime"] = publishStartTime + paramObject["publishEndTime"] = publishEndTime + paramObject["ids"] = JSONArray.parseArray(JSON.toJSONString(ids)) + + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getMeterageFileList( + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap + ) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt index edb3f8e..4db8b9b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt @@ -1,16 +1,56 @@ package com.casic.xz.meterage.view.home +import androidx.fragment.app.Fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.file.* +import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import kotlinx.android.synthetic.main.activity_standard_file.* +import kotlinx.android.synthetic.main.include_base_title.* class StandardFileActivity : KotlinBaseActivity() { + private val filePageTitles = arrayOf( + "计量法规", + "质量手册", + "程序文件", + "作业文件", + "技术能力", + "CNAS文件", + "规章制度", + "管理办法", + "检测办法", + "计量规程" + ) + private var fragmentPages: ArrayList = ArrayList() + + init { + fragmentPages.add(MeterageRuleFragment()) + fragmentPages.add(QualityNoteFragment()) + fragmentPages.add(ProcedureFragment()) + fragmentPages.add(OperationFragment()) + fragmentPages.add(SkillAbilityFragment()) + fragmentPages.add(CNASFragment()) + fragmentPages.add(InstitutionFragment()) + fragmentPages.add(ManagementFragment()) + fragmentPages.add(DetectMethodFragment()) + fragmentPages.add(MeterageRegulationFragment()) + } + override fun initData() { + fileViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, filePageTitles + ) + fileViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(fileViewPager) } override fun initEvent() { - + leftBackView.setOnClickListener { finish() } } override fun initLayoutView(): Int = R.layout.activity_standard_file @@ -20,6 +60,8 @@ } override fun setupTopBarLayout() { - + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "计量文件" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt new file mode 100644 index 0000000..fc55e38 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.vm + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState + +/** + * 计量文件 VM + * */ +class MeterageFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getMeterageFileList( + formId, + fileType, + fileName, + fileNo, + fileCode, + effectiveStatus, + effectiveStartTime, + effectiveEndTime, + publishStartTime, + publishEndTime, + ids, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + fileList.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_file.xml b/app/src/main/res/layout/activity_standard_file.xml index 77d9ef6..3943475 100644 --- a/app/src/main/res/layout/activity_standard_file.xml +++ b/app/src/main/res/layout/activity_standard_file.xml @@ -1,6 +1,37 @@ - + android:layout_height="match_parent" + android:orientation="vertical"> - \ No newline at end of file + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_ability.xml b/app/src/main/res/layout/fragment_file_ability.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_ability.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_cnas.xml b/app/src/main/res/layout/fragment_file_cnas.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_cnas.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt new file mode 100644 index 0000000..afaea3f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeterageRegulationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_regulation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt new file mode 100644 index 0000000..fb33424 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt @@ -0,0 +1,84 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.vm.MeterageFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.utils.WeakReferenceHandler + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class MeterageRuleFragment : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: MeterageFileViewModel + private lateinit var fileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { +// weakReferenceHandler = WeakReferenceHandler(callback) +// fileViewModel = ViewModelProvider(this)[MeterageFileViewModel::class.java] +// fileViewModel.fileList.observe(this) { +// if (it.code == 200) { +// val dataRows = it.data?.rows +// when { +// isRefresh -> { +// dataBeans.clear() +// dataBeans = dataRows +// capabilityLayout.finishRefresh() +// isRefresh = false +// } +// isLoadMore -> { +// if (dataRows.size == 0) { +// "到底了,别拉了".show(this) +// } +// dataBeans.addAll(dataRows) +// capabilityLayout.finishLoadMore() +// isLoadMore = false +// } +// else -> { +// dataBeans = dataRows +// } +// } +// weakReferenceHandler.sendEmptyMessage(2023020902) +// } +// } +// +// +// fileViewModel.getMeterageFileList( +// "jlglwjsp", +// "1", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// arrayOf() +// ) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_rule + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt new file mode 100644 index 0000000..26d8b49 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class OperationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_operation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt new file mode 100644 index 0000000..790f5f5 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ProcedureFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_procedure + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt new file mode 100644 index 0000000..e77771c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class QualityNoteFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_quality + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt new file mode 100644 index 0000000..db93e20 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SkillAbilityFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_ability + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java new file mode 100644 index 0000000..4e3715d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class MeterageFileListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createUser; + private String effectiveStatus; + private String effectiveStatusName; + private String effectiveTime; + private String fileCode; + private String fileName; + private String fileNo; + private String fileType; + private String fileTypeName; + private String id; + private String minioFileName; + private String processId; + private String publishTime; + private String publisher; + private String remark; + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEffectiveStatus() { + return effectiveStatus; + } + + public void setEffectiveStatus(String effectiveStatus) { + this.effectiveStatus = effectiveStatus; + } + + public String getEffectiveStatusName() { + return effectiveStatusName; + } + + public void setEffectiveStatusName(String effectiveStatusName) { + this.effectiveStatusName = effectiveStatusName; + } + + public String getEffectiveTime() { + return effectiveTime; + } + + public void setEffectiveTime(String effectiveTime) { + this.effectiveTime = effectiveTime; + } + + public String getFileCode() { + return fileCode; + } + + public void setFileCode(String fileCode) { + this.fileCode = fileCode; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileNo() { + return fileNo; + } + + public void setFileNo(String fileNo) { + this.fileNo = fileNo; + } + + public String getFileType() { + return fileType; + } + + public void setFileType(String fileType) { + this.fileType = fileType; + } + + public String getFileTypeName() { + return fileTypeName; + } + + public void setFileTypeName(String fileTypeName) { + this.fileTypeName = fileTypeName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public String getPublishTime() { + return publishTime; + } + + public void setPublishTime(String publishTime) { + this.publishTime = publishTime; + } + + public String getPublisher() { + return publisher; + } + + public void setPublisher(String publisher) { + this.publisher = publisher; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index e415d85..76af155 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -276,4 +276,15 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量标准规范文件列表 + */ + @POST("/meter/file/listPage") + suspend fun getMeterageFileList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 0a95514..f8e690d 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -198,10 +198,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getStandardDeviceList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -294,10 +291,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getMeterageTrainList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -621,4 +615,48 @@ ) return api.addEntrust(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量标准规范文件列表 + */ + suspend fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject["formId"] = formId + paramObject["fileType"] = fileType + paramObject["fileName"] = fileName + paramObject["fileNo"] = fileNo + paramObject["fileCode"] = fileCode + paramObject["effectiveStatus"] = effectiveStatus + paramObject["effectiveStartTime"] = effectiveStartTime + paramObject["effectiveEndTime"] = effectiveEndTime + paramObject["publishStartTime"] = publishStartTime + paramObject["publishEndTime"] = publishEndTime + paramObject["ids"] = JSONArray.parseArray(JSON.toJSONString(ids)) + + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getMeterageFileList( + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap + ) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt index edb3f8e..4db8b9b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt @@ -1,16 +1,56 @@ package com.casic.xz.meterage.view.home +import androidx.fragment.app.Fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.file.* +import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import kotlinx.android.synthetic.main.activity_standard_file.* +import kotlinx.android.synthetic.main.include_base_title.* class StandardFileActivity : KotlinBaseActivity() { + private val filePageTitles = arrayOf( + "计量法规", + "质量手册", + "程序文件", + "作业文件", + "技术能力", + "CNAS文件", + "规章制度", + "管理办法", + "检测办法", + "计量规程" + ) + private var fragmentPages: ArrayList = ArrayList() + + init { + fragmentPages.add(MeterageRuleFragment()) + fragmentPages.add(QualityNoteFragment()) + fragmentPages.add(ProcedureFragment()) + fragmentPages.add(OperationFragment()) + fragmentPages.add(SkillAbilityFragment()) + fragmentPages.add(CNASFragment()) + fragmentPages.add(InstitutionFragment()) + fragmentPages.add(ManagementFragment()) + fragmentPages.add(DetectMethodFragment()) + fragmentPages.add(MeterageRegulationFragment()) + } + override fun initData() { + fileViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, filePageTitles + ) + fileViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(fileViewPager) } override fun initEvent() { - + leftBackView.setOnClickListener { finish() } } override fun initLayoutView(): Int = R.layout.activity_standard_file @@ -20,6 +60,8 @@ } override fun setupTopBarLayout() { - + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "计量文件" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt new file mode 100644 index 0000000..fc55e38 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.vm + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState + +/** + * 计量文件 VM + * */ +class MeterageFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getMeterageFileList( + formId, + fileType, + fileName, + fileNo, + fileCode, + effectiveStatus, + effectiveStartTime, + effectiveEndTime, + publishStartTime, + publishEndTime, + ids, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + fileList.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_file.xml b/app/src/main/res/layout/activity_standard_file.xml index 77d9ef6..3943475 100644 --- a/app/src/main/res/layout/activity_standard_file.xml +++ b/app/src/main/res/layout/activity_standard_file.xml @@ -1,6 +1,37 @@ - + android:layout_height="match_parent" + android:orientation="vertical"> - \ No newline at end of file + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_ability.xml b/app/src/main/res/layout/fragment_file_ability.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_ability.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_cnas.xml b/app/src/main/res/layout/fragment_file_cnas.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_cnas.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_detect.xml b/app/src/main/res/layout/fragment_file_detect.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_detect.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt new file mode 100644 index 0000000..afaea3f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeterageRegulationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_regulation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt new file mode 100644 index 0000000..fb33424 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt @@ -0,0 +1,84 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.vm.MeterageFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.utils.WeakReferenceHandler + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class MeterageRuleFragment : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: MeterageFileViewModel + private lateinit var fileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { +// weakReferenceHandler = WeakReferenceHandler(callback) +// fileViewModel = ViewModelProvider(this)[MeterageFileViewModel::class.java] +// fileViewModel.fileList.observe(this) { +// if (it.code == 200) { +// val dataRows = it.data?.rows +// when { +// isRefresh -> { +// dataBeans.clear() +// dataBeans = dataRows +// capabilityLayout.finishRefresh() +// isRefresh = false +// } +// isLoadMore -> { +// if (dataRows.size == 0) { +// "到底了,别拉了".show(this) +// } +// dataBeans.addAll(dataRows) +// capabilityLayout.finishLoadMore() +// isLoadMore = false +// } +// else -> { +// dataBeans = dataRows +// } +// } +// weakReferenceHandler.sendEmptyMessage(2023020902) +// } +// } +// +// +// fileViewModel.getMeterageFileList( +// "jlglwjsp", +// "1", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// arrayOf() +// ) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_rule + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt new file mode 100644 index 0000000..26d8b49 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class OperationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_operation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt new file mode 100644 index 0000000..790f5f5 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ProcedureFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_procedure + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt new file mode 100644 index 0000000..e77771c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class QualityNoteFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_quality + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt new file mode 100644 index 0000000..db93e20 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SkillAbilityFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_ability + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java new file mode 100644 index 0000000..4e3715d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class MeterageFileListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createUser; + private String effectiveStatus; + private String effectiveStatusName; + private String effectiveTime; + private String fileCode; + private String fileName; + private String fileNo; + private String fileType; + private String fileTypeName; + private String id; + private String minioFileName; + private String processId; + private String publishTime; + private String publisher; + private String remark; + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEffectiveStatus() { + return effectiveStatus; + } + + public void setEffectiveStatus(String effectiveStatus) { + this.effectiveStatus = effectiveStatus; + } + + public String getEffectiveStatusName() { + return effectiveStatusName; + } + + public void setEffectiveStatusName(String effectiveStatusName) { + this.effectiveStatusName = effectiveStatusName; + } + + public String getEffectiveTime() { + return effectiveTime; + } + + public void setEffectiveTime(String effectiveTime) { + this.effectiveTime = effectiveTime; + } + + public String getFileCode() { + return fileCode; + } + + public void setFileCode(String fileCode) { + this.fileCode = fileCode; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileNo() { + return fileNo; + } + + public void setFileNo(String fileNo) { + this.fileNo = fileNo; + } + + public String getFileType() { + return fileType; + } + + public void setFileType(String fileType) { + this.fileType = fileType; + } + + public String getFileTypeName() { + return fileTypeName; + } + + public void setFileTypeName(String fileTypeName) { + this.fileTypeName = fileTypeName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public String getPublishTime() { + return publishTime; + } + + public void setPublishTime(String publishTime) { + this.publishTime = publishTime; + } + + public String getPublisher() { + return publisher; + } + + public void setPublisher(String publisher) { + this.publisher = publisher; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index e415d85..76af155 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -276,4 +276,15 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量标准规范文件列表 + */ + @POST("/meter/file/listPage") + suspend fun getMeterageFileList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 0a95514..f8e690d 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -198,10 +198,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getStandardDeviceList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -294,10 +291,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getMeterageTrainList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -621,4 +615,48 @@ ) return api.addEntrust(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量标准规范文件列表 + */ + suspend fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject["formId"] = formId + paramObject["fileType"] = fileType + paramObject["fileName"] = fileName + paramObject["fileNo"] = fileNo + paramObject["fileCode"] = fileCode + paramObject["effectiveStatus"] = effectiveStatus + paramObject["effectiveStartTime"] = effectiveStartTime + paramObject["effectiveEndTime"] = effectiveEndTime + paramObject["publishStartTime"] = publishStartTime + paramObject["publishEndTime"] = publishEndTime + paramObject["ids"] = JSONArray.parseArray(JSON.toJSONString(ids)) + + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getMeterageFileList( + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap + ) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt index edb3f8e..4db8b9b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt @@ -1,16 +1,56 @@ package com.casic.xz.meterage.view.home +import androidx.fragment.app.Fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.file.* +import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import kotlinx.android.synthetic.main.activity_standard_file.* +import kotlinx.android.synthetic.main.include_base_title.* class StandardFileActivity : KotlinBaseActivity() { + private val filePageTitles = arrayOf( + "计量法规", + "质量手册", + "程序文件", + "作业文件", + "技术能力", + "CNAS文件", + "规章制度", + "管理办法", + "检测办法", + "计量规程" + ) + private var fragmentPages: ArrayList = ArrayList() + + init { + fragmentPages.add(MeterageRuleFragment()) + fragmentPages.add(QualityNoteFragment()) + fragmentPages.add(ProcedureFragment()) + fragmentPages.add(OperationFragment()) + fragmentPages.add(SkillAbilityFragment()) + fragmentPages.add(CNASFragment()) + fragmentPages.add(InstitutionFragment()) + fragmentPages.add(ManagementFragment()) + fragmentPages.add(DetectMethodFragment()) + fragmentPages.add(MeterageRegulationFragment()) + } + override fun initData() { + fileViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, filePageTitles + ) + fileViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(fileViewPager) } override fun initEvent() { - + leftBackView.setOnClickListener { finish() } } override fun initLayoutView(): Int = R.layout.activity_standard_file @@ -20,6 +60,8 @@ } override fun setupTopBarLayout() { - + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "计量文件" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt new file mode 100644 index 0000000..fc55e38 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.vm + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState + +/** + * 计量文件 VM + * */ +class MeterageFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getMeterageFileList( + formId, + fileType, + fileName, + fileNo, + fileCode, + effectiveStatus, + effectiveStartTime, + effectiveEndTime, + publishStartTime, + publishEndTime, + ids, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + fileList.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_file.xml b/app/src/main/res/layout/activity_standard_file.xml index 77d9ef6..3943475 100644 --- a/app/src/main/res/layout/activity_standard_file.xml +++ b/app/src/main/res/layout/activity_standard_file.xml @@ -1,6 +1,37 @@ - + android:layout_height="match_parent" + android:orientation="vertical"> - \ No newline at end of file + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_ability.xml b/app/src/main/res/layout/fragment_file_ability.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_ability.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_cnas.xml b/app/src/main/res/layout/fragment_file_cnas.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_cnas.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_detect.xml b/app/src/main/res/layout/fragment_file_detect.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_detect.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_institution.xml b/app/src/main/res/layout/fragment_file_institution.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_institution.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt new file mode 100644 index 0000000..afaea3f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeterageRegulationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_regulation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt new file mode 100644 index 0000000..fb33424 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt @@ -0,0 +1,84 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.vm.MeterageFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.utils.WeakReferenceHandler + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class MeterageRuleFragment : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: MeterageFileViewModel + private lateinit var fileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { +// weakReferenceHandler = WeakReferenceHandler(callback) +// fileViewModel = ViewModelProvider(this)[MeterageFileViewModel::class.java] +// fileViewModel.fileList.observe(this) { +// if (it.code == 200) { +// val dataRows = it.data?.rows +// when { +// isRefresh -> { +// dataBeans.clear() +// dataBeans = dataRows +// capabilityLayout.finishRefresh() +// isRefresh = false +// } +// isLoadMore -> { +// if (dataRows.size == 0) { +// "到底了,别拉了".show(this) +// } +// dataBeans.addAll(dataRows) +// capabilityLayout.finishLoadMore() +// isLoadMore = false +// } +// else -> { +// dataBeans = dataRows +// } +// } +// weakReferenceHandler.sendEmptyMessage(2023020902) +// } +// } +// +// +// fileViewModel.getMeterageFileList( +// "jlglwjsp", +// "1", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// arrayOf() +// ) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_rule + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt new file mode 100644 index 0000000..26d8b49 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class OperationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_operation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt new file mode 100644 index 0000000..790f5f5 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ProcedureFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_procedure + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt new file mode 100644 index 0000000..e77771c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class QualityNoteFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_quality + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt new file mode 100644 index 0000000..db93e20 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SkillAbilityFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_ability + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java new file mode 100644 index 0000000..4e3715d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class MeterageFileListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createUser; + private String effectiveStatus; + private String effectiveStatusName; + private String effectiveTime; + private String fileCode; + private String fileName; + private String fileNo; + private String fileType; + private String fileTypeName; + private String id; + private String minioFileName; + private String processId; + private String publishTime; + private String publisher; + private String remark; + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEffectiveStatus() { + return effectiveStatus; + } + + public void setEffectiveStatus(String effectiveStatus) { + this.effectiveStatus = effectiveStatus; + } + + public String getEffectiveStatusName() { + return effectiveStatusName; + } + + public void setEffectiveStatusName(String effectiveStatusName) { + this.effectiveStatusName = effectiveStatusName; + } + + public String getEffectiveTime() { + return effectiveTime; + } + + public void setEffectiveTime(String effectiveTime) { + this.effectiveTime = effectiveTime; + } + + public String getFileCode() { + return fileCode; + } + + public void setFileCode(String fileCode) { + this.fileCode = fileCode; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileNo() { + return fileNo; + } + + public void setFileNo(String fileNo) { + this.fileNo = fileNo; + } + + public String getFileType() { + return fileType; + } + + public void setFileType(String fileType) { + this.fileType = fileType; + } + + public String getFileTypeName() { + return fileTypeName; + } + + public void setFileTypeName(String fileTypeName) { + this.fileTypeName = fileTypeName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public String getPublishTime() { + return publishTime; + } + + public void setPublishTime(String publishTime) { + this.publishTime = publishTime; + } + + public String getPublisher() { + return publisher; + } + + public void setPublisher(String publisher) { + this.publisher = publisher; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index e415d85..76af155 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -276,4 +276,15 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量标准规范文件列表 + */ + @POST("/meter/file/listPage") + suspend fun getMeterageFileList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 0a95514..f8e690d 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -198,10 +198,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getStandardDeviceList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -294,10 +291,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getMeterageTrainList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -621,4 +615,48 @@ ) return api.addEntrust(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量标准规范文件列表 + */ + suspend fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject["formId"] = formId + paramObject["fileType"] = fileType + paramObject["fileName"] = fileName + paramObject["fileNo"] = fileNo + paramObject["fileCode"] = fileCode + paramObject["effectiveStatus"] = effectiveStatus + paramObject["effectiveStartTime"] = effectiveStartTime + paramObject["effectiveEndTime"] = effectiveEndTime + paramObject["publishStartTime"] = publishStartTime + paramObject["publishEndTime"] = publishEndTime + paramObject["ids"] = JSONArray.parseArray(JSON.toJSONString(ids)) + + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getMeterageFileList( + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap + ) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt index edb3f8e..4db8b9b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt @@ -1,16 +1,56 @@ package com.casic.xz.meterage.view.home +import androidx.fragment.app.Fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.file.* +import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import kotlinx.android.synthetic.main.activity_standard_file.* +import kotlinx.android.synthetic.main.include_base_title.* class StandardFileActivity : KotlinBaseActivity() { + private val filePageTitles = arrayOf( + "计量法规", + "质量手册", + "程序文件", + "作业文件", + "技术能力", + "CNAS文件", + "规章制度", + "管理办法", + "检测办法", + "计量规程" + ) + private var fragmentPages: ArrayList = ArrayList() + + init { + fragmentPages.add(MeterageRuleFragment()) + fragmentPages.add(QualityNoteFragment()) + fragmentPages.add(ProcedureFragment()) + fragmentPages.add(OperationFragment()) + fragmentPages.add(SkillAbilityFragment()) + fragmentPages.add(CNASFragment()) + fragmentPages.add(InstitutionFragment()) + fragmentPages.add(ManagementFragment()) + fragmentPages.add(DetectMethodFragment()) + fragmentPages.add(MeterageRegulationFragment()) + } + override fun initData() { + fileViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, filePageTitles + ) + fileViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(fileViewPager) } override fun initEvent() { - + leftBackView.setOnClickListener { finish() } } override fun initLayoutView(): Int = R.layout.activity_standard_file @@ -20,6 +60,8 @@ } override fun setupTopBarLayout() { - + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "计量文件" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt new file mode 100644 index 0000000..fc55e38 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.vm + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState + +/** + * 计量文件 VM + * */ +class MeterageFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getMeterageFileList( + formId, + fileType, + fileName, + fileNo, + fileCode, + effectiveStatus, + effectiveStartTime, + effectiveEndTime, + publishStartTime, + publishEndTime, + ids, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + fileList.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_file.xml b/app/src/main/res/layout/activity_standard_file.xml index 77d9ef6..3943475 100644 --- a/app/src/main/res/layout/activity_standard_file.xml +++ b/app/src/main/res/layout/activity_standard_file.xml @@ -1,6 +1,37 @@ - + android:layout_height="match_parent" + android:orientation="vertical"> - \ No newline at end of file + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_ability.xml b/app/src/main/res/layout/fragment_file_ability.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_ability.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_cnas.xml b/app/src/main/res/layout/fragment_file_cnas.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_cnas.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_detect.xml b/app/src/main/res/layout/fragment_file_detect.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_detect.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_institution.xml b/app/src/main/res/layout/fragment_file_institution.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_institution.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_management.xml b/app/src/main/res/layout/fragment_file_management.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_management.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt new file mode 100644 index 0000000..afaea3f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeterageRegulationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_regulation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt new file mode 100644 index 0000000..fb33424 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt @@ -0,0 +1,84 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.vm.MeterageFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.utils.WeakReferenceHandler + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class MeterageRuleFragment : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: MeterageFileViewModel + private lateinit var fileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { +// weakReferenceHandler = WeakReferenceHandler(callback) +// fileViewModel = ViewModelProvider(this)[MeterageFileViewModel::class.java] +// fileViewModel.fileList.observe(this) { +// if (it.code == 200) { +// val dataRows = it.data?.rows +// when { +// isRefresh -> { +// dataBeans.clear() +// dataBeans = dataRows +// capabilityLayout.finishRefresh() +// isRefresh = false +// } +// isLoadMore -> { +// if (dataRows.size == 0) { +// "到底了,别拉了".show(this) +// } +// dataBeans.addAll(dataRows) +// capabilityLayout.finishLoadMore() +// isLoadMore = false +// } +// else -> { +// dataBeans = dataRows +// } +// } +// weakReferenceHandler.sendEmptyMessage(2023020902) +// } +// } +// +// +// fileViewModel.getMeterageFileList( +// "jlglwjsp", +// "1", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// arrayOf() +// ) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_rule + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt new file mode 100644 index 0000000..26d8b49 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class OperationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_operation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt new file mode 100644 index 0000000..790f5f5 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ProcedureFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_procedure + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt new file mode 100644 index 0000000..e77771c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class QualityNoteFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_quality + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt new file mode 100644 index 0000000..db93e20 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SkillAbilityFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_ability + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java new file mode 100644 index 0000000..4e3715d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class MeterageFileListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createUser; + private String effectiveStatus; + private String effectiveStatusName; + private String effectiveTime; + private String fileCode; + private String fileName; + private String fileNo; + private String fileType; + private String fileTypeName; + private String id; + private String minioFileName; + private String processId; + private String publishTime; + private String publisher; + private String remark; + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEffectiveStatus() { + return effectiveStatus; + } + + public void setEffectiveStatus(String effectiveStatus) { + this.effectiveStatus = effectiveStatus; + } + + public String getEffectiveStatusName() { + return effectiveStatusName; + } + + public void setEffectiveStatusName(String effectiveStatusName) { + this.effectiveStatusName = effectiveStatusName; + } + + public String getEffectiveTime() { + return effectiveTime; + } + + public void setEffectiveTime(String effectiveTime) { + this.effectiveTime = effectiveTime; + } + + public String getFileCode() { + return fileCode; + } + + public void setFileCode(String fileCode) { + this.fileCode = fileCode; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileNo() { + return fileNo; + } + + public void setFileNo(String fileNo) { + this.fileNo = fileNo; + } + + public String getFileType() { + return fileType; + } + + public void setFileType(String fileType) { + this.fileType = fileType; + } + + public String getFileTypeName() { + return fileTypeName; + } + + public void setFileTypeName(String fileTypeName) { + this.fileTypeName = fileTypeName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public String getPublishTime() { + return publishTime; + } + + public void setPublishTime(String publishTime) { + this.publishTime = publishTime; + } + + public String getPublisher() { + return publisher; + } + + public void setPublisher(String publisher) { + this.publisher = publisher; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index e415d85..76af155 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -276,4 +276,15 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量标准规范文件列表 + */ + @POST("/meter/file/listPage") + suspend fun getMeterageFileList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 0a95514..f8e690d 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -198,10 +198,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getStandardDeviceList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -294,10 +291,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getMeterageTrainList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -621,4 +615,48 @@ ) return api.addEntrust(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量标准规范文件列表 + */ + suspend fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject["formId"] = formId + paramObject["fileType"] = fileType + paramObject["fileName"] = fileName + paramObject["fileNo"] = fileNo + paramObject["fileCode"] = fileCode + paramObject["effectiveStatus"] = effectiveStatus + paramObject["effectiveStartTime"] = effectiveStartTime + paramObject["effectiveEndTime"] = effectiveEndTime + paramObject["publishStartTime"] = publishStartTime + paramObject["publishEndTime"] = publishEndTime + paramObject["ids"] = JSONArray.parseArray(JSON.toJSONString(ids)) + + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getMeterageFileList( + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap + ) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt index edb3f8e..4db8b9b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt @@ -1,16 +1,56 @@ package com.casic.xz.meterage.view.home +import androidx.fragment.app.Fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.file.* +import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import kotlinx.android.synthetic.main.activity_standard_file.* +import kotlinx.android.synthetic.main.include_base_title.* class StandardFileActivity : KotlinBaseActivity() { + private val filePageTitles = arrayOf( + "计量法规", + "质量手册", + "程序文件", + "作业文件", + "技术能力", + "CNAS文件", + "规章制度", + "管理办法", + "检测办法", + "计量规程" + ) + private var fragmentPages: ArrayList = ArrayList() + + init { + fragmentPages.add(MeterageRuleFragment()) + fragmentPages.add(QualityNoteFragment()) + fragmentPages.add(ProcedureFragment()) + fragmentPages.add(OperationFragment()) + fragmentPages.add(SkillAbilityFragment()) + fragmentPages.add(CNASFragment()) + fragmentPages.add(InstitutionFragment()) + fragmentPages.add(ManagementFragment()) + fragmentPages.add(DetectMethodFragment()) + fragmentPages.add(MeterageRegulationFragment()) + } + override fun initData() { + fileViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, filePageTitles + ) + fileViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(fileViewPager) } override fun initEvent() { - + leftBackView.setOnClickListener { finish() } } override fun initLayoutView(): Int = R.layout.activity_standard_file @@ -20,6 +60,8 @@ } override fun setupTopBarLayout() { - + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "计量文件" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt new file mode 100644 index 0000000..fc55e38 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.vm + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState + +/** + * 计量文件 VM + * */ +class MeterageFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getMeterageFileList( + formId, + fileType, + fileName, + fileNo, + fileCode, + effectiveStatus, + effectiveStartTime, + effectiveEndTime, + publishStartTime, + publishEndTime, + ids, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + fileList.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_file.xml b/app/src/main/res/layout/activity_standard_file.xml index 77d9ef6..3943475 100644 --- a/app/src/main/res/layout/activity_standard_file.xml +++ b/app/src/main/res/layout/activity_standard_file.xml @@ -1,6 +1,37 @@ - + android:layout_height="match_parent" + android:orientation="vertical"> - \ No newline at end of file + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_ability.xml b/app/src/main/res/layout/fragment_file_ability.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_ability.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_cnas.xml b/app/src/main/res/layout/fragment_file_cnas.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_cnas.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_detect.xml b/app/src/main/res/layout/fragment_file_detect.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_detect.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_institution.xml b/app/src/main/res/layout/fragment_file_institution.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_institution.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_management.xml b/app/src/main/res/layout/fragment_file_management.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_management.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_operation.xml b/app/src/main/res/layout/fragment_file_operation.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_operation.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt new file mode 100644 index 0000000..afaea3f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeterageRegulationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_regulation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt new file mode 100644 index 0000000..fb33424 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt @@ -0,0 +1,84 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.vm.MeterageFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.utils.WeakReferenceHandler + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class MeterageRuleFragment : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: MeterageFileViewModel + private lateinit var fileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { +// weakReferenceHandler = WeakReferenceHandler(callback) +// fileViewModel = ViewModelProvider(this)[MeterageFileViewModel::class.java] +// fileViewModel.fileList.observe(this) { +// if (it.code == 200) { +// val dataRows = it.data?.rows +// when { +// isRefresh -> { +// dataBeans.clear() +// dataBeans = dataRows +// capabilityLayout.finishRefresh() +// isRefresh = false +// } +// isLoadMore -> { +// if (dataRows.size == 0) { +// "到底了,别拉了".show(this) +// } +// dataBeans.addAll(dataRows) +// capabilityLayout.finishLoadMore() +// isLoadMore = false +// } +// else -> { +// dataBeans = dataRows +// } +// } +// weakReferenceHandler.sendEmptyMessage(2023020902) +// } +// } +// +// +// fileViewModel.getMeterageFileList( +// "jlglwjsp", +// "1", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// arrayOf() +// ) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_rule + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt new file mode 100644 index 0000000..26d8b49 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class OperationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_operation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt new file mode 100644 index 0000000..790f5f5 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ProcedureFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_procedure + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt new file mode 100644 index 0000000..e77771c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class QualityNoteFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_quality + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt new file mode 100644 index 0000000..db93e20 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SkillAbilityFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_ability + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java new file mode 100644 index 0000000..4e3715d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class MeterageFileListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createUser; + private String effectiveStatus; + private String effectiveStatusName; + private String effectiveTime; + private String fileCode; + private String fileName; + private String fileNo; + private String fileType; + private String fileTypeName; + private String id; + private String minioFileName; + private String processId; + private String publishTime; + private String publisher; + private String remark; + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEffectiveStatus() { + return effectiveStatus; + } + + public void setEffectiveStatus(String effectiveStatus) { + this.effectiveStatus = effectiveStatus; + } + + public String getEffectiveStatusName() { + return effectiveStatusName; + } + + public void setEffectiveStatusName(String effectiveStatusName) { + this.effectiveStatusName = effectiveStatusName; + } + + public String getEffectiveTime() { + return effectiveTime; + } + + public void setEffectiveTime(String effectiveTime) { + this.effectiveTime = effectiveTime; + } + + public String getFileCode() { + return fileCode; + } + + public void setFileCode(String fileCode) { + this.fileCode = fileCode; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileNo() { + return fileNo; + } + + public void setFileNo(String fileNo) { + this.fileNo = fileNo; + } + + public String getFileType() { + return fileType; + } + + public void setFileType(String fileType) { + this.fileType = fileType; + } + + public String getFileTypeName() { + return fileTypeName; + } + + public void setFileTypeName(String fileTypeName) { + this.fileTypeName = fileTypeName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public String getPublishTime() { + return publishTime; + } + + public void setPublishTime(String publishTime) { + this.publishTime = publishTime; + } + + public String getPublisher() { + return publisher; + } + + public void setPublisher(String publisher) { + this.publisher = publisher; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index e415d85..76af155 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -276,4 +276,15 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量标准规范文件列表 + */ + @POST("/meter/file/listPage") + suspend fun getMeterageFileList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 0a95514..f8e690d 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -198,10 +198,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getStandardDeviceList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -294,10 +291,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getMeterageTrainList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -621,4 +615,48 @@ ) return api.addEntrust(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量标准规范文件列表 + */ + suspend fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject["formId"] = formId + paramObject["fileType"] = fileType + paramObject["fileName"] = fileName + paramObject["fileNo"] = fileNo + paramObject["fileCode"] = fileCode + paramObject["effectiveStatus"] = effectiveStatus + paramObject["effectiveStartTime"] = effectiveStartTime + paramObject["effectiveEndTime"] = effectiveEndTime + paramObject["publishStartTime"] = publishStartTime + paramObject["publishEndTime"] = publishEndTime + paramObject["ids"] = JSONArray.parseArray(JSON.toJSONString(ids)) + + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getMeterageFileList( + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap + ) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt index edb3f8e..4db8b9b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt @@ -1,16 +1,56 @@ package com.casic.xz.meterage.view.home +import androidx.fragment.app.Fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.file.* +import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import kotlinx.android.synthetic.main.activity_standard_file.* +import kotlinx.android.synthetic.main.include_base_title.* class StandardFileActivity : KotlinBaseActivity() { + private val filePageTitles = arrayOf( + "计量法规", + "质量手册", + "程序文件", + "作业文件", + "技术能力", + "CNAS文件", + "规章制度", + "管理办法", + "检测办法", + "计量规程" + ) + private var fragmentPages: ArrayList = ArrayList() + + init { + fragmentPages.add(MeterageRuleFragment()) + fragmentPages.add(QualityNoteFragment()) + fragmentPages.add(ProcedureFragment()) + fragmentPages.add(OperationFragment()) + fragmentPages.add(SkillAbilityFragment()) + fragmentPages.add(CNASFragment()) + fragmentPages.add(InstitutionFragment()) + fragmentPages.add(ManagementFragment()) + fragmentPages.add(DetectMethodFragment()) + fragmentPages.add(MeterageRegulationFragment()) + } + override fun initData() { + fileViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, filePageTitles + ) + fileViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(fileViewPager) } override fun initEvent() { - + leftBackView.setOnClickListener { finish() } } override fun initLayoutView(): Int = R.layout.activity_standard_file @@ -20,6 +60,8 @@ } override fun setupTopBarLayout() { - + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "计量文件" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt new file mode 100644 index 0000000..fc55e38 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.vm + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState + +/** + * 计量文件 VM + * */ +class MeterageFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getMeterageFileList( + formId, + fileType, + fileName, + fileNo, + fileCode, + effectiveStatus, + effectiveStartTime, + effectiveEndTime, + publishStartTime, + publishEndTime, + ids, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + fileList.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_file.xml b/app/src/main/res/layout/activity_standard_file.xml index 77d9ef6..3943475 100644 --- a/app/src/main/res/layout/activity_standard_file.xml +++ b/app/src/main/res/layout/activity_standard_file.xml @@ -1,6 +1,37 @@ - + android:layout_height="match_parent" + android:orientation="vertical"> - \ No newline at end of file + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_ability.xml b/app/src/main/res/layout/fragment_file_ability.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_ability.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_cnas.xml b/app/src/main/res/layout/fragment_file_cnas.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_cnas.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_detect.xml b/app/src/main/res/layout/fragment_file_detect.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_detect.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_institution.xml b/app/src/main/res/layout/fragment_file_institution.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_institution.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_management.xml b/app/src/main/res/layout/fragment_file_management.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_management.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_operation.xml b/app/src/main/res/layout/fragment_file_operation.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_operation.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_procedure.xml b/app/src/main/res/layout/fragment_file_procedure.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_procedure.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt new file mode 100644 index 0000000..afaea3f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeterageRegulationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_regulation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt new file mode 100644 index 0000000..fb33424 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt @@ -0,0 +1,84 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.vm.MeterageFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.utils.WeakReferenceHandler + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class MeterageRuleFragment : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: MeterageFileViewModel + private lateinit var fileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { +// weakReferenceHandler = WeakReferenceHandler(callback) +// fileViewModel = ViewModelProvider(this)[MeterageFileViewModel::class.java] +// fileViewModel.fileList.observe(this) { +// if (it.code == 200) { +// val dataRows = it.data?.rows +// when { +// isRefresh -> { +// dataBeans.clear() +// dataBeans = dataRows +// capabilityLayout.finishRefresh() +// isRefresh = false +// } +// isLoadMore -> { +// if (dataRows.size == 0) { +// "到底了,别拉了".show(this) +// } +// dataBeans.addAll(dataRows) +// capabilityLayout.finishLoadMore() +// isLoadMore = false +// } +// else -> { +// dataBeans = dataRows +// } +// } +// weakReferenceHandler.sendEmptyMessage(2023020902) +// } +// } +// +// +// fileViewModel.getMeterageFileList( +// "jlglwjsp", +// "1", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// arrayOf() +// ) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_rule + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt new file mode 100644 index 0000000..26d8b49 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class OperationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_operation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt new file mode 100644 index 0000000..790f5f5 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ProcedureFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_procedure + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt new file mode 100644 index 0000000..e77771c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class QualityNoteFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_quality + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt new file mode 100644 index 0000000..db93e20 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SkillAbilityFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_ability + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java new file mode 100644 index 0000000..4e3715d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class MeterageFileListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createUser; + private String effectiveStatus; + private String effectiveStatusName; + private String effectiveTime; + private String fileCode; + private String fileName; + private String fileNo; + private String fileType; + private String fileTypeName; + private String id; + private String minioFileName; + private String processId; + private String publishTime; + private String publisher; + private String remark; + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEffectiveStatus() { + return effectiveStatus; + } + + public void setEffectiveStatus(String effectiveStatus) { + this.effectiveStatus = effectiveStatus; + } + + public String getEffectiveStatusName() { + return effectiveStatusName; + } + + public void setEffectiveStatusName(String effectiveStatusName) { + this.effectiveStatusName = effectiveStatusName; + } + + public String getEffectiveTime() { + return effectiveTime; + } + + public void setEffectiveTime(String effectiveTime) { + this.effectiveTime = effectiveTime; + } + + public String getFileCode() { + return fileCode; + } + + public void setFileCode(String fileCode) { + this.fileCode = fileCode; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileNo() { + return fileNo; + } + + public void setFileNo(String fileNo) { + this.fileNo = fileNo; + } + + public String getFileType() { + return fileType; + } + + public void setFileType(String fileType) { + this.fileType = fileType; + } + + public String getFileTypeName() { + return fileTypeName; + } + + public void setFileTypeName(String fileTypeName) { + this.fileTypeName = fileTypeName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public String getPublishTime() { + return publishTime; + } + + public void setPublishTime(String publishTime) { + this.publishTime = publishTime; + } + + public String getPublisher() { + return publisher; + } + + public void setPublisher(String publisher) { + this.publisher = publisher; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index e415d85..76af155 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -276,4 +276,15 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量标准规范文件列表 + */ + @POST("/meter/file/listPage") + suspend fun getMeterageFileList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 0a95514..f8e690d 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -198,10 +198,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getStandardDeviceList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -294,10 +291,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getMeterageTrainList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -621,4 +615,48 @@ ) return api.addEntrust(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量标准规范文件列表 + */ + suspend fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject["formId"] = formId + paramObject["fileType"] = fileType + paramObject["fileName"] = fileName + paramObject["fileNo"] = fileNo + paramObject["fileCode"] = fileCode + paramObject["effectiveStatus"] = effectiveStatus + paramObject["effectiveStartTime"] = effectiveStartTime + paramObject["effectiveEndTime"] = effectiveEndTime + paramObject["publishStartTime"] = publishStartTime + paramObject["publishEndTime"] = publishEndTime + paramObject["ids"] = JSONArray.parseArray(JSON.toJSONString(ids)) + + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getMeterageFileList( + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap + ) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt index edb3f8e..4db8b9b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt @@ -1,16 +1,56 @@ package com.casic.xz.meterage.view.home +import androidx.fragment.app.Fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.file.* +import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import kotlinx.android.synthetic.main.activity_standard_file.* +import kotlinx.android.synthetic.main.include_base_title.* class StandardFileActivity : KotlinBaseActivity() { + private val filePageTitles = arrayOf( + "计量法规", + "质量手册", + "程序文件", + "作业文件", + "技术能力", + "CNAS文件", + "规章制度", + "管理办法", + "检测办法", + "计量规程" + ) + private var fragmentPages: ArrayList = ArrayList() + + init { + fragmentPages.add(MeterageRuleFragment()) + fragmentPages.add(QualityNoteFragment()) + fragmentPages.add(ProcedureFragment()) + fragmentPages.add(OperationFragment()) + fragmentPages.add(SkillAbilityFragment()) + fragmentPages.add(CNASFragment()) + fragmentPages.add(InstitutionFragment()) + fragmentPages.add(ManagementFragment()) + fragmentPages.add(DetectMethodFragment()) + fragmentPages.add(MeterageRegulationFragment()) + } + override fun initData() { + fileViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, filePageTitles + ) + fileViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(fileViewPager) } override fun initEvent() { - + leftBackView.setOnClickListener { finish() } } override fun initLayoutView(): Int = R.layout.activity_standard_file @@ -20,6 +60,8 @@ } override fun setupTopBarLayout() { - + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "计量文件" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt new file mode 100644 index 0000000..fc55e38 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.vm + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState + +/** + * 计量文件 VM + * */ +class MeterageFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getMeterageFileList( + formId, + fileType, + fileName, + fileNo, + fileCode, + effectiveStatus, + effectiveStartTime, + effectiveEndTime, + publishStartTime, + publishEndTime, + ids, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + fileList.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_file.xml b/app/src/main/res/layout/activity_standard_file.xml index 77d9ef6..3943475 100644 --- a/app/src/main/res/layout/activity_standard_file.xml +++ b/app/src/main/res/layout/activity_standard_file.xml @@ -1,6 +1,37 @@ - + android:layout_height="match_parent" + android:orientation="vertical"> - \ No newline at end of file + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_ability.xml b/app/src/main/res/layout/fragment_file_ability.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_ability.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_cnas.xml b/app/src/main/res/layout/fragment_file_cnas.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_cnas.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_detect.xml b/app/src/main/res/layout/fragment_file_detect.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_detect.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_institution.xml b/app/src/main/res/layout/fragment_file_institution.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_institution.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_management.xml b/app/src/main/res/layout/fragment_file_management.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_management.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_operation.xml b/app/src/main/res/layout/fragment_file_operation.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_operation.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_procedure.xml b/app/src/main/res/layout/fragment_file_procedure.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_procedure.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_quality.xml b/app/src/main/res/layout/fragment_file_quality.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_quality.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt new file mode 100644 index 0000000..afaea3f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeterageRegulationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_regulation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt new file mode 100644 index 0000000..fb33424 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt @@ -0,0 +1,84 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.vm.MeterageFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.utils.WeakReferenceHandler + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class MeterageRuleFragment : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: MeterageFileViewModel + private lateinit var fileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { +// weakReferenceHandler = WeakReferenceHandler(callback) +// fileViewModel = ViewModelProvider(this)[MeterageFileViewModel::class.java] +// fileViewModel.fileList.observe(this) { +// if (it.code == 200) { +// val dataRows = it.data?.rows +// when { +// isRefresh -> { +// dataBeans.clear() +// dataBeans = dataRows +// capabilityLayout.finishRefresh() +// isRefresh = false +// } +// isLoadMore -> { +// if (dataRows.size == 0) { +// "到底了,别拉了".show(this) +// } +// dataBeans.addAll(dataRows) +// capabilityLayout.finishLoadMore() +// isLoadMore = false +// } +// else -> { +// dataBeans = dataRows +// } +// } +// weakReferenceHandler.sendEmptyMessage(2023020902) +// } +// } +// +// +// fileViewModel.getMeterageFileList( +// "jlglwjsp", +// "1", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// arrayOf() +// ) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_rule + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt new file mode 100644 index 0000000..26d8b49 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class OperationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_operation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt new file mode 100644 index 0000000..790f5f5 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ProcedureFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_procedure + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt new file mode 100644 index 0000000..e77771c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class QualityNoteFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_quality + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt new file mode 100644 index 0000000..db93e20 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SkillAbilityFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_ability + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java new file mode 100644 index 0000000..4e3715d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class MeterageFileListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createUser; + private String effectiveStatus; + private String effectiveStatusName; + private String effectiveTime; + private String fileCode; + private String fileName; + private String fileNo; + private String fileType; + private String fileTypeName; + private String id; + private String minioFileName; + private String processId; + private String publishTime; + private String publisher; + private String remark; + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEffectiveStatus() { + return effectiveStatus; + } + + public void setEffectiveStatus(String effectiveStatus) { + this.effectiveStatus = effectiveStatus; + } + + public String getEffectiveStatusName() { + return effectiveStatusName; + } + + public void setEffectiveStatusName(String effectiveStatusName) { + this.effectiveStatusName = effectiveStatusName; + } + + public String getEffectiveTime() { + return effectiveTime; + } + + public void setEffectiveTime(String effectiveTime) { + this.effectiveTime = effectiveTime; + } + + public String getFileCode() { + return fileCode; + } + + public void setFileCode(String fileCode) { + this.fileCode = fileCode; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileNo() { + return fileNo; + } + + public void setFileNo(String fileNo) { + this.fileNo = fileNo; + } + + public String getFileType() { + return fileType; + } + + public void setFileType(String fileType) { + this.fileType = fileType; + } + + public String getFileTypeName() { + return fileTypeName; + } + + public void setFileTypeName(String fileTypeName) { + this.fileTypeName = fileTypeName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public String getPublishTime() { + return publishTime; + } + + public void setPublishTime(String publishTime) { + this.publishTime = publishTime; + } + + public String getPublisher() { + return publisher; + } + + public void setPublisher(String publisher) { + this.publisher = publisher; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index e415d85..76af155 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -276,4 +276,15 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量标准规范文件列表 + */ + @POST("/meter/file/listPage") + suspend fun getMeterageFileList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 0a95514..f8e690d 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -198,10 +198,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getStandardDeviceList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -294,10 +291,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getMeterageTrainList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -621,4 +615,48 @@ ) return api.addEntrust(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量标准规范文件列表 + */ + suspend fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject["formId"] = formId + paramObject["fileType"] = fileType + paramObject["fileName"] = fileName + paramObject["fileNo"] = fileNo + paramObject["fileCode"] = fileCode + paramObject["effectiveStatus"] = effectiveStatus + paramObject["effectiveStartTime"] = effectiveStartTime + paramObject["effectiveEndTime"] = effectiveEndTime + paramObject["publishStartTime"] = publishStartTime + paramObject["publishEndTime"] = publishEndTime + paramObject["ids"] = JSONArray.parseArray(JSON.toJSONString(ids)) + + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getMeterageFileList( + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap + ) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt index edb3f8e..4db8b9b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt @@ -1,16 +1,56 @@ package com.casic.xz.meterage.view.home +import androidx.fragment.app.Fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.file.* +import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import kotlinx.android.synthetic.main.activity_standard_file.* +import kotlinx.android.synthetic.main.include_base_title.* class StandardFileActivity : KotlinBaseActivity() { + private val filePageTitles = arrayOf( + "计量法规", + "质量手册", + "程序文件", + "作业文件", + "技术能力", + "CNAS文件", + "规章制度", + "管理办法", + "检测办法", + "计量规程" + ) + private var fragmentPages: ArrayList = ArrayList() + + init { + fragmentPages.add(MeterageRuleFragment()) + fragmentPages.add(QualityNoteFragment()) + fragmentPages.add(ProcedureFragment()) + fragmentPages.add(OperationFragment()) + fragmentPages.add(SkillAbilityFragment()) + fragmentPages.add(CNASFragment()) + fragmentPages.add(InstitutionFragment()) + fragmentPages.add(ManagementFragment()) + fragmentPages.add(DetectMethodFragment()) + fragmentPages.add(MeterageRegulationFragment()) + } + override fun initData() { + fileViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, filePageTitles + ) + fileViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(fileViewPager) } override fun initEvent() { - + leftBackView.setOnClickListener { finish() } } override fun initLayoutView(): Int = R.layout.activity_standard_file @@ -20,6 +60,8 @@ } override fun setupTopBarLayout() { - + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "计量文件" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt new file mode 100644 index 0000000..fc55e38 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.vm + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState + +/** + * 计量文件 VM + * */ +class MeterageFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getMeterageFileList( + formId, + fileType, + fileName, + fileNo, + fileCode, + effectiveStatus, + effectiveStartTime, + effectiveEndTime, + publishStartTime, + publishEndTime, + ids, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + fileList.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_file.xml b/app/src/main/res/layout/activity_standard_file.xml index 77d9ef6..3943475 100644 --- a/app/src/main/res/layout/activity_standard_file.xml +++ b/app/src/main/res/layout/activity_standard_file.xml @@ -1,6 +1,37 @@ - + android:layout_height="match_parent" + android:orientation="vertical"> - \ No newline at end of file + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_ability.xml b/app/src/main/res/layout/fragment_file_ability.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_ability.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_cnas.xml b/app/src/main/res/layout/fragment_file_cnas.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_cnas.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_detect.xml b/app/src/main/res/layout/fragment_file_detect.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_detect.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_institution.xml b/app/src/main/res/layout/fragment_file_institution.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_institution.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_management.xml b/app/src/main/res/layout/fragment_file_management.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_management.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_operation.xml b/app/src/main/res/layout/fragment_file_operation.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_operation.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_procedure.xml b/app/src/main/res/layout/fragment_file_procedure.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_procedure.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_quality.xml b/app/src/main/res/layout/fragment_file_quality.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_quality.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_regulation.xml b/app/src/main/res/layout/fragment_file_regulation.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_regulation.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index 2b40221..e72ca2b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -28,9 +28,15 @@ position: Int, item: EquipmentStateChangeModel.DataModel ) { + val name = if (item.applyPersonName.isNullOrBlank()) { + "无" + } else { + item.applyPersonName + } + viewHolder.setText( - R.id.nameTagView, item.applyPersonName.last().toString() - ).setText(R.id.userNameView, item.applyPersonName) + R.id.nameTagView, name.last().toString() + ).setText(R.id.userNameView, name) .setText(R.id.dateView, "时间:${item.startDate} ~ ${item.endDate}") .setText(R.id.stateView, "状态:${item.managerStateName}") } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt new file mode 100644 index 0000000..086833c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CNASFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_cnas + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt new file mode 100644 index 0000000..1277c98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class DetectMethodFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_detect + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt new file mode 100644 index 0000000..3287d36 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class InstitutionFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_institution + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt new file mode 100644 index 0000000..db26f05 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ManagementFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_management + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt new file mode 100644 index 0000000..afaea3f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeterageRegulationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_regulation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt new file mode 100644 index 0000000..fb33424 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt @@ -0,0 +1,84 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.vm.MeterageFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.utils.WeakReferenceHandler + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class MeterageRuleFragment : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: MeterageFileViewModel + private lateinit var fileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { +// weakReferenceHandler = WeakReferenceHandler(callback) +// fileViewModel = ViewModelProvider(this)[MeterageFileViewModel::class.java] +// fileViewModel.fileList.observe(this) { +// if (it.code == 200) { +// val dataRows = it.data?.rows +// when { +// isRefresh -> { +// dataBeans.clear() +// dataBeans = dataRows +// capabilityLayout.finishRefresh() +// isRefresh = false +// } +// isLoadMore -> { +// if (dataRows.size == 0) { +// "到底了,别拉了".show(this) +// } +// dataBeans.addAll(dataRows) +// capabilityLayout.finishLoadMore() +// isLoadMore = false +// } +// else -> { +// dataBeans = dataRows +// } +// } +// weakReferenceHandler.sendEmptyMessage(2023020902) +// } +// } +// +// +// fileViewModel.getMeterageFileList( +// "jlglwjsp", +// "1", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// "", +// arrayOf() +// ) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_rule + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt new file mode 100644 index 0000000..26d8b49 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class OperationFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_operation + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt new file mode 100644 index 0000000..790f5f5 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class ProcedureFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_procedure + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt new file mode 100644 index 0000000..e77771c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class QualityNoteFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_quality + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt new file mode 100644 index 0000000..db93e20 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt @@ -0,0 +1,25 @@ +package com.casic.xz.meterage.fragment.file + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SkillAbilityFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_file_ability + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java new file mode 100644 index 0000000..4e3715d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class MeterageFileListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createUser; + private String effectiveStatus; + private String effectiveStatusName; + private String effectiveTime; + private String fileCode; + private String fileName; + private String fileNo; + private String fileType; + private String fileTypeName; + private String id; + private String minioFileName; + private String processId; + private String publishTime; + private String publisher; + private String remark; + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEffectiveStatus() { + return effectiveStatus; + } + + public void setEffectiveStatus(String effectiveStatus) { + this.effectiveStatus = effectiveStatus; + } + + public String getEffectiveStatusName() { + return effectiveStatusName; + } + + public void setEffectiveStatusName(String effectiveStatusName) { + this.effectiveStatusName = effectiveStatusName; + } + + public String getEffectiveTime() { + return effectiveTime; + } + + public void setEffectiveTime(String effectiveTime) { + this.effectiveTime = effectiveTime; + } + + public String getFileCode() { + return fileCode; + } + + public void setFileCode(String fileCode) { + this.fileCode = fileCode; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileNo() { + return fileNo; + } + + public void setFileNo(String fileNo) { + this.fileNo = fileNo; + } + + public String getFileType() { + return fileType; + } + + public void setFileType(String fileType) { + this.fileType = fileType; + } + + public String getFileTypeName() { + return fileTypeName; + } + + public void setFileTypeName(String fileTypeName) { + this.fileTypeName = fileTypeName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public String getPublishTime() { + return publishTime; + } + + public void setPublishTime(String publishTime) { + this.publishTime = publishTime; + } + + public String getPublisher() { + return publisher; + } + + public void setPublisher(String publisher) { + this.publisher = publisher; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index e415d85..76af155 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -276,4 +276,15 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量标准规范文件列表 + */ + @POST("/meter/file/listPage") + suspend fun getMeterageFileList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 0a95514..f8e690d 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -198,10 +198,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getStandardDeviceList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -294,10 +291,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset return api.getMeterageTrainList( - AuthenticationHelper.token!!, - requestBody, - limitMap, - offsetMap + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } @@ -621,4 +615,48 @@ ) return api.addEntrust(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量标准规范文件列表 + */ + suspend fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject["formId"] = formId + paramObject["fileType"] = fileType + paramObject["fileName"] = fileName + paramObject["fileNo"] = fileNo + paramObject["fileCode"] = fileCode + paramObject["effectiveStatus"] = effectiveStatus + paramObject["effectiveStartTime"] = effectiveStartTime + paramObject["effectiveEndTime"] = effectiveEndTime + paramObject["publishStartTime"] = publishStartTime + paramObject["publishEndTime"] = publishEndTime + paramObject["ids"] = JSONArray.parseArray(JSON.toJSONString(ids)) + + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getMeterageFileList( + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap + ) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt index edb3f8e..4db8b9b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileActivity.kt @@ -1,16 +1,56 @@ package com.casic.xz.meterage.view.home +import androidx.fragment.app.Fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.file.* +import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import kotlinx.android.synthetic.main.activity_standard_file.* +import kotlinx.android.synthetic.main.include_base_title.* class StandardFileActivity : KotlinBaseActivity() { + private val filePageTitles = arrayOf( + "计量法规", + "质量手册", + "程序文件", + "作业文件", + "技术能力", + "CNAS文件", + "规章制度", + "管理办法", + "检测办法", + "计量规程" + ) + private var fragmentPages: ArrayList = ArrayList() + + init { + fragmentPages.add(MeterageRuleFragment()) + fragmentPages.add(QualityNoteFragment()) + fragmentPages.add(ProcedureFragment()) + fragmentPages.add(OperationFragment()) + fragmentPages.add(SkillAbilityFragment()) + fragmentPages.add(CNASFragment()) + fragmentPages.add(InstitutionFragment()) + fragmentPages.add(ManagementFragment()) + fragmentPages.add(DetectMethodFragment()) + fragmentPages.add(MeterageRegulationFragment()) + } + override fun initData() { + fileViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, filePageTitles + ) + fileViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(fileViewPager) } override fun initEvent() { - + leftBackView.setOnClickListener { finish() } } override fun initLayoutView(): Int = R.layout.activity_standard_file @@ -20,6 +60,8 @@ } override fun setupTopBarLayout() { - + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "计量文件" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt new file mode 100644 index 0000000..fc55e38 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.vm + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.MeterageFileListModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState + +/** + * 计量文件 VM + * */ +class MeterageFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getMeterageFileList( + formId: String, + fileType: String, + fileName: String, + fileNo: String, + fileCode: String, + effectiveStatus: String, + effectiveStartTime: String, + effectiveEndTime: String, + publishStartTime: String, + publishEndTime: String, + ids: Array, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getMeterageFileList( + formId, + fileType, + fileName, + fileNo, + fileCode, + effectiveStatus, + effectiveStartTime, + effectiveEndTime, + publishStartTime, + publishEndTime, + ids, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + fileList.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_file.xml b/app/src/main/res/layout/activity_standard_file.xml index 77d9ef6..3943475 100644 --- a/app/src/main/res/layout/activity_standard_file.xml +++ b/app/src/main/res/layout/activity_standard_file.xml @@ -1,6 +1,37 @@ - + android:layout_height="match_parent" + android:orientation="vertical"> - \ No newline at end of file + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_ability.xml b/app/src/main/res/layout/fragment_file_ability.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_ability.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_cnas.xml b/app/src/main/res/layout/fragment_file_cnas.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_cnas.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_detect.xml b/app/src/main/res/layout/fragment_file_detect.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_detect.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_institution.xml b/app/src/main/res/layout/fragment_file_institution.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_institution.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_management.xml b/app/src/main/res/layout/fragment_file_management.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_management.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_operation.xml b/app/src/main/res/layout/fragment_file_operation.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_operation.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_procedure.xml b/app/src/main/res/layout/fragment_file_procedure.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_procedure.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_quality.xml b/app/src/main/res/layout/fragment_file_quality.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_quality.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_regulation.xml b/app/src/main/res/layout/fragment_file_regulation.xml new file mode 100644 index 0000000..beedcb6 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_regulation.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_file_rule.xml b/app/src/main/res/layout/fragment_file_rule.xml new file mode 100644 index 0000000..e7547f8 --- /dev/null +++ b/app/src/main/res/layout/fragment_file_rule.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file