Update Master Komoditas & Varietas

This commit is contained in:
2026-07-14 22:34:38 +07:00
parent 66fc7227e6
commit 857da1e900
6 changed files with 29 additions and 27 deletions
@@ -27,10 +27,14 @@ class KomoditasController extends Controller
public function store(Request $request)
{
// dd($request->all());
$validator = Validator::make($request->all(), [
'nama' => ['required', 'string', 'max:255', 'unique:master_komoditas,nama'], // Tambah unique biar nggak ada data kembar
'nama' => ['required', 'string', 'max:255', 'unique:master_komoditas,nama'],
'kode' => ['required', 'string', 'max:2', 'unique:master_komoditas,kode'],
], [
'nama.unique' => 'Nama komoditas ini sudah ada di database.'
'nama.unique' => 'Nama komoditas ini sudah ada di database.',
'kode.unique' => 'Kode komoditas ini sudah ada di database.',
'kode.max' => 'Kode komoditas maksimal 2 Digit.'
]);
if ($validator->fails()) {
@@ -39,6 +43,7 @@ class KomoditasController extends Controller
Komoditas::create([
'nama' => $request->nama,
'kode' => $request->kode,
'created_by' => auth()->id(),
'updated_by' => auth()->id(),
]);
@@ -56,8 +61,11 @@ class KomoditasController extends Controller
{
$validator = Validator::make($request->all(), [
'nama' => ['required', 'string', 'max:255', 'unique:master_komoditas,nama,' . $id],
'kode' => ['required', 'string', 'max:2', 'unique:master_komoditas,kode'],
], [
'nama.unique' => 'Nama komoditas ini sudah digunakan.'
'nama.unique' => 'Nama komoditas ini sudah ada di database.',
'kode.unique' => 'Kode komoditas ini sudah ada di database.',
'kode.max' => 'Kode komoditas maksimal 2 Digit.'
]);
if ($validator->fails()) {
@@ -66,8 +74,9 @@ class KomoditasController extends Controller
$komoditas = Komoditas::findOrFail($id);
$komoditas->update([
'nama' => $request->nama,
'updated_by' => auth()->id(),
'nama' => $request->nama,
'kode' => $request->kode,
'updated_by' => auth()->id(),
]);
return response()->json(['status' => 'success', 'message' => 'Komoditas berhasil diupdate.']);
@@ -8,7 +8,11 @@
@csrf
<div class="mb-4 form-control-validation">
<label class="form-label" for="add-nama">Nama Komoditas<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="add-nama" name="nama" placeholder="Cth: Padi Sabrang" />
<input type="text" class="form-control" id="add-nama" name="nama" placeholder="Cth: Kopi" />
</div>
<div class="mb-4 form-control-validation">
<label class="form-label" for="add-kode">Kode Komoditas<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="add-kode" name="kode" placeholder="Cth: KP" />
</div>
<div class="mt-4">
<button type="submit" class="btn btn-primary me-sm-3 me-1 data-submit">Simpan</button>
@@ -13,6 +13,10 @@
<label class="form-label" for="edit-nama">Nama Komoditas<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="edit-nama" name="nama" />
</div>
<div class="mb-4 form-control-validation">
<label class="form-label" for="edit-kode">Kode Komoditas<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="edit-kode" name="kode" />
</div>
<div class="mt-4">
<button type="submit" class="btn btn-primary me-sm-3 me-1 data-submit">Update</button>
<button type="reset" class="btn btn-label-secondary" data-bs-dismiss="offcanvas">Batal</button>
@@ -144,6 +144,7 @@
if (res.status === 'success') {
$('#edit-id').val(res.data.id);
$('#edit-nama').val(res.data.nama);
$('#edit-kode').val(res.data.kode);
if (typeof fvEdit !== 'undefined') fvEdit.resetForm();
offcanvasEdit.show();
}
@@ -166,6 +167,7 @@
$btn.removeClass('disabled');
if (res.status === 'success') {
$('#view-nama').val(res.data.nama);
$('#view-kode').val(res.data.kode);
offcanvasView.show();
}
}).fail((xhr) => {
@@ -9,6 +9,10 @@
<label class="form-label" for="view-nama">Nama Komoditas</label>
<input type="text" class="form-control bg-lighter" id="view-nama" readonly />
</div>
<div class="mb-4">
<label class="form-label" for="view-kode">Kode Komoditas</label>
<input type="text" class="form-control bg-lighter" id="view-kode" readonly />
</div>
<div class="mt-4">
<button type="button" class="btn btn-label-secondary d-grid w-100" data-bs-dismiss="offcanvas">Tutup</button>
</div>
@@ -47,27 +47,6 @@
</div>
</div>
<div class="col-sm-6 col-md-4 col-xl-3">
<div class="card shadow-sm border-0 h-100">
<div class="card-body p-4">
<div class="d-flex justify-content-between">
<div>
<span class="text-muted d-block mb-2">Titik Penanaman</span>
<h2 class="mb-0 fw-bold text-dark" style="font-size: 2.5rem;">
{{ number_format($totalTitikTanam, 0, ',', '.') }}
</h2>
</div>
<div>
<div class="d-flex align-items-center justify-content-center bg-label-warning text-warning" style="width: 56px; height: 56px; border-radius: 12px;">
<i class="ti tabler-map-pin" style="font-size: 1.8rem;"></i>
</div>
</div>
</div>
<small class="text-muted d-block mt-3">Distribusi lahan aktif</small>
</div>
</div>
</div>
</div>
<div class="card">