update pakan
This commit is contained in:
parent
dedf8458ac
commit
ff786d572a
|
|
@ -190,12 +190,11 @@ public function update(Request $request, $id)
|
|||
|
||||
$namaBarang = ucfirst(strtolower(trim($request->nama_barang)));
|
||||
|
||||
$request->validate([
|
||||
$validator = \Illuminate\Support\Facades\Validator::make($request->all(), [
|
||||
'tanggal' => 'required|date|before_or_equal:today',
|
||||
'nama_barang' => 'required|string|max:100',
|
||||
'jenis_transaksi' => 'required|in:masuk,keluar',
|
||||
'jumlah' => 'required|numeric|min:1|max:999999',
|
||||
// 'satuan' => 'required|string|max:50|in:karung',
|
||||
'harga_satuan' => $request->jenis_transaksi === 'masuk'
|
||||
? 'required|numeric|min:1|max:999999999'
|
||||
: 'nullable',
|
||||
|
|
@ -215,16 +214,19 @@ public function update(Request $request, $id)
|
|||
'jumlah.min' => 'Jumlah minimal 1.',
|
||||
'jumlah.max' => 'Jumlah terlalu besar.',
|
||||
|
||||
// 'satuan.required' => 'Satuan wajib diisi.',
|
||||
// 'satuan.string' => 'Satuan harus berupa teks.',
|
||||
// 'satuan.max' => 'Satuan maksimal 50 karakter.',
|
||||
|
||||
'harga_satuan.required' => 'Harga satuan wajib diisi untuk transaksi masuk.',
|
||||
'harga_satuan.numeric' => 'Harga satuan harus berupa angka.',
|
||||
'harga_satuan.min' => 'Harga satuan minimal 1.',
|
||||
'harga_satuan.max' => 'Harga satuan terlalu besar.',
|
||||
]);
|
||||
|
||||
if ($validator->fails()) {
|
||||
return back()
|
||||
->withErrors($validator, 'edit')
|
||||
->withInput()
|
||||
->with('edit_id', $id);
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
DB::transaction(function () use ($request, $id, $namaBarang) {
|
||||
|
|
@ -272,8 +274,9 @@ public function update(Request $request, $id)
|
|||
return back()
|
||||
->withErrors([
|
||||
'jumlah' => $e->getMessage()
|
||||
])
|
||||
->withInput();
|
||||
], 'edit')
|
||||
->withInput()
|
||||
->with('edit_id', $id);
|
||||
}
|
||||
|
||||
return redirect()->route('pakan')->with('success', 'Transaksi berhasil diupdate');
|
||||
|
|
|
|||
|
|
@ -111,7 +111,8 @@ class="form-control form-control-sm">
|
|||
<!-- TABEL -->
|
||||
<div class="p-0 card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table mb-0" style="table-layout:fixed; width:100%;"> <thead class="table-light">
|
||||
<table class="table mb-0" style="table-layout:fixed; width:100%;">
|
||||
<thead class="table-light">
|
||||
<tr>
|
||||
<th class="text-center" style="width:60px;">No</th>
|
||||
<th style="width:150px;">Tanggal</th>
|
||||
|
|
@ -171,8 +172,7 @@ class="badge badge-{{ $item->jenis_transaksi == 'masuk' ? 'success' : 'danger' }
|
|||
data-jenis="{{ $item->jenis_transaksi }}"
|
||||
data-jumlah="{{ (int) $item->jumlah }}"
|
||||
data-harga="{{ (int) $item->harga_satuan }}"
|
||||
data-harga="{{ $item->harga_satuan }}"
|
||||
data-tanggal="{{ $item->tanggal }}">
|
||||
{{-- data-harga="{{ $item->harga_satuan }}" --}} data-tanggal="{{ $item->tanggal }}">
|
||||
<i class="la la-edit"></i>
|
||||
</button>
|
||||
|
||||
|
|
@ -279,8 +279,12 @@ class="form-control @error('jenis_transaksi') is-invalid @enderror" required>
|
|||
</div>
|
||||
<div class="form-group">
|
||||
<label>Tanggal</label>
|
||||
<input type="date" name="tanggal" class="form-control"
|
||||
<input type="date" name="tanggal"
|
||||
class="form-control @error('tanggal') is-invalid @enderror"
|
||||
value="{{ old('tanggal', date('Y-m-d')) }}" max="{{ date('Y-m-d') }}" required>
|
||||
@error('tanggal')
|
||||
<small class="text-danger">{{ $message }}</small>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Nama Barang</label>
|
||||
|
|
@ -411,18 +415,23 @@ class="form-control @error('jenis_transaksi') is-invalid @enderror" required>
|
|||
|
||||
</select>
|
||||
|
||||
@error('jenis_transaksi')
|
||||
@error('jenis_transaksi', 'edit')
|
||||
<small class="text-danger">{{ $message }}</small>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Tanggal</label>
|
||||
<input type="date" name="tanggal" id="tanggalEdit" class="form-control"
|
||||
max="{{ date('Y-m-d') }}" required>
|
||||
<input type="date" name="tanggal" id="tanggalEdit"
|
||||
class="form-control @error('tanggal') is-invalid @enderror" max="{{ date('Y-m-d') }}"
|
||||
required>
|
||||
@error('tanggal', 'edit')
|
||||
<small class="text-danger">{{ $message }}</small>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Nama Barang</label>
|
||||
<select name="nama_barang" id="namaEdit" class="form-control" required>
|
||||
<select name="nama_barang" id="namaEdit"
|
||||
class="form-control @error('nama_barang') is-invalid @enderror" required>
|
||||
|
||||
<option value="Jagung">Jagung</option>
|
||||
<option value="Katul">Katul</option>
|
||||
|
|
@ -431,6 +440,9 @@ class="form-control @error('jenis_transaksi') is-invalid @enderror" required>
|
|||
<option value="Pakan Starter">Pakan Starter</option>
|
||||
|
||||
</select>
|
||||
@error('nama_barang', 'edit')
|
||||
<small class="text-danger">{{ $message }}</small>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
|
@ -439,7 +451,10 @@ class="form-control @error('jenis_transaksi') is-invalid @enderror" required>
|
|||
<label>Jumlah</label>
|
||||
<input type="number" name="jumlah" id="jumlahEdit" max="999999" min="1"
|
||||
inputmode="numeric" maxlength="6"
|
||||
class="form-control" required>
|
||||
class="form-control @error('jumlah') is-invalid @enderror" required>
|
||||
@error('jumlah', 'edit')
|
||||
<small class="text-danger">{{ $message }}</small>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
|
|
@ -453,8 +468,12 @@ class="form-control" required>
|
|||
<div class="col-md-4 harga-edit">
|
||||
<div class="form-group">
|
||||
<label>Harga Satuan (Rp)</label>
|
||||
<input type="text" name="harga_satuan" id="hargaEdit" class="form-control"
|
||||
<input type="text" name="harga_satuan" id="hargaEdit"
|
||||
class="form-control @error('harga_satuan') is-invalid @enderror"
|
||||
inputmode="numeric" maxlength="12">
|
||||
@error('harga_satuan', 'edit')
|
||||
<small class="text-danger">{{ $message }}</small>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -518,6 +537,7 @@ class="form-control" required>
|
|||
|
||||
<script>
|
||||
const baseUrl = "{{ route('pakan') }}";
|
||||
|
||||
function formatRupiah(angka) {
|
||||
if (!angka) return '';
|
||||
|
||||
|
|
@ -556,9 +576,13 @@ function hitungTambah() {
|
|||
|
||||
if (this.value === 'keluar') {
|
||||
$('.harga-tambah').hide();
|
||||
$('#hargaTambah,#totalTambah').val('');
|
||||
$('#hargaTambah')
|
||||
.val('')
|
||||
.prop('disabled', true);
|
||||
$('#totalTambah').val('');
|
||||
} else {
|
||||
$('.harga-tambah').show();
|
||||
$('#hargaTambah').prop('disabled', false);
|
||||
}
|
||||
|
||||
});
|
||||
|
|
@ -608,7 +632,13 @@ function hitungEdit() {
|
|||
/* modal edit dibuka */
|
||||
$('#modalEditTransaksi').on('show.bs.modal', function(e) {
|
||||
|
||||
// CEK: kalau ada error edit, JANGAN override input
|
||||
let isError = {{ $errors->edit->any() ? 'true' : 'false' }};
|
||||
|
||||
if (isError) return; // STOP di sini, biar pakai old()
|
||||
|
||||
let btn = $(e.relatedTarget);
|
||||
let id = btn.data('id');
|
||||
|
||||
$('#formEditTransaksi').attr('action', baseUrl + '/' + btn.data('id'));
|
||||
|
||||
|
|
@ -632,10 +662,7 @@ function hitungEdit() {
|
|||
let harga = parseInt(btn.data('harga')) || 0;
|
||||
|
||||
$('#hargaEdit').val(harga ? formatRupiah(harga.toString()) : '');
|
||||
// if (harga !== null && harga !== undefined && harga !== '') {
|
||||
// $('#hargaEdit').val(formatRupiah(harga));} else {
|
||||
// $('#hargaEdit').val('');
|
||||
// }
|
||||
|
||||
|
||||
// tanggal
|
||||
$('#tanggalEdit').val(btn.data('tanggal'));
|
||||
|
|
@ -686,15 +713,59 @@ function hitungEdit() {
|
|||
@endif
|
||||
|
||||
|
||||
@if ($errors->any())
|
||||
@if ($errors->any() && !$errors->edit->any())
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
$('#modalTransaksi').modal('show');
|
||||
hitungTambah();
|
||||
|
||||
let jenis = "{{ old('jenis_transaksi') }}";
|
||||
|
||||
if (jenis === 'keluar') {
|
||||
$('.harga-tambah').hide();
|
||||
$('#hargaTambah').prop('disabled', true);
|
||||
} else {
|
||||
$('.harga-tambah').show();
|
||||
$('#hargaTambah').prop('disabled', false);
|
||||
}
|
||||
|
||||
hitungTambah();
|
||||
});
|
||||
</script>
|
||||
@endif
|
||||
|
||||
|
||||
|
||||
@if ($errors->edit->any())
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
let id = "{{ session('edit_id') }}";
|
||||
|
||||
// SET ACTION WAJIB!
|
||||
$('#formEditTransaksi').attr('action', "{{ route('pakan') }}/" + id);
|
||||
|
||||
$('#modalEditTransaksi').modal('show');
|
||||
|
||||
// isi pakai old input
|
||||
$('#jenisEdit').val("{{ old('jenis_transaksi') }}");
|
||||
$('#tanggalEdit').val("{{ old('tanggal') }}");
|
||||
$('#jumlahEdit').val("{{ old('jumlah') }}");
|
||||
|
||||
let nama = "{{ old('nama_barang') }}";
|
||||
$('#namaEdit option').each(function() {
|
||||
if ($(this).val().toLowerCase() === nama.toLowerCase()) {
|
||||
$(this).prop('selected', true);
|
||||
}
|
||||
});
|
||||
|
||||
let harga = "{{ old('harga_satuan') }}";
|
||||
if (harga) {
|
||||
$('#hargaEdit').val(formatRupiah(harga));
|
||||
}
|
||||
|
||||
$('#jenisEdit').trigger('change');
|
||||
hitungEdit();
|
||||
});
|
||||
</script>
|
||||
@endif
|
||||
@endsection
|
||||
|
|
|
|||
Loading…
Reference in New Issue