瀏覽代碼

feat(全局)
- 列表刷新时增加loading提示

fix(硬件管理)
- 修复RFID编辑弹窗、卡片编辑弹窗EventBus重复注册的问题

refactor(国际化)
- 新增loading_data中英文

周文健 3 月之前
父節點
當前提交
179da8b2b2
共有 20 個文件被更改,包括 86 次插入4 次删除
  1. 13 1
      app/src/main/java/com/grkj/iscs/features/main/dialog/hardware_manage/UpdateCardDialog.kt
  2. 13 0
      app/src/main/java/com/grkj/iscs/features/main/dialog/hardware_manage/UpdateRfidTokenDialog.kt
  3. 4 0
      app/src/main/java/com/grkj/iscs/features/main/fragment/data_manage/PointMangeFragment.kt
  4. 4 0
      app/src/main/java/com/grkj/iscs/features/main/fragment/data_manage/RoleManageFragment.kt
  5. 4 0
      app/src/main/java/com/grkj/iscs/features/main/fragment/data_manage/UserManageFragment.kt
  6. 2 0
      app/src/main/java/com/grkj/iscs/features/main/fragment/data_manage/WorkstationManageFragment.kt
  7. 2 0
      app/src/main/java/com/grkj/iscs/features/main/fragment/exception_manage/ExceptionManageFragment.kt
  8. 4 0
      app/src/main/java/com/grkj/iscs/features/main/fragment/hardware_manage/CardManageFragment.kt
  9. 4 0
      app/src/main/java/com/grkj/iscs/features/main/fragment/hardware_manage/KeyManageFragment.kt
  10. 4 0
      app/src/main/java/com/grkj/iscs/features/main/fragment/hardware_manage/LockManageFragment.kt
  11. 7 2
      app/src/main/java/com/grkj/iscs/features/main/fragment/hardware_manage/RfidTokenManageFragment.kt
  12. 5 0
      app/src/main/java/com/grkj/iscs/features/main/fragment/job_manage/InProgressJobManageFragment.kt
  13. 4 0
      app/src/main/java/com/grkj/iscs/features/main/fragment/job_manage/JobManageFragment.kt
  14. 4 0
      app/src/main/java/com/grkj/iscs/features/main/fragment/job_manage/LockedPointsFragment.kt
  15. 4 0
      app/src/main/java/com/grkj/iscs/features/main/fragment/job_manage/SopManageFragment.kt
  16. 2 0
      app/src/main/java/com/grkj/iscs/features/main/fragment/job_manage/WorkflowManageFragment.kt
  17. 3 1
      ui-base/src/main/java/com/grkj/ui_base/base/BaseFragment.kt
  18. 1 0
      ui-base/src/main/res/values-en/strings.xml
  19. 1 0
      ui-base/src/main/res/values-zh/strings.xml
  20. 1 0
      ui-base/src/main/res/values/strings.xml

+ 13 - 1
app/src/main/java/com/grkj/iscs/features/main/dialog/hardware_manage/UpdateCardDialog.kt

@@ -15,8 +15,10 @@ import com.grkj.ui_base.utils.event.RFIDCardReadEvent
 import com.grkj.ui_base.utils.extension.tip
 import com.kongzue.dialogx.dialogs.CustomDialog
 import com.kongzue.dialogx.dialogs.PopTip
+import com.kongzue.dialogx.interfaces.DialogLifecycleCallback
 import com.kongzue.dialogx.interfaces.OnBindView
 import com.sik.sikcore.extension.setDebouncedClickListener
+import org.greenrobot.eventbus.EventBus
 import org.greenrobot.eventbus.Subscribe
 import org.greenrobot.eventbus.ThreadMode
 
