diff --git a/conversations.php b/conversations.php index 06ca766..ff87670 100644 --- a/conversations.php +++ b/conversations.php @@ -6686,13 +6686,27 @@ if (!isUserLoggedIn()) {
-
-
+
+
-
-

- +
+ +
+
+ +
+
+ +
+
@@ -6975,6 +6989,9 @@ const labDomicilio = (() => { $('labdom-hist-cont').classList.add('d-none'); $('labdom-hist-chips').innerHTML = ''; $('labdom-header-pac').textContent = ''; + if ($('labdom-pac-nombre')) $('labdom-pac-nombre').value = ''; + if ($('labdom-pac-cedula')) $('labdom-pac-cedula').value = ''; + if ($('labdom-pac-tipodoc')) $('labdom-pac-tipodoc').value = 'CC'; // Resetear tipo cliente a "particular" por defecto const tc = document.getElementById('tc-particular'); if (tc) tc.checked = true; @@ -7117,6 +7134,8 @@ const labDomicilio = (() => { data-dir="${escAtr(p.direccion||'')}" data-ciudad="${escAtr(p.ciudad||'')}" data-info="${escAtr((p.tipo_documento||'') + ' ' + (p.numero_documento||''))}" + data-tipodoc="${escAtr(p.tipo_documento||'')}" + data-numdoc="${escAtr(p.numero_documento||'')}" data-tel="${escAtr(p.telefono||'')}" data-email="${escAtr(p.email||'')}" data-eps="${escAtr(p.eps||'')}" @@ -7138,24 +7157,32 @@ const labDomicilio = (() => { btn.dataset.dir, btn.dataset.ciudad, btn.dataset.info, - btn.dataset.tel || '', - btn.dataset.email || '', - btn.dataset.eps || '', - btn.dataset.fnac || '' + btn.dataset.tel || '', + btn.dataset.email || '', + btn.dataset.eps || '', + btn.dataset.fnac || '', + btn.dataset.tipodoc || '', + btn.dataset.numdoc || '' ); }, - selPaciente(id, nombre, direccion, ciudad, info, tel = '', email = '', eps = '', fechaNac = '') { + selPaciente(id, nombre, direccion, ciudad, info, tel = '', email = '', eps = '', fechaNac = '', tipoDoc = '', numDoc = '') { _pacienteId = id; _pacNombre = nombre; + // Extraer tipo/num del campo 'info' como fallback si no se pasan explícitamente + const _infoMatch = (info||'').match(/^([A-Z]+)\s*(.*)/); + const _tipoFinal = tipoDoc || (_infoMatch?.[1] || 'CC'); + const _numFinal = numDoc || (_infoMatch?.[2]?.trim() || ''); + // Ocultar buscador, mostrar tarjeta $('labdom-pac-list').style.display = 'none'; $('labdom-pac-buscar').classList.add('d-none'); $('labdom-pac-card').classList.remove('d-none'); $('labdom-btn-cambiar-pac').classList.remove('d-none'); - $('labdom-pac-nombre').textContent = nombre; - $('labdom-pac-info').textContent = info || ''; + if ($('labdom-pac-nombre')) $('labdom-pac-nombre').value = nombre; + if ($('labdom-pac-cedula')) $('labdom-pac-cedula').value = _numFinal; + if ($('labdom-pac-tipodoc')) $('labdom-pac-tipodoc').value = _tipoFinal; $('labdom-header-pac').textContent = nombre; // Mostrar datos de contacto @@ -7197,6 +7224,9 @@ const labDomicilio = (() => { $('labdom-header-pac').textContent = ''; if ($('labdom-pac-fnac')) $('labdom-pac-fnac').value = ''; if ($('labdom-pac-correo')) $('labdom-pac-correo').value = ''; + if ($('labdom-pac-nombre')) $('labdom-pac-nombre').value = ''; + if ($('labdom-pac-cedula')) $('labdom-pac-cedula').value = ''; + if ($('labdom-pac-tipodoc')) $('labdom-pac-tipodoc').value = 'CC'; // Mantener dirección/notas para no perder lo escrito }, @@ -7247,7 +7277,9 @@ const labDomicilio = (() => { d.paciente.telefono || '', d.paciente.email || '', d.paciente.eps || '', - d.paciente.fecha_nacimiento || '' + d.paciente.fecha_nacimiento || '', + d.paciente.tipo_documento || '', + d.paciente.numero_documento || '' ); return; } @@ -7337,13 +7369,23 @@ const labDomicilio = (() => { const d = await r.json(); if (d.success) { - // Actualizar datos del paciente (fecha nacimiento / correo) si se completaron - const updFnac = fv('labdom-pac-fnac'); - const updCorreo = fv('labdom-pac-correo'); - if (_pacienteId && (updFnac || updCorreo)) { + // Actualizar _pacNombre si el usuario editó el nombre en el input + const _editedNombre = fv('labdom-pac-nombre'); + if (_editedNombre) _pacNombre = _editedNombre; + + // Actualizar datos del paciente (nombre, cédula, fecha nacimiento, correo) + const updFnac = fv('labdom-pac-fnac'); + const updCorreo = fv('labdom-pac-correo'); + const updNombre = fv('labdom-pac-nombre'); + const updCedula = fv('labdom-pac-cedula'); + const updTipodoc = $('labdom-pac-tipodoc')?.value || ''; + if (_pacienteId && (updFnac || updCorreo || updNombre || updCedula)) { const patch = { id: _pacienteId }; - if (updFnac) patch.fecha_nacimiento = updFnac; - if (updCorreo) patch.email = updCorreo; + if (updFnac) patch.fecha_nacimiento = updFnac; + if (updCorreo) patch.email = updCorreo; + if (updNombre) patch.nombre_completo = updNombre; + if (updCedula) patch.numero_documento = updCedula; + if (updTipodoc) patch.tipo_documento = updTipodoc; fetch('api/lab/save_paciente.php', { method: 'POST', headers: { 'Content-Type': 'application/json' }, @@ -7440,7 +7482,7 @@ const labDomicilio = (() => { getPacienteId() { return _pacienteId || 0; }, getPacienteNombre() { const el = document.getElementById('labdom-pac-nombre'); - return el ? el.textContent.trim() : ''; + return el ? (el.value !== undefined ? el.value.trim() : el.textContent.trim()) : ''; }, /* ───────────────────────────────────────────────────────────────── @@ -7473,8 +7515,8 @@ const labDomicilio = (() => { newOrderFile: _newOrderFile, cardVisible: !document.getElementById('labdom-pac-card')?.classList.contains('d-none'), pacInfo: { - nombre: document.getElementById('labdom-pac-nombre')?.textContent || '', - info: document.getElementById('labdom-pac-info')?.textContent || '', + nombre: document.getElementById('labdom-pac-nombre')?.value || '', + info: [document.getElementById('labdom-pac-tipodoc')?.value, document.getElementById('labdom-pac-cedula')?.value].filter(Boolean).join(' ') || '', tel: document.getElementById('labdom-pac-tel')?.textContent || '', email: document.getElementById('labdom-pac-email')?.textContent || '', eps: document.getElementById('labdom-pac-eps')?.textContent || '', @@ -7487,7 +7529,8 @@ const labDomicilio = (() => { 'labdom-ciudad','labdom-indicaciones','labdom-examenes','labdom-notas', 'labdom-seguro-nombre','labdom-autorizacion','labdom-copago', 'labdom-valor-domicilio','labdom-valor-copago','labdom-pac-fnac', - 'labdom-pac-correo','labdom-pac-busq'].forEach(id => { + 'labdom-pac-correo','labdom-pac-busq','labdom-pac-nombre','labdom-pac-cedula', + 'labdom-pac-tipodoc'].forEach(id => { const el = document.getElementById(id); if (el) sesion.fields[id] = el.value; }); @@ -7566,7 +7609,8 @@ const labDomicilio = (() => { 'labdom-ciudad','labdom-indicaciones','labdom-examenes','labdom-notas', 'labdom-seguro-nombre','labdom-autorizacion','labdom-copago', 'labdom-valor-domicilio','labdom-valor-copago','labdom-pac-fnac', - 'labdom-pac-correo','labdom-pac-busq'].forEach(id => { + 'labdom-pac-correo','labdom-pac-busq','labdom-pac-nombre','labdom-pac-cedula', + 'labdom-pac-tipodoc'].forEach(id => { const el = document.getElementById(id); if (el && f[id] !== undefined) el.value = f[id]; }); @@ -7580,8 +7624,7 @@ const labDomicilio = (() => { $('labdom-pac-buscar')?.classList.add('d-none'); $('labdom-pac-card')?.classList.remove('d-none'); $('labdom-btn-cambiar-pac')?.classList.remove('d-none'); - if ($('labdom-pac-nombre')) $('labdom-pac-nombre').textContent = sesion.pacInfo.nombre; - if ($('labdom-pac-info')) $('labdom-pac-info').textContent = sesion.pacInfo.info; + if ($('labdom-pac-nombre')) $('labdom-pac-nombre').value = sesion.pacInfo.nombre || f['labdom-pac-nombre'] || ''; if ($('labdom-header-pac')) $('labdom-header-pac').textContent = sesion.pacNombre; if ($('labdom-pac-tel')) $('labdom-pac-tel').textContent = sesion.pacInfo.tel; if ($('labdom-pac-email')) $('labdom-pac-email').textContent = sesion.pacInfo.email;