update di penjualan invoice
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
$(function(){
|
||||
const esc=v=>$('<div>').text(v==null?'-':v).html(),money=v=>'Rp '+Number(v||0).toLocaleString('id-ID',{minimumFractionDigits:2,maximumFractionDigits:2});
|
||||
const table=$('#tableItems').DataTable({responsive:true,processing:true,serverSide:true,searchDelay:350,ajax:{url:'<?=base_url('items/get_data')?>',data:d=>{d.s='active';d.server=1}},pageLength:25,language:{search:'Cari:',processing:'Memuat data...',lengthMenu:'Tampilkan _MENU_',info:'_START_–_END_ dari _TOTAL_',paginate:{previous:'Sebelumnya',next:'Berikutnya'}}});
|
||||
$(document).on('click','.btn-detail',function(){let id=$(this).data('id');$('#itemDetailBody').html('<div class="inventory-loading"><span class="spinner-border spinner-border-sm"></span> Memuat detail…</div>');bootstrap.Modal.getOrCreateInstance('#itemDetailModal').show();$.get('<?=base_url('items/detail')?>/'+id).done(function(r){let rows=(r.logs||[]).map(x=>'<tr><td>'+esc(x.created_at)+'</td><td>'+esc(x.gudang)+'</td><td><span class="status-chip '+(x.tipe==='masuk'?'status-approved':'status-rejected')+'">'+esc(x.tipe)+'</span></td><td class="text-end">'+Number(x.qty||0).toLocaleString('id-ID',{maximumFractionDigits:4})+'</td><td>'+esc(x.keterangan)+'</td><td>'+esc(x.ref_type)+' #'+esc(x.ref_id)+'</td></tr>').join('');$('#itemDetailBody').html('<div class="document-meta"><span>Kode<strong>'+esc(r.item.kode_detail)+'</strong></span><span>Nama Barang<strong>'+esc(r.item.nama_barang)+'</strong></span><span>Stok<strong>'+Number(r.item.stok||0).toLocaleString('id-ID',{maximumFractionDigits:4})+'</strong></span><span>Harga Beli<strong>'+money(r.item.harga_beli)+'</strong></span><span>Harga Jual<strong>'+money(r.item.harga_jual)+'</strong></span><span>Status<strong><span class="status-chip status-approved">AKTIF</span></strong></span></div><div class="d-flex justify-content-between align-items-center mt-4 mb-2"><h6 class="mb-0">Riwayat Stok</h6><button class="btn btn-sm btn-outline-danger stock-pdf" data-id="'+r.item.id+'"><i class="bi bi-file-earmark-pdf"></i> PDF Audit</button></div><div class="table-responsive"><table class="table inventory-table"><thead><tr><th>Tanggal</th><th>Gudang</th><th>Arah</th><th class="text-end">Qty</th><th>Keterangan</th><th>Sumber</th></tr></thead><tbody>'+rows+'</tbody></table></div>')}).fail(()=>AppAlert.toast('Detail barang tidak dapat dimuat.','error'))});
|
||||
$(document).on('click','.btn-detail',function(){let id=$(this).data('id');$('#itemDetailBody').html('<div class="inventory-loading"><span class="spinner-border spinner-border-sm"></span> Memuat detail…</div>');bootstrap.Modal.getOrCreateInstance('#itemDetailModal').show();$.get('<?=base_url('items/detail')?>/'+id).done(function(r){let rows=(r.logs||[]).map(x=>'<tr><td>'+esc(x.created_at)+'</td><td>'+esc(x.gudang)+'</td><td><span class="status-chip '+(x.tipe==='masuk'?'status-approved':'status-rejected')+'">'+esc(x.tipe)+'</span></td><td class="text-end">'+Number(x.qty||0).toLocaleString('id-ID',{maximumFractionDigits:4})+'</td><td>'+esc(x.keterangan)+'</td><td>'+esc(x.ref_type)+' #'+esc(x.ref_id)+'</td></tr>').join('');$('#itemDetailBody').html('<div class="document-meta"><span>Kode<strong>'+esc(r.item.kode_detail)+'</strong></span><span>Nama Barang<strong>'+esc(r.item.nama_barang)+'</strong></span><span>Stok Tersedia<strong>'+Number(r.item.available_stock||0).toLocaleString('id-ID',{maximumFractionDigits:4})+'</strong></span><span>Dalam Invoice/Reservasi<strong>'+Number(r.item.reserved_stock||0).toLocaleString('id-ID',{maximumFractionDigits:4})+'</strong></span><span>Stok Fisik<strong>'+Number(r.item.physical_stock||0).toLocaleString('id-ID',{maximumFractionDigits:4})+'</strong></span><span>Harga Beli<strong>'+money(r.item.harga_beli)+'</strong></span><span>Harga Jual<strong>'+money(r.item.harga_jual)+'</strong></span><span>Status<strong><span class="status-chip status-approved">AKTIF</span></strong></span></div><div class="d-flex justify-content-between align-items-center mt-4 mb-2"><h6 class="mb-0">Riwayat Stok</h6><button class="btn btn-sm btn-outline-danger stock-pdf" data-id="'+r.item.id+'"><i class="bi bi-file-earmark-pdf"></i> PDF Audit</button></div><div class="table-responsive"><table class="table inventory-table"><thead><tr><th>Tanggal</th><th>Gudang</th><th>Arah</th><th class="text-end">Qty</th><th>Keterangan</th><th>Sumber</th></tr></thead><tbody>'+rows+'</tbody></table></div>')}).fail(()=>AppAlert.toast('Detail barang tidak dapat dimuat.','error'))});
|
||||
$(document).on('click','.stock-pdf',function(){$('#barcodePrintModal .modal-title').text('PDF Kartu Stok');$('#barcodePrintModal iframe').attr('src','<?=base_url('items/stock_log_pdf')?>/'+$(this).data('id'));bootstrap.Modal.getOrCreateInstance(document.getElementById('barcodePrintModal')).show()});
|
||||
$(document).on('click','.btn-print',function(){let id=$(this).data('id');AppAlert.prompt({title:'Cetak Barcode',html:'<label class="form-label d-block text-start">Status barcode</label><select id="printStatus" class="form-select mb-3"><option value="available">Tersedia / Belum Dijual</option><option value="sold_out">Sudah Terjual / Habis</option><option value="all">Semua Status</option></select><label class="form-label d-block text-start">Jumlah kolom</label><select id="printColumn" class="form-select mb-3"><option value="2">2 Kolom</option><option value="3" selected>3 Kolom</option><option value="4">4 Kolom</option></select><label class="form-label d-block text-start">Salinan per barcode</label><input id="printCopies" type="number" min="1" max="20" value="1" class="form-control">',preConfirm:()=>({status:$('#printStatus').val(),column:$('#printColumn').val(),duplicat:$('#printCopies').val()}),confirmButtonText:'Preview'}).then(r=>{if(!r.isConfirmed)return;let url='<?=base_url('items/print_barcode')?>/'+id+'?column='+r.value.column+'&duplicat='+r.value.duplicat+'&status='+encodeURIComponent(r.value.status);$('#barcodePrintModal .modal-title').text('Preview Barcode');$('#barcodePrintModal iframe').attr('src',url);bootstrap.Modal.getOrCreateInstance(document.getElementById('barcodePrintModal')).show()})});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user