update tgl 5 maret2

This commit is contained in:
whywdd 2025-03-05 21:34:26 +07:00
parent 3c4f35a377
commit fddfd48ecb
2 changed files with 31 additions and 5 deletions

View File

@ -3,13 +3,16 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\InputGajiModel; // Import model use App\Models\InputGajiModel; // Import model
use App\Models\GajiModel; // Tambahkan import model karyawan
use Illuminate\Http\Request; use Illuminate\Http\Request;
class InputGajiController extends Controller class InputGajiController extends Controller
{ {
public function index() public function index()
{ {
return view('InputGaji'); // Ambil data karyawan untuk dropdown
$karyawans = GajiModel::all();
return view('InputGaji', compact('karyawans'));
} }
public function store(Request $request) public function store(Request $request)
@ -29,12 +32,16 @@ public function store(Request $request)
// Tentukan kode berdasarkan kategori // Tentukan kode berdasarkan kategori
$kode = $this->generateKode($validated['kategori']); $kode = $this->generateKode($validated['kategori']);
// Cari data karyawan
$karyawan = GajiModel::where('nama', $validated['nama_karyawan'])->first();
// Simpan data // Simpan data
InputGajiModel::create([ InputGajiModel::create([
'Tanggal' => $validated['Tanggal'], 'Tanggal' => $validated['Tanggal'],
'kode' => $kode, 'kode' => $kode,
'kategori' => $validated['kategori'], 'kategori' => $validated['kategori'],
'nama_karyawan' => $validated['nama_karyawan'], 'nama_karyawan' => $validated['nama_karyawan'],
'keterangan' => 'Gaji karyawan ' . $validated['nama_karyawan'],
'uang_masuk' => null, 'uang_masuk' => null,
'uang_keluar' => null, 'uang_keluar' => null,
'gaji' => $gaji, 'gaji' => $gaji,

View File

@ -49,13 +49,20 @@ class="w-full border rounded-lg px-3 py-2 focus:outline-none focus:ring-2 focus:
<label class="block text-sm font-medium text-gray-700 mb-1"> <label class="block text-sm font-medium text-gray-700 mb-1">
Nama Karyawan <span class="text-red-600">*</span> Nama Karyawan <span class="text-red-600">*</span>
</label> </label>
<input <select
type="text"
name="nama_karyawan" name="nama_karyawan"
id="nama_karyawan"
class="w-full border rounded-lg px-3 py-2 focus:outline-none focus:ring-2 focus:ring-blue-500" class="w-full border rounded-lg px-3 py-2 focus:outline-none focus:ring-2 focus:ring-blue-500"
placeholder="Masukkan nama karyawan"
required required
onchange="updateGaji(this)"
> >
<option value="" disabled selected>Pilih Karyawan</option>
@foreach($karyawans as $karyawan)
<option value="{{ $karyawan->nama }}" data-gaji="{{ $karyawan->gaji }}">
{{ $karyawan->nama }} - {{ $karyawan->jabatan }}
</option>
@endforeach
</select>
</div> </div>
<!-- Total Gaji --> <!-- Total Gaji -->
@ -68,13 +75,14 @@ class="w-full border rounded-lg px-3 py-2 focus:outline-none focus:ring-2 focus:
<input <input
type="text" type="text"
name="gaji" name="gaji"
id="gaji"
class="w-full border rounded-lg pl-10 pr-3 py-2 focus:outline-none focus:ring-2 focus:ring-blue-500" class="w-full border rounded-lg pl-10 pr-3 py-2 focus:outline-none focus:ring-2 focus:ring-blue-500"
placeholder="0" placeholder="0"
required required
oninput="formatNumber(this)" oninput="formatNumber(this)"
> >
</div> </div>
<p class="text-xs text-gray-500 mt-1">Masukkan angka tanpa tanda titik atau koma</p> <p class="text-xs text-gray-500 mt-1">Gaji akan terisi otomatis sesuai data karyawan, namun dapat diubah manual</p>
</div> </div>
<!-- Tombol Submit --> <!-- Tombol Submit -->
@ -114,6 +122,17 @@ function formatNumber(input) {
input.value = value; input.value = value;
} }
function updateGaji(selectElement) {
const selectedOption = selectElement.options[selectElement.selectedIndex];
const gajiInput = document.getElementById('gaji');
if (selectedOption.dataset.gaji) {
const formattedGaji = new Intl.NumberFormat('id-ID').format(selectedOption.dataset.gaji);
gajiInput.value = formattedGaji;
} else {
gajiInput.value = '';
}
}
// Set default date to today // Set default date to today
document.querySelector('input[type="date"]').valueAsDate = new Date(); document.querySelector('input[type="date"]').valueAsDate = new Date();