Files
accounting_dev_v2/application/views/invoices/index.php
T
2026-09-12 01:45:03 +07:00

30 lines
3.8 KiB
PHP

<?php $p=$permissions;$csrfName=$this->security->get_csrf_token_name();$csrfHash=$this->security->get_csrf_hash(); ?>
<link rel="stylesheet" href="<?=base_url('assets/css/invoices-professional.css').'?v='.filemtime(FCPATH.'assets/css/invoices-professional.css')?>">
<section class="invoice-workspace">
<header class="invoice-hero">
<div><span>SIKLUS PENJUALAN</span><h2>Invoice Penjualan</h2><p>Kelola tagihan customer, pengiriman barang bila diperlukan, dan penerimaan pembayaran.</p></div>
<?php if($p['create']):?><a class="btn btn-primary" href="<?=base_url('invoices/create')?>"><i class="bi bi-plus-lg"></i> Buat Invoice</a><?php endif?>
</header>
<?php $this->load->view('sales/_section_nav',array('sales_section'=>'invoice','sales_summary'=>$summary)); ?>
<div class="invoice-metrics">
<article><small>Penjualan bulan ini</small><strong>Rp <?=number_format($summary['month_sales'],2,',','.')?></strong></article>
<article><small>Invoice belum lunas</small><strong><?=$summary['open_invoice']?></strong><span><?=$summary['overdue']?> sudah jatuh tempo</span></article>
<article><small>Draft / approval</small><strong><?=$summary['draft']?></strong><span>Memerlukan tindakan</span></article>
<article><small>Pengiriman Draft</small><strong><?=$summary['delivery']?></strong><span>Belum mengurangi stok</span></article>
</div>
<div class="card invoice-list-card">
<div class="card-header"><div><b>Daftar Invoice</b><small>Gunakan filter untuk menemukan invoice tanpa memuat seluruh data.</small></div><button class="btn btn-sm btn-outline-secondary" id="toggleInvoiceFilters"><i class="bi bi-funnel"></i> Filter</button></div>
<div class="invoice-filters" id="invoiceFilters">
<div><label>Status proses</label><select class="form-select" id="filterWorkflow"><option value="">Semua</option><option value="draft">Draft</option><option value="submitted">Menunggu Approval</option><option value="posted">Posted</option></select></div>
<div><label>Status pembayaran</label><select class="form-select" id="filterPayment"><option value="">Semua</option><option value="unpaid">Belum Lunas</option><option value="partial">Sebagian</option><option value="paid">Lunas</option></select></div>
<div><label>Jatuh tempo</label><select class="form-select" id="filterDue"><option value="">Semua</option><option value="not_due">Belum jatuh tempo</option><option value="overdue">Sudah jatuh tempo</option></select></div>
<div><label>Dari tanggal</label><input class="form-control" type="date" id="filterFrom"></div><div><label>Sampai tanggal</label><input class="form-control" type="date" id="filterTo"></div>
<div class="filter-action"><button class="btn btn-primary" id="applyInvoiceFilter">Terapkan</button><button class="btn btn-light" id="resetInvoiceFilter">Reset</button></div>
</div>
<div class="table-responsive"><table class="table align-middle w-100" id="invoiceTable"><thead><tr><th>Invoice / Customer</th><th>Jatuh Tempo</th><th>Pengakuan</th><th class="text-end">Total</th><th class="text-end">Terbayar</th><th class="text-end">Sisa</th><th>Status</th><th>Pengiriman</th><th>Dibuat oleh</th><th>Aksi</th></tr></thead></table></div>
</div>
</section>
<div class="modal fade" id="invoicePdfModal" tabindex="-1"><div class="modal-dialog modal-xl modal-dialog-centered"><div class="modal-content"><div class="modal-header"><h5 class="modal-title">Pratinjau Invoice</h5><button class="btn-close" data-bs-dismiss="modal"></button></div><div class="modal-body p-0"><iframe title="Pratinjau Invoice"></iframe></div></div></div></div>
<script>window.INVOICE_PAGE=<?=json_encode(array('base'=>base_url(),'mode'=>'list','csrfName'=>$csrfName,'csrfHash'=>$csrfHash,'permissions'=>$p),JSON_UNESCAPED_SLASHES)?>;</script>
<script src="<?=base_url('assets/js/invoices-professional.js').'?v='.filemtime(FCPATH.'assets/js/invoices-professional.js')?>"></script>