update tgl 20 mei
This commit is contained in:
parent
ae63ac1618
commit
653a1814af
|
@ -37,6 +37,12 @@ public function store(Request $request)
|
|||
if ($request->filled('keterangan_tambahan')) {
|
||||
$keterangan = $request->keterangan_tambahan;
|
||||
}
|
||||
|
||||
// Ambil gaji dari model GajiModel berdasarkan nama karyawan
|
||||
$karyawan = GajiModel::where('nama', $request->keterangan)->first();
|
||||
if ($karyawan) {
|
||||
$data['gaji'] = $karyawan->gaji;
|
||||
}
|
||||
} else {
|
||||
$keterangan = $request->keterangan_manual;
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
</div>
|
||||
|
||||
<div class="bg-white rounded-lg shadow-lg p-6">
|
||||
<form id="uangMasukForm" action="{{ route('uangmasuk.store') }}" method="POST" class="space-y-4">
|
||||
<form id="uangMasukForm" action="{{ route('uangmasuk.store') }}" method="POST" class="space-y-4" onsubmit="return validateForm(event)">
|
||||
@csrf
|
||||
<!-- Tanggal -->
|
||||
<div class="form-group">
|
||||
|
@ -57,6 +57,9 @@ class="w-full border rounded-lg px-3 py-2 focus:outline-none focus:ring-2 focus:
|
|||
@endforeach
|
||||
</select>
|
||||
|
||||
<!-- Hidden input untuk gaji -->
|
||||
<input type="hidden" name="gaji" id="gaji_input">
|
||||
|
||||
<!-- Input Keterangan Tambahan -->
|
||||
<div class="form-group">
|
||||
<label class="block text-sm font-medium text-gray-700 mb-1">
|
||||
|
@ -340,48 +343,43 @@ function formatNumber(input) {
|
|||
input.value = value;
|
||||
}
|
||||
|
||||
function validateBalance() {
|
||||
const nominals = document.getElementsByName('nominal[]');
|
||||
const posisis = document.getElementsByName('posisi[]');
|
||||
function validateForm(event) {
|
||||
event.preventDefault();
|
||||
console.log('Validating form...');
|
||||
|
||||
// Pastikan semua field terisi
|
||||
let isValid = true;
|
||||
for (let i = 0; i < nominals.length; i++) {
|
||||
const nominal = nominals[i].value.replace(/\D/g, '');
|
||||
const posisi = posisis[i].value;
|
||||
|
||||
if (!nominal || !posisi) {
|
||||
isValid = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
const submitBtn = document.getElementById('submitBtn');
|
||||
submitBtn.disabled = !isValid;
|
||||
if (isValid) {
|
||||
submitBtn.classList.remove('bg-gray-400');
|
||||
submitBtn.classList.add('bg-blue-600', 'hover:bg-blue-700');
|
||||
} else {
|
||||
submitBtn.classList.add('bg-gray-400');
|
||||
submitBtn.classList.remove('bg-blue-600', 'hover:bg-blue-700');
|
||||
}
|
||||
}
|
||||
|
||||
// Set default date to today
|
||||
document.querySelector('input[type="date"]').valueAsDate = new Date();
|
||||
|
||||
// Event listener untuk form submit
|
||||
document.getElementById('uangMasukForm').addEventListener('submit', function(e) {
|
||||
// Validasi jumlah rekening
|
||||
const nominals = document.getElementsByName('nominal[]');
|
||||
if (nominals.length < 2) {
|
||||
e.preventDefault();
|
||||
Swal.fire({
|
||||
icon: 'error',
|
||||
title: 'Error!',
|
||||
text: 'Minimal harus ada 2 rekening!',
|
||||
confirmButtonText: 'OK'
|
||||
});
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
// Validasi input rekening
|
||||
let isValid = true;
|
||||
for (let i = 0; i < nominals.length; i++) {
|
||||
const nominal = nominals[i].value.replace(/\D/g, '');
|
||||
const posisi = document.getElementsByName('posisi[]')[i].value;
|
||||
const kategori = document.getElementsByName('kategori[]')[i].value;
|
||||
|
||||
if (!nominal || !posisi || !kategori) {
|
||||
isValid = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!isValid) {
|
||||
Swal.fire({
|
||||
icon: 'error',
|
||||
title: 'Error!',
|
||||
text: 'Semua field rekening harus diisi!',
|
||||
confirmButtonText: 'OK'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
// Set keterangan berdasarkan input yang dipilih
|
||||
|
@ -395,33 +393,77 @@ function validateBalance() {
|
|||
const manual = document.querySelector('textarea[name="keterangan_manual"]').value;
|
||||
document.getElementById('keterangan').value = manual;
|
||||
}
|
||||
});
|
||||
|
||||
// Event listener untuk input nominal
|
||||
document.addEventListener('input', function(e) {
|
||||
console.log('Form validation passed, submitting...');
|
||||
document.getElementById('uangMasukForm').submit();
|
||||
return false;
|
||||
}
|
||||
|
||||
function validateBalance() {
|
||||
const nominals = document.getElementsByName('nominal[]');
|
||||
const posisis = document.getElementsByName('posisi[]');
|
||||
const kategoris = document.getElementsByName('kategori[]');
|
||||
|
||||
let isValid = true;
|
||||
for (let i = 0; i < nominals.length; i++) {
|
||||
const nominal = nominals[i].value.replace(/\D/g, '');
|
||||
const posisi = posisis[i].value;
|
||||
const kategori = kategoris[i].value;
|
||||
|
||||
if (!nominal || !posisi || !kategori) {
|
||||
isValid = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
const submitBtn = document.getElementById('submitBtn');
|
||||
if (isValid) {
|
||||
submitBtn.disabled = false;
|
||||
submitBtn.classList.remove('bg-gray-400');
|
||||
submitBtn.classList.add('bg-blue-600', 'hover:bg-blue-700');
|
||||
} else {
|
||||
submitBtn.disabled = true;
|
||||
submitBtn.classList.add('bg-gray-400');
|
||||
submitBtn.classList.remove('bg-blue-600', 'hover:bg-blue-700');
|
||||
}
|
||||
}
|
||||
|
||||
// Set default date to today
|
||||
document.querySelector('input[type="date"]').valueAsDate = new Date();
|
||||
|
||||
// Event listeners
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
console.log('Page loaded');
|
||||
validateBalance();
|
||||
|
||||
// Event listener untuk input nominal
|
||||
document.addEventListener('input', function(e) {
|
||||
if (e.target.name === 'nominal[]') {
|
||||
formatNumber(e.target);
|
||||
validateBalance();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Event listener untuk perubahan posisi
|
||||
document.addEventListener('change', function(e) {
|
||||
if (e.target.name === 'posisi[]') {
|
||||
// Event listener untuk perubahan posisi dan kategori
|
||||
document.addEventListener('change', function(e) {
|
||||
if (e.target.name === 'posisi[]' || e.target.name === 'kategori[]') {
|
||||
validateBalance();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
document.getElementById('keterangan').addEventListener('change', function() {
|
||||
// Event listener untuk perubahan karyawan
|
||||
document.getElementById('keterangan').addEventListener('change', function() {
|
||||
const selectedOption = this.options[this.selectedIndex];
|
||||
const gaji = selectedOption.getAttribute('data-gaji');
|
||||
if (gaji) {
|
||||
document.getElementById('gaji_input').value = gaji;
|
||||
const nominalInputs = document.getElementsByName('nominal[]');
|
||||
if (nominalInputs.length > 0) {
|
||||
nominalInputs[0].value = new Intl.NumberFormat('id-ID').format(gaji);
|
||||
validateBalance();
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
@if(session('success'))
|
||||
|
|
Loading…
Reference in New Issue