ソースを参照

refactor(更新)
- 样式统一
- 多语言

周文健 2 ヶ月 前
コミット
b468b478fd
98 ファイル変更895 行追加655 行削除
  1. 1 1
      app/src/main/AndroidManifest.xml
  2. 90 4
      app/src/main/assets/i18n/en-US.csv
  3. 87 1
      app/src/main/assets/i18n/zh-CN.csv
  4. 0 4
      app/src/main/java/com/grkj/iscs/features/main/activity/MainActivity.kt
  5. 0 3
      app/src/main/java/com/grkj/iscs/features/main/fragment/common/SelectMemberFragment.kt
  6. 0 3
      app/src/main/java/com/grkj/iscs/features/main/fragment/data_manage/RoleManageFragment.kt
  7. 0 2
      app/src/main/java/com/grkj/iscs/features/main/fragment/exception_manage/ExceptionJobFragment.kt
  8. 0 3
      app/src/main/java/com/grkj/iscs/features/main/fragment/hardware_manage/SlotsManageFragment.kt
  9. 0 2
      app/src/main/java/com/grkj/iscs/features/main/fragment/job_manage/EditSopFragment.kt
  10. 37 5
      app/src/main/java/com/grkj/iscs/features/main/fragment/job_manage/JobExecuteFragment.kt
  11. 0 2
      app/src/main/java/com/grkj/iscs/features/main/fragment/job_manage/MyTodoListFragment.kt
  12. 0 1
      app/src/main/java/com/grkj/iscs/features/main/viewmodel/exception_manage/ExceptionJobViewModel.kt
  13. 0 1
      app/src/main/java/com/grkj/iscs/features/main/viewmodel/job_manage/JobExecuteViewModel.kt
  14. 3 3
      app/src/main/res/layout-land/fragment_backup_and_restore.xml
  15. 1 1
      app/src/main/res/layout-land/fragment_create_job.xml
  16. 1 1
      app/src/main/res/layout-land/fragment_create_sop.xml
  17. 1 1
      app/src/main/res/layout-land/fragment_create_sop_job.xml
  18. 1 1
      app/src/main/res/layout-land/fragment_edit_job.xml
  19. 1 1
      app/src/main/res/layout-land/fragment_edit_sop.xml
  20. 1 1
      app/src/main/res/layout-land/fragment_edit_sop_job.xml
  21. 363 345
      app/src/main/res/layout-land/fragment_job_execute.xml
  22. 1 1
      app/src/main/res/layout-land/fragment_point_manage.xml
  23. 1 1
      app/src/main/res/layout-land/fragment_select_memeber.xml
  24. 1 1
      app/src/main/res/layout-land/fragment_select_point.xml
  25. 1 1
      app/src/main/res/layout-land/fragment_set_face.xml
  26. 1 1
      app/src/main/res/layout-land/fragment_user_info.xml
  27. 2 2
      app/src/main/res/layout-land/fragment_workflow_setting.xml
  28. 1 0
      app/src/main/res/layout-land/item_job_execute_colock.xml
  29. 3 0
      app/src/main/res/layout-land/item_job_execute_point.xml
  30. 1 0
      app/src/main/res/layout-land/item_job_execute_step.xml
  31. 2 0
      app/src/main/res/layout/dialog_add_card.xml
  32. 2 0
      app/src/main/res/layout/dialog_add_key.xml
  33. 2 0
      app/src/main/res/layout/dialog_add_lock.xml
  34. 2 0
      app/src/main/res/layout/dialog_add_rfid_token.xml
  35. 2 0
      app/src/main/res/layout/dialog_add_role.xml
  36. 2 0
      app/src/main/res/layout/dialog_add_user.xml
  37. 2 0
      app/src/main/res/layout/dialog_filter_card.xml
  38. 2 0
      app/src/main/res/layout/dialog_filter_key.xml
  39. 2 0
      app/src/main/res/layout/dialog_filter_lock.xml
  40. 2 0
      app/src/main/res/layout/dialog_filter_rfid_token.xml
  41. 2 0
      app/src/main/res/layout/dialog_filter_role.xml
  42. 2 0
      app/src/main/res/layout/dialog_filter_user.xml
  43. 2 0
      app/src/main/res/layout/dialog_update_card.xml
  44. 21 19
      app/src/main/res/layout/dialog_update_key.xml
  45. 2 0
      app/src/main/res/layout/dialog_update_lock.xml
  46. 2 0
      app/src/main/res/layout/dialog_update_rfid_token.xml
  47. 2 0
      app/src/main/res/layout/dialog_update_role.xml
  48. 2 0
      app/src/main/res/layout/dialog_update_user.xml
  49. 3 3
      app/src/main/res/layout/fragment_backup_and_restore.xml
  50. 1 1
      app/src/main/res/layout/fragment_card_manage.xml
  51. 1 1
      app/src/main/res/layout/fragment_create_job.xml
  52. 1 1
      app/src/main/res/layout/fragment_create_sop.xml
  53. 1 1
      app/src/main/res/layout/fragment_create_sop_job.xml
  54. 1 1
      app/src/main/res/layout/fragment_edit_job.xml
  55. 1 1
      app/src/main/res/layout/fragment_edit_sop.xml
  56. 1 1
      app/src/main/res/layout/fragment_edit_sop_job.xml
  57. 1 1
      app/src/main/res/layout/fragment_exception_detail.xml
  58. 1 1
      app/src/main/res/layout/fragment_exception_job.xml
  59. 1 1
      app/src/main/res/layout/fragment_exception_job_manage.xml
  60. 1 1
      app/src/main/res/layout/fragment_exception_manage.xml
  61. 1 1
      app/src/main/res/layout/fragment_exception_report.xml
  62. 1 1
      app/src/main/res/layout/fragment_in_progress_job_manage.xml
  63. 3 2
      app/src/main/res/layout/fragment_job_execute.xml
  64. 1 1
      app/src/main/res/layout/fragment_job_manage.xml
  65. 1 1
      app/src/main/res/layout/fragment_key_manage.xml
  66. 1 1
      app/src/main/res/layout/fragment_lock_manage.xml
  67. 1 1
      app/src/main/res/layout/fragment_locked_point.xml
  68. 2 2
      app/src/main/res/layout/fragment_my_todo_list.xml
  69. 1 1
      app/src/main/res/layout/fragment_point_manage.xml
  70. 1 1
      app/src/main/res/layout/fragment_reset_password.xml
  71. 1 1
      app/src/main/res/layout/fragment_rfid_token_manage.xml
  72. 1 1
      app/src/main/res/layout/fragment_role_manage.xml
  73. 2 2
      app/src/main/res/layout/fragment_select_memeber.xml
  74. 2 2
      app/src/main/res/layout/fragment_select_point.xml
  75. 1 1
      app/src/main/res/layout/fragment_set_face.xml
  76. 1 1
      app/src/main/res/layout/fragment_set_fingerprint.xml
  77. 1 1
      app/src/main/res/layout/fragment_set_job_card.xml
  78. 1 1
      app/src/main/res/layout/fragment_slots_manage.xml
  79. 1 1
      app/src/main/res/layout/fragment_sop_manage.xml
  80. 1 1
      app/src/main/res/layout/fragment_user_info.xml
  81. 1 1
      app/src/main/res/layout/fragment_user_manage.xml
  82. 1 1
      app/src/main/res/layout/fragment_workflow_manage.xml
  83. 2 2
      app/src/main/res/layout/fragment_workflow_setting.xml
  84. 1 1
      app/src/main/res/layout/fragment_workstation_manage.xml
  85. 1 0
      app/src/main/res/layout/item_job_execute_colock.xml
  86. 4 0
      app/src/main/res/layout/item_job_execute_point.xml
  87. 0 25
      data/src/main/java/com/grkj/data/data/DictConstants.kt
  88. 32 65
      data/src/main/java/com/grkj/data/enums/CommonDictDataEnum.kt
  89. 9 7
      data/src/main/java/com/grkj/data/enums/IsolationPointPowerTypeEnum.kt
  90. 10 8
      data/src/main/java/com/grkj/data/enums/JobTicketStatusEnum.kt
  91. 4 3
      data/src/main/java/com/grkj/data/enums/LockPointModeEnum.kt
  92. 10 9
      data/src/main/java/com/grkj/data/enums/OperationTypeEnum.kt
  93. 8 6
      data/src/main/java/com/grkj/data/enums/RoleEnum.kt
  94. 35 36
      data/src/main/java/com/grkj/data/enums/RoleFunctionalPermissionsEnum.kt
  95. 82 36
      shared/src/main/java/com/grkj/shared/utils/i18n/util/CsvUtils.kt
  96. 1 1
      ui-base/src/main/res/color/tab_text_color.xml
  97. 0 4
      ui-base/src/main/res/values/strings.xml
  98. 1 0
      ui-base/src/main/res/values/theme.xml

+ 1 - 1
app/src/main/AndroidManifest.xml

@@ -32,7 +32,7 @@
         android:dataExtractionRules="@xml/data_extraction_rules"
         android:fullBackupContent="@xml/backup_rules"
         android:icon="@mipmap/ic_launcher"
-        android:label="@string/app_name"
+        android:label="ISCS"
         android:requestLegacyExternalStorage="true"
         android:supportsRtl="true"
         android:theme="@style/Theme.ISCS_BASE_APP"

+ 90 - 4
app/src/main/assets/i18n/en-US.csv

@@ -47,13 +47,13 @@ cancel_exception_failed,text,Failed to Cancel Exception,
 cancel_exception_success,text,Exception Cancelled Successfully,
 cancel_job,text,Cancel Job,
 cancel_job_tip,text,Are you sure you want to cancel the current job?,
-capture_tip_content,text,"1. The system will automatically take a photo. During the process, please ensure: 
+capture_tip_content,text,1. The system will automatically take a photo. During the process, please ensure:
        · Face is facing the camera
        · Maintain an appropriate distance so the entire face fits within the left frame
        · Adequate lighting
        · Natural expression 
  2. After the photo is taken, you can click the Confirm button to submit, or click the Retake button to take the photo again. 
- 3. To cancel enrollment, please click the Cancel button.",
+ 3. To cancel enrollment, please click the Cancel button.,
 capture_tip_title,text,Capture Prompt,
 card_already_registration,text,Card Already Registered,
 card_code,text,Card Name,
@@ -628,8 +628,8 @@ workflow_step_title_short,text,Step Title Abbreviation,
 workstation_already_exists,text,Area already exists,
 workstation_is_in_bottom,text,Area is already at the bottom,
 workstation_is_in_top,text,Area is already at the top,
-workstation_manage_delete_failed,text,"Unable to delete area ""{0}""",
-workstation_manage_delete_succeed,text,"Area ""{0}"" deleted successfully",
+workstation_manage_delete_failed,text,Unable to delete area "{0}",
+workstation_manage_delete_succeed,text,Area "{0}" deleted successfully,
 workstation_manage_new_workstation,text,Add Area,
 workstation_manage_title,text,Area Management,
 workstation_manage_workstation_name,text,Area Name,
@@ -676,3 +676,89 @@ max_backup_tip,text,The maximum number of backups has been reached. Continuing w
 switch,text,Switch
 backup_restoring,text,Restoring backup…
 point_manage_switch_icon,text,Switch Icon
+user_manage,text,User Management
+role_manage,text,Role Management
+workstation_manage,text,Area Management
+point_manage,text,Point Management
+backup_and_restore,text,Backup / Restore
+in_progress_job,text,Jobs in Progress
+create_sop,text,Create SOP
+sop_manage,text,SOP Management
+exception_job,text,Exception Jobs
+create_job,text,Create Job
+job_manage,text,Job Management
+workflow_manage,text,Workflow Mode Management
+create_sop_job,text,Create SOP Job
+locked_point,text,Locked Points
+slot_manage,text,Slot Management
+key_manage,text,Key Management
+lock_manage,text,Padlock Management
+card_manage,text,Card Management
+rfid_manage,text,RFID Management
+exception_report,text,Exception Reporting
+exception_manage,text,Exception Management
+user_info,text,Personal Information
+reset_password,text,Reset Password
+fingerprint_setting,text,Fingerprint Settings
+face_setting,text,Face Settings
+card_setting,text,Card Settings
+logout,text,Log Out
+todo_list,text,My To-Dos
+hardware_manage,text,Hardware Management
+job_ticket_manage,text,Job Ticket Management
+data_manage,text,Data Management
+home,text,Home
+auto_confirm,text,Auto Confirm
+click_confirm,text,Click Confirm
+role_confirm,text,Role Confirmation
+admin,text,Super Admin
+jtdrawer,text,Job Manager
+jtlocker,text,Job Lead
+jtcolocker,text,Job Participant
+jtguard,text,Job Observer
+sysconfig,text,System Configurator
+force_shared_lock,text,Forced Shared-Lock Mode
+force_multi_lock,text,Forced Multi-Lock Mode
+mixed_mode,text,Mixed Mode
+lock_take_key,text,Start Locking
+lock_return_key,text,Finish Locking
+unlock_take_key,text,Start Unlocking
+unlock_return_key,text,Finish Unlocking
+colock,text,Add Co-lock
+release_colock,text,Release Co-lock
+confirm_exec,text,Confirm Execution
+end,text,End Job
+unknown,text,Unknown To-Do
+not_start,text,Not Started
+select_member,text,Select Member
+locking,text,Locking
+colocking,text,Co-locking
+unlocking,text,Unlocking
+finished,text,Finished
+canceled,text,Canceled
+progressing,text,In Progress
+hydraulic_pressure,text,Hydraulic
+electric_energy,text,Electrical Energy
+potential_energy,text,Potential Energy
+heat_energy,text,Thermal Energy
+gas,text,Gas
+mechanical_energy,text,Mechanical Energy
+air_energy,text,Compressed Air
+apply_master_key,text,Apply for Master Key
+apply_finish_job,text,Apply to Finish Job
+apply_scrap_slot,text,Apply to Scrap Slot
+apply_scrap_lock,text,Apply to Scrap Padlock
+apply_scrap_key,text,Apply to Scrap Key
+slot_damage,text,Damaged Slot
+lock_damage,text,Damaged Padlock
+key_damage,text,Damaged Key
+job_cat_not_exec,text,Job Ticket Not Executable
+pending,text,Pending
+processed,text,Processed
+canceld,text,Canceled
+key,text,Key
+lock,text,Padlock
+slot,text,Slot
+job,text,Job
+job_exception,text,Job Exception
+hardware_exception,text,Hardware Exception

+ 87 - 1
app/src/main/assets/i18n/zh-CN.csv

@@ -675,4 +675,90 @@ loading_backup,text,加载备份中,正在读取备份文件
 max_backup_tip,text,备份达到上限,备份数量已经达到上限,继续备份将移除最老的数据。
 switch,text,切换文本,切换
 backup_restoring,text,备份还原中,备份还原中……
