Przeglądaj źródła

refactor(更新)
- 步骤流程角色确认的时候角色选择必填没有提示的问题修复

周文健 4 miesięcy temu
rodzic
commit
35de859547

+ 22 - 7
app/src/main/java/com/grkj/iscs/features/main/fragment/common/WorkflowSettingFragment.kt

@@ -22,6 +22,7 @@ import com.grkj.ui_base.utils.CommonUtils
 import com.grkj.ui_base.utils.extension.smoothScrollToSmartPosition
 import com.kongzue.dialogx.dialogs.PopTip
 import com.sik.sikcore.data.GlobalDataTempStore
+import com.sik.sikcore.extension.isNullOrEmpty
 import com.sik.sikcore.extension.setDebouncedClickListener
 import dagger.hilt.android.AndroidEntryPoint
 
@@ -65,6 +66,9 @@ class WorkflowSettingFragment : BaseFormFragment<FragmentWorkflowSettingBinding>
             }
         }
         binding.confirm.setDebouncedClickListener {
+            if (!checkData()) {
+                return@setDebouncedClickListener
+            }
             viewModel.saveStepsData().observe(this) {
                 PopTip.tip(com.grkj.ui_base.R.string.save_success)
                 resetFormDirty()
@@ -112,17 +116,18 @@ class WorkflowSettingFragment : BaseFormFragment<FragmentWorkflowSettingBinding>
             }
         }
         binding.stepConfirmMember.setDebouncedClickListener {
-            val filterUsers = viewModel.allUser.filter { it.roleKeys.contains(viewModel.currentConfirmRole) }
-            if (filterUsers.isEmpty()){
+            val filterUsers =
+                viewModel.allUser.filter { it.roleKeys.contains(viewModel.currentConfirmRole) }
+            if (filterUsers.isEmpty()) {
                 PopTip.tip(R.string.current_role_no_user)
                 return@setDebouncedClickListener
             }
             TextDropDownDialog.showSingle(filterUsers.map {
-                    TextDropDownDialog.SimpleTextDropDownEntity(
-                        dataId = it.userId,
-                        dataText = it.nickName
-                    )
-                }, binding.stepConfirmMember) { selectedData ->
+                TextDropDownDialog.SimpleTextDropDownEntity(
+                    dataId = it.userId,
+                    dataText = it.nickName
+                )
+            }, binding.stepConfirmMember) { selectedData ->
                 viewModel.currentConfirmMember = selectedData.getId()
                 binding.stepConfirmMember.text = selectedData.getShowText()
                 viewModel.currentStep?.confirmUser = viewModel.currentConfirmMember
@@ -144,6 +149,16 @@ class WorkflowSettingFragment : BaseFormFragment<FragmentWorkflowSettingBinding>
         }
     }
 
+    private fun checkData(): Boolean {
+        if (WorkflowStepConfirmTypeEnum.ROLE_CONFIRM == viewModel.currentConfirmType &&
+            viewModel.currentConfirmRole.isNullOrEmpty()
+        ) {
+            PopTip.tip(R.string.please_select_step_confirm_role)
+            return false
+        }
+        return true
+    }
+
     private fun BindingAdapter.BindingViewHolder.onStepRVListBinding(holder: BindingAdapter.BindingViewHolder) {
         val itemBinding = holder.getBinding<ItemJobExecuteStepBinding>()
         val item = holder.getModel<WorkflowStep>()