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

797 lines
27 KiB
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>Data Asset</h5>
<div class="text-end">
<button class="btn btn-add bg-success btn-from-stock mr-2">Dari Gudang</button>
<button class="btn btn-add bg-warning btn-add-asset">Tambah Asset</button>
</div>
</div>
<div class="table-responsive">
<table id="tableAsset" class="table modern-table w-100">
<thead>
<tr>
<th>No</th>
<th>Tanggal</th>
<th style="min-width: 80px;">Kode</th>
<th style="min-width: 80px;">Nama</th>
<th>Lokasi Asset</th>
<th style="max-width: 150px;">Keterangan</th>
<th>Nilai</th>
<th>Masa</th>
<th>Susut/Bulan</th>
<th>Create</th>
<th>Aksi</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
</div>
<!-- MODAL TAMBAH ASSET -->
<div class="modal fade" id="modalAsset">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header bg-warning text-white">
<h5 id="modalTitleAsset">Tambah Asset</h5>
</div>
<div class="modal-body">
<input type="hidden" id="id_asset">
<label class="mt-2">Akun Asset (Debit)</label>
<select id="account_asset" class="form-control"></select>
<label class="mt-2">Akun Kas (Kredit)</label>
<select id="account_kas" class="form-control"></select>
<label class="mt-2">Lokasi Aset</label>
<select id="lokasi_asset" class="form-control"></select>
<label>Nama Asset</label>
<input type="text" id="nama_asset" class="form-control">
<label class="mt-2">Keterangan</label>
<textarea rows="3" id="keterangan" class="form-control"></textarea>
<!-- <input type="text" id="keterangan" class="form-control"> -->
<label class="mt-2">Harga</label>
<input type="text" id="harga" class="form-control format-rupiah">
<label class="mt-2">Tanggal</label>
<input type="date" id="tanggal" class="form-control">
<hr>
<label>Masa Manfaat (bulan)</label>
<input type="number" id="masa" class="form-control">
<label>Nilai Residu</label>
<input type="text" id="residu" class="form-control format-rupiah">
<label>Penyusutan / bulan</label>
<input type="text" id="susut" class="form-control format-rupiah" readonly>
</div>
<div class="modal-footer">
<button class="btn btn-warning" id="btnSave">Simpan</button>
</div>
</div>
</div>
</div>
<!-- MODAL EDIT ASSET -->
<div class="modal fade" id="modalEditAsset">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header bg-primary text-white">
<h5>Edit Asset</h5>
</div>
<div class="modal-body">
<input type="hidden" id="edit_id">
<label>Nama Asset</label>
<input type="text" id="edit_nama" class="form-control">
<label class="mt-2">Lokasi Aset</label>
<select id="edit_lokasi_asset" class="form-control"></select>
<label class="mt-2">Keterangan</label>
<!-- <input type="text" id="edit_keterangan" class="form-control"> -->
<textarea rows="3" id="edit_keterangan" class="form-control"></textarea>
</div>
<div class="modal-footer">
<button class="btn btn-primary" id="btnUpdate">Update</button>
</div>
</div>
</div>
</div>
<!-- MODAL DETAIL & HISTORY -->
<div class="modal fade" id="modalDetail">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header bg-info text-white">
<h5>Detail & History Asset</h5>
</div>
<div class="modal-body">
<div id="detailContent"></div>
<hr>
<h6>History Perubahan:</h6>
<div class="table-responsive">
<table class="table table-sm" id="tableHistory">
<thead>
<tr>
<th>Tanggal</th>
<th>Tipe</th>
<th>Nilai</th>
<th>Keterangan</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<!-- MODAL DARI GUDANG -->
<div class="modal fade" id="modalAssetStock">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header bg-success text-white">
<h5>Tambah Asset dari Gudang</h5>
</div>
<div class="modal-body">
<input type="hidden" id="s_item_id">
<!-- <input type="hidden" id="s_harga"> -->
<label class="mt-2">Akun Asset (Debit)</label>
<select id="s_account_asset" class="form-control"></select>
<label class="mt-2">Lokasi Aset</label>
<select id="s_lokasi_asset" class="form-control"></select>
<label>Pilih Barang</label>
<select id="s_item" class="form-control select-search"></select>
<div class="mb-2 d-none" id="wrap_barcode_select">
<label for="barcode_select" class="form-label">Barcode / QR ID</label>
<select id="barcode_select" class="form-control select-search"></select>
</div>
<div id="stokSisaQty"></div>
<label class="mt-2">Harga Barang</label>
<input type="text" id="s_harga" class="form-control format-rupiah" disabled>
<div class="mb-0 d-none" id="wrap_qty">
<label class="mt-2">Qty</label>
<input type="number" id="s_qty" placeholder="1" class="form-control">
<label class="mt-2">Total Harga</label>
<input type="text" id="s_total_harga" class="form-control format-rupiah" disabled>
</div>
<label class="mt-2">Tanggal</label>
<input type="date" id="s_tanggal" class="form-control">
<label class="mt-2">Keterangan</label>
<textarea rows="3" id="s_keterangan" class="form-control"></textarea>
<!-- <input type="text" id="s_keterangan" class="form-control"> -->
<hr>
<label>Masa Manfaat (bulan)</label>
<input type="number" id="s_masa" class="form-control">
<label>Nilai Residu</label>
<input type="text" id="s_residu" class="form-control format-rupiah">
<label>Penyusutan / bulan</label>
<input type="text" id="s_susut" class="form-control format-rupiah" readonly>
</div>
<div class="modal-footer">
<button class="btn btn-success" id="btnSaveStock">Simpan</button>
</div>
</div>
</div>
</div>
<!-- MODAL DELETE -->
<div class="modal fade" id="modalDelete">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header bg-danger text-white">
<h5>Hapus Asset</h5>
</div>
<div class="modal-body">
<input type="hidden" id="delete_id">
<label>Pilih Alasan:</label>
<select id="delete_alasan" class="form-control">
<option value="dijual_untung">Dijual (Untung)</option>
<option value="dijual_rugi">Dijual (Rugi)</option>
<option value="dihapus">Dihapus</option>
</select>
<label class="mt-2">Keterangan:</label>
<textarea id="delete_keterangan" class="form-control" rows="3" placeholder="Alasan detail penghapusan..."></textarea>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Batal</button>
<button type="button" class="btn btn-danger" id="btnConfirmDelete">Hapus</button>
</div>
</div>
</div>
</div>
<!-- MODAL DARI STOCK (SAMA) -->
<div class="modal fade" id="modalAssetStock">
<!-- sama seperti sebelumnya, tidak diubah -->
</div>
<script>
$(function(){
let action = 'add';
let table = $('#tableAsset').DataTable({
ajax:"<?= base_url('asset/get_data'); ?>"
});
// ================= HELPER =================
function formatRupiah(angka){
if(!angka) return '';
return angka.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
}
function parseNumber(val){
return parseInt((val || '').toString().replace(/\D/g,'')) || 0;
}
function setSelectValue(selector, value){
setTimeout(()=>{
$(selector).val(value).trigger('change');
}, 200);
}
// ================= LOAD SELECTS =================
function loadKas(selected = null){
$.get("<?= base_url('asset/get_accounts_kas'); ?>",res=>{
let opt='<option value="">-- PILIH KAS --</option>';
res.forEach(i=>{
let sel = (selected && selected == i.id) ? 'selected' : '';
opt += `<option value="${i.id}" ${sel}>${i.nama_akun}</option>`;
});
$('#account_kas').html(opt);
},'json');
}
function loadAsset(selected = null){
$.get("<?= base_url('asset/get_accounts_asset'); ?>",res=>{
let optAsset='<option value="">-- PILIH AKUN ASET --</option>';
res.forEach(i=>{
let sel = (selected && selected == i.id) ? 'selected' : '';
optAsset += `<option value="${i.id}" ${sel}>${i.nama_akun}</option>`;
});
$('#account_asset, #s_account_asset').html(optAsset);
},'json');
}
function loadLokasiAsset(selected = null){
$.get("<?= base_url('asset/get_lokasi_asset'); ?>",res=>{
let opt='<option value="">-- PILIH LOKASI --</option>';
res.forEach(i=>{
let sel = (selected && selected == i.id) ? 'selected' : '';
opt += `<option value="${i.id}" ${sel}>${i.nama}</option>`;
});
$('#lokasi_asset, #edit_lokasi_asset, #s_lokasi_asset').html(opt);
},'json');
}
// ================= LOAD ITEMS =================
function loadItems(){
$.get("<?= base_url('asset/get_items'); ?>",res=>{
let opt='<option value="">-- PILIH BARANG --</option>';
res.forEach(i=>{
opt += `<option value="${i.id}" data-id="${i.id}" data-harga="${i.harga_beli}" data-stok="${i.stok}" data-nama="${i.nama_barang}" data-type="${i.tracking_type}">
${i.kode_detail} - ${i.nama_barang} - ( Stok: ${i.stok})
</option>`;
});
$('#s_item').html(opt);
},'json');
}
// ================= HITUNG PENYUSUTAN MANUAL =================
function hitungSusut(){
let harga = parseInt($('#harga').val().replace(/\D/g,'')) || 0;
let residu = parseInt($('#residu').val().replace(/\D/g,'')) || 0;
let masa = parseInt($('#masa').val()) || 1;
let maxResidu = harga / 100 * 80;
if (residu > maxResidu) {
residu = maxResidu;
$('#residu').val(maxResidu).trigger('input');
}
let susut = (harga - residu) / masa;
susut = Math.max(0, susut);
$('#susut').val(susut);
}
// ================= LOAD BARCODE ITEMS =================
// function loadItemBarcodes(item_id){
// return $.get("<?= base_url('items/get_list_barcode_id/'); ?>" + item_id, function(res){
// if(res && res.length){
// let opt = '<option value="">Pilih Item</option>';
// res.forEach(i=>{
// opt += `<option value="${i.barcode_id}">
// ${i.nama_barang} - ${i.barcode} - ${i.serial_number}
// </option>`;
// });
// $('#barcode_select').html(opt);
// $('#wrap_barcode_select').removeClass('d-none');
// } else {
// $('#wrap_barcode_select').addClass('d-none');
// }
// }, 'json');
// }
function loadItemBarcodes(item_id, selectedBarcode = null){
return $.get("<?= base_url('items/get_list_barcode_id/'); ?>" + item_id, function(res){
if(res && res.length){
let opt = '<option value="">Pilih Barcode</option>';
res.forEach(i=>{
opt += `
<option value="${i.barcode_id}" data-qty_sisa="${i.qty_sisa}">
${i.nama_barang} - ${i.barcode} - ${i.serial_number}
</option>
`;
});
$('#barcode_select').html(opt);
if(selectedBarcode){
$('#barcode_select').val(selectedBarcode);
}
$('#wrap_barcode_select').removeClass('d-none');
// setMode('item');
}else{
$('#wrap_barcode_select').addClass('d-none');
// setMode('manual');
}
},'json');
}
$('#masa, #residu, #harga').on('keyup change',hitungSusut);
function hitungSusutStock(){
let trackingType = ($('#s_item option:selected').data('type') || '').toString().trim().toUpperCase();
let hargaDasar = trackingType === 'QTY' ? parseNumber($('#s_total_harga').val()) : parseNumber($('#s_harga').val());
let residu = parseNumber($('#s_residu').val());
let masa = parseInt($('#s_masa').val()) || 1;
let maxResidu = hargaDasar / 100 * 80;
if (residu > maxResidu) {
residu = maxResidu;
$('#s_residu').val(maxResidu).trigger('input');
}
let susut = (hargaDasar - residu) / masa;
susut = Math.max(0, susut);
$('#s_susut').val(susut);
}
$('#s_masa, #s_residu').on('keyup change', hitungSusutStock);
// ================= TAMBAH ASSET MANUAL =================
$('.btn-add-asset').click(function(){
action='add';
$('#modalTitleAsset').text('Tambah Asset');
$('#modalAsset input[type="text"], #modalAsset input[type="date"], #modalAsset input[type="number"], #modalAsset select').val('');
$('#id_asset').val('');
$('#stokSisaQty').html('');
loadKas(); loadAsset(); loadLokasiAsset();
$('#modalAsset').modal('show');
});
// ================= DETAIL & HISTORY =================
$(document).on('click','.btn-detail',function(){
let id = $(this).data('id');
$.get("<?= base_url('asset/detail/'); ?>"+id, function(asset){
$('#detailContent').html(`
<div class="row">
<div class="col-md-6">
<table class="table table-borderless table-sm">
<tr>
<td width="45%"><strong>Kode Asset</strong></td>
<td>: <strong>${asset.kode_asset || '-'}</strong></td>
</tr>
<tr>
<td><strong>Nama Asset</strong></td>
<td>: <strong>${asset.nama_asset}</strong></td>
</tr>
<tr>
<td><strong>Lokasi</strong></td>
<td>: <strong>${asset.nama_lokasi || '-'}</strong></td>
</tr>
<tr>
<td><strong>Harga/Unit</strong></td>
<td>: <strong>Rp ${formatRupiah(asset.harga_per_unit)}</strong></td>
</tr>
<tr>
<td><strong>Qty</strong></td>
<td>: <strong>${asset.qty}</strong></td>
</tr>
<tr>
<td><strong>Nilai Perolehan</strong></td>
<td>: <strong>Rp ${formatRupiah(asset.nilai_perolehan)}</strong></td>
</tr>
</table>
</div>
<div class="col-md-6">
<table class="table table-borderless table-sm">
<tr>
<td width="45%"><strong>Akumulasi Penyusutan</strong></td>
<td>: <strong>Rp ${formatRupiah(asset.akumulasi_penyusutan || 0)}</strong></td>
</tr>
<tr>
<td><strong>Nilai Buku</strong></td>
<td>: <strong>Rp ${formatRupiah(asset.nilai_buku)}</strong></td>
</tr>
<tr>
<td><strong>Masa Manfaat</strong></td>
<td>: <strong>${asset.masa_manfaat} bulan</strong></td>
</tr>
<tr>
<td><strong>Sumber</strong></td>
<td>: <strong>${asset.sumber}</strong></td>
</tr>
<tr>
<td><strong>Keterangan</strong></td>
<td>: <strong>${asset.keterangan || '-'}</strong></td>
</tr>
</table>
</div>
</div>
`);
// Load history
$.get("<?= base_url('asset/get_history/'); ?>"+id, function(history){
let rows = '';
if(history.length === 0){
rows = '<tr><td colspan="5" class="text-center">Belum ada history</td></tr>';
}else{
history.forEach(h=>{
let badgeClass = h.tipe=='perolehan' ? 'bg-success' :
h.tipe=='penambahan' ? 'bg-info' :
h.tipe=='pengurangan' ? 'bg-warning' : 'bg-secondary';
rows += `<tr>
<td>${h.tanggal_dibuat}</td>
<td><span class="badge ${badgeClass}">${h.tipe}</span></td>
<td>Rp ${formatRupiah(h.nilai || 0)}</td>
<td>${h.keterangan}</td>
</tr>`;
});
}
$('#tableHistory tbody').html(rows);
},'json');
$('#modalDetail').modal('show');
},'json');
});
// ================= EDIT ASSET =================
$(document).on('click','.btn-edit',function(){
let id = $(this).data('id');
$.get("<?= base_url('asset/detail/'); ?>"+id,function(res){
$('#edit_id').val(res.id);
$('#edit_nama').val(res.nama_asset);
$('#edit_keterangan').val(res.keterangan || '');
loadLokasiAsset(res.lokasi_asset_id);
$('#modalEditAsset').modal('show');
},'json');
});
// ================= UPDATE ASSET =================
$('#btnUpdate').click(function(){
let btn = $(this);
let data = {
id: $('#edit_id').val(),
nama_asset: $('#edit_nama').val(),
lokasi_asset: $('#edit_lokasi_asset').val(),
keterangan: $('#edit_keterangan').val()
};
if(!data.nama_asset){
Swal.fire('Error','Nama asset wajib diisi','error');
return;
}
btn.prop('disabled', true).html('Menyimpan...');
$.post("<?= base_url('asset/update'); ?>", data, function(res){
if(res.status){
$('#modalEditAsset').modal('hide');
table.ajax.reload(null,false);
Swal.fire('Berhasil','Asset berhasil diupdate','success');
}
},'json').always(()=>{
btn.prop('disabled', false).html('Update');
});
});
// ================= DELETE =================
$(document).on('click','.btn-delete',function(){
let id = $(this).data('id');
$('#delete_id').val(id);
$('#delete_keterangan').val('');
$('#modalDelete').modal('show');
});
$('#btnConfirmDelete').click(function(){
let btn = $(this);
let keterangan = $('#delete_keterangan').val().trim();
if(!keterangan){
Swal.fire('Error','Keterangan wajib diisi','error');
return;
}
let data = {
id: $('#delete_id').val(),
alasan: $('#delete_alasan').val(),
keterangan: keterangan
};
btn.prop('disabled', true).html('Menghapus...');
$.post("<?= base_url('asset/delete'); ?>", data, function(res){
if(res.status){
$('#modalDelete').modal('hide');
table.ajax.reload(null,false);
Swal.fire('Berhasil','Asset berhasil dihapus','success');
}
},'json').always(()=>{
btn.prop('disabled', false).html('Hapus');
});
});
// ================= SAVE ASSET MANUAL =================
$('#btnSave').click(function(){
let btn = $(this);
let data = {
id: $('#id_asset').val(),
nama_asset: $('#nama_asset').val(),
harga: $('#harga').val(),
tanggal: $('#tanggal').val(),
masa: $('#masa').val(),
residu: $('#residu').val(),
account_kas: $('#account_kas').val(),
account_asset: $('#account_asset').val(),
lokasi_asset: $('#lokasi_asset').val(),
keterangan: $('#keterangan').val()
};
// Validasi
if(!data.nama_asset || !data.harga || !data.tanggal || !data.account_kas || !data.account_asset){
Swal.fire('Error','Semua field wajib diisi','error');
return;
}
btn.prop('disabled', true).html('Menyimpan...');
let url = action==='add' ? "<?= base_url('asset/save'); ?>" : "<?= base_url('asset/update'); ?>";
$.post(url, data, function(res){
if(res.status){
$('#modalAsset').modal('hide');
table.ajax.reload(null,false);
Swal.fire({icon:'success',title:'Berhasil',timer:1500,showConfirmButton:false});
}
},'json').always(()=>{
btn.prop('disabled', false).html('Simpan');
});
});
// ================= FROM STOCK =================
function resetStockForm(){
$('#modalAssetStock input[type="text"], #modalAssetStock input[type="date"], #modalAssetStock input[type="number"], #modalAssetStock select').val('');
$('#s_item_id, #s_harga, #s_total_harga, #s_susut, #s_keterangan').val('');
$('#s_qty').val(1);
$('#stokSisaQty').html('');
$('#wrap_qty').addClass('d-none');
$('#wrap_barcode_select').removeClass('d-none');
$('#barcode_select').html('<option value="">Loading...</option>');
}
$('.btn-from-stock').click(function(){
resetStockForm();
loadItems();
loadAsset();
loadLokasiAsset();
$('#modalAssetStock').modal('show');
});
$('#barcode_select').on('change', function(){
let selectedItem = $('#s_item option:selected');
let type = (selectedItem.data('type') || '').toString().trim().toUpperCase();
let selected = $(this).find(':selected');
let qty_sisa = parseFloat(selected.data('qty_sisa')) || 0;
if($(this).val()){
$('#stokSisaQty').html('<h6 class="text-success ml-4">Stok : ' + qty_sisa + '</h6><hr>');
}else{
$('#stokSisaQty').html('');
}
// perlakuan qty setelah barcode dipilih, berdasarkan tracking_type
if(type === 'UNIT'){
$('#stokSisaQty').html('');
$('#wrap_qty').addClass('d-none');
$('#s_qty').removeAttr('max').val(1);
$('#s_total_harga').val(parseNumber($('#s_harga').val()));
hitungSusutStock();
}else{
$('#wrap_qty').removeClass('d-none');
$('#s_qty').attr('min', 1).attr('max', qty_sisa > 0 ? qty_sisa : 1).val('');
$('#s_total_harga').val('');
}
});
$('#s_item').on('change', function(){
let selected = $(this).find(':selected');
let item_id = selected.data('id');
let type = selected.data('type');
let harga = parseInt(selected.data('harga')) || 0;
let stok = parseFloat(selected.data('stok')) || 0;
$('#s_item_id').val(item_id || '');
$('#s_harga').val(harga);
$('#s_total_harga').val(harga);
$('#stokSisaQty').html('');
$('#s_qty').val(1).removeAttr('max');
$('#wrap_qty').addClass('d-none');
$('#wrap_barcode_select').addClass('d-none');
$('#barcode_select').html('<option value="">Pilih Barcode</option>');
if(!item_id){
return;
}
let normalizedType = (type || '').toString().trim().toUpperCase();
// barcode tetap harus muncul untuk ITEM maupun QTY
loadItemBarcodes(item_id, null).done(function(res){
if(res && res.length){
$('#wrap_barcode_select').removeClass('d-none');
}else{
$('#wrap_barcode_select').addClass('d-none');
$('#barcode_select').html('<option value="">Barcode tidak tersedia</option>');
}
// sebelum pilih barcode: qty & total belum ditentukan
$('#wrap_qty').addClass('d-none');
$('#s_qty').removeAttr('max').val('');
$('#s_total_harga').val('');
}).fail(function(){
$('#wrap_barcode_select').addClass('d-none');
$('#barcode_select').html('<option value="">Gagal load barcode</option>');
$('#wrap_qty').addClass('d-none');
$('#s_qty').removeAttr('max').val('');
$('#s_total_harga').val('');
});
});
$('#s_qty').on('keyup change',function(){
let selectedItem = $('#s_item option:selected');
let type = (selectedItem.data('type') || '').toString().trim().toUpperCase();
let qtyRaw = $('#s_qty').val();
let qty = parseInt(qtyRaw);
let harga = parseNumber($('#s_harga').val());
let max = parseFloat($('#s_qty').attr('max')) || 0;
if(type === 'UNIT'){
$('#wrap_qty').addClass('d-none');
$('#s_qty').val(1);
$('#s_total_harga').val(harga);
return;
}
if(!qtyRaw || isNaN(qty) || qty < 1){
$('#s_total_harga').val('');
return;
}
if(max > 0 && qty > max){
qty = max;
Swal.fire('Warning','Stok tidak cukup! Max: ' + max,'warning');
}
let total = harga * qty;
$('#s_qty').val(qty);
$('#s_total_harga').val(total);
hitungSusutStock();
});
// ================= SAVE FROM STOCK =================
$('#btnSaveStock').click(function(){
let btn = $(this);
let trackingType = ($('#s_item option:selected').data('type') || '').toString().trim().toUpperCase();
let maxQty = parseFloat($('#s_qty').attr('max')) || 0;
let qtyRaw = $('#s_qty').val();
let qty = parseInt(qtyRaw);
if(trackingType === 'UNIT'){
qty = 1;
}else{
if(!qtyRaw || isNaN(qty) || qty < 1){
Swal.fire('Error','Qty wajib diisi untuk item tracking QTY','error');
return;
}
if(maxQty > 0 && qty > maxQty){
Swal.fire('Error','Qty melebihi stok tersedia','error');
return;
}
}
let data = {
item_id: $('#s_item').val(),
s_tanggal: $('#s_tanggal').val(),
s_masa: $('#s_masa').val(),
s_residu: $('#s_residu').val(),
s_lokasi_asset: $('#s_lokasi_asset').val(),
account_asset: $('#s_account_asset').val(),
s_keterangan: $('#s_keterangan').val(),
barcode_id: $('#barcode_select').val(),
qty: qty
};
// Validasi
if(!data.item_id || !data.s_tanggal || !data.account_asset || !data.s_lokasi_asset){
Swal.fire('Error','Item, tanggal, akun asset, dan lokasi wajib diisi','error');
return;
}
if(!data.barcode_id){
Swal.fire('Error','Barcode wajib dipilih','error');
return;
}
if(trackingType === 'UNIT'){
data.qty = 1;
}
btn.prop('disabled', true).html('Menyimpan...');
$.post("<?= base_url('asset/save_from_stock'); ?>",data,function(res){
if(res.status){
$('#modalAssetStock').modal('hide');
table.ajax.reload(null,false);
Swal.fire({
icon:'success',
title:'Berhasil!',
text:'Asset dari gudang berhasil dibuat',
timer:2000,
showConfirmButton:false
});
}else{
Swal.fire('Error',res.message,'error');
}
},'json').always(()=>{
btn.prop('disabled', false).html('Simpan');
});
});
});
</script>