-point_manage_switch_icon,text,开关图标
+point_manage_switch_icon,text,开关图标
+user_manage,text,用户管理
+role_manage,text,角色管理
+workstation_manage,text,区域管理
+point_manage,text,点位管理
+backup_and_restore,text,备份/还原
+in_progress_job,text,进行中的作业
+create_sop,text,新建SOP
+sop_manage,text,SOP管理
+exception_job,text,异常作业
+create_job,text,新建作业
+job_manage,text,作业管理
+workflow_manage,text,流程模式管理
+create_sop_job,text,新建SOP作业
+locked_point,text,锁定中的点位
+slot_manage,text,仓位管理
+key_manage,text,钥匙管理
+lock_manage,text,挂锁管理
+card_manage,text,卡片管理
+rfid_manage,text,RFID管理
+exception_report,text,异常上报
+exception_manage,text,异常管理
+user_info,text,个人信息
+reset_password,text,重置密码
+fingerprint_setting,text,设置指纹
+face_setting,text,设置人脸
+card_setting,text,设置工卡
+logout,text,退出登录
+todo_list,text,我的待办
+hardware_manage,text,硬件管理
+job_ticket_manage,text,作业管理
+data_manage,text,数据管理
+home,text,主页
+auto_confirm,text,自动确认
+click_confirm,text,点击确认
+role_confirm,text,角色确认
+admin,text,超级管理员
+jtdrawer,text,作业管理员
+jtlocker,text,作业负责人
+jtcolocker,text,作业参与人
+jtguard,text,作业观察员
+sysconfig,text,系统配置员
+force_shared_lock,text,强制共享锁模式
+force_multi_lock,text,强制多锁模式
+mixed_mode,text,混合模式
+lock_take_key,text,启动上锁
+lock_return_key,text,完成上锁
+unlock_take_key,text,启动解锁
+unlock_return_key,text,完成解锁
+colock,text,添加共锁
+release_colock,text,解除共锁
+confirm,text,执行确认
+end,text,结束作业
+unknown,text,未知待办
+not_start,text,未开始
+select_member,text,选择人员
+locking,text,上锁中
+colocking,text,共锁中
+unlocking,text,解锁中
+finished,text,已结束
+canceled,text,已取消
+progressing,text,进行中
+hydraulic_pressure,text,液压
+electric_energy,text,电能
+potential_energy,text,势能
+heat_energy,text,热能
+gas,text,燃气
+mechanical_energy,text,机械能
+air_energy,text,空气能
+apply_master_key,text,申请万能钥匙
+apply_finish_job,text,申请结束作业
+apply_scrap_slot,text,申请报废仓位
+apply_scrap_lock,text,申请报废挂锁
+apply_scrap_key,text,申请报废钥匙
+slot_damage,text,仓位损坏
+lock_damage,text,挂锁损坏
+key_damage,text,钥匙损坏
+job_cat_not_exec,text,作业票无法执行
+pending,text,待处理
+processed,text,已处理
+canceld,text,已取消
+key,text,钥匙
+lock,text,挂锁
+slot,text,仓位
+job,text,作业
+job_exception,text,作业异常
+hardware_exception,text,硬件异常

+ 0 - 4
app/src/main/java/com/grkj/iscs/features/main/activity/MainActivity.kt

@@ -20,18 +20,14 @@ import com.grkj.iscs.features.login.activity.LoginActivity
 import com.grkj.iscs.features.main.viewmodel.MainViewModel
 import com.grkj.shared.model.EventBean
 import com.grkj.ui_base.base.BaseActivity
-import com.grkj.ui_base.utils.event.BottomNavVisibilityEvent
 import com.grkj.shared.utils.extension.toByteArrays
 import com.grkj.shared.utils.extension.toHexStrings
-import com.grkj.ui_base.utils.ble.BleConnectionManager
 import com.grkj.ui_base.utils.ble.BleSendDispatcher
 import com.grkj.ui_base.utils.event.FlashTipEvent
 import com.grkj.ui_base.utils.event.RFIDCardReadEvent
 import com.sik.sikcore.extension.file
 import com.sik.sikcore.extension.setDebouncedClickListener
-import com.sik.sikcore.extension.toJson
 import com.sik.sikimage.ImageConvertUtils
-import com.sik.siknet.http.toMap
 import dagger.hilt.android.AndroidEntryPoint
 
 /**

+ 0 - 3
app/src/main/java/com/grkj/iscs/features/main/fragment/common/SelectMemberFragment.kt

@@ -1,7 +1,6 @@
 package com.grkj.iscs.features.main.fragment.common
 
 import android.widget.LinearLayout
-import androidx.core.content.ContextCompat
 import androidx.core.view.isVisible
 import androidx.fragment.app.viewModels
 import coil.load
@@ -29,8 +28,6 @@ import com.grkj.ui_base.base.BaseFragment
 import com.grkj.ui_base.listeners.BlankAreaTouchListener
 import com.grkj.ui_base.skin.loadSkinIcon
 import com.grkj.ui_base.utils.CommonUtils
-import com.grkj.ui_base.utils.extension.tip
-import com.kongzue.dialogx.dialogs.PopTip
 import com.sik.sikcore.data.GlobalDataTempStore
 import com.sik.sikcore.extension.file
 import com.sik.sikcore.extension.setDebouncedClickListener

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

@@ -1,7 +1,6 @@
 package com.grkj.iscs.features.main.fragment.data_manage
 
 import android.graphics.Color
-import android.view.Gravity
 import androidx.fragment.app.viewModels
 import com.drake.brv.BindingAdapter
 import com.drake.brv.annotaion.DividerOrientation
@@ -22,8 +21,6 @@ import com.grkj.iscs.features.main.viewmodel.data_manage.RoleManageViewModel
 import com.grkj.ui_base.base.BaseFragment
 import com.grkj.ui_base.dialog.TipDialog
 import com.grkj.ui_base.utils.CommonUtils
-import com.grkj.ui_base.utils.extension.tip
-import com.kongzue.dialogx.dialogs.PopTip
 import com.sik.sikcore.extension.setDebouncedClickListener
 import dagger.hilt.android.AndroidEntryPoint
 import kotlin.getValue

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

@@ -14,7 +14,6 @@ import com.drake.brv.utils.models
 import com.drake.brv.utils.setup
 import com.grkj.data.enums.NextJobPrompt
 import com.grkj.data.enums.RoleEnum
-import com.grkj.data.model.dos.WorkflowStep
 import com.grkj.data.model.vo.IsJobTicketPointsDataVo
 import com.grkj.data.model.vo.IsJobTicketStepDataVo
 import com.grkj.data.model.vo.IsJobTicketUserDataVo
@@ -30,7 +29,6 @@ import com.grkj.ui_base.dialog.TipDialog
 import com.grkj.ui_base.skin.loadSkinIcon
 import com.grkj.ui_base.utils.CommonUtils
 import com.grkj.ui_base.utils.extension.toggleExpandView
-import com.kongzue.dialogx.dialogs.PopTip
 import com.sik.sikcore.data.GlobalDataTempStore
 import com.sik.sikcore.extension.setDebouncedClickListener
 import dagger.hilt.android.AndroidEntryPoint

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

@@ -29,14 +29,11 @@ import com.grkj.ui_base.config.ISCSConfig
 import com.grkj.ui_base.dialog.TipDialog
 import com.grkj.ui_base.utils.CommonUtils
 import com.grkj.ui_base.utils.event.LoadingEvent
-import com.grkj.ui_base.utils.modbus.DeviceConst
 import com.grkj.ui_base.utils.modbus.DockBean
 import com.grkj.ui_base.utils.modbus.ModBusController
 import com.sik.sikcore.extension.setDebouncedClickListener
 import com.sik.sikcore.thread.ThreadUtils
 import dagger.hilt.android.AndroidEntryPoint
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.withContext
 
 /**
  * 仓位管理

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

@@ -33,8 +33,6 @@ import com.grkj.ui_base.base.BaseFormFragment
 import com.grkj.ui_base.dialog.TipDialog
 import com.grkj.ui_base.skin.loadSkinIcon
 import com.grkj.ui_base.utils.CommonUtils
-import com.grkj.ui_base.utils.extension.tip
-import com.kongzue.dialogx.dialogs.PopTip
 import com.sik.sikcore.data.GlobalDataTempStore
 import com.sik.sikcore.extension.file
 import com.sik.sikcore.extension.setDebouncedClickListener

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

@@ -1,9 +1,9 @@
 package com.grkj.iscs.features.main.fragment.job_manage
 
+import android.graphics.drawable.Drawable
 import android.graphics.drawable.GradientDrawable
 import android.view.ViewGroup
 import android.widget.LinearLayout
-import androidx.core.content.ContextCompat
 import androidx.core.view.isVisible
 import androidx.fragment.app.viewModels
 import androidx.lifecycle.Lifecycle
@@ -40,10 +40,8 @@ import com.grkj.ui_base.utils.CommonUtils
 import com.grkj.ui_base.utils.event.FlashTipEvent
 import com.grkj.ui_base.utils.event.RFIDCardReadEvent
 import com.grkj.ui_base.utils.event.UiEvent
-import com.grkj.ui_base.utils.extension.tip
 import com.grkj.ui_base.utils.extension.toggleExpandView
 import com.kongzue.dialogx.dialogs.BottomMenu
-import com.kongzue.dialogx.dialogs.PopTip
 import com.sik.sikcore.data.GlobalDataTempStore
 import com.sik.sikcore.date.TimeUtils
 import com.sik.sikcore.extension.setDebouncedClickListener
@@ -56,6 +54,11 @@ import dagger.hilt.android.AndroidEntryPoint
 class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
     private val viewModel: JobExecuteViewModel by viewModels()
     private var currentTab: Int = 0
+
+    // 放到类里保存原状态
+    private var origDataBg: Drawable? = null
+    private var origDataLp: ViewGroup.MarginLayoutParams? = null
+
     override fun getLayoutId(): Int {
         return R.layout.fragment_job_execute
     }
@@ -66,7 +69,16 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
                 binding.spaceView.isVisible = false
                 toggleExpandView(binding.fullScreenRootLayout, binding.dataLayout, true)
                 binding.fullScreen.isVisible = true
-                binding.dataLayout.setBackgroundResource(com.grkj.ui_base.R.drawable.common_layout_bg)
+
+                // 恢复原背景 & 边距
+                origDataBg?.let { binding.dataLayout.background = it }
+                origDataLp?.let { lp ->
+                    (binding.dataLayout.layoutParams as? ViewGroup.MarginLayoutParams)?.let { cur ->
+                        cur.setMargins(lp.leftMargin, lp.topMargin, lp.rightMargin, lp.bottomMargin)
+                        binding.dataLayout.layoutParams = cur
+                    }
+                }
+                binding.dataLayout.setBackgroundResource(com.grkj.ui_base.R.drawable.common_card_bg)
             } else {
                 navController.popBackStack()
             }
@@ -144,8 +156,27 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
             }
         }
         binding.fullScreen.setDebouncedClickListener {
+            // 先保存原背景 & 边距(只保存一次)
+            if (origDataBg == null) origDataBg = binding.dataLayout.background
+            if (origDataLp == null) {
+                (binding.dataLayout.layoutParams as? ViewGroup.MarginLayoutParams)?.let { lp ->
+                    origDataLp = ViewGroup.MarginLayoutParams(lp) // 拷贝
+                }
+            }
+
             toggleExpandView(binding.fullScreenRootLayout, binding.dataLayout, false)
-            binding.dataLayout.setBackgroundColor(CommonUtils.getColor(com.grkj.ui_base.R.attr.colorWhite))
+
+            // 去掉卡片边距,铺满
+            (binding.dataLayout.layoutParams as? ViewGroup.MarginLayoutParams)?.let { lp ->
+                lp.setMargins(0, 0, 0, 0)
+                binding.dataLayout.layoutParams = lp
+            }
+
+            // 背景改成页面底色(暗色更友好),注意,用 setBackgroundColor!
+            val bgColor = CommonUtils.getColor(com.grkj.ui_base.R.attr.colorBg)
+            binding.dataLayout.background = null
+            binding.dataLayout.setBackgroundColor(bgColor)
+
             binding.fullScreen.isVisible = false
             binding.spaceView.isVisible = true
         }
@@ -254,6 +285,7 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
                 }
             }
         }
+        itemBinding.stepLayout.background = bg
         //点击确认的时候需要
         itemBinding.stepLayout.setDebouncedClickListener {
             val workflowStep = viewModel.currentStepData

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

@@ -36,9 +36,7 @@ import com.grkj.ui_base.dialog.WheelDateRangePickerDialog
 import com.grkj.ui_base.utils.CommonUtils
 import com.grkj.ui_base.utils.event.RFIDCardReadEvent
 import com.grkj.ui_base.utils.event.UiEvent
-import com.grkj.ui_base.utils.extension.tip
 import com.kongzue.dialogx.dialogs.CustomDialog
-import com.kongzue.dialogx.dialogs.PopTip
 import com.kongzue.dialogx.interfaces.DialogLifecycleCallback
 import com.sik.sikcore.data.GlobalDataTempStore
 import com.sik.sikcore.date.TimeUtils

+ 0 - 1
app/src/main/java/com/grkj/iscs/features/main/viewmodel/exception_manage/ExceptionJobViewModel.kt

@@ -21,7 +21,6 @@ import com.grkj.data.model.vo.IsJobTicketUserDataVo
 import com.grkj.data.model.vo.JobTicketGroupDataVo
 import com.grkj.data.model.vo.JobTicketGroupInfoVo
 import com.grkj.data.model.vo.JobUserVo
-import com.grkj.iscs.R
 import com.grkj.ui_base.base.BaseViewModel
 import com.grkj.ui_base.business.DataBusiness
 import com.grkj.ui_base.utils.CommonUtils

+ 0 - 1
app/src/main/java/com/grkj/iscs/features/main/viewmodel/job_manage/JobExecuteViewModel.kt

@@ -22,7 +22,6 @@ import com.grkj.data.model.vo.SysBiometricDataVo
 import com.grkj.data.logic.IJobTicketLogic
 import com.grkj.data.logic.IWorkflowLogic
 import com.grkj.data.logic.impl.standard.UserLogic
-import com.grkj.iscs.R
 import com.grkj.ui_base.base.BaseViewModel
 import com.grkj.ui_base.business.BleBusinessManager
 import com.grkj.ui_base.business.DataBusiness

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

@@ -34,7 +34,7 @@
                 android:layout_marginLeft="@dimen/iscs_space_3"
                 android:layout_weight="1"
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold"
                 app:i18nKey='@{"backup_title"}' />
 
@@ -85,7 +85,7 @@
                         android:layout_gravity="center_vertical"
                         android:layout_marginLeft="@dimen/iscs_space_3"
                         android:textColor="?attr/colorTextPrimary"
-                        android:textSize="@dimen/iscs_text_lg"
+                        android:textSize="@dimen/iscs_text_md"
                         android:textStyle="bold"
                         app:i18nKey='@{"backup"}' />
 
@@ -346,7 +346,7 @@
                         android:layout_gravity="center_vertical"
                         android:layout_marginLeft="@dimen/iscs_space_3"
                         android:textColor="?attr/colorTextPrimary"
-                        android:textSize="@dimen/iscs_text_lg"
+                        android:textSize="@dimen/iscs_text_md"
                         android:textStyle="bold"
                         app:i18nKey='@{"restore"}' />
 

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

@@ -31,7 +31,7 @@
                 app:i18nKey='@{"create_job_title"}'
                 android:textColor="?attr/colorTextPrimary"
                 android:textStyle="bold"
-                android:textSize="@dimen/iscs_text_lg" />
+                android:textSize="@dimen/iscs_text_md" />
 
             <TextView
                 android:id="@+id/back"

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

@@ -31,7 +31,7 @@
                 app:i18nKey='@{"create_sop_title"}'
                 android:textColor="?attr/colorTextPrimary"
                 android:textStyle="bold"
-                android:textSize="@dimen/iscs_text_lg" />
+                android:textSize="@dimen/iscs_text_md" />
 
             <TextView
                 android:id="@+id/back"

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

@@ -30,7 +30,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"create_sop_job_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -30,7 +30,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"edit_job_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -31,7 +31,7 @@
                 app:i18nKey='@{"edit_sop_title"}'
                 android:textColor="?attr/colorTextPrimary"
                 android:textStyle="bold"
-                android:textSize="@dimen/iscs_text_lg" />
+                android:textSize="@dimen/iscs_text_md" />
 
             <TextView
                 android:id="@+id/back"

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

@@ -31,7 +31,7 @@
                 app:i18nKey='@{"edit_sop_job_title"}'
                 android:textColor="?attr/colorTextPrimary"
                 android:textStyle="bold"
-                android:textSize="@dimen/iscs_text_lg" />
+                android:textSize="@dimen/iscs_text_md" />
 
             <TextView
                 android:id="@+id/back"

+ 363 - 345
app/src/main/res/layout-land/fragment_job_execute.xml

@@ -6,8 +6,7 @@
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:layout_margin="@dimen/iscs_space_4"
-        android:background="@drawable/home_card_bg"
+        android:layout_margin="@dimen/iscs_space_2"
         android:orientation="vertical">
 
         <LinearLayout
@@ -32,7 +31,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"job_manage_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView
@@ -57,391 +56,410 @@
             android:layout_width="match_parent"
             android:layout_height="@dimen/divider_line_space"
             android:background="?attr/colorDivider" />
-
-        <FrameLayout
-            android:id="@+id/full_screen_root_layout"
+        <androidx.core.widget.NestedScrollView
             android:layout_width="match_parent"
-            android:layout_height="match_parent">
+            android:layout_height="match_parent"
+            android:fillViewport="true">
 
-            <LinearLayout
+            <FrameLayout
+                android:id="@+id/full_screen_root_layout"
                 android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:orientation="vertical">
-
-                <androidx.recyclerview.widget.RecyclerView
-                    android:id="@+id/step_rv"
-                    android:layout_width="match_parent"
-                    android:layout_height="@dimen/step_rv_height"
-                    android:layout_marginHorizontal="@dimen/iscs_space_3"
-                    android:layout_marginTop="@dimen/iscs_space_4" />
+                android:layout_height="match_parent">
 
                 <LinearLayout
                     android:layout_width="match_parent"
-                    android:layout_height="60dp"
-                    android:layout_marginHorizontal="@dimen/iscs_space_4"
-                    android:background="@drawable/common_layout_bg"
-                    android:divider="@drawable/divider_table"
-                    android:gravity="center"
-                    android:orientation="horizontal"
-                    android:showDividers="middle">
-
-                    <FrameLayout
-                        android:id="@+id/description_tab"
-                        android:layout_width="wrap_content"
-                        android:layout_height="match_parent"
-                        android:background="@drawable/bg_common_select">
-
-                        <ImageView
-                            android:layout_width="@dimen/job_execute_info_size"
-                            android:layout_height="@dimen/job_execute_info_size"
-                            android:layout_gravity="center"
-                            android:layout_marginHorizontal="@dimen/iscs_space_3"
-                            android:src="@mipmap/icon_job_execute_info" />
+                    android:layout_height="match_parent"
+                    android:orientation="vertical">
 
-                    </FrameLayout>
+                    <androidx.recyclerview.widget.RecyclerView
+                        android:id="@+id/step_rv"
+                        android:layout_width="match_parent"
+                        android:layout_height="@dimen/step_rv_height"
+                        android:layout_marginHorizontal="@dimen/iscs_space_3"
+                        android:layout_marginTop="@dimen/iscs_space_4" />
 
-                    <RelativeLayout
-                        android:id="@+id/locker_tab"
-                        android:layout_width="0dp"
-                        android:layout_height="match_parent"
-                        android:layout_weight="1"
-                        android:background="@drawable/bg_common_select">
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="60dp"
+                        android:layout_marginHorizontal="@dimen/iscs_space_4"
+                        android:background="@drawable/common_layout_bg"
+                        android:divider="@drawable/divider_table"
+                        android:gravity="center"
+                        android:orientation="horizontal"
+                        android:showDividers="middle">
 
-                        <TextView
-                            android:id="@+id/lock_tv"
+                        <FrameLayout
+                            android:id="@+id/description_tab"
                             android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:layout_centerVertical="true"
-                            android:layout_toLeftOf="@+id/lock_iv"
-                            android:gravity="center"
-                            app:i18nKey='@{"job_execute_tab_title_lock"}'
-                            android:textSize="@dimen/iscs_text_md" />
-
-                        <ImageView
-                            android:id="@+id/lock_iv"
-                            android:layout_width="@dimen/job_execute_tab_icon_size"
-                            android:layout_height="@dimen/job_execute_tab_icon_size"
-                            android:layout_centerInParent="true"
-                            android:layout_marginHorizontal="5dp"
-                            android:src="@mipmap/icon_job_execute_lock" />
+                            android:layout_height="match_parent"
+                            android:background="@drawable/bg_common_select">
 
-                        <TextView
-                            android:id="@+id/lock_info"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:layout_centerVertical="true"
-                            android:layout_toRightOf="@+id/lock_iv"
-                            android:textSize="@dimen/iscs_text_md" />
-                    </RelativeLayout>
-
-                    <RelativeLayout
-                        android:id="@+id/colocker_tab"
-                        android:layout_width="0dp"
-                        android:layout_height="match_parent"
-                        android:layout_weight="1"
-                        android:background="@drawable/bg_common_select">
+                            <ImageView
+                                android:layout_width="@dimen/job_execute_info_size"
+                                android:layout_height="@dimen/job_execute_info_size"
+                                android:layout_gravity="center"
+                                android:layout_marginHorizontal="@dimen/iscs_space_3"
+                                android:src="@mipmap/icon_job_execute_info" />
 
-                        <TextView
-                            android:id="@+id/colock_tv"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:layout_centerVertical="true"
-                            android:layout_toLeftOf="@+id/colock_iv"
-                            android:gravity="center"
-                            app:i18nKey='@{"job_execute_tab_title_colock"}'
-                            android:textSize="@dimen/iscs_text_md" />
+                        </FrameLayout>
 
-                        <ImageView
-                            android:id="@+id/colock_iv"
-                            android:layout_width="@dimen/job_execute_tab_icon_size"
-                            android:layout_height="@dimen/job_execute_tab_icon_size"
-                            android:layout_centerInParent="true"
-                            android:layout_marginHorizontal="5dp"
-                            android:src="@mipmap/icon_job_execute_colock" />
+                        <RelativeLayout
+                            android:id="@+id/locker_tab"
+                            android:layout_width="0dp"
+                            android:layout_height="match_parent"
+                            android:layout_weight="1"
+                            android:background="@drawable/bg_common_select">
 
-                        <TextView
-                            android:id="@+id/colock_info"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:layout_centerVertical="true"
-                            android:layout_toRightOf="@+id/colock_iv"
-                            android:textSize="@dimen/iscs_text_md" />
-                    </RelativeLayout>
-                </LinearLayout>
+                            <TextView
+                                android:id="@+id/lock_tv"
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_centerVertical="true"
+                                android:layout_toLeftOf="@+id/lock_iv"
+                                android:textColor="?attr/colorTextPrimary"
+                                android:gravity="center"
+                                android:textSize="@dimen/iscs_text_md"
+                                app:i18nKey='@{"job_execute_tab_title_lock"}' />
+
+                            <ImageView
+                                android:id="@+id/lock_iv"
+                                android:layout_width="@dimen/job_execute_tab_icon_size"
+                                android:layout_height="@dimen/job_execute_tab_icon_size"
+                                android:layout_centerInParent="true"
+                                android:layout_marginHorizontal="5dp"
+                                android:src="@mipmap/icon_job_execute_lock" />
+
+                            <TextView
+                                android:id="@+id/lock_info"
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_centerVertical="true"
+                                android:textColor="?attr/colorTextPrimary"
+                                android:layout_toRightOf="@+id/lock_iv"
+                                android:textSize="@dimen/iscs_text_md" />
+                        </RelativeLayout>
+
+                        <RelativeLayout
+                            android:id="@+id/colocker_tab"
+                            android:layout_width="0dp"
+                            android:layout_height="match_parent"
+                            android:layout_weight="1"
+                            android:background="@drawable/bg_common_select">
 
-                <LinearLayout
-                    android:id="@+id/data_layout"
-                    android:layout_width="match_parent"
-                    android:layout_height="match_parent"
-                    android:layout_marginHorizontal="@dimen/iscs_space_4"
-                    android:layout_marginTop="@dimen/iscs_space_3"
-                    android:layout_weight="1"
-                    android:background="@drawable/common_card_bg"
-                    android:clipChildren="false"
-                    android:clipToPadding="false"
-                    android:divider="@drawable/divider_table"
-                    android:orientation="vertical"
-                    android:showDividers="middle">
-
-                    <RelativeLayout
+                            <TextView
+                                android:id="@+id/colock_tv"
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_centerVertical="true"
+                                android:textColor="?attr/colorTextPrimary"
+                                android:layout_toLeftOf="@+id/colock_iv"
+                                android:gravity="center"
+                                android:textSize="@dimen/iscs_text_md"
+                                app:i18nKey='@{"job_execute_tab_title_colock"}' />
+
+                            <ImageView
+                                android:id="@+id/colock_iv"
+                                android:layout_width="@dimen/job_execute_tab_icon_size"
+                                android:layout_height="@dimen/job_execute_tab_icon_size"
+                                android:layout_centerInParent="true"
+                                android:layout_marginHorizontal="5dp"
+                                android:src="@mipmap/icon_job_execute_colock" />
+
+                            <TextView
+                                android:id="@+id/colock_info"
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_centerVertical="true"
+                                android:textColor="?attr/colorTextPrimary"
+                                android:layout_toRightOf="@+id/colock_iv"
+                                android:textSize="@dimen/iscs_text_md" />
+                        </RelativeLayout>
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:id="@+id/data_layout"
                         android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:background="@drawable/common_layout_bg"
-                        android:elevation="@dimen/elevation_3"
-                        android:paddingVertical="@dimen/iscs_space_3">
-
-                        <TextView
-                            android:id="@+id/data_title_tv"
-                            android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:layout_marginHorizontal="@dimen/iscs_space_4"
+                        android:layout_marginTop="@dimen/iscs_space_3"
+                        android:layout_weight="1"
+                        android:background="@drawable/common_card_bg"
+                        android:clipChildren="false"
+                        android:clipToPadding="false"
+                        android:divider="@drawable/divider_table"
+                        android:orientation="vertical"
+                        android:showDividers="middle">
+
+                        <RelativeLayout
+                            android:layout_width="match_parent"
                             android:layout_height="wrap_content"
-                            android:layout_centerInParent="true"
+                            android:background="@drawable/common_layout_bg"
+                            android:elevation="@dimen/elevation_3"
                             android:textColor="?attr/colorTextPrimary"
-                            android:textSize="@dimen/iscs_text_md" />
-
-                        <ImageView
-                            android:id="@+id/full_screen"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:layout_alignParentRight="true"
-                            android:layout_centerVertical="true"
-                            android:layout_marginRight="@dimen/iscs_space_3"
-                            android:src="@mipmap/icon_full_screen" />
-                    </RelativeLayout>
+                            android:paddingVertical="@dimen/iscs_space_1">
 
-                    <FrameLayout
-                        android:layout_width="match_parent"
-                        android:layout_height="match_parent">
+                            <TextView
+                                android:id="@+id/data_title_tv"
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_centerInParent="true"
+                                android:textColor="?attr/colorTextPrimary"
+                                android:textSize="@dimen/iscs_text_md" />
 
-                        <LinearLayout
-                            android:id="@+id/lock_status_layout"
+                            <ImageView
+                                android:id="@+id/full_screen"
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_alignParentRight="true"
+                                android:layout_centerVertical="true"
+                                android:layout_marginRight="@dimen/iscs_space_3"
+                                android:tint="?attr/colorPrimary"
+                                android:src="@mipmap/icon_full_screen" />
+                        </RelativeLayout>
+
+                        <FrameLayout
                             android:layout_width="match_parent"
-                            android:layout_height="match_parent"
-                            android:orientation="vertical"
-                            android:visibility="gone">
+                            android:layout_height="match_parent">
 
                             <LinearLayout
+                                android:id="@+id/lock_status_layout"
                                 android:layout_width="match_parent"
-                                android:layout_height="wrap_content"
-                                android:background="@drawable/common_layout_bg"
-                                android:divider="@drawable/divider_table"
-                                android:showDividers="middle">
+                                android:layout_height="match_parent"
+                                android:orientation="vertical"
+                                android:visibility="gone">
+
+                                <LinearLayout
+                                    android:layout_width="match_parent"
+                                    android:layout_height="wrap_content"
+                                    android:background="@drawable/common_layout_bg"
+                                    android:divider="@drawable/divider_table"
+                                    android:showDividers="middle">
+
+                                    <TextView
+                                        android:layout_width="0dp"
+                                        android:layout_height="match_parent"
+                                        android:layout_weight="1"
+                                        android:gravity="center"
+                                        android:paddingVertical="@dimen/iscs_space_3"
+                                        android:textSize="@dimen/iscs_text_md"
+                                        android:textColor="?attr/colorTextPrimary"
+                                        app:i18nKey='@{"point_name_tv"}' />
+
+                                    <TextView
+                                        android:layout_width="0dp"
+                                        android:layout_height="match_parent"
+                                        android:layout_weight="1"
+                                        android:gravity="center"
+                                        android:paddingVertical="@dimen/iscs_space_3"
+                                        android:textSize="@dimen/iscs_text_md"
+                                        android:textColor="?attr/colorTextPrimary"
+                                        app:i18nKey='@{"point_manage_point_group"}' />
+
+                                    <TextView
+                                        android:layout_width="0dp"
+                                        android:layout_height="match_parent"
+                                        android:layout_weight="1"
+                                        android:gravity="center"
+                                        android:paddingVertical="@dimen/iscs_space_3"
+                                        android:textSize="@dimen/iscs_text_md"
+                                        android:textColor="?attr/colorTextPrimary"
+                                        app:i18nKey='@{"point_manage_point_function"}' />
+
+                                    <TextView
+                                        android:layout_width="0dp"
+                                        android:layout_height="match_parent"
+                                        android:layout_weight="1"
+                                        android:gravity="center"
+                                        android:paddingVertical="@dimen/iscs_space_3"
+                                        android:textSize="@dimen/iscs_text_md"
+                                        android:textColor="?attr/colorTextPrimary"
+                                        app:i18nKey='@{"lock_status"}' />
+                                </LinearLayout>
 
-                                <TextView
-                                    android:layout_width="0dp"
-                                    android:layout_height="match_parent"
-                                    android:layout_weight="1"
-                                    android:gravity="center"
-                                    android:paddingVertical="@dimen/iscs_space_3"
-                                    app:i18nKey='@{"point_name_tv"}'
-                                    android:textSize="@dimen/iscs_text_md" />
-
-                                <TextView
-                                    android:layout_width="0dp"
-                                    android:layout_height="match_parent"
-                                    android:layout_weight="1"
-                                    android:gravity="center"
-                                    android:paddingVertical="@dimen/iscs_space_3"
-                                    app:i18nKey='@{"point_manage_point_group"}'
-                                    android:textSize="@dimen/iscs_text_md" />
-
-                                <TextView
-                                    android:layout_width="0dp"
-                                    android:layout_height="match_parent"
-                                    android:layout_weight="1"
-                                    android:gravity="center"
-                                    android:paddingVertical="@dimen/iscs_space_3"
-                                    app:i18nKey='@{"point_manage_point_function"}'
-                                    android:textSize="@dimen/iscs_text_md" />
-
-                                <TextView
-                                    android:layout_width="0dp"
+                                <androidx.recyclerview.widget.RecyclerView
+                                    android:id="@+id/list_rv"
+                                    android:layout_width="match_parent"
                                     android:layout_height="match_parent"
-                                    android:layout_weight="1"
-                                    android:gravity="center"
-                                    android:paddingVertical="@dimen/iscs_space_3"
-                                    app:i18nKey='@{"lock_status"}'
-                                    android:textSize="@dimen/iscs_text_md" />
+                                    android:background="@drawable/common_layout_bg" />
                             </LinearLayout>
 
-                            <androidx.recyclerview.widget.RecyclerView
-                                android:id="@+id/list_rv"
-                                android:layout_width="match_parent"
-                                android:layout_height="match_parent"
-                                android:background="@drawable/common_layout_bg" />
-                        </LinearLayout>
-
-                        <LinearLayout
-                            android:id="@+id/colocker_layout"
-                            android:layout_width="match_parent"
-                            android:layout_height="match_parent"
-                            android:divider="@drawable/divider_table"
-                            android:orientation="vertical"
-                            android:showDividers="middle"
-                            android:visibility="gone">
-
                             <LinearLayout
+                                android:id="@+id/colocker_layout"
                                 android:layout_width="match_parent"
-                                android:layout_height="wrap_content"
-                                android:background="@drawable/common_layout_bg"
+                                android:layout_height="match_parent"
                                 android:divider="@drawable/divider_table"
-                                android:showDividers="middle">
-
-                                <TextView
-                                    android:id="@+id/wait_to_colock"
-                                    android:layout_width="0dp"
-                                    android:layout_height="match_parent"
-                                    android:layout_weight="1"
-                                    android:gravity="center"
-                                    android:paddingVertical="@dimen/iscs_space_3"
-                                    app:i18nKey='@{"wait_to_colock"}'
-                                    android:textSize="@dimen/iscs_text_md" />
-
-                                <TextView
-                                    android:id="@+id/already_colock"
-                                    android:layout_width="0dp"
+                                android:orientation="vertical"
+                                android:showDividers="middle"
+                                android:visibility="gone">
+
+                                <LinearLayout
+                                    android:layout_width="match_parent"
+                                    android:layout_height="wrap_content"
+                                    android:background="@drawable/common_layout_bg"
+                                    android:divider="@drawable/divider_table"
+                                    android:showDividers="middle">
+
+                                    <TextView
+                                        android:id="@+id/wait_to_colock"
+                                        android:layout_width="0dp"
+                                        android:layout_height="match_parent"
+                                        android:layout_weight="1"
+                                        android:gravity="center"
+                                        android:paddingVertical="@dimen/iscs_space_1"
+                                        android:textSize="@dimen/iscs_text_md"
+                                        android:textColor="?attr/colorTextPrimary"
+                                        app:i18nKey='@{"wait_to_colock"}' />
+
+                                    <TextView
+                                        android:id="@+id/already_colock"
+                                        android:layout_width="0dp"
+                                        android:layout_height="match_parent"
+                                        android:layout_weight="1"
+                                        android:gravity="center"
+                                        android:paddingVertical="@dimen/iscs_space_1"
+                                        android:textSize="@dimen/iscs_text_md"
+                                        android:textColor="?attr/colorTextPrimary"
+                                        app:i18nKey='@{"already_colock"}' />
+
+                                    <TextView
+                                        android:id="@+id/already_uncolock"
+                                        android:layout_width="0dp"
+                                        android:layout_height="match_parent"
+                                        android:layout_weight="1"
+                                        android:gravity="center"
+                                        android:paddingVertical="@dimen/iscs_space_1"
+                                        android:textSize="@dimen/iscs_text_md"
+                                        android:textColor="?attr/colorTextPrimary"
+                                        app:i18nKey='@{"already_uncolock"}' />
+                                </LinearLayout>
+
+                                <LinearLayout
+                                    android:layout_width="match_parent"
                                     android:layout_height="match_parent"
-                                    android:layout_weight="1"
-                                    android:gravity="center"
-                                    android:paddingVertical="@dimen/iscs_space_3"
-                                    app:i18nKey='@{"already_colock"}'
-                                    android:textSize="@dimen/iscs_text_md" />
-
-                                <TextView
-                                    android:id="@+id/already_uncolock"
-                                    android:layout_width="0dp"
-                                    android:layout_height="match_parent"
-                                    android:layout_weight="1"
-                                    android:gravity="center"
-                                    android:paddingVertical="@dimen/iscs_space_3"
-                                    app:i18nKey='@{"already_uncolock"}'
-                                    android:textSize="@dimen/iscs_text_md" />
+                                    android:background="@drawable/common_card_bg"
+                                    android:divider="@drawable/divider_table"
+                                    android:orientation="horizontal"
+                                    android:showDividers="middle">
+
+                                    <androidx.recyclerview.widget.RecyclerView
+                                        android:id="@+id/wait_to_colock_rv"
+                                        android:layout_width="0dp"
+                                        android:layout_height="match_parent"
+                                        android:layout_weight="1"
+                                        android:padding="@dimen/iscs_space_3" />
+
+                                    <androidx.recyclerview.widget.RecyclerView
+                                        android:id="@+id/already_colock_rv"
+                                        android:layout_width="0dp"
+                                        android:layout_height="match_parent"
+                                        android:layout_weight="1"
+                                        android:padding="@dimen/iscs_space_3" />
+
+                                    <androidx.recyclerview.widget.RecyclerView
+                                        android:id="@+id/already_uncolock_rv"
+                                        android:layout_width="0dp"
+                                        android:layout_height="match_parent"
+                                        android:layout_weight="1"
+                                        android:padding="@dimen/iscs_space_3" />
+                                </LinearLayout>
                             </LinearLayout>
 
-                            <LinearLayout
+                            <TextView
+                                android:id="@+id/step_description_tv"
                                 android:layout_width="match_parent"
                                 android:layout_height="match_parent"
-                                android:background="@drawable/common_card_bg"
-                                android:divider="@drawable/divider_table"
-                                android:orientation="horizontal"
-                                android:showDividers="middle">
-
-                                <androidx.recyclerview.widget.RecyclerView
-                                    android:id="@+id/wait_to_colock_rv"
-                                    android:layout_width="0dp"
-                                    android:layout_height="match_parent"
-                                    android:layout_weight="1"
-                                    android:padding="@dimen/iscs_space_3" />
+                                android:textSize="@dimen/iscs_text_md"
+                                android:textColor="?attr/colorTextPrimary"
+                                android:visibility="gone" />
+                        </FrameLayout>
+
+                        <View
+                            android:id="@+id/space_view"
+                            android:layout_width="1dp"
+                            android:layout_height="0dp"
+                            android:layout_weight="1"
+                            android:visibility="gone" />
+                    </LinearLayout>
 
-                                <androidx.recyclerview.widget.RecyclerView
-                                    android:id="@+id/already_colock_rv"
-                                    android:layout_width="0dp"
-                                    android:layout_height="match_parent"
-                                    android:layout_weight="1"
-                                    android:padding="@dimen/iscs_space_3" />
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:gravity="right"
+                        android:minHeight="@dimen/btn_layout_min_height"
+                        android:orientation="horizontal"
+                        android:paddingHorizontal="@dimen/iscs_space_4"
+                        android:paddingVertical="@dimen/iscs_space_3">
 
-                                <androidx.recyclerview.widget.RecyclerView
-                                    android:id="@+id/already_uncolock_rv"
-                                    android:layout_width="0dp"
-                                    android:layout_height="match_parent"
-                                    android:layout_weight="1"
-                                    android:padding="@dimen/iscs_space_3" />
-                            </LinearLayout>
-                        </LinearLayout>
+                        <TextView
+                            android:id="@+id/to_lock"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="@dimen/iscs_space_3"
+                            android:background="@drawable/common_btn_cancel"
+                            android:drawableLeft="@drawable/icon_ticket_lock"
+                            android:drawablePadding="@dimen/iscs_space_3"
+                            android:drawableTint="?attr/colorWhite"
+                            android:gravity="center"
+                            android:minHeight="@dimen/common_btn_height"
+                            android:paddingHorizontal="@dimen/iscs_space_3"
+                            android:textColor="?attr/colorTextPrimary"
+                            android:textSize="@dimen/iscs_text_md"
+                            android:visibility="gone"
+                            app:i18nKey='@{"go_locking"}' />
 
                         <TextView
-                            android:id="@+id/step_description_tv"
-                            android:layout_width="match_parent"
-                            android:layout_height="match_parent"
+                            android:id="@+id/to_unlock"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="@dimen/iscs_space_3"
+                            android:background="@drawable/common_btn_confirm"
+                            android:drawableLeft="@drawable/icon_ticket_unlock"
+                            android:drawablePadding="@dimen/iscs_space_3"
+                            android:drawableTint="?attr/colorWhite"
+                            android:gravity="center"
+                            android:minHeight="@dimen/common_btn_height"
+                            android:paddingHorizontal="@dimen/iscs_space_3"
+                            android:textColor="?attr/colorTextPrimary"
                             android:textSize="@dimen/iscs_text_md"
-                            android:visibility="gone" />
-                    </FrameLayout>
+                            android:visibility="gone"
+                            app:i18nKey='@{"go_unlocking"}' />
 
-                    <View
-                        android:id="@+id/space_view"
-                        android:layout_width="1dp"
-                        android:layout_height="0dp"
-                        android:layout_weight="1"
-                        android:visibility="gone" />
-                </LinearLayout>
+                        <TextView
+                            android:id="@+id/cancel_job"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="@dimen/iscs_space_3"
+                            android:background="@drawable/common_btn_cancel"
+                            android:drawableLeft="@drawable/icon_close"
+                            android:drawablePadding="@dimen/iscs_space_3"
+                            android:drawableTint="?attr/colorWhite"
+                            android:gravity="center"
+                            android:minHeight="@dimen/common_btn_height"
+                            android:paddingHorizontal="@dimen/iscs_space_3"
+                            android:textColor="?attr/colorTextPrimary"
+                            android:textSize="@dimen/iscs_text_md"
+                            android:visibility="gone"
+                            app:i18nKey='@{"cancel_job"}' />
 
-                <LinearLayout
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:gravity="right"
-                    android:minHeight="@dimen/btn_layout_min_height"
-                    android:orientation="horizontal"
-                    android:paddingHorizontal="@dimen/iscs_space_4"
-                    android:paddingVertical="@dimen/iscs_space_3">
-
-                    <TextView
-                        android:id="@+id/to_lock"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_marginLeft="@dimen/iscs_space_3"
-                        android:background="@drawable/common_btn_cancel"
-                        android:drawableLeft="@drawable/icon_ticket_lock"
-                        android:drawablePadding="@dimen/iscs_space_3"
-                        android:drawableTint="?attr/colorWhite"
-                        android:gravity="center"
-                        android:minHeight="@dimen/common_btn_height"
-                        android:paddingHorizontal="@dimen/iscs_space_3"
-                        app:i18nKey='@{"go_locking"}'
-                        android:textColor="?attr/colorTextPrimary"
-                        android:textSize="@dimen/iscs_text_md"
-                        android:visibility="gone" />
-
-                    <TextView
-                        android:id="@+id/to_unlock"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_marginLeft="@dimen/iscs_space_3"
-                        android:background="@drawable/common_btn_confirm"
-                        android:drawableLeft="@drawable/icon_ticket_unlock"
-                        android:drawablePadding="@dimen/iscs_space_3"
-                        android:drawableTint="?attr/colorWhite"
-                        android:gravity="center"
-                        android:minHeight="@dimen/common_btn_height"
-                        android:paddingHorizontal="@dimen/iscs_space_3"
-                        app:i18nKey='@{"go_unlocking"}'
-                        android:textColor="?attr/colorTextPrimary"
-                        android:textSize="@dimen/iscs_text_md"
-                        android:visibility="gone" />
-
-                    <TextView
-                        android:id="@+id/cancel_job"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_marginLeft="@dimen/iscs_space_3"
-                        android:background="@drawable/common_btn_cancel"
-                        android:drawableLeft="@drawable/icon_close"
-                        android:drawablePadding="@dimen/iscs_space_3"
-                        android:drawableTint="?attr/colorWhite"
-                        android:gravity="center"
-                        android:minHeight="@dimen/common_btn_height"
-                        android:paddingHorizontal="@dimen/iscs_space_3"
-                        app:i18nKey='@{"cancel_job"}'
-                        android:textColor="?attr/colorTextPrimary"
-                        android:textSize="@dimen/iscs_text_md"
-                        android:visibility="gone" />
-
-                    <TextView
-                        android:id="@+id/finish_job"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_marginLeft="@dimen/iscs_space_3"
-                        android:background="@drawable/common_btn_confirm"
-                        android:drawableLeft="@mipmap/icon_confirm"
-                        android:drawablePadding="@dimen/iscs_space_3"
-                        android:drawableTint="?attr/colorWhite"
-                        android:gravity="center"
-                        android:minHeight="@dimen/common_btn_height"
-                        android:paddingHorizontal="@dimen/iscs_space_3"
-                        app:i18nKey='@{"finish_the_job"}'
-                        android:textColor="?attr/colorTextPrimary"
-                        android:textSize="@dimen/iscs_text_md"
-                        android:visibility="gone" />
+                        <TextView
+                            android:id="@+id/finish_job"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="@dimen/iscs_space_3"
+                            android:background="@drawable/common_btn_confirm"
+                            android:drawableLeft="@mipmap/icon_confirm"
+                            android:drawablePadding="@dimen/iscs_space_3"
+                            android:drawableTint="?attr/colorWhite"
+                            android:gravity="center"
+                            android:minHeight="@dimen/common_btn_height"
+                            android:paddingHorizontal="@dimen/iscs_space_3"
+                            android:textColor="?attr/colorTextPrimary"
+                            android:textSize="@dimen/iscs_text_md"
+                            android:visibility="gone"
+                            app:i18nKey='@{"finish_the_job"}' />
+                    </LinearLayout>
                 </LinearLayout>
-            </LinearLayout>
-        </FrameLayout>
+            </FrameLayout>
+        </androidx.core.widget.NestedScrollView>
     </LinearLayout>
 </layout>

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

@@ -28,7 +28,7 @@
                 android:layout_marginLeft="@dimen/iscs_space_3"
                 android:layout_weight="1"
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold"
                 app:i18nKey='@{"point_manage_title"}' />
 

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

@@ -30,7 +30,7 @@
                 android:layout_marginLeft="@dimen/iscs_space_3"
                 app:i18nKey='@{"create_sop_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <ImageView

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

@@ -30,7 +30,7 @@
                 android:layout_marginLeft="@dimen/iscs_space_3"
                 app:i18nKey='@{"create_sop_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:tint="?attr/colorPrimary"
                 android:textStyle="bold" />
 

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

@@ -31,7 +31,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"set_face_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -31,7 +31,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"user_info_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -31,7 +31,7 @@
                 android:layout_marginLeft="@dimen/iscs_space_3"
                 app:i18nKey='@{"create_sop_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <ImageView
@@ -54,7 +54,7 @@
                 android:layout_marginLeft="@dimen/iscs_space_3"
                 app:i18nKey='@{"workflow_setting"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <View

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

@@ -12,6 +12,7 @@
         <ImageView
             android:layout_width="@dimen/job_execute_colock_size"
             android:layout_height="@dimen/job_execute_colock_size"
+            android:tint="?attr/colorPrimary"
             android:src="@mipmap/icon_selected_member" />
 
         <TextView

+ 3 - 0
app/src/main/res/layout-land/item_job_execute_point.xml

@@ -15,6 +15,7 @@
             android:layout_height="match_parent"
             android:layout_weight="1"
             android:gravity="center"
+            android:textColor="?attr/colorTextPrimary"
             android:paddingVertical="@dimen/iscs_space_3"
             app:i18nKey='@{"point_name_tv"}'
             android:textSize="@dimen/iscs_text_md" />
@@ -26,6 +27,7 @@
             android:layout_weight="1"
             android:gravity="center"
             android:paddingVertical="@dimen/iscs_space_3"
+            android:textColor="?attr/colorTextPrimary"
             app:i18nKey='@{"point_manage_point_function"}'
             android:textSize="@dimen/iscs_text_md" />
 
@@ -36,6 +38,7 @@
             android:layout_weight="1"
             android:gravity="center"
             android:paddingVertical="@dimen/iscs_space_3"
+            android:textColor="?attr/colorTextPrimary"
             app:i18nKey='@{"point_manage_point_function"}'
             android:textSize="@dimen/iscs_text_md" />
 

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

@@ -20,6 +20,7 @@
                 android:id="@+id/step_icon_iv"
                 android:layout_width="@dimen/step_item_icon_size"
                 android:layout_height="@dimen/step_item_icon_size"
+                android:tint="?attr/colorPrimary"
                 android:layout_marginTop="@dimen/iscs_space_3" />
 
             <TextView

+ 2 - 0
app/src/main/res/layout/dialog_add_card.xml

@@ -132,6 +132,7 @@
                     android:layout_height="wrap_content"
                     android:layout_marginStart="@dimen/iscs_space_3"
                     app:i18nKey='@{"normal"}'
+                    android:textColor="?attr/colorTextPrimary"
                     app:useMaterialThemeColors="true"
                     android:textSize="@dimen/iscs_text_md" />
 
@@ -142,6 +143,7 @@
                     android:layout_marginStart="@dimen/iscs_space_3"
                     app:i18nKey='@{"abnormal"}'
                     app:useMaterialThemeColors="true"
+                    android:textColor="?attr/colorTextPrimary"
                     android:textSize="@dimen/iscs_text_md" />
             </RadioGroup>
 

+ 2 - 0
app/src/main/res/layout/dialog_add_key.xml

@@ -161,6 +161,7 @@
                     android:layout_marginLeft="@dimen/iscs_space_3"
                     app:useMaterialThemeColors="true"
                     app:i18nKey='@{"normal"}'
+                    android:textColor="?attr/colorTextPrimary"
                     android:textSize="@dimen/iscs_text_md" />
 
                 <com.google.android.material.radiobutton.MaterialRadioButton
@@ -170,6 +171,7 @@
                     app:useMaterialThemeColors="true"
                     android:layout_marginLeft="@dimen/iscs_space_3"
                     app:i18nKey='@{"abnormal"}'
+                    android:textColor="?attr/colorTextPrimary"
                     android:textSize="@dimen/iscs_text_md" />
             </RadioGroup>
 

+ 2 - 0
app/src/main/res/layout/dialog_add_lock.xml

@@ -132,6 +132,7 @@
                     app:useMaterialThemeColors="true"
                     android:layout_marginStart="@dimen/iscs_space_3"
                     app:i18nKey='@{"normal"}'
+                    android:textColor="?attr/colorTextPrimary"
                     android:textSize="@dimen/iscs_text_md" />
 
                 <com.google.android.material.radiobutton.MaterialRadioButton
@@ -141,6 +142,7 @@
                     app:useMaterialThemeColors="true"
                     android:layout_marginStart="@dimen/iscs_space_3"
                     app:i18nKey='@{"abnormal"}'
+                    android:textColor="?attr/colorTextPrimary"
                     android:textSize="@dimen/iscs_text_md" />
             </RadioGroup>
 

+ 2 - 0
app/src/main/res/layout/dialog_add_rfid_token.xml

@@ -132,6 +132,7 @@
                     app:useMaterialThemeColors="true"
                     android:layout_marginStart="@dimen/iscs_space_3"
                     app:i18nKey='@{"normal"}'
+                    android:textColor="?attr/colorTextPrimary"
                     android:textSize="@dimen/iscs_text_md" />
 
                 <com.google.android.material.radiobutton.MaterialRadioButton
@@ -141,6 +142,7 @@
                     app:useMaterialThemeColors="true"
                     android:layout_marginStart="@dimen/iscs_space_3"
                     app:i18nKey='@{"abnormal"}'
+                    android:textColor="?attr/colorTextPrimary"
                     android:textSize="@dimen/iscs_text_md" />
             </RadioGroup>
 

+ 2 - 0
app/src/main/res/layout/dialog_add_role.xml

@@ -139,6 +139,7 @@
                     app:useMaterialThemeColors="true"
                     android:layout_marginLeft="@dimen/normal_margin_left"
                     app:i18nKey='@{"user_manage_filter_activate"}'
+                    android:textColor="?attr/colorTextPrimary"
                     android:textSize="@dimen/iscs_text_md" />
 
                 <com.google.android.material.radiobutton.MaterialRadioButton
@@ -148,6 +149,7 @@
                     app:useMaterialThemeColors="true"
                     android:layout_marginLeft="@dimen/normal_margin_left"
                     app:i18nKey='@{"user_manage_filter_deactivate"}'
+                    android:textColor="?attr/colorTextPrimary"
                     android:textSize="@dimen/iscs_text_md" />
             </RadioGroup>
 

+ 2 - 0
app/src/main/res/layout/dialog_add_user.xml

@@ -228,6 +228,7 @@
                     android:layout_height="wrap_content"
                     app:i18nKey='@{"user_manage_filter_activate"}'
                     app:useMaterialThemeColors="true"
+                    android:textColor="?attr/colorTextPrimary"
                     android:textSize="@dimen/iscs_text_md" />
 
                 <com.google.android.material.radiobutton.MaterialRadioButton
@@ -237,6 +238,7 @@
                     android:layout_marginLeft="@dimen/iscs_space_3"
                     app:i18nKey='@{"user_manage_filter_deactivate"}'
                     app:useMaterialThemeColors="true"
+                    android:textColor="?attr/colorTextPrimary"
                     android:textSize="@dimen/iscs_text_md" />
             </RadioGroup>
         </androidx.constraintlayout.widget.ConstraintLayout>

+ 2 - 0
app/src/main/res/layout/dialog_filter_card.xml

@@ -133,6 +133,7 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     app:useMaterialThemeColors="true"
+                    android:textColor="?attr/colorTextPrimary"
                     android:layout_marginLeft="@dimen/iscs_space_3"
                     app:i18nKey='@{"normal"}'
                     android:textSize="@dimen/iscs_text_md" />
@@ -142,6 +143,7 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     app:useMaterialThemeColors="true"
+                    android:textColor="?attr/colorTextPrimary"
                     android:layout_marginLeft="@dimen/iscs_space_3"
                     app:i18nKey='@{"abnormal"}'
                     android:textSize="@dimen/iscs_text_md" />

+ 2 - 0
app/src/main/res/layout/dialog_filter_key.xml

@@ -159,6 +159,7 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     app:useMaterialThemeColors="true"
+                    android:textColor="?attr/colorTextPrimary"
                     android:layout_marginLeft="@dimen/iscs_space_3"
                     app:i18nKey='@{"normal"}'
                     android:textSize="@dimen/iscs_text_md" />
@@ -168,6 +169,7 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     app:useMaterialThemeColors="true"
+                    android:textColor="?attr/colorTextPrimary"
                     android:layout_marginLeft="@dimen/iscs_space_3"
                     app:i18nKey='@{"abnormal"}'
                     android:textSize="@dimen/iscs_text_md" />

+ 2 - 0
app/src/main/res/layout/dialog_filter_lock.xml

@@ -134,6 +134,7 @@
                     android:layout_marginLeft="@dimen/iscs_space_3"
                     android:textSize="@dimen/iscs_text_md"
                     app:i18nKey='@{"normal"}'
+                    android:textColor="?attr/colorTextPrimary"
                     app:useMaterialThemeColors="true" />
 
                 <com.google.android.material.radiobutton.MaterialRadioButton
@@ -143,6 +144,7 @@
                     android:layout_marginLeft="@dimen/iscs_space_3"
                     android:textSize="@dimen/iscs_text_md"
                     app:i18nKey='@{"abnormal"}'
+                    android:textColor="?attr/colorTextPrimary"
                     app:useMaterialThemeColors="true" />
             </RadioGroup>
         </androidx.constraintlayout.widget.ConstraintLayout>

+ 2 - 0
app/src/main/res/layout/dialog_filter_rfid_token.xml

@@ -133,6 +133,7 @@
                     android:layout_height="wrap_content"
                     android:layout_marginLeft="@dimen/iscs_space_3"
                     app:i18nKey='@{"normal"}'
+                    android:textColor="?attr/colorTextPrimary"
                     app:useMaterialThemeColors="true"
                     android:textSize="@dimen/iscs_text_md" />
 
@@ -143,6 +144,7 @@
                     android:layout_marginLeft="@dimen/iscs_space_3"
                     app:i18nKey='@{"abnormal"}'
                     app:useMaterialThemeColors="true"
+                    android:textColor="?attr/colorTextPrimary"
                     android:textSize="@dimen/iscs_text_md" />
             </RadioGroup>
         </androidx.constraintlayout.widget.ConstraintLayout>

+ 2 - 0
app/src/main/res/layout/dialog_filter_role.xml

@@ -132,6 +132,7 @@
                         android:layout_marginLeft="@dimen/iscs_space_3"
                         android:textSize="@dimen/iscs_text_md"
                         app:useMaterialThemeColors="true"
+                        android:textColor="?attr/colorTextPrimary"
                         app:i18nKey='@{"user_manage_filter_activate"}' />
 
                     <com.google.android.material.radiobutton.MaterialRadioButton
@@ -141,6 +142,7 @@
                         android:layout_marginLeft="@dimen/iscs_space_3"
                         android:textSize="@dimen/iscs_text_md"
                         app:useMaterialThemeColors="true"
+                        android:textColor="?attr/colorTextPrimary"
                         app:i18nKey='@{"user_manage_filter_deactivate"}' />
                 </RadioGroup>
             </LinearLayout>

+ 2 - 0
app/src/main/res/layout/dialog_filter_user.xml

@@ -163,6 +163,7 @@
                         android:layout_marginLeft="@dimen/iscs_space_3"
                         android:textSize="@dimen/iscs_text_md"
                         app:useMaterialThemeColors="true"
+                        android:textColor="?attr/colorTextPrimary"
                         app:i18nKey='@{"user_manage_filter_activate"}' />
 
                     <com.google.android.material.radiobutton.MaterialRadioButton
@@ -172,6 +173,7 @@
                         android:layout_marginLeft="@dimen/iscs_space_3"
                         android:textSize="@dimen/iscs_text_md"
                         app:useMaterialThemeColors="true"
+                        android:textColor="?attr/colorTextPrimary"
                         app:i18nKey='@{"user_manage_filter_deactivate"}' />
                 </RadioGroup>
             </LinearLayout>

+ 2 - 0
app/src/main/res/layout/dialog_update_card.xml

@@ -131,6 +131,7 @@
                     android:layout_height="wrap_content"
                     android:layout_marginLeft="@dimen/iscs_space_3"
                     app:i18nKey='@{"normal"}'
+                    android:textColor="?attr/colorTextPrimary"
                     app:useMaterialThemeColors="true"
                     android:textSize="@dimen/iscs_text_md" />
 
@@ -140,6 +141,7 @@
                     android:layout_height="wrap_content"
                     android:layout_marginLeft="@dimen/iscs_space_3"
                     app:i18nKey='@{"abnormal"}'
+                    android:textColor="?attr/colorTextPrimary"
                     app:useMaterialThemeColors="true"
                     android:textSize="@dimen/iscs_text_md" />
             </RadioGroup>

+ 21 - 19
app/src/main/res/layout/dialog_update_key.xml

@@ -21,9 +21,9 @@
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
-                app:i18nKey='@{"key_manage_key_detail_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_md" />
+                android:textSize="@dimen/iscs_text_md"
+                app:i18nKey='@{"key_manage_key_detail_title"}' />
 
             <ImageView
                 android:id="@+id/close_iv"
@@ -50,9 +50,9 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/iscs_space_4"
-                app:i18nKey='@{"key_name"}'
                 android:textColor="?attr/colorTextPrimary"
                 android:textSize="@dimen/iscs_text_md"
+                app:i18nKey='@{"key_name"}'
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintTop_toTopOf="parent" />
 
@@ -62,13 +62,13 @@
                 android:layout_height="wrap_content"
                 android:layout_marginLeft="@dimen/iscs_space_3"
                 android:background="@drawable/bg_common_input"
-                app:i18nHint='@{"please_input_key_name"}'
                 android:maxLines="1"
                 android:paddingHorizontal="@dimen/iscs_space_3"
                 android:paddingVertical="2dp"
                 android:singleLine="true"
                 android:textColor="?attr/colorTextPrimary"
                 android:textSize="@dimen/iscs_text_md"
+                app:i18nHint='@{"please_input_key_name"}'
                 app:layout_constraintBottom_toBottomOf="@+id/key_code_tv"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toEndOf="@+id/key_code_tv"
@@ -80,9 +80,9 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/iscs_space_4"
-                app:i18nKey='@{"key_nfc"}'
                 android:textColor="?attr/colorTextPrimary"
                 android:textSize="@dimen/iscs_text_md"
+                app:i18nKey='@{"key_nfc"}'
                 app:layout_constraintEnd_toEndOf="@+id/key_code_tv"
                 app:layout_constraintTop_toBottomOf="@+id/key_code_tv" />
 
@@ -92,13 +92,13 @@
                 android:layout_height="wrap_content"
                 android:layout_marginLeft="@dimen/iscs_space_3"
                 android:background="@drawable/bg_common_input"
-                app:i18nHint='@{"please_input_key_nfc"}'
                 android:maxLines="1"
                 android:paddingHorizontal="@dimen/iscs_space_3"
                 android:paddingVertical="2dp"
                 android:singleLine="true"
                 android:textColor="?attr/colorTextPrimary"
                 android:textSize="@dimen/iscs_text_md"
+                app:i18nHint='@{"please_input_key_nfc"}'
                 app:layout_constraintBottom_toBottomOf="@+id/key_nfc_tv"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toEndOf="@+id/key_nfc_tv"
@@ -110,9 +110,9 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/iscs_space_4"
-                app:i18nKey='@{"key_mac"}'
                 android:textColor="?attr/colorTextPrimary"
                 android:textSize="@dimen/iscs_text_md"
+                app:i18nKey='@{"key_mac"}'
                 app:layout_constraintEnd_toEndOf="@+id/key_nfc_tv"
                 app:layout_constraintTop_toBottomOf="@+id/key_nfc_tv" />
 
@@ -122,11 +122,11 @@
                 android:layout_height="wrap_content"
                 android:layout_marginLeft="@dimen/iscs_space_3"
                 android:background="@drawable/bg_common_input"
-                app:i18nHint='@{"please_input_key_mac"}'
                 android:paddingHorizontal="@dimen/iscs_space_3"
                 android:paddingVertical="2dp"
                 android:textColor="?attr/colorTextPrimary"
                 android:textSize="@dimen/iscs_text_md"
+                app:i18nHint='@{"please_input_key_mac"}'
                 app:layout_constraintBottom_toBottomOf="@+id/key_mac_tv"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toEndOf="@+id/key_mac_tv"
@@ -138,9 +138,9 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/iscs_space_4"
-                app:i18nKey='@{"manage_filter_status"}'
                 android:textColor="?attr/colorTextPrimary"
                 android:textSize="@dimen/iscs_text_md"
+                app:i18nKey='@{"manage_filter_status"}'
                 app:layout_constraintEnd_toEndOf="@+id/key_mac_tv"
                 app:layout_constraintTop_toBottomOf="@+id/key_mac_tv" />
 
@@ -159,18 +159,20 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginLeft="@dimen/iscs_space_3"
+                    android:textColor="?attr/colorTextPrimary"
+                    android:textSize="@dimen/iscs_text_md"
                     app:i18nKey='@{"normal"}'
-                    app:useMaterialThemeColors="true"
-                    android:textSize="@dimen/iscs_text_md" />
+                    app:useMaterialThemeColors="true" />
 
                 <com.google.android.material.radiobutton.MaterialRadioButton
                     android:id="@+id/deactivate_rb"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginLeft="@dimen/iscs_space_3"
+                    android:textColor="?attr/colorTextPrimary"
+                    android:textSize="@dimen/iscs_text_md"
                     app:i18nKey='@{"abnormal"}'
-                    app:useMaterialThemeColors="true"
-                    android:textSize="@dimen/iscs_text_md" />
+                    app:useMaterialThemeColors="true" />
             </RadioGroup>
 
 
@@ -179,9 +181,9 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/iscs_space_4"
-                app:i18nKey='@{"remark"}'
                 android:textColor="?attr/colorTextPrimary"
                 android:textSize="@dimen/iscs_text_md"
+                app:i18nKey='@{"remark"}'
                 app:layout_constraintEnd_toEndOf="@+id/status_tv"
                 app:layout_constraintTop_toBottomOf="@+id/status_tv" />
 
@@ -191,11 +193,11 @@
                 android:layout_height="wrap_content"
                 android:layout_marginLeft="@dimen/iscs_space_3"
                 android:background="@drawable/bg_common_input"
-                app:i18nHint='@{"please_input_remark"}'
                 android:paddingHorizontal="@dimen/iscs_space_3"
                 android:paddingVertical="2dp"
                 android:textColor="?attr/colorTextPrimary"
                 android:textSize="@dimen/iscs_text_md"
+                app:i18nHint='@{"please_input_remark"}'
                 app:layout_constraintBottom_toBottomOf="@+id/remark_tv"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toEndOf="@+id/remark_tv"
@@ -220,9 +222,9 @@
                 android:gravity="center"
                 android:minHeight="@dimen/common_btn_height"
                 android:paddingHorizontal="@dimen/iscs_space_4"
-                app:i18nKey='@{"confirm"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_md" />
+                android:textSize="@dimen/iscs_text_md"
+                app:i18nKey='@{"confirm"}' />
 
             <TextView
                 android:id="@+id/cancel"
@@ -235,9 +237,9 @@
                 android:gravity="center"
                 android:minHeight="@dimen/common_btn_height"
                 android:paddingHorizontal="@dimen/iscs_space_4"
-                app:i18nKey='@{"cancel"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_md" />
+                android:textSize="@dimen/iscs_text_md"
+                app:i18nKey='@{"cancel"}' />
         </LinearLayout>
     </LinearLayout>
 </layout>

+ 2 - 0
app/src/main/res/layout/dialog_update_lock.xml

@@ -131,6 +131,7 @@
                     android:layout_marginLeft="@dimen/iscs_space_3"
                     app:i18nKey='@{"normal"}'
                     app:useMaterialThemeColors="true"
+                    android:textColor="?attr/colorTextPrimary"
                     android:textSize="@dimen/iscs_text_md" />
 
                 <com.google.android.material.radiobutton.MaterialRadioButton
@@ -140,6 +141,7 @@
                     android:layout_marginLeft="@dimen/iscs_space_3"
                     app:i18nKey='@{"abnormal"}'
                     app:useMaterialThemeColors="true"
+                    android:textColor="?attr/colorTextPrimary"
                     android:textSize="@dimen/iscs_text_md" />
             </RadioGroup>
 

+ 2 - 0
app/src/main/res/layout/dialog_update_rfid_token.xml

@@ -130,6 +130,7 @@
                     android:layout_height="wrap_content"
                     android:layout_marginLeft="@dimen/iscs_space_3"
                     app:i18nKey='@{"normal"}'
+                    android:textColor="?attr/colorTextPrimary"
                     app:useMaterialThemeColors="true"
                     android:textSize="@dimen/iscs_text_md" />
 
@@ -139,6 +140,7 @@
                     android:layout_height="wrap_content"
                     android:layout_marginLeft="@dimen/iscs_space_3"
                     app:i18nKey='@{"abnormal"}'
+                    android:textColor="?attr/colorTextPrimary"
                     app:useMaterialThemeColors="true"
                     android:textSize="@dimen/iscs_text_md" />
             </RadioGroup>

+ 2 - 0
app/src/main/res/layout/dialog_update_role.xml

@@ -140,6 +140,7 @@
                     android:layout_marginLeft="@dimen/normal_margin_left"
                     app:i18nKey='@{"user_manage_filter_activate"}'
                     app:useMaterialThemeColors="true"
+                    android:textColor="?attr/colorTextPrimary"
                     android:textSize="@dimen/iscs_text_md" />
 
                 <com.google.android.material.radiobutton.MaterialRadioButton
@@ -149,6 +150,7 @@
                     android:layout_marginLeft="@dimen/normal_margin_left"
                     app:i18nKey='@{"user_manage_filter_deactivate"}'
                     app:useMaterialThemeColors="true"
+                    android:textColor="?attr/colorTextPrimary"
                     android:textSize="@dimen/iscs_text_md" />
             </RadioGroup>
 

+ 2 - 0
app/src/main/res/layout/dialog_update_user.xml

@@ -217,6 +217,7 @@
                     android:layout_height="wrap_content"
                     app:i18nKey='@{"user_manage_filter_activate"}'
                     app:useMaterialThemeColors="true"
+                    android:textColor="?attr/colorTextPrimary"
                     android:textSize="@dimen/iscs_text_md" />
 
                 <com.google.android.material.radiobutton.MaterialRadioButton
@@ -226,6 +227,7 @@
                     android:layout_marginLeft="@dimen/iscs_space_3"
                     app:i18nKey='@{"user_manage_filter_deactivate"}'
                     app:useMaterialThemeColors="true"
+                    android:textColor="?attr/colorTextPrimary"
                     android:textSize="@dimen/iscs_text_md" />
             </RadioGroup>
         </androidx.constraintlayout.widget.ConstraintLayout>

+ 3 - 3
app/src/main/res/layout/fragment_backup_and_restore.xml

@@ -34,7 +34,7 @@
                 android:layout_marginLeft="@dimen/iscs_space_3"
                 android:layout_weight="1"
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold"
                 app:i18nKey='@{"backup_title"}' />
 
@@ -84,7 +84,7 @@
                         android:layout_gravity="center_vertical"
                         android:layout_marginLeft="@dimen/iscs_space_3"
                         android:textColor="?attr/colorTextPrimary"
-                        android:textSize="@dimen/iscs_text_lg"
+                        android:textSize="@dimen/iscs_text_md"
                         android:textStyle="bold"
                         app:i18nKey='@{"backup"}' />
 
@@ -344,7 +344,7 @@
                         android:layout_gravity="center_vertical"
                         android:layout_marginLeft="@dimen/iscs_space_3"
                         android:textColor="?attr/colorTextPrimary"
-                        android:textSize="@dimen/iscs_text_lg"
+                        android:textSize="@dimen/iscs_text_md"
                         android:textStyle="bold"
                         app:i18nKey='@{"restore"}' />
 

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

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"card_manage_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"create_job_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"create_sop_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"create_sop_job_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"edit_job_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"edit_sop_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"edit_sop_job_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -31,7 +31,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"exception_detail_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -33,7 +33,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"exception_job_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"exception_job_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -30,7 +30,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"exception_manage_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -30,7 +30,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"exception_report"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"in_progress_job_manage_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

+ 3 - 2
app/src/main/res/layout/fragment_job_execute.xml

@@ -31,7 +31,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"job_execute_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView
@@ -209,7 +209,7 @@
                             android:layout_alignParentRight="true"
                             android:layout_centerVertical="true"
                             android:layout_marginRight="@dimen/iscs_space_3"
-                            android:tint="?attr/colorBgStroke"
+                            android:tint="?attr/colorPrimary"
                             android:src="@mipmap/icon_full_screen" />
                     </RelativeLayout>
 
@@ -358,6 +358,7 @@
                             android:layout_width="match_parent"
                             android:layout_height="match_parent"
                             android:padding="@dimen/iscs_space_3"
+                            android:textColor="?attr/colorTextPrimary"
                             android:textSize="@dimen/iscs_text_md" />
                     </FrameLayout>
 

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

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"job_manage_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"key_manage_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -30,7 +30,7 @@
                 app:i18nKey='@{"lock_manage_title"}'
                 android:textStyle="bold"
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg" />
+                android:textSize="@dimen/iscs_text_md" />
 
             <TextView
                 android:id="@+id/back"

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

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"locked_points_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -28,7 +28,7 @@
                 android:layout_marginLeft="@dimen/iscs_space_3"
                 android:layout_weight="1"
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold"
                 app:i18nKey='@{"my_todo_title"}' />
 
@@ -72,10 +72,10 @@
                 app:tabIndicatorAnimationMode="elastic"
                 app:tabIndicatorFullWidth="false"
                 app:tabMode="fixed"
+                app:tabMaxWidth="0dp"
                 app:tabRippleColor="?attr/rippleColor"
                 app:tabTextColor="@color/tab_text_color" />
 
-
             <androidx.constraintlayout.widget.ConstraintLayout
                 android:id="@+id/handle_time_layout"
                 android:layout_width="match_parent"

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

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"point_manage_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -30,7 +30,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"reset_password_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"rfid_token_manage_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -30,7 +30,7 @@
                 app:i18nKey='@{"role_manage_title"}'
                 android:textColor="?attr/colorTextPrimary"
                 android:textStyle="bold"
-                android:textSize="@dimen/iscs_text_lg" />
+                android:textSize="@dimen/iscs_text_md" />
 
             <TextView
                 android:id="@+id/back"

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

@@ -29,7 +29,7 @@
                 android:layout_marginLeft="@dimen/iscs_space_3"
                 app:i18nKey='@{"create_sop_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <ImageView
@@ -52,7 +52,7 @@
                 android:layout_marginLeft="@dimen/iscs_space_3"
                 app:i18nKey='@{"select_member_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <View

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

@@ -29,7 +29,7 @@
                 android:layout_marginLeft="@dimen/iscs_space_3"
                 app:i18nKey='@{"create_sop_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:tint="?attr/colorPrimary"
                 android:textStyle="bold" />
 
@@ -52,7 +52,7 @@
                 android:layout_marginLeft="@dimen/iscs_space_3"
                 app:i18nKey='@{"select_point_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <View

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

@@ -30,7 +30,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"set_face_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"set_fingerprint_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -30,7 +30,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"set_job_card_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"slots_manage_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -30,7 +30,7 @@
                 app:i18nKey='@{"sop_manage_title"}'
                 android:textColor="?attr/colorTextPrimary"
                 android:textStyle="bold"
-                android:textSize="@dimen/iscs_text_lg" />
+                android:textSize="@dimen/iscs_text_md" />
 
             <TextView
                 android:id="@+id/back"

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

@@ -30,7 +30,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"user_info_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -28,7 +28,7 @@
                 android:layout_marginLeft="@dimen/iscs_space_3"
                 android:layout_weight="1"
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold"
                 app:i18nKey='@{"user_manage_title"}' />
 

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

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"workflow_manage_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

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

@@ -30,7 +30,7 @@
                 android:layout_marginLeft="@dimen/iscs_space_3"
                 app:i18nKey='@{"create_sop_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <ImageView
@@ -53,7 +53,7 @@
                 android:layout_marginLeft="@dimen/iscs_space_3"
                 app:i18nKey='@{"workflow_setting"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <View

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

@@ -29,7 +29,7 @@
                 android:layout_weight="1"
                 app:i18nKey='@{"workstation_manage_title"}'
                 android:textColor="?attr/colorTextPrimary"
-                android:textSize="@dimen/iscs_text_lg"
+                android:textSize="@dimen/iscs_text_md"
                 android:textStyle="bold" />
 
             <TextView

+ 1 - 0
app/src/main/res/layout/item_job_execute_colock.xml

@@ -12,6 +12,7 @@
         <ImageView
             android:layout_width="@dimen/job_execute_colock_size"
             android:layout_height="@dimen/job_execute_colock_size"
+            android:tint="?attr/colorPrimary"
             android:src="@mipmap/icon_selected_member" />
 
         <TextView

+ 4 - 0
app/src/main/res/layout/item_job_execute_point.xml

@@ -16,6 +16,7 @@
             android:layout_weight="1"
             android:paddingVertical="@dimen/iscs_space_3"
             android:gravity="center"
+            android:textColor="?attr/colorTextPrimary"
             android:textSize="@dimen/iscs_text_md" />
 
         <TextView
@@ -25,6 +26,7 @@
             android:layout_weight="1"
             android:paddingVertical="@dimen/iscs_space_3"
             android:gravity="center"
+            android:textColor="?attr/colorTextPrimary"
             android:textSize="@dimen/iscs_text_md" />
         <TextView
             android:id="@+id/point_function"
@@ -33,6 +35,7 @@
             android:layout_weight="1"
             android:paddingVertical="@dimen/iscs_space_3"
             android:gravity="center"
+            android:textColor="?attr/colorTextPrimary"
             android:textSize="@dimen/iscs_text_md" />
 
         <FrameLayout
@@ -63,6 +66,7 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginLeft="@dimen/iscs_space_1"
+                    android:textColor="?attr/colorTextPrimary"
                     android:textSize="@dimen/iscs_text_md" />
             </LinearLayout>
         </FrameLayout>

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

@@ -9,16 +9,6 @@ object DictConstants {
      */
     const val KEY_SLOT_STATUS = "slot_status"
 
-    /**
-     * 仓位是否被占用
-     */
-    const val KEY_IS_OCCUPIED_STATUS = "isOccupied_status"
-
-    /**
-     * 硬件工卡异常原因
-     */
-    const val KEY_JOB_CARD_REASON = "job_card_reason"
-
     /**
      * 硬件工卡异常状态
      */
@@ -29,31 +19,16 @@ object DictConstants {
      */
     const val KEY_RFID_TOKEN_STATUS = "rfid_token_status"
 
-    /**
-     * 挂锁异常原因
-     */
-    const val KEY_PAD_LOCK_REASON = "padlock_reason"
-
     /**
      * 挂锁状态
      */
     const val KEY_PAD_LOCK_STATUS = "padlock_status"
 
-    /**
-     * 钥匙异常原因
-     */
-    const val KEY_KEY_REASON = "key_reason"
-
     /**
      * 钥匙状态
      */
     const val KEY_KEY_STATUS = "key_status"
 
-    /**
-     * 开关状态
-     */
-    const val KEY_SWITCH_STATUS = "switch_status"
-
     /**
      * 锁仓类型
      */

+ 32 - 65
data/src/main/java/com/grkj/data/enums/CommonDictDataEnum.kt

@@ -3,6 +3,7 @@ package com.grkj.data.enums
 import com.grkj.data.data.DictConstants
 import com.grkj.data.model.res.CommonDictRes
 import com.grkj.data.model.res.SimpleCommonDictRes
+import com.grkj.shared.utils.i18n.I18nManager
 
 /**
  * 字典枚举
@@ -10,118 +11,84 @@ import com.grkj.data.model.res.SimpleCommonDictRes
 enum class CommonDictDataEnum(val dictKey: String, val commonDictRes: List<CommonDictRes>) {
     SLOT_STATUS(
         DictConstants.KEY_SLOT_STATUS,
-        listOf(SimpleCommonDictRes("可用", "0"), SimpleCommonDictRes("异常", "1"))
-    ),
-    IS_OCCUPIED_STATUS(
-        DictConstants.KEY_IS_OCCUPIED_STATUS,
-        listOf(SimpleCommonDictRes("是", "1"), SimpleCommonDictRes("否", "0"))
-    ),
-    JOB_CARD_REASON(
-        DictConstants.KEY_JOB_CARD_REASON,
-        listOf(
-            SimpleCommonDictRes("工卡丢失", "0"),
-            SimpleCommonDictRes("工卡损坏", "1"),
-            SimpleCommonDictRes("-", "2")
-        )
-    ),
-    PADLOCK_REASON(
-        DictConstants.KEY_PAD_LOCK_REASON, listOf(
-            SimpleCommonDictRes("挂锁损坏", "0"),
-            SimpleCommonDictRes("挂锁丢失", "1"),
-            SimpleCommonDictRes("-", "2")
-        )
+        listOf(SimpleCommonDictRes("可用", "0"), SimpleCommonDictRes(I18nManager.t("abnormal"), "1"))
     ),
     PADLOCK_STATUS(
         DictConstants.KEY_PAD_LOCK_STATUS, listOf(
-            SimpleCommonDictRes("异常", "0"),
-            SimpleCommonDictRes("正常", "1"),
+            SimpleCommonDictRes(I18nManager.t("abnormal"), "0"),
+            SimpleCommonDictRes(I18nManager.t("normal"), "1"),
         )
     ),
     JOB_CARD_STATUS(
         DictConstants.KEY_JOB_CARD_STATUS, listOf(
-            SimpleCommonDictRes("异常", "0"),
-            SimpleCommonDictRes("正常", "1"),
+            SimpleCommonDictRes(I18nManager.t("abnormal"), "0"),
+            SimpleCommonDictRes(I18nManager.t("normal"), "1"),
         )
     ),
     RFID_TOKEN_STATUS(
         DictConstants.KEY_RFID_TOKEN_STATUS, listOf(
-            SimpleCommonDictRes("异常", "0"),
-            SimpleCommonDictRes("正常", "1"),
-        )
-    ),
-    KEY_REASON(
-        DictConstants.KEY_KEY_REASON, listOf(
-            SimpleCommonDictRes("钥匙损坏", "0"),
-            SimpleCommonDictRes("钥匙丢失", "1"),
-            SimpleCommonDictRes("-", "2")
+            SimpleCommonDictRes(I18nManager.t("abnormal"), "0"),
+            SimpleCommonDictRes(I18nManager.t("normal"), "1"),
         )
     ),
     KEY_STATUS(
         DictConstants.KEY_KEY_STATUS, listOf(
-            SimpleCommonDictRes("异常", "0"),
-            SimpleCommonDictRes("正常", "1"),
-        )
-    ),
-    SWITCH_STATUS(
-        DictConstants.KEY_SWITCH_STATUS, listOf(
-            SimpleCommonDictRes("关闭", "0"),
-            SimpleCommonDictRes("打开", "1"),
-            SimpleCommonDictRes("停止", "2"),
-            SimpleCommonDictRes("未知", "null"),
+            SimpleCommonDictRes(I18nManager.t("abnormal"), "0"),
+            SimpleCommonDictRes(I18nManager.t("normal"), "1"),
         )
     ),
     SLOT_TYPE(
         DictConstants.KEY_SLOT_TYPE, listOf(
-            SimpleCommonDictRes("钥匙", "0"),
-            SimpleCommonDictRes("锁", "1"),
+            SimpleCommonDictRes(I18nManager.t("key"), "0"),
+            SimpleCommonDictRes(I18nManager.t("lock"), "1"),
         )
     ),
     JOB_TICKET_STATUS(
         DictConstants.KEY_JOB_TICKET_STATUS, listOf(
-            SimpleCommonDictRes("异常", "0"),
-            SimpleCommonDictRes("正常", "1"),
+            SimpleCommonDictRes(I18nManager.t("abnormal"), "0"),
+            SimpleCommonDictRes(I18nManager.t("normal"), "1"),
         )
     ),
     EXCEPTION_TYPE(
         DictConstants.KEY_EXCEPTION_TYPE, listOf(
-            SimpleCommonDictRes("硬件异常", "0"),
-            SimpleCommonDictRes("作业异常", "1"),
+            SimpleCommonDictRes(I18nManager.t("hardware_exception"), "0"),
+            SimpleCommonDictRes(I18nManager.t("job_exception"), "1"),
         )
     ),
     EXCEPTION_SOURCE_TYPE(
         DictConstants.KEY_EXCEPTION_SOURCE_TYPE, listOf(
-            SimpleCommonDictRes("钥匙", "0"),
-            SimpleCommonDictRes("挂锁", "1"),
-            SimpleCommonDictRes("仓位", "2"),
-            SimpleCommonDictRes("作业", "3"),
+            SimpleCommonDictRes(I18nManager.t("key"), "0"),
+            SimpleCommonDictRes(I18nManager.t("lock"), "1"),
+            SimpleCommonDictRes(I18nManager.t("slot"), "2"),
+            SimpleCommonDictRes(I18nManager.t("job"), "3"),
         )
     ),
     EXCEPTION_STATUS(
         DictConstants.KEY_EXCEPTION_STATUS, listOf(
-            SimpleCommonDictRes("待处理", "0"),
-            SimpleCommonDictRes("已处理", "1"),
-            SimpleCommonDictRes("已取消", "2"),
+            SimpleCommonDictRes(I18nManager.t("pending"), "0"),
+            SimpleCommonDictRes(I18nManager.t("processed"), "1"),
+            SimpleCommonDictRes(I18nManager.t("canceld"), "2"),
         )
     ),
     EXCEPTION_DESCRIPTION(
         DictConstants.KEY_EXCEPTION_DESCRIPTION, listOf(
-            SimpleCommonDictRes("作业票无法执行", "0"),
-            SimpleCommonDictRes("钥匙损坏", "1"),
-            SimpleCommonDictRes("挂锁损坏", "2"),
-            SimpleCommonDictRes("仓位损坏", "3"),
+            SimpleCommonDictRes(I18nManager.t("job_cat_not_exec"), "0"),
+            SimpleCommonDictRes(I18nManager.t("key_damage"), "1"),
+            SimpleCommonDictRes(I18nManager.t("lock_damage"), "2"),
+            SimpleCommonDictRes(I18nManager.t("slot_damage"), "3"),
         )
     ),
     EXCEPTION_PROCESS_APPLICATION_HARDWARE(
         DictConstants.KEY_EXCEPTION_PROCESS_APPLICATION_HARDWARE, listOf(
-            SimpleCommonDictRes("申请报废钥匙", "1"),
-            SimpleCommonDictRes("申请报废挂锁", "2"),
-            SimpleCommonDictRes("申请报废仓位", "3"),
+            SimpleCommonDictRes(I18nManager.t("apply_scrap_key"), "1"),
+            SimpleCommonDictRes(I18nManager.t("apply_scrap_lock"), "2"),
+            SimpleCommonDictRes(I18nManager.t("apply_scrap_slot"), "3"),
         )
     ),
     EXCEPTION_PROCESS_APPLICATION_JOB(
         DictConstants.KEY_EXCEPTION_PROCESS_APPLICATION_JOB, listOf(
-            SimpleCommonDictRes("申请万能钥匙", "0"),
-            SimpleCommonDictRes("申请结束作业", "1"),
+            SimpleCommonDictRes(I18nManager.t("apply_master_key"), "0"),
+            SimpleCommonDictRes(I18nManager.t("apply_finish_job"), "1"),
         )
     ),
     TODO_STATUS(

+ 9 - 7
data/src/main/java/com/grkj/data/enums/IsolationPointPowerTypeEnum.kt

@@ -1,14 +1,16 @@
 package com.grkj.data.enums
 
+import com.grkj.shared.utils.i18n.I18nManager
+
 /**
  * 能量源
  */
 enum class IsolationPointPowerTypeEnum(val description: String, val icon: String) {
-    YY("液压", "arrow-down-strenght.svg"),
-    DN("电能", "bolt.svg"),
-    SN("势能", "external-world.png"),
-    RN("热能", "heat.svg"),
-    RQ("燃气", "gas-pump.svg"),
-    DR("机械能", "robotic-arm.svg"),
-    KQN("空气能", "wind.svg"),
+    HYDRAULIC_PRESSURE(I18nManager.t("hydraulic_pressure"), "arrow-down-strenght.svg"),
+    ELECTRIC_ENERGY(I18nManager.t("electric_energy"), "bolt.svg"),
+    POTENTIAL_ENERGY(I18nManager.t("potential_energy"), "external-world.png"),
+    HEAT_ENERGY(I18nManager.t("heat_energy"), "heat.svg"),
+    GAS(I18nManager.t("gas"), "gas-pump.svg"),
+    MECHANICAL_ENERGY(I18nManager.t("mechanical_energy"), "robotic-arm.svg"),
+    AIR_ENERGY(I18nManager.t("air_energy"), "wind.svg"),
 }

+ 10 - 8
data/src/main/java/com/grkj/data/enums/JobTicketStatusEnum.kt

@@ -1,18 +1,20 @@
 package com.grkj.data.enums
 
+import com.grkj.shared.utils.i18n.I18nManager
+
 /**
  * 作业状态
  * (0未开始 1待上锁 2进行中 3待解锁 4已解锁 5已结束6已取消)
  */
 enum class JobTicketStatusEnum(val status: String, val description: String) {
-    NOT_START("0", "未开始"),
-    SELECT_MEMBER("1", "选择人员"),
-    LOCKING("2", "上锁中"),
-    COLOCKING("3", "共锁中"),
-    UNLOCKING("4", "解锁中"),
-    FINISHED("5", "已结束"),
-    CANCELED("6", "已取消"),
-    PROGRESSING("7","进行中");
+    NOT_START("0", I18nManager.t("not_start")),
+    SELECT_MEMBER("1", I18nManager.t("select_member")),
+    LOCKING("2", I18nManager.t("locking")),
+    COLOCKING("3", I18nManager.t("colocking")),
+    UNLOCKING("4", I18nManager.t("unlocking")),
+    FINISHED("5", I18nManager.t("finished")),
+    CANCELED("6", I18nManager.t("canceled")),
+    PROGRESSING("7",I18nManager.t("progressing"));
 
     companion object {
         /**

+ 4 - 3
data/src/main/java/com/grkj/data/enums/LockPointModeEnum.kt

@@ -1,6 +1,7 @@
 package com.grkj.data.enums
 
 import com.grkj.data.check_data.ICheckDataMode
+import com.grkj.shared.utils.i18n.I18nManager
 
 /**
  * 锁定点位模式
@@ -9,7 +10,7 @@ enum class LockPointModeEnum(
     val type: Int,
     val description: String,
 ) {
-    FORCE_SHARED_LOCK(0, "强制共享锁模式"),
-    FORCE_MULTI_LOCK(1, "强制多锁模式"),
-    MIXED_MODE(2, "混合模式"), ;
+    FORCE_SHARED_LOCK(0, I18nManager.t("force_shared_lock")),
+    FORCE_MULTI_LOCK(1, I18nManager.t("force_multi_lock")),
+    MIXED_MODE(2, I18nManager.t("mixed_mode")), ;
 }

+ 10 - 9
data/src/main/java/com/grkj/data/enums/OperationTypeEnum.kt

@@ -2,6 +2,7 @@ package com.grkj.data.enums
 
 import com.grkj.data.model.local.TodoStepJoin
 import com.grkj.data.model.local.hasAnyHardwareOperationFunction
+import com.grkj.shared.utils.i18n.I18nManager
 import org.slf4j.Logger
 import org.slf4j.LoggerFactory
 
@@ -9,15 +10,15 @@ import org.slf4j.LoggerFactory
  * 操作类型枚举(用于标记作业票当前步骤所需的用户行为)
  */
 enum class OperationTypeEnum(val code: String, val desc: String, val todoTitle: String) {
-    LOCK_TAKE_KEY("LOCK_TAKE_KEY", "取钥匙上锁", "启动上锁"),
-    LOCK_RETURN_KEY("LOCK_RETURN_KEY", "上锁还钥匙", "完成上锁"),
-    UNLOCK_TAKE_KEY("UNLOCK_TAKE_KEY", "取钥匙解锁", "启动解锁"),
-    UNLOCK_RETURN_KEY("UNLOCK_RETURN_KEY", "解锁还钥匙", "完成解锁"),
-    COLOCK("COLOCK", "待添加共锁", "添加共锁"),
-    RELEASE_COLOCK("RELEASE_COLOCK", "待解除共锁", "解除共锁"),
-    CONFIRM("CONFIRM", "步骤待确认", "执行确认"),
-    END("END", "作业结束待确认", "结束作业"),
-    UNKNOWN("UNKNOWN", "未知", "未知待办");
+    LOCK_TAKE_KEY("lock_take_key", "取钥匙上锁", I18nManager.t("lock_take_key")),
+    LOCK_RETURN_KEY("lock_return_key", "上锁还钥匙", I18nManager.t("lock_return_key")),
+    UNLOCK_TAKE_KEY("unlock_take_key", "取钥匙解锁", I18nManager.t("unlock_take_key")),
+    UNLOCK_RETURN_KEY("unlock_return_key", "解锁还钥匙", I18nManager.t("unlock_return_key")),
+    COLOCK("colock", "待添加共锁", I18nManager.t("colock")),
+    RELEASE_COLOCK("release_colock", "待解除共锁", I18nManager.t("release_colock")),
+    CONFIRM("confirm", "步骤待确认", I18nManager.t("confirm_exec")),
+    END("end", "作业结束待确认", I18nManager.t("end")),
+    UNKNOWN("unknown", "未知", I18nManager.t("unknown"));
 
     companion object {
         /**

+ 8 - 6
data/src/main/java/com/grkj/data/enums/RoleEnum.kt

@@ -1,13 +1,15 @@
 package com.grkj.data.enums
 
+import com.grkj.shared.utils.i18n.I18nManager
+
 /**
  * 角色枚举
  */
 enum class RoleEnum(val roleKey: String, val description: String) {
-    ADMIN("admin", "超级管理员"),
-    JTDRAWER("jtdrawer", "作业管理员"),
-    JTLOCKER("jtlocker", "作业负责人"),
-    JTCOLOCKER("jtcolocker", "作业参与人"),
-    JTGUARD("jtguard", "作业观察员"),
-    SYSCONFIG("sysconfig", "系统配置员"),
+    ADMIN("admin", I18nManager.t("admin")),
+    JTDRAWER("jtdrawer", I18nManager.t("jtdrawer")),
+    JTLOCKER("jtlocker", I18nManager.t("jtlocker")),
+    JTCOLOCKER("jtcolocker", I18nManager.t("jtcolocker")),
+    JTGUARD("jtguard", I18nManager.t("jtguard")),
+    SYSCONFIG("sysconfig", I18nManager.t("sysconfig"));
 }

+ 35 - 36
data/src/main/java/com/grkj/data/enums/RoleFunctionalPermissionsEnum.kt

@@ -1,7 +1,6 @@
 package com.grkj.data.enums
 
-import com.sik.sikcore.data.BeanUtils
-import kotlin.collections.mutableListOf
+import com.grkj.shared.utils.i18n.I18nManager
 
 /**
  * 功能权限(菜单)
@@ -12,39 +11,39 @@ enum class RoleFunctionalPermissionsEnum(
     val level: Int,
     val children: List<RoleFunctionalPermissionsEnum>
 ) {
-    USER_MANAGE("data_manage:user_manage", "用户管理", 1, listOf()),
-    ROLE_MANAGE("data_manage:role_manage", "角色管理", 1, listOf()),
-    WORKSTATION_MANAGE("data_manage:workstation_manage", "区域管理", 1, listOf()),
-    POINT_MANAGE("data_manage:point_manage", "点位管理", 1, listOf()),
-    BACKUP_AND_RESTORE("data_manage:backup_and_restore", "备份/还原", 1, listOf()),
-    IN_PROGRESS_JOB("job_ticket_manage:in_progress_job", "进行中的作业", 1, listOf()),
-    CREATE_SOP("job_ticket_manage:create_sop", "新建SOP", 1, listOf()),
-    SOP_MANAGE("job_ticket_manage:sop_manage", "SOP管理", 1, listOf()),
-    EXCEPTION_JOB("exception_job", "异常作业", 1, listOf()),
-    CREATE_JOB("job_ticket_manage:create_job", "新建作业", 1, listOf()),
-    JOB_MANAGE("job_ticket_manage:job_manage", "作业管理", 1, listOf()),
-    WORKFLOW_MANAGE("job_ticket_manage:workflow_manage", "流程模式管理", 1, listOf()),
-    CREATE_SOP_JOB("job_ticket_manage:create_sop_job", "新建SOP作业", 1, listOf()),
-    LOCKED_POINT("job_ticket_manage:locked_point", "锁定中的点位", 1, listOf()),
-    SLOT_MANAGE("hardware_manage:slot_manage", "仓位管理", 1, listOf()),
-    KEY_MANAGE("hardware_manage:key_manage", "钥匙管理", 1, listOf()),
-    LOCK_MANAGE("hardware_manage:lock_manage", "挂锁管理", 1, listOf()),
-    CARD_MANAGE("hardware_manage:card_manage", "卡片管理", 1, listOf()),
-    RFID_MANAGE("hardware_manage:rfid_manage", "RFID管理", 1, listOf()),
-    EXCEPTION_REPORT("exception_manage:exception_report", "异常上报", 1, listOf()),
-    EXCEPTION_MANAGE("exception_manage:exception_manage", "异常管理", 1, listOf()),
-    USER_INFO("user_info:user_info", "个人信息", 1, listOf()),
-    RESET_PASSWORD("user_info:reset_password", "重置密码", 1, listOf()),
-    FINGERPRINT_SETTING("user_info:fingerprint_setting", "设置指纹", 1, listOf()),
-    FACE_SETTING("user_info:face_setting", "设置人脸", 1, listOf()),
-    CARD_SETTING("user_info:card_setting", "设置工卡", 1, listOf()),
-    LOGOUT("user_info:logout", "退出登录", 1, listOf()),
+    USER_MANAGE("data_manage:user_manage", I18nManager.t("user_manage"), 1, listOf()),
+    ROLE_MANAGE("data_manage:role_manage", I18nManager.t("role_manage"), 1, listOf()),
+    WORKSTATION_MANAGE("data_manage:workstation_manage", I18nManager.t("workstation_manage"), 1, listOf()),
+    POINT_MANAGE("data_manage:point_manage", I18nManager.t("point_manage"), 1, listOf()),
+    BACKUP_AND_RESTORE("data_manage:backup_and_restore", I18nManager.t("backup_and_restore"), 1, listOf()),
+    IN_PROGRESS_JOB("job_ticket_manage:in_progress_job", I18nManager.t("in_progress_job"), 1, listOf()),
+    CREATE_SOP("job_ticket_manage:create_sop", I18nManager.t("create_sop"), 1, listOf()),
+    SOP_MANAGE("job_ticket_manage:sop_manage", I18nManager.t("sop_manage"), 1, listOf()),
+    EXCEPTION_JOB("exception_job", I18nManager.t("exception_job"), 1, listOf()),
+    CREATE_JOB("job_ticket_manage:create_job", I18nManager.t("create_job"), 1, listOf()),
+    JOB_MANAGE("job_ticket_manage:job_manage", I18nManager.t("job_manage"), 1, listOf()),
+    WORKFLOW_MANAGE("job_ticket_manage:workflow_manage", I18nManager.t("workflow_manage"), 1, listOf()),
+    CREATE_SOP_JOB("job_ticket_manage:create_sop_job", I18nManager.t("create_sop_job"), 1, listOf()),
+    LOCKED_POINT("job_ticket_manage:locked_point", I18nManager.t("locked_point"), 1, listOf()),
+    SLOT_MANAGE("hardware_manage:slot_manage", I18nManager.t("slot_manage"), 1, listOf()),
+    KEY_MANAGE("hardware_manage:key_manage", I18nManager.t("key_manage"), 1, listOf()),
+    LOCK_MANAGE("hardware_manage:lock_manage", I18nManager.t("lock_manage"), 1, listOf()),
+    CARD_MANAGE("hardware_manage:card_manage", I18nManager.t("card_manage"), 1, listOf()),
+    RFID_MANAGE("hardware_manage:rfid_manage", I18nManager.t("rfid_manage"), 1, listOf()),
+    EXCEPTION_REPORT("exception_manage:exception_report", I18nManager.t("exception_report"), 1, listOf()),
+    EXCEPTION_MANAGE("exception_manage:exception_manage", I18nManager.t("exception_manage"), 1, listOf()),
+    USER_INFO("user_info:user_info", I18nManager.t("user_info"), 1, listOf()),
+    RESET_PASSWORD("user_info:reset_password", I18nManager.t("reset_password"), 1, listOf()),
+    FINGERPRINT_SETTING("user_info:fingerprint_setting", I18nManager.t("fingerprint_setting"), 1, listOf()),
+    FACE_SETTING("user_info:face_setting", I18nManager.t("face_setting"), 1, listOf()),
+    CARD_SETTING("user_info:card_setting", I18nManager.t("card_setting"), 1, listOf()),
+    LOGOUT("user_info:logout", I18nManager.t("logout"), 1, listOf()),
 
-    TODO_LIST("home:todo_list", "我的待办", 1, listOf()),
+    TODO_LIST("home:todo_list", I18nManager.t("todo_list"), 1, listOf()),
 
     USER_INFO_HOME(
         "user_info",
-        "用户信息",
+        I18nManager.t("user_info"),
         0,
         listOf(
             USER_INFO,
@@ -57,17 +56,17 @@ enum class RoleFunctionalPermissionsEnum(
     ),
     EXCEPTION_HOME_MANAGE(
         "exception_manage",
-        "异常管理", 0,
+        I18nManager.t("exception_manage"), 0,
         listOf(EXCEPTION_REPORT, EXCEPTION_JOB, EXCEPTION_MANAGE)
     ),
     HARDWARE_HOME_MANAGE(
         "hardware_manage",
-        "硬件管理", 0,
+        I18nManager.t("hardware_manage"), 0,
         listOf(SLOT_MANAGE, KEY_MANAGE, LOCK_MANAGE, CARD_MANAGE, RFID_MANAGE)
     ),
     JOB_TICKET_HOME_MANAGE(
         "job_ticket_manage",
-        "作业管理", 0,
+        I18nManager.t("job_ticket_manage"), 0,
         listOf(
             TODO_LIST,
             IN_PROGRESS_JOB,
@@ -83,10 +82,10 @@ enum class RoleFunctionalPermissionsEnum(
     ),
     DATA_HOME_MANAGE(
         "data_manage",
-        "数据管理", 0,
+        I18nManager.t("data_manage"), 0,
         listOf(USER_MANAGE, ROLE_MANAGE, WORKSTATION_MANAGE, POINT_MANAGE, BACKUP_AND_RESTORE)
     ),
-    HOME("Home", "主页", 0, listOf()),
+    HOME("Home", I18nManager.t("home"), 0, listOf()),
     ;
 
     companion object {

+ 82 - 36
shared/src/main/java/com/grkj/shared/utils/i18n/util/CsvUtils.kt

@@ -69,62 +69,106 @@ object CsvUtils {
     // --- 单语:宽松解析(保持你的实现) ---
     fun parseSingleLang(br: BufferedReader): Map<String, I18nEntry> {
         val out = LinkedHashMap<String, I18nEntry>(512)
-
-        logger.info("开始转换")
         var curKey: String? = null
         var curType: I18nType = I18nType.TEXT
         var curVal = StringBuilder()
-        var isFirstLine = true
 
         fun flush() {
             val k = curKey ?: return
-            out[k] = I18nEntry(
-                key = k,
-                type = curType,
-                value = curVal.toString()
-            )
+            out[k] = I18nEntry(k, curType, curVal.toString())
             curKey = null
             curVal = StringBuilder()
         }
 
+        // 读取首行,判断是否为表头
+        val firstRaw0 = br.readLine() ?: return emptyMap()
+        val firstRaw = firstRaw0.stripBom().trimCR()
+        val headCols = parseLine(firstRaw)
+        val idxKey = headCols.indexOfFirst { it.equals("key", true) }
+        val idxType = headCols.indexOfFirst { it.equals("type", true) }
+        val idxComment = headCols.indexOfFirst { it.equals("comment", true) }
+        val idxValueCol = headCols.indexOfFirst { it.equals("value", true) || it.equals("text", true) }
+
+        val hasHeader = idxKey >= 0 && idxType >= 0
+        val valueStartIdx: Int? = when {
+            !hasHeader -> null
+            idxValueCol >= 0 -> idxValueCol             // key,type,comment?,value
+            idxComment >= 0 -> idxComment + 1           // 没有 value 列名 → comment 之后全是 value
+            else -> idxType + 1                          // 只有 key,type → type 之后全是 value
+        }
+
+        // 如果没有表头,把首行当数据行走宽松逻辑
+        if (!hasHeader) {
+            val parts = splitFirst3Commas(firstRaw)
+            val isNew = parts.size >= 3 && parts[0].isNotBlank() && isTypeToken(parts[1])
+            if (isNew) {
+                flush()
+                curKey = parts[0].trim()
+                curType = when (parts[1].trim().lowercase(Locale.ROOT)) {
+                    "plural" -> I18nType.PLURAL
+                    "select" -> I18nType.SELECT
+                    else -> I18nType.TEXT
+                }
+                // 兼容“无 comment + 行尾多逗号”
+                val valueRest = when {
+                    parts.size >= 4 && parts[3].isNotEmpty() -> parts[3]    // 有 comment & 有值
+                    parts.size >= 4 && parts[3].isEmpty() -> parts[2]       // 第四段为空 → 把第三段当 value
+                    else -> parts[2]                                        // 只有三段 → 第三段就是 value
+                }
+                curVal.append(valueRest)
+            }
+        }
+
         while (true) {
             val line0 = br.readLine() ?: break
             val raw = line0.stripBom().trimCR()
-
             if (raw.isBlank()) {
                 if (curKey != null) curVal.append('\n')
                 continue
             }
 
-            val parts = splitFirst3Commas(raw)
-
-            // header 跳过
-            if (isFirstLine && parts.size >= 3 && parts[0].equals("key", true)) {
-                isFirstLine = false
-                continue
-            }
-            isFirstLine = false
-
-            val isNewRecord = parts.size >= 4 &&
-                    parts[0].isNotBlank() &&
-                    isTypeToken(parts[1])
-
-            if (isNewRecord) {
-                flush()
-
-                val key = parts[0].trim()
-                val typeToken = parts[1].trim().lowercase(Locale.ROOT)
-                val valueRest = parts[3]
-
-                curKey = key
-                curType = when (typeToken) {
-                    "plural" -> I18nType.PLURAL
-                    "select" -> I18nType.SELECT
-                    else -> I18nType.TEXT
+            if (hasHeader) {
+                // 表头模式:从 valueStartIdx 起把所有列拼为 value,但要去掉末尾的空列(英文 CSV 的“结尾逗号”)
+                val cols = parseLine(raw)
+                val k = cols.getOrNull(idxKey)?.trim().orEmpty()
+                val t = cols.getOrNull(idxType)?.trim().orEmpty()
+                val isNew = k.isNotEmpty() && isTypeToken(t)
+                if (isNew) {
+                    flush()
+                    curKey = k
+                    curType = when (t.lowercase(Locale.ROOT)) {
+                        "plural" -> I18nType.PLURAL
+                        "select" -> I18nType.SELECT
+                        else -> I18nType.TEXT
+                    }
+                    val vs = valueStartIdx ?: (idxType + 1)
+                    val valueCols = cols.drop(vs).toMutableList()
+                    // ★关键:剔除末尾空列(由“行尾逗号”产生)
+                    while (valueCols.isNotEmpty() && valueCols.last().isEmpty()) valueCols.removeLast()
+                    curVal.append(valueCols.joinToString(","))
+                } else if (curKey != null) {
+                    if (curVal.isNotEmpty()) curVal.append('\n')
+                    curVal.append(raw)
                 }
-                curVal.append(valueRest)
             } else {
-                if (curKey != null) {
+                // 宽松模式(无表头)
+                val parts = splitFirst3Commas(raw)
+                val isNew = parts.size >= 3 && parts[0].isNotBlank() && isTypeToken(parts[1])
+                if (isNew) {
+                    flush()
+                    curKey = parts[0].trim()
+                    curType = when (parts[1].trim().lowercase(Locale.ROOT)) {
+                        "plural" -> I18nType.PLURAL
+                        "select" -> I18nType.SELECT
+                        else -> I18nType.TEXT
+                    }
+                    val valueRest = when {
+                        parts.size >= 4 && parts[3].isNotEmpty() -> parts[3]
+                        parts.size >= 4 && parts[3].isEmpty() -> parts[2]
+                        else -> parts[2]
+                    }
+                    curVal.append(valueRest)
+                } else if (curKey != null) {
                     if (curVal.isNotEmpty()) curVal.append('\n')
                     curVal.append(raw)
                 }
@@ -135,6 +179,8 @@ object CsvUtils {
         return out
     }
 
+
+
     // --- 合表:最佳列匹配(语言+脚本+地区) ---
     private data class LR(val lang: String, val script: String?, val region: String?)
 

+ 1 - 1
ui-base/src/main/res/color/tab_text_color.xml

@@ -2,5 +2,5 @@
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_enabled="false" android:color="?attr/colorTextDisabled"/>
     <item android:state_selected="true" android:color="?attr/colorTextPrimary"/>
-    <item android:color="?attr/colorTextSecondary"/>
+    <item android:color="@color/palette_text_secondary_dark"/>
 </selector>

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

@@ -1,4 +0,0 @@
-<resources>
-    <string name="app_name">ISCS</string>
-
-</resources>

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

@@ -46,6 +46,7 @@
         <item name="colorTransparent">@color/palette_transparent</item>
         <item name="colorTransparentHalf">@color/palette_transparent_half</item>
         <item name="colorBlue80">@color/palette_blue_80</item>
+        <item name="rippleColor">@color/palette_blue_light</item>
 
         <!-- 分割/描边(用白低透明实体) -->
         <item name="colorDivider">@color/palette_divider_white12</item>