@extends('layouts.app') @section('title', '審核管理中心') @php use Illuminate\Support\Facades\Auth; $u = Auth::user(); $isAdmin = $u->role === 'admin'; $isSupervisorOrAdmin = in_array($u->role, ['supervisor', 'admin']); $canReviewDevice = $isSupervisorOrAdmin && ($isAdmin || $u->hasModuleAdminPermission('DeviceRequestController')); $canReviewVpn = $isSupervisorOrAdmin && ($isAdmin || $u->hasModuleAdminPermission('VpnRequestController')); $canUseVpnAcct = $isAdmin || $u->hasModulePermission('VpnAccountController'); $canReviewGitlab = $isSupervisorOrAdmin && ($isAdmin || $u->hasModuleAdminPermission('GitlabRequestController')); $canReviewRedmine = $isSupervisorOrAdmin && ($isAdmin || $u->hasModuleAdminPermission('RedmineAccountRequestController')); $canReviewAccount = $isSupervisorOrAdmin && ($isAdmin || $u->hasModuleAdminPermission('AccountRequestController')); $canReviewOvertime= $isSupervisorOrAdmin && ($isAdmin || $u->hasModuleAdminPermission('OvertimeRequestController')); $canReviewHandover= $isSupervisorOrAdmin || \App\Models\HandoverApproval::where('approver_id', $u->id)->exists(); $hasSubordinates = \App\Models\User::where('supervisor_id', $u->id)->exists(); $canManageLeave = $isAdmin || $u->hasModuleAdminPermission('LeaveSettingController'); $leaveApprovalCount = 0; if ($hasSubordinates || $canManageLeave) { $leaveApprovalCount = \App\Models\LeaveRequest::query() ->when($canManageLeave, fn($q) => $q->whereIn('status', ['pending','supervisor_approved'])->where('days', '>', 3) ->union(\App\Models\LeaveRequest::where('status','pending')->where('days','<=',3) ->whereHas('user', fn($u2) => $u2->where('supervisor_id', $u->id))) ) ->when(!$canManageLeave && $hasSubordinates, fn($q) => $q->where('status','pending')->where('days','<=',3) ->whereHas('user', fn($u2) => $u2->where('supervisor_id', $u->id)) ) ->count(); } $hasPersonnel = ($hasSubordinates || $canManageLeave) || $canReviewOvertime || $canReviewHandover; $hasAccountSvc = $canReviewVpn || $canReviewGitlab || $canReviewRedmine || $canReviewAccount || $isSupervisorOrAdmin; $hasDevice = $canReviewDevice; @endphp @push('styles') @endpush @section('content')
管理各類申請案件的審核流程,依您的權限顯示可操作項目