diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 2d50d0a..1c6a830 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -61,4 +61,7 @@ const val File_SERVER_URL = "http://111.198.10.15:21408" const val ACCOUNT = "account" const val PASSWORD = "password" + + //计量文件表单ID + const val FORM_ID = "jlglwjsp" } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 2d50d0a..1c6a830 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -61,4 +61,7 @@ const val File_SERVER_URL = "http://111.198.10.15:21408" const val ACCOUNT = "account" const val PASSWORD = "password" + + //计量文件表单ID + const val FORM_ID = "jlglwjsp" } \ No newline at end of file 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 76af155..716593d 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 @@ -281,7 +281,7 @@ * 获取计量标准规范文件列表 */ @POST("/meter/file/listPage") - suspend fun getMeterageFileList( + suspend fun getStandardFileList( @Header("token") token: String, @Body requestBody: RequestBody, @QueryMap limit: Map, diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 2d50d0a..1c6a830 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -61,4 +61,7 @@ const val File_SERVER_URL = "http://111.198.10.15:21408" const val ACCOUNT = "account" const val PASSWORD = "password" + + //计量文件表单ID + const val FORM_ID = "jlglwjsp" } \ No newline at end of file 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 76af155..716593d 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 @@ -281,7 +281,7 @@ * 获取计量标准规范文件列表 */ @POST("/meter/file/listPage") - suspend fun getMeterageFileList( + suspend fun getStandardFileList( @Header("token") token: String, @Body requestBody: RequestBody, @QueryMap limit: Map, 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 f5a333f..ed81ea1 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 @@ -624,8 +624,7 @@ /** * 获取计量标准规范文件列表 */ - suspend fun getMeterageFileList( - formId: String, + suspend fun getStandardFileList( fileType: String, fileName: String, fileNo: String, @@ -639,7 +638,7 @@ offset: Int ): String { val param = JsonObject() - param.addProperty("formId", formId) + param.addProperty("formId", LocaleConstant.FORM_ID) param.addProperty("fileType", fileType) param.addProperty("fileName", fileName) param.addProperty("fileNo", fileNo) @@ -660,7 +659,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset - return api.getMeterageFileList( + return api.getStandardFileList( AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 2d50d0a..1c6a830 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -61,4 +61,7 @@ const val File_SERVER_URL = "http://111.198.10.15:21408" const val ACCOUNT = "account" const val PASSWORD = "password" + + //计量文件表单ID + const val FORM_ID = "jlglwjsp" } \ No newline at end of file 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 76af155..716593d 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 @@ -281,7 +281,7 @@ * 获取计量标准规范文件列表 */ @POST("/meter/file/listPage") - suspend fun getMeterageFileList( + suspend fun getStandardFileList( @Header("token") token: String, @Body requestBody: RequestBody, @QueryMap limit: Map, 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 f5a333f..ed81ea1 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 @@ -624,8 +624,7 @@ /** * 获取计量标准规范文件列表 */ - suspend fun getMeterageFileList( - formId: String, + suspend fun getStandardFileList( fileType: String, fileName: String, fileNo: String, @@ -639,7 +638,7 @@ offset: Int ): String { val param = JsonObject() - param.addProperty("formId", formId) + param.addProperty("formId", LocaleConstant.FORM_ID) param.addProperty("fileType", fileType) param.addProperty("fileName", fileName) param.addProperty("fileNo", fileNo) @@ -660,7 +659,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset - return api.getMeterageFileList( + return api.getStandardFileList( AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt index 9bbbc6d..f90402b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt @@ -159,7 +159,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 2d50d0a..1c6a830 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -61,4 +61,7 @@ const val File_SERVER_URL = "http://111.198.10.15:21408" const val ACCOUNT = "account" const val PASSWORD = "password" + + //计量文件表单ID + const val FORM_ID = "jlglwjsp" } \ No newline at end of file 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 76af155..716593d 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 @@ -281,7 +281,7 @@ * 获取计量标准规范文件列表 */ @POST("/meter/file/listPage") - suspend fun getMeterageFileList( + suspend fun getStandardFileList( @Header("token") token: String, @Body requestBody: RequestBody, @QueryMap limit: Map, 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 f5a333f..ed81ea1 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 @@ -624,8 +624,7 @@ /** * 获取计量标准规范文件列表 */ - suspend fun getMeterageFileList( - formId: String, + suspend fun getStandardFileList( fileType: String, fileName: String, fileNo: String, @@ -639,7 +638,7 @@ offset: Int ): String { val param = JsonObject() - param.addProperty("formId", formId) + param.addProperty("formId", LocaleConstant.FORM_ID) param.addProperty("fileType", fileType) param.addProperty("fileName", fileName) param.addProperty("fileNo", fileNo) @@ -660,7 +659,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset - return api.getMeterageFileList( + return api.getStandardFileList( AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt index 9bbbc6d..f90402b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt @@ -159,7 +159,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 4db8b9b..b1c4b7f 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 @@ -4,7 +4,7 @@ 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.casic.xz.meterage.fragment.file.StandardFileFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import kotlinx.android.synthetic.main.activity_standard_file.* @@ -27,24 +27,15 @@ 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()) + filePageTitles.indices.forEach { + fragmentPages.add(StandardFileFragment((it + 1).toString())) + } } override fun initData() { - fileViewPager.adapter = SubViewPagerAdapter( supportFragmentManager, fragmentPages, filePageTitles ) - fileViewPager.offscreenPageLimit = fragmentPages.size //绑定 topTabLayout.setupWithViewPager(fileViewPager) } @@ -62,6 +53,6 @@ override fun setupTopBarLayout() { ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) - titleView.text = "计量文件" + titleView.text = "标准规范" } } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 2d50d0a..1c6a830 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -61,4 +61,7 @@ const val File_SERVER_URL = "http://111.198.10.15:21408" const val ACCOUNT = "account" const val PASSWORD = "password" + + //计量文件表单ID + const val FORM_ID = "jlglwjsp" } \ No newline at end of file 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 76af155..716593d 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 @@ -281,7 +281,7 @@ * 获取计量标准规范文件列表 */ @POST("/meter/file/listPage") - suspend fun getMeterageFileList( + suspend fun getStandardFileList( @Header("token") token: String, @Body requestBody: RequestBody, @QueryMap limit: Map, 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 f5a333f..ed81ea1 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 @@ -624,8 +624,7 @@ /** * 获取计量标准规范文件列表 */ - suspend fun getMeterageFileList( - formId: String, + suspend fun getStandardFileList( fileType: String, fileName: String, fileNo: String, @@ -639,7 +638,7 @@ offset: Int ): String { val param = JsonObject() - param.addProperty("formId", formId) + param.addProperty("formId", LocaleConstant.FORM_ID) param.addProperty("fileType", fileType) param.addProperty("fileName", fileName) param.addProperty("fileNo", fileNo) @@ -660,7 +659,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset - return api.getMeterageFileList( + return api.getStandardFileList( AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt index 9bbbc6d..f90402b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt @@ -159,7 +159,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 4db8b9b..b1c4b7f 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 @@ -4,7 +4,7 @@ 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.casic.xz.meterage.fragment.file.StandardFileFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import kotlinx.android.synthetic.main.activity_standard_file.* @@ -27,24 +27,15 @@ 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()) + filePageTitles.indices.forEach { + fragmentPages.add(StandardFileFragment((it + 1).toString())) + } } override fun initData() { - fileViewPager.adapter = SubViewPagerAdapter( supportFragmentManager, fragmentPages, filePageTitles ) - fileViewPager.offscreenPageLimit = fragmentPages.size //绑定 topTabLayout.setupWithViewPager(fileViewPager) } @@ -62,6 +53,6 @@ override fun setupTopBarLayout() { ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) - titleView.text = "计量文件" + titleView.text = "标准规范" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt new file mode 100644 index 0000000..bafb243 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt @@ -0,0 +1,68 @@ +package com.casic.xz.meterage.view.home + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.StandardFileModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_file_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardFileDetailActivity : KotlinBaseActivity() { + + private val gson by lazy { Gson() } + + override fun initData() { + val fileDetail = intent.getStringExtra(Constant.INTENT_PARAM)!! + val dataRow = gson.fromJson( + fileDetail, object : TypeToken() {}.type + ) + + fileCodeView.text = dataRow.fileCode + fileNumberView.text = dataRow.fileNo + categoryView.text = dataRow.fileTypeName + publisherView.text = dataRow.publisher + implementTimeView.text = dataRow.effectiveTime + implementStateView.text = dataRow.effectiveStatusName + createTimeView.text = dataRow.publishTime + remarkView.text = dataRow.remark + + if (dataRow.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = dataRow.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(Color.BLUE) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(this) + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_file_detail + + override fun observeRequestState() { + + } + + 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/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 2d50d0a..1c6a830 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -61,4 +61,7 @@ const val File_SERVER_URL = "http://111.198.10.15:21408" const val ACCOUNT = "account" const val PASSWORD = "password" + + //计量文件表单ID + const val FORM_ID = "jlglwjsp" } \ No newline at end of file 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 76af155..716593d 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 @@ -281,7 +281,7 @@ * 获取计量标准规范文件列表 */ @POST("/meter/file/listPage") - suspend fun getMeterageFileList( + suspend fun getStandardFileList( @Header("token") token: String, @Body requestBody: RequestBody, @QueryMap limit: Map, 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 f5a333f..ed81ea1 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 @@ -624,8 +624,7 @@ /** * 获取计量标准规范文件列表 */ - suspend fun getMeterageFileList( - formId: String, + suspend fun getStandardFileList( fileType: String, fileName: String, fileNo: String, @@ -639,7 +638,7 @@ offset: Int ): String { val param = JsonObject() - param.addProperty("formId", formId) + param.addProperty("formId", LocaleConstant.FORM_ID) param.addProperty("fileType", fileType) param.addProperty("fileName", fileName) param.addProperty("fileNo", fileNo) @@ -660,7 +659,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset - return api.getMeterageFileList( + return api.getStandardFileList( AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt index 9bbbc6d..f90402b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt @@ -159,7 +159,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 4db8b9b..b1c4b7f 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 @@ -4,7 +4,7 @@ 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.casic.xz.meterage.fragment.file.StandardFileFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import kotlinx.android.synthetic.main.activity_standard_file.* @@ -27,24 +27,15 @@ 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()) + filePageTitles.indices.forEach { + fragmentPages.add(StandardFileFragment((it + 1).toString())) + } } override fun initData() { - fileViewPager.adapter = SubViewPagerAdapter( supportFragmentManager, fragmentPages, filePageTitles ) - fileViewPager.offscreenPageLimit = fragmentPages.size //绑定 topTabLayout.setupWithViewPager(fileViewPager) } @@ -62,6 +53,6 @@ override fun setupTopBarLayout() { ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) - titleView.text = "计量文件" + titleView.text = "标准规范" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt new file mode 100644 index 0000000..bafb243 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt @@ -0,0 +1,68 @@ +package com.casic.xz.meterage.view.home + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.StandardFileModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_file_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardFileDetailActivity : KotlinBaseActivity() { + + private val gson by lazy { Gson() } + + override fun initData() { + val fileDetail = intent.getStringExtra(Constant.INTENT_PARAM)!! + val dataRow = gson.fromJson( + fileDetail, object : TypeToken() {}.type + ) + + fileCodeView.text = dataRow.fileCode + fileNumberView.text = dataRow.fileNo + categoryView.text = dataRow.fileTypeName + publisherView.text = dataRow.publisher + implementTimeView.text = dataRow.effectiveTime + implementStateView.text = dataRow.effectiveStatusName + createTimeView.text = dataRow.publishTime + remarkView.text = dataRow.remark + + if (dataRow.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = dataRow.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(Color.BLUE) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(this) + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_file_detail + + override fun observeRequestState() { + + } + + 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/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt index d2ca6f8..ba82fc1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt @@ -157,7 +157,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 2d50d0a..1c6a830 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -61,4 +61,7 @@ const val File_SERVER_URL = "http://111.198.10.15:21408" const val ACCOUNT = "account" const val PASSWORD = "password" + + //计量文件表单ID + const val FORM_ID = "jlglwjsp" } \ No newline at end of file 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 76af155..716593d 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 @@ -281,7 +281,7 @@ * 获取计量标准规范文件列表 */ @POST("/meter/file/listPage") - suspend fun getMeterageFileList( + suspend fun getStandardFileList( @Header("token") token: String, @Body requestBody: RequestBody, @QueryMap limit: Map, 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 f5a333f..ed81ea1 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 @@ -624,8 +624,7 @@ /** * 获取计量标准规范文件列表 */ - suspend fun getMeterageFileList( - formId: String, + suspend fun getStandardFileList( fileType: String, fileName: String, fileNo: String, @@ -639,7 +638,7 @@ offset: Int ): String { val param = JsonObject() - param.addProperty("formId", formId) + param.addProperty("formId", LocaleConstant.FORM_ID) param.addProperty("fileType", fileType) param.addProperty("fileName", fileName) param.addProperty("fileNo", fileNo) @@ -660,7 +659,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset - return api.getMeterageFileList( + return api.getStandardFileList( AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt index 9bbbc6d..f90402b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt @@ -159,7 +159,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 4db8b9b..b1c4b7f 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 @@ -4,7 +4,7 @@ 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.casic.xz.meterage.fragment.file.StandardFileFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import kotlinx.android.synthetic.main.activity_standard_file.* @@ -27,24 +27,15 @@ 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()) + filePageTitles.indices.forEach { + fragmentPages.add(StandardFileFragment((it + 1).toString())) + } } override fun initData() { - fileViewPager.adapter = SubViewPagerAdapter( supportFragmentManager, fragmentPages, filePageTitles ) - fileViewPager.offscreenPageLimit = fragmentPages.size //绑定 topTabLayout.setupWithViewPager(fileViewPager) } @@ -62,6 +53,6 @@ override fun setupTopBarLayout() { ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) - titleView.text = "计量文件" + titleView.text = "标准规范" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt new file mode 100644 index 0000000..bafb243 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt @@ -0,0 +1,68 @@ +package com.casic.xz.meterage.view.home + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.StandardFileModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_file_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardFileDetailActivity : KotlinBaseActivity() { + + private val gson by lazy { Gson() } + + override fun initData() { + val fileDetail = intent.getStringExtra(Constant.INTENT_PARAM)!! + val dataRow = gson.fromJson( + fileDetail, object : TypeToken() {}.type + ) + + fileCodeView.text = dataRow.fileCode + fileNumberView.text = dataRow.fileNo + categoryView.text = dataRow.fileTypeName + publisherView.text = dataRow.publisher + implementTimeView.text = dataRow.effectiveTime + implementStateView.text = dataRow.effectiveStatusName + createTimeView.text = dataRow.publishTime + remarkView.text = dataRow.remark + + if (dataRow.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = dataRow.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(Color.BLUE) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(this) + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_file_detail + + override fun observeRequestState() { + + } + + 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/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt index d2ca6f8..ba82fc1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt @@ -157,7 +157,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 deleted file mode 100644 index fc55e38..0000000 --- a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt +++ /dev/null @@ -1,67 +0,0 @@ -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/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 2d50d0a..1c6a830 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -61,4 +61,7 @@ const val File_SERVER_URL = "http://111.198.10.15:21408" const val ACCOUNT = "account" const val PASSWORD = "password" + + //计量文件表单ID + const val FORM_ID = "jlglwjsp" } \ No newline at end of file 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 76af155..716593d 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 @@ -281,7 +281,7 @@ * 获取计量标准规范文件列表 */ @POST("/meter/file/listPage") - suspend fun getMeterageFileList( + suspend fun getStandardFileList( @Header("token") token: String, @Body requestBody: RequestBody, @QueryMap limit: Map, 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 f5a333f..ed81ea1 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 @@ -624,8 +624,7 @@ /** * 获取计量标准规范文件列表 */ - suspend fun getMeterageFileList( - formId: String, + suspend fun getStandardFileList( fileType: String, fileName: String, fileNo: String, @@ -639,7 +638,7 @@ offset: Int ): String { val param = JsonObject() - param.addProperty("formId", formId) + param.addProperty("formId", LocaleConstant.FORM_ID) param.addProperty("fileType", fileType) param.addProperty("fileName", fileName) param.addProperty("fileNo", fileNo) @@ -660,7 +659,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset - return api.getMeterageFileList( + return api.getStandardFileList( AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt index 9bbbc6d..f90402b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt @@ -159,7 +159,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 4db8b9b..b1c4b7f 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 @@ -4,7 +4,7 @@ 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.casic.xz.meterage.fragment.file.StandardFileFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import kotlinx.android.synthetic.main.activity_standard_file.* @@ -27,24 +27,15 @@ 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()) + filePageTitles.indices.forEach { + fragmentPages.add(StandardFileFragment((it + 1).toString())) + } } override fun initData() { - fileViewPager.adapter = SubViewPagerAdapter( supportFragmentManager, fragmentPages, filePageTitles ) - fileViewPager.offscreenPageLimit = fragmentPages.size //绑定 topTabLayout.setupWithViewPager(fileViewPager) } @@ -62,6 +53,6 @@ override fun setupTopBarLayout() { ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) - titleView.text = "计量文件" + titleView.text = "标准规范" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt new file mode 100644 index 0000000..bafb243 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt @@ -0,0 +1,68 @@ +package com.casic.xz.meterage.view.home + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.StandardFileModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_file_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardFileDetailActivity : KotlinBaseActivity() { + + private val gson by lazy { Gson() } + + override fun initData() { + val fileDetail = intent.getStringExtra(Constant.INTENT_PARAM)!! + val dataRow = gson.fromJson( + fileDetail, object : TypeToken() {}.type + ) + + fileCodeView.text = dataRow.fileCode + fileNumberView.text = dataRow.fileNo + categoryView.text = dataRow.fileTypeName + publisherView.text = dataRow.publisher + implementTimeView.text = dataRow.effectiveTime + implementStateView.text = dataRow.effectiveStatusName + createTimeView.text = dataRow.publishTime + remarkView.text = dataRow.remark + + if (dataRow.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = dataRow.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(Color.BLUE) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(this) + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_file_detail + + override fun observeRequestState() { + + } + + 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/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt index d2ca6f8..ba82fc1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt @@ -157,7 +157,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 deleted file mode 100644 index fc55e38..0000000 --- a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt +++ /dev/null @@ -1,67 +0,0 @@ -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/vm/StandardFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt new file mode 100644 index 0000000..e3f183f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt @@ -0,0 +1,65 @@ +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.StandardFileModel +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 StandardFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getStandardFileList( + 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.getStandardFileList( + 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/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 2d50d0a..1c6a830 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -61,4 +61,7 @@ const val File_SERVER_URL = "http://111.198.10.15:21408" const val ACCOUNT = "account" const val PASSWORD = "password" + + //计量文件表单ID + const val FORM_ID = "jlglwjsp" } \ No newline at end of file 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 76af155..716593d 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 @@ -281,7 +281,7 @@ * 获取计量标准规范文件列表 */ @POST("/meter/file/listPage") - suspend fun getMeterageFileList( + suspend fun getStandardFileList( @Header("token") token: String, @Body requestBody: RequestBody, @QueryMap limit: Map, 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 f5a333f..ed81ea1 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 @@ -624,8 +624,7 @@ /** * 获取计量标准规范文件列表 */ - suspend fun getMeterageFileList( - formId: String, + suspend fun getStandardFileList( fileType: String, fileName: String, fileNo: String, @@ -639,7 +638,7 @@ offset: Int ): String { val param = JsonObject() - param.addProperty("formId", formId) + param.addProperty("formId", LocaleConstant.FORM_ID) param.addProperty("fileType", fileType) param.addProperty("fileName", fileName) param.addProperty("fileNo", fileNo) @@ -660,7 +659,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset - return api.getMeterageFileList( + return api.getStandardFileList( AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt index 9bbbc6d..f90402b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt @@ -159,7 +159,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 4db8b9b..b1c4b7f 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 @@ -4,7 +4,7 @@ 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.casic.xz.meterage.fragment.file.StandardFileFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import kotlinx.android.synthetic.main.activity_standard_file.* @@ -27,24 +27,15 @@ 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()) + filePageTitles.indices.forEach { + fragmentPages.add(StandardFileFragment((it + 1).toString())) + } } override fun initData() { - fileViewPager.adapter = SubViewPagerAdapter( supportFragmentManager, fragmentPages, filePageTitles ) - fileViewPager.offscreenPageLimit = fragmentPages.size //绑定 topTabLayout.setupWithViewPager(fileViewPager) } @@ -62,6 +53,6 @@ override fun setupTopBarLayout() { ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) - titleView.text = "计量文件" + titleView.text = "标准规范" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt new file mode 100644 index 0000000..bafb243 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt @@ -0,0 +1,68 @@ +package com.casic.xz.meterage.view.home + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.StandardFileModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_file_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardFileDetailActivity : KotlinBaseActivity() { + + private val gson by lazy { Gson() } + + override fun initData() { + val fileDetail = intent.getStringExtra(Constant.INTENT_PARAM)!! + val dataRow = gson.fromJson( + fileDetail, object : TypeToken() {}.type + ) + + fileCodeView.text = dataRow.fileCode + fileNumberView.text = dataRow.fileNo + categoryView.text = dataRow.fileTypeName + publisherView.text = dataRow.publisher + implementTimeView.text = dataRow.effectiveTime + implementStateView.text = dataRow.effectiveStatusName + createTimeView.text = dataRow.publishTime + remarkView.text = dataRow.remark + + if (dataRow.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = dataRow.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(Color.BLUE) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(this) + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_file_detail + + override fun observeRequestState() { + + } + + 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/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt index d2ca6f8..ba82fc1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt @@ -157,7 +157,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 deleted file mode 100644 index fc55e38..0000000 --- a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt +++ /dev/null @@ -1,67 +0,0 @@ -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/vm/StandardFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt new file mode 100644 index 0000000..e3f183f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt @@ -0,0 +1,65 @@ +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.StandardFileModel +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 StandardFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getStandardFileList( + 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.getStandardFileList( + 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_detail.xml b/app/src/main/res/layout/activity_standard_file_detail.xml new file mode 100644 index 0000000..7776230 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_file_detail.xml @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 2d50d0a..1c6a830 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -61,4 +61,7 @@ const val File_SERVER_URL = "http://111.198.10.15:21408" const val ACCOUNT = "account" const val PASSWORD = "password" + + //计量文件表单ID + const val FORM_ID = "jlglwjsp" } \ No newline at end of file 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 76af155..716593d 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 @@ -281,7 +281,7 @@ * 获取计量标准规范文件列表 */ @POST("/meter/file/listPage") - suspend fun getMeterageFileList( + suspend fun getStandardFileList( @Header("token") token: String, @Body requestBody: RequestBody, @QueryMap limit: Map, 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 f5a333f..ed81ea1 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 @@ -624,8 +624,7 @@ /** * 获取计量标准规范文件列表 */ - suspend fun getMeterageFileList( - formId: String, + suspend fun getStandardFileList( fileType: String, fileName: String, fileNo: String, @@ -639,7 +638,7 @@ offset: Int ): String { val param = JsonObject() - param.addProperty("formId", formId) + param.addProperty("formId", LocaleConstant.FORM_ID) param.addProperty("fileType", fileType) param.addProperty("fileName", fileName) param.addProperty("fileNo", fileNo) @@ -660,7 +659,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset - return api.getMeterageFileList( + return api.getStandardFileList( AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt index 9bbbc6d..f90402b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt @@ -159,7 +159,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 4db8b9b..b1c4b7f 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 @@ -4,7 +4,7 @@ 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.casic.xz.meterage.fragment.file.StandardFileFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import kotlinx.android.synthetic.main.activity_standard_file.* @@ -27,24 +27,15 @@ 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()) + filePageTitles.indices.forEach { + fragmentPages.add(StandardFileFragment((it + 1).toString())) + } } override fun initData() { - fileViewPager.adapter = SubViewPagerAdapter( supportFragmentManager, fragmentPages, filePageTitles ) - fileViewPager.offscreenPageLimit = fragmentPages.size //绑定 topTabLayout.setupWithViewPager(fileViewPager) } @@ -62,6 +53,6 @@ override fun setupTopBarLayout() { ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) - titleView.text = "计量文件" + titleView.text = "标准规范" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt new file mode 100644 index 0000000..bafb243 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt @@ -0,0 +1,68 @@ +package com.casic.xz.meterage.view.home + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.StandardFileModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_file_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardFileDetailActivity : KotlinBaseActivity() { + + private val gson by lazy { Gson() } + + override fun initData() { + val fileDetail = intent.getStringExtra(Constant.INTENT_PARAM)!! + val dataRow = gson.fromJson( + fileDetail, object : TypeToken() {}.type + ) + + fileCodeView.text = dataRow.fileCode + fileNumberView.text = dataRow.fileNo + categoryView.text = dataRow.fileTypeName + publisherView.text = dataRow.publisher + implementTimeView.text = dataRow.effectiveTime + implementStateView.text = dataRow.effectiveStatusName + createTimeView.text = dataRow.publishTime + remarkView.text = dataRow.remark + + if (dataRow.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = dataRow.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(Color.BLUE) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(this) + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_file_detail + + override fun observeRequestState() { + + } + + 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/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt index d2ca6f8..ba82fc1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt @@ -157,7 +157,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 deleted file mode 100644 index fc55e38..0000000 --- a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt +++ /dev/null @@ -1,67 +0,0 @@ -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/vm/StandardFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt new file mode 100644 index 0000000..e3f183f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt @@ -0,0 +1,65 @@ +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.StandardFileModel +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 StandardFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getStandardFileList( + 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.getStandardFileList( + 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_detail.xml b/app/src/main/res/layout/activity_standard_file_detail.xml new file mode 100644 index 0000000..7776230 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_file_detail.xml @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_ability.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 2d50d0a..1c6a830 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -61,4 +61,7 @@ const val File_SERVER_URL = "http://111.198.10.15:21408" const val ACCOUNT = "account" const val PASSWORD = "password" + + //计量文件表单ID + const val FORM_ID = "jlglwjsp" } \ No newline at end of file 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 76af155..716593d 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 @@ -281,7 +281,7 @@ * 获取计量标准规范文件列表 */ @POST("/meter/file/listPage") - suspend fun getMeterageFileList( + suspend fun getStandardFileList( @Header("token") token: String, @Body requestBody: RequestBody, @QueryMap limit: Map, 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 f5a333f..ed81ea1 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 @@ -624,8 +624,7 @@ /** * 获取计量标准规范文件列表 */ - suspend fun getMeterageFileList( - formId: String, + suspend fun getStandardFileList( fileType: String, fileName: String, fileNo: String, @@ -639,7 +638,7 @@ offset: Int ): String { val param = JsonObject() - param.addProperty("formId", formId) + param.addProperty("formId", LocaleConstant.FORM_ID) param.addProperty("fileType", fileType) param.addProperty("fileName", fileName) param.addProperty("fileNo", fileNo) @@ -660,7 +659,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset - return api.getMeterageFileList( + return api.getStandardFileList( AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt index 9bbbc6d..f90402b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt @@ -159,7 +159,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 4db8b9b..b1c4b7f 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 @@ -4,7 +4,7 @@ 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.casic.xz.meterage.fragment.file.StandardFileFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import kotlinx.android.synthetic.main.activity_standard_file.* @@ -27,24 +27,15 @@ 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()) + filePageTitles.indices.forEach { + fragmentPages.add(StandardFileFragment((it + 1).toString())) + } } override fun initData() { - fileViewPager.adapter = SubViewPagerAdapter( supportFragmentManager, fragmentPages, filePageTitles ) - fileViewPager.offscreenPageLimit = fragmentPages.size //绑定 topTabLayout.setupWithViewPager(fileViewPager) } @@ -62,6 +53,6 @@ override fun setupTopBarLayout() { ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) - titleView.text = "计量文件" + titleView.text = "标准规范" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt new file mode 100644 index 0000000..bafb243 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt @@ -0,0 +1,68 @@ +package com.casic.xz.meterage.view.home + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.StandardFileModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_file_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardFileDetailActivity : KotlinBaseActivity() { + + private val gson by lazy { Gson() } + + override fun initData() { + val fileDetail = intent.getStringExtra(Constant.INTENT_PARAM)!! + val dataRow = gson.fromJson( + fileDetail, object : TypeToken() {}.type + ) + + fileCodeView.text = dataRow.fileCode + fileNumberView.text = dataRow.fileNo + categoryView.text = dataRow.fileTypeName + publisherView.text = dataRow.publisher + implementTimeView.text = dataRow.effectiveTime + implementStateView.text = dataRow.effectiveStatusName + createTimeView.text = dataRow.publishTime + remarkView.text = dataRow.remark + + if (dataRow.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = dataRow.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(Color.BLUE) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(this) + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_file_detail + + override fun observeRequestState() { + + } + + 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/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt index d2ca6f8..ba82fc1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt @@ -157,7 +157,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 deleted file mode 100644 index fc55e38..0000000 --- a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt +++ /dev/null @@ -1,67 +0,0 @@ -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/vm/StandardFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt new file mode 100644 index 0000000..e3f183f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt @@ -0,0 +1,65 @@ +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.StandardFileModel +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 StandardFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getStandardFileList( + 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.getStandardFileList( + 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_detail.xml b/app/src/main/res/layout/activity_standard_file_detail.xml new file mode 100644 index 0000000..7776230 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_file_detail.xml @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_ability.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_cnas.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 2d50d0a..1c6a830 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -61,4 +61,7 @@ const val File_SERVER_URL = "http://111.198.10.15:21408" const val ACCOUNT = "account" const val PASSWORD = "password" + + //计量文件表单ID + const val FORM_ID = "jlglwjsp" } \ No newline at end of file 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 76af155..716593d 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 @@ -281,7 +281,7 @@ * 获取计量标准规范文件列表 */ @POST("/meter/file/listPage") - suspend fun getMeterageFileList( + suspend fun getStandardFileList( @Header("token") token: String, @Body requestBody: RequestBody, @QueryMap limit: Map, 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 f5a333f..ed81ea1 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 @@ -624,8 +624,7 @@ /** * 获取计量标准规范文件列表 */ - suspend fun getMeterageFileList( - formId: String, + suspend fun getStandardFileList( fileType: String, fileName: String, fileNo: String, @@ -639,7 +638,7 @@ offset: Int ): String { val param = JsonObject() - param.addProperty("formId", formId) + param.addProperty("formId", LocaleConstant.FORM_ID) param.addProperty("fileType", fileType) param.addProperty("fileName", fileName) param.addProperty("fileNo", fileNo) @@ -660,7 +659,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset - return api.getMeterageFileList( + return api.getStandardFileList( AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt index 9bbbc6d..f90402b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt @@ -159,7 +159,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 4db8b9b..b1c4b7f 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 @@ -4,7 +4,7 @@ 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.casic.xz.meterage.fragment.file.StandardFileFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import kotlinx.android.synthetic.main.activity_standard_file.* @@ -27,24 +27,15 @@ 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()) + filePageTitles.indices.forEach { + fragmentPages.add(StandardFileFragment((it + 1).toString())) + } } override fun initData() { - fileViewPager.adapter = SubViewPagerAdapter( supportFragmentManager, fragmentPages, filePageTitles ) - fileViewPager.offscreenPageLimit = fragmentPages.size //绑定 topTabLayout.setupWithViewPager(fileViewPager) } @@ -62,6 +53,6 @@ override fun setupTopBarLayout() { ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) - titleView.text = "计量文件" + titleView.text = "标准规范" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt new file mode 100644 index 0000000..bafb243 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt @@ -0,0 +1,68 @@ +package com.casic.xz.meterage.view.home + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.StandardFileModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_file_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardFileDetailActivity : KotlinBaseActivity() { + + private val gson by lazy { Gson() } + + override fun initData() { + val fileDetail = intent.getStringExtra(Constant.INTENT_PARAM)!! + val dataRow = gson.fromJson( + fileDetail, object : TypeToken() {}.type + ) + + fileCodeView.text = dataRow.fileCode + fileNumberView.text = dataRow.fileNo + categoryView.text = dataRow.fileTypeName + publisherView.text = dataRow.publisher + implementTimeView.text = dataRow.effectiveTime + implementStateView.text = dataRow.effectiveStatusName + createTimeView.text = dataRow.publishTime + remarkView.text = dataRow.remark + + if (dataRow.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = dataRow.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(Color.BLUE) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(this) + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_file_detail + + override fun observeRequestState() { + + } + + 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/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt index d2ca6f8..ba82fc1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt @@ -157,7 +157,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 deleted file mode 100644 index fc55e38..0000000 --- a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt +++ /dev/null @@ -1,67 +0,0 @@ -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/vm/StandardFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt new file mode 100644 index 0000000..e3f183f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt @@ -0,0 +1,65 @@ +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.StandardFileModel +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 StandardFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getStandardFileList( + 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.getStandardFileList( + 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_detail.xml b/app/src/main/res/layout/activity_standard_file_detail.xml new file mode 100644 index 0000000..7776230 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_file_detail.xml @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_ability.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_cnas.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_detect.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 2d50d0a..1c6a830 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -61,4 +61,7 @@ const val File_SERVER_URL = "http://111.198.10.15:21408" const val ACCOUNT = "account" const val PASSWORD = "password" + + //计量文件表单ID + const val FORM_ID = "jlglwjsp" } \ No newline at end of file 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 76af155..716593d 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 @@ -281,7 +281,7 @@ * 获取计量标准规范文件列表 */ @POST("/meter/file/listPage") - suspend fun getMeterageFileList( + suspend fun getStandardFileList( @Header("token") token: String, @Body requestBody: RequestBody, @QueryMap limit: Map, 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 f5a333f..ed81ea1 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 @@ -624,8 +624,7 @@ /** * 获取计量标准规范文件列表 */ - suspend fun getMeterageFileList( - formId: String, + suspend fun getStandardFileList( fileType: String, fileName: String, fileNo: String, @@ -639,7 +638,7 @@ offset: Int ): String { val param = JsonObject() - param.addProperty("formId", formId) + param.addProperty("formId", LocaleConstant.FORM_ID) param.addProperty("fileType", fileType) param.addProperty("fileName", fileName) param.addProperty("fileNo", fileNo) @@ -660,7 +659,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset - return api.getMeterageFileList( + return api.getStandardFileList( AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt index 9bbbc6d..f90402b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt @@ -159,7 +159,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 4db8b9b..b1c4b7f 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 @@ -4,7 +4,7 @@ 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.casic.xz.meterage.fragment.file.StandardFileFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import kotlinx.android.synthetic.main.activity_standard_file.* @@ -27,24 +27,15 @@ 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()) + filePageTitles.indices.forEach { + fragmentPages.add(StandardFileFragment((it + 1).toString())) + } } override fun initData() { - fileViewPager.adapter = SubViewPagerAdapter( supportFragmentManager, fragmentPages, filePageTitles ) - fileViewPager.offscreenPageLimit = fragmentPages.size //绑定 topTabLayout.setupWithViewPager(fileViewPager) } @@ -62,6 +53,6 @@ override fun setupTopBarLayout() { ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) - titleView.text = "计量文件" + titleView.text = "标准规范" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt new file mode 100644 index 0000000..bafb243 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt @@ -0,0 +1,68 @@ +package com.casic.xz.meterage.view.home + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.StandardFileModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_file_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardFileDetailActivity : KotlinBaseActivity() { + + private val gson by lazy { Gson() } + + override fun initData() { + val fileDetail = intent.getStringExtra(Constant.INTENT_PARAM)!! + val dataRow = gson.fromJson( + fileDetail, object : TypeToken() {}.type + ) + + fileCodeView.text = dataRow.fileCode + fileNumberView.text = dataRow.fileNo + categoryView.text = dataRow.fileTypeName + publisherView.text = dataRow.publisher + implementTimeView.text = dataRow.effectiveTime + implementStateView.text = dataRow.effectiveStatusName + createTimeView.text = dataRow.publishTime + remarkView.text = dataRow.remark + + if (dataRow.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = dataRow.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(Color.BLUE) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(this) + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_file_detail + + override fun observeRequestState() { + + } + + 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/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt index d2ca6f8..ba82fc1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt @@ -157,7 +157,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 deleted file mode 100644 index fc55e38..0000000 --- a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt +++ /dev/null @@ -1,67 +0,0 @@ -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/vm/StandardFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt new file mode 100644 index 0000000..e3f183f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt @@ -0,0 +1,65 @@ +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.StandardFileModel +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 StandardFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getStandardFileList( + 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.getStandardFileList( + 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_detail.xml b/app/src/main/res/layout/activity_standard_file_detail.xml new file mode 100644 index 0000000..7776230 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_file_detail.xml @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_ability.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_cnas.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_detect.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_institution.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 2d50d0a..1c6a830 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -61,4 +61,7 @@ const val File_SERVER_URL = "http://111.198.10.15:21408" const val ACCOUNT = "account" const val PASSWORD = "password" + + //计量文件表单ID + const val FORM_ID = "jlglwjsp" } \ No newline at end of file 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 76af155..716593d 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 @@ -281,7 +281,7 @@ * 获取计量标准规范文件列表 */ @POST("/meter/file/listPage") - suspend fun getMeterageFileList( + suspend fun getStandardFileList( @Header("token") token: String, @Body requestBody: RequestBody, @QueryMap limit: Map, 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 f5a333f..ed81ea1 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 @@ -624,8 +624,7 @@ /** * 获取计量标准规范文件列表 */ - suspend fun getMeterageFileList( - formId: String, + suspend fun getStandardFileList( fileType: String, fileName: String, fileNo: String, @@ -639,7 +638,7 @@ offset: Int ): String { val param = JsonObject() - param.addProperty("formId", formId) + param.addProperty("formId", LocaleConstant.FORM_ID) param.addProperty("fileType", fileType) param.addProperty("fileName", fileName) param.addProperty("fileNo", fileNo) @@ -660,7 +659,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset - return api.getMeterageFileList( + return api.getStandardFileList( AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt index 9bbbc6d..f90402b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt @@ -159,7 +159,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 4db8b9b..b1c4b7f 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 @@ -4,7 +4,7 @@ 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.casic.xz.meterage.fragment.file.StandardFileFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import kotlinx.android.synthetic.main.activity_standard_file.* @@ -27,24 +27,15 @@ 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()) + filePageTitles.indices.forEach { + fragmentPages.add(StandardFileFragment((it + 1).toString())) + } } override fun initData() { - fileViewPager.adapter = SubViewPagerAdapter( supportFragmentManager, fragmentPages, filePageTitles ) - fileViewPager.offscreenPageLimit = fragmentPages.size //绑定 topTabLayout.setupWithViewPager(fileViewPager) } @@ -62,6 +53,6 @@ override fun setupTopBarLayout() { ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) - titleView.text = "计量文件" + titleView.text = "标准规范" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt new file mode 100644 index 0000000..bafb243 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt @@ -0,0 +1,68 @@ +package com.casic.xz.meterage.view.home + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.StandardFileModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_file_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardFileDetailActivity : KotlinBaseActivity() { + + private val gson by lazy { Gson() } + + override fun initData() { + val fileDetail = intent.getStringExtra(Constant.INTENT_PARAM)!! + val dataRow = gson.fromJson( + fileDetail, object : TypeToken() {}.type + ) + + fileCodeView.text = dataRow.fileCode + fileNumberView.text = dataRow.fileNo + categoryView.text = dataRow.fileTypeName + publisherView.text = dataRow.publisher + implementTimeView.text = dataRow.effectiveTime + implementStateView.text = dataRow.effectiveStatusName + createTimeView.text = dataRow.publishTime + remarkView.text = dataRow.remark + + if (dataRow.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = dataRow.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(Color.BLUE) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(this) + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_file_detail + + override fun observeRequestState() { + + } + + 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/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt index d2ca6f8..ba82fc1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt @@ -157,7 +157,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 deleted file mode 100644 index fc55e38..0000000 --- a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt +++ /dev/null @@ -1,67 +0,0 @@ -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/vm/StandardFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt new file mode 100644 index 0000000..e3f183f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt @@ -0,0 +1,65 @@ +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.StandardFileModel +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 StandardFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getStandardFileList( + 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.getStandardFileList( + 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_detail.xml b/app/src/main/res/layout/activity_standard_file_detail.xml new file mode 100644 index 0000000..7776230 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_file_detail.xml @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_ability.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_cnas.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_detect.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_institution.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_management.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 2d50d0a..1c6a830 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -61,4 +61,7 @@ const val File_SERVER_URL = "http://111.198.10.15:21408" const val ACCOUNT = "account" const val PASSWORD = "password" + + //计量文件表单ID + const val FORM_ID = "jlglwjsp" } \ No newline at end of file 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 76af155..716593d 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 @@ -281,7 +281,7 @@ * 获取计量标准规范文件列表 */ @POST("/meter/file/listPage") - suspend fun getMeterageFileList( + suspend fun getStandardFileList( @Header("token") token: String, @Body requestBody: RequestBody, @QueryMap limit: Map, 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 f5a333f..ed81ea1 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 @@ -624,8 +624,7 @@ /** * 获取计量标准规范文件列表 */ - suspend fun getMeterageFileList( - formId: String, + suspend fun getStandardFileList( fileType: String, fileName: String, fileNo: String, @@ -639,7 +638,7 @@ offset: Int ): String { val param = JsonObject() - param.addProperty("formId", formId) + param.addProperty("formId", LocaleConstant.FORM_ID) param.addProperty("fileType", fileType) param.addProperty("fileName", fileName) param.addProperty("fileNo", fileNo) @@ -660,7 +659,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset - return api.getMeterageFileList( + return api.getStandardFileList( AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt index 9bbbc6d..f90402b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt @@ -159,7 +159,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 4db8b9b..b1c4b7f 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 @@ -4,7 +4,7 @@ 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.casic.xz.meterage.fragment.file.StandardFileFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import kotlinx.android.synthetic.main.activity_standard_file.* @@ -27,24 +27,15 @@ 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()) + filePageTitles.indices.forEach { + fragmentPages.add(StandardFileFragment((it + 1).toString())) + } } override fun initData() { - fileViewPager.adapter = SubViewPagerAdapter( supportFragmentManager, fragmentPages, filePageTitles ) - fileViewPager.offscreenPageLimit = fragmentPages.size //绑定 topTabLayout.setupWithViewPager(fileViewPager) } @@ -62,6 +53,6 @@ override fun setupTopBarLayout() { ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) - titleView.text = "计量文件" + titleView.text = "标准规范" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt new file mode 100644 index 0000000..bafb243 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt @@ -0,0 +1,68 @@ +package com.casic.xz.meterage.view.home + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.StandardFileModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_file_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardFileDetailActivity : KotlinBaseActivity() { + + private val gson by lazy { Gson() } + + override fun initData() { + val fileDetail = intent.getStringExtra(Constant.INTENT_PARAM)!! + val dataRow = gson.fromJson( + fileDetail, object : TypeToken() {}.type + ) + + fileCodeView.text = dataRow.fileCode + fileNumberView.text = dataRow.fileNo + categoryView.text = dataRow.fileTypeName + publisherView.text = dataRow.publisher + implementTimeView.text = dataRow.effectiveTime + implementStateView.text = dataRow.effectiveStatusName + createTimeView.text = dataRow.publishTime + remarkView.text = dataRow.remark + + if (dataRow.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = dataRow.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(Color.BLUE) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(this) + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_file_detail + + override fun observeRequestState() { + + } + + 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/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt index d2ca6f8..ba82fc1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt @@ -157,7 +157,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 deleted file mode 100644 index fc55e38..0000000 --- a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt +++ /dev/null @@ -1,67 +0,0 @@ -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/vm/StandardFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt new file mode 100644 index 0000000..e3f183f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt @@ -0,0 +1,65 @@ +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.StandardFileModel +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 StandardFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getStandardFileList( + 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.getStandardFileList( + 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_detail.xml b/app/src/main/res/layout/activity_standard_file_detail.xml new file mode 100644 index 0000000..7776230 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_file_detail.xml @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_ability.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_cnas.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_detect.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_institution.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_management.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_operation.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 2d50d0a..1c6a830 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -61,4 +61,7 @@ const val File_SERVER_URL = "http://111.198.10.15:21408" const val ACCOUNT = "account" const val PASSWORD = "password" + + //计量文件表单ID + const val FORM_ID = "jlglwjsp" } \ No newline at end of file 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 76af155..716593d 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 @@ -281,7 +281,7 @@ * 获取计量标准规范文件列表 */ @POST("/meter/file/listPage") - suspend fun getMeterageFileList( + suspend fun getStandardFileList( @Header("token") token: String, @Body requestBody: RequestBody, @QueryMap limit: Map, 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 f5a333f..ed81ea1 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 @@ -624,8 +624,7 @@ /** * 获取计量标准规范文件列表 */ - suspend fun getMeterageFileList( - formId: String, + suspend fun getStandardFileList( fileType: String, fileName: String, fileNo: String, @@ -639,7 +638,7 @@ offset: Int ): String { val param = JsonObject() - param.addProperty("formId", formId) + param.addProperty("formId", LocaleConstant.FORM_ID) param.addProperty("fileType", fileType) param.addProperty("fileName", fileName) param.addProperty("fileNo", fileNo) @@ -660,7 +659,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset - return api.getMeterageFileList( + return api.getStandardFileList( AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt index 9bbbc6d..f90402b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt @@ -159,7 +159,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 4db8b9b..b1c4b7f 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 @@ -4,7 +4,7 @@ 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.casic.xz.meterage.fragment.file.StandardFileFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import kotlinx.android.synthetic.main.activity_standard_file.* @@ -27,24 +27,15 @@ 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()) + filePageTitles.indices.forEach { + fragmentPages.add(StandardFileFragment((it + 1).toString())) + } } override fun initData() { - fileViewPager.adapter = SubViewPagerAdapter( supportFragmentManager, fragmentPages, filePageTitles ) - fileViewPager.offscreenPageLimit = fragmentPages.size //绑定 topTabLayout.setupWithViewPager(fileViewPager) } @@ -62,6 +53,6 @@ override fun setupTopBarLayout() { ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) - titleView.text = "计量文件" + titleView.text = "标准规范" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt new file mode 100644 index 0000000..bafb243 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt @@ -0,0 +1,68 @@ +package com.casic.xz.meterage.view.home + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.StandardFileModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_file_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardFileDetailActivity : KotlinBaseActivity() { + + private val gson by lazy { Gson() } + + override fun initData() { + val fileDetail = intent.getStringExtra(Constant.INTENT_PARAM)!! + val dataRow = gson.fromJson( + fileDetail, object : TypeToken() {}.type + ) + + fileCodeView.text = dataRow.fileCode + fileNumberView.text = dataRow.fileNo + categoryView.text = dataRow.fileTypeName + publisherView.text = dataRow.publisher + implementTimeView.text = dataRow.effectiveTime + implementStateView.text = dataRow.effectiveStatusName + createTimeView.text = dataRow.publishTime + remarkView.text = dataRow.remark + + if (dataRow.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = dataRow.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(Color.BLUE) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(this) + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_file_detail + + override fun observeRequestState() { + + } + + 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/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt index d2ca6f8..ba82fc1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt @@ -157,7 +157,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 deleted file mode 100644 index fc55e38..0000000 --- a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt +++ /dev/null @@ -1,67 +0,0 @@ -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/vm/StandardFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt new file mode 100644 index 0000000..e3f183f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt @@ -0,0 +1,65 @@ +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.StandardFileModel +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 StandardFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getStandardFileList( + 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.getStandardFileList( + 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_detail.xml b/app/src/main/res/layout/activity_standard_file_detail.xml new file mode 100644 index 0000000..7776230 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_file_detail.xml @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_ability.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_cnas.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_detect.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_institution.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_management.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_operation.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_procedure.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 2d50d0a..1c6a830 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -61,4 +61,7 @@ const val File_SERVER_URL = "http://111.198.10.15:21408" const val ACCOUNT = "account" const val PASSWORD = "password" + + //计量文件表单ID + const val FORM_ID = "jlglwjsp" } \ No newline at end of file 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 76af155..716593d 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 @@ -281,7 +281,7 @@ * 获取计量标准规范文件列表 */ @POST("/meter/file/listPage") - suspend fun getMeterageFileList( + suspend fun getStandardFileList( @Header("token") token: String, @Body requestBody: RequestBody, @QueryMap limit: Map, 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 f5a333f..ed81ea1 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 @@ -624,8 +624,7 @@ /** * 获取计量标准规范文件列表 */ - suspend fun getMeterageFileList( - formId: String, + suspend fun getStandardFileList( fileType: String, fileName: String, fileNo: String, @@ -639,7 +638,7 @@ offset: Int ): String { val param = JsonObject() - param.addProperty("formId", formId) + param.addProperty("formId", LocaleConstant.FORM_ID) param.addProperty("fileType", fileType) param.addProperty("fileName", fileName) param.addProperty("fileNo", fileNo) @@ -660,7 +659,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset - return api.getMeterageFileList( + return api.getStandardFileList( AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt index 9bbbc6d..f90402b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt @@ -159,7 +159,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 4db8b9b..b1c4b7f 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 @@ -4,7 +4,7 @@ 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.casic.xz.meterage.fragment.file.StandardFileFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import kotlinx.android.synthetic.main.activity_standard_file.* @@ -27,24 +27,15 @@ 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()) + filePageTitles.indices.forEach { + fragmentPages.add(StandardFileFragment((it + 1).toString())) + } } override fun initData() { - fileViewPager.adapter = SubViewPagerAdapter( supportFragmentManager, fragmentPages, filePageTitles ) - fileViewPager.offscreenPageLimit = fragmentPages.size //绑定 topTabLayout.setupWithViewPager(fileViewPager) } @@ -62,6 +53,6 @@ override fun setupTopBarLayout() { ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) - titleView.text = "计量文件" + titleView.text = "标准规范" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt new file mode 100644 index 0000000..bafb243 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt @@ -0,0 +1,68 @@ +package com.casic.xz.meterage.view.home + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.StandardFileModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_file_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardFileDetailActivity : KotlinBaseActivity() { + + private val gson by lazy { Gson() } + + override fun initData() { + val fileDetail = intent.getStringExtra(Constant.INTENT_PARAM)!! + val dataRow = gson.fromJson( + fileDetail, object : TypeToken() {}.type + ) + + fileCodeView.text = dataRow.fileCode + fileNumberView.text = dataRow.fileNo + categoryView.text = dataRow.fileTypeName + publisherView.text = dataRow.publisher + implementTimeView.text = dataRow.effectiveTime + implementStateView.text = dataRow.effectiveStatusName + createTimeView.text = dataRow.publishTime + remarkView.text = dataRow.remark + + if (dataRow.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = dataRow.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(Color.BLUE) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(this) + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_file_detail + + override fun observeRequestState() { + + } + + 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/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt index d2ca6f8..ba82fc1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt @@ -157,7 +157,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 deleted file mode 100644 index fc55e38..0000000 --- a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt +++ /dev/null @@ -1,67 +0,0 @@ -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/vm/StandardFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt new file mode 100644 index 0000000..e3f183f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt @@ -0,0 +1,65 @@ +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.StandardFileModel +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 StandardFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getStandardFileList( + 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.getStandardFileList( + 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_detail.xml b/app/src/main/res/layout/activity_standard_file_detail.xml new file mode 100644 index 0000000..7776230 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_file_detail.xml @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_ability.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_cnas.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_detect.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_institution.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_management.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_operation.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_procedure.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_quality.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 2d50d0a..1c6a830 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -61,4 +61,7 @@ const val File_SERVER_URL = "http://111.198.10.15:21408" const val ACCOUNT = "account" const val PASSWORD = "password" + + //计量文件表单ID + const val FORM_ID = "jlglwjsp" } \ No newline at end of file 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 76af155..716593d 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 @@ -281,7 +281,7 @@ * 获取计量标准规范文件列表 */ @POST("/meter/file/listPage") - suspend fun getMeterageFileList( + suspend fun getStandardFileList( @Header("token") token: String, @Body requestBody: RequestBody, @QueryMap limit: Map, 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 f5a333f..ed81ea1 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 @@ -624,8 +624,7 @@ /** * 获取计量标准规范文件列表 */ - suspend fun getMeterageFileList( - formId: String, + suspend fun getStandardFileList( fileType: String, fileName: String, fileNo: String, @@ -639,7 +638,7 @@ offset: Int ): String { val param = JsonObject() - param.addProperty("formId", formId) + param.addProperty("formId", LocaleConstant.FORM_ID) param.addProperty("fileType", fileType) param.addProperty("fileName", fileName) param.addProperty("fileNo", fileNo) @@ -660,7 +659,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset - return api.getMeterageFileList( + return api.getStandardFileList( AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt index 9bbbc6d..f90402b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt @@ -159,7 +159,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 4db8b9b..b1c4b7f 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 @@ -4,7 +4,7 @@ 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.casic.xz.meterage.fragment.file.StandardFileFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import kotlinx.android.synthetic.main.activity_standard_file.* @@ -27,24 +27,15 @@ 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()) + filePageTitles.indices.forEach { + fragmentPages.add(StandardFileFragment((it + 1).toString())) + } } override fun initData() { - fileViewPager.adapter = SubViewPagerAdapter( supportFragmentManager, fragmentPages, filePageTitles ) - fileViewPager.offscreenPageLimit = fragmentPages.size //绑定 topTabLayout.setupWithViewPager(fileViewPager) } @@ -62,6 +53,6 @@ override fun setupTopBarLayout() { ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) - titleView.text = "计量文件" + titleView.text = "标准规范" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt new file mode 100644 index 0000000..bafb243 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt @@ -0,0 +1,68 @@ +package com.casic.xz.meterage.view.home + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.StandardFileModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_file_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardFileDetailActivity : KotlinBaseActivity() { + + private val gson by lazy { Gson() } + + override fun initData() { + val fileDetail = intent.getStringExtra(Constant.INTENT_PARAM)!! + val dataRow = gson.fromJson( + fileDetail, object : TypeToken() {}.type + ) + + fileCodeView.text = dataRow.fileCode + fileNumberView.text = dataRow.fileNo + categoryView.text = dataRow.fileTypeName + publisherView.text = dataRow.publisher + implementTimeView.text = dataRow.effectiveTime + implementStateView.text = dataRow.effectiveStatusName + createTimeView.text = dataRow.publishTime + remarkView.text = dataRow.remark + + if (dataRow.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = dataRow.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(Color.BLUE) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(this) + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_file_detail + + override fun observeRequestState() { + + } + + 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/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt index d2ca6f8..ba82fc1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt @@ -157,7 +157,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 deleted file mode 100644 index fc55e38..0000000 --- a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt +++ /dev/null @@ -1,67 +0,0 @@ -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/vm/StandardFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt new file mode 100644 index 0000000..e3f183f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt @@ -0,0 +1,65 @@ +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.StandardFileModel +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 StandardFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getStandardFileList( + 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.getStandardFileList( + 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_detail.xml b/app/src/main/res/layout/activity_standard_file_detail.xml new file mode 100644 index 0000000..7776230 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_file_detail.xml @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_ability.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_cnas.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_detect.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_institution.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_management.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_operation.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_procedure.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_quality.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_regulation.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 2d50d0a..1c6a830 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -61,4 +61,7 @@ const val File_SERVER_URL = "http://111.198.10.15:21408" const val ACCOUNT = "account" const val PASSWORD = "password" + + //计量文件表单ID + const val FORM_ID = "jlglwjsp" } \ No newline at end of file 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 76af155..716593d 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 @@ -281,7 +281,7 @@ * 获取计量标准规范文件列表 */ @POST("/meter/file/listPage") - suspend fun getMeterageFileList( + suspend fun getStandardFileList( @Header("token") token: String, @Body requestBody: RequestBody, @QueryMap limit: Map, 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 f5a333f..ed81ea1 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 @@ -624,8 +624,7 @@ /** * 获取计量标准规范文件列表 */ - suspend fun getMeterageFileList( - formId: String, + suspend fun getStandardFileList( fileType: String, fileName: String, fileNo: String, @@ -639,7 +638,7 @@ offset: Int ): String { val param = JsonObject() - param.addProperty("formId", formId) + param.addProperty("formId", LocaleConstant.FORM_ID) param.addProperty("fileType", fileType) param.addProperty("fileName", fileName) param.addProperty("fileNo", fileNo) @@ -660,7 +659,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset - return api.getMeterageFileList( + return api.getStandardFileList( AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt index 9bbbc6d..f90402b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt @@ -159,7 +159,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 4db8b9b..b1c4b7f 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 @@ -4,7 +4,7 @@ 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.casic.xz.meterage.fragment.file.StandardFileFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import kotlinx.android.synthetic.main.activity_standard_file.* @@ -27,24 +27,15 @@ 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()) + filePageTitles.indices.forEach { + fragmentPages.add(StandardFileFragment((it + 1).toString())) + } } override fun initData() { - fileViewPager.adapter = SubViewPagerAdapter( supportFragmentManager, fragmentPages, filePageTitles ) - fileViewPager.offscreenPageLimit = fragmentPages.size //绑定 topTabLayout.setupWithViewPager(fileViewPager) } @@ -62,6 +53,6 @@ override fun setupTopBarLayout() { ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) - titleView.text = "计量文件" + titleView.text = "标准规范" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt new file mode 100644 index 0000000..bafb243 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt @@ -0,0 +1,68 @@ +package com.casic.xz.meterage.view.home + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.StandardFileModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_file_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardFileDetailActivity : KotlinBaseActivity() { + + private val gson by lazy { Gson() } + + override fun initData() { + val fileDetail = intent.getStringExtra(Constant.INTENT_PARAM)!! + val dataRow = gson.fromJson( + fileDetail, object : TypeToken() {}.type + ) + + fileCodeView.text = dataRow.fileCode + fileNumberView.text = dataRow.fileNo + categoryView.text = dataRow.fileTypeName + publisherView.text = dataRow.publisher + implementTimeView.text = dataRow.effectiveTime + implementStateView.text = dataRow.effectiveStatusName + createTimeView.text = dataRow.publishTime + remarkView.text = dataRow.remark + + if (dataRow.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = dataRow.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(Color.BLUE) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(this) + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_file_detail + + override fun observeRequestState() { + + } + + 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/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt index d2ca6f8..ba82fc1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt @@ -157,7 +157,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 deleted file mode 100644 index fc55e38..0000000 --- a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt +++ /dev/null @@ -1,67 +0,0 @@ -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/vm/StandardFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt new file mode 100644 index 0000000..e3f183f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt @@ -0,0 +1,65 @@ +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.StandardFileModel +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 StandardFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getStandardFileList( + 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.getStandardFileList( + 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_detail.xml b/app/src/main/res/layout/activity_standard_file_detail.xml new file mode 100644 index 0000000..7776230 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_file_detail.xml @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_ability.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_cnas.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_detect.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_institution.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_management.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_operation.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_procedure.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_quality.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_regulation.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index e7547f8..0000000 --- a/app/src/main/res/layout/fragment_file_rule.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 2d50d0a..1c6a830 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -61,4 +61,7 @@ const val File_SERVER_URL = "http://111.198.10.15:21408" const val ACCOUNT = "account" const val PASSWORD = "password" + + //计量文件表单ID + const val FORM_ID = "jlglwjsp" } \ No newline at end of file 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 76af155..716593d 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 @@ -281,7 +281,7 @@ * 获取计量标准规范文件列表 */ @POST("/meter/file/listPage") - suspend fun getMeterageFileList( + suspend fun getStandardFileList( @Header("token") token: String, @Body requestBody: RequestBody, @QueryMap limit: Map, 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 f5a333f..ed81ea1 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 @@ -624,8 +624,7 @@ /** * 获取计量标准规范文件列表 */ - suspend fun getMeterageFileList( - formId: String, + suspend fun getStandardFileList( fileType: String, fileName: String, fileNo: String, @@ -639,7 +638,7 @@ offset: Int ): String { val param = JsonObject() - param.addProperty("formId", formId) + param.addProperty("formId", LocaleConstant.FORM_ID) param.addProperty("fileType", fileType) param.addProperty("fileName", fileName) param.addProperty("fileNo", fileNo) @@ -660,7 +659,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset - return api.getMeterageFileList( + return api.getStandardFileList( AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt index 9bbbc6d..f90402b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt @@ -159,7 +159,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 4db8b9b..b1c4b7f 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 @@ -4,7 +4,7 @@ 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.casic.xz.meterage.fragment.file.StandardFileFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import kotlinx.android.synthetic.main.activity_standard_file.* @@ -27,24 +27,15 @@ 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()) + filePageTitles.indices.forEach { + fragmentPages.add(StandardFileFragment((it + 1).toString())) + } } override fun initData() { - fileViewPager.adapter = SubViewPagerAdapter( supportFragmentManager, fragmentPages, filePageTitles ) - fileViewPager.offscreenPageLimit = fragmentPages.size //绑定 topTabLayout.setupWithViewPager(fileViewPager) } @@ -62,6 +53,6 @@ override fun setupTopBarLayout() { ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) - titleView.text = "计量文件" + titleView.text = "标准规范" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt new file mode 100644 index 0000000..bafb243 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt @@ -0,0 +1,68 @@ +package com.casic.xz.meterage.view.home + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.StandardFileModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_file_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardFileDetailActivity : KotlinBaseActivity() { + + private val gson by lazy { Gson() } + + override fun initData() { + val fileDetail = intent.getStringExtra(Constant.INTENT_PARAM)!! + val dataRow = gson.fromJson( + fileDetail, object : TypeToken() {}.type + ) + + fileCodeView.text = dataRow.fileCode + fileNumberView.text = dataRow.fileNo + categoryView.text = dataRow.fileTypeName + publisherView.text = dataRow.publisher + implementTimeView.text = dataRow.effectiveTime + implementStateView.text = dataRow.effectiveStatusName + createTimeView.text = dataRow.publishTime + remarkView.text = dataRow.remark + + if (dataRow.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = dataRow.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(Color.BLUE) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(this) + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_file_detail + + override fun observeRequestState() { + + } + + 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/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt index d2ca6f8..ba82fc1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt @@ -157,7 +157,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 deleted file mode 100644 index fc55e38..0000000 --- a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt +++ /dev/null @@ -1,67 +0,0 @@ -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/vm/StandardFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt new file mode 100644 index 0000000..e3f183f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt @@ -0,0 +1,65 @@ +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.StandardFileModel +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 StandardFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getStandardFileList( + 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.getStandardFileList( + 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_detail.xml b/app/src/main/res/layout/activity_standard_file_detail.xml new file mode 100644 index 0000000..7776230 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_file_detail.xml @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_ability.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_cnas.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_detect.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_institution.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_management.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_operation.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_procedure.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_quality.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_regulation.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index e7547f8..0000000 --- a/app/src/main/res/layout/fragment_file_rule.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_standard_file.xml b/app/src/main/res/layout/fragment_standard_file.xml new file mode 100644 index 0000000..f979dfd --- /dev/null +++ b/app/src/main/res/layout/fragment_standard_file.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 899fc1c..dd791fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt index 83ba5ec..5c79fe9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/LogRecordFragment.kt @@ -53,10 +53,10 @@ } } - viewHolder.setText(R.id.operatorNameView, item.createUserName) - .setText(R.id.statusView, item.dealType) - .setText(R.id.operateTimeView, item.createTime) + viewHolder.setText(R.id.statusView, item.dealType) + .setText(R.id.operatorNameView, item.createUserName) .setText(R.id.remarkView, item.recordContent) + .setText(R.id.operateTimeView, item.createTime) } } logRecyclerView.adapter = logAdapter 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 deleted file mode 100644 index 086833c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/CNASFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 1277c98..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/DetectMethodFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 3287d36..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/InstitutionFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db26f05..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ManagementFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index afaea3f..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRegulationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index fb33424..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/MeterageRuleFragment.kt +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 26d8b49..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/OperationFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 790f5f5..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/ProcedureFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index e77771c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/QualityNoteFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index db93e20..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/file/SkillAbilityFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -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/file/StandardFileFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt new file mode 100644 index 0000000..8190fd7 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/file/StandardFileFragment.kt @@ -0,0 +1,175 @@ +package com.casic.xz.meterage.fragment.file + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardFileModel +import com.casic.xz.meterage.view.home.StandardFileDetailActivity +import com.casic.xz.meterage.vm.StandardFileViewModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import kotlinx.android.synthetic.main.fragment_standard_file.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量法规 + * + * formId:jlglwjsp + * fileType:1 + * */ +class StandardFileFragment(private val fileType: String) : KotlinBaseFragment() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var fileViewModel: StandardFileViewModel + 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)[StandardFileViewModel::class.java] + fileViewModel.fileList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardFileLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(requireContext()) + } + dataBeans.addAll(dataRows) + standardFileLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023030601) + } + } + } + + override fun initEvent() { + standardFileLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardFileList() + } + + standardFileLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardFileList() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardFileList() + } + + private fun getStandardFileList() { + fileViewModel.getStandardFileList( + fileType, + "", + "", + "", + "", + "", + "", + "", + "", + arrayOf(), + pageIndex + ) + } + + override fun initLayoutView(): Int = R.layout.fragment_standard_file + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } + + private val callback = Handler.Callback { + when (it.what) { + 2023030601 -> { + if (isRefresh || isLoadMore) { + fileAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无相关计量法规文件") { + pageIndex = 1 + getStandardFileList() + } + } else { + emptyView!!.hide() + fileAdapter = object : + NormalRecyclerAdapter( + R.layout.item_file_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: StandardFileModel.DataModel.RowsModel + ) { + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + viewHolder.setText(R.id.fileNameView, item.fileName) + .setText(R.id.fileStateView, item.effectiveStatusName) + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.fileCodeView, "文件号:${item.fileNo}") + .setText(R.id.releaseDateView, "实施时间:${item.publishTime}") + + if (!item.effectiveStatus.equals("1")) { + viewHolder.setBackgroundColor( + R.id.fileStateView, + R.color.gray.convertColor(requireContext()) + ) + } + } + } + standardFileRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + standardFileRecyclerView.adapter = fileAdapter + fileAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: StandardFileModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo(t.toJson()) + } + }) + } + } + } + } + true + } +} \ 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 deleted file mode 100644 index 4e3715d..0000000 --- a/app/src/main/java/com/casic/xz/meterage/model/MeterageFileListModel.java +++ /dev/null @@ -1,193 +0,0 @@ -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/model/StandardFileModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java new file mode 100644 index 0000000..a897860 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardFileModel.java @@ -0,0 +1,193 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardFileModel { + + 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/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 2d50d0a..1c6a830 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -61,4 +61,7 @@ const val File_SERVER_URL = "http://111.198.10.15:21408" const val ACCOUNT = "account" const val PASSWORD = "password" + + //计量文件表单ID + const val FORM_ID = "jlglwjsp" } \ No newline at end of file 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 76af155..716593d 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 @@ -281,7 +281,7 @@ * 获取计量标准规范文件列表 */ @POST("/meter/file/listPage") - suspend fun getMeterageFileList( + suspend fun getStandardFileList( @Header("token") token: String, @Body requestBody: RequestBody, @QueryMap limit: Map, 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 f5a333f..ed81ea1 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 @@ -624,8 +624,7 @@ /** * 获取计量标准规范文件列表 */ - suspend fun getMeterageFileList( - formId: String, + suspend fun getStandardFileList( fileType: String, fileName: String, fileNo: String, @@ -639,7 +638,7 @@ offset: Int ): String { val param = JsonObject() - param.addProperty("formId", formId) + param.addProperty("formId", LocaleConstant.FORM_ID) param.addProperty("fileType", fileType) param.addProperty("fileName", fileName) param.addProperty("fileNo", fileNo) @@ -660,7 +659,7 @@ val offsetMap = HashMap() offsetMap["offset"] = offset - return api.getMeterageFileList( + return api.getStandardFileList( AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt index 9bbbc6d..f90402b 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt @@ -159,7 +159,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 4db8b9b..b1c4b7f 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 @@ -4,7 +4,7 @@ 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.casic.xz.meterage.fragment.file.StandardFileFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import kotlinx.android.synthetic.main.activity_standard_file.* @@ -27,24 +27,15 @@ 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()) + filePageTitles.indices.forEach { + fragmentPages.add(StandardFileFragment((it + 1).toString())) + } } override fun initData() { - fileViewPager.adapter = SubViewPagerAdapter( supportFragmentManager, fragmentPages, filePageTitles ) - fileViewPager.offscreenPageLimit = fragmentPages.size //绑定 topTabLayout.setupWithViewPager(fileViewPager) } @@ -62,6 +53,6 @@ override fun setupTopBarLayout() { ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) - titleView.text = "计量文件" + titleView.text = "标准规范" } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt new file mode 100644 index 0000000..bafb243 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardFileDetailActivity.kt @@ -0,0 +1,68 @@ +package com.casic.xz.meterage.view.home + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.StandardFileModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_file_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardFileDetailActivity : KotlinBaseActivity() { + + private val gson by lazy { Gson() } + + override fun initData() { + val fileDetail = intent.getStringExtra(Constant.INTENT_PARAM)!! + val dataRow = gson.fromJson( + fileDetail, object : TypeToken() {}.type + ) + + fileCodeView.text = dataRow.fileCode + fileNumberView.text = dataRow.fileNo + categoryView.text = dataRow.fileTypeName + publisherView.text = dataRow.publisher + implementTimeView.text = dataRow.effectiveTime + implementStateView.text = dataRow.effectiveStatusName + createTimeView.text = dataRow.publishTime + remarkView.text = dataRow.remark + + if (dataRow.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = dataRow.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(Color.BLUE) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(this) + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_file_detail + + override fun observeRequestState() { + + } + + 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/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt index d2ca6f8..ba82fc1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt @@ -157,7 +157,7 @@ val remark = if (item.remark.isNullOrBlank()) { "客户没添加任何备注信息" } else { - "【备注】${item.remark}" + "备注:${item.remark}" } viewHolder.setText(R.id.customerNameView, item.customerName) 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 deleted file mode 100644 index fc55e38..0000000 --- a/app/src/main/java/com/casic/xz/meterage/vm/MeterageFileViewModel.kt +++ /dev/null @@ -1,67 +0,0 @@ -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/vm/StandardFileViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt new file mode 100644 index 0000000..e3f183f --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/StandardFileViewModel.kt @@ -0,0 +1,65 @@ +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.StandardFileModel +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 StandardFileViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val fileList = MutableLiveData() + + fun getStandardFileList( + 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.getStandardFileList( + 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_detail.xml b/app/src/main/res/layout/activity_standard_file_detail.xml new file mode 100644 index 0000000..7776230 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_file_detail.xml @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_ability.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_cnas.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_detect.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_institution.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_management.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_operation.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_procedure.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_quality.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index beedcb6..0000000 --- a/app/src/main/res/layout/fragment_file_regulation.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ 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 deleted file mode 100644 index e7547f8..0000000 --- a/app/src/main/res/layout/fragment_file_rule.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_standard_file.xml b/app/src/main/res/layout/fragment_standard_file.xml new file mode 100644 index 0000000..f979dfd --- /dev/null +++ b/app/src/main/res/layout/fragment_standard_file.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_file_rv_l.xml b/app/src/main/res/layout/item_file_rv_l.xml new file mode 100644 index 0000000..bae7bf9 --- /dev/null +++ b/app/src/main/res/layout/item_file_rv_l.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file