Remove duplicate old medicine form code causing null reference error
- Removed old code referencing non-existent field IDs (#new_drug_name, etc.) - Fixed 'medInput is null' JavaScript error - Kept only new implementation with correct IDs (#discharge_med_name, etc.) - Cleaned up normalizeRxShortCode and unused event listeners - Fix console error: Uncaught TypeError: can't access property addEventListener
This commit is contained in:
parent
66b5e1b6a5
commit
fdc6ae352b
|
|
@ -3852,59 +3852,13 @@ $allergyStatusNoKnown = in_array($allergyStatusNormalized, ['no known drug aller
|
|||
return;
|
||||
}
|
||||
|
||||
var suggestRows = [];
|
||||
var rxGroupCache = [];
|
||||
var medInput = section.querySelector('#new_drug_name');
|
||||
var medSuggest = section.querySelector('#discharge_med_suggest');
|
||||
var medType = section.querySelector('#new_drug_type');
|
||||
var medWhen = section.querySelector('#new_drug_when');
|
||||
var medFreq = section.querySelector('#new_drug_freq');
|
||||
var rxGroupInput = section.querySelector('#selected_rx_group_id');
|
||||
var rxGroupName = section.querySelector('#rx_group_selected_name');
|
||||
var rxGroupList = document.getElementById('discharge_rx_group_list');
|
||||
var rxGroupSearch = document.getElementById('discharge_rx_group_search');
|
||||
var applyBtn = section.querySelector('#btn_apply_rx_group');
|
||||
|
||||
function normalizeRxShortCode(raw, kind) {
|
||||
var v = String(raw || '').trim();
|
||||
if (v === '') {
|
||||
return '';
|
||||
}
|
||||
|
||||
var key = v.replace(/\./g, '').replace(/\s+/g, '').toUpperCase();
|
||||
if (kind === 'when') {
|
||||
var whenMap = {
|
||||
'BEFOREFOOD': 'BF',
|
||||
'BFOOD': 'BF',
|
||||
'BF': 'BF',
|
||||
'AF': 'AF',
|
||||
'AFOOD': 'AF',
|
||||
'AFTERFOOD': 'AF',
|
||||
'WF': 'WF',
|
||||
'WFOOD': 'WF',
|
||||
'WITHFOOD': 'WF'
|
||||
};
|
||||
return whenMap[key] || key;
|
||||
}
|
||||
|
||||
var freqMap = {
|
||||
'OD': 'OD',
|
||||
'QD': 'OD',
|
||||
'ONCEDAILY': 'OD',
|
||||
'BD': 'BD',
|
||||
'BID': 'BD',
|
||||
'TWICEDAILY': 'BD',
|
||||
'TDS': 'TDS',
|
||||
'TID': 'TDS',
|
||||
'THRICEDAILY': 'TDS',
|
||||
'HS': 'HS',
|
||||
'QHS': 'HS',
|
||||
'QID': 'QID',
|
||||
'SOS': 'SOS'
|
||||
};
|
||||
return freqMap[key] || key;
|
||||
}
|
||||
|
||||
function setMedicineStatus(text, level) {
|
||||
setSectionStatus('discharge_medicine_status', text, level || 'muted');
|
||||
}
|
||||
|
|
@ -3943,83 +3897,6 @@ $allergyStatusNoKnown = in_array($allergyStatusNormalized, ['no known drug aller
|
|||
});
|
||||
}
|
||||
|
||||
medInput.addEventListener('input', function() {
|
||||
var q = String(medInput.value || '').trim();
|
||||
if (q.length < 2) {
|
||||
return;
|
||||
}
|
||||
|
||||
$.get('<?= base_url('Opd_prescription/medicine_search') ?>?q=' + encodeURIComponent(q) + '&scope=active', function(data) {
|
||||
suggestRows = (data && data.rows) ? data.rows : [];
|
||||
var html = '';
|
||||
suggestRows.forEach(function(row) {
|
||||
var name = String(row.med_name || '').trim();
|
||||
if (name === '') {
|
||||
return;
|
||||
}
|
||||
html += '<option value="' + $('<div>').text(name).html() + '"></option>';
|
||||
});
|
||||
if (medSuggest) {
|
||||
medSuggest.innerHTML = html;
|
||||
}
|
||||
}, 'json');
|
||||
});
|
||||
|
||||
medInput.addEventListener('change', function() {
|
||||
var value = String(medInput.value || '').trim().toUpperCase();
|
||||
if (value === '') {
|
||||
return;
|
||||
}
|
||||
|
||||
var matched = null;
|
||||
suggestRows.forEach(function(row) {
|
||||
if (String(row.med_name || '').trim().toUpperCase() === value) {
|
||||
matched = row;
|
||||
}
|
||||
});
|
||||
|
||||
if (matched && medType && String(medType.value || '').trim() === '') {
|
||||
medType.value = String(matched.med_type || '').trim();
|
||||
}
|
||||
});
|
||||
|
||||
section.querySelectorAll('.rx-quick-btn').forEach(function(btn) {
|
||||
btn.addEventListener('click', function() {
|
||||
var targetId = String(btn.getAttribute('data-fill-target') || '').trim();
|
||||
var value = String(btn.getAttribute('data-fill-value') || '').trim();
|
||||
var target = targetId ? section.querySelector('#' + targetId) : null;
|
||||
if (target) {
|
||||
if (targetId === 'new_drug_when') {
|
||||
target.value = normalizeRxShortCode(value, 'when');
|
||||
} else if (targetId === 'new_drug_freq') {
|
||||
target.value = normalizeRxShortCode(value, 'freq');
|
||||
} else {
|
||||
target.value = value;
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
if (medWhen && medWhen.dataset.shortBound !== '1') {
|
||||
medWhen.dataset.shortBound = '1';
|
||||
medWhen.addEventListener('blur', function() {
|
||||
medWhen.value = normalizeRxShortCode(medWhen.value, 'when');
|
||||
});
|
||||
medWhen.addEventListener('change', function() {
|
||||
medWhen.value = normalizeRxShortCode(medWhen.value, 'when');
|
||||
});
|
||||
}
|
||||
|
||||
if (medFreq && medFreq.dataset.shortBound !== '1') {
|
||||
medFreq.dataset.shortBound = '1';
|
||||
medFreq.addEventListener('blur', function() {
|
||||
medFreq.value = normalizeRxShortCode(medFreq.value, 'freq');
|
||||
});
|
||||
medFreq.addEventListener('change', function() {
|
||||
medFreq.value = normalizeRxShortCode(medFreq.value, 'freq');
|
||||
});
|
||||
}
|
||||
|
||||
var openRxBtn = section.querySelector('#btn_open_rx_group_modal');
|
||||
if (openRxBtn) {
|
||||
openRxBtn.addEventListener('click', function() {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user