update tgl 5 maret2
This commit is contained in:
parent
3c4f35a377
commit
fddfd48ecb
|
@ -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,
|
||||||
|
|
|
@ -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();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue