diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + 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 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + 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 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + 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 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt index 1f6473b..cfdbacd 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt @@ -210,33 +210,33 @@ BadeHelper.setBadgeNum(this, count) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有任何消息") { + emptyView.showEmptyPage("没有任何消息") { pageIndex = 1 getNoticeListByPage() } } else { - emptyView!!.hide() - noticeAdapter = - object : NormalRecyclerAdapter( + emptyView.hide() + noticeAdapter = object : + NormalRecyclerAdapter( R.layout.item_notice_rv_l, dataBeans ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: NoticeListModel.DataModel.RowsModel - ) { - // holder.noticeTypeIconView.setImageResource() - val state = if (item.read == "0") { - View.VISIBLE - } else { - View.INVISIBLE - } - viewHolder.setVisibility(R.id.readStateView, state) - viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) - .setText(R.id.noticeDateView, item.noticeTime) - .setText(R.id.noticeContentView, item.noticeSketch) + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: NoticeListModel.DataModel.RowsModel + ) { + // holder.noticeTypeIconView.setImageResource() + val state = if (item.read == "0") { + View.VISIBLE + } else { + View.INVISIBLE } + viewHolder.setVisibility(R.id.readStateView, state) + viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) + .setText(R.id.noticeDateView, item.noticeTime) + .setText(R.id.noticeContentView, item.noticeSketch) } + } noticeRecyclerView.addItemDecoration( DividerItemDecoration(this, DividerItemDecoration.VERTICAL) ) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt index 1f6473b..cfdbacd 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt @@ -210,33 +210,33 @@ BadeHelper.setBadgeNum(this, count) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有任何消息") { + emptyView.showEmptyPage("没有任何消息") { pageIndex = 1 getNoticeListByPage() } } else { - emptyView!!.hide() - noticeAdapter = - object : NormalRecyclerAdapter( + emptyView.hide() + noticeAdapter = object : + NormalRecyclerAdapter( R.layout.item_notice_rv_l, dataBeans ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: NoticeListModel.DataModel.RowsModel - ) { - // holder.noticeTypeIconView.setImageResource() - val state = if (item.read == "0") { - View.VISIBLE - } else { - View.INVISIBLE - } - viewHolder.setVisibility(R.id.readStateView, state) - viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) - .setText(R.id.noticeDateView, item.noticeTime) - .setText(R.id.noticeContentView, item.noticeSketch) + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: NoticeListModel.DataModel.RowsModel + ) { + // holder.noticeTypeIconView.setImageResource() + val state = if (item.read == "0") { + View.VISIBLE + } else { + View.INVISIBLE } + viewHolder.setVisibility(R.id.readStateView, state) + viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) + .setText(R.id.noticeDateView, item.noticeTime) + .setText(R.id.noticeContentView, item.noticeSketch) } + } noticeRecyclerView.addItemDecoration( DividerItemDecoration(this, DividerItemDecoration.VERTICAL) ) diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index 65b1716..91fc4bf 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -144,12 +144,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt index 1f6473b..cfdbacd 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt @@ -210,33 +210,33 @@ BadeHelper.setBadgeNum(this, count) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有任何消息") { + emptyView.showEmptyPage("没有任何消息") { pageIndex = 1 getNoticeListByPage() } } else { - emptyView!!.hide() - noticeAdapter = - object : NormalRecyclerAdapter( + emptyView.hide() + noticeAdapter = object : + NormalRecyclerAdapter( R.layout.item_notice_rv_l, dataBeans ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: NoticeListModel.DataModel.RowsModel - ) { - // holder.noticeTypeIconView.setImageResource() - val state = if (item.read == "0") { - View.VISIBLE - } else { - View.INVISIBLE - } - viewHolder.setVisibility(R.id.readStateView, state) - viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) - .setText(R.id.noticeDateView, item.noticeTime) - .setText(R.id.noticeContentView, item.noticeSketch) + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: NoticeListModel.DataModel.RowsModel + ) { + // holder.noticeTypeIconView.setImageResource() + val state = if (item.read == "0") { + View.VISIBLE + } else { + View.INVISIBLE } + viewHolder.setVisibility(R.id.readStateView, state) + viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) + .setText(R.id.noticeDateView, item.noticeTime) + .setText(R.id.noticeContentView, item.noticeSketch) } + } noticeRecyclerView.addItemDecoration( DividerItemDecoration(this, DividerItemDecoration.VERTICAL) ) diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index 65b1716..91fc4bf 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -144,12 +144,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt index a18a2f4..77bef64 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt @@ -152,12 +152,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt index 1f6473b..cfdbacd 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt @@ -210,33 +210,33 @@ BadeHelper.setBadgeNum(this, count) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有任何消息") { + emptyView.showEmptyPage("没有任何消息") { pageIndex = 1 getNoticeListByPage() } } else { - emptyView!!.hide() - noticeAdapter = - object : NormalRecyclerAdapter( + emptyView.hide() + noticeAdapter = object : + NormalRecyclerAdapter( R.layout.item_notice_rv_l, dataBeans ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: NoticeListModel.DataModel.RowsModel - ) { - // holder.noticeTypeIconView.setImageResource() - val state = if (item.read == "0") { - View.VISIBLE - } else { - View.INVISIBLE - } - viewHolder.setVisibility(R.id.readStateView, state) - viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) - .setText(R.id.noticeDateView, item.noticeTime) - .setText(R.id.noticeContentView, item.noticeSketch) + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: NoticeListModel.DataModel.RowsModel + ) { + // holder.noticeTypeIconView.setImageResource() + val state = if (item.read == "0") { + View.VISIBLE + } else { + View.INVISIBLE } + viewHolder.setVisibility(R.id.readStateView, state) + viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) + .setText(R.id.noticeDateView, item.noticeTime) + .setText(R.id.noticeContentView, item.noticeSketch) } + } noticeRecyclerView.addItemDecoration( DividerItemDecoration(this, DividerItemDecoration.VERTICAL) ) diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index 65b1716..91fc4bf 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -144,12 +144,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt index a18a2f4..77bef64 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt @@ -152,12 +152,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 797fb1f..ae09c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -141,12 +141,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt index 1f6473b..cfdbacd 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt @@ -210,33 +210,33 @@ BadeHelper.setBadgeNum(this, count) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有任何消息") { + emptyView.showEmptyPage("没有任何消息") { pageIndex = 1 getNoticeListByPage() } } else { - emptyView!!.hide() - noticeAdapter = - object : NormalRecyclerAdapter( + emptyView.hide() + noticeAdapter = object : + NormalRecyclerAdapter( R.layout.item_notice_rv_l, dataBeans ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: NoticeListModel.DataModel.RowsModel - ) { - // holder.noticeTypeIconView.setImageResource() - val state = if (item.read == "0") { - View.VISIBLE - } else { - View.INVISIBLE - } - viewHolder.setVisibility(R.id.readStateView, state) - viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) - .setText(R.id.noticeDateView, item.noticeTime) - .setText(R.id.noticeContentView, item.noticeSketch) + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: NoticeListModel.DataModel.RowsModel + ) { + // holder.noticeTypeIconView.setImageResource() + val state = if (item.read == "0") { + View.VISIBLE + } else { + View.INVISIBLE } + viewHolder.setVisibility(R.id.readStateView, state) + viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) + .setText(R.id.noticeDateView, item.noticeTime) + .setText(R.id.noticeContentView, item.noticeSketch) } + } noticeRecyclerView.addItemDecoration( DividerItemDecoration(this, DividerItemDecoration.VERTICAL) ) diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index 65b1716..91fc4bf 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -144,12 +144,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt index a18a2f4..77bef64 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt @@ -152,12 +152,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 797fb1f..ae09c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -141,12 +141,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans 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 12700c2..344aa77 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 @@ -147,12 +147,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无符合条件的委托需求") { + emptyView.showEmptyPage("无符合条件的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt index 1f6473b..cfdbacd 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt @@ -210,33 +210,33 @@ BadeHelper.setBadgeNum(this, count) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有任何消息") { + emptyView.showEmptyPage("没有任何消息") { pageIndex = 1 getNoticeListByPage() } } else { - emptyView!!.hide() - noticeAdapter = - object : NormalRecyclerAdapter( + emptyView.hide() + noticeAdapter = object : + NormalRecyclerAdapter( R.layout.item_notice_rv_l, dataBeans ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: NoticeListModel.DataModel.RowsModel - ) { - // holder.noticeTypeIconView.setImageResource() - val state = if (item.read == "0") { - View.VISIBLE - } else { - View.INVISIBLE - } - viewHolder.setVisibility(R.id.readStateView, state) - viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) - .setText(R.id.noticeDateView, item.noticeTime) - .setText(R.id.noticeContentView, item.noticeSketch) + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: NoticeListModel.DataModel.RowsModel + ) { + // holder.noticeTypeIconView.setImageResource() + val state = if (item.read == "0") { + View.VISIBLE + } else { + View.INVISIBLE } + viewHolder.setVisibility(R.id.readStateView, state) + viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) + .setText(R.id.noticeDateView, item.noticeTime) + .setText(R.id.noticeContentView, item.noticeSketch) } + } noticeRecyclerView.addItemDecoration( DividerItemDecoration(this, DividerItemDecoration.VERTICAL) ) diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index 65b1716..91fc4bf 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -144,12 +144,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt index a18a2f4..77bef64 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt @@ -152,12 +152,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 797fb1f..ae09c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -141,12 +141,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans 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 12700c2..344aa77 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 @@ -147,12 +147,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无符合条件的委托需求") { + emptyView.showEmptyPage("无符合条件的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt index 669067b..fd27b62 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt @@ -157,12 +157,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有查询到符合条件的设备数据") { + emptyView.showEmptyPage("没有查询到符合条件的设备数据") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt index 1f6473b..cfdbacd 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt @@ -210,33 +210,33 @@ BadeHelper.setBadgeNum(this, count) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有任何消息") { + emptyView.showEmptyPage("没有任何消息") { pageIndex = 1 getNoticeListByPage() } } else { - emptyView!!.hide() - noticeAdapter = - object : NormalRecyclerAdapter( + emptyView.hide() + noticeAdapter = object : + NormalRecyclerAdapter( R.layout.item_notice_rv_l, dataBeans ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: NoticeListModel.DataModel.RowsModel - ) { - // holder.noticeTypeIconView.setImageResource() - val state = if (item.read == "0") { - View.VISIBLE - } else { - View.INVISIBLE - } - viewHolder.setVisibility(R.id.readStateView, state) - viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) - .setText(R.id.noticeDateView, item.noticeTime) - .setText(R.id.noticeContentView, item.noticeSketch) + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: NoticeListModel.DataModel.RowsModel + ) { + // holder.noticeTypeIconView.setImageResource() + val state = if (item.read == "0") { + View.VISIBLE + } else { + View.INVISIBLE } + viewHolder.setVisibility(R.id.readStateView, state) + viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) + .setText(R.id.noticeDateView, item.noticeTime) + .setText(R.id.noticeContentView, item.noticeSketch) } + } noticeRecyclerView.addItemDecoration( DividerItemDecoration(this, DividerItemDecoration.VERTICAL) ) diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index 65b1716..91fc4bf 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -144,12 +144,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt index a18a2f4..77bef64 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt @@ -152,12 +152,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 797fb1f..ae09c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -141,12 +141,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans 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 12700c2..344aa77 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 @@ -147,12 +147,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无符合条件的委托需求") { + emptyView.showEmptyPage("无符合条件的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt index 669067b..fd27b62 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt @@ -157,12 +157,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有查询到符合条件的设备数据") { + emptyView.showEmptyPage("没有查询到符合条件的设备数据") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt index 395fb77..5f3facc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt @@ -135,12 +135,12 @@ globalResultAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getGlobalSearchResult() } } else { - emptyView!!.hide() + emptyView.hide() globalResultAdapter = object : NormalRecyclerAdapter( R.layout.item_global_search_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt index 1f6473b..cfdbacd 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt @@ -210,33 +210,33 @@ BadeHelper.setBadgeNum(this, count) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有任何消息") { + emptyView.showEmptyPage("没有任何消息") { pageIndex = 1 getNoticeListByPage() } } else { - emptyView!!.hide() - noticeAdapter = - object : NormalRecyclerAdapter( + emptyView.hide() + noticeAdapter = object : + NormalRecyclerAdapter( R.layout.item_notice_rv_l, dataBeans ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: NoticeListModel.DataModel.RowsModel - ) { - // holder.noticeTypeIconView.setImageResource() - val state = if (item.read == "0") { - View.VISIBLE - } else { - View.INVISIBLE - } - viewHolder.setVisibility(R.id.readStateView, state) - viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) - .setText(R.id.noticeDateView, item.noticeTime) - .setText(R.id.noticeContentView, item.noticeSketch) + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: NoticeListModel.DataModel.RowsModel + ) { + // holder.noticeTypeIconView.setImageResource() + val state = if (item.read == "0") { + View.VISIBLE + } else { + View.INVISIBLE } + viewHolder.setVisibility(R.id.readStateView, state) + viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) + .setText(R.id.noticeDateView, item.noticeTime) + .setText(R.id.noticeContentView, item.noticeSketch) } + } noticeRecyclerView.addItemDecoration( DividerItemDecoration(this, DividerItemDecoration.VERTICAL) ) diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index 65b1716..91fc4bf 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -144,12 +144,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt index a18a2f4..77bef64 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt @@ -152,12 +152,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 797fb1f..ae09c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -141,12 +141,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans 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 12700c2..344aa77 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 @@ -147,12 +147,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无符合条件的委托需求") { + emptyView.showEmptyPage("无符合条件的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt index 669067b..fd27b62 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt @@ -157,12 +157,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有查询到符合条件的设备数据") { + emptyView.showEmptyPage("没有查询到符合条件的设备数据") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt index 395fb77..5f3facc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt @@ -135,12 +135,12 @@ globalResultAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getGlobalSearchResult() } } else { - emptyView!!.hide() + emptyView.hide() globalResultAdapter = object : NormalRecyclerAdapter( R.layout.item_global_search_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt index cebdace..2097968 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt @@ -151,12 +151,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt index 1f6473b..cfdbacd 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt @@ -210,33 +210,33 @@ BadeHelper.setBadgeNum(this, count) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有任何消息") { + emptyView.showEmptyPage("没有任何消息") { pageIndex = 1 getNoticeListByPage() } } else { - emptyView!!.hide() - noticeAdapter = - object : NormalRecyclerAdapter( + emptyView.hide() + noticeAdapter = object : + NormalRecyclerAdapter( R.layout.item_notice_rv_l, dataBeans ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: NoticeListModel.DataModel.RowsModel - ) { - // holder.noticeTypeIconView.setImageResource() - val state = if (item.read == "0") { - View.VISIBLE - } else { - View.INVISIBLE - } - viewHolder.setVisibility(R.id.readStateView, state) - viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) - .setText(R.id.noticeDateView, item.noticeTime) - .setText(R.id.noticeContentView, item.noticeSketch) + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: NoticeListModel.DataModel.RowsModel + ) { + // holder.noticeTypeIconView.setImageResource() + val state = if (item.read == "0") { + View.VISIBLE + } else { + View.INVISIBLE } + viewHolder.setVisibility(R.id.readStateView, state) + viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) + .setText(R.id.noticeDateView, item.noticeTime) + .setText(R.id.noticeContentView, item.noticeSketch) } + } noticeRecyclerView.addItemDecoration( DividerItemDecoration(this, DividerItemDecoration.VERTICAL) ) diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index 65b1716..91fc4bf 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -144,12 +144,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt index a18a2f4..77bef64 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt @@ -152,12 +152,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 797fb1f..ae09c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -141,12 +141,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans 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 12700c2..344aa77 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 @@ -147,12 +147,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无符合条件的委托需求") { + emptyView.showEmptyPage("无符合条件的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt index 669067b..fd27b62 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt @@ -157,12 +157,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有查询到符合条件的设备数据") { + emptyView.showEmptyPage("没有查询到符合条件的设备数据") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt index 395fb77..5f3facc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt @@ -135,12 +135,12 @@ globalResultAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getGlobalSearchResult() } } else { - emptyView!!.hide() + emptyView.hide() globalResultAdapter = object : NormalRecyclerAdapter( R.layout.item_global_search_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt index cebdace..2097968 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt @@ -151,12 +151,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt index e278a94..5d6a6e1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -149,12 +149,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt index 1f6473b..cfdbacd 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt @@ -210,33 +210,33 @@ BadeHelper.setBadgeNum(this, count) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有任何消息") { + emptyView.showEmptyPage("没有任何消息") { pageIndex = 1 getNoticeListByPage() } } else { - emptyView!!.hide() - noticeAdapter = - object : NormalRecyclerAdapter( + emptyView.hide() + noticeAdapter = object : + NormalRecyclerAdapter( R.layout.item_notice_rv_l, dataBeans ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: NoticeListModel.DataModel.RowsModel - ) { - // holder.noticeTypeIconView.setImageResource() - val state = if (item.read == "0") { - View.VISIBLE - } else { - View.INVISIBLE - } - viewHolder.setVisibility(R.id.readStateView, state) - viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) - .setText(R.id.noticeDateView, item.noticeTime) - .setText(R.id.noticeContentView, item.noticeSketch) + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: NoticeListModel.DataModel.RowsModel + ) { + // holder.noticeTypeIconView.setImageResource() + val state = if (item.read == "0") { + View.VISIBLE + } else { + View.INVISIBLE } + viewHolder.setVisibility(R.id.readStateView, state) + viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) + .setText(R.id.noticeDateView, item.noticeTime) + .setText(R.id.noticeContentView, item.noticeSketch) } + } noticeRecyclerView.addItemDecoration( DividerItemDecoration(this, DividerItemDecoration.VERTICAL) ) diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index 65b1716..91fc4bf 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -144,12 +144,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt index a18a2f4..77bef64 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt @@ -152,12 +152,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 797fb1f..ae09c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -141,12 +141,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans 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 12700c2..344aa77 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 @@ -147,12 +147,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无符合条件的委托需求") { + emptyView.showEmptyPage("无符合条件的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt index 669067b..fd27b62 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt @@ -157,12 +157,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有查询到符合条件的设备数据") { + emptyView.showEmptyPage("没有查询到符合条件的设备数据") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt index 395fb77..5f3facc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt @@ -135,12 +135,12 @@ globalResultAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getGlobalSearchResult() } } else { - emptyView!!.hide() + emptyView.hide() globalResultAdapter = object : NormalRecyclerAdapter( R.layout.item_global_search_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt index cebdace..2097968 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt @@ -151,12 +151,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt index e278a94..5d6a6e1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -149,12 +149,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt index b0b37ea..40126d0 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt @@ -24,7 +24,7 @@ val detectionList = MutableLiveData() val detectionDetail = MutableLiveData() val receiveResult = MutableLiveData() - val detectionCountResult = MutableLiveData() + val detectionCountResult = MutableLiveData() fun getOutfieldDetectionList( approvalStatus: String, @@ -174,14 +174,14 @@ fun getDetectionCount() = launch({ val response = RetrofitServiceManager.getDetectionCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// detectionCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + detectionCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt index 1f6473b..cfdbacd 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt @@ -210,33 +210,33 @@ BadeHelper.setBadgeNum(this, count) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有任何消息") { + emptyView.showEmptyPage("没有任何消息") { pageIndex = 1 getNoticeListByPage() } } else { - emptyView!!.hide() - noticeAdapter = - object : NormalRecyclerAdapter( + emptyView.hide() + noticeAdapter = object : + NormalRecyclerAdapter( R.layout.item_notice_rv_l, dataBeans ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: NoticeListModel.DataModel.RowsModel - ) { - // holder.noticeTypeIconView.setImageResource() - val state = if (item.read == "0") { - View.VISIBLE - } else { - View.INVISIBLE - } - viewHolder.setVisibility(R.id.readStateView, state) - viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) - .setText(R.id.noticeDateView, item.noticeTime) - .setText(R.id.noticeContentView, item.noticeSketch) + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: NoticeListModel.DataModel.RowsModel + ) { + // holder.noticeTypeIconView.setImageResource() + val state = if (item.read == "0") { + View.VISIBLE + } else { + View.INVISIBLE } + viewHolder.setVisibility(R.id.readStateView, state) + viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) + .setText(R.id.noticeDateView, item.noticeTime) + .setText(R.id.noticeContentView, item.noticeSketch) } + } noticeRecyclerView.addItemDecoration( DividerItemDecoration(this, DividerItemDecoration.VERTICAL) ) diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index 65b1716..91fc4bf 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -144,12 +144,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt index a18a2f4..77bef64 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt @@ -152,12 +152,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 797fb1f..ae09c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -141,12 +141,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans 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 12700c2..344aa77 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 @@ -147,12 +147,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无符合条件的委托需求") { + emptyView.showEmptyPage("无符合条件的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt index 669067b..fd27b62 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt @@ -157,12 +157,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有查询到符合条件的设备数据") { + emptyView.showEmptyPage("没有查询到符合条件的设备数据") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt index 395fb77..5f3facc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt @@ -135,12 +135,12 @@ globalResultAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getGlobalSearchResult() } } else { - emptyView!!.hide() + emptyView.hide() globalResultAdapter = object : NormalRecyclerAdapter( R.layout.item_global_search_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt index cebdace..2097968 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt @@ -151,12 +151,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt index e278a94..5d6a6e1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -149,12 +149,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt index b0b37ea..40126d0 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt @@ -24,7 +24,7 @@ val detectionList = MutableLiveData() val detectionDetail = MutableLiveData() val receiveResult = MutableLiveData() - val detectionCountResult = MutableLiveData() + val detectionCountResult = MutableLiveData() fun getOutfieldDetectionList( approvalStatus: String, @@ -174,14 +174,14 @@ fun getDetectionCount() = launch({ val response = RetrofitServiceManager.getDetectionCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// detectionCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + detectionCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt index ab8a598..54d6704 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt @@ -4,6 +4,7 @@ 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.TaskCountModel import com.casic.xz.meterage.model.TaskDetailModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager @@ -22,7 +23,7 @@ private val gson by lazy { Gson() } val taskList = MutableLiveData() val taskDetail = MutableLiveData() - val taskCountResult = MutableLiveData() + val taskCountResult = MutableLiveData() //2,3,4,8 fun getTaskListByState( @@ -90,15 +91,15 @@ }) fun getTaskCount() = launch({ -// val response = RetrofitServiceManager.getTaskCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// taskCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val response = RetrofitServiceManager.getTaskCount() + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + taskCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt index 1f6473b..cfdbacd 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt @@ -210,33 +210,33 @@ BadeHelper.setBadgeNum(this, count) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有任何消息") { + emptyView.showEmptyPage("没有任何消息") { pageIndex = 1 getNoticeListByPage() } } else { - emptyView!!.hide() - noticeAdapter = - object : NormalRecyclerAdapter( + emptyView.hide() + noticeAdapter = object : + NormalRecyclerAdapter( R.layout.item_notice_rv_l, dataBeans ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: NoticeListModel.DataModel.RowsModel - ) { - // holder.noticeTypeIconView.setImageResource() - val state = if (item.read == "0") { - View.VISIBLE - } else { - View.INVISIBLE - } - viewHolder.setVisibility(R.id.readStateView, state) - viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) - .setText(R.id.noticeDateView, item.noticeTime) - .setText(R.id.noticeContentView, item.noticeSketch) + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: NoticeListModel.DataModel.RowsModel + ) { + // holder.noticeTypeIconView.setImageResource() + val state = if (item.read == "0") { + View.VISIBLE + } else { + View.INVISIBLE } + viewHolder.setVisibility(R.id.readStateView, state) + viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) + .setText(R.id.noticeDateView, item.noticeTime) + .setText(R.id.noticeContentView, item.noticeSketch) } + } noticeRecyclerView.addItemDecoration( DividerItemDecoration(this, DividerItemDecoration.VERTICAL) ) diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index 65b1716..91fc4bf 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -144,12 +144,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt index a18a2f4..77bef64 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt @@ -152,12 +152,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 797fb1f..ae09c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -141,12 +141,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans 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 12700c2..344aa77 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 @@ -147,12 +147,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无符合条件的委托需求") { + emptyView.showEmptyPage("无符合条件的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt index 669067b..fd27b62 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt @@ -157,12 +157,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有查询到符合条件的设备数据") { + emptyView.showEmptyPage("没有查询到符合条件的设备数据") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt index 395fb77..5f3facc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt @@ -135,12 +135,12 @@ globalResultAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getGlobalSearchResult() } } else { - emptyView!!.hide() + emptyView.hide() globalResultAdapter = object : NormalRecyclerAdapter( R.layout.item_global_search_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt index cebdace..2097968 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt @@ -151,12 +151,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt index e278a94..5d6a6e1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -149,12 +149,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt index b0b37ea..40126d0 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt @@ -24,7 +24,7 @@ val detectionList = MutableLiveData() val detectionDetail = MutableLiveData() val receiveResult = MutableLiveData() - val detectionCountResult = MutableLiveData() + val detectionCountResult = MutableLiveData() fun getOutfieldDetectionList( approvalStatus: String, @@ -174,14 +174,14 @@ fun getDetectionCount() = launch({ val response = RetrofitServiceManager.getDetectionCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// detectionCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + detectionCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt index ab8a598..54d6704 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt @@ -4,6 +4,7 @@ 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.TaskCountModel import com.casic.xz.meterage.model.TaskDetailModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager @@ -22,7 +23,7 @@ private val gson by lazy { Gson() } val taskList = MutableLiveData() val taskDetail = MutableLiveData() - val taskCountResult = MutableLiveData() + val taskCountResult = MutableLiveData() //2,3,4,8 fun getTaskListByState( @@ -90,15 +91,15 @@ }) fun getTaskCount() = launch({ -// val response = RetrofitServiceManager.getTaskCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// taskCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val response = RetrofitServiceManager.getTaskCount() + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + taskCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt b/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt index 20103b1..587e4aa 100644 --- a/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt +++ b/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt @@ -49,12 +49,11 @@ setCanceledOnTouchOutside(true) val logRecyclerView: RecyclerView = findViewById(R.id.logRecyclerView) - logRecyclerView.adapter = MeasureProcessAdapter(ctx, process) + logRecyclerView.adapter = ProcessAdapter(ctx, process) } - inner class MeasureProcessAdapter( - context: Context, private val dataRows: List - ) : RecyclerView.Adapter() { + inner class ProcessAdapter(context: Context, private val dataRows: List) : + RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt index 1f6473b..cfdbacd 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt @@ -210,33 +210,33 @@ BadeHelper.setBadgeNum(this, count) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有任何消息") { + emptyView.showEmptyPage("没有任何消息") { pageIndex = 1 getNoticeListByPage() } } else { - emptyView!!.hide() - noticeAdapter = - object : NormalRecyclerAdapter( + emptyView.hide() + noticeAdapter = object : + NormalRecyclerAdapter( R.layout.item_notice_rv_l, dataBeans ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: NoticeListModel.DataModel.RowsModel - ) { - // holder.noticeTypeIconView.setImageResource() - val state = if (item.read == "0") { - View.VISIBLE - } else { - View.INVISIBLE - } - viewHolder.setVisibility(R.id.readStateView, state) - viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) - .setText(R.id.noticeDateView, item.noticeTime) - .setText(R.id.noticeContentView, item.noticeSketch) + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: NoticeListModel.DataModel.RowsModel + ) { + // holder.noticeTypeIconView.setImageResource() + val state = if (item.read == "0") { + View.VISIBLE + } else { + View.INVISIBLE } + viewHolder.setVisibility(R.id.readStateView, state) + viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) + .setText(R.id.noticeDateView, item.noticeTime) + .setText(R.id.noticeContentView, item.noticeSketch) } + } noticeRecyclerView.addItemDecoration( DividerItemDecoration(this, DividerItemDecoration.VERTICAL) ) diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index 65b1716..91fc4bf 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -144,12 +144,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt index a18a2f4..77bef64 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt @@ -152,12 +152,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 797fb1f..ae09c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -141,12 +141,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans 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 12700c2..344aa77 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 @@ -147,12 +147,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无符合条件的委托需求") { + emptyView.showEmptyPage("无符合条件的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt index 669067b..fd27b62 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt @@ -157,12 +157,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有查询到符合条件的设备数据") { + emptyView.showEmptyPage("没有查询到符合条件的设备数据") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt index 395fb77..5f3facc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt @@ -135,12 +135,12 @@ globalResultAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getGlobalSearchResult() } } else { - emptyView!!.hide() + emptyView.hide() globalResultAdapter = object : NormalRecyclerAdapter( R.layout.item_global_search_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt index cebdace..2097968 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt @@ -151,12 +151,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt index e278a94..5d6a6e1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -149,12 +149,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt index b0b37ea..40126d0 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt @@ -24,7 +24,7 @@ val detectionList = MutableLiveData() val detectionDetail = MutableLiveData() val receiveResult = MutableLiveData() - val detectionCountResult = MutableLiveData() + val detectionCountResult = MutableLiveData() fun getOutfieldDetectionList( approvalStatus: String, @@ -174,14 +174,14 @@ fun getDetectionCount() = launch({ val response = RetrofitServiceManager.getDetectionCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// detectionCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + detectionCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt index ab8a598..54d6704 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt @@ -4,6 +4,7 @@ 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.TaskCountModel import com.casic.xz.meterage.model.TaskDetailModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager @@ -22,7 +23,7 @@ private val gson by lazy { Gson() } val taskList = MutableLiveData() val taskDetail = MutableLiveData() - val taskCountResult = MutableLiveData() + val taskCountResult = MutableLiveData() //2,3,4,8 fun getTaskListByState( @@ -90,15 +91,15 @@ }) fun getTaskCount() = launch({ -// val response = RetrofitServiceManager.getTaskCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// taskCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val response = RetrofitServiceManager.getTaskCount() + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + taskCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt b/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt index 20103b1..587e4aa 100644 --- a/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt +++ b/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt @@ -49,12 +49,11 @@ setCanceledOnTouchOutside(true) val logRecyclerView: RecyclerView = findViewById(R.id.logRecyclerView) - logRecyclerView.adapter = MeasureProcessAdapter(ctx, process) + logRecyclerView.adapter = ProcessAdapter(ctx, process) } - inner class MeasureProcessAdapter( - context: Context, private val dataRows: List - ) : RecyclerView.Adapter() { + inner class ProcessAdapter(context: Context, private val dataRows: List) : + RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) diff --git a/app/src/main/res/layout/activity_detection_sample_detail.xml b/app/src/main/res/layout/activity_detection_sample_detail.xml new file mode 100644 index 0000000..ee03c87 --- /dev/null +++ b/app/src/main/res/layout/activity_detection_sample_detail.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt index 1f6473b..cfdbacd 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt @@ -210,33 +210,33 @@ BadeHelper.setBadgeNum(this, count) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有任何消息") { + emptyView.showEmptyPage("没有任何消息") { pageIndex = 1 getNoticeListByPage() } } else { - emptyView!!.hide() - noticeAdapter = - object : NormalRecyclerAdapter( + emptyView.hide() + noticeAdapter = object : + NormalRecyclerAdapter( R.layout.item_notice_rv_l, dataBeans ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: NoticeListModel.DataModel.RowsModel - ) { - // holder.noticeTypeIconView.setImageResource() - val state = if (item.read == "0") { - View.VISIBLE - } else { - View.INVISIBLE - } - viewHolder.setVisibility(R.id.readStateView, state) - viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) - .setText(R.id.noticeDateView, item.noticeTime) - .setText(R.id.noticeContentView, item.noticeSketch) + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: NoticeListModel.DataModel.RowsModel + ) { + // holder.noticeTypeIconView.setImageResource() + val state = if (item.read == "0") { + View.VISIBLE + } else { + View.INVISIBLE } + viewHolder.setVisibility(R.id.readStateView, state) + viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) + .setText(R.id.noticeDateView, item.noticeTime) + .setText(R.id.noticeContentView, item.noticeSketch) } + } noticeRecyclerView.addItemDecoration( DividerItemDecoration(this, DividerItemDecoration.VERTICAL) ) diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index 65b1716..91fc4bf 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -144,12 +144,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt index a18a2f4..77bef64 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt @@ -152,12 +152,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 797fb1f..ae09c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -141,12 +141,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans 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 12700c2..344aa77 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 @@ -147,12 +147,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无符合条件的委托需求") { + emptyView.showEmptyPage("无符合条件的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt index 669067b..fd27b62 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt @@ -157,12 +157,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有查询到符合条件的设备数据") { + emptyView.showEmptyPage("没有查询到符合条件的设备数据") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt index 395fb77..5f3facc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt @@ -135,12 +135,12 @@ globalResultAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getGlobalSearchResult() } } else { - emptyView!!.hide() + emptyView.hide() globalResultAdapter = object : NormalRecyclerAdapter( R.layout.item_global_search_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt index cebdace..2097968 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt @@ -151,12 +151,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt index e278a94..5d6a6e1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -149,12 +149,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt index b0b37ea..40126d0 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt @@ -24,7 +24,7 @@ val detectionList = MutableLiveData() val detectionDetail = MutableLiveData() val receiveResult = MutableLiveData() - val detectionCountResult = MutableLiveData() + val detectionCountResult = MutableLiveData() fun getOutfieldDetectionList( approvalStatus: String, @@ -174,14 +174,14 @@ fun getDetectionCount() = launch({ val response = RetrofitServiceManager.getDetectionCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// detectionCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + detectionCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt index ab8a598..54d6704 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt @@ -4,6 +4,7 @@ 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.TaskCountModel import com.casic.xz.meterage.model.TaskDetailModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager @@ -22,7 +23,7 @@ private val gson by lazy { Gson() } val taskList = MutableLiveData() val taskDetail = MutableLiveData() - val taskCountResult = MutableLiveData() + val taskCountResult = MutableLiveData() //2,3,4,8 fun getTaskListByState( @@ -90,15 +91,15 @@ }) fun getTaskCount() = launch({ -// val response = RetrofitServiceManager.getTaskCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// taskCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val response = RetrofitServiceManager.getTaskCount() + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + taskCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt b/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt index 20103b1..587e4aa 100644 --- a/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt +++ b/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt @@ -49,12 +49,11 @@ setCanceledOnTouchOutside(true) val logRecyclerView: RecyclerView = findViewById(R.id.logRecyclerView) - logRecyclerView.adapter = MeasureProcessAdapter(ctx, process) + logRecyclerView.adapter = ProcessAdapter(ctx, process) } - inner class MeasureProcessAdapter( - context: Context, private val dataRows: List - ) : RecyclerView.Adapter() { + inner class ProcessAdapter(context: Context, private val dataRows: List) : + RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) diff --git a/app/src/main/res/layout/activity_detection_sample_detail.xml b/app/src/main/res/layout/activity_detection_sample_detail.xml new file mode 100644 index 0000000..ee03c87 --- /dev/null +++ b/app/src/main/res/layout/activity_detection_sample_detail.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detection.xml b/app/src/main/res/layout/fragment_detection.xml index 27f1fdf..37eb90b 100644 --- a/app/src/main/res/layout/fragment_detection.xml +++ b/app/src/main/res/layout/fragment_detection.xml @@ -20,7 +20,7 @@ android:textColor="@color/black" android:textSize="@dimen/sp_18" /> - + + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt index 1f6473b..cfdbacd 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt @@ -210,33 +210,33 @@ BadeHelper.setBadgeNum(this, count) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有任何消息") { + emptyView.showEmptyPage("没有任何消息") { pageIndex = 1 getNoticeListByPage() } } else { - emptyView!!.hide() - noticeAdapter = - object : NormalRecyclerAdapter( + emptyView.hide() + noticeAdapter = object : + NormalRecyclerAdapter( R.layout.item_notice_rv_l, dataBeans ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: NoticeListModel.DataModel.RowsModel - ) { - // holder.noticeTypeIconView.setImageResource() - val state = if (item.read == "0") { - View.VISIBLE - } else { - View.INVISIBLE - } - viewHolder.setVisibility(R.id.readStateView, state) - viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) - .setText(R.id.noticeDateView, item.noticeTime) - .setText(R.id.noticeContentView, item.noticeSketch) + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: NoticeListModel.DataModel.RowsModel + ) { + // holder.noticeTypeIconView.setImageResource() + val state = if (item.read == "0") { + View.VISIBLE + } else { + View.INVISIBLE } + viewHolder.setVisibility(R.id.readStateView, state) + viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) + .setText(R.id.noticeDateView, item.noticeTime) + .setText(R.id.noticeContentView, item.noticeSketch) } + } noticeRecyclerView.addItemDecoration( DividerItemDecoration(this, DividerItemDecoration.VERTICAL) ) diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index 65b1716..91fc4bf 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -144,12 +144,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt index a18a2f4..77bef64 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt @@ -152,12 +152,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 797fb1f..ae09c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -141,12 +141,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans 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 12700c2..344aa77 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 @@ -147,12 +147,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无符合条件的委托需求") { + emptyView.showEmptyPage("无符合条件的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt index 669067b..fd27b62 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt @@ -157,12 +157,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有查询到符合条件的设备数据") { + emptyView.showEmptyPage("没有查询到符合条件的设备数据") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt index 395fb77..5f3facc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt @@ -135,12 +135,12 @@ globalResultAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getGlobalSearchResult() } } else { - emptyView!!.hide() + emptyView.hide() globalResultAdapter = object : NormalRecyclerAdapter( R.layout.item_global_search_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt index cebdace..2097968 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt @@ -151,12 +151,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt index e278a94..5d6a6e1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -149,12 +149,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt index b0b37ea..40126d0 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt @@ -24,7 +24,7 @@ val detectionList = MutableLiveData() val detectionDetail = MutableLiveData() val receiveResult = MutableLiveData() - val detectionCountResult = MutableLiveData() + val detectionCountResult = MutableLiveData() fun getOutfieldDetectionList( approvalStatus: String, @@ -174,14 +174,14 @@ fun getDetectionCount() = launch({ val response = RetrofitServiceManager.getDetectionCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// detectionCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + detectionCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt index ab8a598..54d6704 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt @@ -4,6 +4,7 @@ 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.TaskCountModel import com.casic.xz.meterage.model.TaskDetailModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager @@ -22,7 +23,7 @@ private val gson by lazy { Gson() } val taskList = MutableLiveData() val taskDetail = MutableLiveData() - val taskCountResult = MutableLiveData() + val taskCountResult = MutableLiveData() //2,3,4,8 fun getTaskListByState( @@ -90,15 +91,15 @@ }) fun getTaskCount() = launch({ -// val response = RetrofitServiceManager.getTaskCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// taskCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val response = RetrofitServiceManager.getTaskCount() + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + taskCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt b/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt index 20103b1..587e4aa 100644 --- a/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt +++ b/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt @@ -49,12 +49,11 @@ setCanceledOnTouchOutside(true) val logRecyclerView: RecyclerView = findViewById(R.id.logRecyclerView) - logRecyclerView.adapter = MeasureProcessAdapter(ctx, process) + logRecyclerView.adapter = ProcessAdapter(ctx, process) } - inner class MeasureProcessAdapter( - context: Context, private val dataRows: List - ) : RecyclerView.Adapter() { + inner class ProcessAdapter(context: Context, private val dataRows: List) : + RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) diff --git a/app/src/main/res/layout/activity_detection_sample_detail.xml b/app/src/main/res/layout/activity_detection_sample_detail.xml new file mode 100644 index 0000000..ee03c87 --- /dev/null +++ b/app/src/main/res/layout/activity_detection_sample_detail.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detection.xml b/app/src/main/res/layout/fragment_detection.xml index 27f1fdf..37eb90b 100644 --- a/app/src/main/res/layout/fragment_detection.xml +++ b/app/src/main/res/layout/fragment_detection.xml @@ -20,7 +20,7 @@ android:textColor="@color/black" android:textSize="@dimen/sp_18" /> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt index 1f6473b..cfdbacd 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt @@ -210,33 +210,33 @@ BadeHelper.setBadgeNum(this, count) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有任何消息") { + emptyView.showEmptyPage("没有任何消息") { pageIndex = 1 getNoticeListByPage() } } else { - emptyView!!.hide() - noticeAdapter = - object : NormalRecyclerAdapter( + emptyView.hide() + noticeAdapter = object : + NormalRecyclerAdapter( R.layout.item_notice_rv_l, dataBeans ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: NoticeListModel.DataModel.RowsModel - ) { - // holder.noticeTypeIconView.setImageResource() - val state = if (item.read == "0") { - View.VISIBLE - } else { - View.INVISIBLE - } - viewHolder.setVisibility(R.id.readStateView, state) - viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) - .setText(R.id.noticeDateView, item.noticeTime) - .setText(R.id.noticeContentView, item.noticeSketch) + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: NoticeListModel.DataModel.RowsModel + ) { + // holder.noticeTypeIconView.setImageResource() + val state = if (item.read == "0") { + View.VISIBLE + } else { + View.INVISIBLE } + viewHolder.setVisibility(R.id.readStateView, state) + viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) + .setText(R.id.noticeDateView, item.noticeTime) + .setText(R.id.noticeContentView, item.noticeSketch) } + } noticeRecyclerView.addItemDecoration( DividerItemDecoration(this, DividerItemDecoration.VERTICAL) ) diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index 65b1716..91fc4bf 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -144,12 +144,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt index a18a2f4..77bef64 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt @@ -152,12 +152,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 797fb1f..ae09c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -141,12 +141,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans 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 12700c2..344aa77 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 @@ -147,12 +147,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无符合条件的委托需求") { + emptyView.showEmptyPage("无符合条件的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt index 669067b..fd27b62 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt @@ -157,12 +157,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有查询到符合条件的设备数据") { + emptyView.showEmptyPage("没有查询到符合条件的设备数据") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt index 395fb77..5f3facc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt @@ -135,12 +135,12 @@ globalResultAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getGlobalSearchResult() } } else { - emptyView!!.hide() + emptyView.hide() globalResultAdapter = object : NormalRecyclerAdapter( R.layout.item_global_search_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt index cebdace..2097968 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt @@ -151,12 +151,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt index e278a94..5d6a6e1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -149,12 +149,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt index b0b37ea..40126d0 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt @@ -24,7 +24,7 @@ val detectionList = MutableLiveData() val detectionDetail = MutableLiveData() val receiveResult = MutableLiveData() - val detectionCountResult = MutableLiveData() + val detectionCountResult = MutableLiveData() fun getOutfieldDetectionList( approvalStatus: String, @@ -174,14 +174,14 @@ fun getDetectionCount() = launch({ val response = RetrofitServiceManager.getDetectionCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// detectionCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + detectionCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt index ab8a598..54d6704 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt @@ -4,6 +4,7 @@ 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.TaskCountModel import com.casic.xz.meterage.model.TaskDetailModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager @@ -22,7 +23,7 @@ private val gson by lazy { Gson() } val taskList = MutableLiveData() val taskDetail = MutableLiveData() - val taskCountResult = MutableLiveData() + val taskCountResult = MutableLiveData() //2,3,4,8 fun getTaskListByState( @@ -90,15 +91,15 @@ }) fun getTaskCount() = launch({ -// val response = RetrofitServiceManager.getTaskCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// taskCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val response = RetrofitServiceManager.getTaskCount() + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + taskCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt b/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt index 20103b1..587e4aa 100644 --- a/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt +++ b/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt @@ -49,12 +49,11 @@ setCanceledOnTouchOutside(true) val logRecyclerView: RecyclerView = findViewById(R.id.logRecyclerView) - logRecyclerView.adapter = MeasureProcessAdapter(ctx, process) + logRecyclerView.adapter = ProcessAdapter(ctx, process) } - inner class MeasureProcessAdapter( - context: Context, private val dataRows: List - ) : RecyclerView.Adapter() { + inner class ProcessAdapter(context: Context, private val dataRows: List) : + RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) diff --git a/app/src/main/res/layout/activity_detection_sample_detail.xml b/app/src/main/res/layout/activity_detection_sample_detail.xml new file mode 100644 index 0000000..ee03c87 --- /dev/null +++ b/app/src/main/res/layout/activity_detection_sample_detail.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detection.xml b/app/src/main/res/layout/fragment_detection.xml index 27f1fdf..37eb90b 100644 --- a/app/src/main/res/layout/fragment_detection.xml +++ b/app/src/main/res/layout/fragment_detection.xml @@ -20,7 +20,7 @@ android:textColor="@color/black" android:textSize="@dimen/sp_18" /> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detection_certificate.xml b/app/src/main/res/layout/fragment_detection_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_detection_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt index 1f6473b..cfdbacd 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt @@ -210,33 +210,33 @@ BadeHelper.setBadgeNum(this, count) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有任何消息") { + emptyView.showEmptyPage("没有任何消息") { pageIndex = 1 getNoticeListByPage() } } else { - emptyView!!.hide() - noticeAdapter = - object : NormalRecyclerAdapter( + emptyView.hide() + noticeAdapter = object : + NormalRecyclerAdapter( R.layout.item_notice_rv_l, dataBeans ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: NoticeListModel.DataModel.RowsModel - ) { - // holder.noticeTypeIconView.setImageResource() - val state = if (item.read == "0") { - View.VISIBLE - } else { - View.INVISIBLE - } - viewHolder.setVisibility(R.id.readStateView, state) - viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) - .setText(R.id.noticeDateView, item.noticeTime) - .setText(R.id.noticeContentView, item.noticeSketch) + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: NoticeListModel.DataModel.RowsModel + ) { + // holder.noticeTypeIconView.setImageResource() + val state = if (item.read == "0") { + View.VISIBLE + } else { + View.INVISIBLE } + viewHolder.setVisibility(R.id.readStateView, state) + viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) + .setText(R.id.noticeDateView, item.noticeTime) + .setText(R.id.noticeContentView, item.noticeSketch) } + } noticeRecyclerView.addItemDecoration( DividerItemDecoration(this, DividerItemDecoration.VERTICAL) ) diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index 65b1716..91fc4bf 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -144,12 +144,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt index a18a2f4..77bef64 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt @@ -152,12 +152,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 797fb1f..ae09c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -141,12 +141,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans 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 12700c2..344aa77 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 @@ -147,12 +147,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无符合条件的委托需求") { + emptyView.showEmptyPage("无符合条件的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt index 669067b..fd27b62 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt @@ -157,12 +157,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有查询到符合条件的设备数据") { + emptyView.showEmptyPage("没有查询到符合条件的设备数据") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt index 395fb77..5f3facc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt @@ -135,12 +135,12 @@ globalResultAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getGlobalSearchResult() } } else { - emptyView!!.hide() + emptyView.hide() globalResultAdapter = object : NormalRecyclerAdapter( R.layout.item_global_search_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt index cebdace..2097968 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt @@ -151,12 +151,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt index e278a94..5d6a6e1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -149,12 +149,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt index b0b37ea..40126d0 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt @@ -24,7 +24,7 @@ val detectionList = MutableLiveData() val detectionDetail = MutableLiveData() val receiveResult = MutableLiveData() - val detectionCountResult = MutableLiveData() + val detectionCountResult = MutableLiveData() fun getOutfieldDetectionList( approvalStatus: String, @@ -174,14 +174,14 @@ fun getDetectionCount() = launch({ val response = RetrofitServiceManager.getDetectionCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// detectionCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + detectionCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt index ab8a598..54d6704 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt @@ -4,6 +4,7 @@ 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.TaskCountModel import com.casic.xz.meterage.model.TaskDetailModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager @@ -22,7 +23,7 @@ private val gson by lazy { Gson() } val taskList = MutableLiveData() val taskDetail = MutableLiveData() - val taskCountResult = MutableLiveData() + val taskCountResult = MutableLiveData() //2,3,4,8 fun getTaskListByState( @@ -90,15 +91,15 @@ }) fun getTaskCount() = launch({ -// val response = RetrofitServiceManager.getTaskCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// taskCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val response = RetrofitServiceManager.getTaskCount() + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + taskCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt b/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt index 20103b1..587e4aa 100644 --- a/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt +++ b/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt @@ -49,12 +49,11 @@ setCanceledOnTouchOutside(true) val logRecyclerView: RecyclerView = findViewById(R.id.logRecyclerView) - logRecyclerView.adapter = MeasureProcessAdapter(ctx, process) + logRecyclerView.adapter = ProcessAdapter(ctx, process) } - inner class MeasureProcessAdapter( - context: Context, private val dataRows: List - ) : RecyclerView.Adapter() { + inner class ProcessAdapter(context: Context, private val dataRows: List) : + RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) diff --git a/app/src/main/res/layout/activity_detection_sample_detail.xml b/app/src/main/res/layout/activity_detection_sample_detail.xml new file mode 100644 index 0000000..ee03c87 --- /dev/null +++ b/app/src/main/res/layout/activity_detection_sample_detail.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detection.xml b/app/src/main/res/layout/fragment_detection.xml index 27f1fdf..37eb90b 100644 --- a/app/src/main/res/layout/fragment_detection.xml +++ b/app/src/main/res/layout/fragment_detection.xml @@ -20,7 +20,7 @@ android:textColor="@color/black" android:textSize="@dimen/sp_18" /> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detection_certificate.xml b/app/src/main/res/layout/fragment_detection_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_detection_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detection_inspection_record.xml b/app/src/main/res/layout/fragment_detection_inspection_record.xml new file mode 100644 index 0000000..7e23209 --- /dev/null +++ b/app/src/main/res/layout/fragment_detection_inspection_record.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt index 1f6473b..cfdbacd 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt @@ -210,33 +210,33 @@ BadeHelper.setBadgeNum(this, count) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有任何消息") { + emptyView.showEmptyPage("没有任何消息") { pageIndex = 1 getNoticeListByPage() } } else { - emptyView!!.hide() - noticeAdapter = - object : NormalRecyclerAdapter( + emptyView.hide() + noticeAdapter = object : + NormalRecyclerAdapter( R.layout.item_notice_rv_l, dataBeans ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: NoticeListModel.DataModel.RowsModel - ) { - // holder.noticeTypeIconView.setImageResource() - val state = if (item.read == "0") { - View.VISIBLE - } else { - View.INVISIBLE - } - viewHolder.setVisibility(R.id.readStateView, state) - viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) - .setText(R.id.noticeDateView, item.noticeTime) - .setText(R.id.noticeContentView, item.noticeSketch) + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: NoticeListModel.DataModel.RowsModel + ) { + // holder.noticeTypeIconView.setImageResource() + val state = if (item.read == "0") { + View.VISIBLE + } else { + View.INVISIBLE } + viewHolder.setVisibility(R.id.readStateView, state) + viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) + .setText(R.id.noticeDateView, item.noticeTime) + .setText(R.id.noticeContentView, item.noticeSketch) } + } noticeRecyclerView.addItemDecoration( DividerItemDecoration(this, DividerItemDecoration.VERTICAL) ) diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index 65b1716..91fc4bf 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -144,12 +144,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt index a18a2f4..77bef64 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt @@ -152,12 +152,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 797fb1f..ae09c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -141,12 +141,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans 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 12700c2..344aa77 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 @@ -147,12 +147,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无符合条件的委托需求") { + emptyView.showEmptyPage("无符合条件的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt index 669067b..fd27b62 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt @@ -157,12 +157,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有查询到符合条件的设备数据") { + emptyView.showEmptyPage("没有查询到符合条件的设备数据") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt index 395fb77..5f3facc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt @@ -135,12 +135,12 @@ globalResultAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getGlobalSearchResult() } } else { - emptyView!!.hide() + emptyView.hide() globalResultAdapter = object : NormalRecyclerAdapter( R.layout.item_global_search_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt index cebdace..2097968 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt @@ -151,12 +151,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt index e278a94..5d6a6e1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -149,12 +149,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt index b0b37ea..40126d0 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt @@ -24,7 +24,7 @@ val detectionList = MutableLiveData() val detectionDetail = MutableLiveData() val receiveResult = MutableLiveData() - val detectionCountResult = MutableLiveData() + val detectionCountResult = MutableLiveData() fun getOutfieldDetectionList( approvalStatus: String, @@ -174,14 +174,14 @@ fun getDetectionCount() = launch({ val response = RetrofitServiceManager.getDetectionCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// detectionCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + detectionCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt index ab8a598..54d6704 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt @@ -4,6 +4,7 @@ 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.TaskCountModel import com.casic.xz.meterage.model.TaskDetailModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager @@ -22,7 +23,7 @@ private val gson by lazy { Gson() } val taskList = MutableLiveData() val taskDetail = MutableLiveData() - val taskCountResult = MutableLiveData() + val taskCountResult = MutableLiveData() //2,3,4,8 fun getTaskListByState( @@ -90,15 +91,15 @@ }) fun getTaskCount() = launch({ -// val response = RetrofitServiceManager.getTaskCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// taskCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val response = RetrofitServiceManager.getTaskCount() + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + taskCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt b/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt index 20103b1..587e4aa 100644 --- a/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt +++ b/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt @@ -49,12 +49,11 @@ setCanceledOnTouchOutside(true) val logRecyclerView: RecyclerView = findViewById(R.id.logRecyclerView) - logRecyclerView.adapter = MeasureProcessAdapter(ctx, process) + logRecyclerView.adapter = ProcessAdapter(ctx, process) } - inner class MeasureProcessAdapter( - context: Context, private val dataRows: List - ) : RecyclerView.Adapter() { + inner class ProcessAdapter(context: Context, private val dataRows: List) : + RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) diff --git a/app/src/main/res/layout/activity_detection_sample_detail.xml b/app/src/main/res/layout/activity_detection_sample_detail.xml new file mode 100644 index 0000000..ee03c87 --- /dev/null +++ b/app/src/main/res/layout/activity_detection_sample_detail.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detection.xml b/app/src/main/res/layout/fragment_detection.xml index 27f1fdf..37eb90b 100644 --- a/app/src/main/res/layout/fragment_detection.xml +++ b/app/src/main/res/layout/fragment_detection.xml @@ -20,7 +20,7 @@ android:textColor="@color/black" android:textSize="@dimen/sp_18" /> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detection_certificate.xml b/app/src/main/res/layout/fragment_detection_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_detection_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detection_inspection_record.xml b/app/src/main/res/layout/fragment_detection_inspection_record.xml new file mode 100644 index 0000000..7e23209 --- /dev/null +++ b/app/src/main/res/layout/fragment_detection_inspection_record.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_task.xml b/app/src/main/res/layout/fragment_task.xml index a12a130..96a7bc1 100644 --- a/app/src/main/res/layout/fragment_task.xml +++ b/app/src/main/res/layout/fragment_task.xml @@ -20,7 +20,7 @@ android:textColor="@color/black" android:textSize="@dimen/sp_18" /> - + + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt index 1f6473b..cfdbacd 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt @@ -210,33 +210,33 @@ BadeHelper.setBadgeNum(this, count) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有任何消息") { + emptyView.showEmptyPage("没有任何消息") { pageIndex = 1 getNoticeListByPage() } } else { - emptyView!!.hide() - noticeAdapter = - object : NormalRecyclerAdapter( + emptyView.hide() + noticeAdapter = object : + NormalRecyclerAdapter( R.layout.item_notice_rv_l, dataBeans ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: NoticeListModel.DataModel.RowsModel - ) { - // holder.noticeTypeIconView.setImageResource() - val state = if (item.read == "0") { - View.VISIBLE - } else { - View.INVISIBLE - } - viewHolder.setVisibility(R.id.readStateView, state) - viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) - .setText(R.id.noticeDateView, item.noticeTime) - .setText(R.id.noticeContentView, item.noticeSketch) + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: NoticeListModel.DataModel.RowsModel + ) { + // holder.noticeTypeIconView.setImageResource() + val state = if (item.read == "0") { + View.VISIBLE + } else { + View.INVISIBLE } + viewHolder.setVisibility(R.id.readStateView, state) + viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) + .setText(R.id.noticeDateView, item.noticeTime) + .setText(R.id.noticeContentView, item.noticeSketch) } + } noticeRecyclerView.addItemDecoration( DividerItemDecoration(this, DividerItemDecoration.VERTICAL) ) diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index 65b1716..91fc4bf 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -144,12 +144,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt index a18a2f4..77bef64 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt @@ -152,12 +152,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 797fb1f..ae09c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -141,12 +141,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans 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 12700c2..344aa77 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 @@ -147,12 +147,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无符合条件的委托需求") { + emptyView.showEmptyPage("无符合条件的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt index 669067b..fd27b62 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt @@ -157,12 +157,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有查询到符合条件的设备数据") { + emptyView.showEmptyPage("没有查询到符合条件的设备数据") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt index 395fb77..5f3facc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt @@ -135,12 +135,12 @@ globalResultAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getGlobalSearchResult() } } else { - emptyView!!.hide() + emptyView.hide() globalResultAdapter = object : NormalRecyclerAdapter( R.layout.item_global_search_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt index cebdace..2097968 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt @@ -151,12 +151,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt index e278a94..5d6a6e1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -149,12 +149,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt index b0b37ea..40126d0 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt @@ -24,7 +24,7 @@ val detectionList = MutableLiveData() val detectionDetail = MutableLiveData() val receiveResult = MutableLiveData() - val detectionCountResult = MutableLiveData() + val detectionCountResult = MutableLiveData() fun getOutfieldDetectionList( approvalStatus: String, @@ -174,14 +174,14 @@ fun getDetectionCount() = launch({ val response = RetrofitServiceManager.getDetectionCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// detectionCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + detectionCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt index ab8a598..54d6704 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt @@ -4,6 +4,7 @@ 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.TaskCountModel import com.casic.xz.meterage.model.TaskDetailModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager @@ -22,7 +23,7 @@ private val gson by lazy { Gson() } val taskList = MutableLiveData() val taskDetail = MutableLiveData() - val taskCountResult = MutableLiveData() + val taskCountResult = MutableLiveData() //2,3,4,8 fun getTaskListByState( @@ -90,15 +91,15 @@ }) fun getTaskCount() = launch({ -// val response = RetrofitServiceManager.getTaskCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// taskCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val response = RetrofitServiceManager.getTaskCount() + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + taskCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt b/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt index 20103b1..587e4aa 100644 --- a/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt +++ b/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt @@ -49,12 +49,11 @@ setCanceledOnTouchOutside(true) val logRecyclerView: RecyclerView = findViewById(R.id.logRecyclerView) - logRecyclerView.adapter = MeasureProcessAdapter(ctx, process) + logRecyclerView.adapter = ProcessAdapter(ctx, process) } - inner class MeasureProcessAdapter( - context: Context, private val dataRows: List - ) : RecyclerView.Adapter() { + inner class ProcessAdapter(context: Context, private val dataRows: List) : + RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) diff --git a/app/src/main/res/layout/activity_detection_sample_detail.xml b/app/src/main/res/layout/activity_detection_sample_detail.xml new file mode 100644 index 0000000..ee03c87 --- /dev/null +++ b/app/src/main/res/layout/activity_detection_sample_detail.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detection.xml b/app/src/main/res/layout/fragment_detection.xml index 27f1fdf..37eb90b 100644 --- a/app/src/main/res/layout/fragment_detection.xml +++ b/app/src/main/res/layout/fragment_detection.xml @@ -20,7 +20,7 @@ android:textColor="@color/black" android:textSize="@dimen/sp_18" /> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detection_certificate.xml b/app/src/main/res/layout/fragment_detection_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_detection_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detection_inspection_record.xml b/app/src/main/res/layout/fragment_detection_inspection_record.xml new file mode 100644 index 0000000..7e23209 --- /dev/null +++ b/app/src/main/res/layout/fragment_detection_inspection_record.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_task.xml b/app/src/main/res/layout/fragment_task.xml index a12a130..96a7bc1 100644 --- a/app/src/main/res/layout/fragment_task.xml +++ b/app/src/main/res/layout/fragment_task.xml @@ -20,7 +20,7 @@ android:textColor="@color/black" android:textSize="@dimen/sp_18" /> - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt index 1f6473b..cfdbacd 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt @@ -210,33 +210,33 @@ BadeHelper.setBadgeNum(this, count) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有任何消息") { + emptyView.showEmptyPage("没有任何消息") { pageIndex = 1 getNoticeListByPage() } } else { - emptyView!!.hide() - noticeAdapter = - object : NormalRecyclerAdapter( + emptyView.hide() + noticeAdapter = object : + NormalRecyclerAdapter( R.layout.item_notice_rv_l, dataBeans ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: NoticeListModel.DataModel.RowsModel - ) { - // holder.noticeTypeIconView.setImageResource() - val state = if (item.read == "0") { - View.VISIBLE - } else { - View.INVISIBLE - } - viewHolder.setVisibility(R.id.readStateView, state) - viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) - .setText(R.id.noticeDateView, item.noticeTime) - .setText(R.id.noticeContentView, item.noticeSketch) + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: NoticeListModel.DataModel.RowsModel + ) { + // holder.noticeTypeIconView.setImageResource() + val state = if (item.read == "0") { + View.VISIBLE + } else { + View.INVISIBLE } + viewHolder.setVisibility(R.id.readStateView, state) + viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) + .setText(R.id.noticeDateView, item.noticeTime) + .setText(R.id.noticeContentView, item.noticeSketch) } + } noticeRecyclerView.addItemDecoration( DividerItemDecoration(this, DividerItemDecoration.VERTICAL) ) diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index 65b1716..91fc4bf 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -144,12 +144,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt index a18a2f4..77bef64 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt @@ -152,12 +152,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 797fb1f..ae09c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -141,12 +141,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans 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 12700c2..344aa77 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 @@ -147,12 +147,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无符合条件的委托需求") { + emptyView.showEmptyPage("无符合条件的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt index 669067b..fd27b62 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt @@ -157,12 +157,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有查询到符合条件的设备数据") { + emptyView.showEmptyPage("没有查询到符合条件的设备数据") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt index 395fb77..5f3facc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt @@ -135,12 +135,12 @@ globalResultAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getGlobalSearchResult() } } else { - emptyView!!.hide() + emptyView.hide() globalResultAdapter = object : NormalRecyclerAdapter( R.layout.item_global_search_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt index cebdace..2097968 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt @@ -151,12 +151,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt index e278a94..5d6a6e1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -149,12 +149,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt index b0b37ea..40126d0 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt @@ -24,7 +24,7 @@ val detectionList = MutableLiveData() val detectionDetail = MutableLiveData() val receiveResult = MutableLiveData() - val detectionCountResult = MutableLiveData() + val detectionCountResult = MutableLiveData() fun getOutfieldDetectionList( approvalStatus: String, @@ -174,14 +174,14 @@ fun getDetectionCount() = launch({ val response = RetrofitServiceManager.getDetectionCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// detectionCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + detectionCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt index ab8a598..54d6704 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt @@ -4,6 +4,7 @@ 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.TaskCountModel import com.casic.xz.meterage.model.TaskDetailModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager @@ -22,7 +23,7 @@ private val gson by lazy { Gson() } val taskList = MutableLiveData() val taskDetail = MutableLiveData() - val taskCountResult = MutableLiveData() + val taskCountResult = MutableLiveData() //2,3,4,8 fun getTaskListByState( @@ -90,15 +91,15 @@ }) fun getTaskCount() = launch({ -// val response = RetrofitServiceManager.getTaskCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// taskCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val response = RetrofitServiceManager.getTaskCount() + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + taskCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt b/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt index 20103b1..587e4aa 100644 --- a/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt +++ b/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt @@ -49,12 +49,11 @@ setCanceledOnTouchOutside(true) val logRecyclerView: RecyclerView = findViewById(R.id.logRecyclerView) - logRecyclerView.adapter = MeasureProcessAdapter(ctx, process) + logRecyclerView.adapter = ProcessAdapter(ctx, process) } - inner class MeasureProcessAdapter( - context: Context, private val dataRows: List - ) : RecyclerView.Adapter() { + inner class ProcessAdapter(context: Context, private val dataRows: List) : + RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) diff --git a/app/src/main/res/layout/activity_detection_sample_detail.xml b/app/src/main/res/layout/activity_detection_sample_detail.xml new file mode 100644 index 0000000..ee03c87 --- /dev/null +++ b/app/src/main/res/layout/activity_detection_sample_detail.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detection.xml b/app/src/main/res/layout/fragment_detection.xml index 27f1fdf..37eb90b 100644 --- a/app/src/main/res/layout/fragment_detection.xml +++ b/app/src/main/res/layout/fragment_detection.xml @@ -20,7 +20,7 @@ android:textColor="@color/black" android:textSize="@dimen/sp_18" /> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detection_certificate.xml b/app/src/main/res/layout/fragment_detection_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_detection_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detection_inspection_record.xml b/app/src/main/res/layout/fragment_detection_inspection_record.xml new file mode 100644 index 0000000..7e23209 --- /dev/null +++ b/app/src/main/res/layout/fragment_detection_inspection_record.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_task.xml b/app/src/main/res/layout/fragment_task.xml index a12a130..96a7bc1 100644 --- a/app/src/main/res/layout/fragment_task.xml +++ b/app/src/main/res/layout/fragment_task.xml @@ -20,7 +20,7 @@ android:textColor="@color/black" android:textSize="@dimen/sp_18" /> - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/include_task2_top_layout.xml b/app/src/main/res/layout/include_task2_top_layout.xml deleted file mode 100644 index e67041c..0000000 --- a/app/src/main/res/layout/include_task2_top_layout.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ea6bd7..3e24281 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt index 1f6473b..cfdbacd 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt @@ -210,33 +210,33 @@ BadeHelper.setBadgeNum(this, count) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有任何消息") { + emptyView.showEmptyPage("没有任何消息") { pageIndex = 1 getNoticeListByPage() } } else { - emptyView!!.hide() - noticeAdapter = - object : NormalRecyclerAdapter( + emptyView.hide() + noticeAdapter = object : + NormalRecyclerAdapter( R.layout.item_notice_rv_l, dataBeans ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: NoticeListModel.DataModel.RowsModel - ) { - // holder.noticeTypeIconView.setImageResource() - val state = if (item.read == "0") { - View.VISIBLE - } else { - View.INVISIBLE - } - viewHolder.setVisibility(R.id.readStateView, state) - viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) - .setText(R.id.noticeDateView, item.noticeTime) - .setText(R.id.noticeContentView, item.noticeSketch) + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: NoticeListModel.DataModel.RowsModel + ) { + // holder.noticeTypeIconView.setImageResource() + val state = if (item.read == "0") { + View.VISIBLE + } else { + View.INVISIBLE } + viewHolder.setVisibility(R.id.readStateView, state) + viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) + .setText(R.id.noticeDateView, item.noticeTime) + .setText(R.id.noticeContentView, item.noticeSketch) } + } noticeRecyclerView.addItemDecoration( DividerItemDecoration(this, DividerItemDecoration.VERTICAL) ) diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index 65b1716..91fc4bf 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -144,12 +144,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt index a18a2f4..77bef64 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt @@ -152,12 +152,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 797fb1f..ae09c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -141,12 +141,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans 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 12700c2..344aa77 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 @@ -147,12 +147,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无符合条件的委托需求") { + emptyView.showEmptyPage("无符合条件的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt index 669067b..fd27b62 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt @@ -157,12 +157,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有查询到符合条件的设备数据") { + emptyView.showEmptyPage("没有查询到符合条件的设备数据") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt index 395fb77..5f3facc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt @@ -135,12 +135,12 @@ globalResultAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getGlobalSearchResult() } } else { - emptyView!!.hide() + emptyView.hide() globalResultAdapter = object : NormalRecyclerAdapter( R.layout.item_global_search_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt index cebdace..2097968 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt @@ -151,12 +151,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt index e278a94..5d6a6e1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -149,12 +149,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt index b0b37ea..40126d0 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt @@ -24,7 +24,7 @@ val detectionList = MutableLiveData() val detectionDetail = MutableLiveData() val receiveResult = MutableLiveData() - val detectionCountResult = MutableLiveData() + val detectionCountResult = MutableLiveData() fun getOutfieldDetectionList( approvalStatus: String, @@ -174,14 +174,14 @@ fun getDetectionCount() = launch({ val response = RetrofitServiceManager.getDetectionCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// detectionCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + detectionCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt index ab8a598..54d6704 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt @@ -4,6 +4,7 @@ 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.TaskCountModel import com.casic.xz.meterage.model.TaskDetailModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager @@ -22,7 +23,7 @@ private val gson by lazy { Gson() } val taskList = MutableLiveData() val taskDetail = MutableLiveData() - val taskCountResult = MutableLiveData() + val taskCountResult = MutableLiveData() //2,3,4,8 fun getTaskListByState( @@ -90,15 +91,15 @@ }) fun getTaskCount() = launch({ -// val response = RetrofitServiceManager.getTaskCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// taskCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val response = RetrofitServiceManager.getTaskCount() + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + taskCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt b/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt index 20103b1..587e4aa 100644 --- a/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt +++ b/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt @@ -49,12 +49,11 @@ setCanceledOnTouchOutside(true) val logRecyclerView: RecyclerView = findViewById(R.id.logRecyclerView) - logRecyclerView.adapter = MeasureProcessAdapter(ctx, process) + logRecyclerView.adapter = ProcessAdapter(ctx, process) } - inner class MeasureProcessAdapter( - context: Context, private val dataRows: List - ) : RecyclerView.Adapter() { + inner class ProcessAdapter(context: Context, private val dataRows: List) : + RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) diff --git a/app/src/main/res/layout/activity_detection_sample_detail.xml b/app/src/main/res/layout/activity_detection_sample_detail.xml new file mode 100644 index 0000000..ee03c87 --- /dev/null +++ b/app/src/main/res/layout/activity_detection_sample_detail.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detection.xml b/app/src/main/res/layout/fragment_detection.xml index 27f1fdf..37eb90b 100644 --- a/app/src/main/res/layout/fragment_detection.xml +++ b/app/src/main/res/layout/fragment_detection.xml @@ -20,7 +20,7 @@ android:textColor="@color/black" android:textSize="@dimen/sp_18" /> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detection_certificate.xml b/app/src/main/res/layout/fragment_detection_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_detection_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detection_inspection_record.xml b/app/src/main/res/layout/fragment_detection_inspection_record.xml new file mode 100644 index 0000000..7e23209 --- /dev/null +++ b/app/src/main/res/layout/fragment_detection_inspection_record.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_task.xml b/app/src/main/res/layout/fragment_task.xml index a12a130..96a7bc1 100644 --- a/app/src/main/res/layout/fragment_task.xml +++ b/app/src/main/res/layout/fragment_task.xml @@ -20,7 +20,7 @@ android:textColor="@color/black" android:textSize="@dimen/sp_18" /> - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/include_task2_top_layout.xml b/app/src/main/res/layout/include_task2_top_layout.xml deleted file mode 100644 index e67041c..0000000 --- a/app/src/main/res/layout/include_task2_top_layout.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/include_task_top_layout.xml b/app/src/main/res/layout/include_task_top_layout.xml index 440ada1..d6f0255 100644 --- a/app/src/main/res/layout/include_task_top_layout.xml +++ b/app/src/main/res/layout/include_task_top_layout.xml @@ -12,7 +12,7 @@ android:src="@mipmap/todo_task" /> + + + + + + + + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt new file mode 100644 index 0000000..f48aa45 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/BasicInformationFragment.kt @@ -0,0 +1,65 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.graphics.Paint +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.watchAttachFile +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_base_info.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class BasicInformationFragment(private val data: DetectionDetailModel.DataModel) : + KotlinBaseFragment() { + + override fun initData() { + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + checkTypeView.text = data.measureTypeName + manufacturerView.text = data.manufacturer + countryNameView.text = data.manufacturerCountry + abcView.text = data.abc + senderView.text = data.deliverer + contactView.text = data.delivererTel + checkProjectView.text = data.measureContent + checkCycleView.text = data.measurePeriod + checkDateView.text = data.measureLastDate.formatToYearMonthDay() + effectiveDateView.text = data.effectiveDate.formatToYearMonthDay() + + if (data.minioFileName.isNullOrBlank()) { + instructionsView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + instructionsView.text = minioFileName + val textPaint = instructionsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + instructionsView.setTextColor(Color.BLUE) + + instructionsView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + remarkView.text = data.remark + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_base_info + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt new file mode 100644 index 0000000..6251ffa --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/CertificateFragment.kt @@ -0,0 +1,28 @@ +package com.casic.xz.meterage.fragment + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class CertificateFragment : KotlinBaseFragment() { + + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f76c6a9..5e317d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -14,6 +14,7 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_detection.* +import kotlinx.android.synthetic.main.include_detection_top_layout.* class DetectionPageFragment : KotlinBaseFragment() { @@ -33,9 +34,15 @@ override fun initData() { detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitDetectionCountView.text = dataModel.amount + 1 -> underDetectionCountView.text = dataModel.amount + 2 -> completedDetectionCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 66b419a..4a2b470 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -281,12 +281,12 @@ remindAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有待办提醒") { + emptyView.showEmptyPage("没有待办提醒") { pageIndex = 1 getRemindListByPage() } } else { - emptyView!!.hide() + emptyView.hide() remindAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt new file mode 100644 index 0000000..96f4dcc --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/InspectionRecordFragment.kt @@ -0,0 +1,85 @@ +package com.casic.xz.meterage.fragment + +import android.graphics.Color +import android.view.View +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.DetectionDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_detection_inspection_record.* +import kotlinx.android.synthetic.main.include_empty_view.* + +/** + * 计量人员和非计量人员任务详情页下属Tab页 + * */ +class InspectionRecordFragment(private val records: List) : + KotlinBaseFragment() { + + override fun initData() { + if (records.isEmpty()) { + emptyView.showEmptyPage("无检定记录") + } else { + emptyView.hide() + val logAdapter = object : + NormalRecyclerAdapter( + R.layout.item_inspection_log_rv_l, records + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DetectionDetailModel.DataModel.MeasureProcessListModel + ) { + when (position) { + 0 -> { + //最后一项 + viewHolder.setBackgroundColor(R.id.dotView, Color.BLACK) + viewHolder.setTextColor(R.id.statusView, Color.BLACK) + .setTextColor(R.id.operatorNameView, Color.BLACK) + .setTextColor(R.id.currentLibView, Color.BLACK) + .setTextColor(R.id.operateTimeView, Color.BLACK) + + viewHolder.setVisibility(R.id.topLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, + R.drawable.ic_dot_red + ) + } + records.size - 1 -> { + viewHolder.setVisibility(R.id.bottomLineView, View.INVISIBLE) + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot_gray + ) + } + else -> { + viewHolder.setImageResource( + R.id.tagImageView, R.drawable.ic_dot + ) + } + } + + viewHolder.setText(R.id.statusView, item.measureStatusName) + .setText(R.id.operatorNameView, item.measurePerson) + .setText(R.id.currentLibView, item.measureSegment) + .setText(R.id.operateTimeView, item.updateTime) + } + } + logRecyclerView.adapter = logAdapter + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_detection_inspection_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index fab410d..828bd85 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -10,11 +10,12 @@ import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment import com.casic.xz.meterage.fragment.task.UnderTaskFragment import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DetectionViewModel +import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_task.* +import kotlinx.android.synthetic.main.include_task_top_layout.* class TaskPageFragment : KotlinBaseFragment() { @@ -22,7 +23,7 @@ lateinit var weakReferenceHandler: WeakReferenceHandler } - private lateinit var detectionViewModel: DetectionViewModel + private lateinit var taskViewModel: TaskViewModel private var fragmentPages: ArrayList = ArrayList() init { @@ -33,16 +34,23 @@ } override fun initData() { - detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] - detectionViewModel.detectionCountResult.observe(this) { -// if (it.code == 200) { -// -// } + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.taskCountResult.observe(this) { + if (it.code == 200) { + it.data.forEachIndexed { index, dataModel -> + when (index) { + 0 -> awaitTaskCountView.text = dataModel.amount + 1 -> underTaskCountView.text = dataModel.amount + 2 -> completedTaskCountView.text = dataModel.amount + 3 -> overtimeTaskCountView.text = dataModel.amount + } + } + } } weakReferenceHandler = WeakReferenceHandler { - if (it.what == LocaleConstant.DETECTION_COUNT) { - detectionViewModel.getDetectionCount() + if (it.what == LocaleConstant.TASK_COUNT) { + taskViewModel.getTaskCount() } true } @@ -59,7 +67,7 @@ override fun onResume() { super.onResume() - detectionViewModel.getDetectionCount() + taskViewModel.getTaskCount() } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index 2ed6d54..743cbf9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -117,12 +117,12 @@ certificateAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关证书报告") { + emptyView.showEmptyPage("无相关证书报告") { pageIndex = 1 getCertificateReportList() } } else { - emptyView!!.hide() + emptyView.hide() certificateAdapter = object : NormalRecyclerAdapter( R.layout.item_certificate_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 62beef0..4307c8d 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (paymentModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关收款信息") + emptyView.showEmptyPage("无相关收款信息") } else { - emptyView!!.hide() + emptyView.hide() val collectionAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_collection_rv_l, paymentModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 105edc2..954d878 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -15,9 +15,9 @@ override fun initData() { if (orderModels.isEmpty()) { - emptyView!!.showEmptyPage("无相关委托书信息") + emptyView.showEmptyPage("无相关委托书信息") } else { - emptyView!!.hide() + emptyView.hide() val briefAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_brief_rv_l, orderModels diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt index 87ef68e..26dddc9 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/AwaitDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -73,7 +72,6 @@ arrayList.add(process.toProcessListModel()) } - ProcessBottomSheet.Builder() .setContext(requireContext()).setProcess(arrayList).build().show() } @@ -88,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -156,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待检测样品") { + emptyView.showEmptyPage("无待检测样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_await_detection_rv_l, dataBeans @@ -219,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt index 377a40e..20e0e80 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/CompletedDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完的样品") { + emptyView.showEmptyPage("无检测完的样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_detection_rv_l, dataBeans @@ -171,6 +170,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt index caeeabf..f66c359 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/detection/UnderDetectionFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.DetectionPageFragment import com.casic.xz.meterage.model.DetectionListModel import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.DetectionViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -87,12 +86,12 @@ ) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() } //刷新顶部父类数据 @@ -155,12 +154,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getDetectionListByState() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_under_detection_rv_l, dataBeans @@ -218,6 +217,17 @@ } } detectionTaskRecyclerView.adapter = detectionAdapter + detectionAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: DetectionListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } 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 index a1c00df..1700547 100644 --- 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 @@ -120,12 +120,12 @@ fileAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无相关计量法规文件") { + emptyView.showEmptyPage("无相关计量法规文件") { pageIndex = 1 getStandardFileList() } } else { - emptyView!!.hide() + emptyView.hide() fileAdapter = object : NormalRecyclerAdapter( R.layout.item_file_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt index 0683d11..40b0c78 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/outfield/OutfieldDetectionFragment.kt @@ -110,12 +110,12 @@ detectionAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无外场检测申请") { + emptyView.showEmptyPage("无外场检测申请") { pageIndex = 1 getOutfieldDetectionList() } } else { - emptyView!!.hide() + emptyView.hide() detectionAdapter = object : NormalRecyclerAdapter( R.layout.item_outfield_detection_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt index 46ab87f..7e6d829 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/AwaitTaskFragment.kt @@ -3,17 +3,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.addAll import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.isEarlierThenCurrent import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -116,12 +119,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无待分发样品") { + emptyView.showEmptyPage("无待分发样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_await_task_rv_l, dataBeans @@ -149,6 +152,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt index 2de5479..51855c7 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/CompletedTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测完成样品") { + emptyView.showEmptyPage("无检测完成样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_complete_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt index 6b00c27..ffd16cb 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/OvertimeTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无超期样品") { + emptyView.showEmptyPage("无超期样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_overtime_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt index 2f74ecd..0107532 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/task/UnderTaskFragment.kt @@ -3,20 +3,19 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R -import com.casic.xz.meterage.extensions.formatToYearMonthDay -import com.casic.xz.meterage.extensions.isEarlierThenCurrent -import com.casic.xz.meterage.extensions.showEmptyPage -import com.casic.xz.meterage.extensions.toProcessListModel +import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.fragment.TaskPageFragment import com.casic.xz.meterage.model.ProcessListModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.view.home.DetectionSampleDetailActivity import com.casic.xz.meterage.vm.TaskViewModel import com.casic.xz.meterage.widgets.ProcessBottomSheet 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.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task_detection.* @@ -131,12 +130,12 @@ taskAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无检测中样品") { + emptyView.showEmptyPage("无检测中样品") { pageIndex = 1 getTaskListByState() } } else { - emptyView!!.hide() + emptyView.hide() taskAdapter = object : NormalRecyclerAdapter( R.layout.item_under_task_rv_l, dataBeans @@ -169,6 +168,17 @@ } } detectionTaskRecyclerView.adapter = taskAdapter + taskAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, + t: TaskListModel.DataModel.RowsModel + ) { + requireContext().navigatePageTo( + addAll(t.orderId, t.sampleId) + ) + } + }) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt index 1d9c203..a50fa71 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/train/StudentsFragment.kt @@ -54,11 +54,11 @@ when (it.what) { 2023030801 -> { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("暂无学员签到") { + emptyView.showEmptyPage("暂无学员签到") { trainViewModel.getMeterageTrainDetail(id) } } else { - emptyView!!.hide() + emptyView.hide() studentsAdapter = object : NormalRecyclerAdapter( R.layout.item_train_student_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java new file mode 100644 index 0000000..f6cb002 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DetectionCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DetectionCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java new file mode 100644 index 0000000..ba13672 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/TaskCountModel.java @@ -0,0 +1,64 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class TaskCountModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String amount; + private String status; + private String statusName; + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + } +} 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 17e645b..3bfa998 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 @@ -584,6 +584,12 @@ ): String /** + * 获取各状态检测数量 + */ + @GET("/business/labExecutive/myExecutive/amount") + suspend fun getDetectionCount(@Header("token") token: String): String + + /** * 获取实时工作统计 */ @GET("/business/board/workStatistics") @@ -617,4 +623,10 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取各状态检测任务数量 + */ + @GET("/business/labExecutive/handOut/amount") + suspend fun getTaskCount(@Header("token") token: String): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 2755c28..b971370 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 @@ -1358,10 +1358,10 @@ } /** - * 获取各状态检测任务数量 + * 获取各状态检测数量 * */ suspend fun getDetectionCount(): String { - return "" + return api.getDetectionCount(AuthenticationHelper.token!!) } /** @@ -1442,4 +1442,11 @@ ) return api.getTaskDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取各状态检测任务数量 + * */ + suspend fun getTaskCount(): String { + return api.getTaskCount(AuthenticationHelper.token!!) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt index f8733bd..1d54a35 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/BusinessStatisticsActivity.kt @@ -194,12 +194,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无委托任务数据") { + emptyView.showEmptyPage("无委托任务数据") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_bs_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt index 9463fe5..dbe7fa4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CapabilityActivity.kt @@ -117,12 +117,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt index a60e2a9..7d5e385 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractInvoiceActivity.kt @@ -132,12 +132,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 9041bf2..e38a913 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -128,12 +128,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt new file mode 100644 index 0000000..7c34586 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DetectionSampleDetailActivity.kt @@ -0,0 +1,67 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SubViewPagerAdapter +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.fragment.BasicInformationFragment +import com.casic.xz.meterage.fragment.CertificateFragment +import com.casic.xz.meterage.fragment.InspectionRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.DetectionViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_detection_sample_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class DetectionSampleDetailActivity : ApplicationBaseActivity() { + + private lateinit var detectionViewModel: DetectionViewModel + private var fragmentPages: ArrayList = ArrayList() + + override fun initLayoutView(): Int = R.layout.activity_detection_sample_detail + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "样品记录" + } + + override fun initData() { + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + detectionViewModel = ViewModelProvider(this)[DetectionViewModel::class.java] + detectionViewModel.getDetectionDetail(args[0], args[1]) + detectionViewModel.detectionDetail.observe(this) { + if (it.code == 200) { + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(InspectionRecordFragment(it.data.measureProcessList)) + fragmentPages.add(CertificateFragment()) + + val samplePageTitles = arrayOf("基础信息", "检定记录", "检定证书") + + detailViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, samplePageTitles + ) + //绑定 + topTabLayout.setupWithViewPager(detailViewPager) + } + } + } + + override fun observeRequestState() { + detectionViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } +} \ No newline at end of file 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 7afe22f..9fe0570 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 @@ -133,12 +133,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无新的委托需求") { + emptyView.showEmptyPage("无新的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt index c1fa924..2d814d4 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EquipmentActivity.kt @@ -138,12 +138,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无设备") { + emptyView.showEmptyPage("无设备") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt index 078f497..8c07052 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/MeterageTrainActivity.kt @@ -129,12 +129,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 1ccb314..1277f25 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -139,12 +139,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期装置") { + emptyView.showEmptyPage("无过期装置") { pageIndex = 1 getRemindDeviceListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt index 717e6b2..53bb602 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeEquipActivity.kt @@ -150,12 +150,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无过期设备") { + emptyView.showEmptyPage("无过期设备") { pageIndex = 1 getRemindEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_remind_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index f8504f0..08d35d9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -138,12 +138,12 @@ selectCustomerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() selectCustomerAdapter = object : SingleChoiceAdapter( R.layout.item_select_customer_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt index 8dc94c8..6f276be 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectSampleActivity.kt @@ -125,12 +125,12 @@ selectSampleAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无样品数据") { + emptyView.showEmptyPage("无样品数据") { pageIndex = 1 getSampleList() } } else { - emptyView!!.hide() + emptyView.hide() selectSampleAdapter = object : MultipleChoiceAdapter( R.layout.item_select_sample_lv, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt index 8a003a1..292d7bc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -124,12 +124,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt index 1f6473b..cfdbacd 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/notice/NoticeListActivity.kt @@ -210,33 +210,33 @@ BadeHelper.setBadgeNum(this, count) if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有任何消息") { + emptyView.showEmptyPage("没有任何消息") { pageIndex = 1 getNoticeListByPage() } } else { - emptyView!!.hide() - noticeAdapter = - object : NormalRecyclerAdapter( + emptyView.hide() + noticeAdapter = object : + NormalRecyclerAdapter( R.layout.item_notice_rv_l, dataBeans ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: NoticeListModel.DataModel.RowsModel - ) { - // holder.noticeTypeIconView.setImageResource() - val state = if (item.read == "0") { - View.VISIBLE - } else { - View.INVISIBLE - } - viewHolder.setVisibility(R.id.readStateView, state) - viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) - .setText(R.id.noticeDateView, item.noticeTime) - .setText(R.id.noticeContentView, item.noticeSketch) + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: NoticeListModel.DataModel.RowsModel + ) { + // holder.noticeTypeIconView.setImageResource() + val state = if (item.read == "0") { + View.VISIBLE + } else { + View.INVISIBLE } + viewHolder.setVisibility(R.id.readStateView, state) + viewHolder.setText(R.id.noticeTitleView, item.noticeTitle) + .setText(R.id.noticeDateView, item.noticeTime) + .setText(R.id.noticeContentView, item.noticeSketch) } + } noticeRecyclerView.addItemDecoration( DividerItemDecoration(this, DividerItemDecoration.VERTICAL) ) diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index 65b1716..91fc4bf 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -144,12 +144,12 @@ capabilityAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getCapabilityList() } } else { - emptyView!!.hide() + emptyView.hide() capabilityAdapter = object : NormalRecyclerAdapter( R.layout.item_capability_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt index a18a2f4..77bef64 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchContractResultActivity.kt @@ -152,12 +152,12 @@ contractAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无合同") { + emptyView.showEmptyPage("无合同") { pageIndex = 1 getContractListByPage() } } else { - emptyView!!.hide() + emptyView.hide() contractAdapter = object : NormalRecyclerAdapter( R.layout.item_contract_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 797fb1f..ae09c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -141,12 +141,12 @@ customerAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无客户数据") { + emptyView.showEmptyPage("无客户数据") { pageIndex = 1 getCustomerList() } } else { - emptyView!!.hide() + emptyView.hide() customerAdapter = object : NormalRecyclerAdapter( R.layout.item_customer_rv_l, dataBeans 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 12700c2..344aa77 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 @@ -147,12 +147,12 @@ entrustAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无符合条件的委托需求") { + emptyView.showEmptyPage("无符合条件的委托需求") { pageIndex = 1 getEntrustListByPage() } } else { - emptyView!!.hide() + emptyView.hide() entrustAdapter = object : NormalRecyclerAdapter( R.layout.item_entrust_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt index 669067b..fd27b62 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt @@ -157,12 +157,12 @@ equipmentAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("没有查询到符合条件的设备数据") { + emptyView.showEmptyPage("没有查询到符合条件的设备数据") { pageIndex = 1 getEquipmentListByPage() } } else { - emptyView!!.hide() + emptyView.hide() equipmentAdapter = object : NormalRecyclerAdapter( R.layout.item_equipment_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt index 395fb77..5f3facc 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchGlobalResultActivity.kt @@ -135,12 +135,12 @@ globalResultAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无数据") { + emptyView.showEmptyPage("无数据") { pageIndex = 1 getGlobalSearchResult() } } else { - emptyView!!.hide() + emptyView.hide() globalResultAdapter = object : NormalRecyclerAdapter( R.layout.item_global_search_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt index cebdace..2097968 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt @@ -151,12 +151,12 @@ meterageTrainAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无培训计划") { + emptyView.showEmptyPage("无培训计划") { pageIndex = 1 getMeterageTrainList() } } else { - emptyView!!.hide() + emptyView.hide() meterageTrainAdapter = object : NormalRecyclerAdapter( R.layout.item_meterage_train_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt index e278a94..5d6a6e1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -149,12 +149,12 @@ deviceAdapter.notifyDataSetChanged() } else { if (dataBeans.size == 0) { - emptyView!!.showEmptyPage("无标准装置") { + emptyView.showEmptyPage("无标准装置") { pageIndex = 1 getStandardDeviceByPage() } } else { - emptyView!!.hide() + emptyView.hide() deviceAdapter = object : NormalRecyclerAdapter( R.layout.item_standard_device_rv_l, dataBeans diff --git a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt index b0b37ea..40126d0 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/DetectionViewModel.kt @@ -24,7 +24,7 @@ val detectionList = MutableLiveData() val detectionDetail = MutableLiveData() val receiveResult = MutableLiveData() - val detectionCountResult = MutableLiveData() + val detectionCountResult = MutableLiveData() fun getOutfieldDetectionList( approvalStatus: String, @@ -174,14 +174,14 @@ fun getDetectionCount() = launch({ val response = RetrofitServiceManager.getDetectionCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// detectionCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + detectionCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt index ab8a598..54d6704 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/TaskViewModel.kt @@ -4,6 +4,7 @@ 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.TaskCountModel import com.casic.xz.meterage.model.TaskDetailModel import com.casic.xz.meterage.model.TaskListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager @@ -22,7 +23,7 @@ private val gson by lazy { Gson() } val taskList = MutableLiveData() val taskDetail = MutableLiveData() - val taskCountResult = MutableLiveData() + val taskCountResult = MutableLiveData() //2,3,4,8 fun getTaskListByState( @@ -90,15 +91,15 @@ }) fun getTaskCount() = launch({ -// val response = RetrofitServiceManager.getTaskCount() -// val responseCode = response.separateResponseCode() -// if (responseCode == 200) { -// taskCountResult.value = gson.fromJson( -// response, object : TypeToken() {}.type -// ) -// } else { -// response.toErrorMessage().show(BaseApplication.get()) -// } + val response = RetrofitServiceManager.getTaskCount() + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + taskCountResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } }, { it.cause.toString().show(BaseApplication.get()) it.printStackTrace() diff --git a/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt b/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt index 20103b1..587e4aa 100644 --- a/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt +++ b/app/src/main/java/com/casic/xz/meterage/widgets/ProcessBottomSheet.kt @@ -49,12 +49,11 @@ setCanceledOnTouchOutside(true) val logRecyclerView: RecyclerView = findViewById(R.id.logRecyclerView) - logRecyclerView.adapter = MeasureProcessAdapter(ctx, process) + logRecyclerView.adapter = ProcessAdapter(ctx, process) } - inner class MeasureProcessAdapter( - context: Context, private val dataRows: List - ) : RecyclerView.Adapter() { + inner class ProcessAdapter(context: Context, private val dataRows: List) : + RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) diff --git a/app/src/main/res/layout/activity_detection_sample_detail.xml b/app/src/main/res/layout/activity_detection_sample_detail.xml new file mode 100644 index 0000000..ee03c87 --- /dev/null +++ b/app/src/main/res/layout/activity_detection_sample_detail.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detection.xml b/app/src/main/res/layout/fragment_detection.xml index 27f1fdf..37eb90b 100644 --- a/app/src/main/res/layout/fragment_detection.xml +++ b/app/src/main/res/layout/fragment_detection.xml @@ -20,7 +20,7 @@ android:textColor="@color/black" android:textSize="@dimen/sp_18" /> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detection_certificate.xml b/app/src/main/res/layout/fragment_detection_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_detection_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detection_inspection_record.xml b/app/src/main/res/layout/fragment_detection_inspection_record.xml new file mode 100644 index 0000000..7e23209 --- /dev/null +++ b/app/src/main/res/layout/fragment_detection_inspection_record.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_task.xml b/app/src/main/res/layout/fragment_task.xml index a12a130..96a7bc1 100644 --- a/app/src/main/res/layout/fragment_task.xml +++ b/app/src/main/res/layout/fragment_task.xml @@ -20,7 +20,7 @@ android:textColor="@color/black" android:textSize="@dimen/sp_18" /> - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/include_task2_top_layout.xml b/app/src/main/res/layout/include_task2_top_layout.xml deleted file mode 100644 index e67041c..0000000 --- a/app/src/main/res/layout/include_task2_top_layout.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/include_task_top_layout.xml b/app/src/main/res/layout/include_task_top_layout.xml index 440ada1..d6f0255 100644 --- a/app/src/main/res/layout/include_task_top_layout.xml +++ b/app/src/main/res/layout/include_task_top_layout.xml @@ -12,7 +12,7 @@ android:src="@mipmap/todo_task" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +