|
|
@@ -349,6 +349,11 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
|
|
|
stepClickConfirm(adapter, item, workflowStep)
|
|
|
} else if (workflowStep.confirmType == 0 && ((viewModel.ticketData?.createBy == MainDomainData.userInfo?.userName && workflowStep.confirmUser == null) || workflowStep.currentUserCanConfirm())) {//手动确认 需要时创建者或者指定人员
|
|
|
if (workflowStep.currentUserCanConfirm()) {
|
|
|
+ // 不是作业票的创建者不允许在此共锁,或者允许共锁人登录后,除非当前允许共锁人登录且是共锁人本人,允许共锁
|
|
|
+ if (!checkColockerEnable()) {
|
|
|
+ showToast(CommonUtils.getStr("no_permission_to_handle"))
|
|
|
+ return@observe
|
|
|
+ }
|
|
|
InRFIDScanModeEvent.sendInRFIDScanModeEvent(false)
|
|
|
CheckFaceDialog.show(viewLifecycleOwner, viewModel, 0) {
|
|
|
if (it in listOf(
|
|
|
@@ -462,6 +467,11 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
|
|
|
val item = holder.getModel<IsJobTicketUserDataVo>()
|
|
|
itemBinding.name.text = item.nickName
|
|
|
itemBinding.root.setDebouncedClickListener {
|
|
|
+ // 不是作业票的创建者不允许在此共锁,或者允许共锁人登录后,除非当前允许共锁人登录且是共锁人本人,允许共锁
|
|
|
+ if (!checkColockerEnable()) {
|
|
|
+ showToast(CommonUtils.getStr("no_permission_to_handle"))
|
|
|
+ return@setDebouncedClickListener
|
|
|
+ }
|
|
|
if (viewModel.canCoLock()) {
|
|
|
InRFIDScanModeEvent.sendInRFIDScanModeEvent(false)
|
|
|
viewModel.getFaceByUserId(item.userId).observe(this) {
|
|
|
@@ -528,17 +538,31 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
|
|
|
itemBinding.lockStatusTv.text = item.lockerName
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 校验当前是否有共锁权限
|
|
|
+ */
|
|
|
+ private fun checkColockerEnable(): Boolean {
|
|
|
+ // 不是作业票的创建者不允许在此共锁,或者允许共锁人登录后,除非当前允许共锁人登录且是共锁人本人,允许共锁
|
|
|
+ if (MainDomainData.userInfo?.userName != viewModel.ticketData?.createBy) {
|
|
|
+ // 不是作业票的创建者,只有登录账号的本人才可以进行刷卡共锁操作
|
|
|
+ if (MMKVConstants.KEY_ALLOW_COLOCKER_COLOCK.getMMKVData(false) && viewModel.ticketUser.filter { colocker ->
|
|
|
+ colocker.userRole?.contains(RoleEnum.JTCOLOCKER.roleKey) == true
|
|
|
+ }.any { colocker -> colocker.userId == MainDomainData.userInfo?.userId }) {
|
|
|
+ // 允许进行操作
|
|
|
+ } else {
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return true
|
|
|
+ }
|
|
|
+
|
|
|
override fun onEvent(event: EventBean<Any>) {
|
|
|
super.onEvent(event)
|
|
|
when (event.code) {
|
|
|
EventConstants.EVENT_RFID_CARD_READ -> {
|
|
|
- if (MainDomainData.userInfo?.userName != viewModel.ticketData?.createBy && !MMKVConstants.KEY_ALLOW_COLOCKER_COLOCK.getMMKVData(
|
|
|
- false
|
|
|
- )
|
|
|
- ) {
|
|
|
- showToast(
|
|
|
- CommonUtils.getStr("no_permission_to_handle").toString()
|
|
|
- )
|
|
|
+ // 不是作业票的创建者不允许在此共锁,或者允许共锁人登录后,除非当前允许共锁人登录且是共锁人本人,允许共锁
|
|
|
+ if (!checkColockerEnable()) {
|
|
|
+ showToast(CommonUtils.getStr("no_permission_to_handle"))
|
|
|
return
|
|
|
}
|
|
|
checkLayout(2)
|