Files
accounting_dev_v2/application/views/items/layout.php
T
2026-09-11 16:03:00 +07:00

14 lines
5.8 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php $inventory_title='Daftar Barang Aktif';$inventory_subtitle='Barang yang sudah siap dijual, digunakan, atau dikeluarkan melalui dokumen stok.';$this->load->view('inventory_professional/_module_nav',get_defined_vars());?>
<section class="inventory-card"><div class="inventory-card-head"><div><h5>Barang Siap Digunakan</h5><p>Barcode dan serial barang aktif tidak dapat diubah. Pengeluaran dibuat melalui Operasional Stok.</p></div><a href="<?=base_url('inventoryprofessional/operations')?>" class="btn btn-primary"><i class="bi bi-arrow-left-right"></i> Operasional Stok</a></div><div class="table-responsive"><table id="tableItems" class="table inventory-table align-middle w-100 mb-0"><thead><tr><th>No</th><th>Tanggal Beli</th><th>Kode</th><th>Barang</th><th>Gudang</th><th>Barcode / Stok</th><th>Harga Beli</th><th>Harga Jual</th><th>Dibuat</th><th>Aksi</th></tr></thead></table></div></section>
<div class="modal fade inventory-modal" id="itemDetailModal" tabindex="-1"><div class="modal-dialog modal-dialog-centered modal-xl"><div class="modal-content"><div class="modal-header"><div><small class="text-muted">AUDIT BARANG</small><h5 class="modal-title">Detail Barang</h5></div><button class="btn-close" data-bs-dismiss="modal"></button></div><div class="modal-body" id="itemDetailBody"></div><div class="modal-footer"><button class="btn btn-light" data-bs-dismiss="modal">Tutup</button></div></div></div></div>
<div class="modal fade inventory-modal" id="barcodePrintModal" tabindex="-1"><div class="modal-dialog modal-dialog-centered modal-xl"><div class="modal-content"><div class="modal-header"><h5 class="modal-title">Preview Barcode</h5><button class="btn-close" data-bs-dismiss="modal"></button></div><div class="modal-body p-0" style="height:min(82vh,900px)"><iframe title="Preview Barcode" style="width:100%;height:100%;border:0"></iframe></div></div></div></div>
<script>
$(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','.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()})});
});
</script>