feat: mostrar JSON de recepciones paso 2 en preview (expandible)
This commit is contained in:
@@ -289,6 +289,13 @@ async def preview_automation(
|
||||
rda_por_pac = {}
|
||||
for id_rec, filas in grupos.items():
|
||||
cod = str(filas[0].get("COD_PACIENTE", ""))
|
||||
num_fac = str(filas[0].get("NUM_FACTURA") or "").strip()
|
||||
rda_json_prev = generar_rda_paciente(
|
||||
filas, prof_def, esp_def, remis_def, prefijo_def,
|
||||
numero_override=num_fac,
|
||||
contrato_map=contrato_map,
|
||||
sin_contrato_set=sin_contrato_set,
|
||||
)
|
||||
if cod not in rda_por_pac:
|
||||
rda_por_pac[cod] = []
|
||||
rda_por_pac[cod].append({
|
||||
@@ -299,6 +306,7 @@ async def preview_automation(
|
||||
"valor": float(filas[0].get("VALORTOTAL") or 0),
|
||||
"diag": str(filas[0].get("DIAG_PPAL") or ""),
|
||||
"contrato": str(filas[0].get("CODCONTRATO") or "").strip(),
|
||||
"json": rda_json_prev,
|
||||
})
|
||||
|
||||
pacientes_preview = [
|
||||
|
||||
@@ -236,15 +236,20 @@ async function previewAutomation() {
|
||||
showToast('No hay datos para esa fecha', 'warning');
|
||||
} else {
|
||||
table.innerHTML = data.pacientes_preview.map((p, i) => {
|
||||
const rdaRows = p.rda.map(r => `
|
||||
<div class="flex items-center gap-3 px-6 py-1.5 bg-blue-50 border-t border-blue-100 text-xs">
|
||||
<span class="text-blue-400 w-4"><i class="fas fa-flask"></i></span>
|
||||
<span class="font-mono text-blue-700 w-28">${r.factura}</span>
|
||||
<span class="text-blue-600 w-24">${r.fecha}</span>
|
||||
<span class="font-mono bg-blue-100 text-blue-800 px-1.5 py-0.5 rounded w-14 text-center">${r.contrato || '—'}</span>
|
||||
<span class="text-blue-600 w-20">${r.examenes} examen(es)</span>
|
||||
<span class="text-blue-600 flex-1">${r.diag}</span>
|
||||
<span class="text-blue-700 font-medium">$${Number(r.valor).toLocaleString('es-CO')}</span>
|
||||
const rdaRows = p.rda.map((r, j) => `
|
||||
<div class="divide-y divide-blue-100">
|
||||
<div class="flex items-center gap-3 px-6 py-1.5 bg-blue-50 border-t border-blue-100 text-xs cursor-pointer hover:bg-blue-100 select-none"
|
||||
onclick="toggleRdaJson('rda-json-${i}-${j}', this)">
|
||||
<i class="fas fa-chevron-right text-blue-300 text-xs transition-transform duration-150" id="rdachev-${i}-${j}"></i>
|
||||
<span class="text-blue-400 w-4"><i class="fas fa-flask"></i></span>
|
||||
<span class="font-mono text-blue-700 w-28">${r.factura}</span>
|
||||
<span class="text-blue-600 w-24">${r.fecha}</span>
|
||||
<span class="font-mono bg-blue-100 text-blue-800 px-1.5 py-0.5 rounded w-14 text-center">${r.contrato || '—'}</span>
|
||||
<span class="text-blue-600 w-20">${r.examenes} examen(es)</span>
|
||||
<span class="text-blue-600 flex-1">${r.diag}</span>
|
||||
<span class="text-blue-700 font-medium">$${Number(r.valor).toLocaleString('es-CO')}</span>
|
||||
</div>
|
||||
<div id="rda-json-${i}-${j}" class="hidden bg-gray-900 text-green-300 text-xs font-mono p-4 overflow-x-auto whitespace-pre">${JSON.stringify(r.json, null, 2)}</div>
|
||||
</div>`).join('');
|
||||
return `
|
||||
<div class="divide-y divide-gray-100">
|
||||
@@ -364,6 +369,14 @@ function toggleRda(id, row) {
|
||||
if (chev) chev.style.transform = hidden ? 'rotate(90deg)' : '';
|
||||
}
|
||||
|
||||
function toggleRdaJson(id, row) {
|
||||
const div = document.getElementById(id);
|
||||
const chev = row.querySelector('[id^="rdachev-"]');
|
||||
const hidden = div.classList.contains('hidden');
|
||||
div.classList.toggle('hidden', !hidden);
|
||||
if (chev) chev.style.transform = hidden ? 'rotate(90deg)' : '';
|
||||
}
|
||||
|
||||
function togglePs(id, row) {
|
||||
const div = document.getElementById(id);
|
||||
const chev = row.querySelector('[id^="pschev-"]');
|
||||
|
||||
Reference in New Issue
Block a user