Przeglądaj źródła

refactor(更新)
- 修改文本大小

周文健 4 miesięcy temu
rodzic
commit
57ba66e93c
67 zmienionych plików z 457 dodań i 243 usunięć
  1. 31 8
      app/src/main/java/com/grkj/iscs/features/main/dialog/hardware_manage/AddCardDialog.kt
  2. 29 7
      app/src/main/java/com/grkj/iscs/features/main/dialog/hardware_manage/FilterCardDialog.kt
  3. 33 7
      app/src/main/java/com/grkj/iscs/features/main/dialog/hardware_manage/UpdateCardDialog.kt
  4. 5 4
      app/src/main/java/com/grkj/iscs/features/main/dialog/hardware_manage/UpdateKeyDialog.kt
  5. 6 3
      app/src/main/java/com/grkj/iscs/features/main/dialog/hardware_manage/UpdateLockDialog.kt
  6. 42 22
      app/src/main/java/com/grkj/iscs/features/main/fragment/hardware_manage/CardManageFragment.kt
  7. 35 1
      app/src/main/java/com/grkj/iscs/features/main/viewmodel/hardware_manage/CardManageViewModel.kt
  8. 2 0
      app/src/main/java/com/grkj/iscs/features/main/viewmodel/hardware_manage/KeyManageViewModel.kt
  9. 2 0
      app/src/main/java/com/grkj/iscs/features/main/viewmodel/hardware_manage/LockManageViewModel.kt
  10. 2 0
      app/src/main/java/com/grkj/iscs/features/main/viewmodel/hardware_manage/RfidTokenManageViewModel.kt
  11. 3 4
      app/src/main/res/layout-land/activity_login.xml
  12. 8 8
      app/src/main/res/layout-land/fragment_create_job.xml
  13. 8 8
      app/src/main/res/layout-land/fragment_create_sop.xml
  14. 6 6
      app/src/main/res/layout-land/fragment_create_sop_job.xml
  15. 6 6
      app/src/main/res/layout-land/fragment_edit_job.xml
  16. 2 2
      app/src/main/res/layout-land/fragment_home.xml
  17. 1 1
      app/src/main/res/layout-land/fragment_point_manage.xml
  18. 4 4
      app/src/main/res/layout-land/fragment_select_memeber.xml
  19. 4 4
      app/src/main/res/layout-land/fragment_select_point.xml
  20. 5 5
      app/src/main/res/layout-land/item_login_method.xml
  21. 9 8
      app/src/main/res/layout/dialog_add_card.xml
  22. 10 9
      app/src/main/res/layout/dialog_filter_card.xml
  23. 9 8
      app/src/main/res/layout/dialog_update_card.xml
  24. 1 1
      app/src/main/res/layout/fragment_card_manage.xml
  25. 8 8
      app/src/main/res/layout/fragment_create_job.xml
  26. 8 8
      app/src/main/res/layout/fragment_create_sop.xml
  27. 6 6
      app/src/main/res/layout/fragment_create_sop_job.xml
  28. 6 6
      app/src/main/res/layout/fragment_edit_job.xml
  29. 6 6
      app/src/main/res/layout/fragment_edit_sop.xml
  30. 6 6
      app/src/main/res/layout/fragment_edit_sop_job.xml
  31. 1 1
      app/src/main/res/layout/fragment_exception_job_manage.xml
  32. 2 2
      app/src/main/res/layout/fragment_home.xml
  33. 1 1
      app/src/main/res/layout/fragment_in_progress_job_manage.xml
  34. 1 1
      app/src/main/res/layout/fragment_job_execute.xml
  35. 1 1
      app/src/main/res/layout/fragment_job_manage.xml
  36. 1 1
      app/src/main/res/layout/fragment_key_manage.xml
  37. 1 1
      app/src/main/res/layout/fragment_lock_manage.xml
  38. 1 1
      app/src/main/res/layout/fragment_locked_point.xml
  39. 1 1
      app/src/main/res/layout/fragment_point_manage.xml
  40. 1 1
      app/src/main/res/layout/fragment_reset_password.xml
  41. 1 1
      app/src/main/res/layout/fragment_rfid_token_manage.xml
  42. 1 1
      app/src/main/res/layout/fragment_role_manage.xml
  43. 4 4
      app/src/main/res/layout/fragment_select_memeber.xml
  44. 4 4
      app/src/main/res/layout/fragment_select_point.xml
  45. 1 1
      app/src/main/res/layout/fragment_sop_manage.xml
  46. 1 1
      app/src/main/res/layout/fragment_user_info.xml
  47. 1 1
      app/src/main/res/layout/fragment_user_manage.xml
  48. 1 1
      app/src/main/res/layout/fragment_workstation_manage.xml
  49. 1 1
      app/src/main/res/layout/item_home_text_drop_down.xml
  50. 2 2
      app/src/main/res/layout/item_login_method.xml
  51. 1 1
      app/src/main/res/values-en/strings.xml
  52. 16 13
      app/src/main/res/values-land/dimens.xml
  53. 1 1
      app/src/main/res/values-zh/strings.xml
  54. 3 0
      app/src/main/res/values/dimens.xml
  55. 1 1
      app/src/main/res/values/strings.xml
  56. 5 0
      data/src/main/java/com/grkj/data/data/DictConstants.kt
  57. 6 0
      data/src/main/java/com/grkj/data/enums/CommonDictDataEnum.kt
  58. 2 1
      data/src/main/java/com/grkj/data/model/vo/AddCardDataVo.kt
  59. 2 1
      data/src/main/java/com/grkj/data/model/vo/UpdateCardDataVo.kt
  60. 25 1
      data/src/main/java/com/grkj/data/repository/IHardwareRepository.kt
  61. 20 4
      data/src/main/java/com/grkj/data/repository/impl/HardwareRepository.kt
  62. 2 2
      ui-base/src/main/java/com/grkj/ui_base/utils/extension/DialogXExtension.kt
  63. 13 11
      ui-base/src/main/res/layout-land/dialog_tip.xml
  64. 6 6
      ui-base/src/main/res/layout/common_dialog_loading_progress.xml
  65. 9 7
      ui-base/src/main/res/layout/dialog_tip.xml
  66. 7 0
      ui-base/src/main/res/values-land/dimens.xml
  67. 7 0
      ui-base/src/main/res/values/dimens.xml

+ 31 - 8
app/src/main/java/com/grkj/iscs/features/main/dialog/hardware_manage/AddCardDialog.kt

@@ -5,8 +5,10 @@ import android.view.View
 import com.grkj.data.model.vo.AddCardDataVo
 import com.grkj.iscs.R
 import com.grkj.iscs.databinding.DialogAddCardBinding
+import com.grkj.iscs.features.main.dialog.TextDropDownDialog
 import com.grkj.ui_base.utils.extension.tipDialog
 import com.kongzue.dialogx.dialogs.PopTip
