Преглед изворни кода

添加八大步骤自动跳转;作业进度页优化“去上锁”、“去解锁”按钮显隐

Frankensteinly пре 8 месеци
родитељ
комит
b8acde0235

+ 36 - 31
app/src/main/java/com/grkj/iscs/view/fragment/JobProgressFragment.kt

@@ -84,45 +84,17 @@ class JobProgressFragment(val goBack: () -> Unit) :
             mUserList.addAll(it.colockUserList!!)
             mBinding?.rvPoint?.adapter?.notifyDataSetChanged()
             mBinding?.rvColocker?.adapter?.notifyDataSetChanged()
+            handleActionBtnVisibility()
         }
         presenter?.getTicketDetail(pageChangeBO.ticketId) {
             mBinding?.tvTitle?.text = it?.ticketName
         }
 
-        presenter?.getStepDetail(pageChangeBO.ticketId!!) {
-            mBinding?.tvWorker?.text = "${it?.get(2)?.userNum}/${it?.get(4)?.userNum}/${it?.get(7)?.userNum}"
-            mBinding?.tvLock?.text = "${it?.get(2)?.lockNum}/${it?.get(4)?.lockNum}/${it?.get(7)?.lockNum}"
-
-            it?.filter { it.stepStatus == "1" }?.maxByOrNull { it.stepIndex!! }?.stepIndex?.let {
-                mStep = it
-            }
-            if (mStep == 4) {
-                mBinding?.cbAction?.visibility = View.VISIBLE
-            } else if (mStep == 7) {
-                mBinding?.cbAction?.visibility = View.VISIBLE
-                mBinding?.cbAction?.setIcon(R.mipmap.ticket_unlocked)
-                mBinding?.cbAction?.setText(getString(R.string.go_unlocking))
-            } else {
-                mBinding?.cbAction?.visibility = View.GONE
-            }
-        }
+        getStepDetail(pageChangeBO.ticketId!!)
     }
 
     fun getCardNo(cardNo: String) {
-        presenter?.getStepDetail(mPageChangeBO?.ticketId!!) {
-            it?.filter { it.stepStatus == "1" }?.maxByOrNull { it.stepIndex!! }?.stepIndex?.let {
-                mStep = it
-            }
-            if (mStep == 4) {
-                mBinding?.cbAction?.visibility = View.VISIBLE
-            } else if (mStep == 7) {
-                mBinding?.cbAction?.visibility = View.VISIBLE
-                mBinding?.cbAction?.setIcon(R.mipmap.ticket_unlocked)
-                mBinding?.cbAction?.setText(getString(R.string.go_unlocking))
-            } else {
-                mBinding?.cbAction?.visibility = View.GONE
-            }
-        }
+        getStepDetail(mPageChangeBO?.ticketId!!)
 
         presenter?.getCardInfoByNfc(cardNo) {
             if (it == null) {
@@ -154,6 +126,39 @@ class JobProgressFragment(val goBack: () -> Unit) :
         }
     }
 
+    private fun getStepDetail(ticketId: Long) {
+        presenter?.getStepDetail(ticketId) {
+            mBinding?.tvWorker?.text = "${it?.get(2)?.userNum}/${it?.get(4)?.userNum}/${it?.get(7)?.userNum}"
+            mBinding?.tvLock?.text = "${it?.get(2)?.lockNum}/${it?.get(4)?.lockNum}/${it?.get(7)?.lockNum}"
+
+            it?.filter { it.stepStatus == "1" }?.maxByOrNull { it.stepIndex!! }?.stepIndex?.let {
+                mStep = it
+            }
+            handleActionBtnVisibility()
+        }
+    }
+
+    private fun handleActionBtnVisibility() {
+        when (mStep) {
+            4 -> {
+                if (!mPointList.all { it.pointStatus == "1" }) {
+                    mBinding?.cbAction?.visibility = View.VISIBLE
+                }
+            }
+            7 -> {
+                if (!mPointList.all { it.pointStatus == "2" }) {
+                    mBinding?.cbAction?.visibility = View.VISIBLE
+                    mBinding?.cbAction?.setIcon(R.mipmap.ticket_unlocked)
+                    mBinding?.cbAction?.setText(getString(R.string.go_unlocking))
+                }
+            }
+            else -> {
+                mBinding?.cbAction?.visibility = View.GONE
+            }
+        }
+        mBinding?.cbAction?.isEnabled = mBinding?.cbAction?.visibility == View.VISIBLE
+    }
+
     override fun onPause() {
         super.onPause()
         mStep = 0

+ 5 - 1
app/src/main/java/com/grkj/iscs/view/fragment/StepFragment.kt

@@ -207,12 +207,16 @@ class StepFragment(val goBack: () -> Unit, val changePage: (PageChangeBO) -> Uni
                 presenter?.updateStep(mStepList[2].stepDetail?.stepId!!, "1") {
                     presenter?.updateStep(mStepList[3].stepDetail?.stepId!!, "1") {
                         refreshPage(mChangePage!!)
+                        // 自动跳转
+                        changePage(PageChangeBO(2, mChangePage?.workstationId, mChangePage?.ticketId,
+                            mChangePage?.machineryId, mChangePage?.machineryName))
                     }
                 }
             } else {
                 presenter?.updateStep(mStepList.find { it.index == step }?.stepDetail?.stepId!!, "1") {
                     refreshPage(mChangePage!!)
-                    if (step == 7) {
+                    if (step == 6 || step == 7) {
+                        // 自动跳转
                         changePage(PageChangeBO(2, mChangePage?.workstationId, mChangePage?.ticketId,
                             mChangePage?.machineryId, mChangePage?.machineryName))
                     }