Files
2026-07-12 22:10:02 +07:00

204 lines
5.7 KiB
PHP

<!--Lokasi nya : /views/employees/employees.php-->
<div class="container mt-4">
<div class="card modern-card shadow-sm border-0 rounded-4">
<div class="card-body p-4">
<div class="d-flex justify-content-between mb-3">
<h5>Kode Barang</h5>
<button class="btn btn-warning btn-add">Tambah</button>
</div>
<div class="table-responsive">
<table id="tableWarehouse" class="table modern-table align-middle w-100">
<thead class="table-light">
<tr>
<th>No</th>
<th>Kode</th>
<th>Nama</th>
<th>Limit Stok</th>
<th>Tracking Type</th>
<th>Need Serial</th>
<th>Unit</th>
<th>Aksi</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
</div>
<!-- MODAL -->
<div class="modal fade" id="modalKodebarang">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header bg-warning text-white">
<h5 class="modal-title">Kode Barang</h5>
<button class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<input type="hidden" id="id">
<label>Kode Barang</label>
<input type="text" id="kode" class="form-control">
<label>Nama Barang</label>
<input type="text" id="nama" class="form-control">
<label>Limit Stok</label>
<input type="number" id="limit_stock" class="form-control">
<label class="mt-2">Tracking Type</label>
<select id="tracking_type" class="form-control">
<option value="UNIT">UNIT</option>
<option value="QTY">QTY</option>
</select>
<label class="mt-2">Need Serial Number</label>
<select id="need_serial_number" class="form-control">
<option value="false">Tidak</option>
<option value="true">Ya</option>
</select>
<label class="mt-2">Unit</label>
<select id="unit" class="form-control">
<option value="PCS">PCS</option>
<option value="Meter">Meter</option>
<option value="Lembar">Lembar</option>
</select>
</div>
<div class="modal-footer">
<button class="btn btn-secondary" data-bs-dismiss="modal">Batal</button>
<button class="btn btn-warning" id="btnSimpan">Simpan</button>
</div>
</div>
</div>
</div>
<script>
$(function(){
let action = 'add';
let table = $('#tableWarehouse').DataTable({
ajax:{
url:"<?= base_url('kodebarang/get_data'); ?>",
type:"POST"
}
});
function resetForm(){
$('#id').val('');
$('#kode').val('');
$('#nama').val('');
$('#limit_stock').val('');
$('#tracking_type').val('UNIT');
$('#need_serial_number').val('false');
$('#unit').val('PCS');
}
// ADD
$('.btn-add').click(function(){
resetForm();
action = 'add';
$('#modalKodebarang').modal('show');
});
// EDIT
$(document).on('click','.btn-editkode',function(){
let id = $(this).data('id');
$.get("<?= base_url('kodebarang/detail/'); ?>"+id,function(res){
$('#id').val(res.id);
$('#kode').val(res.kode_barang);
$('#nama').val(res.nama);
$('#limit_stock').val(res.limit_stock);
$('#tracking_type').val((res.tracking_type || 'UNIT').toUpperCase());
$('#need_serial_number').val((res.need_serial_number || 'false').toLowerCase());
$('#unit').val(res.unit || 'PCS');
action = 'edit';
$('#modalKodebarang').modal('show');
},'json');
});
// SAVE
$('#btnSimpan').click(function(){
let data = {
id: $('#id').val(),
kode: $('#kode').val(),
nama: $('#nama').val(),
limit_stock: $('#limit_stock').val(),
tracking_type: $('#tracking_type').val(),
need_serial_number: $('#need_serial_number').val(),
unit: $('#unit').val()
};
if(!data.kode || !data.nama){
Swal.fire('Warning','Kode dan nama barang wajib diisi','warning');
return;
}
if(data.limit_stock === '' || parseInt(data.limit_stock) < 0){
Swal.fire('Warning','Limit stok wajib diisi dan tidak boleh negatif','warning');
return;
}
let url = action === 'add'
? "<?= base_url('kodebarang/save'); ?>"
: "<?= base_url('kodebarang/update'); ?>";
$.post(url,data,function(res){
if(res.status){
$('#modalKodebarang').modal('hide');
table.ajax.reload(null,false);
Swal.fire('Sukses',res.message,'success');
} else {
Swal.fire('Error',res.message,'error');
}
},'json');
});
// DELETE
$(document).on('click','.btn-delete',function(){
let id = $(this).data('id');
Swal.fire({
title:'Hapus kode barang?',
text:'Pastikan tidak dipakai item',
icon:'warning',
showCancelButton:true
}).then(r=>{
if(r.isConfirmed){
$.get("<?= base_url('kodebarang/delete/'); ?>"+id,function(res){
if(res.status){
table.ajax.reload(null,false);
Swal.fire('Sukses',res.message,'success');
} else {
Swal.fire('Error',res.message,'error');
}
},'json');
}
});
});
});
</script>