Add Print Header checkbox for IPD bill printing - allows printing on letterhead
This commit is contained in:
parent
f55d300924
commit
0568851783
|
|
@ -894,11 +894,16 @@ class Ipd extends BaseController
|
|||
$panelData = $this->ipdModel->getIpdPanelInfo($ipdId);
|
||||
|
||||
$mode = max(1, min(6, $mode));
|
||||
|
||||
// Get header parameter from query string (default: show header)
|
||||
$showHeader = $this->request->getGet('header') !== '0';
|
||||
|
||||
$data = $this->buildBillDetailsTabData($panelData, $ipdId);
|
||||
$data['show_print_actions'] = false;
|
||||
$data['show_payment_details'] = in_array($mode, [1, 6], true);
|
||||
$data['letterhead_mode'] = in_array($mode, [5, 6], true);
|
||||
$data['print_mode'] = $mode;
|
||||
$data['show_header'] = $showHeader;
|
||||
|
||||
$html = view('billing/ipd/bill_print', $data);
|
||||
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ $hasBalanceTotal = array_key_exists('balance', $billTotals);
|
|||
|
||||
$printMode = (int) ($print_mode ?? 1);
|
||||
$showPaymentDetails = (bool) ($show_payment_details ?? true);
|
||||
$showHeader = (bool) ($show_header ?? true);
|
||||
|
||||
$hospitalName = defined('H_Name') ? (string) constant('H_Name') : 'Hospital';
|
||||
$hospitalAddress1 = defined('H_address_1') ? (string) constant('H_address_1') : '';
|
||||
|
|
@ -131,6 +132,7 @@ $billHeadingText = $isDischargeFinal
|
|||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<?php if ($showHeader) : ?>
|
||||
<table class="meta-top" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td>Page: {PAGENO}/{nbpg}</td>
|
||||
|
|
@ -161,6 +163,7 @@ $billHeadingText = $isDischargeFinal
|
|||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="title"><?= esc($billHeadingText) ?></div>
|
||||
|
||||
|
|
|
|||
|
|
@ -53,14 +53,37 @@ $billHeaderTitle = $isDischargeFinal ? 'Bill No. : ' . (string) ($ipd->ipd_code
|
|||
<span class="text-muted">/ IPD ID: <?= esc($ipd->ipd_code ?? '') ?></span>
|
||||
</div>
|
||||
<?php if ($showPrintActions && $canPrintBill && ! empty($ipd->id)) : ?>
|
||||
<div class="d-flex flex-wrap gap-2">
|
||||
<a class="btn btn-sm btn-outline-primary" target="_blank" href="<?= site_url('billing/ipd/bill-print/' . (int) $ipd->id . '/1') ?>">Print Bill</a>
|
||||
<a class="btn btn-sm btn-outline-secondary" target="_blank" href="<?= site_url('billing/ipd/bill-print/' . (int) $ipd->id . '/2') ?>">Print Without Payment</a>
|
||||
<a class="btn btn-sm btn-outline-dark" target="_blank" href="<?= site_url('billing/ipd/bill-print/' . (int) $ipd->id . '/5') ?>">Letter Head w/o Payment</a>
|
||||
<a class="btn btn-sm btn-outline-dark" target="_blank" href="<?= site_url('billing/ipd/bill-print/' . (int) $ipd->id . '/6') ?>">Letter Head</a>
|
||||
<a class="btn btn-sm btn-outline-info" target="_blank" href="<?= site_url('billing/ipd/bill-print/' . (int) $ipd->id . '/3') ?>">Item Amt. With Discount</a>
|
||||
<a class="btn btn-sm btn-outline-success" target="_blank" href="<?= site_url('billing/ipd/bill-print/' . (int) $ipd->id . '/4') ?>">TPA Final Bill</a>
|
||||
<div class="d-flex flex-wrap gap-2 align-items-center">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" id="printHeaderCheckbox" checked>
|
||||
<label class="form-check-label" for="printHeaderCheckbox" style="font-size: 0.9rem;">
|
||||
Print Header
|
||||
</label>
|
||||
</div>
|
||||
<a class="btn btn-sm btn-outline-primary ipd-bill-print-btn" data-mode="1" data-ipd-id="<?= (int) $ipd->id ?>" target="_blank">Print Bill</a>
|
||||
<a class="btn btn-sm btn-outline-secondary ipd-bill-print-btn" data-mode="2" data-ipd-id="<?= (int) $ipd->id ?>" target="_blank">Print Without Payment</a>
|
||||
<a class="btn btn-sm btn-outline-dark ipd-bill-print-btn" data-mode="5" data-ipd-id="<?= (int) $ipd->id ?>" target="_blank">Letter Head w/o Payment</a>
|
||||
<a class="btn btn-sm btn-outline-dark ipd-bill-print-btn" data-mode="6" data-ipd-id="<?= (int) $ipd->id ?>" target="_blank">Letter Head</a>
|
||||
<a class="btn btn-sm btn-outline-info ipd-bill-print-btn" data-mode="3" data-ipd-id="<?= (int) $ipd->id ?>" target="_blank">Item Amt. With Discount</a>
|
||||
<a class="btn btn-sm btn-outline-success ipd-bill-print-btn" data-mode="4" data-ipd-id="<?= (int) $ipd->id ?>" target="_blank">TPA Final Bill</a>
|
||||
</div>
|
||||
<script>
|
||||
(function() {
|
||||
const printBtns = document.querySelectorAll('.ipd-bill-print-btn');
|
||||
const checkbox = document.getElementById('printHeaderCheckbox');
|
||||
|
||||
printBtns.forEach(function(btn) {
|
||||
btn.addEventListener('click', function(e) {
|
||||
e.preventDefault();
|
||||
const ipdId = this.getAttribute('data-ipd-id');
|
||||
const mode = this.getAttribute('data-mode');
|
||||
const showHeader = checkbox.checked ? '1' : '0';
|
||||
const url = '<?= site_url("billing/ipd/bill-print/") ?>' + ipdId + '/' + mode + '?header=' + showHeader;
|
||||
window.open(url, '_blank');
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user