PageSourceSearch

https://www.wiim.immo/_nuxt/DAub4axX.js

js wiim.immo collected 2026-10-09 22:59:19 UTC 116,018 bytes, 1 lines download raw bytes

1import{p as f,f as le,q as m,e as Ir,y as Or,x as Br,h as ht,D as Ur,c as o,b as h,w as P,l as e,S as ta,d,a,k as i,t as n,z as st,n as S,F as x,r as V,i as O,A as nt,G as ze,j as we,v as wt,_ as Yr,o as l,H as Hr,I as Ea,m as ja,K as Fa}from"./D8644rYh.js";import{_ as Jr,a as Gr}from"./yZNsPphC.js";import Kr from"./BlUlAP2D.js";import{_ as Wr}from"./BA4VewZY.js";import{u as Qr,a as Zr,c as Ct,A as Xr,b as es,e as ts,_ as as,d as rs,f as ss,g as ns,h as ls}from"./0dVjMXq1.js";import{_ as os}from"./Dx_Ou25x.js";import{_ as is}from"./VNt4kOpX.js";import{q as ds,a as us}from"./BYlkZDYV.js";import{s as cs}from"./CPBtFdCm.js";import{u as ps,a as E}from"./umGG1dom.js";import{u as ms}from"./MRLRowXz.js";import"./C0MyQmIZ.js";import"./B0xMgou7.js";import"./DUENPg0U.js";import"./9n0BSYke.js";import"./Dlpu38Pq.js";import"./DlAUqK2U.js";function bs(te,N,q){return{expected_fingerprint:te,confirm_conflicts:N,lots:q.map(({draft_id:M,type:b,surface:g,occupation:ce,charges_mensuelles:ge,condition:Z,ppsqm:Y})=>({draft_id:M,type:b,surface:Number(g),occupation:ce,charges_mensuelles:ge===void 0?void 0:Number(ge),condition:Z,ppsqm:Y===void 0?void 0:Number(Y)}))}}function xs(te){const N=te;return N?.statusCode===409||N?.status===409}function ys(te){const N={},q={};for(const[M,b]of Object.entries(te))if(b&&typeof b=="object"){const g=b;N[M]=String(g.status??"risk"),q[M]={assumed:g.assumed===!0,note:typeof g.note=="string"?g.note:""}}else N[M]=String(b??"");return{checklist:N,assumed:q}}function aa(te,N){return JSON.stringify(Object.keys(te).sort().map(q=>[q,te[q],te[q]==="risk"&&N[q]?.assumed?{assumed:!0,note:N[q].note.trim()}:null]))}function vs(te){const N=f({}),q=f({}),M=f(aa({},{})),b=m(()=>aa(N.value,q.value)),g=m(()=>b.value!==M.value),ce=m(()=>Object.entries(N.value).some(([Z,Y])=>Y==="risk"&&q.value[Z]?.assumed&&q.value[Z].note.trim().length<20)),ge=m(()=>Object.fromEntries(Object.entries(N.value).map(([Z,Y])=>{const oe=q.value[Z];return[Z,Y==="risk"&&oe?.assumed&&oe.note.trim().length>=20?{status:"risk",assumed:!0,note:oe.note.trim()}:Y]})));return le(te,Z=>{const Y=ys(Z??{}),oe=aa(Y.checklist,Y.assumed);g.value&&b.value!==oe||(N.value=Y.checklist,q.value=Y.assumed,M.value=oe)},{immediate:!0}),{checklist:N,checklistAssumed:q,checklistPayload:ge,checklistLocalDirty:g,checklistAssumedIncomplete:ce}}const gs={key:0,role:"status",class:"my-3 text-sm text-amber-800 dark:text-amber-200"},fs=["disabled"],_s=["open"],ks={class:"sticky top-0 z-20 -mx-1 px-1 py-3 mt-1 mb-5 bg-white/85 dark:bg-gray-900/85 backdrop-blur border-b border-gray-200 dark:border-gray-800"},hs={class:"flex flex-wrap items-start justify-between gap-x-6 gap-y-2"},ws={class:"min-w-0 flex-1 basis-64"},Cs={class:"font-display text-2xl font-bold text-dark dark:text-white truncate"},$s={class:"text-sm text-grey-text mt-0.5 truncate"},qs={key:0},As={key:1},Ms=["href"],Ds={class:"flex flex-wrap items-center justify-end gap-2 shrink-0"},zs={class:"text-base font-semibold tabular-nums text-dark dark:text-white"},Vs={key:0,class:"text-sm text-grey-text tabular-nums"},Ps={key:2,class:"inline-flex h-7 items-center rounded px-2 text-xs font-semibold bg-rose-500/15 text-rose-700 dark:text-rose-300"},Ss={class:"mt-2 flex items-center gap-x-4 overflow-x-auto whitespace-nowrap text-[11px] uppercase tracking-wide","aria-label":"Progression"},Rs=["onClick"],Ls={class:"inline-flex shrink-0 items-center gap-1.5 normal-case tracking-normal text-xs text-primary-600 dark:text-primary-300",role:"status","aria-live":"polite","aria-atomic":"true"},Ts={class:"mt-2 flex flex-wrap items-center justify-end gap-2"},Ns={key:0,class:"inline-flex items-center gap-1 text-xs text-grey-text mr-auto","aria-live":"polite"},Es={key:2,class:"flex items-center gap-1 text-xs text-grey-text"},js=["disabled"],Fs={key:0,class:"mt-1.5 flex flex-wrap items-center gap-x-3 gap-y-0.5 text-xs text-amber-800 dark:text-amber-300","aria-label":"Conditions restantes avant approbation"},Is=["onClick"],Os={key:1},Bs={key:0,role:"alert","aria-labelledby":"analysis-relaunch-title","aria-describedby":"analysis-relaunch-description",class:"mb-4 rounded-lg border border-amber-300/60 bg-amber-50/80 dark:bg-amber-950/30 dark:border-amber-700/40 p-4"},Us={class:"mt-3 flex flex-wrap justify-end gap-2"},Ys={key:1,role:"alert","aria-labelledby":"extraction-relaunch-title","aria-describedby":"extraction-relaunch-description",class:"mb-4 rounded-lg border border-amber-300/60 bg-amber-50/80 dark:bg-amber-950/30 dark:border-amber-700/40 p-4"},Hs={class:"mt-3 flex flex-wrap justify-end gap-2"},Js={key:2,role:"alert",class:"mb-3 rounded-lg border border-amber-300/60 bg-amber-50/80 px-3 py-2 text-sm text-amber-900 dark:border-amber-700/40 dark:bg-amber-950/30 dark:text-amber-200"},Gs={key:3,class:"text-grey-text"},Ks={key:4,role:"alert",class:"rounded-lg border border-danger/30 bg-danger/5 p-4 text-sm text-danger"},Ws={key:5,class:"text-center py-10 text-grey-text text-sm"},Qs={key:0,class:"mb-4 rounded-lg border border-red-300/60 bg-red-50/80 dark:bg-red-950/30 dark:border-red-700/40 px-3 py-2 text-sm text-red-900 dark:text-red-200",role:"alert"},Zs=["disabled"],Xs={key:1,class:"mb-4 rounded-lg border border-amber-300/60 bg-amber-50/80 dark:bg-amber-950/30 dark:border-amber-700/40 px-3 py-2 text-sm text-amber-900 dark:text-amber-200"},en=["disabled"],tn={key:2,class:"mb-4 rounded-lg border border-emerald-300/60 bg-emerald-50/80 dark:bg-emerald-950/30 dark:border-emerald-700/40 px-3 py-2 text-sm text-emerald-900 dark:text-emerald-200"},an=["disabled"],rn={key:3,class:"mb-4 rounded-lg border border-emerald-300/60 bg-emerald-50/80 dark:bg-emerald-950/30 dark:border-emerald-700/40 px-3 py-2 text-sm text-emerald-900 dark:text-emerald-200"},sn={key:4,class:"mb-4 rounded-lg border border-amber-300/60 bg-amber-50/80 dark:bg-amber-950/30 dark:border-amber-700/40 px-3 py-2 text-sm text-amber-900 dark:text-amber-200"},nn={key:5,class:"mb-4 rounded-lg border border-amber-300/60 bg-amber-50/80 dark:bg-amber-950/30 dark:border-amber-700/40 px-3 py-2 text-sm text-amber-900 dark:text-amber-200"},ln={key:6,class:"mb-4 rounded-lg border border-amber-300/60 bg-amber-50/80 dark:bg-amber-950/30 dark:border-amber-700/40 px-3 py-2 text-sm text-amber-900 dark:text-amber-200"},on={key:7,class:"mb-4 rounded-lg border border-amber-300/60 bg-amber-50/80 dark:bg-amber-950/30 dark:border-amber-700/40 px-3 py-2 text-sm text-amber-900 dark:text-amber-200"},dn={key:8,class:"mb-4 text-sm text-grey-text"},un={key:9,class:"mb-4 text-sm text-grey-text"},cn={key:10,class:"mb-4 rounded-lg border border-amber-300/60 bg-amber-50/80 dark:bg-amber-950/30 dark:border-amber-700/40 px-3 py-2 text-sm text-amber-900 dark:text-amber-200"},pn=["disabled"],mn={key:11,class:"mb-4 rounded-lg border border-amber-300/60 bg-amber-50/80 dark:bg-amber-950/30 dark:border-amber-700/40 px-3 py-2 text-sm text-amber-900 dark:text-amber-200"},bn={key:12,id:"quality-override",class:"mb-4 rounded-lg border border-amber-300/60 bg-amber-50/80 dark:bg-amber-950/30 dark:border-amber-700/40 p-3 space-y-2 text-sm","aria-label":"Dérogation qualité"},xn={class:"text-amber-900 dark:text-amber-200"},yn={class:"text-amber-900 dark:text-amber-200"},vn={key:0,class:"text-xs text-grey-text"}
vendor: 7,484 bytes, line 1
1,gn={key:1,class:"text-xs font-medium text-amber-950 dark:text-amber-100"},fn={key:1,class:"block"},_n=["disabled"],kn={class:"text-xs text-grey-text"},hn={key:13,id:"step-extraction",class:"mb-4 rounded-lg border border-primary-300/50 bg-primary-50/50 dark:bg-primary-950/20 px-3 py-2 text-sm space-y-2"},wn={class:"overflow-x-auto"},Cn={class:"w-full text-xs"},$n={class:"py-1 pr-2"},qn=["for"],An=["id","onUpdate:modelValue","disabled"],Mn={class:"pr-2"},Dn=["for"],zn=["id","onUpdate:modelValue","disabled"],Vn={class:"pr-2"},Pn=["for"],Sn=["id","onUpdate:modelValue","disabled"],Rn=["for"],Ln=["id","onUpdate:modelValue","disabled"],Tn={class:"text-grey-text"},Nn={key:0,class:"mt-1 text-amber-800 dark:text-amber-200"},En=["for"],jn=["id","onUpdate:modelValue","disabled"],Fn=["for"],In=["id","onUpdate:modelValue","disabled"],On={class:"pl-2 text-right"},Bn={key:0,class:"flex justify-end gap-1"},Un=["disabled"],Yn=["disabled","onClick"],Hn=["disabled","aria-label","onClick"],Jn=["disabled"],Gn={key:0,class:"flex items-start gap-2 text-xs text-amber-900 dark:text-amber-200"},Kn={key:1,class:"text-xs text-danger"},Wn={class:"mb-5 rounded-lg border border-gray-200 dark:border-gray-700 p-4 space-y-3","aria-label":"État des lots"},Qn={class:"flex flex-wrap items-center justify-between gap-2"},Zn=["disabled"],Xn={key:0,role:"alert",class:"flex flex-wrap items-center gap-2 text-sm text-danger"},el=["disabled"],tl={key:1,role:"alert",class:"text-sm text-danger"},al={key:2,class:"text-sm text-amber-800 dark:text-amber-200"},rl={class:"flex flex-wrap items-center gap-2 text-sm"},sl=["disabled"],nl=["value"],ll={key:0,role:"status",class:"text-sm text-grey-text"},ol={key:1,class:"text-sm text-grey-text"},il={key:0},dl={key:2,class:"text-xs text-grey-text"},ul={key:3,class:"flex flex-wrap gap-2"},cl=["title","aria-label","aria-pressed","disabled","onClick"],pl=["src","alt","onError"],ml={key:1,class:"flex h-full w-full items-center justify-center bg-gray-100 dark:bg-gray-800 text-[10px] text-grey-text px-1 text-center"},bl={key:2,class:"absolute right-1 top-1 inline-flex h-5 w-5 items-center justify-center rounded-full bg-primary-600 text-white","aria-hidden":"true"},xl={class:"flex flex-wrap gap-2"},yl={class:"text-xs text-grey-text self-center"},vl={key:4,class:"rounded-md bg-primary-50/60 dark:bg-primary-950/20 border border-primary-200/60 dark:border-primary-800/40 px-3 py-2 space-y-2 text-sm"},gl={class:"font-semibold"},fl={class:"text-grey-text"},_l={class:"text-grey-text"},kl={class:"text-grey-text"},hl={class:"text-xs text-grey-text"},wl={class:"flex items-center gap-2 text-xs text-grey-text"},Cl=["disabled"],$l={key:14,class:"mb-4 rounded-lg border border-gray-300 dark:border-gray-600 px-3 py-2 text-sm text-grey-text"},ql={key:0},Al={key:1},Ml={key:2},Dl={key:3},zl={key:15,class:"mb-5 rounded-lg border border-gray-200 dark:border-gray-700 p-4 space-y-4","aria-label":"Décision"},Vl={class:"flex flex-wrap items-center justify-between gap-2"},Pl={class:"flex flex-wrap items-center gap-2"},Sl={class:"text-[11px] text-grey-text"},Rl={class:"flex flex-wrap items-center gap-x-2 gap-y-1"},Ll={key:0,class:"inline-flex h-6 items-center rounded bg-amber-500/15 px-2 text-[11px] font-medium text-amber-800 dark:text-amber-300"},Tl={class:"grid sm:grid-cols-2 lg:grid-cols-4 gap-3"},Nl={class:"rounded-md bg-gray-50 dark:bg-gray-800/50 px-3 py-2"},El={class:"text-lg font-semibold tabular-nums"},jl={key:0,class:"text-xs text-grey-text tabular-nums"},Fl={class:"rounded-md bg-gray-50 dark:bg-gray-800/50 px-3 py-2"},Il={class:"text-lg font-semibold tabular-nums"},Ol={class:"text-xs text-grey-text tabular-nums"},Bl={key:0},Ul={class:"rounded-md bg-gray-50 dark:bg-gray-800/50 px-3 py-2"},Yl={class:"text-lg font-semibold"},Hl={class:"text-xs text-grey-text tabular-nums"},Jl={class:"rounded-md bg-gray-50 dark:bg-gray-800/50 px-3 py-2"},Gl={class:"text-lg font-semibold"},Kl={class:"text-xs text-grey-text tabular-nums"},Wl={key:0,class:"text-sm text-dark dark:text-gray-200 whitespace-pre-line"},Ql={key:1,class:"text-sm text-dark dark:text-gray-200 whitespace-pre-line"},Zl={key:2,class:"space-y-2"},Xl={key:0,class:"text-sm text-grey-text"},eo={key:1,class:"overflow-x-auto"},to={class:"w-full text-sm"},ao={class:"py-2 pr-2 tabular-nums"},ro={class:"pr-2 font-medium"},so={key:0,class:"block text-[10px] font-normal text-grey-text"},no={class:"pr-2"},lo={class:"pr-2 tabular-nums"},oo={class:"pr-2 tabular-nums"},io={class:"pr-2 tabular-nums"},uo={class:"pr-2 tabular-nums"},co={class:"pr-2 tabular-nums"},po={class:"pr-2"},mo={class:"text-xs text-grey-text max-w-[16rem]"},bo={class:"grid sm:grid-cols-2 gap-3"},xo={key:0,class:"space-y-1"},yo={class:"text-sm text-grey-text list-disc pl-4 space-y-0.5"},vo={key:1,class:"space-y-1"},go={class:"text-sm text-grey-text list-disc pl-4 space-y-0.5"},fo={class:"grid sm:grid-cols-2 gap-3"},_o={key:0},ko={class:"text-sm list-disc pl-4 space-y-0.5"},ho={key:1},wo={class:"text-sm list-disc pl-4 space-y-0.5"},Co={key:3,class:"text-xs text-grey-text"},$o={class:"mb-5 grid sm:grid-cols-2 lg:grid-cols-4 gap-3"},qo={class:"rounded-lg border border-gray-200 dark:border-gray-700 px-3 py-2"},Ao={class:"text-lg font-semibold tabular-nums"},Mo={class:"rounded-lg border border-gray-200 dark:border-gray-700 px-3 py-2"},Do={class:"text-[11px] uppercase tracking-wide text-grey-text"},zo={class:"text-lg font-semibold tabular-nums"},Vo={class:"rounded-lg border border-gray-200 dark:border-gray-700 px-3 py-2"},Po={class:"text-[11px] uppercase tracking-wide text-grey-text"},So={class:"text-lg font-semibold tabular-nums"},Ro={class:"rounded-lg border border-gray-200 dark:border-gray-700 px-3 py-2"},Lo={class:"text-lg font-semibold tabular-nums"},To={key:16,class:"mb-5 rounded-lg border border-gray-200 dark:border-gray-700 p-3 space-y-3"},No={class:"flex flex-wrap items-baseline justify-between gap-2"},Eo={class:"text-[11px] text-grey-text"},jo={class:"text-xs text-grey-text"},Fo={class:"overflow-x-auto"},Io={class:"w-full text-sm"},Oo={class:"py-2 pr-3 font-medium"},Bo={class:"pr-3 tabular-nums"},Uo={class:"pr-3 tabular-nums"},Yo={class:"pr-3 tabular-nums"},Ho={class:"tabular-nums font-semibold"},Jo={class:"mb-5 grid sm:grid-cols-2 lg:grid-cols-3 gap-3"},Go={class:"rounded-lg border border-gray-200 dark:border-gray-700 px-3 py-2"},Ko={class:"text-lg font-semibold tabular-nums"},Wo={class:"rounded-lg border border-gray-200 dark:border-gray-700 px-3 py-2"},Qo={class:"text-lg font-semibold tabular-nums"},Zo={key:0,class:"mt-0.5 text-[11px] leading-4 text-grey-text"},Xo={class:"rounded-lg border border-gray-200 dark:border-gray-700 px-3 py-2"},ei={class:"text-lg font-semibold tabular-nums"},ti={class:"mb-4 rounded-lg border border-gray-200 dark:border-gray-700 px-3 py-2 flex flex-wrap items-center gap-x-2.5 gap-y-1.5 text-xs"},ai={key:1,class:"inline-flex items-center gap-1 px-2 py-1 rounded-full border border-dashed border-gray-300 dark:border-gray-600 text-grey-text"},ri={class:"text-grey-text"},si={class:"text-xs text-grey-text mb-4"},ni={class:"mb-5 rounded-lg border border-gray-200 dark:border-gray-700 p-3 space-y-2"},li={class:"grid sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-6 gap-2 text-sm"},oi={class:"block"},ii=["value"],di={class:"block"},ui=["value"],ci={class:"block"},pi=["value"],mi={class:"block"},bi=["value"],xi={class:"block"},yi={class:"flex items-end gap-2 h-9 mt-5 sm:mt-6"},vi={id:"step-analyse",class:"grid lg:grid-cols-[minmax(0,1fr)_minmax(0,1.2fr)
1] gap-5"},gi={id:"base-dvf",class:"space-y-3"},fi={class:"overflow-x-auto max-h-[55vh] overflow-y-auto"},_i={class:"w-full text-sm"},ki={class:"py-2 pr-2"},hi=["checked","disabled","aria-label","onChange"],wi={class:"pr-3 tabular-nums"},Ci=["aria-label","onClick"],$i={class:"pr-3"},qi={class:"pr-3 tabular-nums"},Ai={class:"pr-3 tabular-nums"},Mi={class:"pr-3 tabular-nums"},Di={class:"tabular-nums"},zi={key:0,class:"text-xs text-grey-text"},Vi={key:1,id:"base-yanport",class:"pt-2 space-y-3"},Pi={class:"text-xs uppercase tracking-[0.14em] font-semibold text-grey-text"},Si={class:"text-xs text-grey-text"},Ri=["aria-expanded","onClick"],Li={class:"font-normal text-grey-text tabular-nums"},Ti={key:1,class:"text-[11px] leading-4 text-grey-text"},Ni={class:"space-y-2"},Ei={key:0,class:"flex flex-wrap items-center gap-x-3 gap-y-1.5 text-xs text-grey-text"},ji={class:"inline-flex items-center gap-1"},Fi={class:"inline-flex items-center gap-1"},Ii={class:"inline-flex items-center gap-1"},Oi={class:"inline-flex items-center gap-1"},Bi=["onUpdate:modelValue"],Ui={class:"flex items-center gap-1.5"},Yi=["onClick"],Hi=["onClick"],Ji={key:1,class:"overflow-x-auto max-h-[40vh] overflow-y-auto"},Gi={class:"w-full text-sm"},Ki={class:"py-2 pr-3"},Wi=["onClick"],Qi={class:"pr-3 tabular-nums"},Zi={class:"pr-3 tabular-nums"},Xi={class:"pr-3 tabular-nums"},ed={class:"pr-3 tabular-nums"},td={class:"tabular-nums"},ad=["onClick"],rd={key:2,class:"overflow-x-auto max-h-[30vh] overflow-y-auto"},sd={class:"w-full text-sm"},nd={class:"py-2 pr-3"},ld=["onClick"],od={class:"pr-3 tabular-nums"},id={class:"pr-3 tabular-nums"},dd={class:"pr-3 tabular-nums"},ud={class:"pr-3 tabular-nums"},cd={class:"tabular-nums"},pd=["onClick"],md={key:2,class:"pt-2 text-xs text-grey-text"},bd={key:3,class:"pt-3 space-y-2"},xd={class:"space-y-1 text-sm"},yd=["onClick"],vd={key:4,class:"pt-3 space-y-2"},gd={class:"space-y-1.5 text-sm"},fd={class:"font-medium text-dark dark:text-gray-100"},_d={class:"text-grey-text"},kd={class:"space-y-3"},hd={class:"overflow-x-auto"},wd={class:"w-full text-sm"},Cd=["aria-selected","onClick","onKeydown"],$d={class:"py-2 pr-3 font-medium"},qd={class:"pr-3 tabular-nums"},Ad={class:"pr-3 tabular-nums text-xs text-grey-text"},Md={class:"pr-3 tabular-nums"},Dd={class:"pr-3 text-xs tabular-nums text-grey-text"},zd={class:"pr-3"},Vd=["value","disabled","title","placeholder","aria-label","onChange"],Pd={key:0,class:"rounded-lg border border-gray-200 dark:border-gray-700 p-3 text-xs text-grey-text space-y-1"},Sd={class:"font-medium text-dark dark:text-white text-sm"},Rd={key:0},Ld={key:1,class:"text-amber-800 dark:text-amber-200"},Td={key:2},Nd={key:3},Ed={class:"block mt-2"},jd=["value","disabled"],Fd={class:"block mt-2"},Id=["disabled"],Od={id:"step-revue",class:"mb-5 rounded-lg border border-gray-200 dark:border-gray-700 p-3 space-y-3"},Bd={class:"flex flex-wrap items-center justify-between gap-2"},Ud={class:"flex items-center gap-2"},Yd=["disabled"],Hd={key:0,class:"text-xs text-amber-800 dark:text-amber-200"},Jd={class:"overflow-x-auto"},Gd={class:"w-full text-sm"},Kd={class:"py-2 pr-3 font-medium"},Wd={class:"pr-3 tabular-nums"},Qd={class:"pr-3"},Zd={class:"flex items-center gap-1"},Xd={class:"tabular-nums"},eu=["value","disabled","aria-label","onChange"],tu={class:"pr-3"},au={class:"inline-flex rounded-md border border-gray-300 dark:border-gray-600 overflow-hidden text-xs"},ru=["disabled","onClick"],su=["disabled","onClick"],nu=["disabled","onClick"],lu=["disabled","onClick"],ou={key:0,class:"mt-2 space-y-1.5"},iu=["value","disabled","aria-label","onInput"],du=["value","disabled","aria-label","onInput"],uu=["disabled","onClick"],cu={class:"pr-3 tabular-nums font-semibold"},pu={class:"flex items-center gap-1.5"},mu=["disabled","onClick"],bu={key:0},xu={class:"mt-5 rounded-lg border border-gray-200 dark:border-gray-700 p-4 space-y-4","aria-label":"Contexte"},yu={class:"grid lg:grid-cols-2 gap-4"},vu={class:"space-y-2"},gu={class:"flex gap-2"},fu={key:0,role:"alert",class:"text-xs text-danger"},_u={key:1,class:"space-y-2 max-h-48 overflow-y-auto text-sm"},ku={class:"text-dark dark:text-gray-200 whitespace-pre-wrap"},hu={class:"text-[11px] text-grey-text mt-0.5"},wu={key:2,class:"text-xs text-grey-text"},Cu={class:"space-y-2"},$u={key:0,class:"text-sm space-y-1 list-disc pl-4 text-grey-text"},qu={key:1,class:"text-xs text-grey-text"},Au={class:"space-y-2"},Mu={class:"flex items-center justify-between gap-2 text-sm"},Du=["onUpdate:modelValue","disabled"],zu=["value"],Vu={key:0,class:"rounded border border-amber-300/60 bg-amber-50/60 dark:bg-amber-950/20 dark:border-amber-700/40 p-2 space-y-1"},Pu={class:"flex items-start gap-2 text-xs font-medium text-amber-950 dar
1k:text-amber-100"},Su=["checked","disabled","onChange"],Ru=["id","value","disabled","onInput"],Lu={key:0,class:"text-[11px] text-danger"},Tu={key:1,class:"text-[11px] text-grey-text"},Nu={class:"text-[11px] text-grey-text","aria-live":"polite"},Eu={key:2,class:"text-danger"},ju={class:"mt-5 rounded-lg border border-gray-200 dark:border-gray-700 p-4 space-y-2 text-sm","aria-label":"Preuve"},Fu={class:"text-grey-text"},Iu={key:0,class:"text-xs text-grey-text"},Ou={key:1,role:"alert",class:"text-xs text-danger"},Bu={key:2,class:"text-xs text-grey-text",title:"Hypothèse de liquidité du moteur. Le malus d’état se documente séparément dans les prix par lot, sans déduire deux fois le même défaut."},Uu={key:3,class:"text-xs text-grey-text"},Yu={key:4,class:"pt-1"},Hu={class:"text-xs text-grey-text space-y-0.5 max-h-28 overflow-y-auto"},Ju={class:"flex flex-wrap gap-x-4 gap-y-1 text-sm"},Gu={class:"px-6 pb-4 space-y-4 text-sm"},Ku={class:"flex flex-wrap gap-x-4 gap-y-1 text-grey-text"},Wu={key:0},Qu={key:1,class:"tabular-nums"},Zu={key:2,class:"tabular-nums"},Xu={key:0,class:"text-grey-text"},ec={key:1,role:"alert",class:"text-danger"},tc={class:"grid grid-cols-2 gap-x-6 gap-y-1.5"},ac={key:0,class:"contents"},rc={class:"text-dark dark:text-white"},sc={key:1,class:"contents"},nc={class:"text-dark dark:text-white"},lc={key:2,class:"contents"},oc={class:"tabular-nums text-dark dark:text-white"},ic={key:3,class:"contents"},dc={class:"tabular-nums text-dark dark:text-white"},uc={key:4,class:"contents"},cc={class:"tabular-nums text-dark dark:text-white"},pc={key:5,class:"contents"},mc={class:"text-dark dark:text-white"},bc={key:6,class:"contents"},xc={class:"tabular-nums text-dark dark:text-white"},yc={key:7,class:"contents"},vc={class:"tabular-nums text-dark dark:text-white"},gc={key:8,class:"contents"},fc={class:"tabular-nums text-dark dark:text-white"},_c={key:9,class:"contents"},kc={class:"tabular-nums text-dark dark:text-white"},hc={key:10,class:"contents"},wc={class:"tabular-nums text-dark dark:text-white"},Cc={key:11,class:"contents"},$c={class:"tabular-nums text-dark dark:text-white"},qc={key:0},Ac={class:"space-y-1"},Mc=["href"],Dc={key:0,class:"ml-2 text-xs tabular-nums text-grey-text"},zc={key:1},Vc={class:"relative border-l border-gray-200 dark:border-gray-700 ml-2 space-y-2"},Pc={class:"tabular-nums text-grey-text mr-2"},Sc={class:"tabular-nums font-medium text-dark dark:text-white"},Rc={key:2,class:"text-grey-text"},Zc=Ir({__name:"analyse",setup(te){const N=Or(),q=Br(),M=ms(),b=ps(),g=N.params.id,ce=f(!!N.hash),ge=f(!1),Z=f(null);le(()=>N.hash,r=>{r&&(ce.value=!0)});async function Y(){if(F.value||xe.value||_t.value||Et.value||p.value){ge.value=!0;return}const r=Q.value;p.value=!0;try{await Promise.all([W(),Ve()]),Q.value=Math.min(r,Math.max(0,J.value.length-1)),ge.value=!1}finally{p.value=!1}}const{data:oe}=ht("admin-current-staff-analyst",()=>M("/admin/me"),{server:!1}),Ia=Xr.map(r=>({key:r,label:es[r]})),Oa=[{value:"unknown",label:"À vérifier"},{value:"ok",label:"OK"},{value:"risk",label:"Risque"},{value:"na",label:"N/A"}],{data:z,refresh:W,status:$t,error:qt}=ht(`admin-deal-analyse-${g}`,()=>M(`/admin/deals/${g}`),{server:!1}),{data:Ce,refresh:Ve,error:ra}=ht(`admin-deal-analyse-bilan-${g}`,()=>M(`/admin/deals/${g}/bilan`),{server:!1}),Ba=m(()=>($t.value==="idle"||$t.value==="pending")&&!z.value),Ua=m(()=>$t.value==="pending"&&!!z.value),y=m(()=>(z.value?.analyses??[])[0]??null),At=f({});function lt(r,t=!0){return At.value[r]??(t?"active":"inactive")}function sa(r,t){At.value={...At.value,[r]:t}}const Mt=f({});function ot(r,t){return Mt.value[r]??t>0}function Ya(r,t){Mt.value={...Mt.value,[r]:!ot(r,t)}}const Dt=f({});function $e(r,t){return Dt.value[r]??t}function na(r,t){Dt.value={...Dt.value,[r]:$e(r,t)+20}}const ie=f([]),H=f({}),Ye=f(-1),Pe=f({}),R=f(null),qe=f({}),Se=f({});function it(r){return r.ref_lot_uid||r.id}function pe(r){const t=it(r);return qe.value[t]||(qe.value[t]={size:r.params?.size??$.value.size,maxDistanceM:r.params?.maxDistanceM??$.value.maxDistanceM??"",surfaceTolPct:r.params?.surfaceTolPct??$.value.surfaceTolPct??"",surfaceMinM2:r.params?.surfaceMinM2??"",surfaceMaxM2:r.params?.surfaceMaxM2??"",roomsMin:r.params?.roomsMin??"",roomsMax:r.params?.roomsMax??"",searchAddress:r.search_address??"",matchRoomCount:r.params?.matchRoomCount??$.value.matchRoomCount}),qe.value[t]}function la(r){return{size:Number(r.size)||10,maxDistanceM:r.maxDistanceM===""?null:Number(r.maxDistanceM),surfaceTolPct:r.surfaceTolPct===""?null:Number(r.surfaceTolPct),surfaceMinM2:r.surfaceMinM2===""?null:Number(r.surfaceMinM2),surfaceMaxM2:r.surfaceMaxM2===""?null:Number(r.surfaceMaxM2),roomsMin:r.roomsMin===""?null:Number(r.roomsMin),roomsMax:r.roomsMax===""?null:Number(r.roomsMax),searchAddress:r.searchAddress.trim()||null,matchRoomCount:r.matchRoomCount}}async function Ha(r){const t=it(r),u=la(pe(r));Se.value={...Se.value,[t]:!0};try{const _=await M(`/admin/deals/${g}/analyze/group`,{method:"POST",body:{ref_lot_uid:r.ref_lot_uid??null,surface:r.ref_surface??0,type:r.ref_type??null,filters:u}});if(_.error){b.error(_.error==="geocode_failed"?"Adresse du bien non géocodable.":"Relance du groupe impossible.");return}const C=B.value?.groups??[],D=C.findIndex(L=>L.id===r.id);D>=0&&(C[D]={...C[D],similar_active:_.similar_active,similar_inactive:_.similar_inactive,active_ppsqm_median:_.active_ppsqm_median,off_market_ppsqm_median:_.off_market_ppsqm_median,comparability:_.comparability??null},B.value={...B.value,groups:[...C]}),b.success("Groupe relancé (2 appels).")}catch(_){b.error(E(_,"Relance du groupe impossible."))}finally{Se.value={...Se.value,[t]:!1}}}const B=f(null),oa=m(()=>{const r=B.value;if(!r)return[];const t=r.groups??[];return t.length?t.map(u=>({key:u.id,title:`${u.label} (${u.member_count} lot${u.member_count>1?"s":""})`,active:u.similar_active??[],inactive:u.similar_inactive??[],activeMedian:u.active_ppsqm_median??null,inactiveMedian:u.off_market_ppsqm_median??null,group:u})):!r.similar_active?.length&&!r.similar_inactive?.length?[]:[{key:"all",title:"",active:r.similar_active??[],inactive:r.similar_inactive??[],activeMedian:null,inactiveMedian:null,group:null}]}),p=f(!1),dt=f(null),He=f(!1),Re=f(!1),me=f(!1),Q=f(0),Le=f(""),be=f(""),ut=f([]),ia=f(!1),Te=f(""),zt=f([]),{checklist:ct,checklistAssumed:ne,checklistPayload:Vt,checklistLocalDirty:xe,checklistAssumedIncomplete:Je}=vs(()=>z.value?.analyst_checklist),Ne=f(""),fe=m(()=>!!Ne.value),pt=Qr(g);le(()=>ls(pt.snapshot.value.run).current?.label,r=>{Ne.value&&r&&(Ne.value=`${r}…`)});const Ee=f([]),je=f(0),mt=f(!1),Ge=f(""),_e=f(null),bt=f(""),ke=f(0),ae=f([]),U=f(null),Ae=f({}),xt=f(!1),yt=f(!1);let Ke=0;
1const Ja={a_rafraichir:"À rafraîchir",bon:"Bon état",moyen:"Mixte / moyen",none:"n/d"};function da(r){return Ja[String(r??"")]??(r||"n/d")}function Ga(r){return JSON.stringify((r??[]).map(t=>[t.type??"",Number(t.surface)||0,t.condition??""]))}const Pt=m(()=>(Ce.value?.lots??[]).map((r,t)=>({lot:r,rawIndex:t})).filter(({lot:r})=>Number(r.surface)>0));le(Pt,r=>{if(!r.length){ke.value=0;return}r.some(t=>t.rawIndex===ke.value)||(ke.value=r[0].rawIndex)},{immediate:!0}),le(()=>Ga(Ce.value?.lots),()=>{U.value=null}),le(ke,()=>{U.value=null,me.value=!1}),le(ae,()=>{U.value=null,me.value=!1});async function St(){mt.value=!0,Ge.value="";try{const r=await M(`/admin/deals/${g}/dossier-photos`);Ee.value=r.photos??[],je.value=Number(r.excluded_heic_count)||0,await Promise.allSettled(Ee.value.slice(0,12).map(t=>Lt(t.id)))}catch(r){Ee.value=[],je.value=0,Ge.value=E(r,"Photos du dossier indisponibles.")}finally{mt.value=!1}}async function Rt(){bt.value="";try{_e.value=await M(`/admin/deals/${g}/api-usage`)}catch(r){_e.value=null,bt.value=E(r,"Suivi du coût API indisponible.")}}async function Lt(r,t=!1){const u=Ae.value[r];if(!(!t&&u&&Date.now()-u.fetchedAt<24e4))try{const{url:C}=await M(`/admin/documents/${r}/download-url`);Ae.value={...Ae.value,[r]:{url:C,fetchedAt:Date.now()}}}catch{}}function Ka(r){const t={...Ae.value};delete t[r],Ae.value=t,Lt(r,!0)}function Wa(r){if(p.value)return;const t=ae.value;if(t.includes(r)){ae.value=t.filter(u=>u!==r);return}if(t.length>=3){b.error("Maximum 3 photos.");return}ae.value=[...t,r],Lt(r)}async function Qa(){if(!ae.value.length){b.error("Sélectionnez 1 à 3 photos.");return}p.value=!0,U.value=null,me.value=!1;try{const r=await M(`/admin/deals/${g}/condition-vision`,{method:"POST",body:{lotIndex:ke.value,documentIds:ae.value}});U.value=r,b.success("Proposition d'état prête : confirmez avant application.")}catch(r){b.error(E(r,"Vision état impossible."))}finally{p.value=!1}}async function Za(){if(!U.value)return;if(!me.value){b.error("Confirmez explicitement la proposition avant application.");return}const r=U.value.lotIndex;p.value=!0;try{await M(`/admin/deals/${g}/condition-vision/apply`,{method:"POST",body:{lotIndex:r,condition:U.value.proposedCondition,expectedUpdatedAt:U.value.bilanUpdatedAt??null}}),b.success("État appliqué au bilan. Relancez l'analyse (l'ancienne est marquée obsolète)."),U.value=null,me.value=!1,await Promise.all([Ve(),W()])}catch(t){b.error(E(t,"Application de l'état impossible."))}finally{p.value=!1}}Ur(()=>{St(),Rt()});const{data:Xa,refresh:ua,error:ca}=ht(`admin-deal-analyse-notes-${g}`,()=>M(`/admin/deals/${g}/analyst-notes`),{server:!1});le(Xa,r=>{zt.value=r??[]},{immediate:!0});const er=[{key:"pieces",label:"Pièces"},{key:"extraction",label:"Lecture des pièces"},{key:"analyse",label:"Valorisation"},{key:"revue",label:"Contrôle"},{key:"bilan",label:"Bilan"},{key:"offre",label:"Offre"}];function pa(r){return r==="bilan"?q(`/admin/deals/${g}?tab=bilan`):r==="offre"?q(`/admin/deals/${g}?tab=offre`):r==="pieces"?q(`/admin/deals/${g}?tab=pieces`):null}const tr={extraction:"step-extraction",analyse:"step-analyse",revue:"step-revue"},ar=m(()=>({extraction:!!Me.value?.lots.length,analyse:!!ve.value,revue:!!A.value}));function rr(r){ce.value=!0,Fa(()=>document.getElementById(tr[r]??"")?.scrollIntoView({behavior:"smooth",block:"start"}))}const ma=m(()=>{const r=z.value?.dossier?.documents??[],t=new Map((z.value?.dossier?.checklist??[]).map(u=>[u.type,u.label]));return r.filter(u=>(u.internal_note??"").trim()).slice(0,6).map(u=>({id:u.id,label:t.get(u.doc_type)??u.doc_type,note:(u.internal_note??"").trim().slice(0,200)}))}),$=f({size:25,zone:"",maxDistanceM:3e3,surfaceTolPct:40,matchRoomCount:!1,maxAgeMonths:36});le(y,(r,t)=>{if(!r)return;const u=r.inputs?.exclude_keys??r.sortie?.exclude_keys??[];ie.value=Array.isArray(u)?[...u]:[],H.value={},R.value=null,Q.value=0,r.id!==t?.id&&(Le.value="",be.value="",ut.value=[]);const _=r.indicators?.yanport?.similar_params??r.sortie?.yanport?.similar_params,C=r.indicators?.dvf_params??r.sortie?.dvf_params;(_||C)&&($.value={size:_?.size??C?.size??25,zone:_?.zone==="IRIS"||_?.zone==="CITY"?_.zone
1:"",maxDistanceM:_?.maxDistanceM??C?.maxDistanceM??null,surfaceTolPct:_?.surfaceTolPct??C?.surfaceTolPct??null,matchRoomCount:!!_?.matchRoomCount,maxAgeMonths:C?.maxAgeMonths??36});const D=r.indicators?.yanport?.groups??[];for(const L of D){const ue=L.ref_lot_uid||L.id;!ue||qe.value[ue]||!L.params||(qe.value[ue]={size:L.params.size??10,maxDistanceM:L.params.maxDistanceM??"",surfaceTolPct:L.params.surfaceTolPct??"",surfaceMinM2:L.params.surfaceMinM2??"",surfaceMaxM2:L.params.surfaceMaxM2??"",roomsMin:L.params.roomsMin??"",roomsMax:L.params.roomsMax??"",searchAddress:L.search_address??"",matchRoomCount:!!L.params.matchRoomCount})}},{immediate:!0});const J=m(()=>R.value?.lots??y.value?.lots??[]),j=m(()=>J.value[Q.value]),ba=m(()=>{const r=y.value;if(!r)return[];const t=r.inputs?.exclude_keys??r.sortie?.exclude_keys??[];return Array.isArray(t)?t.map(String):[]}),Fe=m(()=>(R.value?.comparables??(y.value?.comparables??[]).map(t=>({...t,key:t.key||[t.date??"",t.surface??"",t.ppsqm??"",t.distance_m??""].join("|"),excluded:!1}))).map(t=>({...t,excluded:!!t.excluded||ie.value.includes(String(t.key??""))}))),xa=m(()=>R.value?.estimated_resale_value??y.value?.estimated_resale_value??J.value.reduce((r,t)=>r+(Number(t.resale_price)||0),0)),Tt=m(()=>R.value?.confidence_grade??y.value?.sortie?.confidence_grade??"n/d"),Ie=m(()=>y.value?.status??"n/d"),I=m(()=>Ie.value==="approved"),G=m(()=>Ie.value==="applied"),re=m(()=>Ie.value==="stale"),Oe=m(()=>y.value?.sortie?.lot_plan_source==="generic_mix"),ya=m(()=>y.value?.sortie?.lot_plan_source==="study_base"?y.value?.sortie?.study_base?.version_number??null:null),sr=m(()=>{const r=y.value?.sortie,t=r?.source_donnees??y.value?.inputs?.source??"";return r?.ppsqm_source==="fallback"||t==="none"||t==="dvf_error"}),Nt=m(()=>{const r=Array.isArray(y.value?.quality_flags)?y.value.quality_flags.map(String):[];return[...new Set([...r,...ut.value])]}),We=m(()=>!!(y.value?.quality_override_requested_by&&!y.value?.quality_override_approved_by)),nr=m(()=>We.value?oe.value?.role==="admin":!0),lr=m(()=>{if(!Nt.value.length||We.value)return!0;const r=be.value.trim().length;return r>=20&&r<=1e3}),or=m(()=>y.value?.indicators?.ai_counsel?.verdict==="no_go"),ir=m(()=>!!y.value?.advice_overridden_by),va=m(()=>or.value&&!ir.value),dr=m(()=>z.value?.analyst_checklist??{}),ye=m(()=>{const r=ts(xe.value?Vt.value:dr.value);return{blocked:!r.ok,risks:r.risks,pending:r.pending,assumedRisks:r.assumedRisks}}),F=m(()=>{const r=[...ie.value].sort().join("|")!==[...ba.value].sort().join("|"),t=Object.keys(H.value).length>0;return r||t});function ur(){ie.value=[...ba.value],H.value={},R.value=null}const Et=m(()=>!!(Le.value.trim()||be.value.trim()||ia.value));le(F,r=>{!r&&R.value&&Object.keys(H.value).length===0&&(R.value=null)});const jt=m(()=>J.value.filter(r=>r.validated_at).length),cr=m(()=>J.value.some(r=>r.scenario!=null&&r.scenario!=="wiim")),vt=m(()=>{const r=J.value;return r.length===0||r.every(t=>!!t.validated_at)}),X=m(()=>p.value||Ze.value||!!R.value||F.value),Ft=m(()=>{if(!y.value||I.value||G.value)return[];const r=[];if(re.value&&r.push({key:"stale",label:"Analyse obsolète : relancez DVF/Yanport"}),Ie.value==="superseded"&&r.push({key:"superseded",label:"Analyse remplacée : rouvrez la dernière revue"}),Oe.value&&r.push({key:"generic",label:"Lots génériques : saisissez ou appliquez les lots réels"}),ye.value.blocked){const t=ye.value.risks.length,u=ye.value.pending.length,_=[t?`${t} risque${t>1?"s":""} à trancher`:null,u?`${u} point${u>1?"s":""} à vérifier`:null].filter(Boolean).join(", ");r.push({key:"checklist",label:`Checklist métier : ${_}`,anchor:"#checklist-metier"})}return Je.value?r.push({key:"checklist-note",label:"Checklist : motivez le risque assumé (20 caractères minimum)",anchor:"#checklist-metier"}):De.state.value==="error"&&r.push({key:"checklist-dirty",label:"Checklist non enregistrée : réessayez",anchor:"#checklist-metier"}),lr.value||r.push({key:"quality",label:"Analyse fragile : motivez la dérogation (20 à 1000 caractères)",anchor:"#quality-override"}),nr.value||r.push({key:"quality-admin",label:"Dérogation en attente : validation réservée à un administrateur",anchor:"#quality-override"}),va.value&&r.push({key:"advice",label:"Avis IA défavorable : confirmez la poursuite",anchor:"#advice-override-title"}),vt.value||r.push({key:"lots",label:`Validez chaque lot (${jt.value}/${J.value.length})`,anchor:"#step-revue"}),F.value?r.push({key:"review-dirty",label:"Revue non enregistrée : enregistrez ou annulez les exclusions"}):R.value&&r.push({key:"preview",label:"Chiffres en preview : enregistrez la revue"}),r}),pr=m(()=>!!y.value&&!I.value&&!G.value&&Ft.value.length===0);function mr(r){if(!r.anchor)return;ce.value=!0,document.querySelector(r.anchor)?.scrollIntoView({behavior:"smooth",block:"center"})}const K=m(()=>y.value?.indicators?.yanport??y.value?.sortie?.yanport??null),T=m(()=>{const r=Fe.value.length,t=Fe.value.filter(L=>!L.excluded).length,u=B.value?.similar_active?.length??K.value?.for_sale_count??null,_=B.value?.similar_inactive?.length??K.value?.off_market_count??null,C=B.value?.groups?.length||K.value?.groups?.length||0,D=!!(B.value?.groups?.length||B.value?.similar_active?.length||B.value?.similar_inactive?.length);return{dvfTotal:r,dvfIncluded:t,forSale:u,offMarket:_,hasLive:D,groupCount:C}});function It(r){document.getElementById(r)?.scrollIntoView({behavior:"smooth",block:"start"})}const ve=m(()=>R.value?.pricing??y.value?.indicators?.pricing??y.value?.sortie?.pricing??null),Ot=m(()=>{const r=ve.value?.purchase_ceilings;return r?{market_low:r.margin_low_market??r.margin_20_market,market_high:r.margin_high_market??r.margin_30_market,liquid_low:r.margin_low_liquid??r.margin_20_liquid,liquid_high:r.margin_high_liquid??r.margin_30_liquid}:null}),Qe=m(()=>Ce.value?.target_purchase_price??Ce.value?.totals?.purchase??null),Bt=m(()=>I.value&&!F.value&&!R.value),Ze=m(()=>I.value||G.value||re.value),Xe=m(()=>p.value||Ze.value),ga=m(()=>Ot.value?.market_high?.purchase??null),br=m(()=>ve.value?.liquid_resale??y.value?.indicators?.liquidResale??null),A=m(()=>y.value?.indicators?.ai_counsel??null),gt=m(()=>A.value?.tension_achat??A.value?.tension??null),de=m(()=>A.value?.tension_locative??null),fa=m(()=>A.value?.demembrement?.lots??[]),et=m(()=>K.value?.error??null),ft=m(()=>K.value?.partial_failures??[]),Ut=m(()=>!Fe.value.length),Me=m(()=>
1z.value?.extraction_lots_draft??null),ee=f([]),_a=f(""),Be=f(""),he=f(!1),Yt=m(()=>ee.value.some(r=>r.needs_review||r.conflicts.length>0)),Ht=m(()=>ee.value.length>0&&ee.value.every(r=>r.type.trim().length>0&&Number.isFinite(Number(r.surface))&&Number(r.surface)>0&&Number(r.surface)<=1e5&&(r.charges_mensuelles===void 0||Number.isFinite(Number(r.charges_mensuelles))&&Number(r.charges_mensuelles)>=0)));function ka(r){return JSON.stringify(r.map(({draft_id:t,type:u,surface:_,occupation:C,charges_mensuelles:D,condition:L,ppsqm:ue})=>({draft_id:t,type:u,surface:Number(_),occupation:C??null,charges_mensuelles:D??null,condition:L??null,ppsqm:ue??null})))}const _t=m(()=>ka(ee.value)!==_a.value);le(Me,r=>{ee.value=r?.lots.map(t=>({...t,conflicts:[...t.conflicts],sources:[...t.sources],source_doc_ids:[...t.source_doc_ids]}))??[],_a.value=ka(ee.value),Be.value="",he.value=!1},{immediate:!0});const xr=m(()=>{const r=Number(z.value?.asking_price),t=ga.value;return!Number.isFinite(r)||r<=0||t==null?null:{ask:r,ceil:t,over:r>t}}),ha=m(()=>[z.value?.sale_motivation,z.value?.previous_offers].filter(r=>!!(r&&String(r).trim()))),Jt=m(()=>{Me.value?.lots.length||Oe.value;const r=!!y.value,t=I.value||F.value,u=Qe.value!=null&&Qe.value>0;return{pieces:"ok",extraction:Me.value?.lots.length?"en_cours":Oe.value?"bloque":"ok",analyse:re.value?"bloque":r?"ok":"todo",revue:I.value||G.value?"ok":t?"en_cours":"todo",bilan:u||G.value?"ok":"todo",offre:cs(z.value?.offers)}});function Gt(r){return r==="ok"?"text-emerald-700 dark:text-emerald-300":r==="bloque"?"text-amber-700 dark:text-amber-300":r==="en_cours"?"text-primary-600 dark:text-primary-300":"text-grey-text"}function k(r){return r==null||!Number.isFinite(r)?"n/d":`${new Intl.NumberFormat("fr-FR").format(Math.round(r))} €`}function wa(r){return r==="go"?"Favorable au prix cible":r==="go_prudent"?A.value?.propose?.offre_max==null?"Avis à compléter : achat non chiffré":"Favorable au prix cible, avec prudence":r==="no_go"?"Défavorable même au prix cible":"n/d"}function Ca(r){return r==="go"?"bg-emerald-500/15 text-emerald-700 dark:text-emerald-300":r==="go_prudent"?"bg-amber-500/15 text-amber-800 dark:text-amber-200":r==="no_go"?"bg-rose-500/15 text-rose-700 dark:text-rose-300":"bg-gray-500/10 text-grey-text"}function $a(r){return r==="tendu"?"Tendu":r==="equilibre"?"Équilibré":r==="mou"?"Mou":"n/d"}function yr(r){return r==="habitation"?"Habitation":r==="commerce"?"Commerce":r==="terrain"?"Terrain":r==="parking"?"Parking":r==="dependance"?"Dépendance":r||"Autre"}function vr(r){return r==null||!Number.isFinite(r)?"n/d":`${r>0?"+":""}${r} %`}function tt(r){return[r.zipCode,r.city].filter(Boolean).join(" ")||"n/d"}const Kt=f(!1),se=f(null),w=f(null),Wt=f(!1),at=f("");async function qa(r){if(r.id){se.value=r,w.value=null,at.value="",Wt.value=!0,Kt.value=!0;try{const t=await M(`/admin/deals/${g}/similar/${encodeURIComponent(r.id)}`);t.resolved?w.value=t:at.value=t.reason==="not_configured"?"Yanport non configuré.":"Détail indisponible pour ce bien (annonce expirée côté Yanport)."}catch(t){at.value=E(t,"Détail indisponible.")}finally{Wt.value=!1}}}const Aa=m(()=>{const r=w.value?.ads??[];if(r.length)return r;const t=w.value?.adUrl;return t?[{url:t,portal:null,publicationDate:null}]:[]}),Ma=m(()=>{const r=w.value?.priceEvents??[];return r.map((t,u)=>{const _=u>0?r[u-1].price:null,C=_&&_>0?Math.round((t.price-_)/_*1e3)/10:null;return{...t,deltaPct:C}})}),gr=m(()=>{const r=B.value?.subject_listing;return r||(K.value?.subject_listing??null)}),fr=m(()=>{const r=Ot.value;if(!r)return[];const t=ve.value?.liquid_haircut_pct??10,u=_=>_?.margin_pct??"?";return[{key:"m_low",label:`Marché · marge ${u(r.market_low)} %`,ceiling:r.market_low},{key:"m_high",label:`Marché · marge ${u(r.market_high)} %`,ceiling:r.market_high},{key:"l_low",label:`Liquidité -${t} % · marge ${u(r.liquid_low)} %`,ceiling:r.liquid_low},{key:"l_high",label:`Liquidité -${t} % · marge ${u(r.liquid_high)} %`,ceiling:r.liquid_high}]});function Da(r){return r==="A"?"bg-emerald-500/15 text-emerald-700 dark:text-emerald-300":r==="B"?"bg-amber-500/15 text-amber-800 dark:text-amber-300":r==="C"?"bg-rose-500/15 text-rose-700 dark:text-rose-300":"bg-gray-500/10 text-grey-text"}function _r(r){return r==="approved"||r==="applied"?"bg-emerald-500/15 text-emerald-700 dark:text-emerald-300":r==="review"?"bg-primary-500/10 text-primary-700 dark:text-primary-300":r==="stale"?"bg-amber-500/15 text-amber-800 dark:text-amber-300":r==="superseded"?"bg-gray-500/10 text-grey-text":"bg-amber-500/10 text-amber-800 dark:text-amber-300"}function kr(r){return r==="approved"?"approuvée":r==="applied"?"appliquée":r==="review"?"revue":r==="stale"?"obsolète":r==="superseded"?"remplacée":r==="draft"?"brouillon":r||"n/d"}function hr(r){if(p.value)return;if(Ze.value){b.error(re.value?"Analyse obsolète : relancez DVF/Yanport avant de modifier les comps.":"Analyse figée (
1approuvée / appliquée) : relancez DVF/Yanport pour une nouvelle revue.");return}const t=new Set(ie.value);t.has(r)?t.delete(r):t.add(r),ie.value=[...t],Qt(!1)}function za(r,t,u){if(!p.value){if(Ze.value){b.error(re.value?"Analyse obsolète : relancez DVF/Yanport avant d'override.":"Analyse figée : relancez DVF/Yanport pour une nouvelle revue.");return}if(!t||t<=0){const _={...H.value};delete _[r],H.value=_}else H.value={...H.value,[r]:{ppsqm:t,rationale:u.trim()}};Qt(!1)}}function wr(){return Object.entries(H.value).map(([r,t])=>({index:Number(r),ppsqm:t.ppsqm,rationale:t.rationale||void 0}))}function Va(){for(const[r,t]of Object.entries(H.value))if(t.ppsqm>0&&!t.rationale.trim())return b.error(`Justification requise pour l'override du lot ${Number(r)+1}.`),Q.value=Number(r),!1;return!0}async function Qt(r){if(!y.value||p.value)return!1;if(!r&&Ze.value)return b.error(re.value?"Analyse obsolète : relancez DVF/Yanport.":"Analyse figée : relancez DVF/Yanport pour une nouvelle revue."),!1;if(r&&re.value)return b.error("Analyse obsolète : relancez DVF/Yanport avant d'enregistrer la revue."),!1;if(r&&(I.value||G.value))return b.error("Analyse déjà approuvée : relancez DVF/Yanport pour une nouvelle revue."),!1;if(r&&!Va())return!1;const t=++Ke;p.value=!0;try{const u=await M(`/admin/deals/${g}/analyze/revalue`,{method:"POST",body:{excludeKeys:ie.value,lotOverrides:wr(),persist:r}});return t!==Ke?!1:(R.value={lots:u.lots,estimated_resale_value:u.estimated_resale_value,confidence_grade:u.confidence_grade,comparables:u.comparables,pricing:u.pricing??null,liquid_haircut_pct:u.liquid_haircut_pct??null,condition_haircut_adj:u.condition_haircut_adj??null},r&&(b.success("Revue enregistrée. Les lots sont à revalider."),ie.value=[],H.value={},await W(),R.value=null),!0)}catch(u){return t===Ke&&b.error(E(u,"Revalorisation impossible.")),!1}finally{t===Ke&&(p.value=!1)}}async function rt(r,t){if(p.value)return!1;if(X.value)return b.error(R.value?"Enregistrez ou annulez la revue avant de décider les prix par lot.":"Analyse figée : relancez DVF/Yanport pour une nouvelle revue."),!1;if(t.scenario==="manual"){if(!(Number(t.manual_price)>0))return b.error(`Lot ${r+1} : saisissez un montant forcé.`),!1;if(String(t.rationale??"").trim().length<10)return b.error(`Lot ${r+1} : justification du montant forcé (10 caractères min).`),!1}p.value=!0,dt.value=r;try{return await M(`/admin/deals/${g}/analyze/lot-decisions`,{method:"PATCH",body:{decisions:[{index:r,...t}]}}),await W(),!0}catch(u){return b.error(E(u,"Décision de lot impossible.")),!1}finally{p.value=!1,dt.value=null}}function Zt(r,t){Ye.value=-1,rt(r,{scenario:t,validate:!1})}function Cr(r,t){rt(r,{quick_haircut_pct:t,validate:!1})}function Pa(r,t,u){Pe.value={...Pe.value,[r]:{...Pe.value[r],[t]:u}}}function $r(r){const t=J.value[r],u=Pe.value[r]??{},_=Number(u.amount??t?.scenario_price??0),C=String(u.rationale??t?.scenario_rationale??"").trim();rt(r,{scenario:"manual",manual_price:_,rationale:C,validate:!1})}async function qr(r,t){const u=!r.validated_at,_=r.scenario??"market",C={scenario:_,validate:u};_==="manual"&&(C.manual_price=Number(r.scenario_price)||0,C.rationale=r.scenario_rationale??""),await rt(t,C)&&b.success(u?"Lot validé.":"Validation retirée.")}async function Ar(){if(p.value||He.value)return;if(X.value){b.error(R.value?"Enregistrez ou annulez la revue avant de valider les lots.":"Analyse figée : relancez DVF/Yanport pour une nouvelle revue.");return}let r=0;const t=J.value.map((u,_)=>({l:u,index:_})).filter(({l:u})=>!u.validated_at).flatMap(({l:u,index:_})=>{const C=u.scenario??"market",D={index:_,scenario:C,validate:!0};if(C==="manual"){const L=Number(u.scenario_price),ue=(u.scenario_rationale??"").trim();if(!L||!ue)return r+=1,[];D.manual_price=L,D.rationale=ue}return[D]});if(!t.length){r&&b.error("Les lots en prix manuel exigent un prix et un motif avant validation.");return}He.value=!0,p.value=!0;try{await M(`/admin/deals/${g}/analyze/lot-decisions`,{method:"PATCH",body:{decisions:t}}),await W();const u=r?` ${r} lot${r>1?"s":""} en prix manuel ignoré${r>1?"s":""} (prix ou motif manquant).`:"";b.success(`${t.length} lot${t.length>
11?"s":""} validé${t.length>1?"s":""}.${u}`)}catch(u){b.error(E(u,"Validation des lots impossible."))}finally{p.value=!1,He.value=!1}}function Sa(r){const t=ne.value[r];return!!t?.assumed&&t.note.trim().length<20}function kt(r,t,u){return r.scenario===t||t==="manual"&&Ye.value===u?"bg-primary-600 text-white":"text-dark dark:text-white hover:bg-gray-100 dark:hover:bg-gray-800"}async function Mr(){if(!p.value){if(re.value){b.error("Analyse obsolète : relancez DVF/Yanport avant d'approuver.");return}if(R.value){b.error("Des chiffres de preview sont affichés : enregistrez la revue ou annulez les exclusions avant d'approuver.");return}if(Je.value){b.error("Motivez le risque assumé (20 caractères minimum) avant d'approuver.");return}if(F.value){b.error("Enregistrez la revue (exclusions / overrides) avant d'approuver.");return}if(xe.value&&!await De.flush()){b.error("Checklist non enregistrée : l'analyse n'a pas été approuvée.");return}if(Va()){if(ye.value.blocked){b.error("Complétez la checklist métier (pas de risque / pas de « à vérifier ») avant d'approuver.");return}if(F.value){b.error("Enregistrez la revue (exclusions / overrides) avant d'approuver.");return}if(va.value){b.error("Confirmez d'abord la poursuite dans l'encadré « Avis IA défavorable ».");return}p.value=!0;try{const r=await M(`/admin/deals/${g}/analyze/approve`,{method:"POST",body:{note:Le.value.trim()||void 0,quality_override_reason:We.value?void 0:be.value.trim()||void 0}}),t="quality_override"in r&&r.quality_override?.status==="pending_second_approval";b.success(t?"Dérogation demandée. Un administrateur doit la valider.":"Analyse approuvée."),be.value="",ut.value=[],await W()}catch(r){const t=us(r);t?(ut.value=t,b.error("Analyse fragile : documentez la dérogation dans l'encadré « Analyse fragile » puis ré-approuvez.")):b.error(E(r,"Approbation impossible."))}finally{p.value=!1}}}}async function Dr(){if(!p.value){if(!Bt.value){b.error(F.value||R.value?"Des modifications non enregistrées sont affichées : relancez DVF/Yanport (l'analyse est déjà approuvée) ou annulez le preview.":"Approuvez l'analyse avant de l'appliquer au bilan.");return}if(!Re.value){b.error("Confirmez explicitement l application au bilan.");return}p.value=!0;try{await M(`/admin/deals/${g}/analyze/apply-bilan`,{method:"POST",body:{}}),Re.value=!1,b.success("Prix appliqués au bilan."),await Ve(),await ta(q(`/admin/deals/${g}?tab=bilan`))}catch(r){b.error(E(r,"Application au bilan impossible."))}finally{p.value=!1}}}async function Ra(){if(!p.value){xt.value=!1,Ke++,p.value=!0,Ne.value="Collecte DVF + Yanport…";try{const r=await pt.launch(`/admin/deals/${g}/analyze`,{yanportSimilar:{size:$.value.size,zone:$.value.zone||null,maxDistanceM:$.value.maxDistanceM,surfaceTolPct:$.value.surfaceTolPct,matchRoomCount:$.value.matchRoomCount},yanportGroups:Object.keys(qe.value).length?Object.fromEntries(Object.entries(qe.value).map(([t,u])=>[t,la(u)])):void 0,dvfSold:{size:$.value.size,maxDistanceM:$.value.maxDistanceM,surfaceTolPct:$.value.surfaceTolPct,maxAgeMonths:$.value.maxAgeMonths}});if(r.status==="failed"){b.error(r.error);return}if(r.status!=="done"&&r.status!=="joined")return;if(r.status==="done"){const t=r.result;B.value=t?.yanport_live??null}b.success("Analyse marché terminée."),await W(),await Ve(),await Rt()}catch(r){b.error(E(r,"Analyse impossible."))}finally{p.value=!1,Ne.value=""}}}function Ue(){if(!p.value){if(F.value||xe.value||_t.value||Et.value){xt.value=!0;return}Ra()}}async function zr(){if(p.value)return;const r=Te.value.trim();if(r){p.value=!0;try{await M(`/admin/deals/${g}/analyst-notes`,{method:"POST",body:{body:r,linked_analysis_id:y.value?.id}}),Te.value="",b.success("Note enregistrée."),await ua()}catch(t){b.error(E(t,"Note non enregistrée."))}finally{p.value=!1}}}async function La(){await M(`/admin/deals/${g}`,{method:"PATCH",body:{analyst_checklist:Vt.value}}),await W(),await Fa()}const De=Zr({signature:()=>JSON.stringify(Vt.value),dirty:xe,incomplete:Je,enabled:()=>!p.value&&!I.value&&!G.value&&!F.value&&!R.value,save:La,onError:r=>b.error(E(r,"Checklist non enregistrée."))});async function Vr(){if(p.value)return;const r=Object.entries(ct.value).find(([t,u])=>u==="risk"&&ne.value[t]?.assumed&&ne.value[t].note.trim().length<20);if(r){b.error("Motivez le risque assumé (20 caractères minimum) avant d'enregistrer.");const t=document.getElementById(`checklist-note-${r[0]}`);t?.scrollIntoView({behavior:"smooth",block:"center"}),t?.focus();return}if(F.value||R.value){b.error("Enregistrez ou annulez d'abord la revue des comparables : l'enregistrement de la checklist la réinitialiserait.");return}if(xe.value){await De.flush()&&b.success("Checklist enregistrée.");return}p.value=!0;try{await La(),b.success("Checklist enregistrée.")}catch(t){b.error(E(t,"Checklist non enregistrée."))}finally{p.value=!1}}function Pr(){if(p.value)return;const r=globalThis.crypto.randomUUID();ee.value=[...ee.value,{draft_id:`manual-${r}`,type:"",surface:0,source_doc_ids:[],sources:[],conflicts:[],needs_review:!1}]}function Ta(r){if(!p.value){if(Be.value!==r){Be.value=r;return}ee.value=ee.value.filter(t=>t.draft_id!==r),Be.value="",he.value=!1}}function Sr(){if(!p.value){if(_t.value){yt.value=!0;return}Na()}}
1async function Na(){if(!p.value){yt.value=!1,p.value=!0;try{await M(`/admin/deals/${g}/extraction/propose`,{method:"POST"}),b.success("Lots détectés : validez puis appliquez au bilan."),await W()}catch(r){b.error(E(r,"Extraction impossible."))}finally{p.value=!1}}}async function Rr(){if(!(p.value||!Me.value||!Ht.value||Yt.value&&!he.value)){p.value=!0;try{await M(`/admin/deals/${g}/extraction/apply`,{method:"POST",body:bs(Me.value.fingerprint,he.value,ee.value)}),b.success("Lots appliqués au bilan. Relancez l'analyse."),await W(),await Ve()}catch(r){xs(r)?(b.error("Le brouillon a changé. Il a été rechargé, vérifiez les lots avant de reprendre."),await W()):b.error(E(r,"Application impossible."))}finally{p.value=!1}}}async function Lr(r){try{const{url:t}=await M(`/admin/deals/${g}/source-documents/${r}/url`);window.open(t,"_blank","noopener")}catch(t){b.error(E(t,"Ouverture impossible."))}}return(r,t)=>{const u=Yr,_=Jr,C=Kr,D=Wr,L=Gr,ue=as,Tr=rs,Nr=ss,Xt=os,Er=ns,jr=is;return l(),o("div",null,[h(u,{to:e(q)(`/admin/deals/${e(g)}`),class:"text-sm text-grey-text hover:text-dark dark:hover:text-white"},{default:P(()=>[...t[33]||(t[33]=[d(" ← Fiche opportunité ",-1)])]),_:1},8,["to"]),h(_,{ref_key:"preparationRef",ref:Z,"deal-id":e(g),"analysis-id":e(y)?.id,bilan:e(Ce),"refresh-key":JSON.stringify([e(y),e(Ce)]),"external-blocked":e(F)||e(xe)||e(_t)||e(Et)||e(p),onChanged:Y,onBilan:t[0]||(t[0]=s=>("navigateTo"in r?r.navigateTo:e(ta))(e(q)(`/admin/deals/${e(g)}?tab=bilan`)))},null,8,["deal-id","analysis-id","bilan","refresh-key","external-blocked"]),e(ge)?(l(),o("p",gs,[t[34]||(t[34]=d("Le dossier a changé. Vos modifications sont conservées. ",-1)),a("button",{type:"button",class:"min-h-11 font-medium underline",disabled:e(F)||e(p),onClick:Y},"Actualiser après enregistrement ou annulation de la revue",8,fs)])):i("",!0),a("details",{open:e(ce),onToggle:t[31]||(t[31]=s=>ce.value=s.target.open)},[t[153]||(t[153]=a("summary",{class:"min-h-11 cursor-pointer content-center text-base font-semibold text-dark dark:text-white"},"Reventes, preuves et revue détaillée",-1)),a("div",ks,[a("div",hs,[a("div",ws,[t[36]||(t[36]=a("p",{class:"text-xs uppercase tracking-[0.14em] font-semibold text-grey-text"},"Poste d'analyse",-1)),a("h1",Cs,n(e(z)?.title||"…"),1),a("p",$s,[d(n(e(z)?.city||"n/d")+" ",1),e(z)?.address?(l(),o("span",qs," · "+n(e(z).address),1)):i("",!0),e(z)?.historical?(l(),o("span",As," · archive"+n(e(z).source_numero?` #${e(z).source_numero}`:""),1)):i("",!0),e(z)?.listing_url?(l(),o("a",{key:2,href:e(z).listing_url,target:"_blank",rel:"noopener",class:"ml-1 text-xs text-primary-600 dark:text-primary-300 hover:underline"},"Voir l'annonce",8,Ms)):(l(),st(u,{key:3,to:e(q)(`/admin/deals/${e(g)}`),class:"ml-1 text-xs text-amber-700 dark:text-amber-300 hover:underline"},{default:P(()=>[...t[35]||(t[35]=[d("Coller l'URL d'annonce sur la fiche",-1)])]),_:1},8,["to"]))])]),a("div",Ds,[a("span",zs,[d(n(k(e(xa)))+" ",1),t[37]||(t[37]=a("span",{class:"text-xs font-normal text-grey-text"},"revente",-1))]),e(Qe)!=null?(l(),o("span",Vs,[d(n(k(e(Qe)))+" ",1),t[38]||(t[38]=a("span",{class:"text-xs"},"achat bilan",-1))])):i("",!0),e(A)?.verdict?(l(),o("span",{key:1,class:S(["inline-flex h-7 items-center rounded px-2 text-xs font-semibold",Ca(e(A).verdict)])},n(wa(e(A).verdict)),3)):i("",!0),e(xr)?.over?(l(),o("span",Ps,"Asking > plafond")):i("",!0),a("span",{class:S(["inline-flex h-7 items-center rounded px-2 text-xs font-semibold",_r(e(Ie))])},n(kr(e(Ie))),3),a("span",{class:S(["inline-flex h-7 min-w-7 items-center justify-center rounded px-2 text-sm font-semibold",Da(e(Tt))]),title:"Confiance moteur"},n(e(Tt)),3)])]),a("nav",Ss,[(l(),o(x,null,V(er,s=>(l(),o(x,{key:s.key},[pa(s.key)?(l(),st(u,{key:0,to:pa(s.key),class:S(["font-semibold hover:underline shrink-0",Gt(e(Jt)[s.key])])},{default:P(()=>[d(n(s.label),1)]),_:2},1032,["to","class"])):e(ar)[s.key]?(l(),o("button",{key:1,type:"button",class:S(["font-semibold uppercase tracking-wide hover:underline shrink-0",Gt(e(Jt)[s.key])]),onClick:c=>rr(s.key)},n(s.label),11,Rs)):(l(),o("span",{key:2,class:S(["font-semibold shrink-0",Gt(e(Jt)[s.key])])},n(s.label),3))],64))),64)),a("span",Ls,[e(fe)?(l(),o(x,{key:0},[h(C,{name:"solar:refresh-linear",class:"h-3.5 w-3.5 motion-safe:animate-spin","aria-hidden":"true"}),d(" "+n(e(Ne)),1)],64)):i("",!0)])]),a("div",Ts,[e(Ua)?(l(),o("span",Ns,[h(C,{name:"solar:refresh-linear",class:"h-3.5 w-3.5 animate-spin"}),t[39]||(t[39]=d(" Actualisation…",-1))])):i("",!0),h(D,{variant:"ghost",class:"gap-2",disabled:e(p),"aria-busy":e(fe),onClick:Ue},{default:P(()=>[e(fe)?(l(),st(C,{key:0,name:"solar:refresh-linear",class:"h-4 w-4 motion-safe:animate-spin","aria-hidden":"true"})):i("",!0),d(" "+n(e(fe)?"Analyse en cours…":"Relancer DVF/Yanport"),1)]),_:1},8,["disabled","aria-busy"]),h(D,{variant:"ghost",disabled:e(p)||!e(y)||!e(F)||e(re)||e(I)||e(G),onClick:t[1]||(t[1]=s=>
1Qt(!0))},{default:P(()=>[...t[40]||(t[40]=[d("Enregistrer revue",-1)])]),_:1},8,["disabled"]),e(F)?(l(),st(D,{key:1,variant:"ghost",disabled:e(p),onClick:ur},{default:P(()=>[...t[41]||(t[41]=[d("Annuler la revue",-1)])]),_:1},8,["disabled"])):i("",!0),h(D,{variant:"ghost",disabled:e(p)||!e(pr),onClick:Mr},{default:P(()=>[d(n(e(We)?"Valider la dérogation":"Approuver"),1)]),_:1},8,["disabled"]),e(Bt)?(l(),o("label",Es,[O(a("input",{"onUpdate:modelValue":t[2]||(t[2]=s=>ze(Re)?Re.value=s:null),type:"checkbox",disabled:e(p)},null,8,js),[[nt,e(Re)]]),t[42]||(t[42]=d(" Confirmer bilan",-1))])):i("",!0),h(D,{disabled:e(p)||!e(Bt)||!e(Re),onClick:Dr},{default:P(()=>[...t[43]||(t[43]=[d("Appliquer au bilan",-1)])]),_:1},8,["disabled"])]),e(Ft).length?(l(),o("ul",Fs,[t[44]||(t[44]=a("li",{class:"font-semibold text-amber-900 dark:text-amber-200","aria-hidden":"true"},"Avant d'approuver :",-1)),(l(!0),o(x,null,V(e(Ft),s=>(l(),o("li",{key:s.key},[s.anchor?(l(),o("button",{key:0,type:"button",class:"underline decoration-dotted underline-offset-2 hover:text-amber-950 dark:hover:text-amber-100",onClick:c=>mr(s)},n(s.label),9,Is)):(l(),o("span",Os,n(s.label),1))]))),128))])):i("",!0)]),h(L,{"deal-id":e(g),"refresh-key":JSON.stringify([e(y),e(Ce)]),"external-blocked":e(F)||e(fe)},null,8,["deal-id","refresh-key","external-blocked"]),e(xt)?(l(),o("section",Bs,[t[47]||(t[47]=a("h2",{id:"analysis-relaunch-title",class:"font-semibold text-amber-950 dark:text-amber-100"}," Relancer l'analyse marché ? ",-1)),t[48]||(t[48]=a("p",{id:"analysis-relaunch-description",class:"mt-1 text-sm text-amber-900 dark:text-amber-200"}," La revue, la checklist ou le brouillon d'extraction contient des modifications non enregistrées. La relance les remplacera par une nouvelle analyse. ",-1)),t[49]||(t[49]=a("p",{class:"mt-1 text-sm text-amber-900 dark:text-amber-200"}," Les validations par lot seront réinitialisées ; les scénarios des lots identifiés sont conservés. ",-1)),a("div",Us,[h(D,{variant:"ghost",size:"sm",onClick:t[3]||(t[3]=s=>xt.value=!1)},{default:P(()=>
1[...t[45]||(t[45]=[d("Annuler",-1)])]),_:1}),h(D,{size:"sm",onClick:Ra},{default:P(()=>[...t[46]||(t[46]=[d("Relancer et remplacer",-1)])]),_:1})])])):i("",!0),e(yt)?(l(),o("section",Ys,[t[52]||(t[52]=a("h2",{id:"extraction-relaunch-title",class:"font-semibold text-amber-950 dark:text-amber-100"},"Rechercher à nouveau dans les pièces ?",-1)),t[53]||(t[53]=a("p",{id:"extraction-relaunch-description",class:"mt-1 text-sm text-amber-900 dark:text-amber-200"}," Les corrections locales du brouillon d'extraction seront remplacées par une nouvelle proposition. ",-1)),a("div",Hs,[h(D,{variant:"ghost",size:"sm",onClick:t[4]||(t[4]=s=>yt.value=!1)},{default:P(()=>[...t[50]||(t[50]=[d("Annuler",-1)])]),_:1}),h(D,{size:"sm",onClick:Na},{default:P(()=>[...t[51]||(t[51]=[d("Rechercher et remplacer",-1)])]),_:1})])])):i("",!0),e(qt)&&e(z)?(l(),o("div",Js,[t[54]||(t[54]=d(" Actualisation impossible : les données affichées peuvent être périmées. ",-1)),a("button",{type:"button",class:"ml-1 font-medium underline",onClick:t[5]||(t[5]=()=>e(W)())},"Réessayer")])):i("",!0),h(ue,{class:"mb-4",snapshot:e(pt).snapshot.value,announce:!1,onRetry:Ue,onDismiss:t[6]||(t[6]=s=>e(pt).reset())},null,8,["snapshot"]),e(Ba)?(l(),o("p",Gs,"Chargement…")):e(qt)&&!e(z)?(l(),o("div",Ks,[d(n(e(E)(e(qt),"Dossier et analyses indisponibles."))+" ",1),a("button",{type:"button",class:"ml-2 font-medium underline",onClick:t[7]||(t[7]=()=>e(W)())},"Réessayer")])):e(y)?(l(),o(x,{key:6},[e(sr)?(l(),o("div",Qs,[t[56]||(t[56]=d(" Aucune donnée marché (géocodage ou DVF indisponible) : valeurs calculées sur un forfait de 3 500 €/m². Ne pas utiliser pour une offre. ",-1)),a("button",{type:"button",class:"ml-2 underline font-medium",disabled:e(p),onClick:Ue},"Relancer",8,Zs)])):i("",!0),e(re)?(l(),o("div",Xs,[t[57]||(t[57]=d(" Analyse obsolète (état des lots modifié). Relancez DVF/Yanport avant d'enregistrer une revue, d'approuver ou d'appliquer au bilan. ",-1)),a("button",{type:"button",class:"ml-2 underline font-medium",disabled:e(p),onClick:Ue},"Relancer",8,en)])):e(G)?(l(),o("div",tn,[t[58]||(t[58]=d(" Prix déjà appliqués au bilan. Pour une nouvelle revue, relancez DVF/Yanport. ",-1)),a("button",{type:"button",class:"ml-2 underline font-medium",disabled:e(p),onClick:Ue},"Relancer",8,an)])):e(I)?(l(),o("div",rn," Analyse approuvée. Vous pouvez appliquer les prix retenus au bilan (coûts et marge conservés). ")):i("",!0),(e(xe)||e(Je))&&!e(I)&&!e(G)?(l(),o("div",sn,[e(Je)?(l(),o(x,{key:0},[d(" Checklist modifiée localement : une note de risque assumé (20 caractères minimum) doit d'abord être complétée. ")],64)):e(De).state.value==="error"?(l(),o(x,{key:1},[d(" Checklist non enregistrée : réessayez depuis la section Checklist métier. ")],64)):(l(),o(x,{key:2},[d(" Checklist en cours d'enregistrement… ")],64))])):i("",!0),e(F)&&!e(I)&&!e(G)&&!e(re)?(l(),o("div",nn," Revue non enregistrée (exclusions / overrides). Cliquez « Enregistrer revue » avant d'approuver. ")):i("",!0),!e(vt)&&!e(I)&&!e(G)&&!e(re)&&!e(Oe)&&!e(R)?(l(),o("div",ln," Valorisation par lot incomplète ("+n(e(jt))+"/"+n(e(J).length)+" lots validés). Validez chaque lot (scénario ou montant forcé) avant d'approuver. ",1)):i("",!0),(e(F)||e(R))&&e(I)?(l(),o("div",on," Preview local actif alors que l'analyse est déjà approuvée. « Appliquer au bilan » utilise l'analyse persistée, pas ce preview. Relancez DVF/Yanport pour une nouvelle revue. ")):i("",!0),e(ya)?(l(),o("p",dn,[t[59]||(t[59]=d(" Analyse fondée sur la ",-1)),h(u,{to:e(q)(`/admin/deals/${e(g)}?tab=study&base=1`),class:"font-medium text-primary-600 underline-offset-4 hover:underline dark:text-primary-300"},{default:P(()=>[d("base d'étude v"+n(e(ya)),1)]),_:1},8,["to"]),t[60]||(t[60]=d(". ",-1))])):e(y)?.sortie?.lot_plan_source!=="study_base"&&!e(Oe)?(l(),o("p",un," Analyse fondée sur les lots du bilan (base d'étude non validée). ")):i("",!0),e(Oe)?(l(),o("div",cn,[t[61]||(t[61]=d(" Lots génériques (mix T2/T3/T4). Saisissez les lots réels ou appliquez l'extraction avant d'approuver. ",-1)),a("button",{type:"button",class:"ml-2 underline font-medium",disabled:e(p),onClick:Sr},"Chercher dans les pièces",8,pn)])):i("",!0),e(ye).blocked&&!e(I)?(l(),o("div",mn,[d(" Checklist métier à compléter avant approbation / envoi d'offre ("+n(e(ye).risks.length+e(ye).pending.length)+" point"+n(e(ye).risks.length+e(ye).pending.length>
11?"s":"")+"). ",1),a("button",{type:"button",class:"ml-1 underline font-medium",onClick:t[8]||(t[8]=s=>It("checklist-metier"))},"Ouvrir la checklist")])):i("",!0),h(Tr,{class:"mb-4","deal-id":e(g),analysis:e(y),onSaved:e(W),"onUpdate:dirty":t[9]||(t[9]=s=>ia.value=s)},null,8,["deal-id","analysis","onSaved"]),e(Nt).length?(l(),o("section",bn,[t[64]||(t[64]=a("p",{class:"font-semibold text-amber-950 dark:text-amber-100"},"Analyse fragile : dérogation motivée requise",-1)),a("p",xn,"Signaux : "+n(e(Nt).map(e(ds)).join(", "))+".",1),e(We)?(l(),o(x,{key:0},[a("p",yn,[d(" Dérogation demandée par "+n(e(y)?.actor_names?.quality_requested_by?.full_name||e(y)?.actor_names?.quality_requested_by?.email||e(y)?.quality_override_requested_by)+" ",1),e(y)?.quality_override_requested_at?(l(),o(x,{key:0},[d(" le "+n(new Date(e(y).quality_override_requested_at).toLocaleString("fr-FR")),1)],64)):i("",!0),t[62]||(t[62]=d(". Un administrateur doit approuver. ",-1))]),e(y)?.quality_override_reason?(l(),o("p",vn,"Motif : "+n(e(y).quality_override_reason),1)):i("",!0),e(oe)&&e(oe).role!=="admin"?(l(),o("p",gn,"La validation est réservée à un administrateur.")):i("",!0)],64)):(l(),o("label",fn,[t[63]||(t[63]=a("span",{class:"text-amber-950 dark:text-amber-100"},"Motif documenté de la dérogation (20 à 1 000 caractères)",-1)),O(a("textarea",{"onUpdate:modelValue":t[10]||(t[10]=s=>ze(be)?be.value=s:null),rows:"2",maxlength:"1000",disabled:e(Xe),class:"mt-1 w-full rounded border border-amber-300 dark:border-amber-700 bg-white/70 dark:bg-gray-900/60 px-2 py-1.5 text-sm",placeholder:"Expliquez les recoupements et contrôles manuels réalisés."},null,8,_n),[[we,e(be)]]),a("span",kn,n(e(be).trim().length)+"/1000",1)]))])):i("",!0),e(Me)?.lots.length?(l(),o("div",hn,[a("p",null,n(e(ee).length)+" lot(s) détecté(s) dans les pièces (non appliqués). Vérifiez puis appliquez.",1),a("div",wn,[a("table",Cn,[t[68]||(t[68]=a("thead",null,[a("tr",{class:"text-left text-grey-text border-b border-gray-200 dark:border-gray-700"},[a("th",{class:"py-1 pr-2"},"Type"),a("th",{class:"pr-2"},"Surface"),a("th",{class:"pr-2"},"Occupation"),a("th",{class:"pr-2"},"Charges / sources"),a("th",null,"État / prix"),a("th",{class:"pl-2 text-right"},"Action")])],-1)),a("tbody",null,[(l(!0),o(x,null,V(e(ee),s=>(l(),o("tr",{key:s.draft_id,class:"border-b border-gray-100 dark:border-gray-800 align-top"},[a("td",$n,[a("label",{class:"sr-only",for:`extract-type-${s.draft_id}`},"Type du lot",8,qn),O(a("input",{id:`extract-type-${s.draft_id}`,"onUpdate:modelValue":c=>s.type=c,disabled:e(p),class:"w-16 rounded border border-gray-300 dark:border-gray-600 bg-transparent px-1"},null,8,An),[[we,s.type]])]),a("td",Mn,[a("label",{class:"sr-only",for:`extract-surface-${s.draft_id}`},"Surface du lot",8,Dn),O(a("input",{id:`extract-surface-${s.draft_id}`,"onUpdate:modelValue":c=>s.surface=c,disabled:e(p),type:"number",min:"0.1",max:"100000",step:"0.1",class:"w-20 rounded border border-gray-300 dark:border-gray-600 bg-transparent px-1 tabular-nums"},null,8,zn),[[we,s.surface,void 0,{number:!0}]]),t[65]||(t[65]=d(" m²",-1))]),a("td",Vn,[a("label",{class:"sr-only",for:`extract-occupation-${s.draft_id}`},"Occupation du lot",8,Pn),O(a("select",{id:`extract-occupation-${s.draft_id}`,"onUpdate:modelValue":c=>s.occupation=c,disabled:e(p),class:"ui-select rounded border border-gray-300 dark:border-gray-600 bg-transparent px-1"},[...t[66]||(t[66]=[a("option",{value:void 0},"n/d",-1),a("option",{value:"vacant"},"Vide",-1),a("option",{value:"loue"},"Loué",-1),a("option",{value:"mixte"},"Mixte",-1)])],8,Sn),[[wt,s.occupation]])]),a("td",null,[a("label",{class:"sr-only",for:`extract-charges-${s.draft_id}`},"Charges mensuelles",8,Rn),O(a("input",{id:`extract-charges-${s.draft_id}`,"onUpdate:modelValue":c=>s.charges_mensuelles=c,disabled:e(p),type:"number",min:"0",max:"100000",step:"1",class:"w-16 rounded border border-gray-300 dark:border-gray-600 bg-transparent px-1 tabular-nums",placeholder:"€"},null,8,Ln),[[we,s.charges_mensuelles,void 0,{number:!0}]]),t[67]||(t[67]=d()),a("span",Tn,n(s.sources.length?`${s.identifier||"Sans numéro"}${s.etage_niveau?` · ${s.etage_niveau}`:""} · ${s.sources.map(c=>`${c.doc_type}:${c.doc_id}`).join(", ")}`:"Ajout manuel"),1),s.conflicts.length?(l(),o("p",Nn,"Conflit : "+n(s.conflicts.map(c=>`${c.field} (${c.values.join(" / ")})`).join(", ")),1)):i("",!0)]),a("td",null,[a("label",{class:"sr-only",for:`extract-condition-${s.draft_id}`},"État du lot",8,En),O(a("input",{id:`extract-condition-${s.draft_id}`,"onUpdate:modelValue":c=>s.condition=c,disabled:e(p),class:"mb-1 w-20 rounded border border-gray-300 dark:border-gray-600 bg-transparent px-1",placeholder:"État"},null,8,jn),[[we,s.condition]]),a("label",{class:"sr-only",for:`extract-ppsqm-${s.draft_id}`},"Prix au mètre carré",8,Fn),O(a("input",{id:`extract-ppsqm-${s.draft_id}`,"onUpdate:modelValue":c=>s.ppsqm=c,disabled:e(p),type:"number",min:"0",max:"100000",class:"w-20 rounded border border-gray-300 dark:border-gray-600 bg-transparent px-1",placeholder:"€/m²"},null,8,In),[[we,s.ppsqm,void 0,{number:!0}]])]),a("td",On,[e(Be)===s.draft_id?(l(),o("div",Bn,[a("button",{type:"button",class:"text-grey-text underline",disabled:e(p),onClick:t[11]||(t[11]=c=>Be.value="")},"Annuler",8,Un),a("button",{type:"button",class:"font-medium text-danger underline",disabled:e(p),onClick:c=>Ta(s.draft_id)},"Confirmer",8,Yn)])):(l(),o("button",{key:1,type:"button",class:"text-danger underline",disabled:e(p),"aria-label":`Supprimer le lot ${s.type||"sans type"}`,onClick:c=>Ta(s.draft_id)},"Supprimer",8,Hn))])]))),128))])])]),a("button",{type:"button",class:"text-sm font-medium text-primary-600 dark:text-primary-300 underline",disabled:e(p),onClick:Pr},"+ Ajouter un lot manquant",8,Jn),e(Yt)?(l(),o("label",Gn,[O(a("input",{"onUpdate:modelValue":t[12]||(t[12]=s=>ze(he)?he.value=s:null),type:"checkbox",class:"mt-0.5"},null,512),[[nt,e(he)]]),t[69]||(t[69]=d(" Je confirme les conflits et rapprochements signalés.",-1))])):i("",!0),e(Ht)?i("",!0):(l(),o("p",Kn,"Renseignez un type, une surface positive et des charges valides.")),h(D,{size:"sm",disabled:e(p)||!e(Ht)||e(Yt)&&!e(he),onClick:Rr},{default:P(()=>[...t[70]||(t[70]=[d("Appliquer au bilan",-1)])]),_:1},8,["disabled"])])):i("",!0),a("section",Wn,[a("div",Qn,[t[71]||(t[71]=a("p",{class:"text-xs uppercase tracking-[0.14em] font-semibold text-grey-text"},"État lot (vision)",-1)),a("button",{type:"button",class:"text-xs text-primary-600 dark:text-primary-300 underline",disabled:e(p),onClick:St},"Actualiser photos",8,Zn)]),t[78]||(t[78]=a("p",{class:"text-sm text-grey-text"}," 1 à 3 photos du dossier → proposition d'état → vous confirmez. Le haircut liquidité est recalculé à la prochaine analyse. ",-1)),e(Ge)?(l(),o("p",Xn,[d(n(e(Ge))+" ",1),a("button",{type:"button",class:"underline font-medium",disabled:e(mt),onClick:St},"Réessayer",8,el)])):i("",!0),e(ra)?(l(),o("div",tl,[d(n(e(E)(e(ra),"Bilan indisponible."))+" ",1),a("button",{type:"button",class:"ml-1 font-medium underline",onClick:t[13]||(t[13]=()=>e(Ve)())},"Réessayer")])):e(Pt).length?(l(),o(x,{key:3},[a("label",rl,[t[72]||(t[72]=a("span",{class:"text-grey-text"},"Lot",-1)),O(a("select",{"onUpdate:modelValue":t[14]||(t[14]=s=>ze(ke)?ke.value=s:null),disabled:e(p),class:"ui-select h-8 rounded border border-gray-300 dark:border-gray-600 bg-transparent px-2 text-sm"},[(l(!0),o(x,null,V(e(Pt),s=>(l(),o("option",{key:s.rawIndex,value:s.rawIndex}
1,[d(n(s.rawIndex+1)+". "+n(s.lot.type||"Lot")+" · "+n(s.lot.surface)+" m² ",1),s.lot.condition?(l(),o(x,{key:0},[d(" ("+n(s.lot.condition)+")",1)],64)):i("",!0)],8,nl))),128))],8,sl),[[wt,e(ke),void 0,{number:!0}]])]),e(mt)?(l(),o("p",ll,"Chargement des photos…")):!e(Ge)&&!e(Ee).length?(l(),o("div",ol,[t[74]||(t[74]=d(" Aucune photo dossier compatible (JPEG / PNG / WebP). ",-1)),e(je)?(l(),o("span",il,n(e(je))+" fichier(s) HEIC exclus.",1)):i("",!0),h(u,{to:e(q)(`/admin/deals/${e(g)}?tab=pieces`),class:"ml-1 font-medium text-primary-600 underline-offset-4 hover:underline dark:text-primary-300"},{default:P(()=>[...t[73]||(t[73]=[d("Déposer des photos dans l'onglet Pièces →",-1)])]),_:1},8,["to"])])):e(je)?(l(),o("p",dl,n(e(je))+" photo(s) HEIC exclue(s) : convertissez en JPEG pour la vision. ",1)):i("",!0),e(Ee).length?(l(),o("div",ul,[(l(!0),o(x,null,V(e(Ee),s=>(l(),o("button",{key:s.id,type:"button",class:S(["relative w-20 h-20 rounded overflow-hidden border-2 text-left",e(ae).includes(s.id)?"border-primary-500":"border-gray-200 dark:border-gray-700"]),title:s.file_name||s.id,"aria-label":`${e(ae).includes(s.id)?"Désélectionner":"Sélectionner"} ${s.file_name||"la photo du dossier"}`,"aria-pressed":e(ae).includes(s.id),disabled:e(p),onClick:c=>Wa(s.id)},[e(Ae)[s.id]?.url?(l(),o("img",{key:0,src:e(Ae)[s.id].url,alt:s.file_name?`Aperçu ${s.file_name}`:"Aperçu photo du dossier",class:"w-full h-full object-cover",onError:c=>Ka(s.id)},null,40,pl)):(l(),o("span",ml,n((s.file_name||"photo").slice(0,18)),1)),e(ae).includes(s.id)?(l(),o("span",bl,[h(C,{name:"solar:check-circle-linear",class:"h-3.5 w-3.5"})])):i("",!0)],10,cl))),128))])):i("",!0),a("div",xl,[h(D,{size:"sm",disabled:e(p)||!e(ae).length,onClick:Qa},{default:P(()=>[...t[75]||(t[75]=[d("Proposer l'état",-1)])]),_:1},8,["disabled"]),a("span",yl,n(e(ae).length)+"/3 photo(s)",1)]),e(U)?(l(),o("div",vl,[a("p",null,[a("span",gl,n(e(U).proposedCondition),1),a("span",fl," · confiance "+n(Math.round(e(U).confidence*100))+" %",1),a("span",_l," · lot "+n(e(U).lotIndex+1),1)]),a("p",kl,n(e(U).rationale),1),a("p",hl," Hypothèse de vente rapide : "+n(da(e(U).haircutPreview.label))+" ("+n(e(U).haircutPreview.effective_pct)+" %) ",1),a("label",wl,[O(a("input",{"onUpdate:modelValue":t[15]||(t[15]=s=>ze(me)?me.value=s:null),type:"checkbox",disabled:e(p)},null,8,Cl),[[nt,e(me)]]),t[76]||(t[76]=d(" Je confirme cet état pour ce lot.",-1))]),h(D,{size:"sm",disabled:e(p)||!e(me),onClick:Za},{default:P(()=>[...t[77]||(t[77]=[d("Confirmer sur le bilan",-1)])]),_:1},8,["disabled"])])):i("",!0)],64)):(l(),o("div",al," Aucun lot dans le bilan. Saisissez les lots sur la fiche ou appliquez l'extraction. "))]),e(et)||e(Ut)||e(ft).length?(l(),o("div",$l,[e(Ut)?(l(),o("span",ql,"DVF sans comparable retenu. ")):i("",!0),e(et)?(l(),o("span",Al,n(e(et).startsWith("Yanport")?e(et):`Yanport partiel : ${e(et)}`),1)):e(ft).length?(l(),o("span",Ml,"Yanport incomplet sur ce run ("+n(e(ft).length)+" appel"+n(e(ft).length>1?"s":"")+" en échec) : des compteurs à zéro peuvent venir de la panne, pas du marché. Relancez avant d'approuver.",1)):e(Ut)?(l(),o("span",Dl,"Le conseil reste indicatif.")):i("",!0)])):i("",!0),e(A)?(l(),o("section",zl,[a("div",Vl,[a("div",Pl,[t[79]||(t[79]=a("p",{class:"text-xs uppercase tracking-[0.14em] font-semibold text-grey-text"},"Avis IA indicatif",-1)),a("span",{class:S(["inline-flex h-7 items-center rounded px-2 text-xs font-semibold",Ca(e(A).verdict)])},n(wa(e(A).verdict)),3)]),a("p",Sl,n(e(y)?.ai_model&&e(y).ai_model!=="template"?e(y).ai_model:"modèle indicatif"),1)]),a("div",Rl,[t[80]||(t[80]=a("span",{class:"inline-flex h-6 items-center rounded bg-gray-100 dark:bg-gray-800 px-2 text-[11px] font-medium text-grey-text"}," Chiffres à l'instant du lancement de l'analyse ",-1)),e(cr)?(l(),o("span",Ll," Des décisions par lot sont intervenues depuis : montants indicatifs. ")):i("",!0)]),t[91]||(t[91]=a("p",{class:"text-sm text-grey-text"}," Cet avis assiste l'analyste. Le staff conserve la décision finale et peut poursuivre jusqu'à l'offre. ",-1)),a("div",Tl,[a("div",Nl,[t[81]||(t[81]=a("p",{class:"text-[11px] uppercase tracking-wide text-grey-text"},"On propose",-1)),a("p",El,n(k(e(A).propose?.offre_max)),1),e(A).propose?.fourchette?(l(),o("p",jl," Fourchette "+n(k(e(A).propose.fourchette.min))+" – "+n(k(e(A).propose.fourchette.max)),1)):i("",!0)]),a("div",Fl,[t[82]||(t[82]=a("p",{class:"text-[11px] uppercase tracking-wide text-grey-text"},"On revend",-1)),a("p",Il,n(k(e(A).vendre?.revente_marche)),1),a("p",Ol,[d(" Liquide "+n(k(e(A).vendre?.revente_liquide))+" ",1),e(A).vendre?.ppsqm_mar
1che&&e(y)?.sortie?.ppsqm_source!=="non_residential_lot_basis"?(l(),o("span",Bl," · "+n(k(e(A).vendre.ppsqm_marche))+"/m²",1)):i("",!0)])]),a("div",Ul,[t[83]||(t[83]=a("p",{class:"text-[11px] uppercase tracking-wide text-grey-text"},"Tension d'achat",-1)),a("p",Yl,n($a(e(gt)?.label)),1),a("p",Hl," Score "+n(e(gt)?.score??"n/d")+"/100 · ~"+n(e(A).delai?.jours??"n/d")+" j ",1)]),a("div",Jl,[t[84]||(t[84]=a("p",{class:"text-[11px] uppercase tracking-wide text-grey-text"},"Tension locative",-1)),a("p",Gl,n($a(e(de)?.label)),1),a("p",Kl,[e(de)?.loyer_mensuel_estime!=null?(l(),o(x,{key:0},[d(" ~"+n(k(e(de).loyer_mensuel_estime))+"/mois ",1)],64)):i("",!0),e(de)?.rendement_brut_pct!=null?(l(),o(x,{key:1},[d(" · "+n(e(de).rendement_brut_pct)+" % ",1)],64)):i("",!0),e(de)?.loyer_mensuel_estime==null&&e(de)?.rendement_brut_pct==null?(l(),o(x,{key:2},[d(" Score "+n(e(de)?.score??"n/d")+"/100 ",1)],64)):i("",!0)])])]),e(A).narratif?(l(),o("p",Wl,n(e(A).narratif),1)):e(y)?.ai_summary?(l(),o("p",Ql,n(e(y).ai_summary),1)):i("",!0),e(A).demembrement?(l(),o("div",Zl,[t[86]||(t[86]=a("p",{class:"text-[11px] uppercase tracking-wide text-grey-text"},"Démembrement & estimations",-1)),e(A).demembrement.resume?(l(),o("p",Xl,n(e(A).demembrement.resume),1)):i("",!0),e(fa).length?(l(),o("div",eo,[a("table",to,[t[85]||(t[85]=a("thead",null,[a("tr",{class:"text-left text-xs text-grey-text border-b border-gray-200 dark:border-gray-700"},[a("th",{class:"py-2 pr-2"},"#"),a("th",{class:"pr-2"},"Lot"),a("th",{class:"pr-2"},"Classe"),a("th",{class:"pr-2"},"Surf."),a("th",{class:"pr-2"},"Valeur retenue"),a("th",{class:"pr-2"},"vs marché"),a("th",{class:"pr-2"},"Marché"),a("th",{class:"pr-2"},"Liquide"),a("th",{class:"pr-2"},"Profil"),a("th",null,"Lecture")])],-1)),a("tbody",null,[(l(!0),o(x,null,V(e(fa),s=>(l(),o("tr",{key:s.index,class:"border-b border-gray-100 dark:border-gray-800 align-top"},[a("td",ao,n(s.index),1),a("td",ro,[d(n(s.type)+" ",1),s.analysis_reused?(l(),o("span",so," Analyse du lot "+n(Number(s.analysis_reference_index)+1)+" réutilisée ",1)):i("",!0)]),a("td",no,n(yr(s.classe)),1),a("td",lo,n(s.surface)+" m²",1),a("td",oo,n(k(s.ppsqm_retenu))+n(s.valuation_basis==="unit"?"/unité":"/m²"),1),a("td",io,n(vr(s.gap_vs_marche_pct)),1),a("td",uo,n(k(s.prix_marche)),1),a("td",co,n(k(s.prix_liquide)),1),a("td",po,n(s.profil),1),a("td",mo,n(s.lecture),1)]))),128))])])])):i("",!0)])):i("",!0),a("div",bo,[e(gt)?.signaux?.length?(l(),o("div",xo,[t[87]||(t[87]=a("p",{class:"text-[11px] uppercase tracking-wide text-grey-text"},"Signaux achat",-1)),a("ul",yo,[(l(!0),o(x,null,V(e(gt).signaux,(s,c)=>(l(),o("li",{key:"a"+c},n(s),1))),128))])])):i("",!0),e(de)?.signaux?.length?(l(),o("div",vo,[t[88]||(t[88]=a("p",{class:"text-[11px] uppercase tracking-wide text-grey-text"},"Signaux locatif",-1)),a("ul",go,[(l(!0),o(x,null,V(e(de).signaux,(s,c)=>(l(),o("li",{key:"l"+c},n(s),1))),128))])])):i("",!0)]),a("div",fo,[e(A).risques?.length?(l(),o("div",_o,[t[89]||(t[89]=a("p",{class:"text-[11px] uppercase tracking-wide text-grey-text mb-1"},"Risques",-1)),a("ul",ko,[(l(!0),o(x,null,V(e(A).risques,(s,c)=>(l(),o("li",{key:c},n(s),1))),128))])])):i("",!0),e(A).prochaines_actions?.length?(l(),o("div",ho,[t[90]||(t[90]=a("p",{class:"text-[11px] uppercase tracking-wide text-grey-text mb-1"},"Prochaines actions",-1)),a("ul",wo,[(l(!0),o(x,null,V(e(A).prochaines_actions,(s,c)=>(l(),o("li",{key:c},n(s),1))),128))])])):i("",!0)]),e(A).propose?.justification?(l(),o("p",Co,n(e(A).propose.justification),1)):i("",!0)])):i("",!0),a("div",$o,[a("div",qo,[t[92]||(t[92]=a("p",{class:"text-[11px] uppercase tracking-wide text-grey-text"},"Revente marché",-1)),a("p",Ao,n(k(e(xa))),1)]),a("div",Mo,[a("p",Do,"Revente -"+n(e(ve)?.liquid_haircut_pct??10)+" % (liquidité)",1),a("p",zo,n(k(e(br))),1)]),a("div",Vo,[a("p",Po,"Achat max marge "+n(e(Ot)?.market_high?.margin_pct??30)+" %",1),a("p",So,n(k(e(ga))),1)]),a("div",Ro,[t[93]||(t[93]=a("p",{class:"text-[11px] uppercase tracking-wide text-grey-text"},"Achat bilan actuel",-1)),a("p",Lo,n(k(e(Qe))),1)])]),e(ve)?(l(),o("div",To,[a("div",No,[t[94]||(t[94]=a("p",{class:"text-xs uppercase tracking-[0.14em] font-semibold text-grey-text"},"Scénarios prix et marge",-1)),a("p",Eo,"Coûts : "+n(e(ve).costs_basis==="bilan"?"bilan saisi":e(ve).costs_basis==="defaults"?"frais globaux à 5 % du CA par défaut":"anciens modèles de frais"),1)]),a("p",jo,n(e(ve).note),1),a("div",Fo,[a("table",Io,[t[95]||(t[95]=a("thead",null,[a("tr",{class:"text-left text-xs text-grey-text border-b border-gray-200 dark:border-gray-700"},[a("th",{class:"py-2 pr-3"},"Scénario"),a("th",{class:"pr-3"},"Revente"),a("th",{class:"pr-3"},"Coûts"),a("th",{class:"pr-3"},"Marge"),a("th",null,"Achat max")])],-1)),a("tbody",null,[(l(!0),o(x,null,V(e(fr),s=>(l(),o("tr",{key:s.key,class:"border-b border-gray-100 dark:border-gray-800"},[a("td",Oo,n(s.label),1),a("td",Bo,n(k(s.ceiling?.resale)),1),a("td",Uo,n(k(s.ceiling?.costs)),1),a("td",Yo,n(k(s.ceiling?.margin)),1),a("td",Ho,n(k(s.ceiling?.purchase)),1)]))),128))])])])])):i("",!0),a("div",Jo,[a("div",Go,[t[96]||(t[96]=a("p",{class:"text-[11px] uppercase tracking-wide text-grey-text"},"Yanport vs DVF",-1)),a("p",Ko,[e(K)?.disagreement_pct_vs_dvf!=null?(l(),o(x,{key:0},[d(n(e(K).disagreement_pct_vs_dvf>0?"+":"")+n(e(K).disagreement_pct_vs_dvf)+" % ",1)],64)):(l(),o(x,{key:1},[d("n/d")],64))])]),a("div",Wo,[t[97]||(t[97]=a("p",{class:"text-[11px] uppercase tracking-wide text-grey-text"},"En vente €/m² (médiane)",-1)),a("p",Qo,n(e(K)?.active_ppsqm_median!=null?k(e(K).active_ppsqm_median):"n/d"),1),e(Ct)(e(K)?.comparability)?(l(),o("p",Zo,n(e(Ct)(e(K)?.comparability)),1)):i("",!0)]),a("div",Xo,[t[98]||(t[98]=a("p",{class:"text-[11px] uppercase tracking-wide text-grey-text"},"Ventes DVF",-1)),a("p",ei,n(e(Fe).length),1)])]),a("div",ti,[t[100]||(t[100]=a("span",{class:"uppercase tracking-[0.14em] font-semibold text-grey-text"},"Base de la simulation",-1)),a("button",{type:"button",class:"inline-flex items-center gap-1 px-2 py-1 rounded-full border border-gray-200 dark:border-gray-700 font-medium text-dark dark:text-white hover:border-primary-400 hover:text-primary-600 dark:hover:text-primary-300",title:"Voir le détail des ventes DVF",onClick:t[16]||(t[16]=s=>It("base-dvf"))},[d(n(e(T).dvfTotal)+" vente"+n(e(T).dvfTotal>1?"s":"")+" DVF",1),e(T).dvfIncluded!==e(T).dvfTotal?(l(),o(x,{key:0},[d(" · "+n(e(T).dvfIncluded)+" incluse"+n(e(T).dvfIncluded>1?"s":""),1)],64)):i("",!0)]),e(T).hasLive?(l(),o("button",{key:0,t
1ype:"button",class:"inline-flex items-center gap-1 px-2 py-1 rounded-full border border-gray-200 dark:border-gray-700 font-medium text-dark dark:text-white hover:border-primary-400 hover:text-primary-600 dark:hover:text-primary-300",title:"Voir les similaires Yanport",onClick:t[17]||(t[17]=s=>It("base-yanport"))},[e(T).groupCount?(l(),o(x,{key:0},[d("Yanport : "+n(e(T).groupCount)+" groupe"+n(e(T).groupCount>1?"s":"")+" étudié"+n(e(T).groupCount>1?"s":""),1)],64)):(l(),o(x,{key:1},[d(n(e(T).forSale??0)+" en vente · "+n(e(T).offMarket??0)+" retirée"+n((e(T).offMarket??0)>1?"s":"")+" (Yanport)",1)],64))])):e(T).forSale!=null||e(T).offMarket!=null?(l(),o("span",ai,[e(T).groupCount?(l(),o(x,{key:0},[d("Yanport : "+n(e(T).groupCount)+" groupe"+n(e(T).groupCount>1?"s":"")+" étudié"+n(e(T).groupCount>1?"s":""),1)],64)):(l(),o(x,{key:1},[d(n(e(T).forSale??0)+" en vente · "+n(e(T).offMarket??0)+" retirées (Yanport)",1)],64)),t[99]||(t[99]=d(" · relancez pour le détail ",-1))])):i("",!0),a("span",ri," rayon "+n(e($).maxDistanceM!=null?`${e($).maxDistanceM} m`:"sans limite")+" · surface ±"+n(e($).surfaceTolPct!=null?`${e($).surfaceTolPct} %`:"sans filtre")+" · ventes ≤ "+n(e($).maxAgeMonths!=null?`${e($).maxAgeMonths} mois`:"sans limite")+" · "+n(e($).size)+" max ",1)]),a("p",si,n(e(y).sortie?.indicative_note),1),a("div",ni,[t[108]||(t[108]=a("div",{class:"flex flex-wrap items-baseline justify-between gap-2"},[a("p",{class:"text-xs uppercase tracking-[0.14em] font-semibold text-grey-text"},"Filtres marché"),a("p",{class:"text-[11px] text-grey-text"}," Yanport (en vente / invendu) + DVF (vendus). Appliqués à la prochaine relance. ")],-1)),a("div",li,[a("label",oi,[t[101]||(t[101]=a("span",{class:"text-[11px] text-grey-text"},"Nb max",-1)),a("input",{value:e($).size,type:"number",min:"5",max:"100",class:"mt-1 w-full h-9 rounded border border-gray-300 dark:border-gray-600 bg-transparent px-2",onChange:t[18]||(t[18]=s=>e($).size=s.target.value===""?25:Math.min(100,Math.max(5,Number(s.target.value))))},null,40,ii)]),a("label",di,[t[102]||(t[102]=a("span",{class:"text-[11px] text-grey-text"},"Rayon max (m)",-1)),a("input",{value:e($).maxDistanceM??"",type:"number",min:"0",step:"100",placeholder:"sans limite",class:"mt-1 w-full h-9 rounded border border-gray-300 dark:border-gray-600 bg-transparent px-2",onChange:t[19]||(t[19]=s=>e($).maxDistanceM=s.target.value===""?null:Number(s.target.value))},null,40,ui)]),a("label",ci,[t[103]||(t[103]=a("span",{class:"text-[11px] text-grey-text"},"Tolérance surface %",-1)),a("input",{value:e($).surfaceTolPct??"",type:"number",min:"0",max:"200",placeholder:"sans filtre",class:"mt-1 w-full h-9 rounded border border-gray-300 dark:border-gray-600 bg-transparent px-2",onChange:t[20]||(t[20]=s=>e($).surfaceTolPct=s.target.value===""?null:Number(s.target.value))},null,40,pi)]),a("label",mi,[t[104]||(t[104]=a("span",{class:"text-[11px] text-grey-text"},"DVF âge max (mois)",-1)),a("input",{value:e($).maxAgeMonths??"",type:"number",min:"0",max:"120",placeholder:"sans filtre",class:"mt-1 w-full h-9 rounded border border-gray-300 dark:border-gray-600 bg-transparent px-2",onChange:t[21]||(t[21]=s=>e($).maxAgeMonths=s.target.value===""?null:Number(s.target.value))},null,40,bi)]),a("label",xi,[t[106]||(t[106]=a("span",{class:"text-[11px] text-grey-text"},"Zone Yanport",-1)),O(a("select",{"onUpdate:modelValue":t[22]||(t[22]=s=>e($).zone=s),class:"ui-select mt-1 w-full h-9 rounded border border-gray-300 dark:border-gray-600 bg-transparent px-2"},[...t[105]||(t[105]=[a("option",{value:""},"Auto",-1),a("option",{value:"CITY"},"Ville",-1),a("option",{value:"IRIS"},"IRIS",-1)])],512),[[wt,e($).zone]])]),a("label",yi,[O(a("input",{"onUpdate:modelValue":t[23]||(t[23]=s=>e($).matchRoomCount=s),type:"checkbox",class:"rounded border-gray-300"},null,512),[[nt,e($).matchRoomCount]]),t[107]||(t[107]=a("span",{class:"text-xs text-grey-text"},"Matcher pièces (Yanport)",-1))])])]),a("div",vi,[a("section",gi,[t[125]||(t[125]=a("p",{class:"text-xs uppercase tracking-[0.14em] font-semibold text-grey-text"},"1. Ventes DVF (vendus)",-1)),t[126]||(t[126]=a("p",{class:"text-xs text-grey-text"}," Mutations réelles. Priorité geo-dvf (open), puis Cerema DVF+, puis Yanport source=DVF. Filtres : rayon, surface, âge. ",-1)),a("div",fi,[a("table",_i,[t[109]||(t[109]=a("thead",{class:"sticky top-0 bg-white dark:bg-gray-900"},[a("tr",{class:"text-left text-xs text-grey-text border-b border-gray-200 dark:border-gray-700"},[a("th",{class:"py-2 pr-2"},"Inc."),a("th",{class:"pr-3"},"Date"),a("th",{class:"pr-3"},"Type"),a("th",{class:"pr-3"},"Surf."),a("th",{class:"pr-3"},"Dist."),a("th",{class:"pr-3"},"Prix"),a("th",null,"€/m²")])],-1)),a("tbody",null,[(l(!0),o(x,null,V(e(Fe),s=>(l(),o("tr",{key:s.key,class:S(["border-b border-gray-100 dark:border-gray-800",e(ie).includes(s.key)||s.excluded?"opacity-40 line-through":""])},[a("td",ki,[a("input",{type:"checkbox",checked:!e(ie).includes(s.key),disabled:e(Xe),"aria-label":`Inclure c
1omparable ${s.date}`,onChange:c=>hr(s.key)},null,40,hi)]),a("td",wi,[d(n(s.date||"n/d"),1),a("button",{type:"button",class:"block min-h-11 text-xs font-medium text-primary-600 underline dark:text-primary-300","aria-label":`Approfondir la référence du ${s.date||"date inconnue"}`,onClick:c=>e(Z)?.ask(`Explique la comparabilité de cette référence : ${s.date||"date inconnue"}, ${s.surface??"?"} m², ${s.price??"?"} €.`,{reference_key:s.key})},"Comprendre",8,Ci)]),a("td",$i,n(s.type||"n/d"),1),a("td",qi,n(s.surface!=null?`${s.surface} m²`:"n/d"),1),a("td",Ai,n(s.distance_m!=null?`${s.distance_m} m`:"n/d"),1),a("td",Mi,n(s.price!=null?k(s.price):"n/d"),1),a("td",Di,n(s.ppsqm!=null?k(s.ppsqm):"n/d"),1)],2))),128))])])]),e(Fe).length?i("",!0):(l(),o("p",zi,"Aucun comparable persisté. Relancez l'analyse.")),h(Nr,{class:"mt-2","deal-id":e(g),subject:e(gr),"subject-date":e(y)?.created_at??null,"listing-url":e(z)?.listing_url??null,"asking-price":e(z)?.asking_price??null,"proximity-fallback":"",onOpenInformation:t[24]||(t[24]=s=>{("navigateTo"in r?r.navigateTo:e(ta))(e(q)({path:`/admin/deals/${e(g)}`,query:{tab:"information"}}))})},null,8,["deal-id","subject","subject-date","listing-url","asking-price"]),e(oa).length?(l(),o("div",Vi,[a("p",Pi,"Similaires Yanport"+n((e(B)?.groups?.length??0)>0?" · par groupe de lots":""),1),a("p",Si,[t[110]||(t[110]=d(" Deux listes : ",-1)),t[111]||(t[111]=a("strong",{class:"font-medium text-dark dark:text-white"},"en vente",-1)),t[112]||(t[112]=d(" et ",-1)),t[113]||(t[113]=a("strong",{class:"font-medium text-dark dark:text-white"},"invendu",-1)),t[114]||(t[114]=d(" (hors marché = retiré de la vente). Session, non stocké (CGUV). ",-1)),e(K)?.estimate_value!=null?(l(),o(x,{key:0},[d(" AVM "+n(k(e(K).estimate_value))+".",1)],64)):i("",!0),e(B)?.groups_skipped?(l(),o(x,{key:1},[d(n(e(B).groups_skipped)+" groupe"+n(e(B).groups_skipped>1?"s":"")+" au-delà du plafond non analysé"+n(e(B).groups_skipped>1?"s":"")+".",1)],64)):i("",!0)]),(l(!0),o(x,null,V(e(oa),(s,c)=>(l(),o("div",{key:s.key,class:S(["space-y-2",s.title?"rounded-lg border border-gray-100 dark:border-gray-800 p-3":""])},[s.title?(l(),o("button",{key:0,type:"button",class:"flex w-full items-center justify-between gap-2 text-left text-xs font-semibold text-dark dark:text-white","aria-expanded":!ot(s.key,c),onClick:v=>Ya(s.key,c)},[a("span",null,[d(n(s.title)+" ",1),a("span",Li,[d(" · "+n(s.active.length)+" en vente",1),s.activeMedian!=null?(l(),o(x,{key:0},[d(" (médiane "+n(k(s.activeMedian))+"/m²)",1)],64)):i("",!0),d(" · "+n(s.inactive.length)+" invendu"+n(s.inactive.length>1?"s":""),1),s.inactiveMedian!=null?(l(),o(x,{key:1},[d(" (médiane "+n(k(s.inactiveMedian))+"/m²)",1)],64)):i("",!0)])]),h(C,{name:"solar:alt-arrow-down-linear",class:S(["h-4 w-4 shrink-0 text-grey-text transition-transform",ot(s.key,c)?"":"rotate-180"]),"aria-hidden":"true"},null,8,["class"])],8,Ri)):i("",!0),e(Ct)(s.group?.comparability)?(l(),o("p",Ti,n(e(Ct)(s.group?.comparability))+" Détail des annonces écartées : cockpit de sortie. ",1)):i("",!0),O(a("div",Ni,[s.group?(l(),o("div",Ei,[a("label",ji,[t[115]||(t[115]=d("rayon (m) ",-1)),h(Xt,{modelValue:pe(s.group).maxDistanceM,"onUpdate:modelValue":v=>pe(s.group).maxDistanceM=v,modelModifiers:{number:!0},type:"number",min:"0",step:"100",class:"w-20 !h-7 !text-xs","aria-label":`Rayon du groupe ${s.title}`},null,8,["modelValue","onUpdate:modelValue","aria-label"])]),a("label",Fi,[t[116]||(t[116]=d("surface ±% ",-1)),h(Xt,{modelValue:pe(s.group).surfaceTolPct,"onUpdate:modelValue":v=>pe(s.group).surfaceTolPct=v,modelModifiers:{number:!0},type:"number",min:"0",max:"100",class:"w-16 !h-7 !text-xs","aria-label":`Tolérance surface du groupe ${s.title}`},null,8,["modelValue","onUpdate:modelValue","aria-label"])]),a("label",Ii,[t[117]||(t[117]=d("nb max ",-1)),h(Xt,{modelValue:pe(s.group).size,"onUpdate:modelValue":v=>pe(s.group).size=v,modelModifiers:{number:!0},type:"number",min:"1",max:"50",class:"w-14 !h-7 !text-xs","aria-label":`Nombre max du groupe ${s.title}`},null,8,["modelValue","onUpdate:modelValue","aria-label"])]),a("label",Oi,[O(a("input",{"onUpdate:modelValue":v=>pe(s.group).matchRoomCount=v,type:"checkbox"},null,8,Bi),[[nt,pe(s.group).matchRoomCount]]),t[118]||(t[118]=d(" pièces identiques ",-1))]),h(D,{size:"sm",variant:"ghost",class:"!h-7 !text-xs",disabled:e(Se)[it(s.group)]||e(p),onClick:v=>Ha(s.group)},{default:P(()=>[d(n(e(Se)[it(s.group)]?"Relance…":"Relancer ce groupe"),1)]),_:2},1032,["disabled","onClick"])])):i("",!0),a("div",Ui,[a("button",{type:"button",class:S(["inline-flex h-7 items-center rounded-full px-2.5 text-xs font-medium transition-colors",lt(s.key,s.active.length>0)==="active"?"bg-primary-600 text-white":"bg-gray-100 dark:bg-white/10 text-grey-text hover:text-dark dark:hover:text-white"]),onClick:v=>sa(s.key,"active")},"En vente ("+n(s.active.length)+")",11,Yi),a("button",{type:"button",class:S(["inline-flex h-7 items-center rounded-full px-2.5 text-xs font-medium transition-colors",lt(s.key,s.active.length>0)==="inactive"?"bg-primary-600 text-white":"bg-gray-100 dark:bg-white/10 text-grey-text hover:text-dark dark:hover:text-white"]),onClick:v=>sa(s.key,"inactive")},"Invendus ("+n(s.inactive.length)+")",11,Hi)]),lt(s.key,s.active.length>0)==="active"&&s.active.length?(l(),o("div",Ji,[a("table",Gi,[t[119]||(t[119]=a("thead",{class:"sticky top-0 bg-white dark:bg-gray-900"},[a("tr",{class:"text-left text-xs text-grey-text border-b border-gray-200 dark:border-gray-700"},[a("th",{class:"py-2 pr-3"},"Adresse"),a("th",{class:"pr-3"},"Surf."),a("th",{class:"pr-3"},"Dist."),a("th",{class:"pr-3"},"Prix"),a("th",{class:"pr-3"},"€/m²"),a("th",null,"Publié")])],-1)),a("tbody",null,[(l(!0),o(x,null,V(s.active.slice(0,$e(`${s.key}-a`,20)),(v,ea)=>(l(),o("tr",{key:`${s.key}-a-${ea}`,class:"border-b border-gray-100 dark:border-gray-800"}
1,[a("td",Ki,[v.id?(l(),o("button",{key:0,type:"button",class:"text-left font-medium text-primary-600 dark:text-primary-300 hover:underline",title:"Détails et historique de prix (session)",onClick:Fr=>qa(v)},n(tt(v)),9,Wi)):(l(),o(x,{key:1},[d(n(tt(v)),1)],64))]),a("td",Qi,n(v.surface!=null?`${v.surface} m²`:"n/d"),1),a("td",Zi,n(v.distanceM!=null?`${v.distanceM} m`:"n/d"),1),a("td",Xi,n(v.price!=null?k(v.price):"n/d"),1),a("td",ed,n(v.ppsqm!=null?k(v.ppsqm):"n/d"),1),a("td",td,n((v.publicationDate||"").slice(0,10)||"n/d"),1)]))),128))])]),s.active.length>$e(`${s.key}-a`,20)?(l(),o("button",{key:0,type:"button",class:"mt-1 text-xs font-semibold text-primary-600 underline-offset-4 hover:underline dark:text-primary-300",onClick:v=>na(`${s.key}-a`,20)},"Voir plus ("+n(s.active.length-$e(`${s.key}-a`,20))+" restants)",9,ad)):i("",!0)])):i("",!0),lt(s.key,s.active.length>0)==="inactive"&&s.inactive.length?(l(),o("div",rd,[t[121]||(t[121]=a("p",{class:"text-[11px] text-grey-text mb-1"},"Annonce retirée de la vente (invendu).",-1)),a("table",sd,[t[120]||(t[120]=a("thead",{class:"sticky top-0 bg-white dark:bg-gray-900"},[a("tr",{class:"text-left text-xs text-grey-text border-b border-gray-200 dark:border-gray-700"},[a("th",{class:"py-2 pr-3"},"Adresse"),a("th",{class:"pr-3"},"Surf."),a("th",{class:"pr-3"},"Prix"),a("th",{class:"pr-3"},"€/m²"),a("th",{class:"pr-3"},"Jours pub."),a("th",null,"Retiré")])],-1)),a("tbody",null,[(l(!0),o(x,null,V(s.inactive.slice(0,$e(`${s.key}-i`,15)),(v,ea)=>(l(),o("tr",{key:`${s.key}-i-${ea}`,class:"border-b border-gray-100 dark:border-gray-800"},[a("td",nd,[v.id?(l(),o("button",{key:0,type:"button",class:"text-left font-medium text-primary-600 dark:text-primary-300 hover:underline",title:"Détails et historique de prix (session)",onClick:Fr=>qa(v)},n(tt(v)),9,ld)):(l(),o(x,{key:1},[d(n(tt(v)),1)],64))]),a("td",od,n(v.surface!=null?`${v.surface} m²`:"n/d"),1),a("td",id,n(v.price!=null?k(v.price):"n/d"),1),a("td",dd,n(v.ppsqm!=null?k(v.ppsqm):"n/d"),1),a("td",ud,n(v.publicationDays!=null?v.publicationDays:"n/d"),1),a("td",cd,n((v.publicationEndDate||"").slice(0,10)||"n/d"),1)]))),128))])]),s.inactive.length>$e(`${s.key}-i`,15)?(l(),o("button",{key:0,type:"button",class:"mt-1 text-xs font-semibold text-primary-600 underline-offset-4 hover:underline dark:text-primary-300",onClick:v=>na(`${s.key}-i`,15)},"Voir plus ("+n(s.inactive.length-$e(`${s.key}-i`,15))+" restants)",9,pd)):i("",!0)])):i("",!0)],512),[[Hr,!s.title||!ot(s.key,c)]])],2))),128))])):e(y)?(l(),o("p",md," Pas de similaires Yanport en session. Relancez l'analyse (token Yanport + coordonnées). ")):i("",!0),e(z)?.source_documents?.length?(l(),o("div",bd,[t[122]||(t[122]=a("p",{class:"text-xs uppercase tracking-[0.14em] font-semibold text-grey-text"},"Offres / pièces or",-1)),a("ul",xd,[(l(!0),o(x,null,V(e(z).source_documents,s=>(l(),o("li",{key:s.id},[a("button",{type:"button",class:"text-left text-primary-600 dark:text-primary-300 hover:underline",onClick:c=>Lr(s.id)},n(s.filename||s.kind),9,yd)]))),128))])])):i("",!0),e(ma).length?(l(),o("div",vd,[t[124]||(t[124]=a("p",{class:"text-xs uppercase tracking-[0.14em] font-semibold text-grey-text"},"Notes internes sur les pièces",-1)),a("ul",gd,[(l(!0),o(x,null,V(e(ma),s=>(l(),o("li",{key:s.id,class:"rounded-lg border border-amber-200/70 dark:border-amber-500/20 bg-amber-50/60 dark:bg-amber-500/10 px-2.5 py-1.5"},[a("span",fd,n(s.label),1),a("span",_d," · "+n(s.note),1)]))),128))]),h(u,{to:e(q)(`/admin/deals/${e(g)}?tab=pieces`),class:"text-xs font-medium text-primary-600 dark:text-primary-300 hover:underline"},{default:P(()=>[...t[123]||(t[123]=[d("Voir toutes les notes des pièces",-1)])]),_:1},8,["to"])])):i("",!0)]),a("section",kd,[t[130]||(t[130]=a("p",{class:"text-xs uppercase tracking-[0.14em] font-semibold text-grey-text"},"2. Lots et sensibilités",-1)),a("div",hd,[a("table",wd,[t[127]||(t[127]=a("thead",null,[a("tr",{class:"text-left text-xs text-grey-text border-b border-gray-200 dark:border-gray-700"},[a("th",{class:"py-2 pr-3"},"Lot"),a("th",{class:"pr-3"},"Surf."),a("th",{class:"pr-3"},"Moteur"),a("th",{class:"pr-3"},"Retenu"),a("th",{class:"pr-3"},"Sensibilité"),a("th",{class:"pr-3"},"Conf."),a("th",null,"Valeur forcée (€/m²)")])],-1)),a("tbody",null,[(l(!0),o(x,null,V(e(J),(s,c)=>(l(),o("tr",{key:c,class:S(["border-b border-gray-100 dark:border-gray-800 cursor-pointer",e(Q)===c?"bg-primary-50/40 dark:bg-primary-900/10":""]),tabindex:"0","aria-selected":e(Q)===c,onClick:v=>Q.value=c,onKeydown:[Ea(v=>Q.value=c,["enter"]),Ea(ja(v=>Q.value=c,["prevent"]),["space"])]},[a("td",$d,n(s.type),1),a("td",qd,n(s.surface)+" m²",1),a("td",Ad,n(s.engine_ppsqm!=null?`${k(s.engine_ppsqm)}${s.valuation_basis==="unit"?"/unité":"/m²"}`:"n/d"),1),a("td",Md,n(k(s.resale_price)),1),a("td",Dd,[s.scenarios?(l(),o(x,{key:0},[d(n(k(s.scenarios.p25))+" · "+n(k(s.scenarios.median))+" · "+n(k(s.scenarios.p65)),1)],64)):(l(),o(x,{key:1},[d("n/d")],64))]),a("td",zd,[a("span",{class:S(["inline-flex h-6 min-w-6 items-center justify-center rounded px-1.5 text-[11px] font-semibold",Da(s.confidence_grade)])},n(s.confidence_grade||"n/d"),3)]),a("td",{onClick:t[25]||(t[25]=ja(()=>{},["stop"]))},[a("input",{type:"number",class:"w-24 h-8 rounded border border-gray-300 dark:border-gray-600 bg-transparent px-2 text-sm disabled:opacity-50 disabled:cursor-not-allowed",value:e(H)[c]?.ppsqm??"",disabled:e(Xe)||s.scenario==="manual",title:s.scenario==="manual"?"Un montant total forcé est posé sur ce lot ; retirez-le d'abord dans Prix conseillés par lot.":void 0,placeholder:s.valuation_basis==="unit"?"€/unité":"€/m²","aria-label":`Valeur forcée ${s.valuation_basis==="unit"?"par unité":"par m²"} lot ${c+1}`,onChange:v=>za(c,Number(v.target.value),e(H)[c]?.rationale||"")},null,40,Vd)])],42,Cd))),128))])])]),e(j)?(l(),o("div",Pd,[a("p",Sd,"Lot "+n(e(j).type)+" · preuves",1),a("p",null,"Source prix : "+n(e(j).ppsqm_source||"n/d"),1),a("button",{type:"button",class:"min-h-11 font-medium text-primary-600 underline dark:text-primary-300",onClick:t[26]||(t[26]=s=>e(Z)?.ask(`Explique le prix du lot ${e(Q)+1} (${e(j).type??"type à préciser"}, ${e(j).surface??"?"} m²), ses références et les conditions retenues.`,{unit_id:e(j).lot_uid,scenario:e(j).scenario??void 0}))},"Pourquoi ce prix ?"),a("p",null,"Base : "+n(e(j).valuation_basis==="unit"?"prix par unité":"prix par m²"),1),e(j).analysis_reused?(l(),o("p",Rd," Même analyse de marché que le lot "+n(Number(e(j).analysis_reference_index)+1)+". ",1)):i("",!0),Number(e(j).evidence?.proxy_count)>0?(l(),o("p",Ld," Preuve DVF indirecte : dépendance utilisée comme proxy. Une seconde validation est requise. ")):i("",!0),e(j).gap_vs_engine_pct!=null?(l(),o("p",Td,"Écart vs moteur : "+n(e(j).gap_vs_engine_pct)+" %",1)
1):i("",!0),e(j).evidence?(l(),o("p",Nd," Comparables retenus : "+n(e(j).evidence.used_count)+" · outliers : "+n(e(j).evidence.excluded_outliers)+" · N effectif : "+n(e(j).evidence.effective_count)+" · dist. médiane : "+n(e(j).evidence.median_distance_m??"n/d")+" m · âge médian : "+n(e(j).evidence.median_age_months??"n/d")+" mois ",1)):i("",!0),a("label",Ed,[t[128]||(t[128]=a("span",{class:"text-grey-text"},"Justification de la valeur forcée (obligatoire)",-1)),a("input",{type:"text",class:"mt-1 w-full h-9 rounded border border-gray-300 dark:border-gray-600 bg-transparent px-2 text-sm",value:e(H)[e(Q)]?.rationale??"",disabled:e(Xe),placeholder:"Ex. travaux lourds, étage, vue, bruit…",onChange:t[27]||(t[27]=s=>za(e(Q),e(H)[e(Q)]?.ppsqm||Number(e(j).ppsqm)||0,s.target.value))},null,40,jd)]),a("label",Fd,[t[129]||(t[129]=a("span",{class:"text-grey-text"},"Note d'approbation (optionnelle)",-1)),O(a("input",{"onUpdate:modelValue":t[28]||(t[28]=s=>ze(Le)?Le.value=s:null),type:"text",disabled:e(Xe),class:"mt-1 w-full h-9 rounded border border-gray-300 dark:border-gray-600 bg-transparent px-2 text-sm",placeholder:"Contexte pour l'historique"},null,8,Id),[[we,e(Le)]])])])):i("",!0)])]),a("div",Od,[a("div",Bd,[t[131]||(t[131]=a("p",{class:"text-xs uppercase tracking-[0.14em] font-semibold text-grey-text"},"3. Prix conseillés par lot",-1)),a("div",Ud,[e(J).length?(l(),o("button",{key:0,type:"button",class:"inline-flex h-6 items-center rounded border border-emerald-500/40 px-2 text-[11px] font-semibold text-emerald-700 dark:text-emerald-300 disabled:opacity-50",disabled:e(X)||e(vt)||e(He),onClick:Ar},n(e(He)?"Validation…":"Valider tous les lots"),9,Yd)):i("",!0),a("span",{class:S(["inline-flex h-6 items-center rounded px-2 text-[11px] font-semibold",e(vt)?"bg-emerald-500/15 text-emerald-700 dark:text-emerald-300":"bg-amber-500/15 text-amber-800 dark:text-amber-300"])},n(e(jt))+"/"+n(e(J).length)+" lots validés",3)])]),t[136]||(t[136]=a("p",{class:"text-xs text-grey-text"}," Vente normale (marché) ou vente rapide (décote paramétrable). Choisissez un scénario ou forcez un montant, puis validez chaque lot. L'approbation exige tous les lots validés. ",-1)),e(R)?(l(),o("p",Hd," Enregistrez ou annulez la revue en cours pour décider les prix par lot. ")):i("",!0),a("div",Jd,[a("table",Gd,[t[135]||(t[135]=a("thead",null,[a("tr",{class:"text-left text-xs text-grey-text border-b border-gray-200 dark:border-gray-700"},[a("th",{class:"py-2 pr-3"},"Lot"),a("th",{class:"pr-3"},"Prix marché"),a("th",{class:"pr-3"},"Vente rapide"),a("th",{class:"pr-3"},"Scénario"),a("th",{class:"pr-3"},"Prix retenu"),a("th",null,"Validation")])],-1)),a("tbody",null,[(l(!0),o(x,null,V(e(J),(s,c)=>(l(),o("tr",{key:c,class:"border-b border-gray-100 dark:border-gray-800 align-top"},[a("td",Kd,n(s.type)+" · "+n(s.surface)+" m²",1),a("td",Wd,[d(n(k(s.price_market??s.resale_price))+" ",1),h(Er,{lot:s,disabled:e(p)||e(X),save:v=>rt(c,{...v,validate:!1})},null,8,["lot","disabled","save"])]),a("td",Qd,[a("div",Zd,[a("span",Xd,n(k(s.price_quick)),1),t[132]||(t[132]=a("span",{class:"text-grey-text text-xs"},"·",-1)),a("input",{type:"number",min:"0",max:"60",class:"w-14 h-7 rounded border border-gray-300 dark:border-gray-600 bg-transparent px-1.5 text-xs tabular-nums",value:s.quick_haircut_pct??"",disabled:e(X),"aria-label":`Décote vente rapide lot ${c+1}`,onChange:v=>Cr(c,Number(v.target.value))},null,40,eu),t[133]||(t[133]=a("span",{class:"text-grey-text text-xs"},"%",-1))])]),a("td",tu,[a("div",au,[a("button",{type:"button",class:S(["px-2 py-1 border-r border-gray-300 dark:border-gray-600",kt(s,"wiim",c)]),disabled:e(X),onClick:v=>Zt(c,"wiim")},"Prix WiiM",10,ru),a("button",{type:"button",class:S(["px-2 py-1",kt(s,"market",c)]),disabled:e(X),onClick:v=>Zt(c,"market")},"Marché",10,su),a("button",{type:"button",class:S(["px-2 py-1 border-l border-gray-300 dark:border-gray-600",kt(s,"quick",c)]),disabled:e(X),onClick:v=>Zt(c,"quick")},"Vente rapide",10,nu),a("button",{type:"button",class:S(["px-2 py-1 border-l border-gray-300 dark:border-gray-600",kt(s,"manual",c)]),disabled:e(X),onClick:v=>Ye.value=e(Ye)===c?-1:c},"Montant forcé (prix total)",10,lu)]),s.scenario==="manual"||e(Ye)===c?(l(),o("div",ou,[a("input",{type:"number",min:"1",class:"w-32 h-8 rounded border border-gray-300 dark:border-gray-600 bg-transparent px-2 text-sm tabular-nums",value:e(Pe)[c]?.amount??s.scenario_price??"",disabled:e(X),placeholder:"Montant €","aria-label":`Montant forcé lot ${c+1}`,onInput:v=>Pa(c,"amount",v.target.value)},null,40,iu),a("input",{type:"text",class:"w-full h-8 rounded border border-gray-300 dark:border-gray-600 bg-transparent px-2 text-sm",value:e(Pe)[c]?.rationale??s.scenario_rationale??"",disabled:e(X),placeholder:"Justification (10 caractères min)","aria-label":`Justification montant forcé lot ${c+1}`,onInput:v=>Pa(c,"rationale",v.target.value)},null,40,du),a("button",{type:"button",class:"text-primary-600 dark:text-primary-300 text-xs font-semibold disabled:opacity-50",disabled:e(X),onClick:v=>$r(c)},"Appliquer le montant",8,uu)])):i("",!0)]),a("td",cu,n(k(s.resale_price)),1),a("td",null,[a("div",pu,[a("span",{class:S(["inline-flex h-6 items-center rounded px-2 text-[11px] font-semibold",s.validated_at?"bg-emerald-500/15 text-emerald-700 dark:text-emerald-300":"bg-amber-500/15 text-amber-800 dark:text-amber-300"])},n(s.validated_at?"Validé":"À valider"),3),a("button",{type:"button",class:S(["inline-flex h-7 items-center rounded px-2 text-xs font-semibold border disabled:opacity-50",s.validated_at?"border-amber-500/40 text-amber-800 dark:text-amber-200":"border-emerald-500/40 text-emerald-700 dark:text-emerald-300"]),disabled:e(X)||e(dt)===c,onClick:v=>qr(s,c)},n(e(dt)===c?"Enregistrement…":s.validated_at?"Invalider":"Valider"),11,mu)])])]))),128)),e(J).length?i("",!0):(l(),o("tr",bu,[...t[134]||(t[134]=[a("td",{colspan:"6",class:"py-4 text-center text-grey-text text-xs"},"Aucun lot à valoriser.",-1)])]))])])])]),a("section",xu,[t[144]||(t[144]=a("p",{class:"text-xs uppercase tracking-[0.14em] font-semibold text-grey-text"},"Contexte",-1)),a("div",yu,[a("div",vu,[t[138]||(t[138]=a("p",{class:"text-[11px] uppercase tracking-wide text-grey-text"},"Notes Benoit",-1)),a("div",gu,[O(a("input",{"onUpdate:modelValue":t[29]||(t[29]=s=>ze(Te)?Te.value=s:null),type:"text",maxlength:"4000",class:"flex-1 h-9 rounded border border-gray-300 dark:border-gray-600 bg-transparent px-2 text-sm",placeholder:"Considération pour la prochaine analyse…","aria-label":"Note analyste"},null,512),[[we,e(Te)]]),h(D,{size:"sm",disabled:e(p)||!e(Te).trim(),onClick:zr},{default:P(()=>[...t[137]||(t[137]=[d("Ajouter",-1)])]),_:1},8,["disabled"])]),e(ca)?(l(),o("p",fu,[d(n(e(E)(e(ca),"Notes analyste indisponibles."))+" ",1),a("button",{type:"button",class:"ml-1 font-medium underline",onClick:t[30]||(t[30]=()=>e(ua)())},"Réessayer")])):e(zt).length?(l(),o("ul",_u,[(l(!0),o(x,null,V(e(zt),s=>(l(),o("li",{key:s.id,class:"rounded bg-gray-50 dark:bg-gray-800/50 px-2 py-1.5"},[a("p",ku,n(s.body),1),a("p",hu,n(s.author?.full_name||s.author?.email||s.author_user_id||"Automatisation WiiM")+" · "+n(new Date(s.created_at).toLocaleStr
1ing("fr-FR")),1)]))),128))])):(l(),o("p",wu,"Aucune note encore."))]),a("div",Cu,[t[142]||(t[142]=a("p",{class:"text-[11px] uppercase tracking-wide text-grey-text"},"Commentaires vendeur",-1)),e(ha).length?(l(),o("ul",$u,[(l(!0),o(x,null,V(e(ha),(s,c)=>(l(),o("li",{key:c},n(s),1))),128))])):(l(),o("p",qu,"Pas de commentaire vendeur sur la fiche.")),t[143]||(t[143]=a("p",{id:"checklist-metier",class:"text-[11px] uppercase tracking-wide text-grey-text pt-2"},"Checklist métier",-1)),a("div",Au,[(l(!0),o(x,null,V(e(Ia),s=>(l(),o("div",{key:s.key,class:"space-y-1"},[a("label",Mu,[a("span",null,n(s.label),1),O(a("select",{"onUpdate:modelValue":c=>e(ct)[s.key]=c,disabled:e(p)||e(I)||e(G),class:"ui-select h-8 rounded border border-gray-300 dark:border-gray-600 bg-transparent px-2 text-xs"},[(l(),o(x,null,V(Oa,c=>a("option",{key:c.value,value:c.value},n(c.label),9,zu)),64))],8,Du),[[wt,e(ct)[s.key]]])]),e(ct)[s.key]==="risk"?(l(),o("div",Vu,[a("label",Pu,[a("input",{type:"checkbox",class:"mt-0.5",checked:e(ne)[s.key]?.assumed,disabled:e(p)||e(I)||e(G),onChange:c=>e(ne)[s.key]={assumed:c.target.checked,note:e(ne)[s.key]?.note??""}},null,40,Su),t[139]||(t[139]=a("span",null,"Risque assumé : WiiM poursuit en connaissance de cause.",-1))]),e(ne)[s.key]?.assumed?(l(),o(x,{key:0},[a("textarea",{id:`checklist-note-${s.key}`,rows:"2",maxlength:"1000",value:e(ne)[s.key]?.note??"",disabled:e(p)||e(I)||e(G),class:S(["w-full rounded border bg-white/70 dark:bg-gray-900/60 px-2 py-1.5 text-xs",Sa(s.key)?"border-danger":"border-amber-300 dark:border-amber-700"]),placeholder:"Motivez le risque assumé (20 à 1000 caractères).",onInput:c=>e(ne)[s.key]={assumed:!0,note:c.target.value}},null,42,Ru),Sa(s.key)?(l(),o("span",Lu," 20 caractères minimum · "+n((e(ne)[s.key]?.note??"").trim().length)+"/20 ",1)):(l(),o("span",Tu,n((e(ne)[s.key]?.note??"").trim().length)+"/1000",1))],64)):i("",!0)])):i("",!0)]))),128)),h(D,{size:"sm",variant:"ghost",disabled:e(p),onClick:Vr},{default:P(()=>[...t[140]||(t[140]=[d("Enregistrer checklist",-1)])]),_:1},8,["disabled"]),a("p",Nu,[e(De).state.value==="saving"?(l(),o(x,{key:0},[d("Enregistrement… ")],64)):e(De).state.value==="saved"&&!e(xe)?(l(),o(x,{key:1},[d("Enregistré. ")],64)):e(De).state.value==="error"?(l(),o("span",Eu,"Non enregistrée. ")):i("",!0),t[141]||(t[141]=d(" Chaque changement s'enregistre automatiquement. Enregistrer la checklist repasse une analyse approuvée en revue. ",-1))])])])])]),a("section",ju,[t[152]||(t[152]=a("p",{class:"text-xs uppercase tracking-[0.14em] font-semibold text-grey-text"},"Preuve",-1)),a("p",Fu," Grade "+n(e(Tt))+" · modèle "+n(e(y)?.ai_model||"n/d")+" · "+n(e(y)?.created_at?new Date(e(y).created_at).toLocaleString("fr-FR"):"n/d")+" · source moteur "+n(e(y)?.indicators?.engine_comps_source||e(y)?.sortie?.engine_comps_source||"n/d"),1),e(_e)?(l(),o("p",Iu,[t[147]||(t[147]=d(" Coût data dossier (Yanport uniquement) : ",-1)),e(_e).costConfigured?(l(),o(x,{key:0},[d("~ "+n(e(_e).estimatedCost.toLocaleString("fr-FR",{style:"currency",currency:"EUR",maximumFractionDigits:2})),1)],64)):(l(),o(x,{key:1},[d("coût unitaire non configuré (YANPORT_UNIT_COST_EUR)")],64)),d(" · "+n(e(_e).totalCalls)+" appel(s) ",1),e(_e).byProvider.length?(l(),o(x,{key:2},[t[145]||(t[145]=d(" ( ",-1)),(l(!0),o(x,null,V(e(_e).byProvider,(s,c)=>(l(),o("span",{key:s.provider},[c?(l(),o(x,{key:0},[d(" · ")],64)):i("",!0),d(n(s.provider)+": "+n(s.calls),1)]))),128)),t[146]||(t[146]=d(" ) ",-1))],64)):i("",!0)])):e(bt)?(l(),o("p",Ou,[d(n(e(bt))+" ",1),a("button",{type:"button",class:"ml-1 underline font-medium",onClick:Rt},"Réessayer")])):i("",!0),e(y)?.indicators&&e(y).indicators.condition_haircut_adj?(l(),o("p",Bu," Décote de vente rapide : "+n(da(e(y).indicators.condition_haircut_adj.label))+" ("+n(e(y).indicators.condition_haircut_adj.effective_pct)+" %) ",1)):i("",!0),e(y)?.approval_note?(l(),o("p",Uu," Note d'approbation : "+n(e(y).approval_note),1)):i("",!0),(e(z)?.analyses?.length??0)>1?(l(),o("div",Yu,[t[148]||(t[148]=a("p",{class:"text-[11px] uppercase tracking-wide text-grey-text mb-1"},"Historique analyses",-1)),a("ul",Hu,[(l(!0),o(x,null,V(e(z)?.analyses?.slice(0,8),s=>(l(),o("li",{key:s.id},[d(n(s.status)+" · "+n(s.created_at?new Date(s.created_at).toLocaleStr
1ing("fr-FR"):"")+" · "+n(k(s.estimated_resale_value))+" ",1),s.actor_names?.approved_by?(l(),o(x,{key:0},[d(" · approuvée par "+n(s.actor_names.approved_by.full_name||s.actor_names.approved_by.email),1)],64)):i("",!0),s.approval_note?(l(),o(x,{key:1},[d(" · « "+n(s.approval_note.slice(0,120))+" »",1)],64)):i("",!0)]))),128))])])):i("",!0),a("div",Ju,[h(u,{to:e(q)(`/admin/deals/${e(g)}`),class:"text-primary-600 dark:text-primary-300 hover:underline"},{default:P(()=>[...t[149]||(t[149]=[d("Retour fiche",-1)])]),_:1},8,["to"]),h(u,{to:e(q)(`/admin/deals/${e(g)}?tab=bilan`),class:"text-primary-600 dark:text-primary-300 hover:underline"},{default:P(()=>[...t[150]||(t[150]=[d("Bilan",-1)])]),_:1},8,["to"]),h(u,{to:e(q)(`/admin/deals/${e(g)}?tab=offre`),class:"text-primary-600 dark:text-primary-300 hover:underline"},{default:P(()=>[...t[151]||(t[151]=[d("Offre",-1)])]),_:1},8,["to"])])])],64)):(l(),o("div",Ws,[t[55]||(t[55]=a("p",null,"Aucune analyse. Lancez une collecte marché (DVF + Yanport).",-1)),h(D,{class:"mt-3 gap-2",disabled:e(p),"aria-busy":e(fe),onClick:Ue},{default:P(()=>[e(fe)?(l(),st(C,{key:0,name:"solar:refresh-linear",class:"h-4 w-4 motion-safe:animate-spin","aria-hidden":"true"})):i("",!0),d(" "+n(e(fe)?"Analyse en cours…":"Analyser"),1)]),_:1},8,["disabled","aria-busy"])]))],40,_s),h(jr,{show:e(Kt),title:e(se)?`Similaire · ${tt(e(se))}`:"Similaire","show-close-inside":"","background-close":"",onClose:t[32]||(t[32]=s=>Kt.value=!1)},{default:P(()=>[a("div",Gu,[a("div",Ku,[e(se)?.surface!=null?(l(),o("span",Wu,n(e(se).surface)+" m²",1)):i("",!0),e(se)?.price!=null?(l(),o("span",Qu,n(k(e(se).price)),1)):i("",!0),e(se)?.ppsqm!=null?(l(),o("span",Zu,n(k(e(se).ppsqm))+"/m²",1)):i("",!0),e(se)?.marketBucket?(l(),o("span",{key:3,class:S(e(se).marketBucket==="for_sale"?"text-emerald-600 dark:text-emerald-400":"text-amber-600 dark:text-amber-400")},n(e(se).marketBucket==="for_sale"?"En vente":"Retiré de la vente (invendu)"),3)):i("",!0)]),e(Wt)?(l(),o("p",Xu,"Chargement du détail Yanport…")):e(at)?(l(),o("p",ec,n(e(at)),1)):e(w)?(l(),o(x,{key:2},[a("dl",tc,[e(w).street||e(w).city?(l(),o("div",ac,[t[154]||(t[154]=a("dt",{class:"text-grey-text"},"Adresse",-1)),a("dd",rc,n([e(w).street,e(w).zipCode,e(w).city].filter(Boolean).join(" ")),1)])):i("",!0),e(w).propertyType?(l(),o("div",sc,[t[155]||(t[155]=a("dt",{class:"text-grey-text"},"Type",-1)),a("dd",nc,n(e(w).propertyType==="APARTMENT"?"Appartement":e(w).propertyType==="HOUSE"?"Maison":e(w).propertyType),1)])):i("",!0),e(w).surface!=null?(l(),o("div",lc,[t[156]||(t[156]=a("dt",{class:"text-grey-text"},"Surface",-1)),a("dd",oc,n(e(w).surface)+" m²",1)])):i("",!0),e(w).roomCount!=null?(l(),o("div",ic,[t[157]||(t[157]=a("dt",{class:"text-grey-text"},"Pièces",-1)),a("dd",dc,n(e(w).roomCount),1)])):i("",!0),e(w).floor!=null?(l(),o("div",uc,[t[158]||(t[158]=a("dt",{class:"text-grey-text"},"Étage",-1)),a("dd",cc,n(e(w).floor),1)])):i("",!0),e(w).energyGrade?(l(),o("div",pc,[t[159]||(t[159]=a("dt",{class:"text-grey-text"},"DPE",-1)),a("dd",mc,n(e(w).energyGrade),1)])):i("",!0),e(w).publicationStartDate?(l(),o("div",bc,[t[160]||(t[160]=a("dt",{class:"text-grey-text"},"Publié le",-1)),a("dd",xc,n(e(w).publicationStartDate.slice(0,10)),1)])):i("",!0),e(w).publicationEndDate?(l(),o("div",yc,[t[161]||(t[161]=a("dt",{class:"text-grey-text"},"Retiré le",-1)),a("dd",vc,n(e(w).publicationEndDate.slice(0,10)),1)])):i("",!0),e(w).publicationDays!=null?(l(),o("div",gc,[t[162]||(t[162]=a("dt",{class:"text-grey-text"},"Jours de publication",-1)),a("dd",fc,n(e(w).publicationDays),1)])):i("",!0),e(w).marketingDays!=null?(l(),o("div",_c,[t[163]||(t[163]=a("dt",{class:"text-grey-text"},"Jours de commercialisation",-1)),a("dd",kc,n(e(w).marketingDays),1)])):i("",!0),e(w).price!=null?(l(),o("div",hc,[t[164]||(t[164]=a("dt",{class:"text-grey-text"},"Dernier prix connu",-1)),a("dd",wc,n(k(e(w).price)),1)])):i("",!0),e(w).lastPriceDecreaseDate?(l(),o("div",Cc,[t[165]||(t[165]=a("dt",{class:"text-grey-text"},"Dernière baisse",-1)),a("dd",$c,n(e(w).lastPriceDecreaseDate.slice(0,10)),1)])):i("",!0)]),e(Aa).length?(l(),o("div",qc,[t[166]||(t[166]=a("p",{class:"text-xs uppercase tracking-[0.14em] font-semibold text-grey-text mb-1.5"},"Annonces sources",-1)),a("ul",Ac,[(l(!0),o(x,null,V(e(Aa),(s,c)=>(l(),o("li",{key:c,class:"text-sm"},[a("a",{href:s.url,target:"_blank",rel:"noopener",class:"font-medium text-primary-600 dark:text-primary-300 hover:underline break-all"},n(s.portal||"Annonce")+" ↗ ",9,Mc),s.publicationDate?(l(),o("span",Dc,n(s.publicationDate.slice(0,10)),1)):i("",!0)]))),128))])])):i("",!0),e(Ma).length?(l(),o("div",zc,[t[167]||(t[167]=a("p",{class:"text-xs uppercase tracking-[0.14em] font-semibold text-grey-text mb-2"},"Historique des prix",-1)),a("ol",Vc,[(l(!0),o(x,null,V(e(Ma),(s,c)=>(l(),o("li",{key:c,class:"ml-4"},[a("span",{class:S(["absolute -left-1.5 mt-1.5 h-3 w-3 rounded-full border-2 border-white dark:border-gray-800",s.deltaPct!=null&&s.deltaPct<0?"bg-danger":"bg-primary-500"])},null,2),a("span",Pc,n(s.date.slice(0,10)),1),a("span",Sc,n(k(s.price)),1),s.deltaPct!=null?(l(),o("span",{key:0,class:S(["ml-2 tabular-nums text-xs font-semibold",s.deltaPct<0?"text-danger":"text-emerald-600 dark:text-emerald-400"])},n(s.deltaPct>0?"+":"")+n(s.deltaPct)+" % ",3)):i("",!0)]))),128))])])):(l(),o("p",Rc,"Aucun événement de prix connu pour cette annonce."))],64)):i("",!0),t[168]||(t[168]=a("p",{class:"text-[11px] text-grey-text"},"Données Yanport, session uniquement : rien n'est stocké (CGUV).",-1))])]),_:1},8,["show","title"])])}}});
1export{Zc as default};

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.