From 298647b80b04f69190deed7c0096dc1b96357820 Mon Sep 17 00:00:00 2001 From: DevSoftTech Server Date: Tue, 26 May 2026 13:07:46 +0530 Subject: [PATCH] fix(pharmacy): finalize product page panel toggle and GST selector behavior --- app/Controllers/Medical.php | 6 ++ app/Views/medical/drug_master_list.php | 74 +++++++++++------ app/Views/medical/product_edit.php | 106 ++++++++++++++++++++++--- 3 files changed, 154 insertions(+), 32 deletions(-) diff --git a/app/Controllers/Medical.php b/app/Controllers/Medical.php index bffe214..9ebd089 100644 --- a/app/Controllers/Medical.php +++ b/app/Controllers/Medical.php @@ -6850,6 +6850,11 @@ class Medical extends BaseController $categories = $this->db->table('med_product_cat_master')->orderBy('med_cat_desc', 'ASC')->get()->getResult(); } + $gstRates = []; + if ($this->db->tableExists('med_gst_per')) { + $gstRates = $this->db->table('med_gst_per')->orderBy('gst_per', 'ASC')->get()->getResult(); + } + $selectedCatIds = []; if ($productId > 0 && $this->db->tableExists('med_product_cat_assign')) { $catRows = $this->db->table('med_product_cat_assign') @@ -6865,6 +6870,7 @@ class Medical extends BaseController 'med_formulation' => $formulations, 'med_company' => $companies, 'med_product_cat_master' => $categories, + 'med_gst_per' => $gstRates, 'selected_cat_ids' => $selectedCatIds, ]); } diff --git a/app/Views/medical/drug_master_list.php b/app/Views/medical/drug_master_list.php index dbd48aa..758d178 100644 --- a/app/Views/medical/drug_master_list.php +++ b/app/Views/medical/drug_master_list.php @@ -15,22 +15,23 @@ - - -
- - - - - - - - - - - - -
Prod. IDNameFormulationGeneric NamePacking TypeAction
+
+
+ + + + + + + + + + + + +
Prod. IDNameFormulationGeneric NamePacking TypeAction
+
+
@@ -72,17 +73,26 @@ $form.off('submit').on('submit', function (event) { event.preventDefault(); + if (window.showDrugMasterListPanel) { + window.showDrugMasterListPanel(); + } dt.ajax.reload(); }); $('#btnResetSearch').off('click').on('click', function () { $('#txtsearch').val(''); + if (window.showDrugMasterListPanel) { + window.showDrugMasterListPanel(); + } dt.search('').ajax.reload(); }); $('#txtsearch').off('keypress').on('keypress', function (event) { if (event.which === 13) { event.preventDefault(); + if (window.showDrugMasterListPanel) { + window.showDrugMasterListPanel(); + } dt.ajax.reload(); } }); @@ -98,20 +108,38 @@ })(); // Keep add/edit forms inside the Drug Master shell so the search form stays visible. +window.showDrugMasterListPanel = function () { + var $listPanel = $('#drug-master-list-panel'); + var $subPanel = $('#drug-master-sub-panel'); + + if ($listPanel.length && $subPanel.length) { + $subPanel.hide(); + $listPanel.show(); + } +}; + window.openDrugMasterSubView = function (url, title) { - var $sub = $('#sub-main-pharmacy'); - if ($sub.length) { - $sub.show(); - load_form_div(url, 'sub-main-pharmacy', title || 'Drug Master :Pharmacy'); + var $root = $('#sub-main-pharmacy'); + var $listPanel = $('#drug-master-list-panel'); + var $subPanel = $('#drug-master-sub-panel'); + + if ($root.length && $subPanel.length) { + $listPanel.hide(); + $subPanel.show(); + load_form_div(url, 'drug-master-sub-panel', title || 'Drug Master :Pharmacy'); return; } load_form_div(url, 'medical-main', title || 'Drug Master :Pharmacy'); }; window.closeDrugMasterSubView = function () { - var $sub = $('#sub-main-pharmacy'); - if ($sub.length) { - $sub.hide().empty(); + var $root = $('#sub-main-pharmacy'); + var $listPanel = $('#drug-master-list-panel'); + var $subPanel = $('#drug-master-sub-panel'); + + if ($root.length && $subPanel.length) { + $subPanel.hide().empty(); + $listPanel.show(); if (window.reloadDrugMasterList) { window.reloadDrugMasterList(); } diff --git a/app/Views/medical/product_edit.php b/app/Views/medical/product_edit.php index 0031f47..3a8956a 100644 --- a/app/Views/medical/product_edit.php +++ b/app/Views/medical/product_edit.php @@ -22,6 +22,7 @@ $abdmDrugDisplay = (string) ($product->abdm_drug_display ?? ''); $abdmDrugGeneric = (string) ($product->abdm_drug_generic ?? ''); $abdmDrugPayloadJson = (string) ($product->abdm_drug_payload_json ?? ''); $abdmDrugLastSyncedAt = (string) ($product->abdm_drug_last_synced_at ?? ''); +$gstRates = $med_gst_per ?? []; $flag = static function ($v): string { return ((int) $v === 1) ? 'checked' : ''; @@ -119,11 +120,35 @@ $flag = static function ($v): string {
- +
- +
@@ -173,15 +198,40 @@ $flag = static function ($v): string {