@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')

審核管理中心

管理各類申請案件的審核流程,依您的權限顯示可操作項目

@if (!$hasPersonnel && !$hasAccountSvc && !$hasDevice)
您目前沒有任何審核權限,如有疑問請聯繫系統管理者。
@else
{{-- ══════════════════════════════ 人事審核 ══════════════════════════════ --}} @if ($hasPersonnel)
人事審核
請假、加班與調離職相關審核作業
{{-- 請假審核 --}} @if ($hasSubordinates || $canManageLeave)
請假審核 @if($leaveApprovalCount > 0) {{ $leaveApprovalCount }} @endif
審核部屬請假申請,3 天以下由主管審核,超過 3 天需進一步核准
@endif {{-- 加班審核 --}} @if ($canReviewOvertime)
加班審核
審核加班工時申請,主管初審後超過規定時數轉最終審核
@endif {{-- 調離職交接審核 --}} @if ($canReviewHandover)
調離職交接審核
審核調職或離職的工作交接事項,確認完成後進行簽核
@endif
@endif {{-- ══════════════════════════════ 帳號服務審核 ══════════════════════════════ --}} @if ($hasAccountSvc)
帳號服務審核
VPN、專案管理與主機信箱帳號申請審核
{{-- VPN 審核 --}} @if ($canReviewVpn)
VPN 帳號審核
審核 VPN 遠端連線帳號申請,主管初審後由 IT 管理者最終開通
主管審核 @if ($isAdmin) 最終審核 @endif @if ($canUseVpnAcct) 帳號管理 @endif
@endif {{-- 專案管理(GitLab)審核 --}} @if ($canReviewGitlab || $canReviewRedmine)
專案管理(GitLab)審核
審核 GitLab 帳號申請、建立專案或加入既有專案的申請
@if ($canReviewGitlab) 主管審核 @if ($isAdmin || $u->hasModuleAdminPermission('GitlabRequestController')) 最終審核 @endif @endif
@endif {{-- 主機/信箱帳號審核 --}} @if ($canReviewAccount)
主機 / 信箱帳號審核
審核伺服器連線或公司電子信箱帳號申請,主管初審後 IT 最終開通
主管審核 @if ($isAdmin || $u->hasModuleAdminPermission('AccountRequestController')) 最終審核 @endif
@endif {{-- 防火牆申請 --}} @if ($isSupervisorOrAdmin)
防火牆申請審核
審核客戶主機 IP 存取 git.steps.tw 的防火牆開放申請
主管初審 @if (Auth::id() === 1) 最終審核 @endif
@endif
@endif {{-- ══════════════════════════════ 設備審核 ══════════════════════════════ --}} @if ($hasDevice)
設備審核
設備攜出/入申請的審核管理
設備攜出/入審核
審核員工攜帶公司設備進出辦公區域的申請,確認設備資訊與原因後簽核
主管審核 @if ($isAdmin) 最終審核 @endif
@endif
{{-- /sc-cols --}} @endif
@endsection