+import com.sik.sikcore.extension.setDebouncedClickListener
 import razerdp.basepopup.BasePopupWindow
 
 /**
@@ -14,6 +16,9 @@ import razerdp.basepopup.BasePopupWindow
  */
 class AddCardDialog(context: Context) : BasePopupWindow(context) {
     private lateinit var binding: DialogAddCardBinding
+    private var userData: List<TextDropDownDialog.TextDropDownEntity> = mutableListOf()
+    private var selectUserData: TextDropDownDialog.TextDropDownEntity? = null
+    private lateinit var textDropDownDialog: TextDropDownDialog
     private var onConfirm: (AddCardDataVo) -> Unit = {}
 
     init {
@@ -23,44 +28,62 @@ class AddCardDialog(context: Context) : BasePopupWindow(context) {
     override fun onViewCreated(contentView: View) {
         super.onViewCreated(contentView)
         binding = DialogAddCardBinding.bind(contentView)
-
+        textDropDownDialog = TextDropDownDialog(context)
+        textDropDownDialog.setWidthAsAnchorView(true)
         binding.cancel.setOnClickListener { dismiss() }
         binding.closeIv.setOnClickListener { dismiss() }
         binding.confirm.setOnClickListener {
             if (checkData()) {
                 val vo = AddCardDataVo(
-                    cardNfc   = binding.cardNfcEt.text.toString(),
-                    username  = binding.usernameEt.text.toString(),
-                    exStatus  = binding.statusRg.checkedRadioButtonId == binding.activateRb.id,
-                    exRemark  = binding.remarkEt.text.toString().takeIf { it.isNotBlank() }
+                    cardNfc = binding.cardNfcEt.text.toString(),
+                    userId = selectUserData?.getId() ?: 0,
+                    userName = selectUserData?.getShowText() ?: "",
+                    exStatus = binding.statusRg.checkedRadioButtonId == binding.activateRb.id,
+                    exRemark = binding.remarkEt.text.toString().takeIf { it.isNotBlank() }
                 )
                 onConfirm(vo)
                 // 清空
                 binding.cardNfcEt.setText("")
-                binding.usernameEt.setText("")
+                binding.usernameTv.text = ""
+                selectUserData = null
                 binding.remarkEt.setText("")
                 binding.statusRg.clearCheck()
                 dismiss()
             }
         }
+        binding.usernameTv.setDebouncedClickListener {
+            textDropDownDialog.setData(userData)
+            textDropDownDialog.setOnItemSelectListener {
+                selectUserData = it
+                binding.usernameTv.text = it.getShowText()
+            }
+            textDropDownDialog.showPopupWindow(binding.usernameTv)
+        }
     }
 
     private fun checkData(): Boolean {
         if (binding.cardNfcEt.text.trim().isEmpty()) {
             PopTip.build().tipDialog(R.string.please_input_card_nfc)
+            update()
             return false
         }
-        if (binding.usernameEt.text.trim().isEmpty()) {
-            PopTip.build().tipDialog(R.string.please_input_card_nickname)
+        if (selectUserData == null) {
+            PopTip.build().tipDialog(R.string.please_select_card_username)
+            update()
             return false
         }
         if (binding.statusRg.checkedRadioButtonId == -1) {
             PopTip.build().tipDialog(R.string.please_select_status)
+            update()
             return false
         }
         return true
     }
 
+    fun setUserData(userData: List<TextDropDownDialog.TextDropDownEntity>) {
+        this.userData = userData
+    }
+
     fun setOnConfirmListener(listener: (AddCardDataVo) -> Unit) {
         this.onConfirm = listener
     }

+ 29 - 7
app/src/main/java/com/grkj/iscs/features/main/dialog/hardware_manage/FilterCardDialog.kt

@@ -5,6 +5,8 @@ import android.view.View
 import com.grkj.data.model.vo.CardManageFilterVo
 import com.grkj.iscs.R
 import com.grkj.iscs.databinding.DialogFilterCardBinding
+import com.grkj.iscs.features.main.dialog.TextDropDownDialog
+import com.sik.sikcore.extension.setDebouncedClickListener
 import razerdp.basepopup.BasePopupWindow
 
 /**
@@ -12,6 +14,9 @@ import razerdp.basepopup.BasePopupWindow
  */
 class FilterCardDialog(context: Context) : BasePopupWindow(context) {
     private var onConfirm: (CardManageFilterVo) -> Unit = {}
+    private var userData: List<TextDropDownDialog.TextDropDownEntity> = mutableListOf()
+    private var selectUserData: TextDropDownDialog.TextDropDownEntity? = null
+    private lateinit var textDropDownDialog: TextDropDownDialog
     private lateinit var binding: DialogFilterCardBinding
 
     init {
@@ -21,25 +26,42 @@ class FilterCardDialog(context: Context) : BasePopupWindow(context) {
     override fun onViewCreated(contentView: View) {
         super.onViewCreated(contentView)
         binding = DialogFilterCardBinding.bind(contentView)
-
+        textDropDownDialog = TextDropDownDialog(context)
+        textDropDownDialog.setWidthAsAnchorView(true)
         binding.closeIv.setOnClickListener { dismiss() }
         binding.confirm.setOnClickListener {
             val filter = CardManageFilterVo(
-                cardNfc  = binding.cardNfcEt.text.toString().takeIf { it.isNotBlank() },
-                username = binding.usernameEt.text.toString().takeIf { it.isNotBlank() },
-                status   = when (binding.statusRg.checkedRadioButtonId) {
-                    binding.activateRb.id   -> true
+                cardNfc = binding.cardNfcEt.text.toString().takeIf { it.isNotBlank() },
+                username = selectUserData?.getShowText() ?: "",
+                status = when (binding.statusRg.checkedRadioButtonId) {
+                    binding.activateRb.id -> true
                     binding.deactivateRb.id -> false
-                    else                    -> null
+                    else -> null
                 }
             )
             onConfirm(filter)
             dismiss()
             binding.cardNfcEt.setText("")
-            binding.usernameEt.setText("")
+            binding.usernameTv.setText("")
+            selectUserData = null
             binding.statusRg.clearCheck()
         }
         binding.cancel.setOnClickListener { dismiss() }
+        binding.usernameTv.setDebouncedClickListener {
+            textDropDownDialog.setData(userData)
+            textDropDownDialog.setOnItemSelectListener {
+                selectUserData = it
+                binding.usernameTv.text = it.getShowText()
+            }
+            textDropDownDialog.showPopupWindow(binding.usernameTv)
+        }
+    }
+
+    /**
+     * 设置用户数据
+     */
+    fun setUserData(userData: List<TextDropDownDialog.TextDropDownEntity>) {
+        this.userData = userData
     }
 
     /**

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

@@ -2,12 +2,15 @@ package com.grkj.iscs.features.main.dialog.hardware_manage
 
 import android.content.Context
 import android.view.View
+import com.grkj.data.enums.CommonDictDataEnum
 import com.grkj.data.model.dos.IsJobCard
 import com.grkj.data.model.vo.UpdateCardDataVo
 import com.grkj.iscs.R
 import com.grkj.iscs.databinding.DialogUpdateCardBinding
+import com.grkj.iscs.features.main.dialog.TextDropDownDialog
 import com.grkj.ui_base.utils.extension.tipDialog
 import com.kongzue.dialogx.dialogs.PopTip
+import com.sik.sikcore.extension.setDebouncedClickListener
 import razerdp.basepopup.BasePopupWindow
 
 /**
@@ -15,6 +18,9 @@ import razerdp.basepopup.BasePopupWindow
  */
 class UpdateCardDialog(context: Context) : BasePopupWindow(context) {
     private lateinit var binding: DialogUpdateCardBinding
+    private var userData: List<TextDropDownDialog.TextDropDownEntity> = mutableListOf()
+    private var selectUserData: TextDropDownDialog.TextDropDownEntity? = null
+    private lateinit var textDropDownDialog: TextDropDownDialog
     private var onConfirm: (UpdateCardDataVo) -> Unit = {}
     private var cardId: Long = 0
 
@@ -25,6 +31,8 @@ class UpdateCardDialog(context: Context) : BasePopupWindow(context) {
     override fun onViewCreated(contentView: View) {
         super.onViewCreated(contentView)
         binding = DialogUpdateCardBinding.bind(contentView)
+        textDropDownDialog = TextDropDownDialog(context)
+        textDropDownDialog.setWidthAsAnchorView(true)
         binding.cancel.setOnClickListener { dismiss() }
         binding.closeIv.setOnClickListener { dismiss() }
         binding.confirm.setOnClickListener {
@@ -32,7 +40,8 @@ class UpdateCardDialog(context: Context) : BasePopupWindow(context) {
                 val dto = UpdateCardDataVo(
                     cardId,
                     binding.cardNfcEt.text.toString(),
-                    binding.usernameEt.text.toString(),
+                    selectUserData?.getId() ?: 0,
+                    selectUserData?.getShowText() ?: "",
                     binding.statusRg.checkedRadioButtonId == binding.activateRb.id,
                     binding.remarkEt.text.toString().takeIf { it.isNotBlank() }
                 )
@@ -41,6 +50,14 @@ class UpdateCardDialog(context: Context) : BasePopupWindow(context) {
                 dismiss()
             }
         }
+        binding.usernameTv.setDebouncedClickListener {
+            textDropDownDialog.setData(userData)
+            textDropDownDialog.setOnItemSelectListener {
+                selectUserData = it
+                binding.usernameTv.text = it.getShowText()
+            }
+            textDropDownDialog.showPopupWindow(binding.usernameTv)
+        }
     }
 
     private fun checkData(): Boolean {
@@ -48,8 +65,8 @@ class UpdateCardDialog(context: Context) : BasePopupWindow(context) {
             PopTip.build().tipDialog(R.string.please_input_card_nfc)
             return false
         }
-        if (binding.usernameEt.text.isBlank()) {
-            PopTip.build().tipDialog(R.string.please_input_card_nickname)
+        if (selectUserData == null) {
+            PopTip.build().tipDialog(R.string.please_select_card_username)
             return false
         }
         if (binding.statusRg.checkedRadioButtonId == -1) {
@@ -61,7 +78,8 @@ class UpdateCardDialog(context: Context) : BasePopupWindow(context) {
 
     private fun clear() {
         binding.cardNfcEt.setText("")
-        binding.usernameEt.setText("")
+        binding.usernameTv.text = ""
+        selectUserData = null
         binding.remarkEt.setText("")
         binding.statusRg.clearCheck()
     }
@@ -70,12 +88,20 @@ class UpdateCardDialog(context: Context) : BasePopupWindow(context) {
         this.onConfirm = listener
     }
 
+    fun setUserData(userData: List<TextDropDownDialog.TextDropDownEntity>) {
+        this.userData = userData
+    }
+
     fun setCardData(card: IsJobCard) {
         cardId = card.cardId
         binding.cardNfcEt.setText(card.cardNfc)
-        binding.usernameEt.setText(card.userName)
-        binding.activateRb.isChecked = card.exStatus == "0"
-        binding.deactivateRb.isChecked = card.exStatus != "0"
+        binding.usernameTv.text = card.userName
+        selectUserData = userData.find { it.getId() == card.userId }
+        if (card.exStatus == CommonDictDataEnum.JOB_CARD_STATUS.commonDictRes.find { it.dictLabel == "正常" }?.dictValue) {
+            binding.activateRb.isChecked = true
+        } else {
+            binding.deactivateRb.isChecked = true
+        }
         binding.remarkEt.setText(card.exRemark)
     }
 }

+ 5 - 4
app/src/main/java/com/grkj/iscs/features/main/dialog/hardware_manage/UpdateKeyDialog.kt

@@ -86,9 +86,10 @@ class UpdateKeyDialog(context: Context) : BasePopupWindow(context) {
         binding.keyCodeEt.setText(isKey.keyCode)
         binding.keyNfcEt.setText(isKey.keyNfc)
         binding.keyMacEt.setText(isKey.macAddress)
-        binding.activateRb.isChecked =
-            CommonDictDataEnum.KEY_STATUS.commonDictRes.find { it.dictLabel == "正常" }?.dictValue == isKey.exStatus
-        binding.deactivateRb.isChecked =
-            CommonDictDataEnum.KEY_STATUS.commonDictRes.find { it.dictLabel == "正常" }?.dictValue != isKey.exStatus
+        if (CommonDictDataEnum.KEY_STATUS.commonDictRes.find { it.dictLabel == "正常" }?.dictValue == isKey.exStatus) {
+            binding.activateRb.isChecked = true
+        } else {
+            binding.deactivateRb.isChecked = true
+        }
     }
 }

+ 6 - 3
app/src/main/java/com/grkj/iscs/features/main/dialog/hardware_manage/UpdateLockDialog.kt

@@ -75,9 +75,12 @@ class UpdateLockDialog(context: Context) : BasePopupWindow(context) {
         lockId = lock.lockId
         binding.lockCodeEt.setText(lock.lockCode)
         binding.lockNfcEt.setText(lock.lockNfc)
-        binding.activateRb.isChecked =
-            CommonDictDataEnum.PADLOCK_STATUS.commonDictRes.find { it.dictLabel == "正常" }?.dictValue == lock.exStatus
-        binding.deactivateRb.isChecked = CommonDictDataEnum.PADLOCK_STATUS.commonDictRes.find { it.dictLabel == "正常" }?.dictValue != lock.exStatus
+        if (CommonDictDataEnum.PADLOCK_STATUS.commonDictRes.find { it.dictLabel == "正常" }?.dictValue == lock.exStatus) {
+            binding.activateRb.isChecked = true
+
+        } else {
+            binding.deactivateRb.isChecked = true
+        }
         binding.remarkEt.setText(lock.exRemark)
     }
 }

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

@@ -39,8 +39,10 @@ class CardManageFragment : BaseFragment<FragmentCardManageBinding>() {
 
     override fun initView() {
         addCardDialog = AddCardDialog(requireContext()).apply { popupGravity = Gravity.CENTER }
-        filterCardDialog = FilterCardDialog(requireContext()).apply { popupGravity = Gravity.CENTER }
-        updateCardDialog = UpdateCardDialog(requireContext()).apply { popupGravity = Gravity.CENTER }
+        filterCardDialog =
+            FilterCardDialog(requireContext()).apply { popupGravity = Gravity.CENTER }
+        updateCardDialog =
+            UpdateCardDialog(requireContext()).apply { popupGravity = Gravity.CENTER }
 
         filterCardDialog.setOnConfirmListener {
             viewModel.cardFilterData = it
@@ -49,15 +51,17 @@ class CardManageFragment : BaseFragment<FragmentCardManageBinding>() {
         // 添加卡片
         addCardDialog.setOnConfirmListener { vo ->
             viewModel.addCard(vo).observe(this) { ok ->
-                @StringRes val titleRes = if (ok) com.grkj.ui_base.R.string.action_succeed else com.grkj.ui_base.R.string.action_failed
-                @StringRes val msgRes   = if (ok) R.string.add_card_succeed   else R.string.add_card_failed
+                @StringRes val titleRes =
+                    if (ok) com.grkj.ui_base.R.string.action_succeed else com.grkj.ui_base.R.string.action_failed
+                @StringRes val msgRes =
+                    if (ok) R.string.add_card_succeed else R.string.add_card_failed
 
                 TipDialog.show(
-                    title         = CommonUtils.getStr(titleRes).toString(),
-                    dialogType    = if (ok) TipDialog.DialogType.SUCCESS else TipDialog.DialogType.ERROR,
-                    msg           = CommonUtils.getStr(msgRes).toString(),
+                    title = CommonUtils.getStr(titleRes).toString(),
+                    dialogType = if (ok) TipDialog.DialogType.SUCCESS else TipDialog.DialogType.ERROR,
+                    msg = CommonUtils.getStr(msgRes).toString(),
                     countDownTime = 10,
-                    showConfirm   = false,
+                    showConfirm = false,
                     onCancelClick = { loadCards(reset = true) }
                 )
             }
@@ -65,23 +69,35 @@ class CardManageFragment : BaseFragment<FragmentCardManageBinding>() {
         // 更新卡片
         updateCardDialog.setOnConfirmListener { vo ->
             viewModel.updateCard(vo).observe(this) { ok ->
-                @StringRes val titleRes = if (ok) com.grkj.ui_base.R.string.action_succeed else com.grkj.ui_base.R.string.action_failed
-                @StringRes val msgRes   = if (ok) R.string.update_card_succeed else R.string.update_card_failed
+                @StringRes val titleRes =
+                    if (ok) com.grkj.ui_base.R.string.action_succeed else com.grkj.ui_base.R.string.action_failed
+                @StringRes val msgRes =
+                    if (ok) R.string.update_card_succeed else R.string.update_card_failed
 
                 TipDialog.show(
-                    title         = CommonUtils.getStr(titleRes).toString(),
-                    dialogType    = if (ok) TipDialog.DialogType.SUCCESS else TipDialog.DialogType.ERROR,
-                    msg           = CommonUtils.getStr(msgRes).toString(),
+                    title = CommonUtils.getStr(titleRes).toString(),
+                    dialogType = if (ok) TipDialog.DialogType.SUCCESS else TipDialog.DialogType.ERROR,
+                    msg = CommonUtils.getStr(msgRes).toString(),
                     countDownTime = 10,
-                    showConfirm   = false,
+                    showConfirm = false,
                     onCancelClick = { loadCards(reset = true) }
                 )
             }
         }
 
         binding.back.setDebouncedClickListener { navController.popBackStack() }
-        binding.add.setDebouncedClickListener { addCardDialog.showPopupWindow() }
-        binding.filter.setDebouncedClickListener { filterCardDialog.showPopupWindow() }
+        binding.add.setDebouncedClickListener {
+            viewModel.getAllUserData().observe(this) {
+                addCardDialog.setUserData(it)
+                addCardDialog.showPopupWindow()
+            }
+        }
+        binding.filter.setDebouncedClickListener {
+            viewModel.getAllUserData().observe(this) {
+                filterCardDialog.setUserData(it)
+                filterCardDialog.showPopupWindow()
+            }
+        }
         binding.delete.setDebouncedClickListener { deleteSelectedCards() }
         binding.refreshLayout.setOnRefreshListener {
             viewModel.cardFilterData = null
@@ -108,9 +124,9 @@ class CardManageFragment : BaseFragment<FragmentCardManageBinding>() {
     private fun bindCardItem(holder: BindingAdapter.BindingViewHolder) {
         val bind = holder.getBinding<ItemCardManageBinding>()
         val item = holder.getModel<IsJobCard>()
-        bind.cardCode.text   = item.cardCode
-        bind.cardNfc.text   = item.cardNfc
-        bind.cardNickname.text  = item.userName ?: ""
+        bind.cardCode.text = item.cardCode
+        bind.cardNfc.text = item.cardNfc
+        bind.cardNickname.text = item.userName ?: ""
         bind.select.apply {
             setOnCheckedChangeListener(null)
             isChecked = item.isSelected
@@ -120,8 +136,11 @@ class CardManageFragment : BaseFragment<FragmentCardManageBinding>() {
             }
         }
         bind.root.setOnClickListener {
-            updateCardDialog.setCardData(item)
-            updateCardDialog.showPopupWindow()
+            viewModel.getAllUserData().observe(this) {
+                updateCardDialog.setUserData(it)
+                updateCardDialog.setCardData(item)
+                updateCardDialog.showPopupWindow()
+            }
         }
     }
 
@@ -153,7 +172,8 @@ class CardManageFragment : BaseFragment<FragmentCardManageBinding>() {
             viewModel.deleteSelectedCard(ids).observe(this) { ok ->
                 TipDialog.show(
                     dialogType = if (ok) TipDialog.DialogType.SUCCESS else TipDialog.DialogType.ERROR,
-                    msg = CommonUtils.getStr(if (ok) R.string.card_manage_delete_succeed else R.string.card_manage_delete_failed).toString(),
+                    msg = CommonUtils.getStr(if (ok) R.string.card_manage_delete_succeed else R.string.card_manage_delete_failed)
+                        .toString(),
                     showConfirm = false,
                     countDownTime = 10
                 )

+ 35 - 1
app/src/main/java/com/grkj/iscs/features/main/viewmodel/hardware_manage/CardManageViewModel.kt

@@ -2,6 +2,7 @@ package com.grkj.iscs.features.main.viewmodel.hardware_manage
 
 import androidx.lifecycle.LiveData
 import androidx.lifecycle.liveData
+import com.grkj.data.enums.CommonDictDataEnum
 import com.grkj.data.model.dos.IsJobCard
 import com.grkj.data.model.dos.SysUserDo
 import com.grkj.data.model.vo.AddCardDataVo
@@ -10,6 +11,7 @@ import com.grkj.data.model.vo.UpdateCardDataVo
 import com.grkj.data.repository.IHardwareRepository
 import com.grkj.data.repository.IUserRepository
 import com.grkj.data.repository.impl.UserRepository
+import com.grkj.iscs.features.main.dialog.TextDropDownDialog
 import com.grkj.ui_base.base.BaseViewModel
 import com.sik.sikcore.data.BeanUtils
 import dagger.hilt.android.lifecycle.HiltViewModel
@@ -21,7 +23,8 @@ import javax.inject.Inject
  */
 @HiltViewModel
 class CardManageViewModel @Inject constructor(
-    private val hardwareRepository: IHardwareRepository
+    private val hardwareRepository: IHardwareRepository,
+    private val userRepository: IUserRepository
 ) : BaseViewModel() {
     private var current: Int = 0
     private val size: Int = 50
@@ -57,13 +60,36 @@ class CardManageViewModel @Inject constructor(
         }
     }
 
+    /**
+     * 获取所有用户数据
+     */
+    fun getAllUserData(): LiveData<List<TextDropDownDialog.TextDropDownEntity>> {
+        return liveData(Dispatchers.IO) {
+            val userData = userRepository.getAllUsers().map {
+                TextDropDownDialog.SimpleTextDropDownEntity(
+                    dataId = it.userId,
+                    dataText = it.userName
+                )
+            }
+            emit(userData)
+        }
+    }
+
     /**
      * 添加卡片
      */
     fun addCard(data: AddCardDataVo): LiveData<Boolean> =
         liveData(Dispatchers.IO) {
+            var defaultCardCodeSize = hardwareRepository.getDefaultCardNameCount()
             var isCard = IsJobCard()
             isCard = BeanUtils.copyData<IsJobCard>(data, isCard)
+            isCard.exStatus =
+                if (data.exStatus) {
+                    CommonDictDataEnum.JOB_CARD_STATUS.commonDictRes.find { it.dictLabel == "正常" }?.dictValue
+                } else {
+                    CommonDictDataEnum.JOB_CARD_STATUS.commonDictRes.find { it.dictLabel == "异常" }?.dictValue
+                }
+            isCard.cardCode = "CARD_${defaultCardCodeSize + 1}"
             hardwareRepository.addCardInfo(isCard)
             emit(true)
         }
@@ -73,8 +99,16 @@ class CardManageViewModel @Inject constructor(
      */
     fun updateCard(data: UpdateCardDataVo): LiveData<Boolean> =
         liveData(Dispatchers.IO) {
+            var defaultCardCodeSize = hardwareRepository.getDefaultCardNameCount()
             var isCard = IsJobCard()
             isCard = BeanUtils.copyData<IsJobCard>(data, isCard)
+            isCard.exStatus =
+                if (data.exStatus) {
+                    CommonDictDataEnum.JOB_CARD_STATUS.commonDictRes.find { it.dictLabel == "正常" }?.dictValue
+                } else {
+                    CommonDictDataEnum.JOB_CARD_STATUS.commonDictRes.find { it.dictLabel == "异常" }?.dictValue
+                }
+            isCard.cardCode = "CARD_${defaultCardCodeSize + 1}"
             hardwareRepository.updateCardInfo(isCard)
             emit(true)
         }

+ 2 - 0
app/src/main/java/com/grkj/iscs/features/main/viewmodel/hardware_manage/KeyManageViewModel.kt

@@ -63,8 +63,10 @@ class KeyManageViewModel @Inject constructor(
      */
     fun addKey(data: AddKeyDataVo): LiveData<Boolean> {
         return liveData(Dispatchers.IO) {
+            var defaultKeyCodeSize = hardwareRepository.getDefaultKeyNameCount()
             var isKey = IsKey()
             isKey = BeanUtils.copyData<IsKey>(data, isKey)
+            isKey.keyCode = "KEY_${defaultKeyCodeSize + 1}"
             isKey.exStatus =
                 CommonDictDataEnum.KEY_STATUS.commonDictRes.find { it.dictLabel == if (data.exStatus) "正常" else "异常" }?.dictValue
             hardwareRepository.addKeyInfo(isKey)

+ 2 - 0
app/src/main/java/com/grkj/iscs/features/main/viewmodel/hardware_manage/LockManageViewModel.kt

@@ -64,8 +64,10 @@ class LockManageViewModel @Inject constructor(
      */
     fun addLock(data: AddLockDataVo): LiveData<Boolean> =
         liveData(Dispatchers.IO) {
+            var defaultLockCodeSize = hardwareRepository.getDefaultLockNameCount()
             var isLock = IsLock()
             isLock = BeanUtils.copyData<IsLock>(data, isLock)
+            isLock.lockCode = "LOCK_${defaultLockCodeSize + 1}"
             isLock.exStatus =
                 CommonDictDataEnum.PADLOCK_STATUS.commonDictRes.find { it.dictLabel == if (data.exStatus) "正常" else "异常" }?.dictValue
             hardwareRepository.addLockInfo(isLock)

+ 2 - 0
app/src/main/java/com/grkj/iscs/features/main/viewmodel/hardware_manage/RfidTokenManageViewModel.kt

@@ -70,8 +70,10 @@ class RfidTokenManageViewModel @Inject constructor(
      */
     fun updateRfidToken(data: UpdateRfidTokenDataVo): LiveData<Boolean> =
         liveData(Dispatchers.IO) {
+            var defaultRfidCodeSize = hardwareRepository.getDefaultRFIDNameCount()
             var token = IsRfidToken()
             token = BeanUtils.copyData<IsRfidToken>(data, token)
+            token.rfidCode = "RFID_${defaultRfidCodeSize + 1}"
             hardwareRepository.updateRfidTokenInfo(token)
             emit(true)
         }

+ 3 - 4
app/src/main/res/layout-land/activity_login.xml

@@ -91,15 +91,14 @@
                 <androidx.recyclerview.widget.RecyclerView
                     android:id="@+id/login_type_rv"
                     android:layout_width="wrap_content"
-                    android:layout_height="match_parent"
-                    android:layout_gravity="center_horizontal"
-                    android:layout_weight="1" />
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center_horizontal" />
 
                 <LinearLayout
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_gravity="center_horizontal"
-                    android:layout_marginTop="@dimen/common_spacing"
+                    android:layout_marginTop="@dimen/common_spacing_2x"
                     android:divider="@drawable/common_divider_normal_space_horizontal"
                     android:gravity="center_vertical"
                     android:orientation="horizontal"

+ 8 - 8
app/src/main/res/layout-land/fragment_create_job.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/create_job_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"
@@ -70,7 +70,7 @@
                     android:layout_marginLeft="@dimen/common_spacing"
                     android:text="@string/base_info_title"
                     android:textColor="@color/black"
-                    android:textSize="24sp" />
+                    android:textSize="@dimen/normal_text_size_24" />
 
                 <View
                     android:layout_width="match_parent"
@@ -207,7 +207,7 @@
                             android:layout_weight="1"
                             android:text="@string/point_info_title"
                             android:textColor="@color/black"
-                            android:textSize="24sp" />
+                            android:textSize="@dimen/normal_text_size_24" />
 
                         <TextView
                             android:id="@+id/select_point_tv"
@@ -258,7 +258,7 @@
                                 android:paddingVertical="@dimen/common_spacing"
                                 android:text="@string/please_must_select_at_least_one_point"
                                 android:textColor="@color/black"
-                                android:textSize="24sp" />
+                                android:textSize="@dimen/normal_text_size_24" />
                         </LinearLayout>
                     </FrameLayout>
 
@@ -287,7 +287,7 @@
                             android:layout_weight="1"
                             android:text="@string/member_info_title"
                             android:textColor="@color/black"
-                            android:textSize="24sp" />
+                            android:textSize="@dimen/normal_text_size_24" />
 
                         <TextView
                             android:id="@+id/select_member_tv"
@@ -331,7 +331,7 @@
                                     android:paddingVertical="@dimen/common_spacing"
                                     android:text="@string/locker"
                                     android:textColor="@color/black"
-                                    android:textSize="24sp" />
+                                    android:textSize="@dimen/normal_text_size_24" />
 
                                 <View
                                     android:layout_width="match_parent"
@@ -378,7 +378,7 @@
                                     android:paddingVertical="@dimen/common_spacing"
                                     android:text="@string/colocker"
                                     android:textColor="@color/black"
-                                    android:textSize="24sp" />
+                                    android:textSize="@dimen/normal_text_size_24" />
 
                                 <View
                                     android:layout_width="match_parent"
@@ -414,7 +414,7 @@
                                 android:paddingVertical="@dimen/common_spacing"
                                 android:text="@string/please_select_member"
                                 android:textColor="@color/black"
-                                android:textSize="24sp" />
+                                android:textSize="@dimen/normal_text_size_24" />
                         </LinearLayout>
                     </FrameLayout>
                 </LinearLayout>

+ 8 - 8
app/src/main/res/layout-land/fragment_create_sop.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/create_sop_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"
@@ -71,7 +71,7 @@
                     android:layout_marginLeft="@dimen/common_spacing"
                     android:text="@string/base_info_title"
                     android:textColor="@color/black"
-                    android:textSize="24sp" />
+                    android:textSize="@dimen/normal_text_size_24" />
 
                 <View
                     android:layout_width="match_parent"
@@ -207,7 +207,7 @@
                             android:layout_weight="1"
                             android:text="@string/point_info_title"
                             android:textColor="@color/black"
-                            android:textSize="24sp" />
+                            android:textSize="@dimen/normal_text_size_24" />
 
                         <TextView
                             android:id="@+id/select_point_tv"
@@ -258,7 +258,7 @@
                                 android:paddingVertical="@dimen/common_spacing"
                                 android:text="@string/please_must_select_at_least_one_point"
                                 android:textColor="@color/black"
-                                android:textSize="24sp" />
+                                android:textSize="@dimen/normal_text_size_24" />
                         </LinearLayout>
                     </FrameLayout>
 
@@ -287,7 +287,7 @@
                             android:layout_weight="1"
                             android:text="@string/member_info_title"
                             android:textColor="@color/black"
-                            android:textSize="24sp" />
+                            android:textSize="@dimen/normal_text_size_24" />
 
                         <TextView
                             android:id="@+id/select_member_tv"
@@ -331,7 +331,7 @@
                                     android:paddingVertical="@dimen/common_spacing"
                                     android:text="@string/locker"
                                     android:textColor="@color/black"
-                                    android:textSize="24sp" />
+                                    android:textSize="@dimen/normal_text_size_24" />
 
                                 <View
                                     android:layout_width="match_parent"
@@ -378,7 +378,7 @@
                                     android:paddingVertical="@dimen/common_spacing"
                                     android:text="@string/colocker"
                                     android:textColor="@color/black"
-                                    android:textSize="24sp" />
+                                    android:textSize="@dimen/normal_text_size_24" />
 
                                 <View
                                     android:layout_width="match_parent"
@@ -414,7 +414,7 @@
                                 android:paddingVertical="@dimen/common_spacing"
                                 android:text="@string/please_select_member"
                                 android:textColor="@color/black"
-                                android:textSize="24sp" />
+                                android:textSize="@dimen/normal_text_size_24" />
                         </LinearLayout>
                     </FrameLayout>
                 </LinearLayout>

+ 6 - 6
app/src/main/res/layout-land/fragment_create_sop_job.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/create_sop_job_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"
@@ -71,7 +71,7 @@
                     android:layout_marginLeft="@dimen/common_spacing"
                     android:text="@string/base_info_title"
                     android:textColor="@color/black"
-                    android:textSize="24sp" />
+                    android:textSize="@dimen/normal_text_size_24" />
 
                 <View
                     android:layout_width="match_parent"
@@ -209,7 +209,7 @@
                             android:layout_weight="1"
                             android:text="@string/point_info_title"
                             android:textColor="@color/black"
-                            android:textSize="24sp" />
+                            android:textSize="@dimen/normal_text_size_24" />
 
                     </LinearLayout>
 
@@ -273,7 +273,7 @@
                             android:layout_weight="1"
                             android:text="@string/member_info_title"
                             android:textColor="@color/black"
-                            android:textSize="24sp" />
+                            android:textSize="@dimen/normal_text_size_24" />
 
                         <TextView
                             android:id="@+id/select_member_tv"
@@ -317,7 +317,7 @@
                                     android:paddingVertical="@dimen/common_spacing"
                                     android:text="@string/locker"
                                     android:textColor="@color/black"
-                                    android:textSize="24sp" />
+                                    android:textSize="@dimen/normal_text_size_24" />
 
                                 <View
                                     android:layout_width="match_parent"
@@ -364,7 +364,7 @@
                                     android:paddingVertical="@dimen/common_spacing"
                                     android:text="@string/colocker"
                                     android:textColor="@color/black"
-                                    android:textSize="24sp" />
+                                    android:textSize="@dimen/normal_text_size_24" />
 
                                 <View
                                     android:layout_width="match_parent"

+ 6 - 6
app/src/main/res/layout-land/fragment_edit_job.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/edit_job_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"
@@ -71,7 +71,7 @@
                     android:layout_marginLeft="@dimen/common_spacing"
                     android:text="@string/base_info_title"
                     android:textColor="@color/black"
-                    android:textSize="24sp" />
+                    android:textSize="@dimen/normal_text_size_24" />
 
                 <View
                     android:layout_width="match_parent"
@@ -207,7 +207,7 @@
                             android:layout_weight="1"
                             android:text="@string/point_info_title"
                             android:textColor="@color/black"
-                            android:textSize="24sp" />
+                            android:textSize="@dimen/normal_text_size_24" />
 
                         <TextView
                             android:id="@+id/select_point_tv"
@@ -258,7 +258,7 @@
                             android:layout_weight="1"
                             android:text="@string/member_info_title"
                             android:textColor="@color/black"
-                            android:textSize="24sp" />
+                            android:textSize="@dimen/normal_text_size_24" />
 
                         <TextView
                             android:id="@+id/select_member_tv"
@@ -299,7 +299,7 @@
                                 android:paddingVertical="@dimen/common_spacing"
                                 android:text="@string/locker"
                                 android:textColor="@color/black"
-                                android:textSize="24sp" />
+                                android:textSize="@dimen/normal_text_size_24" />
 
                             <View
                                 android:layout_width="match_parent"
@@ -346,7 +346,7 @@
                                 android:paddingVertical="@dimen/common_spacing"
                                 android:text="@string/colocker"
                                 android:textColor="@color/black"
-                                android:textSize="24sp" />
+                                android:textSize="@dimen/normal_text_size_24" />
 
                             <View
                                 android:layout_width="match_parent"

+ 2 - 2
app/src/main/res/layout-land/fragment_home.xml

@@ -59,7 +59,7 @@
                     android:paddingLeft="@dimen/common_spacing"
                     android:text="@string/home_realtime_data_title"
                     android:textColor="@color/white"
-                    android:textSize="24sp" />
+                    android:textSize="@dimen/normal_text_size_24" />
 
                 <LinearLayout
                     android:id="@+id/realtime_data_filter_layout"
@@ -246,7 +246,7 @@
                     android:paddingLeft="@dimen/common_spacing"
                     android:text="@string/home_overview_data_title"
                     android:textColor="@color/white"
-                    android:textSize="24sp" />
+                    android:textSize="@dimen/normal_text_size_24" />
 
                 <LinearLayout
                     android:id="@+id/overview_data_filter_layout"

+ 1 - 1
app/src/main/res/layout-land/fragment_point_manage.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/point_manage_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"

+ 4 - 4
app/src/main/res/layout-land/fragment_select_memeber.xml

@@ -30,7 +30,7 @@
                 android:layout_marginLeft="@dimen/common_spacing"
                 android:text="@string/create_sop_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <ImageView
                 android:layout_width="wrap_content"
@@ -48,7 +48,7 @@
                 android:layout_marginLeft="@dimen/common_spacing"
                 android:text="@string/select_member_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <View
                 android:layout_width="0dp"
@@ -109,7 +109,7 @@
                             android:paddingVertical="@dimen/common_spacing"
                             android:text="@string/locker"
                             android:textColor="@color/black"
-                            android:textSize="24sp" />
+                            android:textSize="@dimen/normal_text_size_24" />
 
                         <TextView
                             android:id="@+id/select_locker_tv"
@@ -153,7 +153,7 @@
                             android:paddingVertical="@dimen/common_spacing"
                             android:text="@string/colocker"
                             android:textColor="@color/black"
-                            android:textSize="24sp" />
+                            android:textSize="@dimen/normal_text_size_24" />
 
                         <TextView
                             android:id="@+id/select_colocker_tv"

+ 4 - 4
app/src/main/res/layout-land/fragment_select_point.xml

@@ -30,7 +30,7 @@
                 android:layout_marginLeft="@dimen/common_spacing"
                 android:text="@string/create_sop_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <ImageView
                 android:layout_width="wrap_content"
@@ -48,7 +48,7 @@
                 android:layout_marginLeft="@dimen/common_spacing"
                 android:text="@string/select_point_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <View
                 android:layout_width="0dp"
@@ -95,7 +95,7 @@
                     android:layout_marginLeft="@dimen/common_spacing"
                     android:text="@string/selected_point_info_title"
                     android:textColor="@color/black"
-                    android:textSize="24sp" />
+                    android:textSize="@dimen/normal_text_size_24" />
 
                 <View
                     android:layout_width="match_parent"
@@ -127,7 +127,7 @@
                     android:layout_marginLeft="@dimen/common_spacing"
                     android:text="@string/unselected_point_info_title"
                     android:textColor="@color/black"
-                    android:textSize="24sp" />
+                    android:textSize="@dimen/normal_text_size_24" />
 
                 <View
                     android:layout_width="match_parent"

+ 5 - 5
app/src/main/res/layout-land/item_login_method.xml

@@ -3,7 +3,7 @@
 
     <FrameLayout
         android:layout_width="wrap_content"
-        android:layout_height="match_parent">
+        android:layout_height="wrap_content">
 
         <RelativeLayout
             android:layout_width="@dimen/login_method_item_layout_width"
@@ -16,8 +16,8 @@
                 android:layout_width="@dimen/common_spacing"
                 android:layout_height="@dimen/common_spacing"
                 android:layout_alignParentRight="true"
-                android:layout_marginTop="19dp"
-                android:layout_marginRight="14dp"
+                android:layout_marginTop="@dimen/item_login_tip_v_margin_top"
+                android:layout_marginRight="@dimen/item_login_tip_v_margin_right"
                 android:background="@drawable/login_tip_circle"
                 android:visibility="gone" />
 
@@ -26,7 +26,7 @@
                 android:layout_width="@dimen/login_method_item_iv_size"
                 android:layout_height="@dimen/login_method_item_iv_size"
                 android:layout_centerHorizontal="true"
-                android:layout_marginTop="22.5dp"
+                android:layout_marginTop="@dimen/login_method_item_iv_margin"
                 android:adjustViewBounds="false"
                 android:scaleType="center"/>
 
@@ -38,7 +38,7 @@
                 android:layout_marginTop="@dimen/common_spacing_2x"
                 android:gravity="center_horizontal"
                 android:textColor="@color/login_method_tv_color"
-                android:textSize="35sp" />
+                android:textSize="@dimen/login_method_item_tv_text_size" />
         </RelativeLayout>
     </FrameLayout>
 </layout>

+ 9 - 8
app/src/main/res/layout/dialog_add_card.xml

@@ -77,7 +77,7 @@
 
             <!-- 卡片昵称 -->
             <TextView
-                android:id="@+id/username_tv"
+                android:id="@+id/username_title_tv"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/common_spacing_2x"
@@ -87,22 +87,23 @@
                 app:layout_constraintEnd_toEndOf="@+id/card_nfc_tv"
                 app:layout_constraintTop_toBottomOf="@+id/card_nfc_tv" />
 
-            <EditText
-                android:id="@+id/username_et"
+            <TextView
+                android:id="@+id/username_tv"
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
                 android:layout_marginLeft="@dimen/common_spacing"
                 android:background="@drawable/bg_common_input"
-                android:hint="@string/please_input_card_nickname"
+                android:hint="@string/please_select_card_username"
+                android:drawableRight="@drawable/icon_drop_down"
                 android:maxLines="1"
                 android:paddingHorizontal="@dimen/common_spacing"
                 android:paddingVertical="2dp"
                 android:singleLine="true"
                 android:textColor="@color/black"
                 android:textSize="@dimen/common_text_size"
-                app:layout_constraintBaseline_toBaselineOf="@+id/username_tv"
+                app:layout_constraintBaseline_toBaselineOf="@+id/username_title_tv"
                 app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toEndOf="@+id/username_tv" />
+                app:layout_constraintStart_toEndOf="@+id/username_title_tv" />
 
             <!-- 状态 -->
             <TextView
@@ -113,8 +114,8 @@
                 android:text="@string/manage_filter_status"
                 android:textColor="@color/black"
                 android:textSize="@dimen/common_text_size"
-                app:layout_constraintEnd_toEndOf="@+id/username_tv"
-                app:layout_constraintTop_toBottomOf="@+id/username_tv" />
+                app:layout_constraintEnd_toEndOf="@+id/username_title_tv"
+                app:layout_constraintTop_toBottomOf="@+id/username_title_tv" />
 
             <RadioGroup
                 android:id="@+id/status_rg"

+ 10 - 9
app/src/main/res/layout/dialog_filter_card.xml

@@ -77,7 +77,7 @@
 
             <!-- 卡片昵称 -->
             <TextView
-                android:id="@+id/username_tv"
+                android:id="@+id/username_title_tv"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/common_spacing_2x"
@@ -87,23 +87,24 @@
                 app:layout_constraintEnd_toEndOf="@+id/card_nfc_tv"
                 app:layout_constraintTop_toBottomOf="@+id/card_nfc_tv" />
 
-            <EditText
-                android:id="@+id/username_et"
+            <TextView
+                android:id="@+id/username_tv"
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
                 android:layout_marginLeft="@dimen/common_spacing"
                 android:background="@drawable/bg_common_input"
-                android:hint="@string/please_input_card_nickname"
+                android:hint="@string/please_select_card_username"
+                android:drawableRight="@drawable/icon_drop_down"
                 android:maxLines="1"
                 android:paddingHorizontal="@dimen/common_spacing"
                 android:paddingVertical="2dp"
                 android:singleLine="true"
                 android:textColor="@color/black"
                 android:textSize="@dimen/common_text_size"
-                app:layout_constraintBottom_toBottomOf="@+id/username_tv"
+                app:layout_constraintBottom_toBottomOf="@+id/username_title_tv"
                 app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toEndOf="@+id/username_tv"
-                app:layout_constraintTop_toTopOf="@+id/username_tv" />
+                app:layout_constraintStart_toEndOf="@+id/username_title_tv"
+                app:layout_constraintTop_toTopOf="@+id/username_title_tv" />
 
             <!-- 状态 -->
             <TextView
@@ -114,8 +115,8 @@
                 android:text="@string/manage_filter_status"
                 android:textColor="@color/black"
                 android:textSize="@dimen/common_text_size"
-                app:layout_constraintEnd_toEndOf="@+id/username_tv"
-                app:layout_constraintTop_toBottomOf="@+id/username_tv" />
+                app:layout_constraintEnd_toEndOf="@+id/username_title_tv"
+                app:layout_constraintTop_toBottomOf="@+id/username_title_tv" />
 
             <RadioGroup
                 android:id="@+id/status_rg"

+ 9 - 8
app/src/main/res/layout/dialog_update_card.xml

@@ -76,7 +76,7 @@
 
             <!-- 卡片昵称 -->
             <TextView
-                android:id="@+id/username_tv"
+                android:id="@+id/username_title_tv"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/common_spacing_2x"
@@ -86,21 +86,22 @@
                 app:layout_constraintEnd_toEndOf="@+id/card_nfc_tv"
                 app:layout_constraintTop_toBottomOf="@+id/card_nfc_tv" />
 
-            <EditText
-                android:id="@+id/username_et"
+            <TextView
+                android:id="@+id/username_tv"
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
                 android:layout_marginLeft="@dimen/common_spacing"
                 android:background="@drawable/bg_common_input"
-                android:hint="@string/please_input_card_nickname"
+                android:drawableRight="@drawable/icon_drop_down"
+                android:hint="@string/please_select_card_username"
                 android:paddingHorizontal="@dimen/common_spacing"
                 android:paddingVertical="2dp"
                 android:singleLine="true"
                 android:textColor="@color/black"
                 android:textSize="@dimen/common_text_size"
-                app:layout_constraintBaseline_toBaselineOf="@+id/username_tv"
+                app:layout_constraintBaseline_toBaselineOf="@+id/username_title_tv"
                 app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toEndOf="@+id/username_tv" />
+                app:layout_constraintStart_toEndOf="@+id/username_title_tv" />
 
             <!-- 状态 -->
             <TextView
@@ -111,8 +112,8 @@
                 android:text="@string/manage_filter_status"
                 android:textColor="@color/black"
                 android:textSize="@dimen/common_text_size"
-                app:layout_constraintEnd_toEndOf="@+id/username_tv"
-                app:layout_constraintTop_toBottomOf="@+id/username_tv" />
+                app:layout_constraintEnd_toEndOf="@+id/username_title_tv"
+                app:layout_constraintTop_toBottomOf="@+id/username_title_tv" />
 
             <RadioGroup
                 android:id="@+id/status_rg"

+ 1 - 1
app/src/main/res/layout/fragment_card_manage.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/card_manage_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"

+ 8 - 8
app/src/main/res/layout/fragment_create_job.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/create_job_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"
@@ -66,7 +66,7 @@
                 android:layout_weight="1"
                 android:text="@string/base_info_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <View
                 android:layout_width="match_parent"
@@ -197,7 +197,7 @@
                         android:layout_weight="1"
                         android:text="@string/point_info_title"
                         android:textColor="@color/black"
-                        android:textSize="24sp" />
+                        android:textSize="@dimen/normal_text_size_24" />
 
                     <TextView
                         android:id="@+id/select_point_tv"
@@ -248,7 +248,7 @@
                             android:paddingVertical="@dimen/common_spacing"
                             android:text="@string/please_must_select_at_least_one_point"
                             android:textColor="@color/black"
-                            android:textSize="24sp" />
+                            android:textSize="@dimen/normal_text_size_24" />
                     </LinearLayout>
                 </FrameLayout>
 
@@ -277,7 +277,7 @@
                         android:layout_weight="1"
                         android:text="@string/member_info_title"
                         android:textColor="@color/black"
-                        android:textSize="24sp" />
+                        android:textSize="@dimen/normal_text_size_24" />
 
                     <TextView
                         android:id="@+id/select_member_tv"
@@ -321,7 +321,7 @@
                                 android:paddingVertical="@dimen/common_spacing"
                                 android:text="@string/locker"
                                 android:textColor="@color/black"
-                                android:textSize="24sp" />
+                                android:textSize="@dimen/normal_text_size_24" />
 
                             <View
                                 android:layout_width="match_parent"
@@ -368,7 +368,7 @@
                                 android:paddingVertical="@dimen/common_spacing"
                                 android:text="@string/colocker"
                                 android:textColor="@color/black"
-                                android:textSize="24sp" />
+                                android:textSize="@dimen/normal_text_size_24" />
 
                             <View
                                 android:layout_width="match_parent"
@@ -404,7 +404,7 @@
                             android:paddingVertical="@dimen/common_spacing"
                             android:text="@string/please_select_member"
                             android:textColor="@color/black"
-                            android:textSize="24sp" />
+                            android:textSize="@dimen/normal_text_size_24" />
                     </LinearLayout>
                 </FrameLayout>
             </LinearLayout>

+ 8 - 8
app/src/main/res/layout/fragment_create_sop.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/create_sop_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"
@@ -66,7 +66,7 @@
                 android:layout_weight="1"
                 android:text="@string/base_info_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <View
                 android:layout_width="match_parent"
@@ -195,7 +195,7 @@
                         android:layout_weight="1"
                         android:text="@string/point_info_title"
                         android:textColor="@color/black"
-                        android:textSize="24sp" />
+                        android:textSize="@dimen/normal_text_size_24" />
 
                     <TextView
                         android:id="@+id/select_point_tv"
@@ -246,7 +246,7 @@
                             android:paddingVertical="@dimen/common_spacing"
                             android:text="@string/please_must_select_at_least_one_point"
                             android:textColor="@color/black"
-                            android:textSize="24sp" />
+                            android:textSize="@dimen/normal_text_size_24" />
                     </LinearLayout>
                 </FrameLayout>
 
@@ -276,7 +276,7 @@
                         android:layout_weight="1"
                         android:text="@string/member_info_title"
                         android:textColor="@color/black"
-                        android:textSize="24sp" />
+                        android:textSize="@dimen/normal_text_size_24" />
 
                     <TextView
                         android:id="@+id/select_member_tv"
@@ -320,7 +320,7 @@
                                 android:paddingVertical="@dimen/common_spacing"
                                 android:text="@string/locker"
                                 android:textColor="@color/black"
-                                android:textSize="24sp" />
+                                android:textSize="@dimen/normal_text_size_24" />
 
                             <View
                                 android:layout_width="match_parent"
@@ -367,7 +367,7 @@
                                 android:paddingVertical="@dimen/common_spacing"
                                 android:text="@string/colocker"
                                 android:textColor="@color/black"
-                                android:textSize="24sp" />
+                                android:textSize="@dimen/normal_text_size_24" />
 
                             <View
                                 android:layout_width="match_parent"
@@ -403,7 +403,7 @@
                             android:paddingVertical="@dimen/common_spacing"
                             android:text="@string/please_select_member"
                             android:textColor="@color/black"
-                            android:textSize="24sp" />
+                            android:textSize="@dimen/normal_text_size_24" />
                     </LinearLayout>
                 </FrameLayout>
             </LinearLayout>

+ 6 - 6
app/src/main/res/layout/fragment_create_sop_job.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/create_sop_job_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"
@@ -66,7 +66,7 @@
                 android:layout_weight="1"
                 android:text="@string/base_info_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <View
                 android:layout_width="match_parent"
@@ -198,7 +198,7 @@
                         android:layout_weight="1"
                         android:text="@string/point_info_title"
                         android:textColor="@color/black"
-                        android:textSize="24sp" />
+                        android:textSize="@dimen/normal_text_size_24" />
 
                 </LinearLayout>
 
@@ -262,7 +262,7 @@
                         android:layout_weight="1"
                         android:text="@string/member_info_title"
                         android:textColor="@color/black"
-                        android:textSize="24sp" />
+                        android:textSize="@dimen/normal_text_size_24" />
 
                     <TextView
                         android:id="@+id/select_member_tv"
@@ -306,7 +306,7 @@
                                 android:paddingVertical="@dimen/common_spacing"
                                 android:text="@string/locker"
                                 android:textColor="@color/black"
-                                android:textSize="24sp" />
+                                android:textSize="@dimen/normal_text_size_24" />
 
                             <View
                                 android:layout_width="match_parent"
@@ -353,7 +353,7 @@
                                 android:paddingVertical="@dimen/common_spacing"
                                 android:text="@string/colocker"
                                 android:textColor="@color/black"
-                                android:textSize="24sp" />
+                                android:textSize="@dimen/normal_text_size_24" />
 
                             <View
                                 android:layout_width="match_parent"

+ 6 - 6
app/src/main/res/layout/fragment_edit_job.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/edit_job_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"
@@ -69,7 +69,7 @@
                     android:layout_weight="1"
                     android:text="@string/base_info_title"
                     android:textColor="@color/black"
-                    android:textSize="24sp" />
+                    android:textSize="@dimen/normal_text_size_24" />
 
                 <View
                     android:layout_width="match_parent"
@@ -200,7 +200,7 @@
                             android:layout_weight="1"
                             android:text="@string/point_info_title"
                             android:textColor="@color/black"
-                            android:textSize="24sp" />
+                            android:textSize="@dimen/normal_text_size_24" />
 
                         <TextView
                             android:id="@+id/select_point_tv"
@@ -251,7 +251,7 @@
                             android:layout_weight="1"
                             android:text="@string/member_info_title"
                             android:textColor="@color/black"
-                            android:textSize="24sp" />
+                            android:textSize="@dimen/normal_text_size_24" />
 
                         <TextView
                             android:id="@+id/select_member_tv"
@@ -292,7 +292,7 @@
                                 android:paddingVertical="@dimen/common_spacing"
                                 android:text="@string/locker"
                                 android:textColor="@color/black"
-                                android:textSize="24sp" />
+                                android:textSize="@dimen/normal_text_size_24" />
 
                             <View
                                 android:layout_width="match_parent"
@@ -339,7 +339,7 @@
                                 android:paddingVertical="@dimen/common_spacing"
                                 android:text="@string/colocker"
                                 android:textColor="@color/black"
-                                android:textSize="24sp" />
+                                android:textSize="@dimen/normal_text_size_24" />
 
                             <View
                                 android:layout_width="match_parent"

+ 6 - 6
app/src/main/res/layout/fragment_edit_sop.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/edit_sop_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"
@@ -66,7 +66,7 @@
                 android:layout_weight="1"
                 android:text="@string/base_info_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <View
                 android:layout_width="match_parent"
@@ -197,7 +197,7 @@
                         android:layout_weight="1"
                         android:text="@string/point_info_title"
                         android:textColor="@color/black"
-                        android:textSize="24sp" />
+                        android:textSize="@dimen/normal_text_size_24" />
 
                     <TextView
                         android:id="@+id/select_point_tv"
@@ -249,7 +249,7 @@
                         android:layout_weight="1"
                         android:text="@string/member_info_title"
                         android:textColor="@color/black"
-                        android:textSize="24sp" />
+                        android:textSize="@dimen/normal_text_size_24" />
 
                     <TextView
                         android:id="@+id/select_member_tv"
@@ -289,7 +289,7 @@
                             android:paddingVertical="@dimen/common_spacing"
                             android:text="@string/locker"
                             android:textColor="@color/black"
-                            android:textSize="24sp" />
+                            android:textSize="@dimen/normal_text_size_24" />
 
                         <View
                             android:layout_width="match_parent"
@@ -336,7 +336,7 @@
                             android:paddingVertical="@dimen/common_spacing"
                             android:text="@string/colocker"
                             android:textColor="@color/black"
-                            android:textSize="24sp" />
+                            android:textSize="@dimen/normal_text_size_24" />
 
                         <View
                             android:layout_width="match_parent"

+ 6 - 6
app/src/main/res/layout/fragment_edit_sop_job.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/edit_sop_job_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"
@@ -66,7 +66,7 @@
                 android:layout_weight="1"
                 android:text="@string/base_info_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <View
                 android:layout_width="match_parent"
@@ -198,7 +198,7 @@
                         android:layout_weight="1"
                         android:text="@string/point_info_title"
                         android:textColor="@color/black"
-                        android:textSize="24sp" />
+                        android:textSize="@dimen/normal_text_size_24" />
 
                 </LinearLayout>
 
@@ -238,7 +238,7 @@
                         android:layout_weight="1"
                         android:text="@string/member_info_title"
                         android:textColor="@color/black"
-                        android:textSize="24sp" />
+                        android:textSize="@dimen/normal_text_size_24" />
 
                     <TextView
                         android:id="@+id/select_member_tv"
@@ -278,7 +278,7 @@
                             android:paddingVertical="@dimen/common_spacing"
                             android:text="@string/locker"
                             android:textColor="@color/black"
-                            android:textSize="24sp" />
+                            android:textSize="@dimen/normal_text_size_24" />
 
                         <View
                             android:layout_width="match_parent"
@@ -325,7 +325,7 @@
                             android:paddingVertical="@dimen/common_spacing"
                             android:text="@string/colocker"
                             android:textColor="@color/black"
-                            android:textSize="24sp" />
+                            android:textSize="@dimen/normal_text_size_24" />
 
                         <View
                             android:layout_width="match_parent"

+ 1 - 1
app/src/main/res/layout/fragment_exception_job_manage.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/exception_job_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"

+ 2 - 2
app/src/main/res/layout/fragment_home.xml

@@ -59,7 +59,7 @@
                     android:paddingLeft="@dimen/common_spacing"
                     android:text="@string/home_realtime_data_title"
                     android:textColor="@color/white"
-                    android:textSize="24sp" />
+                    android:textSize="@dimen/normal_text_size_24" />
 
                 <LinearLayout
                     android:id="@+id/realtime_data_filter_layout"
@@ -246,7 +246,7 @@
                     android:paddingLeft="@dimen/common_spacing"
                     android:text="@string/home_overview_data_title"
                     android:textColor="@color/white"
-                    android:textSize="24sp" />
+                    android:textSize="@dimen/normal_text_size_24" />
 
                 <LinearLayout
                     android:id="@+id/overview_data_filter_layout"

+ 1 - 1
app/src/main/res/layout/fragment_in_progress_job_manage.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/in_progress_job_manage_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"

+ 1 - 1
app/src/main/res/layout/fragment_job_execute.xml

@@ -31,7 +31,7 @@
                 android:layout_weight="1"
                 android:text="@string/job_manage_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"

+ 1 - 1
app/src/main/res/layout/fragment_job_manage.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/job_manage_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"

+ 1 - 1
app/src/main/res/layout/fragment_key_manage.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/key_manage_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"

+ 1 - 1
app/src/main/res/layout/fragment_lock_manage.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/key_manage_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"

+ 1 - 1
app/src/main/res/layout/fragment_locked_point.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/locked_points_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"

+ 1 - 1
app/src/main/res/layout/fragment_point_manage.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/point_manage_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"

+ 1 - 1
app/src/main/res/layout/fragment_reset_password.xml

@@ -31,7 +31,7 @@
                 android:layout_weight="1"
                 android:text="@string/reset_password_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"

+ 1 - 1
app/src/main/res/layout/fragment_rfid_token_manage.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/key_manage_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"

+ 1 - 1
app/src/main/res/layout/fragment_role_manage.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/role_manage_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"

+ 4 - 4
app/src/main/res/layout/fragment_select_memeber.xml

@@ -30,7 +30,7 @@
                 android:layout_marginLeft="@dimen/common_spacing"
                 android:text="@string/create_sop_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <ImageView
                 android:layout_width="wrap_content"
@@ -48,7 +48,7 @@
                 android:layout_marginLeft="@dimen/common_spacing"
                 android:text="@string/select_member_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <View
                 android:layout_width="0dp"
@@ -107,7 +107,7 @@
                             android:paddingVertical="@dimen/common_spacing"
                             android:text="@string/locker"
                             android:textColor="@color/black"
-                            android:textSize="24sp" />
+                            android:textSize="@dimen/normal_text_size_24" />
 
                         <TextView
                             android:id="@+id/select_locker_tv"
@@ -151,7 +151,7 @@
                             android:paddingVertical="@dimen/common_spacing"
                             android:text="@string/colocker"
                             android:textColor="@color/black"
-                            android:textSize="24sp" />
+                            android:textSize="@dimen/normal_text_size_24" />
 
                         <TextView
                             android:id="@+id/select_colocker_tv"

+ 4 - 4
app/src/main/res/layout/fragment_select_point.xml

@@ -30,7 +30,7 @@
                 android:layout_marginLeft="@dimen/common_spacing"
                 android:text="@string/create_sop_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <ImageView
                 android:layout_width="wrap_content"
@@ -48,7 +48,7 @@
                 android:layout_marginLeft="@dimen/common_spacing"
                 android:text="@string/select_point_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <View
                 android:layout_width="0dp"
@@ -94,7 +94,7 @@
                     android:layout_marginLeft="@dimen/common_spacing"
                     android:text="@string/selected_point_info_title"
                     android:textColor="@color/black"
-                    android:textSize="24sp" />
+                    android:textSize="@dimen/normal_text_size_24" />
 
                 <View
                     android:layout_width="match_parent"
@@ -126,7 +126,7 @@
                     android:layout_marginLeft="@dimen/common_spacing"
                     android:text="@string/unselected_point_info_title"
                     android:textColor="@color/black"
-                    android:textSize="24sp" />
+                    android:textSize="@dimen/normal_text_size_24" />
 
                 <View
                     android:layout_width="match_parent"

+ 1 - 1
app/src/main/res/layout/fragment_sop_manage.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/sop_manage_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"

+ 1 - 1
app/src/main/res/layout/fragment_user_info.xml

@@ -31,7 +31,7 @@
                 android:layout_weight="1"
                 android:text="@string/user_info_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"

+ 1 - 1
app/src/main/res/layout/fragment_user_manage.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/user_manage_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"

+ 1 - 1
app/src/main/res/layout/fragment_workstation_manage.xml

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 android:text="@string/workstation_manage_title"
                 android:textColor="@color/black"
-                android:textSize="24sp" />
+                android:textSize="@dimen/normal_text_size_24" />
 
             <TextView
                 android:id="@+id/back"

+ 1 - 1
app/src/main/res/layout/item_home_text_drop_down.xml

@@ -15,7 +15,7 @@
             android:paddingHorizontal="8dp"
             android:paddingVertical="4dp"
             android:textColor="@color/black"
-            android:textSize="24sp" />
+            android:textSize="@dimen/normal_text_size_24" />
 
         <ImageView
             android:id="@+id/check_iv"

+ 2 - 2
app/src/main/res/layout/item_login_method.xml

@@ -16,8 +16,8 @@
                 android:layout_width="@dimen/common_spacing_2x"
                 android:layout_height="@dimen/common_spacing_2x"
                 android:layout_alignParentRight="true"
-                android:layout_marginTop="19dp"
-                android:layout_marginRight="14dp"
+                android:layout_marginTop="@dimen/item_login_tip_v_margin_top"
+                android:layout_marginRight="@dimen/item_login_tip_v_margin_right"
                 android:background="@drawable/login_tip_circle"
                 android:visibility="gone" />
 

+ 1 - 1
app/src/main/res/values-en/strings.xml

@@ -302,7 +302,7 @@
     <string name="card_nfc">Card NFC</string>
     <string name="please_input_card_nfc">Please input card NFC</string>
     <string name="card_nickname">Username</string>
-    <string name="please_input_card_nickname">Please input user username</string>
+    <string name="please_select_card_username">Please select username</string>
 
     <!-- RFID 标签 -->
     <string name="rfid_token_manage_new_rfid_token_title">New RFID token</string>

+ 16 - 13
app/src/main/res/values-land/dimens.xml

@@ -6,16 +6,16 @@
     <dimen name="header_logo_height">35dp</dimen>
     <dimen name="header_time_text_size">20sp</dimen>
     <dimen name="line_height">3dp</dimen>
-    <dimen name="login_version_margin">10dp</dimen>
-    <dimen name="login_version_text_size">14sp</dimen>
-    <dimen name="login_main_title_text_size">60sp</dimen>
-    <dimen name="login_main_title_margin_top">20dp</dimen>
-    <dimen name="login_sub_title_margin_top">20dp</dimen>
-    <dimen name="login_sub_title_text_size">25sp</dimen>
+    <dimen name="login_version_margin">17dp</dimen>
+    <dimen name="login_version_text_size">23.8sp</dimen>
+    <dimen name="login_main_title_text_size">102sp</dimen>
+    <dimen name="login_main_title_margin_top">34dp</dimen>
+    <dimen name="login_sub_title_margin_top">34dp</dimen>
+    <dimen name="login_sub_title_text_size">42.5sp</dimen>
     <dimen name="login_menu_margin">66dp</dimen>
-    <dimen name="login_circle_view_size">20dp</dimen>
-    <dimen name="login_tip_text_size">25sp</dimen>
-    <dimen name="login_tec_support_text_size">18sp</dimen>
+    <dimen name="login_circle_view_size">34dp</dimen>
+    <dimen name="login_tip_text_size">42.5sp</dimen>
+    <dimen name="login_tec_support_text_size">30.6sp</dimen>
     <dimen name="login_tec_support_margin_bottom">10dp</dimen>
     <dimen name="header_time_padding">5dp</dimen>
     <dimen name="home_user_icon_size">25dp</dimen>
@@ -52,14 +52,17 @@
     <dimen name="init_key_iv_height">35dp</dimen>
     <dimen name="init_lock_iv_width">20dp</dimen>
     <dimen name="init_lock_iv_height">70dp</dimen>
-    <dimen name="login_method_item_layout_width">201dp</dimen>
-    <dimen name="login_method_item_layout_height">226dp</dimen>
-    <dimen name="login_method_item_iv_size">121dp</dimen>
-    <dimen name="login_method_item_iv_margin">22.5dp</dimen>
+    <dimen name="login_method_item_layout_width">341dp</dimen>
+    <dimen name="login_method_item_layout_height">384dp</dimen>
+    <dimen name="login_method_item_iv_size">205dp</dimen>
+    <dimen name="login_method_item_iv_margin">38.25dp</dimen>
     <dimen name="login_method_item_tv_text_size">35sp</dimen>
     <dimen name="home_item_quick_entrance_layout">140dp</dimen>
     <dimen name="home_item_quick_entrance_iv_layout">100dp</dimen>
     <dimen name="home_item_quick_entrance_iv">80dp</dimen>
     <dimen name="home_item_quick_entrace_text_size">24sp</dimen>
     <dimen name="vector_icon_size">40.8dp</dimen>
+    <dimen name="item_login_tip_v_margin_top">32dp</dimen>
+    <dimen name="item_login_tip_v_margin_right">23dp</dimen>
+    <dimen name="normal_text_size_24">41.5sp</dimen>
 </resources>

+ 1 - 1
app/src/main/res/values-zh/strings.xml

@@ -302,7 +302,7 @@
     <string name="card_nfc">卡片 NFC</string>
     <string name="please_input_card_nfc">请输入卡片 NFC</string>
     <string name="card_nickname">用户名称</string>
-    <string name="please_input_card_nickname">请输入用户名称</string>
+    <string name="please_select_card_username">请选择用户名称</string>
 
     <!-- RFID 标签 -->
     <string name="rfid_token_manage_new_rfid_token_title">新增 RFID 标签</string>

+ 3 - 0
app/src/main/res/values/dimens.xml

@@ -62,4 +62,7 @@
     <dimen name="home_item_quick_entrance_iv">80dp</dimen>
     <dimen name="home_item_quick_entrace_text_size">24sp</dimen>
     <dimen name="vector_icon_size">24dp</dimen>
+    <dimen name="item_login_tip_v_margin_top">19dp</dimen>
+    <dimen name="item_login_tip_v_margin_right">14dp</dimen>
+    <dimen name="normal_text_size_24">24sp</dimen>
 </resources>

+ 1 - 1
app/src/main/res/values/strings.xml

@@ -305,7 +305,7 @@
     <string name="card_nfc">卡片 NFC</string>
     <string name="please_input_card_nfc">请输入卡片 NFC</string>
     <string name="card_nickname">用户名称</string>
-    <string name="please_input_card_nickname">请输入用户名称</string>
+    <string name="please_select_card_username">请选择用户名称</string>
 
     <!-- RFID 标签 -->
     <string name="rfid_token_manage_new_rfid_token_title">新增 RFID 标签</string>

+ 5 - 0
data/src/main/java/com/grkj/data/data/DictConstants.kt

@@ -19,6 +19,11 @@ object DictConstants {
      */
     const val KEY_JOB_CARD_REASON = "job_card_reason"
 
+    /**
+     * 硬件工卡异常状态
+     */
+    const val KEY_JOB_CARD_STATUS = "job_card_status"
+
     /**
      * 挂锁异常原因
      */

+ 6 - 0
data/src/main/java/com/grkj/data/enums/CommonDictDataEnum.kt

@@ -37,6 +37,12 @@ enum class CommonDictDataEnum(val dictKey: String, val commonDictRes: List<Commo
             SimpleCommonDictRes("正常", "1"),
         )
     ),
+    JOB_CARD_STATUS(
+        DictConstants.KEY_JOB_CARD_STATUS, listOf(
+            SimpleCommonDictRes("异常", "0"),
+            SimpleCommonDictRes("正常", "1"),
+        )
+    ),
     KEY_REASON(
         DictConstants.KEY_KEY_REASON, listOf(
             SimpleCommonDictRes("钥匙损坏", "0"),

+ 2 - 1
data/src/main/java/com/grkj/data/model/vo/AddCardDataVo.kt

@@ -5,7 +5,8 @@ package com.grkj.data.model.vo
  */
 data class AddCardDataVo(
     val cardNfc: String,
-    val username: String,
+    val userId: Long,
+    val userName: String,
     val exStatus: Boolean,
     val exRemark: String?
 )

+ 2 - 1
data/src/main/java/com/grkj/data/model/vo/UpdateCardDataVo.kt

@@ -6,7 +6,8 @@ package com.grkj.data.model.vo
 data class UpdateCardDataVo(
     val cardId: Long,
     val cardNfc: String,
-    val nickname: String,
+    val userId: Long,
+    val userName: String,
     val exStatus: Boolean,
     val exRemark: String?
 )

+ 25 - 1
data/src/main/java/com/grkj/data/repository/IHardwareRepository.kt

@@ -195,7 +195,11 @@ interface IHardwareRepository {
     /**
      * 获取RfidToken分页
      */
-    fun getRfidTokenInfoPage(filterVo: RfidTokenManageFilterVo?, size: Int, offset: Int): List<IsRfidToken>
+    fun getRfidTokenInfoPage(
+        filterVo: RfidTokenManageFilterVo?,
+        size: Int,
+        offset: Int
+    ): List<IsRfidToken>
 
     /**
      * 删除钥匙表
@@ -211,4 +215,24 @@ interface IHardwareRepository {
      * 移除rfidtoken数据
      */
     fun removeRfidTokenData()
+
+    /**
+     * 获取默认卡片名称统计
+     */
+    fun getDefaultCardNameCount(): Int
+
+    /**
+     * 获取默认RFID统计
+     */
+    fun getDefaultRFIDNameCount(): Int
+
+    /**
+     * 获取默认钥匙名称统计
+     */
+    fun getDefaultKeyNameCount(): Int
+
+    /**
+     * 获取默认挂锁名称统计
+     */
+    fun getDefaultLockNameCount(): Int
 }

+ 20 - 4
data/src/main/java/com/grkj/data/repository/impl/HardwareRepository.kt

@@ -175,7 +175,7 @@ class HardwareRepository @Inject constructor(
         var defaultCardCodeSize = hardwareDao.getDefaultCardNameCount()
         val isJobCard = cardCode.mapIndexed { index, cardCode ->
             val isJobCard = IsJobCard()
-            isJobCard.cardCode = "工卡_${defaultCardCodeSize + index + 1}"
+            isJobCard.cardCode = "CARD_${defaultCardCodeSize + index + 1}"
             isJobCard.cardNfc = cardCode
             isJobCard
         }
@@ -198,7 +198,7 @@ class HardwareRepository @Inject constructor(
         var defaultRfidTokenCodeSize = hardwareDao.getDefaultRfidTokenNameCount()
         val isRfidToken = pointRfid.mapIndexed { index, rfid ->
             val isRfidToken = IsRfidToken()
-            isRfidToken.rfidCode = "RFID标签_${defaultRfidTokenCodeSize + index + 1}"
+            isRfidToken.rfidCode = "RFID_${defaultRfidTokenCodeSize + index + 1}"
             isRfidToken.rfid = rfid
             isRfidToken
         }
@@ -209,7 +209,7 @@ class HardwareRepository @Inject constructor(
         val isKey = IsKey()
         var defaultKeyCodeSize = hardwareDao.getDefaultKeyNameCount()
         hardwareDao.getAllKeyData().size
-        isKey.keyCode = "钥匙_${defaultKeyCodeSize + 1}"
+        isKey.keyCode = "KEY_${defaultKeyCodeSize + 1}"
         isKey.keyNfc = keyNfc
         isKey.macAddress = keyMacAddress
         isKey.exStatus = CommonDictDataEnum.KEY_STATUS.commonDictRes.find { it.dictLabel=="正常" }?.dictValue
@@ -219,7 +219,7 @@ class HardwareRepository @Inject constructor(
     override fun saveLockInfo(lockNfc: String) {
         val isLock = IsLock()
         var defaultLockCodeSize = hardwareDao.getDefaultLockNameCount()
-        isLock.lockCode = "挂锁_${defaultLockCodeSize + 1}"
+        isLock.lockCode = "LOCK_${defaultLockCodeSize + 1}"
         isLock.lockNfc = lockNfc
         isLock.exStatus = CommonDictDataEnum.PADLOCK_STATUS.commonDictRes.find { it.dictLabel=="正常" }?.dictValue
         hardwareDao.addLockInfo(isLock)
@@ -346,4 +346,20 @@ class HardwareRepository @Inject constructor(
     override fun removeRfidTokenData() {
         hardwareDao.removeRfidTokenData()
     }
+
+    override fun getDefaultCardNameCount(): Int {
+        return hardwareDao.getDefaultCardNameCount()
+    }
+
+    override fun getDefaultRFIDNameCount(): Int {
+        return hardwareDao.getDefaultRfidTokenNameCount()
+    }
+
+    override fun getDefaultKeyNameCount(): Int {
+        return hardwareDao.getDefaultKeyNameCount()
+    }
+
+    override fun getDefaultLockNameCount(): Int {
+        return hardwareDao.getDefaultLockNameCount()
+    }
 }

+ 2 - 2
ui-base/src/main/java/com/grkj/ui_base/utils/extension/DialogXExtension.kt

@@ -9,7 +9,7 @@ import com.kongzue.dialogx.dialogs.PopTip
 fun PopTip.tipDialog(msg: String) {
     dialogImplMode = DialogX.IMPL_MODE.DIALOG_FRAGMENT
     message = msg
-    show()
+    showShort()
 }
 
 
@@ -19,5 +19,5 @@ fun PopTip.tipDialog(msg: String) {
 fun PopTip.tipDialog(msg: Int) {
     dialogImplMode = DialogX.IMPL_MODE.DIALOG_FRAGMENT
     setMessage(msg)
-    show()
+    showShort()
 }

+ 13 - 11
ui-base/src/main/res/layout-land/dialog_tip.xml

@@ -3,14 +3,14 @@
     xmlns:tools="http://schemas.android.com/tools">
 
     <RelativeLayout
-        android:layout_width="500dp"
-        android:layout_height="280dp"
+        android:layout_width="@dimen/tip_dialog_width"
+        android:layout_height="@dimen/tip_dialog_height"
         android:background="@drawable/common_card_bg">
 
         <TextView
             android:id="@+id/title"
             android:layout_width="match_parent"
-            android:layout_height="44dp"
+            android:layout_height="@dimen/tip_dialog_header_height"
             android:background="@color/common_tip_dialog_info"
             android:gravity="center_vertical"
             android:paddingHorizontal="@dimen/common_spacing"
@@ -45,22 +45,24 @@
 
             <TextView
                 android:id="@+id/confirm_btn"
-                android:layout_width="70dp"
-                android:layout_height="30dp"
-                android:paddingHorizontal="@dimen/common_spacing"
+                android:layout_width="@dimen/tip_dialog_btn_width"
+                android:layout_height="@dimen/tip_dialog_btn_height"
                 android:background="@drawable/common_btn"
                 android:gravity="center"
-                android:text="@string/confirm" />
+                android:paddingHorizontal="@dimen/common_spacing"
+                android:text="@string/confirm"
+                android:textSize="@dimen/common_btn_text_size" />
 
             <TextView
                 android:id="@+id/cancel_btn"
                 android:layout_width="wrap_content"
-                android:layout_height="30dp"
-                android:paddingHorizontal="@dimen/common_spacing"
+                android:layout_height="@dimen/tip_dialog_btn_height"
                 android:background="@drawable/common_btn"
                 android:gravity="center"
-                android:minWidth="70dp"
-                android:text="@string/cancel" />
+                android:minWidth="@dimen/tip_dialog_btn_width"
+                android:paddingHorizontal="@dimen/common_spacing"
+                android:text="@string/cancel"
+                android:textSize="@dimen/common_btn_text_size" />
         </LinearLayout>
     </RelativeLayout>
 </layout>

+ 6 - 6
ui-base/src/main/res/layout/common_dialog_loading_progress.xml

@@ -17,7 +17,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:textColor="@android:color/white"
-            android:textSize="28sp"
+            android:textSize="@dimen/loading_text_size"
             android:visibility="gone"
             tools:text="title"
             tools:visibility="visible" />
@@ -28,17 +28,17 @@
             android:layout_height="wrap_content"
             app:indicatorColor="@android:color/white"
             app:indicatorName="PacmanIndicator"
-            app:maxHeight="152dp"
-            app:maxWidth="152dp"
-            app:minHeight="152dp"
-            app:minWidth="152dp" />
+            app:maxHeight="@dimen/loading_size"
+            app:maxWidth="@dimen/loading_size"
+            app:minHeight="@dimen/loading_size"
+            app:minWidth="@dimen/loading_size" />
 
         <TextView
             android:id="@+id/tv_common_progress"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:textColor="@android:color/white"
-            android:textSize="28sp"
+            android:textSize="@dimen/loading_text_size"
             android:visibility="gone"
             tools:text="adjfksadfj"
             tools:visibility="visible" />

+ 9 - 7
ui-base/src/main/res/layout/dialog_tip.xml

@@ -3,14 +3,14 @@
     xmlns:tools="http://schemas.android.com/tools">
 
     <RelativeLayout
-        android:layout_width="500dp"
-        android:layout_height="280dp"
+        android:layout_width="@dimen/tip_dialog_width"
+        android:layout_height="@dimen/tip_dialog_height"
         android:background="@drawable/common_card_bg">
 
         <TextView
             android:id="@+id/title"
             android:layout_width="match_parent"
-            android:layout_height="44dp"
+            android:layout_height="@dimen/tip_dialog_header_height"
             android:background="@color/common_tip_dialog_info"
             android:gravity="center_vertical"
             android:paddingHorizontal="@dimen/common_spacing"
@@ -45,21 +45,23 @@
 
             <TextView
                 android:id="@+id/confirm_btn"
-                android:layout_width="70dp"
-                android:layout_height="30dp"
+                android:layout_width="@dimen/tip_dialog_btn_width"
+                android:layout_height="@dimen/tip_dialog_btn_height"
                 android:paddingHorizontal="@dimen/common_spacing"
                 android:background="@drawable/common_btn"
                 android:gravity="center"
+                android:textSize="@dimen/common_btn_text_size"
                 android:text="@string/confirm" />
 
             <TextView
                 android:id="@+id/cancel_btn"
                 android:layout_width="wrap_content"
-                android:layout_height="30dp"
+                android:layout_height="@dimen/tip_dialog_btn_height"
                 android:paddingHorizontal="@dimen/common_spacing"
                 android:background="@drawable/common_btn"
+                android:textSize="@dimen/common_btn_text_size"
                 android:gravity="center"
-                android:minWidth="70dp"
+                android:minWidth="@dimen/tip_dialog_btn_width"
                 android:text="@string/cancel" />
         </LinearLayout>
     </RelativeLayout>

+ 7 - 0
ui-base/src/main/res/values-land/dimens.xml

@@ -93,4 +93,11 @@
     <dimen name="item_rv_login_margin">11.9dp</dimen>
     <dimen name="item_rv_login_icon_size">68dp</dimen>
     <dimen name="divider_line_space">1.7dp</dimen>
+    <dimen name="tip_dialog_btn_width">119dp</dimen>
+    <dimen name="tip_dialog_btn_height">70dp</dimen>
+    <dimen name="tip_dialog_header_height">74.8dp</dimen>
+    <dimen name="tip_dialog_width">850dp</dimen>
+    <dimen name="tip_dialog_height">476dp</dimen>
+    <dimen name="loading_size">258.4dp</dimen>
+    <dimen name="loading_text_size">47.6sp</dimen>
 </resources>

+ 7 - 0
ui-base/src/main/res/values/dimens.xml

@@ -93,4 +93,11 @@
     <dimen name="item_rv_login_margin">7dp</dimen>
     <dimen name="item_rv_login_icon_size">40dp</dimen>
     <dimen name="divider_line_space">1dp</dimen>
+    <dimen name="tip_dialog_btn_width">70dp</dimen>
+    <dimen name="tip_dialog_btn_height">30dp</dimen>
+    <dimen name="tip_dialog_header_height">44dp</dimen>
+    <dimen name="tip_dialog_width">500dp</dimen>
+    <dimen name="tip_dialog_height">280dp</dimen>
+    <dimen name="loading_size">152dp</dimen>
+    <dimen name="loading_text_size">28sp</dimen>
 </resources>