114 lines
3.8 KiB
PHP
114 lines
3.8 KiB
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
require_once __DIR__ . '/includes/layout.php';
|
|
|
|
$pdo = db();
|
|
$id = (int)($_GET['id'] ?? 0);
|
|
|
|
$stmt = $pdo->prepare("
|
|
SELECT e.*, d.name AS dept_name, d.code AS dept_code, p.name AS position_name, p.level
|
|
FROM employees e
|
|
LEFT JOIN departments d ON d.id = e.dept_id
|
|
LEFT JOIN positions p ON p.id = e.position_id
|
|
WHERE e.id = :id
|
|
");
|
|
$stmt->execute([':id' => $id]);
|
|
$employee = $stmt->fetch();
|
|
|
|
if (!$employee) {
|
|
render_header('Pegawai Tidak Ditemukan', 'employees');
|
|
echo '<div class="alert alert-warning">Pegawai tidak ditemukan.</div>';
|
|
echo '<a href="employees.php" class="btn btn-light border">Kembali</a>';
|
|
render_footer();
|
|
exit;
|
|
}
|
|
|
|
$created = isset($_GET['created']);
|
|
|
|
render_header('Detail Pegawai', 'employees');
|
|
?>
|
|
|
|
<div class="mb-4 d-flex flex-wrap align-items-center justify-content-between gap-3">
|
|
<div>
|
|
<h1 class="h3 fw-semibold mb-1"><?= e($employee['full_name']) ?></h1>
|
|
<p class="small-muted mb-0"><?= e($employee['employee_code']) ?> · <?= e($employee['status']) ?></p>
|
|
</div>
|
|
<a href="employees.php" class="btn btn-light border">Kembali ke daftar</a>
|
|
</div>
|
|
|
|
<?php if ($created): ?>
|
|
<div class="alert alert-success" data-autohide="true">
|
|
Profil pegawai baru berhasil dibuat.
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<div class="row g-4">
|
|
<div class="col-lg-7">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<span class="section-title">Profil Pegawai</span>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="row g-3">
|
|
<div class="col-md-6">
|
|
<div class="small-muted">Email</div>
|
|
<div class="fw-semibold"><?= e($employee['email'] ?? '-') ?></div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="small-muted">Telepon</div>
|
|
<div class="fw-semibold"><?= e($employee['phone'] ?? '-') ?></div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="small-muted">Status Kerja</div>
|
|
<div class="fw-semibold"><?= e($employee['status']) ?></div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="small-muted">Tipe Kerja</div>
|
|
<div class="fw-semibold"><?= e($employee['employment_type']) ?></div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="small-muted">Tanggal Masuk</div>
|
|
<div class="fw-semibold"><?= e(format_date($employee['hire_date'])) ?></div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="small-muted">Dibuat</div>
|
|
<div class="fw-semibold"><?= e(format_date($employee['created_at'])) ?></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-5">
|
|
<div class="card mb-4">
|
|
<div class="card-header">
|
|
<span class="section-title">Penempatan</span>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="mb-3">
|
|
<div class="small-muted">Departemen</div>
|
|
<div class="fw-semibold"><?= e($employee['dept_name'] ?? 'Belum ditetapkan') ?></div>
|
|
<?php if (!empty($employee['dept_code'])): ?>
|
|
<span class="badge-soft"><?= e($employee['dept_code']) ?></span>
|
|
<?php endif; ?>
|
|
</div>
|
|
<div>
|
|
<div class="small-muted">Jabatan</div>
|
|
<div class="fw-semibold"><?= e($employee['position_name'] ?? 'Belum ditetapkan') ?></div>
|
|
<div class="small text-muted"><?= e($employee['level'] ?? '-') ?></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<span class="section-title">Catatan HR</span>
|
|
</div>
|
|
<div class="card-body">
|
|
<p class="small-muted mb-0">Gunakan halaman ini sebagai ringkasan cepat. Modul kontrak, dokumen, dan histori akan ditambahkan pada iterasi berikutnya.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<?php render_footer(); ?>
|