39065-vm/employee_view.php
2026-03-09 14:12:06 +00:00

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(); ?>