PageSourceSearch

https://www.aethcv.org/assets/personas._id.imprimir-9dGDi561.js

js aethcv.org collected 2026-10-09 23:26:35 UTC 6,285 bytes, 4 lines download raw bytes

1import{a1 as j,r as u,j as e,L as g,s as n}from"./index-DCBqB4_O.js";import{u as d}from"./useQuery-WtJ-970-.js";function y(){const{id:s}=j.useParams(),r=d({queryKey:["imp-persona",s],queryFn:async()=>(await n.from("personas").select("*").eq("id",s).single()).data}),o=d({queryKey:["imp-exp",s],queryFn:async()=>(await n.from("expedientes_medicos").select("*").eq("persona_id",s).maybeSingle()).data}),l=d({queryKey:["imp-trasp",s],queryFn:async()=>(await n.from("trasplantes").select("*").eq("persona_id",s).order("fecha_trasplante",{ascending:!1})).data??[]}),m=d({queryKey:["imp-trat",s],queryFn:async()=>(await n.from("tratamientos").select("*").eq("persona_id",s).order("fecha_inicio",{ascending:!1})).data??[]}),p=d({queryKey:["imp-cons",s],queryFn:async()=>(await n.from("consentimientos").select("*").eq("persona_id",s).order("fecha_otorgamiento",{ascending:!1})).data??[]}),x=d({queryKey:["imp-notas",s],queryFn:async()=>(await n.from("notas_profesionales").select("*").eq("persona_id",s).order("created_at",{ascending:!1})).data??[]}),h=!r.isLoading&&!o.isLoading&&!l.isLoading&&!m.isLoading&&!p.isLoading&&!x.isLoading;if(u.useEffect(()=>{if(h&&r.data){const a=setTimeout(()=>window.print(),400);return()=>clearTimeout(a)}},[h,r.data]),!h)return e.jsx("p",{className:"text-slate-500 p-8",children:"Preparando ficha…"});if(!r.data)return e.jsx("p",{className:"text-red-600 p-8",children:"No se pudo cargar la persona."});const t=r.data;return e.jsxs("div",{className:"max-w-4xl mx-auto bg-white p-8 print:p-0",children:[e.jsx("style",{children:`
2        @media print { .no-print { display: none !important; } body { background: white !important; } }
3        @page { margin: 18mm; }
4      `}),e.jsxs("div",{className:"no-print mb-4 flex gap-3",children:[e.jsx(g,{to:"/admin/personas/$id",params:{id:s},className:"text-sm text-blue-600 hover:underline",children:"← Volver"}),e.jsx("button",{onClick:()=>window.print(),className:"text-sm bg-blue-600 text-white px-3 py-1 rounded",children:"Imprimir / PDF"})]}),e.jsxs("header",{className:"border-b-2 border-slate-800 pb-3 mb-6",children:[e.jsx("div",{className:"text-xs uppercase tracking-wider text-slate-500",children:"AETHCV · Ficha completa"}),e.jsxs("h1",{className:"text-2xl font-bold text-slate-900 mt-1",children:[t.apellidos,", ",t.nombre]}),e.jsx("div",{className:"text-sm text-slate-600 font-mono",children:t.expediente}),e.jsxs("div",{className:"text-xs text-slate-500 mt-1",children:["Generado ",new Date().toLocaleString("es-ES")," · CONFIDENCIAL"]})]}),e.jsxs(c,{title:"Datos personales",children:[e.jsx(i,{k:"Documento",v:`${t.documento_tipo??"—"} ${t.documento_numero??""}`}),e.jsx(i,{k:"Fecha de nacimiento",v:t.fecha_nacimiento??"—"}),e.jsx(i,{k:"Sexo",v:t.sexo??"—"}),e.jsx(i,{k:"Teléfono",v:t.telefono??"—"}),e.jsx(i,{k:"Email",v:t.email??"—"}),e.jsx(i,{k:"Dirección",v:`${t.direccion??""} ${t.codigo_postal??""} ${t.localidad??""} ${t.provincia??""}`.trim()||"—"}),e.jsx(i,{k:"Estado",v:t.estado??"—"}),e.jsx(i,{k:"Roles",v:(t.roles??[]).join(", ")||"—"})]}),o.data&&e.jsxs(c,{title:"Expediente médico",children:[e.jsx(i,{k:"Diagnóstico principal",v:o.data.diagnostico_principal??"—"}),e.jsx(i,{k:"Otros diagnósticos",v:o.data.otros_diagnosticos??"—"}),e.jsx(i,{k:"Grupo sanguíneo",v:o.data.grupo_sanguineo??"—"}),e.jsx(i,{k:"Alergias",v:o.data.alergias??"—"}),e.jsx(i,{k:"Hospital referencia",v:o.data.hospital_referencia??"—"}),e.jsx(i,{k:"Médico referencia",v:o.data.medico_referencia??"—"})]}),l.data&&l.data.length>0&&e.jsx(c,{title:"Trasplantes",children:l.data.map(a=>e.jsxs("div",{className:"mb-2 text-sm",children:[e.jsxs("div",{className:"font-semibold",children:[a.fecha_trasplante," · ",a.tipo_organo??"hígado"]}),e.jsxs("div",{className:"text-slate-600 text-xs",children:["Hospital: ",a.hospital??"—"," · Próxima revisión: ",a.proxima_revision??"—"]})]},a.id))}),m.data&&m.data.length>0&&e.jsx(c,{title:"Tratamientos",children:e.jsxs("table",{className:"w-full text-xs border-t border-slate-300",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"text-left",children:[e.jsx("th",{className:"py-1 pr-2",children:"Fármaco"}),e.jsx("th",{className:"py-1 pr-2",children:"Dosis"}),e.jsx("th",{className:"py-1 pr-2",children:"Inicio"}),e.jsx("th",{className:"py-1 pr-2",children:"Fin"})]})}),e.jsx("tbody",{children:m.data.map(a=>e.jsxs("tr",{className:"border-t border-slate-100",children:[e.jsx("td",{className:"py-1 pr-2",children:a.farmaco}),e.jsx("td",{className:"py-1 pr-2",children:a.dosis??"—"}),e.jsx("td",{className:"py-1 pr-2",children:a.fecha_inicio??"—"}),e.jsx("td",{className:"py-1 pr-2",children:a.fecha_fin??"—"})]},a.id))})]})}),p.data&&p.data.length>0&&e.jsx(c,{title:"Consentimientos",children:p.data.map(a=>e.jsxs("div",{className:"text-xs mb-1",children:[e.jsx("span",{className:"font-semibold",children:a.tipo})," ·"," ",a.otorgado&&!a.fecha_revocacion?"activo":a.fecha_revocacion?"revocado":"denegado"," ·"," ","otorgado ",new Date(a.fecha_otorgamiento).toLocaleDateString("es-ES"),a.metodo&&` · ${a.metodo}`]},a.id))}),x.data&&x.data.length>0&&e.jsx(c,{title:"Notas profesionales",children:x.data.map(a=>e.jsxs("div",{className:"mb-2 text-xs border-l-2 border-slate-300 pl-2",children:[e.jsxs("div",{className:"text-slate-500",children:[new Date(a.created_at).toLocaleStr
4ing("es-ES")," · ",a.area]}),e.jsx("div",{children:a.contenido})]},a.id))}),e.jsx("footer",{className:"mt-8 pt-3 border-t border-slate-300 text-[10px] text-slate-500 leading-relaxed",children:"Documento confidencial protegido por el RGPD y la LOPDGDD 3/2018. Contiene datos de categoría especial (salud). Prohibida su reproducción o difusión no autorizada. Ejerza sus derechos en [email protected]."})]})}function c({title:s,children:r}){return e.jsxs("section",{className:"mb-5 break-inside-avoid",children:[e.jsx("h2",{className:"text-sm font-bold uppercase tracking-wide text-slate-700 border-b border-slate-300 pb-1 mb-2",children:s}),e.jsx("div",{className:"grid grid-cols-2 gap-x-6 gap-y-1",children:r})]})}function i({k:s,v:r}){return e.jsxs("div",{className:"text-xs",children:[e.jsxs("span",{className:"text-slate-500",children:[s,": "]}),e.jsx("span",{className:"text-slate-900",children:r||"—"})]})}export{y as component};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.