import { Head, useForm, Link } from '@inertiajs/react'; import React from 'react'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { Separator } from '@/components/ui/separator'; import AppLayout from '@/layouts/app-layout'; // Definisi Tipe Data Employee yang diterima dari Controller interface Employee { id: number; nip: string; gender: string; birth_date: string; place_of_birth: string; address: string; phone_number: string; department_id: number; position_id: number; status: string; join_date: string; user: { name: string; email: string; }; } interface PageProps { employee: Employee; departments: { id: number; name: string }[]; positions: { id: number; name: string }[]; errors: Partial>; } export default function Edit({ employee, departments, positions }: PageProps) { // Inisialisasi Form dengan Data Lama (Pre-filled) const { data, setData, put, processing, errors } = useForm({ name: employee.user.name, email: employee.user.email, nip: employee.nip, gender: employee.gender, birth_date: employee.birth_date, place_of_birth: employee.place_of_birth || '', address: employee.address || '', phone_number: employee.phone_number || '', department_id: String(employee.department_id), position_id: String(employee.position_id), status: employee.status, join_date: employee.join_date, }); const submit = (e: React.FormEvent) => { e.preventDefault(); put(`/admin/employees/${employee.id}`); }; return (
Edit Data Karyawan

Perbarui informasi karyawan di bawah ini.

{/* INFORMASI PRIBADI */}

1 Informasi Pribadi

{/* Kolom Kiri */}
setData('name', e.target.value)} /> {errors.name &&
{errors.name}
}
setData('email', e.target.value)} /> {errors.email &&
{errors.email}
}
setData('phone_number', e.target.value)} />
{/* Kolom Kanan */}
setData('place_of_birth', e.target.value)} />
setData('birth_date', e.target.value)} /> {errors.birth_date &&
{errors.birth_date}
}
{errors.gender &&
{errors.gender}
}
setData('address', e.target.value)} />
{/* DATA KEPEGAWAIAN */}

2 Data Kepegawaian

{/* Kolom Kiri */}
setData('nip', e.target.value)} /> {errors.nip &&
{errors.nip}
}
{/* Kolom Kanan */}
setData('join_date', e.target.value)} />
{/* TOMBOL AKSI */}
); }