@extends('layouts.app') @php $pageTitle = 'Employees'; $pageHeading = 'Employee Directory'; $pageDescription = 'Daftar karyawan inti dari ADMS untuk kebutuhan sinkronisasi dan mapping device.'; $tableThemeClass = 'ops-datatable-theme ops-datatable-theme--employees'; $sessionRole = strtolower((string) ($currentUser['role'] ?? (!empty($currentUser['is_superuser']) ? 'admin' : 'viewer'))); $canOperateMachineUsers = in_array($sessionRole, ['admin', 'operator'], true); $canAdminEmployees = $sessionRole === 'admin'; $openCreateEmployeeModal = session('open_employee_create_modal') || old('employee_create_form') === '1'; @endphp @push('styles') @endpush @section('content')

Employee module untuk kontrol data master.

Halaman ini menampilkan data employee yang sudah ada di ADMS agar proses mapping ke device, mobile, dan attendance lebih mudah dipantau dari Laravel.

@if (session('status'))
Berhasil
{{ session('status') }}
@endif @if ($errors->any())
Ada input yang perlu dicek
@endif @if (empty($deviceScopeSummary))
Total Employees
{{ number_format($summary['total']) }}
Seluruh employee pada database.
Active Employees
{{ number_format($summary['active']) }}
Siap dipakai operasional.
Mobile Ready
{{ number_format($summary['mobile_ready']) }}
Employee aktif di mobile.
Finger Registered
{{ number_format($summary['finger_registered']) }}
Sudah memiliki fingerprint.
@endif @if (! empty($deviceScopeSummary))
User Di Mesin Ini
{{ number_format($deviceScopeSummary['total_users']) }}
{{ $deviceScopeSummary['alias'] }} - {{ $deviceScopeSummary['sn'] }}
Admin Mesin
{{ number_format($deviceScopeSummary['admin_users']) }}
User mesin dengan role `ADMIN` pada scope device ini.
Finger Registered
{{ number_format($deviceScopeSummary['finger_users']) }}
User scope mesin ini yang punya template sidik jari.
Active User
{{ number_format($deviceScopeSummary['active_users']) }}
User aktif yang terdeteksi ada di mesin ini.
@endif
@if (!empty($bulkQuickMeta['active'])) Bulk paste aktif {{ (int) ($bulkQuickMeta['matched_tokens'] ?? 0) }} data cocok / {{ (int) ($bulkQuickMeta['unmatched_tokens'] ?? 0) }} tidak cocok @if (!empty($bulkQuickMeta['unmatched_list'])) Tidak cocok: {{ implode(', ', array_slice($bulkQuickMeta['unmatched_list'], 0, 12)) }}@if (count($bulkQuickMeta['unmatched_list']) > 12) ... @endif @endif @endif
Reset
@if (! empty($filters['device_filter']))
Sedang menampilkan user yang terdeteksi di mesin {{ $filters['device_filter'] }} berdasarkan enroll_sn, template finger di iclock_biodata, atau transaksi dari terminal tersebut. Ini cocok untuk audit lalu aksi massal update/hapus user per mesin.
@endif
@csrf

Employee List

Centang employee dulu. Untuk aksi ke mesin, picker target mesin akan muncul sebagai modal agar lebih rapi saat jumlah device banyak.
@if ($sessionRole === 'operator')
Akses OPERATOR: Copy, Move, Hapus dari Mesin
@endif
@if ($canAdminEmployees) @endif @if ($canOperateMachineUsers) @endif @if ($canAdminEmployees) @endif @if ($canAdminEmployees) Export to XLSX @endif
@forelse ($employees as $employee) @empty @endforelse
Emp Code Name Email Mobile Department Position Status Role Mesin App Status Source Mesin Enroll SN Fingerprint Action
{{ $employee->emp_code }} {{ trim(($employee->first_name ?? '').' '.($employee->last_name ?? '')) ?: '-' }} {{ $employee->email ?: '-' }} {{ $employee->mobile ?: '-' }} {{ $employee->department_name ?: ($employee->department_id ?: '-') }} {{ $employee->position_name ?: ($employee->position_id ?: '-') }} @if ((int) $employee->is_active === 1) Active @else Inactive @endif @if ((int) ($employee->dev_privilege ?? 0) === 14) ADMIN @else USER BIASA @endif {{ $employee->app_status }} {{ $employee->enroll_sn ?: '-' }} {{ $employee->enroll_sn ?: '-' }} @if ($canAdminEmployees) @if ((int) $employee->fingerprint_count > 0) @else @endif @elseif ((int) $employee->fingerprint_count > 0) {{ (int) $employee->fingerprint_count }} template @else Belum register @endif @if (str_starts_with((string) ($employee->change_user ?? ''), 'device:'))
Baru dari mesin
@endif @if ($canAdminEmployees) Edit Employee @endif
{{ $employee->update_time ?: '-' }}
Belum ada data employee.
@if (method_exists($employees, 'links'))
Menampilkan {{ $employees->firstItem() ?? 0 }}-{{ $employees->lastItem() ?? 0 }} dari {{ $employees->total() }} employee
{{ $employees->onEachSide(1)->links() }}
@endif
@if ($canAdminEmployees) @endif @if (! empty($resignImportPreview))
@csrf
@endif @endsection @push('scripts') @endpush