Ver código fonte

refactor(作业管理):
- 作业流程模式数据的刷新逻辑提取
- 在onResume中刷新流程模式数据

周文健 10 meses atrás
pai
commit
6a2004a0cc

+ 20 - 10
app/src/main/java/com/grkj/iscs/features/main/fragment/job_manage/CreateJobFragment.kt

@@ -543,6 +543,9 @@ class CreateJobFragment : BaseFormFragment<FragmentCreateJobBinding>() {
 
     override fun onResume() {
         super.onResume()
+        if (selectedModeId != null) {
+            refreshWorkflowMode()
+        }
         if (GlobalDataTempStore.getInstance()
                 .hasData(DataTransferConstants.KEY_SELECTED_MEMBER_LOCKER_DATA)
         ) {
@@ -624,18 +627,25 @@ class CreateJobFragment : BaseFormFragment<FragmentCreateJobBinding>() {
         ) {
             binding.lockModeTv.text = it.getShowText()
             selectedModeId = it.getId()
-            val isUnLockFirst = viewModel.isUnlockFirst
-            viewModel.getWorkflowSteps(selectedModeId!!).observe(this) {
-                binding.workflowRv.models = viewModel.workflowSteps
-                binding.selectWorkflowTip.isVisible = false
-                if (isUnLockFirst != viewModel.isUnlockFirst) {
-                    binding.noSelectedPointLayout.isVisible = true
-                    selectedPointData = mutableListOf()
-                    binding.pointRv.models = selectedPointData
-                }
-            }
+            refreshWorkflowMode()
             binding.selectColockerLayout.isVisible =
                 viewModel.workflowModes.find { it.modeId == selectedModeId }?.isColockSupport == true
         }
     }
+
+    /**
+     * 刷新流程模式数据
+     */
+    private fun refreshWorkflowMode(){
+        val isUnLockFirst = viewModel.isUnlockFirst
+        viewModel.getWorkflowSteps(selectedModeId!!).observe(this) {
+            binding.workflowRv.models = viewModel.workflowSteps
+            binding.selectWorkflowTip.isVisible = false
+            if (isUnLockFirst != viewModel.isUnlockFirst) {
+                binding.noSelectedPointLayout.isVisible = true
+                selectedPointData = mutableListOf()
+                binding.pointRv.models = selectedPointData
+            }
+        }
+    }
 }

+ 20 - 10
app/src/main/java/com/grkj/iscs/features/main/fragment/job_manage/CreateSopFragment.kt

@@ -425,6 +425,9 @@ class CreateSopFragment : BaseFormFragment<FragmentCreateSopBinding>() {
 
     override fun onResume() {
         super.onResume()
+        if (selectedModeId!=null){
+            refreshWorkflowMode()
+        }
         if (GlobalDataTempStore.getInstance()
                 .hasData(DataTransferConstants.KEY_SELECTED_MEMBER_LOCKER_DATA)
         ) {
@@ -502,18 +505,25 @@ class CreateSopFragment : BaseFormFragment<FragmentCreateSopBinding>() {
         ) {
             binding.lockModeTv.text = it.getShowText()
             selectedModeId = it.getId()
-            val isUnLockFirst = viewModel.isUnlockFirst
-            viewModel.getWorkflowSteps(selectedModeId!!).observe(this) {
-                binding.workflowRv.models = viewModel.workflowSteps
-                binding.selectWorkflowTip.isVisible = false
-                if (isUnLockFirst != viewModel.isUnlockFirst) {
-                    binding.noSelectedPointLayout.isVisible = true
-                    selectedPointData = mutableListOf()
-                    binding.pointRv.models = selectedPointData
-                }
-            }
+            refreshWorkflowMode()
             binding.selectColockerLayout.isVisible =
                 viewModel.workflowModes.find { it.modeId == selectedModeId }?.isColockSupport == true
         }
     }
+
+    /**
+     * 刷新流程模式数据
+     */
+    private fun refreshWorkflowMode(){
+        val isUnLockFirst = viewModel.isUnlockFirst
+        viewModel.getWorkflowSteps(selectedModeId!!).observe(this) {
+            binding.workflowRv.models = viewModel.workflowSteps
+            binding.selectWorkflowTip.isVisible = false
+            if (isUnLockFirst != viewModel.isUnlockFirst) {
+                binding.noSelectedPointLayout.isVisible = true
+                selectedPointData = mutableListOf()
+                binding.pointRv.models = selectedPointData
+            }
+        }
+    }
 }

+ 22 - 8
app/src/main/java/com/grkj/iscs/features/main/fragment/job_manage/CreateSopJobFragment.kt

@@ -392,12 +392,17 @@ class CreateSopJobFragment : BaseFormFragment<FragmentCreateSopJobBinding>() {
 
     override fun onResume() {
         super.onResume()
+        if (selectedSop!=null){
+            refreshWorkflowMode()
+        }
         if (GlobalDataTempStore.getInstance()
                 .hasData(DataTransferConstants.KEY_SELECTED_MEMBER_LOCKER_DATA)
         ) {
             selectedLockerData = GlobalDataTempStore.getInstance()
-                .getData(DataTransferConstants.KEY_SELECTED_MEMBER_LOCKER_DATA,
-                    Type.lockerGroupType) ?: listOf()
+                .getData(
+                    DataTransferConstants.KEY_SELECTED_MEMBER_LOCKER_DATA,
+                    Type.lockerGroupType
+                ) ?: listOf()
         }
 
         if (GlobalDataTempStore.getInstance()
@@ -407,7 +412,8 @@ class CreateSopJobFragment : BaseFormFragment<FragmentCreateSopJobBinding>() {
                 .getData(DataTransferConstants.KEY_SELECTED_MEMBER_COLOCKER_DATA) ?: listOf()
         }
         binding.noSelectedMemberLayout.isVisible =
-            selectedColockerData.isEmpty() && selectedLockerData.flatMap { it.jobTicketGroupMemberList }.isEmpty()
+            selectedColockerData.isEmpty() && selectedLockerData.flatMap { it.jobTicketGroupMemberList }
+                .isEmpty()
         binding.noSelectedPointLayout.isVisible = selectedPointData.isEmpty()
         viewModel.getUserBiometricDataByUserIds((selectedLockerData.flatMap { it.jobTicketGroupMemberList } + selectedColockerData).map { it.userId })
             .observe(this) {
@@ -458,16 +464,23 @@ class CreateSopJobFragment : BaseFormFragment<FragmentCreateSopJobBinding>() {
             binding.sopTv.text = it.getShowText()
             selectedSopId = it.getId()
             selectedSop = it.getData() as SopManageVo
-            viewModel.getWorkflowSteps(selectedSop?.modeId!!).observe(this) {
-                binding.workflowRv.models = viewModel.workflowSteps
-                binding.selectWorkflowTip.isVisible = false
-            }
+            refreshWorkflowMode()
             binding.selectColockerLayout.isVisible =
                 viewModel.workflowModes.find { it.modeId == selectedSop?.modeId }?.isColockSupport == true
             loadSopData(it.getId()!!)
         }
     }
 
+    /**
+     * 刷新流程模式数据
+     */
+    private fun refreshWorkflowMode() {
+        viewModel.getWorkflowSteps(selectedSop?.modeId!!).observe(this) {
+            binding.workflowRv.models = viewModel.workflowSteps
+            binding.selectWorkflowTip.isVisible = false
+        }
+    }
+
     /**
      * 加载sop数据
      */
@@ -480,7 +493,8 @@ class CreateSopJobFragment : BaseFormFragment<FragmentCreateSopJobBinding>() {
             binding.lockerRv.models = selectedLockerData
             binding.colockerRv.models = selectedColockerData
             binding.noSelectedMemberLayout.isVisible =
-                selectedColockerData.isEmpty() && selectedLockerData.flatMap { it.jobTicketGroupMemberList }.isEmpty()
+                selectedColockerData.isEmpty() && selectedLockerData.flatMap { it.jobTicketGroupMemberList }
+                    .isEmpty()
             binding.noSelectedPointLayout.isVisible = selectedPointData.isEmpty()
         }
     }

+ 18 - 8
app/src/main/java/com/grkj/iscs/features/main/fragment/job_manage/EditJobFragment.kt

@@ -458,6 +458,9 @@ class EditJobFragment : BaseFormFragment<FragmentEditJobBinding>() {
 
     override fun onResume() {
         super.onResume()
+        if (selectedModeId != null) {
+            refreshWorkflowMode()
+        }
         if (GlobalDataTempStore.getInstance()
                 .hasData(DataTransferConstants.KEY_SELECTED_MEMBER_LOCKER_DATA)
         ) {
@@ -528,16 +531,23 @@ class EditJobFragment : BaseFormFragment<FragmentEditJobBinding>() {
         ) {
             binding.lockModeTv.text = it.getShowText()
             selectedModeId = it.getId()
-            val isUnLockFirst = viewModel.isUnlockFirst
-            viewModel.getWorkflowSteps(selectedModeId!!).observe(this) {
-                binding.workflowRv.models = viewModel.workflowSteps
-                if (isUnLockFirst != viewModel.isUnlockFirst) {
-                    selectedPointData = mutableListOf()
-                    binding.pointRv.models = selectedPointData
-                }
-            }
+            refreshWorkflowMode()
             binding.selectColockerLayout.isVisible =
                 viewModel.workflowModes.find { it.modeId == selectedModeId }?.isColockSupport == true
         }
     }
+
+    /**
+     * 刷新流程模式数据
+     */
+    private fun refreshWorkflowMode() {
+        val isUnLockFirst = viewModel.isUnlockFirst
+        viewModel.getWorkflowSteps(selectedModeId!!).observe(this) {
+            binding.workflowRv.models = viewModel.workflowSteps
+            if (isUnLockFirst != viewModel.isUnlockFirst) {
+                selectedPointData = mutableListOf()
+                binding.pointRv.models = selectedPointData
+            }
+        }
+    }
 }

+ 18 - 8
app/src/main/java/com/grkj/iscs/features/main/fragment/job_manage/EditSopFragment.kt

@@ -424,6 +424,9 @@ class EditSopFragment : BaseFormFragment<FragmentEditSopBinding>() {
 
     override fun onResume() {
         super.onResume()
+        if (selectedModeId != null) {
+            refreshWorkflowMode()
+        }
         if (GlobalDataTempStore.getInstance()
                 .hasData(DataTransferConstants.KEY_SELECTED_MEMBER_LOCKER_DATA)
         ) {
@@ -497,16 +500,23 @@ class EditSopFragment : BaseFormFragment<FragmentEditSopBinding>() {
         ) {
             binding.lockModeTv.text = it.getShowText()
             selectedModeId = it.getId()
-            val isUnLockFirst = viewModel.isUnlockFirst
-            viewModel.getWorkflowSteps(selectedModeId!!).observe(this) {
-                binding.workflowRv.models = viewModel.workflowSteps
-                if (isUnLockFirst != viewModel.isUnlockFirst) {
-                    selectedPointData = mutableListOf()
-                    binding.pointRv.models = selectedPointData
-                }
-            }
+            refreshWorkflowMode()
             binding.selectColockerLayout.isVisible =
                 viewModel.workflowModes.find { it.modeId == selectedModeId }?.isColockSupport == true
         }
     }
+
+    /**
+     * 刷新流程模式数据
+     */
+    private fun refreshWorkflowMode() {
+        val isUnLockFirst = viewModel.isUnlockFirst
+        viewModel.getWorkflowSteps(selectedModeId!!).observe(this) {
+            binding.workflowRv.models = viewModel.workflowSteps
+            if (isUnLockFirst != viewModel.isUnlockFirst) {
+                selectedPointData = mutableListOf()
+                binding.pointRv.models = selectedPointData
+            }
+        }
+    }
 }

+ 10 - 3
app/src/main/java/com/grkj/iscs/features/main/fragment/job_manage/EditSopJobFragment.kt

@@ -474,15 +474,22 @@ class EditSopJobFragment : BaseFormFragment<FragmentEditSopJobBinding>() {
             binding.sopTv.text = it.getShowText()
             selectedSopId = it.getId()
             selectedSop = it.getData() as SopManageVo
-            viewModel.getWorkflowSteps(selectedSop?.modeId!!).observe(this) {
-                binding.workflowRv.models = viewModel.workflowSteps
-            }
+            refreshWorkflowMode()
             binding.selectColockerLayout.isVisible =
                 viewModel.workflowModes.find { it.modeId == selectedSop?.modeId }?.isColockSupport == true
             loadSopData(it.getId()!!)
         }
     }
 
+    /**
+     * 刷新流程模式数据
+     */
+    private fun refreshWorkflowMode() {
+        viewModel.getWorkflowSteps(selectedSop?.modeId!!).observe(this) {
+            binding.workflowRv.models = viewModel.workflowSteps
+        }
+    }
+
     /**
      * 加载sop数据
      */