@@ -38,7 +40,17 @@ class UpdateCardDialog(
         binding = DialogUpdateCardBinding.bind(v)
         dialog?.isCancelable = false
         dialog?.setMaskColor(CommonUtils.getColor(com.grkj.ui_base.R.color.scrim))
-
+        if (!EventBus.getDefault().isRegistered(this)) {
+            EventBus.getDefault().register(this)
+        }
+        dialog?.setDialogLifecycleCallback(object : DialogLifecycleCallback<CustomDialog>() {
+            override fun onDismiss(dialog: CustomDialog?) {
+                super.onDismiss(dialog)
+                if (EventBus.getDefault().isRegistered(this)) {
+                    EventBus.getDefault().unregister(this)
+                }
+            }
+        })
         // 预填数据
         binding.cardNfcEt.setText(card.cardNfc)
         selectedUser = userData.find { it.getId() == card.userId }

+ 13 - 0
app/src/main/java/com/grkj/iscs/features/main/dialog/hardware_manage/UpdateRfidTokenDialog.kt

@@ -13,8 +13,10 @@ import com.grkj.ui_base.utils.event.RFIDCardReadEvent
 import com.grkj.ui_base.utils.extension.tip
 import com.kongzue.dialogx.dialogs.CustomDialog
 import com.kongzue.dialogx.dialogs.PopTip
+import com.kongzue.dialogx.interfaces.DialogLifecycleCallback
 import com.kongzue.dialogx.interfaces.OnBindView
 import com.sik.sikcore.extension.setDebouncedClickListener
+import org.greenrobot.eventbus.EventBus
 import org.greenrobot.eventbus.Subscribe
 import org.greenrobot.eventbus.ThreadMode
 
@@ -34,6 +36,17 @@ class UpdateRfidTokenDialog(
         binding = DialogUpdateRfidTokenBinding.bind(v)
         dialog?.isCancelable = false
         dialog?.setMaskColor(CommonUtils.getColor(com.grkj.ui_base.R.color.scrim))
+        if (!EventBus.getDefault().isRegistered(this)) {
+            EventBus.getDefault().register(this)
+        }
+        dialog?.setDialogLifecycleCallback(object : DialogLifecycleCallback<CustomDialog>() {
+            override fun onDismiss(dialog: CustomDialog?) {
+                super.onDismiss(dialog)
+                if (EventBus.getDefault().isRegistered(this)) {
+                    EventBus.getDefault().unregister(this)
+                }
+            }
+        })
 
         // 预填数据
         binding.rfidCodeEt.setText(token.rfidCode)

+ 4 - 0
app/src/main/java/com/grkj/iscs/features/main/fragment/data_manage/PointMangeFragment.kt

@@ -204,7 +204,11 @@ class PointMangeFragment : BaseFragment<FragmentPointManageBinding>() {
     }
 
     private fun getPointData(nextPage: Boolean = true) {
+        if (!nextPage) {
+            showLoading()
+        }
         viewModel.getPointData(viewModel.pointFilterData, nextPage).observe(this) {
+            hideLoading()
             if (!nextPage) {
                 viewModel.pointFilterData = null
                 binding.selectAll.setOnCheckedChangeListener(null)

+ 4 - 0
app/src/main/java/com/grkj/iscs/features/main/fragment/data_manage/RoleManageFragment.kt

@@ -219,7 +219,11 @@ class RoleManageFragment : BaseFragment<FragmentRoleManageBinding>() {
     }
 
     private fun getRoleData(nextPage: Boolean = true) {
+        if (!nextPage) {
+            showLoading()
+        }
         viewModel.getRoleData(viewModel.roleFilterData, nextPage).observe(this) {
+            hideLoading()
             if (!nextPage) {
                 viewModel.roleFilterData = null
                 binding.selectAll.setOnCheckedChangeListener(null)

+ 4 - 0
app/src/main/java/com/grkj/iscs/features/main/fragment/data_manage/UserManageFragment.kt

@@ -183,7 +183,11 @@ class UserManageFragment : BaseFragment<FragmentUserManageBinding>() {
     }
 
     private fun getUserData(nextPage: Boolean = true) {
+        if (!nextPage) {
+            showLoading()
+        }
         viewModel.getUserData(viewModel.userFilterData, nextPage).observe(this) {
+            hideLoading()
             if (!nextPage) {
                 viewModel.userFilterData = null
                 binding.selectAll.setOnCheckedChangeListener(null)

+ 2 - 0
app/src/main/java/com/grkj/iscs/features/main/fragment/data_manage/WorkstationManageFragment.kt

@@ -150,7 +150,9 @@ class WorkstationManageFragment : BaseFragment<FragmentWorkstationManageBinding>
     }
 
     private fun getWorkstationManageData() {
+        showLoading()
         viewModel.getWorkstationManageData().observe(this) {
+            hideLoading()
             binding.refreshLayout.finishRefresh()
             if (viewModel.workstationManageData.isEmpty()) {
                 binding.state.showEmpty()

+ 2 - 0
app/src/main/java/com/grkj/iscs/features/main/fragment/exception_manage/ExceptionManageFragment.kt

@@ -68,7 +68,9 @@ class ExceptionManageFragment : BaseFragment<FragmentExceptionManageBinding>() {
     }
 
     private fun getData() {
+        showLoading()
         viewModel.getDictData().observe(this) {
+            hideLoading()
             viewModel.getExceptionData().observe(this) {
                 binding.selectAll.setOnCheckedChangeListener(null)
                 binding.selectAll.isChecked = false

+ 4 - 0
app/src/main/java/com/grkj/iscs/features/main/fragment/hardware_manage/CardManageFragment.kt

@@ -136,8 +136,12 @@ class CardManageFragment : BaseFragment<FragmentCardManageBinding>() {
     }
 
     private fun loadCards(reset: Boolean = false) {
+        if (reset) {
+            showLoading()
+        }
         if (reset) viewModel.cardManageDataList.clear()
         viewModel.getCardData(viewModel.cardFilterData, !reset).observe(this) {
+            hideLoading()
             if (reset) binding.selectAll.isChecked = false
             binding.refreshLayout.finishRefresh()
             binding.refreshLayout.finishLoadMore()

+ 4 - 0
app/src/main/java/com/grkj/iscs/features/main/fragment/hardware_manage/KeyManageFragment.kt

@@ -168,7 +168,11 @@ class KeyManageFragment : BaseFragment<FragmentKeyManageBinding>() {
     }
 
     private fun getKeyData(nextPage: Boolean = true) {
+        if (!nextPage) {
+            showLoading()
+        }
         viewModel.getKeyData(viewModel.keyFilterData, nextPage).observe(this) {
+            hideLoading()
             if (!nextPage) {
                 viewModel.keyFilterData = null
                 binding.selectAll.setOnCheckedChangeListener(null)

+ 4 - 0
app/src/main/java/com/grkj/iscs/features/main/fragment/hardware_manage/LockManageFragment.kt

@@ -139,8 +139,12 @@ class LockManageFragment : BaseFragment<FragmentLockManageBinding>() {
     }
 
     private fun loadLocks(reset: Boolean = false) {
+        if (reset) {
+            showLoading()
+        }
         if (reset) viewModel.lockManageDataList.clear()
         viewModel.getLockData(viewModel.lockFilterData, !reset).observe(this) {
+            hideLoading()
             if (reset) binding.selectAll.isChecked = false
             binding.refreshLayout.finishRefresh()
             binding.refreshLayout.finishLoadMore()

+ 7 - 2
app/src/main/java/com/grkj/iscs/features/main/fragment/hardware_manage/RfidTokenManageFragment.kt

@@ -107,7 +107,7 @@ class RfidTokenManageFragment : BaseFragment<FragmentRfidTokenManageBinding>() {
             }
         }
         bind.root.setDebouncedClickListener {
-            if (item.rfidId in viewModel.inUseRfidIds){
+            if (item.rfidId in viewModel.inUseRfidIds) {
                 showToast(CommonUtils.getStr(R.string.rfid_in_use).toString())
                 return@setDebouncedClickListener
             }
@@ -140,8 +140,12 @@ class RfidTokenManageFragment : BaseFragment<FragmentRfidTokenManageBinding>() {
     }
 
     private fun loadTokens(reset: Boolean = false) {
+        if (reset) {
+            showLoading()
+        }
         if (reset) viewModel.rfidTokenManageDataList.clear()
         viewModel.getRfidTokenData(viewModel.rfidTokenFilterData, !reset).observe(this) {
+            hideLoading()
             if (reset) binding.selectAll.isChecked = false
             binding.refreshLayout.finishRefresh()
             binding.refreshLayout.finishLoadMore()
@@ -158,7 +162,8 @@ class RfidTokenManageFragment : BaseFragment<FragmentRfidTokenManageBinding>() {
         if (viewModel.rfidTokenManageDataList.none { it.isSelected }) {
             PopTip.tip(R.string.please_select_rfid_token); return
         }
-        if (viewModel.rfidTokenManageDataList.map { it.rfidId }.any { it in viewModel.inUseRfidIds }){
+        if (viewModel.rfidTokenManageDataList.map { it.rfidId }
+                .any { it in viewModel.inUseRfidIds }) {
             showToast(CommonUtils.getStr(R.string.selected_rfid_in_use).toString())
             return
         }

+ 5 - 0
app/src/main/java/com/grkj/iscs/features/main/fragment/job_manage/InProgressJobManageFragment.kt

@@ -17,6 +17,7 @@ import com.grkj.iscs.databinding.FragmentInProgressJobManageBinding
 import com.grkj.iscs.databinding.ItemJobManageBinding
 import com.grkj.iscs.features.main.viewmodel.job_manage.JobManageViewModel
 import com.grkj.ui_base.base.BaseFragment
+import com.grkj.ui_base.utils.CommonUtils
 import com.sik.sikcore.data.GlobalDataTempStore
 import com.sik.sikcore.extension.setDebouncedClickListener
 import dagger.hilt.android.AndroidEntryPoint
@@ -83,7 +84,11 @@ class InProgressJobManageFragment : BaseFragment<FragmentInProgressJobManageBind
     }
 
     private fun getData(nextPage: Boolean = true) {
+        if (!nextPage) {
+            showLoading()
+        }
         viewModel.getData(nextPage).observe(this) {
+            hideLoading()
             binding.refreshLayout.finishRefresh()
             binding.refreshLayout.finishLoadMore()
             val data = viewModel.jobManageDataList.filter {

+ 4 - 0
app/src/main/java/com/grkj/iscs/features/main/fragment/job_manage/JobManageFragment.kt

@@ -159,7 +159,11 @@ class JobManageFragment : BaseFragment<FragmentJobManageBinding>() {
     }
 
     private fun getData(nextPage: Boolean = true) {
+        if (!nextPage) {
+            showLoading()
+        }
         viewModel.getData(nextPage).observe(this) {
+            hideLoading()
             if (!nextPage) {
                 binding.selectAll.setOnCheckedChangeListener(null)
                 binding.selectAll.isChecked = false

+ 4 - 0
app/src/main/java/com/grkj/iscs/features/main/fragment/job_manage/LockedPointsFragment.kt

@@ -66,7 +66,11 @@ class LockedPointsFragment : BaseFragment<FragmentLockedPointBinding>() {
     }
 
     private fun getPointData(nextPage: Boolean = true) {
+        if (!nextPage) {
+            showLoading()
+        }
         viewModel.getLockedPointsData(nextPage).observe(this) {
+            hideLoading()
             binding.refreshLayout.finishRefresh()
             binding.refreshLayout.finishLoadMore()
             if (viewModel.lockedPoints?.isEmpty() == true) {

+ 4 - 0
app/src/main/java/com/grkj/iscs/features/main/fragment/job_manage/SopManageFragment.kt

@@ -140,7 +140,11 @@ class SopManageFragment : BaseFragment<FragmentSopManageBinding>() {
     }
 
     private fun getSopData(nextPage: Boolean = true) {
+        if (!nextPage) {
+            showLoading()
+        }
         viewModel.getSopData(nextPage).observe(this) {
+            hideLoading()
             if (!nextPage) {
                 binding.selectAll.setOnCheckedChangeListener(null)
                 binding.selectAll.isChecked = false

+ 2 - 0
app/src/main/java/com/grkj/iscs/features/main/fragment/job_manage/WorkflowManageFragment.kt

@@ -164,7 +164,9 @@ class WorkflowManageFragment : BaseFragment<FragmentWorkflowManageBinding>() {
     }
 
     private fun getData() {
+        showLoading()
         viewModel.getData().observe(this) {
+            hideLoading()
             if (viewModel.workflowModeData.isEmpty()) {
                 binding.state.showEmpty()
             } else {

+ 3 - 1
ui-base/src/main/java/com/grkj/ui_base/base/BaseFragment.kt

@@ -19,7 +19,9 @@ import androidx.navigation.NavController
 import androidx.navigation.fragment.findNavController
 import com.grkj.shared.model.EventBean
 import com.grkj.shared.utils.KeyboardUtils
+import com.grkj.ui_base.R
 import com.grkj.ui_base.config.ISCSConfig
+import com.grkj.ui_base.utils.CommonUtils
 import com.grkj.ui_base.utils.event.LoadingEvent
 import com.grkj.ui_base.utils.event.UiEvent
 import com.grkj.ui_base.utils.extension.tip
@@ -110,7 +112,7 @@ abstract class BaseFragment<V : ViewDataBinding> : Fragment(), CustomAdapt {
     }
 
     /** 显示加载框,子类实现 */
-    protected fun showLoading(msg: String?) {
+    protected fun showLoading(msg: String? = CommonUtils.getStr(R.string.loading_data).toString()) {
         LoadingEvent.sendLoadingEvent(msg)
     }
 

+ 1 - 0
ui-base/src/main/res/values-en/strings.xml

@@ -379,4 +379,5 @@
     <string name="end">结束</string>
     <string name="date">%2$d/%3$d/%1$d</string>
     <string name="error_date_range_invalid">The start time cannot be later than the end time</string>
+    <string name="loading_data">Data loading</string>
 </resources>

+ 1 - 0
ui-base/src/main/res/values-zh/strings.xml

@@ -379,4 +379,5 @@
     <string name="end">结束</string>
     <string name="date">%1$d年%2$d月%3$d日</string>
     <string name="error_date_range_invalid">开始时间不能晚于结束时间</string>
+    <string name="loading_data">数据加载中</string>
 </resources>

+ 1 - 0
ui-base/src/main/res/values/strings.xml

@@ -379,4 +379,5 @@
     <string name="end">结束</string>
     <string name="date">%1$d年%2$d月%3$d日</string>
     <string name="error_date_range_invalid">开始时间不能晚于结束时间</string>
+    <string name="loading_data">数据加载中</string>
 </resources>