feat: auto-rellenar variable {{name}} con nombre del paciente en nuevo mensaje
Al seleccionar un paciente de la lista, si la plantilla tiene una variable llamada 'name', se pre-rellena automáticamente con su nombre. Si se ingresa un número directo, el campo queda vacío para llenarlo manualmente. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
e88fb4cc86
commit
53dc492b5e
@@ -1038,6 +1038,7 @@ function cancelRecording() {
|
|||||||
const nuevoMensaje = (() => {
|
const nuevoMensaje = (() => {
|
||||||
let _phone = '';
|
let _phone = '';
|
||||||
let _destLabel = '';
|
let _destLabel = '';
|
||||||
|
let _patientName = '';
|
||||||
let _tpl = null;
|
let _tpl = null;
|
||||||
let _buscarTimer = null;
|
let _buscarTimer = null;
|
||||||
|
|
||||||
@@ -1048,7 +1049,7 @@ const nuevoMensaje = (() => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function abrir() {
|
function abrir() {
|
||||||
_phone = ''; _destLabel = ''; _tpl = null;
|
_phone = ''; _destLabel = ''; _patientName = ''; _tpl = null;
|
||||||
document.getElementById('nv-pac-search').value = '';
|
document.getElementById('nv-pac-search').value = '';
|
||||||
document.getElementById('nv-phone-input').value = '';
|
document.getElementById('nv-phone-input').value = '';
|
||||||
document.getElementById('nv-phone-hint').textContent = '';
|
document.getElementById('nv-phone-hint').textContent = '';
|
||||||
@@ -1082,6 +1083,7 @@ const nuevoMensaje = (() => {
|
|||||||
_setDest('', '');
|
_setDest('', '');
|
||||||
}
|
}
|
||||||
// Clear patient selection if typing a phone
|
// Clear patient selection if typing a phone
|
||||||
|
_patientName = '';
|
||||||
document.getElementById('nv-pac-search').value = '';
|
document.getElementById('nv-pac-search').value = '';
|
||||||
document.getElementById('nv-pac-results').innerHTML = '';
|
document.getElementById('nv-pac-results').innerHTML = '';
|
||||||
}
|
}
|
||||||
@@ -1113,6 +1115,7 @@ const nuevoMensaje = (() => {
|
|||||||
div.onclick = () => {
|
div.onclick = () => {
|
||||||
const phone = (p.telefono || '').replace(/\D/g,'');
|
const phone = (p.telefono || '').replace(/\D/g,'');
|
||||||
if (!phone) { alert('Este paciente no tiene teléfono registrado.'); return; }
|
if (!phone) { alert('Este paciente no tiene teléfono registrado.'); return; }
|
||||||
|
_patientName = p.nombre_completo;
|
||||||
_setDest(phone, p.nombre_completo + ' · ' + tel);
|
_setDest(phone, p.nombre_completo + ' · ' + tel);
|
||||||
document.getElementById('nv-pac-search').value = p.nombre_completo;
|
document.getElementById('nv-pac-search').value = p.nombre_completo;
|
||||||
el.innerHTML = '';
|
el.innerHTML = '';
|
||||||
@@ -1177,8 +1180,10 @@ const nuevoMensaje = (() => {
|
|||||||
const row = document.createElement('div');
|
const row = document.createElement('div');
|
||||||
row.className = 'tpl-var-row';
|
row.className = 'tpl-var-row';
|
||||||
const ph = v.example || v.placeholder || v.label;
|
const ph = v.example || v.placeholder || v.label;
|
||||||
|
const varName = (v.placeholder || '').replace(/\{\{|\}\}/g, '').trim();
|
||||||
|
const autoVal = (varName === 'name' && _patientName) ? _patientName : '';
|
||||||
row.innerHTML = `<label>{{${v.index}}} — ${escHtml(v.label)}</label>` +
|
row.innerHTML = `<label>{{${v.index}}} — ${escHtml(v.label)}</label>` +
|
||||||
`<input type="text" data-var-index="${v.index}" data-var-placeholder="${escHtml(v.placeholder || '')}" placeholder="${escHtml(ph)}">`;
|
`<input type="text" data-var-index="${v.index}" data-var-placeholder="${escHtml(v.placeholder || '')}" placeholder="${escHtml(ph)}" value="${escHtml(autoVal)}">`;
|
||||||
varsBody.appendChild(row);
|
varsBody.appendChild(row);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user