import{a as $,j as R,o as Pt,K as Vt,h as G,d as s,q as u,p as T,c as o,i as f,e as l,v as g,E as ne,s as Mt,T as Gs,F as O,B as st,O as N,u as P,y as h,l as jt,t as U,P as Hs,w as Ks,a1 as Ys,k as fe,H as Xs,I as Ws}from"./vendor-core.B6UiYhU_.js";import{_ as ze,u as Nt,g as Zs,s as Qe,h as Qs,i as ea}from"./index.B8XI8FQW.js";import{u as ta,a as sa,b as aa,c as ia,d as la}from"./sharedStores.D4bwf0TZ.js";import{s as na,d as oa,I as et,N as ra,L as tt}from"./vendor-primevue.BN-meDW0.js";import{M as ca}from"./MobileDrawerMenu.DJ_STPbv.js";import{B as ua}from"./BottomSheet.WKuCIyuZ.js";import{a as da}from"./ocrSettingsStore.B3n_bOhs.js";import{M as pa}from"./MobileTopBar.BnL78WPy.js";import{M as va}from"./MobileBottomNav.Cp8OR33w.js";import{e as It,a as fa}from"./exportUtils.BtGzMnqV.js";import"./vendor-utils.CO3CyGpV.js";import"./vendor-export.BWjBvx7Z.js";const ma={class:"overlay-content"},ga={class:"overlay-text"},Tt=10,ya={__name:"DragDropOverlay",emits:["upload-started","upload-complete","upload-error"],setup(_,{expose:F,emit:d}){const D=d,c=Nt(),V=$(0),K=$(0),M=Tt*1024*1024,Y=["application/pdf","image/png","image/jpeg"],X=R(()=>V.value>0),Z=k=>{if(!k.dataTransfer)return!1;const m=k.dataTransfer.types;return m&&(m.includes("Files")||m.includes("application/x-moz-file"))},re=k=>{var m;Z(k)&&(V.value++,(m=k.dataTransfer)!=null&&m.items?K.value=k.dataTransfer.items.length:K.value=0)},b=k=>{Z(k)&&k.preventDefault()},ie=()=>{V.value=Math.max(0,V.value-1)},j=k=>{(!k.relatedTarget||k.relatedTarget.nodeName==="HTML")&&(V.value=0,K.value=0)},I=async k=>{var y;V.value=0,K.value=0;const m=(y=k.dataTransfer)==null?void 0:y.files;!m||m.length===0||await te(Array.from(m))},E=async k=>{var y;if(V.value===0)return;k.preventDefault(),V.value=0,K.value=0;const m=(y=k.dataTransfer)==null?void 0:y.files;!m||m.length===0||await te(Array.from(m))},W=async k=>{const m=[];for(const y of k)try{const w=await y.arrayBuffer(),ce=new File([w],y.name,{type:y.type,lastModified:y.lastModified});m.push(ce)}catch(w){console.warn("[DragDropOverlay] File clone failed:",w),m.push(y)}return m},te=async k=>{var ce,ue;const m=await W(k),y=[],w=[];for(const z of m){if(!Y.includes(z.type)){w.push({name:z.name,reason:`Tip invalid (${z.type||"necunoscut"})`});continue}if(z.size>M){w.push({name:z.name,reason:`Prea mare (${me(z.size)} > ${Tt}MB)`});continue}y.push(z)}if(w.length>0){const z=w.slice(0,3).map(se=>`• ${se.name}: ${se.reason}`).join(` `),A=w.length-3,S=A>0?`${z} ...și încă ${A} fișiere`:z;c.add({severity:"warn",summary:`${w.length} fișier${w.length>1?"e":""} ignorat${w.length>1?"e":""}`,detail:S,life:5e3})}if(y.length!==0)try{D("upload-started",y.length);const z=new FormData;y.forEach(ge=>{z.append("files",ge)});const S=(await da.post("/bulk/upload",z)).data;let se=`${S.processed_files||S.total_files} fișier${(S.processed_files||S.total_files)>1?"e":""} încărcat${(S.processed_files||S.total_files)>1?"e":""}`;S.duplicate_files&&S.duplicate_files>0&&(se+=`, ${S.duplicate_files} duplicate ignorate`),c.add({severity:"success",summary:"Upload reușit",detail:se,life:4e3});const de=S.job_ids.map((ge,ye)=>{var he;return{job_id:ge,filename:((he=y[ye])==null?void 0:he.name)||`File ${ye+1}`}});D("upload-complete",{batchId:S.batch_id!=null?String(S.batch_id):null,jobIds:S.job_ids,jobs:de,totalFiles:S.total_files,processedFiles:S.processed_files,duplicates:S.duplicates})}catch(z){console.error("[DragDropOverlay] Upload failed:",z);let A="Eroare la încărcare";if((ue=(ce=z.response)==null?void 0:ce.data)!=null&&ue.detail){const S=z.response.data.detail;if(typeof S=="string")A=S;else if(S.message&&(A=S.message,S.duplicates&&S.duplicates.length>0)){const se=S.duplicates.slice(0,3).map(de=>`• ${de.filename}: ${de.message}`).join(` `);A+=` `+se}}c.add({severity:"error",summary:"Upload eșuat",detail:A,life:6e3}),D("upload-error",z)}},me=k=>k<1024?k+" B":k<1024*1024?(k/1024).toFixed(1)+" KB":(k/(1024*1024)).toFixed(1)+" MB";return Pt(()=>{window.addEventListener("dragenter",re),window.addEventListener("dragover",b),window.addEventListener("dragleave",ie),window.addEventListener("drop",E)}),Vt(()=>{window.removeEventListener("dragenter",re),window.removeEventListener("dragover",b),window.removeEventListener("dragleave",ie),window.removeEventListener("drop",E)}),F({handleFiles:te}),(k,m)=>(s(),G(Gs,{to:"body"},[u(Mt,{name:"fade"},{default:T(()=>[X.value?(s(),o("div",{key:0,class:"drag-drop-overlay",onDragover:m[0]||(m[0]=ne(()=>{},["prevent"])),onDragleave:ne(j,["prevent"]),onDrop:ne(I,["prevent"])},[l("div",ma,[m[1]||(m[1]=l("i",{class:"pi pi-cloud-upload overlay-icon"},null,-1)),l("p",ga," Eliberează pentru a încărca "+g(K.value)+" "+g(K.value===1?"fișier":"fișiere"),1),m[2]||(m[2]=l("p",{class:"overlay-hint"},"PDF, PNG, JPG (max 10MB per fișier)",-1))])],32)):f("",!0)]),_:1})]))}},ha=ze(ya,[["__scopeId","data-v-2c3712d1"]]),ba={key:0,class:"mobile-selection-footer"},_a={class:"selection-actions"},Sa={__name:"MobileSelectionFooter",props:{visible:{type:Boolean,default:!1},actions:{type:Array,default:()=>[],validator:_=>Array.isArray(_)&&_.every(F=>typeof F.label=="string"&&typeof F.icon=="string"&&typeof F.handler=="function")}},setup(_){const F=d=>{d.handler&&typeof d.handler=="function"&&d.handler()};return(d,D)=>(s(),G(Mt,{name:"slide-up"},{default:T(()=>[_.visible?(s(),o("footer",ba,[l("div",_a,[(s(!0),o(O,null,st(_.actions,(c,V)=>(s(),G(N(na),{key:V,label:c.label,icon:c.icon,severity:c.severity||"secondary",class:"selection-action-btn",onClick:K=>F(c)},null,8,["label","icon","severity","onClick"]))),128))])])):f("",!0)]),_:1}))}},wa=ze(Sa,[["__scopeId","data-v-9fdcc1b8"]]),ka={class:"batch-header-content"},Ca={class:"batch-info"},xa={class:"batch-label"},Ea={key:0,class:"batch-date"},Ra={key:1,class:"batch-date"},$a={class:"batch-count"},Ia={key:0,class:"batch-status-indicator processing"},Ta={key:1,class:"batch-status-indicator failed"},Aa={key:1,class:"retry-loading"},La={key:2,class:"batch-status-indicator completed"},Fa={__name:"BatchGroupHeader",props:{batchId:{type:String,default:null},processingStartedAt:{type:String,default:null},items:{type:Array,required:!0},isExpanded:{type:Boolean,default:!1},retrying:{type:Boolean,default:!1}},emits:["toggle","retry-all","cancel-all"],setup(_,{emit:F}){const d=_,D=F,c=()=>{d.batchId&&D("retry-all",d.batchId)},V=()=>{d.batchId&&D("cancel-all",{batchId:d.batchId,pendingProcessingCount:re.value,completedCount:b.value})},K=R(()=>d.batchId?`B-${d.batchId.replace(/-/g,"").substring(0,8).toUpperCase()}`:""),M=R(()=>{if(!d.processingStartedAt)return null;const I=new Date(d.processingStartedAt),E=["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Nov","Dec"],W=I.getDate().toString().padStart(2,"0"),te=E[I.getMonth()],me=I.getFullYear();return`${W} ${te} ${me}`}),Y=R(()=>d.items.length),X=R(()=>d.items.filter(I=>I.processing_status==="pending"||I.processing_status==="processing").length),Z=R(()=>X.value>0),re=R(()=>X.value),b=R(()=>d.items.filter(I=>I.processing_status==="completed").length),ie=R(()=>d.items.filter(I=>I.processing_status==="failed").length),j=R(()=>d.batchId?d.items.every(I=>I.processing_status==="completed"):!1);return(I,E)=>(s(),o("div",{class:P(["batch-group-header",{"is-expanded":_.isExpanded,"has-active-processing":Z.value}]),onClick:E[0]||(E[0]=W=>I.$emit("toggle"))},[l("div",ka,[l("i",{class:P(["pi chevron-icon",_.isExpanded?"pi-chevron-down":"pi-chevron-right"])},null,2),l("div",Ca,[l("span",xa,[_.batchId?(s(),o(O,{key:0},[h(" Batch "+g(K.value),1)],64)):(s(),o(O,{key:1},[h(" Alte bonuri ")],64))]),E[1]||(E[1]=l("span",{class:"batch-separator"},"•",-1)),M.value?(s(),o("span",Ea,g(M.value),1)):(s(),o("span",Ra," Creat manual ")),E[2]||(E[2]=l("span",{class:"batch-separator"},"•",-1)),l("span",$a,g(Y.value)+" "+g(Y.value===1?"fișier":"fișiere"),1)]),Z.value?(s(),o("div",Ia,[E[4]||(E[4]=l("i",{class:"pi pi-spin pi-spinner"},null,-1)),l("span",null,g(X.value)+" în procesare",1),_.batchId?(s(),o("button",{key:0,class:"cancel-all-btn",onClick:ne(V,["stop"]),title:"Anulează toate fișierele în așteptare"},[...E[3]||(E[3]=[l("i",{class:"pi pi-times"},null,-1),l("span",{class:"cancel-btn-text"},"Anulează tot",-1)])])):f("",!0)])):ie.value>0?(s(),o("div",Ta,[E[7]||(E[7]=l("i",{class:"pi pi-exclamation-circle"},null,-1)),l("span",null,g(ie.value)+" cu erori",1),_.batchId&&!_.retrying?(s(),o("button",{key:0,class:"retry-all-btn",onClick:ne(c,["stop"]),title:"Reîncercă toate erorile"},[...E[5]||(E[5]=[l("i",{class:"pi pi-refresh"},null,-1),l("span",{class:"retry-btn-text"},"Reîncercă",-1)])])):f("",!0),_.retrying?(s(),o("span",Aa,[...E[6]||(E[6]=[l("i",{class:"pi pi-spin pi-spinner"},null,-1)])])):f("",!0)])):j.value?(s(),o("div",La,[...E[8]||(E[8]=[l("i",{class:"pi pi-check-circle"},null,-1),l("span",null,"Procesat",-1)])])):f("",!0)])],2))}},Da=ze(Fa,[["__scopeId","data-v-c767ad87"]]),za={class:"processing-status-cell"},Ba={key:0,class:"processing-status-dash"},Pa={key:1,class:"processing-status processing-pending"},Va={key:2,class:"processing-status processing-active"},Ma={key:3,class:"processing-status processing-success"},ja={key:4,class:"processing-failed-container"},Na={key:0,class:"processing-error-message"},Ua={key:5,class:"processing-status-dash"},Oa={__name:"ProcessingStatusCell",props:{status:{type:String,default:null},batchId:{type:String,default:null},processingError:{type:String,default:null}},emits:["error-click"],setup(_,{emit:F}){const d=_,D=F,c=R(()=>d.processingError||"Eroare la procesare"),V=R(()=>{if(!d.processingError)return"";const M=50;return d.processingError.length<=M?d.processingError:d.processingError.substring(0,M)+"..."}),K=()=>{D("error-click",d.processingError)};return(M,Y)=>{const X=jt("tooltip");return s(),o("div",za,[_.batchId?_.status==="pending"?(s(),o("span",Pa," În așteptare ")):_.status==="processing"?(s(),o("span",Va,[...Y[0]||(Y[0]=[l("i",{class:"pi pi-spin pi-spinner"},null,-1),h(" Se procesează... ",-1)])])):_.status==="completed"?(s(),o("span",Ma," ✓ Procesat ")):_.status==="failed"?(s(),o("div",ja,[U((s(),o("span",{class:"processing-status processing-failed",onClick:ne(K,["stop"])},[...Y[1]||(Y[1]=[h(" ✗ Eroare ",-1)])])),[[X,{value:c.value,showDelay:200},void 0,{top:!0}]]),_.processingError?U((s(),o("span",Na,[h(g(V.value),1)])),[[X,{value:_.processingError,showDelay:200},void 0,{bottom:!0}]]):f("",!0)])):(s(),o("span",Ua,"-")):(s(),o("span",Ba,"-"))])}}},Ja=ze(Oa,[["__scopeId","data-v-662c9f39"]]);let H=null,at=null,Ee=!1,$e=!1,Se=!1,Ue=null,oe=null,Re=null,it=null,De=0;const At=5,Lt=5e3,Ft=3e4;function qa(_){const F="/roa2web/api/data-entry/receipts/sse/status";return _?`${F}?batch_id=${encodeURIComponent(_)}`:F}function Ut(_=null){H&&Ot(),it=_;const F=qa(_);console.log(`[SSE] Connecting to ${F}`);try{H=new EventSource(F),Ee=!0,H.onmessage=d=>{try{const D=JSON.parse(d.data);console.log("[SSE] Received status change:",D),at&&at(D)}catch(D){console.error("[SSE] Failed to parse event data:",D,d.data)}},H.onopen=()=>{console.log("[SSE] Connection opened"),Ee=!0,$e=!0,De=0,Se&&(console.log("[SSE] SSE connection restored, stopping polling fallback"),Jt()),oe&&(clearTimeout(oe),oe=null)},H.onerror=d=>{(H==null?void 0:H.readyState)===EventSource.CLOSED?(console.log("[SSE] Connection closed"),Ee=!1,$e=!1,De++,console.log("SSE connection failed, falling back to polling"),Dt()):(H==null?void 0:H.readyState)===EventSource.CONNECTING?console.log("[SSE] Connection lost, reconnecting..."):console.error("[SSE] Connection error:",d)}}catch(d){console.error("[SSE] Failed to create EventSource:",d),console.log("SSE connection failed, falling back to polling"),Ee=!1,$e=!1,De++,Dt()}}function Ot(){H&&(H.close(),H=null,Ee=!1,$e=!1)}function Dt(){Re&&!Se&&Ga(),De{Re&&Re()},Lt))}function Jt(){Ue&&(clearInterval(Ue),Ue=null),Se=!1,console.log("[SSE] Polling fallback stopped")}function Ha(){oe||(console.log(`[SSE] Scheduling SSE retry in ${Ft/1e3}s`),oe=setTimeout(()=>{oe=null,Se&&!$e&&(console.log("[SSE] Retrying SSE connection..."),Ut(it))},Ft))}function Ka(){console.log("[SSE] Disconnecting and cleaning up"),Ot(),Jt(),oe&&(clearTimeout(oe),oe=null),it=null,De=0}function Ya(_){Re=_}function Xa(_){at=_}function Wa(){return Ee&&H!==null&&H.readyState!==EventSource.CLOSED}function Za(){return $e}function Qa(){return Se}const Ce={connect:Ut,disconnect:Ka,onStatusChange:Xa,setPollingCallback:Ya,get isConnected(){return Wa()},get isSSEActive(){return Za()},get isPollingActive(){return Qa()}},ei={class:"reject-dialog-content"},ti={key:1,class:"mobile-filter-chips-container"},si={class:"mobile-filter-chips"},ai={class:"bottom-sheet-filters"},ii={class:"form-group"},li={class:"form-group"},ni={class:"form-group"},oi={class:"form-group"},ri={class:"form-group"},ci={class:"bottom-sheet-actions"},ui={key:2,class:"page-header"},di={class:"roa-card"},pi={key:0,class:"status-actions-row"},vi={class:"status-chips"},fi={key:0,class:"desktop-action-buttons"},mi={key:1,class:"mobile-toolbar-container"},gi={class:"mobile-toolbar-buttons"},yi={class:"mobile-toolbar-buttons mobile-toolbar-actions"},hi={key:2,class:"filters-row"},bi={key:0,class:"header-actions-bar"},_i={key:3,class:"loading-container"},Si={key:4,class:"empty-state"},wi={key:5,class:"receipt-cards"},ki={key:0,class:"mobile-selection-header"},Ci={class:"selection-header-left"},xi={class:"selection-count"},Ei={class:"selection-header-right"},Ri=["onClick","onTouchstart"],$i={class:"card-row-1"},Ii={class:"partner-info"},Ti={class:"partner job-filename-mobile"},Ai={key:0,class:"cui text-error"},Li={key:1,class:"cui text-muted"},Fi={key:0,class:"job-failed-indicator-mobile"},Di={key:1,class:"job-processing-indicator-mobile"},zi={class:"card-row-2"},Bi={key:0,class:"text-error job-error-message"},Pi={key:1,class:"text-error"},Vi={key:2,class:"text-muted"},Mi={class:"card-row-3"},ji={key:0,class:"processing-badge processing-failed"},Ni={key:1,class:"processing-badge processing-active"},Ui={key:2,class:"batch-badge"},Oi={key:0,class:"selection-checkmark"},Ji={class:"card-row-1"},qi={class:"partner-info"},Gi={class:"partner"},Hi={key:0,class:"cui"},Ki={key:1,class:"filename-mobile"},Yi={class:"amount-block"},Xi={class:"amount"},Wi={key:0,class:"amount-detail tva"},Zi={key:1,class:"amount-detail payment"},Qi={class:"card-row-2"},el={key:0,class:"sep"},tl={key:1,class:"receipt-nr"},sl={class:"card-row-3"},al={key:0,class:"processing-badge processing-active"},il={key:1,class:"processing-badge processing-failed"},ll={key:2,class:"batch-badge"},nl={class:"created-by"},ol={key:3,class:"attachments"},rl={key:1,class:"mobile-pagination"},cl={class:"page-info"},ul={key:6,class:"data-table-container"},dl={key:0,class:"bulk-actions-bar"},pl={class:"selection-info"},vl={class:"bulk-buttons"},fl={class:"batch-groups-container"},ml={class:"batch-group-content"},gl={key:0,class:"job-filename"},yl={key:0,class:"receipt-filename"},hl={key:1,class:"text-muted"},bl={key:0,class:"text-muted"},_l={key:0,class:"text-muted"},Sl={key:0,class:"text-muted"},wl={key:0,class:"text-muted"},kl={key:0,class:"text-muted"},Cl={key:0,class:"text-muted"},xl={key:0,class:"text-muted"},El={key:1},Rl={key:0,class:"text-muted"},$l={key:0},Il={key:1,class:"text-muted"},Tl={key:0,class:"text-muted"},Al={key:0},Ll={key:1,class:"text-muted"},Fl={key:0,class:"text-muted"},Dl={key:0,class:"text-muted"},zl={key:0,class:"text-muted"},Bl={key:0,class:"text-muted"},Pl={class:"button-group"},Vl={key:0,class:"job-failed-indicator"},Ml={class:"job-processing-indicator"},jl={key:1,class:"grouped-pagination"},Nl=500,zt=10,xe=2e3,Bt="Fișierul se procesează",Ul=300,Ol={__name:"ReceiptsListView",setup(_){const F=Hs(),d=Nt(),D=Zs(),c=ta(),V=sa(),K=aa(),M=ia(),Y=la(),X=$(!1),Z=$(""),re=$(null),b=$([]),ie=$(!1),j=$(!1);let I=null,E={x:0,y:0};const W=$(new Set),te=$({}),me=$({}),k=$({}),m=$(new Set),y=$(new Set),w=$(new Set),ce=$(null),ue=$(null);let z=!1;const A=$(window.innerWidth<768),S=$(!1),se=()=>{A.value=window.innerWidth<768},de=$(!1),ge=$(null),ye=$(!0),he=$(null);let lt=0,Ie=null;const qt=async()=>{await Y.logout(),F.push("/login")},Gt=async t=>{var e;await V.loadCompanies(),(e=V.selectedCompany)!=null&&e.id_firma&&await K.loadPeriods(V.selectedCompany.id_firma)},Ht=R(()=>[{label:"Actualizează",icon:"pi pi-refresh",command:()=>{c.fetchReceipts(),c.fetchStats()}},{label:"Resetează filtre",icon:"pi pi-filter-slash",command:()=>Fe()},{separator:!0},{label:"Setări",icon:"pi pi-cog",command:()=>F.push("/settings")}]),Kt=t=>{var e;(e=he.value)==null||e.toggle(t)},Yt=R(()=>[{label:"Export PDF",icon:"pi pi-file-pdf",command:()=>Fs()},{label:"Export XLSX",icon:"pi pi-file-excel",command:()=>Ls()}]),Xt=[{label:"Bon Nou",icon:"pi pi-pencil",command:()=>Xe()},{label:"Bulk Upload",icon:"pi pi-upload",command:()=>Ye()}],Wt=R(()=>j.value?[{id:"select-all",icon:"pi pi-check-square",label:"Selectează tot",tooltip:"Selectează tot"}]:[{id:"filter",icon:"pi pi-filter",active:qe.value,tooltip:"Filtre"},{id:"reset",icon:"pi pi-filter-slash",tooltip:"Resetează Filtrele"},{id:"export",icon:"pi pi-download",tooltip:"Export Excel"},{id:"more",icon:"pi pi-ellipsis-v",tooltip:"Mai multe"}]),Zt=t=>{switch(t.id){case"select-all":vt();break;case"filter":S.value=!S.value;break;case"reset":Fe();break;case"export":if(he.value){const e=document.querySelector(".mobile-top-bar .top-bar-btn:nth-child(3)");e&&he.value.toggle({currentTarget:e})}break;case"more":if(ge.value){const e=document.querySelector(".mobile-top-bar .top-bar-btn:last-child");e&&ge.value.toggle({currentTarget:e})}break}},Qt=R(()=>[{label:"Șterge",icon:"pi pi-trash",severity:"danger",handler:()=>yt()},{label:"Export",icon:"pi pi-download",severity:"secondary",handler:()=>As()}]),nt=()=>{if(!A.value)return;const t=window.scrollY,e=t-lt;Ie&&clearTimeout(Ie),e>10?ye.value=!1:e<-10&&(ye.value=!0),lt=t,Ie=setTimeout(()=>{ye.value=!0},300)};Pt(async()=>{window.addEventListener("resize",se),window.addEventListener("scroll",nt,{passive:!0}),await c.fetchStats(),await c.fetchReceipts(),M.setOnJobsTransitionCallback(Ns),Ce.onStatusChange(Os),Ce.setPollingCallback(async()=>{console.log("[ReceiptsList] Polling fallback: refreshing data"),await c.fetchReceipts(),await c.fetchStats(),pe.value===0&&(console.log("[ReceiptsList] Processing complete during polling, disconnecting"),Ze(),M.clearAllStoredBatches())}),await Us(),document.addEventListener("click",pt)}),Vt(()=>{window.removeEventListener("resize",se),window.removeEventListener("scroll",nt),Ie&&clearTimeout(Ie),Ze(),M.setOnJobsTransitionCallback(null),Ce.onStatusChange(null),Ce.setPollingCallback(null),document.removeEventListener("click",pt)}),Ks(()=>V.selectedCompany,async(t,e)=>{!e||!t||t.id_firma!==e.id_firma&&(console.log("[ReceiptsList] Company changed, reloading data..."),p.value={status:null,search:"",direction:null,dateFrom:null,dateTo:null,processingStatus:null},c.clearFilters(),await c.fetchStats(),await c.fetchReceipts())});const ot=$(),rt=$(null),ct=(t,e)=>{rt.value=e,ot.value.toggle(t)},es=R(()=>{const t=rt.value;if(!t)return[];const e=[{label:"Vizualizează",icon:"pi pi-eye",command:()=>We(t.id)}];return t.status==="draft"&&(e.push({label:"Editează",icon:"pi pi-pencil",command:()=>Me(t.id)}),e.push({label:"Spre aprobare",icon:"pi pi-send",command:()=>Cs(t)}),e.push({separator:!0}),e.push({label:"Șterge",icon:"pi pi-trash",class:"menu-item-danger",command:()=>gt(t)})),t.status==="pending_review"&&(e.push({separator:!0}),e.push({label:"Validează",icon:"pi pi-check",class:"menu-item-success",command:()=>xs(t)}),e.push({label:"Respinge",icon:"pi pi-times",class:"menu-item-danger",command:()=>Rs(t)})),t.status==="approved"&&(e.push({separator:!0}),e.push({label:"Anulare Validare",icon:"pi pi-undo",class:"menu-item-warning",command:()=>Es(t)})),t.status==="rejected"&&(e.push({label:"Editează",icon:"pi pi-pencil",command:()=>Me(t.id)}),e.push({label:"Retrimite",icon:"pi pi-replay",command:()=>Is(t)}),e.push({separator:!0}),e.push({label:"Șterge",icon:"pi pi-trash",class:"menu-item-danger",command:()=>gt(t)})),e}),p=$({status:null,search:"",direction:null,dateFrom:null,dateTo:null,processingStatus:null}),ut=[{value:null,label:"Toate"},{value:"cheltuiala",label:"Plăți"},{value:"incasare",label:"Încasări"}],ts=[{value:null,label:"Toate"},{value:"draft",label:"Ciorne"},{value:"pending_review",label:"În așteptare"},{value:"approved",label:"Validate"},{value:"rejected",label:"Respinse"}],ss=R(()=>c.receipts),Oe=R(()=>c.loading),B=R(()=>c.pagination),Q=R(()=>c.stats),Je=R(()=>c.processingStats),C=t=>t._isJob===!0,Be=t=>C(t)?`job_${t.job_id}`:t.id,be=R(()=>{const t=ss.value||[],e=M.jobs||new Map,n=new Set;for(const x of t)n.add(x.id);const a=[];for(const[x,v]of e.entries())v.status==="completed"&&v.receipt_id&&n.has(v.receipt_id)||v.status!=="pending"&&v.status!=="processing"&&v.status!=="failed"||a.push({_isJob:!0,job_id:x,id:`job_${x}`,filename:v.filename,batch_id:M.batchId,processing_status:v.status,processing_error:v.error_message,processing_started_at:null,receipt_date:null,receipt_number:null,receipt_type:null,direction:null,partner_name:null,cui:null,amount:null,tva_total:null,payment_methods:null,status:null,created_by:null,created_at:null,attachments:[]});return[...a,...t]}),pe=R(()=>{var t,e;return(((t=Je.value)==null?void 0:t.pending_count)||0)+(((e=Je.value)==null?void 0:e.processing_count)||0)}),Pe=R(()=>{var t;return((t=Je.value)==null?void 0:t.failed_count)||0}),qe=R(()=>p.value.status!==null||p.value.search!==""||p.value.direction!==null||p.value.dateFrom!==null||p.value.dateTo!==null||p.value.processingStatus!==null),dt=R(()=>{const t=new Map;for(const n of be.value){const a=n.batch_id||"__manual__";t.has(a)||t.set(a,{batchId:n.batch_id,processingStartedAt:n.processing_started_at,items:[]}),t.get(a).items.push(n)}const e=Array.from(t.values());return e.sort((n,a)=>{if(!n.batchId&&a.batchId)return 1;if(n.batchId&&!a.batchId)return-1;if(!n.batchId&&!a.batchId)return 0;const x=n.processingStartedAt?new Date(n.processingStartedAt).getTime():0;return(a.processingStartedAt?new Date(a.processingStartedAt).getTime():0)-x}),e}),as=t=>t.items.some(e=>e.processing_status==="pending"||e.processing_status==="processing"),ee=t=>(C(t),t.processing_status==="pending"||t.processing_status==="processing"),is=t=>{const e=[],n=Be(t);return y.value.has(n)?e.push("row-highlight-completed"):w.value.has(n)&&e.push("row-highlight-failed"),C(t)&&m.value.has(t.job_id)&&e.push("row-cancelling"),C(t)?t.processing_status==="failed"?e.push("row-failed"):e.push("row-processing"):ee(t)?e.push("row-processing"):t.processing_status==="failed"&&e.push("row-failed"),e.join(" ")},ls=t=>{const e=Be(t),n=!C(t)&&t.processing_status==="failed";return{"card-processing":ee(t),"card-job":C(t),"card-failed":n,"card-highlight-completed":y.value.has(e),"card-highlight-failed":w.value.has(e)}},_e=t=>b.value.some(e=>e.id===t.id),Ge=(t,e)=>{e?_e(t)||(b.value=[...b.value,t]):b.value=b.value.filter(n=>n.id!==t.id)},ns=t=>t.some(e=>!ee(e)),os=t=>{const e=t.filter(n=>!ee(n));return e.length===0?!1:e.every(n=>_e(n))},rs=(t,e)=>{const n=t.filter(a=>!ee(a));if(e){const a=new Set(b.value.map(v=>v.id)),x=n.filter(v=>!a.has(v.id));b.value=[...b.value,...x]}else{const a=new Set(t.map(x=>x.id));b.value=b.value.filter(x=>!a.has(x.id))}},cs=(t,e)=>{if(C(e)||ee(e))return;const n=t.touches[0];E={x:n.clientX,y:n.clientY},I=setTimeout(()=>{j.value=!0,_e(e)||Ge(e,!0),navigator.vibrate&&navigator.vibrate(50)},Nl)},us=t=>{if(!I)return;const e=t.touches[0],n=Math.abs(e.clientX-E.x),a=Math.abs(e.clientY-E.y);(n>zt||a>zt)&&(clearTimeout(I),I=null)},ds=()=>{I&&(clearTimeout(I),I=null)},ps=(t,e)=>{if(!C(e))if(j.value){if(t.preventDefault(),t.stopPropagation(),ee(e))return;Ge(e,!_e(e))}else We(e.id)},He=()=>{j.value=!1,b.value=[]},pt=t=>{if(!j.value)return;const e=t.target,n=e.closest(".receipt-card"),a=e.closest(".mobile-selection-header"),x=e.closest(".mobile-selection-bottom-bar");!n&&!a&&!x&&He()},vt=()=>{const t=be.value.filter(a=>!C(a)&&!ee(a)),e=new Set(b.value.map(a=>a.id)),n=t.filter(a=>!e.has(a.id));b.value=[...b.value,...n]},vs=t=>{const e=t||"__manual__";W.value.has(e)?W.value.delete(e):W.value.add(e),W.value=new Set(W.value)},ft=t=>{const e=t||"__manual__";return W.value.has(e)};Ys(()=>{const t=new Set(W.value);for(const e of dt.value){const n=e.batchId||"__manual__";as(e)&&t.add(n)}t.size!==W.value.size&&(W.value=t)});const we=t=>t?new Date(t).toLocaleDateString("ro-RO"):"-",Ke=t=>{if(!t)return"-";const e=20;return t.length<=e?t:t.substring(0,e)+"..."},fs=t=>{if(!t)return"Eroare necunoscută";const e=40;return t.length<=e?t:t.substring(0,e)+"..."},Te=t=>C(t)?t.filename||null:t.attachments&&t.attachments.length>0&&t.attachments[0].filename||null,ms=t=>t?new Date(t).toLocaleDateString("ro-RO",{day:"2-digit",month:"2-digit"}):"-",Ae=t=>new Intl.NumberFormat("ro-RO",{minimumFractionDigits:2,maximumFractionDigits:2}).format(t),mt=t=>({draft:"status-draft",pending_review:"status-pending",approved:"status-approved",rejected:"status-rejected",synced:"status-synced"})[t]||"",Le=t=>({draft:"Ciornă",pending_review:"În așteptare",approved:"Validat",rejected:"Respins",synced:"Sincronizat"})[t]||t,gs=t=>t?new Date(t).toLocaleDateString("ro-RO",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"}):"-",ke=t=>!t.payment_methods||t.payment_methods.length===0?null:t.payment_methods.map(e=>`${e.method==="CARD"?"Card":"Num"} ${Ae(e.amount)}`).join(" / "),ae=async t=>{p.value.status!==t&&(p.value.status=t,await ve())},Ve=async t=>{p.value.processingStatus===t?p.value.processingStatus=null:p.value.processingStatus=t,await ve()},ve=async()=>{b.value=[],c.setFilters({status:p.value.status,search:p.value.search,direction:p.value.direction,dateFrom:p.value.dateFrom?p.value.dateFrom.toISOString().split("T")[0]:null,dateTo:p.value.dateTo?p.value.dateTo.toISOString().split("T")[0]:null,processingStatus:p.value.processingStatus}),await c.fetchReceipts()},Fe=async()=>{b.value=[],p.value={status:null,search:"",direction:null,dateFrom:null,dateTo:null,processingStatus:null},c.clearFilters(),await c.fetchReceipts()},ys=async()=>{await Fe(),S.value=!1},hs=async()=>{await ve(),S.value=!1},Ye=()=>{ue.value&&ue.value.click()},bs=async t=>{var a,x;const e=(a=t.target)==null?void 0:a.files;if(!e||e.length===0)return;const n=Array.from(e);(x=ce.value)!=null&&x.handleFiles&&await ce.value.handleFiles(n),ue.value&&(ue.value.value="")},_s=async t=>{console.log("[ReceiptsList] Bulk upload complete:",t),t.batchId&&M.startPolling(t.batchId,t.jobs),setTimeout(async()=>{await c.fetchReceipts(),await c.fetchStats(),je(t.batchId)},500)},Ss=async t=>{b.value=[],c.setPage(t.page+1),await c.fetchReceipts()},ws=async()=>{B.value.page>1&&(c.setPage(B.value.page-1),await c.fetchReceipts())},ks=async()=>{const t=Math.ceil(B.value.total/B.value.pageSize);B.value.page{console.log("[ReceiptsList] Navigating to create..."),F.push("/data-entry/create").catch(t=>{console.error("[ReceiptsList] Navigation error:",t)})},We=t=>{F.push(`/data-entry/${t}`)},Me=t=>{F.push(`/data-entry/${t}/edit`)},gt=t=>{const e=t.store_name||"Magazin necunoscut",n=t.total?new Intl.NumberFormat("ro-RO",{style:"currency",currency:"RON"}).format(t.total):"sumă necunoscută";D.require({message:`Ești sigur că vrei să ștergi bonul de la "${e}" în valoare de ${n}?`,header:"Șterge bonul?",icon:"pi pi-trash",acceptClass:"p-button-danger",rejectClass:"p-button-text",acceptLabel:"Șterge",rejectLabel:"Anulează",accept:async()=>{try{await c.deleteReceipt(t.id),d.add({severity:"success",summary:"Succes",detail:"Bonul a fost șters",life:3e3}),await c.fetchReceipts(),await c.fetchStats()}catch(a){d.add({severity:"error",summary:"Eroare",detail:a.message||"Nu s-a putut șterge bonul",life:5e3})}}})},Cs=t=>{D.require({message:'Sigur doriți să trimiteți bonul spre aprobare? Statusul va deveni "În așteptare".',header:"Confirmare trimitere",icon:"pi pi-send",acceptClass:"p-button-success",acceptLabel:"Trimite",rejectLabel:"Anulează",accept:async()=>{try{await c.submitReceipt(t.id),d.add({severity:"success",summary:"Succes",detail:"Bonul a fost trimis spre aprobare",life:3e3}),await c.fetchReceipts(),await c.fetchStats()}catch(e){d.add({severity:"error",summary:"Eroare",detail:e.message||"Nu s-a putut trimite bonul",life:5e3})}}})},xs=t=>{D.require({message:"Sigur doriți să validați acest bon?",header:"Confirmare validare",icon:"pi pi-check",acceptClass:"p-button-success",acceptLabel:"Validează",rejectLabel:"Anulează",accept:async()=>{try{await c.approveReceipt(t.id),d.add({severity:"success",summary:"Succes",detail:"Bonul a fost validat",life:3e3}),await c.fetchReceipts(),await c.fetchStats()}catch(e){d.add({severity:"error",summary:"Eroare",detail:e.message||"Nu s-a putut valida bonul",life:5e3})}}})},Es=t=>{D.require({message:'Sigur doriți să anulați validarea acestui bon? Bonul va reveni în starea "În așteptare".',header:"Confirmare anulare validare",icon:"pi pi-undo",acceptClass:"p-button-warning",acceptLabel:"Anulează Validarea",rejectLabel:"Renunță",accept:async()=>{try{await c.unapproveReceipt(t.id),d.add({severity:"success",summary:"Succes",detail:"Validarea a fost anulată",life:3e3}),await c.fetchReceipts(),await c.fetchStats()}catch(e){d.add({severity:"error",summary:"Eroare",detail:e.message||"Nu s-a putut anula validarea",life:5e3})}}})},Rs=t=>{re.value=t,Z.value="",X.value=!0},$s=async()=>{if(!(!re.value||Z.value.length<5))try{await c.rejectReceipt(re.value.id,Z.value),d.add({severity:"success",summary:"Succes",detail:"Bonul a fost respins",life:3e3}),X.value=!1,await c.fetchReceipts(),await c.fetchStats()}catch(t){d.add({severity:"error",summary:"Eroare",detail:t.message||"Nu s-a putut respinge bonul",life:5e3})}},Is=t=>{D.require({message:"Sigur doriți să retrimiteți bonul spre aprobare?",header:"Confirmare retrimitere",icon:"pi pi-replay",acceptClass:"p-button-success",acceptLabel:"Retrimite",rejectLabel:"Anulează",accept:async()=>{try{await c.resubmitReceipt(t.id),d.add({severity:"success",summary:"Succes",detail:"Bonul a fost retrimis spre aprobare",life:3e3}),await c.fetchReceipts(),await c.fetchStats()}catch(e){d.add({severity:"error",summary:"Eroare",detail:e.message||"Nu s-a putut retrimite bonul",life:5e3})}}})},Ts=async()=>{const t=b.value.filter(a=>a.status==="pending_review");if(!t.length)return;ie.value=!0;let e=0,n=0;for(const a of t)try{await c.approveReceipt(a.id),e++}catch{n++}ie.value=!1,b.value=[],e>0&&d.add({severity:"success",summary:"Succes",detail:`${e} bonuri validate`,life:3e3}),n>0&&d.add({severity:"warn",summary:"Atenție",detail:`${n} bonuri nu au putut fi validate`,life:5e3}),await c.fetchReceipts(),await c.fetchStats()},As=()=>{const t=b.value;if(t.length===0){d.add({severity:"warn",summary:"Atenție",detail:"Nu există bonuri selectate pentru export",life:3e3});return}const e=t.map(a=>({Magazin:a.store_name||a.partner_name||"-",CUI:a.cui||"-",Data:a.receipt_date?we(a.receipt_date):"-","Nr. Bon":a.receipt_number||"-","Tip Document":a.receipt_type==="receipt"?"Bon":a.receipt_type==="invoice"?"Factură":a.receipt_type||"-",Direcție:a.direction==="expense"?"Cheltuială":a.direction==="income"?"Venit":a.direction||"-",Suma:a.amount||0,TVA:a.tva_total||0,"Metodă Plată":ke(a)||"-",Status:Le(a.status)||"-","Creat de":a.created_by||"-","Creat la":a.created_at?we(a.created_at):"-"}));It(e,`bonuri_selectate_${t.length}`,"Bonuri").success?d.add({severity:"success",summary:"Export reușit",detail:`${t.length} bonuri exportate cu succes`,life:3e3}):d.add({severity:"error",summary:"Eroare",detail:"Nu s-a putut exporta lista de bonuri",life:5e3})},Ls=()=>{const t=be.value.filter(a=>!C(a));if(t.length===0){d.add({severity:"warn",summary:"Atenție",detail:"Nu există bonuri de exportat",life:3e3});return}const e=t.map(a=>({Magazin:a.store_name||a.partner_name||"-",CUI:a.cui||"-",Data:a.receipt_date?we(a.receipt_date):"-","Nr. Bon":a.receipt_number||"-","Tip Document":a.receipt_type==="receipt"?"Bon":a.receipt_type==="invoice"?"Factură":a.receipt_type||"-",Direcție:a.direction==="expense"?"Cheltuială":a.direction==="income"?"Venit":a.direction||"-",Suma:a.amount||0,TVA:a.tva_total||0,"Metodă Plată":ke(a)||"-",Status:Le(a.status)||"-","Creat de":a.created_by||"-","Creat la":a.created_at?we(a.created_at):"-"}));It(e,`bonuri_export_${t.length}`,"Bonuri").success?d.add({severity:"success",summary:"Export reușit",detail:`${t.length} bonuri exportate cu succes`,life:3e3}):d.add({severity:"error",summary:"Eroare",detail:"Nu s-a putut exporta lista de bonuri",life:5e3})},Fs=()=>{var x;const t=be.value.filter(v=>!C(v));if(t.length===0){d.add({severity:"warn",summary:"Atenție",detail:"Nu există bonuri de exportat",life:3e3});return}const e=t.map(v=>({store_name:v.store_name||v.partner_name||"-",cui:v.cui||"-",receipt_date:v.receipt_date?we(v.receipt_date):"-",receipt_number:v.receipt_number||"-",receipt_type:v.receipt_type==="receipt"?"Bon":v.receipt_type==="invoice"?"Factură":v.receipt_type||"-",direction:v.direction==="expense"?"Cheltuială":v.direction==="income"?"Venit":v.direction||"-",amount:v.amount||0,tva_total:v.tva_total||0,status:Le(v.status)||"-"}));fa(e,[{field:"store_name",header:"Magazin",type:"text",width:.22},{field:"cui",header:"CUI",type:"text",width:.1},{field:"receipt_date",header:"Data",type:"text",width:.1},{field:"receipt_number",header:"Nr. Bon",type:"text",width:.1},{field:"receipt_type",header:"Tip",type:"text",width:.08},{field:"direction",header:"Direcție",type:"text",width:.1},{field:"amount",header:"Suma",type:"number",width:.1},{field:"tva_total",header:"TVA",type:"number",width:.1},{field:"status",header:"Status",type:"text",width:.1}],`bonuri_export_${t.length}`,{companyName:((x=V.selectedCompany)==null?void 0:x.name)||"",title:"Lista Bonuri Fiscale",period:""}).success?d.add({severity:"success",summary:"Export reușit",detail:`${t.length} bonuri exportate cu succes (PDF)`,life:3e3}):d.add({severity:"error",summary:"Eroare",detail:"Nu s-a putut exporta lista de bonuri în format PDF",life:5e3})},yt=()=>{const t=b.value.length;t!==0&&D.require({message:`Ești sigur că vrei să ștergi ${t} ${t===1?"bon":"bonuri"}?`,header:"Confirmare ștergere",icon:"pi pi-exclamation-triangle",acceptClass:"p-button-danger",acceptLabel:"Șterge",rejectLabel:"Anulează",accept:async()=>{await Ds()}})},Ds=async()=>{var n,a,x;const t=b.value.map(v=>v.id),e=t.length;if(e!==0)try{const v=await c.bulkDeleteReceipts(t),le=((n=v.deleted)==null?void 0:n.length)||0,L=((a=v.failed)==null?void 0:a.length)||0;if(le>0&&c.removeReceiptsLocally(v.deleted),c.receipts.length===0&&B.value.page>1&&(c.setPage(B.value.page-1),await c.fetchReceipts()),b.value=[],j.value=!1,await c.fetchStats(),L===0&&le>0)d.add({severity:"success",summary:"Succes",detail:`${le} ${le===1?"bon șters":"bonuri șterse"}`,life:3e3});else if(le>0&&L>0)d.add({severity:"warn",summary:"Ștergere parțială",detail:`${le} din ${e} șterse, ${L} au eșuat`,life:5e3});else if(le===0&&L>0){const Ne=((x=v.failed[0])==null?void 0:x.error)||"Eroare necunoscută";d.add({severity:"error",summary:"Eroare",detail:L===1?Ne:`${L} bonuri nu au putut fi șterse`,life:5e3})}}catch(v){d.add({severity:"error",summary:"Eroare",detail:v.message||"Eroare la ștergerea bonurilor",life:5e3})}},ht=async t=>{te.value[t.id]=!0;try{const e=await c.retryReceipt(t.id);d.add({severity:"success",summary:"Succes",detail:e.message||"Bon reîncarcat în procesare",life:3e3}),await c.fetchReceipts(),await c.fetchStats()}catch(e){d.add({severity:"error",summary:"Eroare",detail:e.message||"Fișierul original nu mai este disponibil",life:5e3})}finally{delete te.value[t.id]}},zs=async t=>{me.value[t]=!0;try{const e=await c.retryBatchFailed(t);e.success&&d.add({severity:"success",summary:"Succes",detail:e.message,life:3e3}),e.failed_count>0&&d.add({severity:"warn",summary:"Atenție",detail:`${e.failed_count} bonuri nu au putut fi reîncarcate`,life:5e3}),await c.fetchReceipts(),await c.fetchStats()}catch(e){d.add({severity:"error",summary:"Eroare",detail:e.message||"Nu s-au putut reîncărca bonurile",life:5e3})}finally{delete me.value[t]}},Bs=t=>{D.require({message:`Anulezi procesarea pentru "${t.filename}"?`,header:"Confirmare anulare",icon:"pi pi-times-circle",acceptClass:"p-button-danger",acceptLabel:"Anulează",rejectLabel:"Nu",accept:async()=>{await Vs(t.job_id,t.filename)}})},Ps=t=>new Promise(e=>setTimeout(e,t)),Vs=async(t,e)=>{k.value[t]=!0,m.value.add(t),m.value=new Set(m.value),await Ps(Ul);try{const n=await M.cancelJob(t);n.success?d.add({severity:"success",summary:"Succes",detail:`Procesarea pentru "${e}" a fost anulată`,life:3e3}):(m.value.delete(t),m.value=new Set(m.value),d.add({severity:"error",summary:"Eroare",detail:n.message||"Nu s-a putut anula procesarea",life:5e3}))}catch(n){m.value.delete(t),m.value=new Set(m.value),d.add({severity:"error",summary:"Eroare",detail:n.message||"Nu s-a putut anula procesarea",life:5e3})}finally{delete k.value[t],m.value.delete(t),m.value=new Set(m.value)}},Ms=t=>{const{batchId:e,pendingProcessingCount:n,completedCount:a}=t;let x=`Anulezi procesarea pentru ${n} ${n===1?"fișier":"fișiere"}?`;a>0&&(x+=` Bonurile deja procesate (${a}) vor rămâne în sistem.`),D.require({message:x,header:"Confirmare anulare batch",icon:"pi pi-times-circle",acceptClass:"p-button-danger",acceptLabel:"Anulează tot",rejectLabel:"Nu",accept:async()=>{await js(e)}})},js=async(t,e)=>{try{const n=await M.cancelBatch(t);n.success?d.add({severity:"success",summary:"Succes",detail:n.message||`${n.cancelledCount} fișiere anulate`,life:3e3}):d.add({severity:"error",summary:"Eroare",detail:n.message||"Nu s-a putut anula batch-ul",life:5e3})}catch(n){d.add({severity:"error",summary:"Eroare",detail:n.message||"Nu s-a putut anula batch-ul",life:5e3})}},Ns=async(t,e)=>{console.log("[ReceiptsList] Job transitions detected:",{completedReceiptIds:t,failedJobIds:e});for(const n of t)y.value.add(n),setTimeout(()=>{y.value.delete(n),y.value=new Set(y.value)},xe);t.length>0&&(y.value=new Set(y.value));for(const n of e){const a=`job_${n}`;w.value.add(a),setTimeout(()=>{w.value.delete(a),w.value=new Set(w.value)},xe)}if(e.length>0&&(w.value=new Set(w.value)),t.length>0){console.log("[ReceiptsList] Fetching completed receipts individually to preserve order");for(const n of t)try{const a=await c.fetchReceiptById(n);a&&(c.insertReceiptInPlace(a),console.log(`[ReceiptsList] Receipt ${n} inserted in place`))}catch(a){console.error(`[ReceiptsList] Failed to fetch receipt ${n}:`,a)}await c.fetchStats()}},Us=async()=>{const t=M.getStoredBatchIds();if(t.length===0){console.log("[ReceiptsList] No stored batch IDs found"),pe.value>0&&(console.log("[ReceiptsList] Found processing receipts in DB, connecting SSE"),je());return}console.log("[ReceiptsList] Found stored batch IDs:",t);let e=0;for(const n of t){const a=await M.restoreJobsFromBatch(n);a.hasActiveJobs&&(e+=a.jobCount)}e>0?(console.log(`[ReceiptsList] Restored ${e} active jobs from stored batches`),je(),d.add({severity:"info",summary:"Procesare în curs detectată",detail:`${e} ${e===1?"fișier":"fișiere"} în procesare`,life:4e3})):(console.log("[ReceiptsList] No active jobs found in stored batches"),pe.value>0&&(je(),d.add({severity:"info",summary:"Procesare în curs detectată",detail:"Se actualizează statusul automat...",life:4e3})))},je=(t=null)=>{if(z){console.log("[ReceiptsList] SSE already connected");return}console.log("[ReceiptsList] Connecting to SSE for real-time updates"),Ce.connect(t),z=!0},Ze=()=>{z&&(console.log("[ReceiptsList] Disconnecting from SSE"),Ce.disconnect(),z=!1)},Os=async t=>{console.log("[ReceiptsList] SSE status change received:",t);const e={};if(t.status!==void 0&&(e.status=t.status),t.processing_status!==void 0&&(e.processing_status=t.processing_status),c.updateReceiptInPlace(t.receipt_id,e))console.log(`[ReceiptsList] Receipt ${t.receipt_id} updated in place via SSE`),t.processing_status==="completed"?(y.value.add(t.receipt_id),y.value=new Set(y.value),setTimeout(()=>{y.value.delete(t.receipt_id),y.value=new Set(y.value)},xe)):t.processing_status==="failed"&&(w.value.add(t.receipt_id),w.value=new Set(w.value),setTimeout(()=>{w.value.delete(t.receipt_id),w.value=new Set(w.value)},xe));else{console.log(`[ReceiptsList] Receipt ${t.receipt_id} not found in current list`);const a=M.getStoredBatchIds();if(t.batch_id&&a.includes(t.batch_id)){console.log(`[ReceiptsList] Receipt ${t.receipt_id} belongs to active batch ${t.batch_id}, fetching individually...`);try{const v=await c.fetchReceiptById(t.receipt_id);v&&(c.insertReceiptInPlace(v),console.log(`[ReceiptsList] Receipt ${t.receipt_id} inserted into list`),t.processing_status==="completed"?(y.value.add(t.receipt_id),y.value=new Set(y.value),setTimeout(()=>{y.value.delete(t.receipt_id),y.value=new Set(y.value)},xe)):t.processing_status==="failed"&&(w.value.add(t.receipt_id),w.value=new Set(w.value),setTimeout(()=>{w.value.delete(t.receipt_id),w.value=new Set(w.value)},xe)))}catch(v){console.error(`[ReceiptsList] Failed to fetch receipt ${t.receipt_id}:`,v)}}else console.log(`[ReceiptsList] Receipt ${t.receipt_id} not in active batch, skipping list refresh`);await c.fetchStats()}await Js()},Js=async()=>{await c.fetchStats(),pe.value===0&&(console.log("[ReceiptsList] All processing complete, disconnecting SSE"),Ze(),M.clearAllStoredBatches(),d.add({severity:"success",summary:"Procesare completă",detail:"Toate bonurile au fost procesate",life:4e3}))};return(t,e)=>{var bt,_t,St,wt,kt,Ct,xt,Et,Rt,$t;const n=fe("Button"),a=fe("Badge"),x=fe("InputText"),v=fe("Calendar"),le=fe("ProgressSpinner"),L=fe("Column"),Ne=fe("Tag"),qs=fe("DataTable"),q=jt("tooltip");return s(),o("div",{class:P(["receipts-list-view",{"mobile-android-layout":A.value}])},[u(ha,{ref_key:"dragDropOverlayRef",ref:ce,onUploadComplete:_s},null,512),l("input",{ref_key:"bulkFileInputRef",ref:ue,type:"file",multiple:"",accept:".pdf,.png,.jpg,.jpeg,application/pdf,image/png,image/jpeg",class:"hidden-file-input",onChange:bs},null,544),u(N(oa),{visible:X.value,"onUpdate:visible":e[2]||(e[2]=i=>X.value=i),header:"Respingere bon",modal:!0,closable:!0,style:{width:"400px"}},{footer:T(()=>[u(n,{label:"Anulează",severity:"secondary",onClick:e[1]||(e[1]=i=>X.value=!1)}),u(n,{label:"Respinge",severity:"danger",icon:"pi pi-times",disabled:Z.value.length<5,onClick:$s},null,8,["disabled"])]),default:T(()=>[l("div",ei,[e[32]||(e[32]=l("p",null,"Motivul respingerii (minim 5 caractere):",-1)),u(N(ea),{modelValue:Z.value,"onUpdate:modelValue":e[0]||(e[0]=i=>Z.value=i),rows:"3",class:"w-full",placeholder:"Introduceți motivul respingerii..."},null,8,["modelValue"])])]),_:1},8,["visible"]),A.value?(s(),G(pa,{key:0,title:j.value?`${b.value.length} selectate`:"Bonuri","show-back":j.value,"show-menu":!j.value,"selection-active":j.value,actions:Wt.value,onBackClick:He,onMenuClick:e[3]||(e[3]=i=>de.value=!0),onActionClick:Zt},null,8,["title","show-back","show-menu","selection-active","actions"])):f("",!0),A.value&&Q.value&&!j.value?(s(),o("div",ti,[l("div",si,[l("span",{class:P(["mobile-filter-chip",{active:!p.value.status&&!p.value.processingStatus}]),onClick:e[4]||(e[4]=i=>ae(null))},[e[33]||(e[33]=h(" Toate ",-1)),u(a,{value:((bt=Q.value.total)==null?void 0:bt.count)||0,class:"chip-badge"},null,8,["value"])],2),l("span",{class:P(["mobile-filter-chip chip-draft",{active:p.value.status==="draft"}]),onClick:e[5]||(e[5]=i=>ae("draft"))},[e[34]||(e[34]=h(" Ciorne ",-1)),u(a,{value:((_t=Q.value.draft)==null?void 0:_t.count)||0,severity:"info",class:"chip-badge"},null,8,["value"])],2),l("span",{class:P(["mobile-filter-chip chip-pending",{active:p.value.status==="pending_review"}]),onClick:e[6]||(e[6]=i=>ae("pending_review"))},[e[35]||(e[35]=h(" În așteptare ",-1)),u(a,{value:((St=Q.value.pending_review)==null?void 0:St.count)||0,severity:"warning",class:"chip-badge"},null,8,["value"])],2),l("span",{class:P(["mobile-filter-chip chip-approved",{active:p.value.status==="approved"}]),onClick:e[7]||(e[7]=i=>ae("approved"))},[e[36]||(e[36]=h(" Validate ",-1)),u(a,{value:((wt=Q.value.approved)==null?void 0:wt.count)||0,severity:"success",class:"chip-badge"},null,8,["value"])],2),l("span",{class:P(["mobile-filter-chip chip-rejected",{active:p.value.status==="rejected"}]),onClick:e[8]||(e[8]=i=>ae("rejected"))},[e[37]||(e[37]=h(" Respinse ",-1)),u(a,{value:((kt=Q.value.rejected)==null?void 0:kt.count)||0,severity:"danger",class:"chip-badge"},null,8,["value"])],2),pe.value>0?(s(),o("span",{key:0,class:P(["mobile-filter-chip chip-processing",{active:p.value.processingStatus==="in_processing"}]),onClick:e[9]||(e[9]=i=>Ve("in_processing"))},[e[38]||(e[38]=l("i",{class:"pi pi-spin pi-spinner"},null,-1)),e[39]||(e[39]=h(" În procesare ",-1)),u(a,{value:pe.value,class:"chip-badge"},null,8,["value"])],2)):f("",!0),Pe.value>0?(s(),o("span",{key:1,class:P(["mobile-filter-chip chip-failed",{active:p.value.processingStatus==="failed"}]),onClick:e[10]||(e[10]=i=>Ve("failed"))},[e[40]||(e[40]=l("i",{class:"pi pi-exclamation-triangle"},null,-1)),e[41]||(e[41]=h(" Cu erori ",-1)),u(a,{value:Pe.value,class:"chip-badge"},null,8,["value"])],2)):f("",!0)])])):f("",!0),u(N(Qe),{ref_key:"moreMenuRef",ref:ge,model:Ht.value,popup:!0},null,8,["model"]),u(ca,{modelValue:de.value,"onUpdate:modelValue":e[11]||(e[11]=i=>de.value=i),user:N(Y).user,"companies-store":N(V),"period-store":N(K),"available-servers":N(Y).availableServers,"current-server-id":N(Y).selectedServerId,"auth-store":N(Y),onLogout:qt,onServerSwitched:Gt},null,8,["modelValue","user","companies-store","period-store","available-servers","current-server-id","auth-store"]),u(ua,{modelValue:S.value,"onUpdate:modelValue":e[17]||(e[17]=i=>S.value=i)},{default:T(()=>[e[47]||(e[47]=l("h3",{class:"bottom-sheet-title"},"Filtre",-1)),l("div",ai,[l("div",ii,[e[42]||(e[42]=l("label",{class:"form-label"},"Status",-1)),u(N(et),{modelValue:p.value.status,"onUpdate:modelValue":e[12]||(e[12]=i=>p.value.status=i),options:ts,optionLabel:"label",optionValue:"value",placeholder:"Toate statusurile",class:"w-full"},null,8,["modelValue"])]),l("div",li,[e[43]||(e[43]=l("label",{class:"form-label"},"Căutare",-1)),u(x,{modelValue:p.value.search,"onUpdate:modelValue":e[13]||(e[13]=i=>p.value.search=i),placeholder:"Caută furnizor, CUI, nr. bon...",class:"w-full"},null,8,["modelValue"])]),l("div",ni,[e[44]||(e[44]=l("label",{class:"form-label"},"Tip",-1)),u(N(et),{modelValue:p.value.direction,"onUpdate:modelValue":e[14]||(e[14]=i=>p.value.direction=i),options:ut,optionLabel:"label",optionValue:"value",placeholder:"Toate tipurile",class:"w-full"},null,8,["modelValue"])]),l("div",oi,[e[45]||(e[45]=l("label",{class:"form-label"},"De la data",-1)),u(v,{modelValue:p.value.dateFrom,"onUpdate:modelValue":e[15]||(e[15]=i=>p.value.dateFrom=i),dateFormat:"dd.mm.yy",placeholder:"Selectează data",showIcon:"",class:"w-full"},null,8,["modelValue"])]),l("div",ri,[e[46]||(e[46]=l("label",{class:"form-label"},"Până la data",-1)),u(v,{modelValue:p.value.dateTo,"onUpdate:modelValue":e[16]||(e[16]=i=>p.value.dateTo=i),dateFormat:"dd.mm.yy",placeholder:"Selectează data",showIcon:"",class:"w-full"},null,8,["modelValue"])]),l("div",ci,[u(n,{icon:"pi pi-filter-slash",label:"Resetează",class:"p-button-outlined p-button-secondary",onClick:ys}),u(n,{icon:"pi pi-check",label:"Aplică",onClick:hs})])])]),_:1},8,["modelValue"]),A.value?f("",!0):(s(),o("div",ui,[...e[48]||(e[48]=[l("h1",{class:"page-title"},"Lista Bonuri Fiscale",-1)])])),l("div",di,[Q.value&&!A.value?(s(),o("div",pi,[l("div",vi,[l("span",{class:P(["status-chip",{active:!p.value.status&&!p.value.processingStatus}]),onClick:e[18]||(e[18]=i=>ae(null))},[e[49]||(e[49]=h(" Toate ",-1)),u(a,{value:((Ct=Q.value.total)==null?void 0:Ct.count)||0},null,8,["value"])],2),l("span",{class:P(["status-chip status-draft",{active:p.value.status==="draft"}]),onClick:e[19]||(e[19]=i=>ae("draft"))},[e[50]||(e[50]=h(" Ciorne ",-1)),u(a,{value:((xt=Q.value.draft)==null?void 0:xt.count)||0,severity:"info"},null,8,["value"])],2),l("span",{class:P(["status-chip status-pending",{active:p.value.status==="pending_review"}]),onClick:e[20]||(e[20]=i=>ae("pending_review"))},[e[51]||(e[51]=h(" În așteptare ",-1)),u(a,{value:((Et=Q.value.pending_review)==null?void 0:Et.count)||0,severity:"warning"},null,8,["value"])],2),l("span",{class:P(["status-chip status-approved",{active:p.value.status==="approved"}]),onClick:e[21]||(e[21]=i=>ae("approved"))},[e[52]||(e[52]=h(" Validate ",-1)),u(a,{value:((Rt=Q.value.approved)==null?void 0:Rt.count)||0,severity:"success"},null,8,["value"])],2),l("span",{class:P(["status-chip status-rejected",{active:p.value.status==="rejected"}]),onClick:e[22]||(e[22]=i=>ae("rejected"))},[e[53]||(e[53]=h(" Respinse ",-1)),u(a,{value:(($t=Q.value.rejected)==null?void 0:$t.count)||0,severity:"danger"},null,8,["value"])],2),pe.value>0?(s(),o("span",{key:0,class:P(["status-chip processing-chip-in-progress",{active:p.value.processingStatus==="in_processing"}]),onClick:e[23]||(e[23]=i=>Ve("in_processing"))},[e[54]||(e[54]=l("i",{class:"pi pi-spin pi-spinner",style:{"font-size":"0.75rem"}},null,-1)),e[55]||(e[55]=h(" În procesare ",-1)),u(a,{value:pe.value},null,8,["value"])],2)):f("",!0),Pe.value>0?(s(),o("span",{key:1,class:P(["status-chip processing-chip-failed",{active:p.value.processingStatus==="failed"}]),onClick:e[24]||(e[24]=i=>Ve("failed"))},[e[56]||(e[56]=l("i",{class:"pi pi-exclamation-triangle",style:{"font-size":"0.75rem"}},null,-1)),e[57]||(e[57]=h(" Cu erori ",-1)),u(a,{value:Pe.value},null,8,["value"])],2)):f("",!0)]),A.value?f("",!0):(s(),o("div",fi,[u(n,{label:"Upload Bonuri",icon:"pi pi-cloud-upload",severity:"info",outlined:"",onClick:Ye}),u(n,{label:"Bon Nou",icon:"pi pi-plus",severity:"success",raised:"",onClick:Xe})]))])):f("",!0),A.value?(s(),o("div",mi,[l("div",gi,[u(n,{icon:"pi pi-filter",label:"Filtre",class:P({"filter-active":qe.value}),severity:"secondary",outlined:"",size:"small",onClick:e[25]||(e[25]=i=>S.value=!S.value)},null,8,["class"]),U(u(n,{icon:"pi pi-refresh",severity:"secondary",outlined:"",size:"small",loading:Oe.value,onClick:Fe},null,8,["loading"]),[[q,"Resetează filtrele",void 0,{bottom:!0}]])]),l("div",yi,[u(n,{icon:"pi pi-cloud-upload",label:"Upload",severity:"info",size:"small",outlined:"",onClick:Ye}),u(n,{label:"Bon Nou",icon:"pi pi-plus",severity:"success",size:"small",raised:"",onClick:Xe})])])):f("",!0),A.value?f("",!0):(s(),o("div",hi,[u(x,{modelValue:p.value.search,"onUpdate:modelValue":e[26]||(e[26]=i=>p.value.search=i),placeholder:"Caută furnizor, CUI, nr. bon...",class:"filter-search",onKeyup:Xs(ve,["enter"])},{prefix:T(()=>[...e[58]||(e[58]=[l("i",{class:"pi pi-search"},null,-1)])]),_:1},8,["modelValue"]),u(N(et),{modelValue:p.value.direction,"onUpdate:modelValue":e[27]||(e[27]=i=>p.value.direction=i),options:ut,optionLabel:"label",optionValue:"value",placeholder:"Tip",class:"filter-direction",onChange:ve},null,8,["modelValue"]),u(v,{modelValue:p.value.dateFrom,"onUpdate:modelValue":e[28]||(e[28]=i=>p.value.dateFrom=i),dateFormat:"dd.mm.yy",placeholder:"De la",showIcon:"",class:"filter-date",onDateSelect:ve},null,8,["modelValue"]),u(v,{modelValue:p.value.dateTo,"onUpdate:modelValue":e[29]||(e[29]=i=>p.value.dateTo=i),dateFormat:"dd.mm.yy",placeholder:"Până la",showIcon:"",class:"filter-date",onDateSelect:ve},null,8,["modelValue"]),A.value?f("",!0):(s(),o("div",bi,[U(u(n,{icon:"pi pi-filter",class:P({"filter-active":qe.value}),severity:"secondary",outlined:"",size:"small",onClick:ve},null,8,["class"]),[[q,"Filtrează",void 0,{bottom:!0}]]),U(u(n,{icon:"pi pi-filter-slash",severity:"secondary",outlined:"",size:"small",onClick:Fe},null,512),[[q,"Resetează filtrele",void 0,{bottom:!0}]]),U(u(n,{icon:"pi pi-download",severity:"secondary",outlined:"",size:"small",onClick:Kt,"aria-haspopup":"true","aria-controls":"export_menu"},null,512),[[q,"Export",void 0,{bottom:!0}]]),u(N(Qe),{ref_key:"exportMenuRef",ref:he,id:"export_menu",model:Yt.value,popup:!0},null,8,["model"])]))])),Oe.value?(s(),o("div",_i,[u(le)])):be.value.length?A.value?(s(),o("div",wi,[j.value?(s(),o("div",ki,[l("div",Ci,[u(n,{icon:"pi pi-times",text:"",rounded:"",severity:"secondary",onClick:He,class:"exit-selection-btn"}),l("span",xi,g(b.value.length)+" selectate",1)]),l("div",Ei,[u(n,{label:"Toate",icon:"pi pi-check-square",text:"",size:"small",onClick:vt})])])):f("",!0),(s(!0),o(O,null,st(be.value,i=>{var r;return s(),o("div",{key:Be(i),class:P(["receipt-card",[ls(i),{"card-selected":j.value&&_e(i)}]]),onClick:J=>ps(J,i),onTouchstart:J=>cs(J,i),onTouchmove:us,onTouchend:ds},[C(i)?(s(),o(O,{key:0},[l("div",$i,[l("div",Ii,[l("span",Ti,[e[60]||(e[60]=l("i",{class:"pi pi-file"},null,-1)),h(" "+g(i.filename),1)]),i.processing_status==="failed"?(s(),o("span",Ai," Eroare OCR ")):(s(),o("span",Li,"Se procesează..."))]),e[63]||(e[63]=l("div",{class:"amount-block"},[l("span",{class:"amount text-muted"},"-")],-1)),i.processing_status==="failed"?(s(),o("span",Fi,[...e[61]||(e[61]=[l("i",{class:"pi pi-exclamation-triangle"},null,-1)])])):(s(),o("span",Di,[...e[62]||(e[62]=[l("i",{class:"pi pi-spin pi-spinner"},null,-1)])]))]),l("div",zi,[i.processing_status==="failed"&&i.processing_error?U((s(),o("span",Bi,[h(g(fs(i.processing_error)),1)])),[[q,i.processing_error,void 0,{top:!0}]]):i.processing_status==="failed"?(s(),o("span",Pi," Procesare eșuată ")):(s(),o("span",Vi,"În procesare"))]),l("div",Mi,[i.processing_status==="failed"?U((s(),o("span",ji,[...e[64]||(e[64]=[l("i",{class:"pi pi-exclamation-triangle"},null,-1),h(" Eroare ",-1)])])),[[q,i.processing_error||"Eroare la procesare",void 0,{top:!0}]]):(s(),o("span",Ni,[e[65]||(e[65]=l("i",{class:"pi pi-spin pi-spinner"},null,-1)),h(" "+g(i.processing_status==="pending"?"În așteptare":"Procesare"),1)])),i.batch_id?(s(),o("span",Ui,[...e[66]||(e[66]=[l("i",{class:"pi pi-folder"},null,-1),h(" Lot ",-1)])])):f("",!0)])],64)):(s(),o(O,{key:1},[j.value&&_e(i)?(s(),o("div",Oi,[...e[67]||(e[67]=[l("i",{class:"pi pi-check"},null,-1)])])):f("",!0),l("div",Ji,[l("div",qi,[l("span",Gi,g(i.partner_name||"-"),1),i.cui?(s(),o("span",Hi,g(i.cui),1)):f("",!0),Te(i)?(s(),o("span",Ki,[e[68]||(e[68]=l("i",{class:"pi pi-file"},null,-1)),h(" "+g(Ke(Te(i))),1)])):f("",!0)]),l("div",Yi,[l("span",Xi,g(Ae(i.amount)),1),i.tva_total?(s(),o("span",Wi,"TVA "+g(Ae(i.tva_total)),1)):f("",!0),ke(i)?(s(),o("span",Zi,g(ke(i)),1)):f("",!0)]),u(n,{icon:"pi pi-ellipsis-v",text:"",rounded:"",size:"small",disabled:ee(i),onClick:ne(J=>ct(J,i),["stop"])},null,8,["disabled","onClick"])]),l("div",Qi,[l("span",null,g(ms(i.receipt_date)),1),i.receipt_number?(s(),o("span",el,"•")):f("",!0),i.receipt_number?(s(),o("span",tl,"Nr. "+g(i.receipt_number),1)):f("",!0),e[69]||(e[69]=l("span",{class:"sep"},"•",-1)),l("span",null,g(i.receipt_type==="bon_fiscal"?"Bon":"Chit"),1),e[70]||(e[70]=l("span",{class:"sep"},"•",-1)),l("span",{class:P(i.direction==="cheltuiala"?"direction-out":"direction-in")},g(i.direction==="cheltuiala"?"Plată":"Încasare"),3)]),l("div",sl,[l("span",{class:P(["status-badge-small",mt(i.status)])},g(Le(i.status)),3),i.processing_status==="pending"||i.processing_status==="processing"?(s(),o("span",al,[...e[71]||(e[71]=[l("i",{class:"pi pi-spin pi-spinner"},null,-1),h(" Procesare ",-1)])])):i.processing_status==="failed"?U((s(),o("span",il,[...e[72]||(e[72]=[l("i",{class:"pi pi-exclamation-triangle"},null,-1),h(" Eroare ",-1)])])),[[q,i.processing_error,void 0,{top:!0}]]):f("",!0),i.batch_id?(s(),o("span",ll,[...e[73]||(e[73]=[l("i",{class:"pi pi-folder"},null,-1),h(" Lot ",-1)])])):f("",!0),l("span",nl,g(i.created_by),1),(r=i.attachments)!=null&&r.length?(s(),o("span",ol,[e[74]||(e[74]=l("i",{class:"pi pi-paperclip"},null,-1)),h(g(i.attachments.length),1)])):f("",!0),i.processing_status==="failed"?(s(),o(O,{key:4},[U(u(n,{icon:"pi pi-pencil",severity:"secondary",text:"",rounded:"",size:"small",class:"edit-btn-mobile",onClick:ne(J=>Me(i.id),["stop"])},null,8,["onClick"]),[[q,"Editează manual",void 0,{top:!0}]]),u(n,{icon:"pi pi-refresh",severity:"warning",text:"",rounded:"",size:"small",class:"retry-btn-mobile",loading:te.value[i.id],onClick:ne(J=>ht(i),["stop"])},null,8,["loading","onClick"])],64)):f("",!0)])],64))],42,Ri)}),128)),B.value.total>B.value.pageSize?(s(),o("div",rl,[u(n,{icon:"pi pi-chevron-left",size:"small",severity:"secondary",disabled:B.value.page<=1,onClick:ws},null,8,["disabled"]),l("span",cl,g(B.value.page)+" / "+g(Math.ceil(B.value.total/B.value.pageSize)),1),u(n,{icon:"pi pi-chevron-right",size:"small",severity:"secondary",disabled:B.value.page>=Math.ceil(B.value.total/B.value.pageSize),onClick:ks},null,8,["disabled"])])):f("",!0)])):f("",!0):(s(),o("div",Si,[...e[59]||(e[59]=[l("i",{class:"pi pi-inbox"},null,-1),l("h3",null,"Niciun bon găsit",-1),l("p",null,'Creează primul bon fiscal folosind butonul "Bon Nou"',-1)])])),!A.value&&!Oe.value&&be.value.length?(s(),o("div",ul,[b.value.length>0?(s(),o("div",dl,[l("span",pl,[e[75]||(e[75]=l("i",{class:"pi pi-check-square"},null,-1)),h(" "+g(b.value.length)+" selectate ",1)]),l("div",vl,[b.value.every(i=>i.status==="pending_review")?(s(),G(n,{key:0,label:"Validează selectate",icon:"pi pi-check",severity:"success",size:"small",loading:ie.value,onClick:Ts},null,8,["loading"])):f("",!0),u(n,{label:"Șterge",icon:"pi pi-trash",severity:"danger",size:"small",onClick:yt}),u(n,{label:"Deselectează",icon:"pi pi-times",severity:"secondary",size:"small",onClick:e[30]||(e[30]=i=>b.value=[])})])])):f("",!0),l("div",fl,[(s(!0),o(O,null,st(dt.value,i=>(s(),o("div",{key:i.batchId||"__manual__",class:"batch-group"},[u(Da,{"batch-id":i.batchId,"processing-started-at":i.processingStartedAt,items:i.items,"is-expanded":ft(i.batchId),retrying:me.value[i.batchId],onToggle:r=>vs(i.batchId),onRetryAll:zs,onCancelAll:Ms},null,8,["batch-id","processing-started-at","items","is-expanded","retrying","onToggle"]),U(l("div",ml,[u(qs,{selection:b.value,"onUpdate:selection":e[31]||(e[31]=r=>b.value=r),value:i.items,responsiveLayout:"scroll",stripedRows:"",class:"compact-table grouped-table",dataKey:r=>Be(r),rowClass:is},{default:T(()=>[u(L,{headerStyle:"width: 3rem"},{header:T(()=>[u(N(tt),{modelValue:os(i.items),disabled:!ns(i.items),"onUpdate:modelValue":r=>rs(i.items,r),binary:""},null,8,["modelValue","disabled","onUpdate:modelValue"])]),body:T(({data:r})=>[ee(r)?U((s(),G(N(tt),{key:1,modelValue:!1,disabled:!0,binary:""},null,512)),[[q,Bt,void 0,{top:!0}]]):(s(),G(N(tt),{key:0,modelValue:_e(r),"onUpdate:modelValue":J=>Ge(r,J),binary:""},null,8,["modelValue","onUpdate:modelValue"]))]),_:2},1024),u(L,{field:"filename",header:"Fișier",style:{"min-width":"140px"}},{body:T(({data:r})=>[C(r)?U((s(),o("span",gl,[e[76]||(e[76]=l("i",{class:"pi pi-file"},null,-1)),h(" "+g(Ke(r.filename)),1)])),[[q,r.filename,void 0,{top:!0}]]):(s(),o(O,{key:1},[Te(r)?U((s(),o("span",yl,[e[77]||(e[77]=l("i",{class:"pi pi-file"},null,-1)),h(" "+g(Ke(Te(r))),1)])),[[q,Te(r),void 0,{top:!0}]]):(s(),o("span",hl,"-"))],64))]),_:1}),u(L,{field:"receipt_date",header:"Data",style:{width:"90px"}},{body:T(({data:r})=>[C(r)?(s(),o("span",bl,"-")):(s(),o(O,{key:1},[h(g(we(r.receipt_date)),1)],64))]),_:1}),u(L,{field:"receipt_number",header:"Nr.",style:{width:"80px"}},{body:T(({data:r})=>[C(r)?(s(),o("span",_l,"-")):(s(),o(O,{key:1},[h(g(r.receipt_number||"-"),1)],64))]),_:1}),u(L,{field:"receipt_type",header:"Doc",style:{width:"60px"}},{body:T(({data:r})=>[C(r)?(s(),o("span",Sl,"-")):(s(),G(Ne,{key:1,value:r.receipt_type==="bon_fiscal"?"Bon":"Chit",size:"small"},null,8,["value"]))]),_:1}),u(L,{field:"direction",header:"Tip",style:{width:"70px"}},{body:T(({data:r})=>[C(r)?(s(),o("span",wl,"-")):(s(),G(Ne,{key:1,value:r.direction==="cheltuiala"?"Plată":"Încas.",severity:r.direction==="cheltuiala"?"danger":"success",size:"small"},null,8,["value","severity"]))]),_:1}),u(L,{field:"partner_name",header:"Furnizor/Client",style:{"min-width":"120px"}},{body:T(({data:r})=>[C(r)?(s(),o("span",kl,"-")):(s(),o(O,{key:1},[h(g(r.partner_name||"-"),1)],64))]),_:1}),u(L,{field:"cui",header:"CUI",style:{width:"100px"}},{body:T(({data:r})=>[C(r)?(s(),o("span",Cl,"-")):(s(),o(O,{key:1},[h(g(r.cui||"-"),1)],64))]),_:1}),u(L,{field:"amount",header:"Suma",style:{width:"90px"}},{body:T(({data:r})=>[C(r)?(s(),o("span",xl,"-")):(s(),o("strong",El,g(Ae(r.amount)),1))]),_:1}),u(L,{field:"tva_total",header:"TVA",style:{width:"70px"}},{body:T(({data:r})=>[C(r)?(s(),o("span",Rl,"-")):(s(),o(O,{key:1},[r.tva_total?(s(),o("span",$l,g(Ae(r.tva_total)),1)):(s(),o("span",Il,"-"))],64))]),_:1}),u(L,{field:"payment_methods",header:"Plată",style:{width:"100px"}},{body:T(({data:r})=>[C(r)?(s(),o("span",Tl,"-")):(s(),o(O,{key:1},[ke(r)?(s(),o("span",Al,g(ke(r)),1)):(s(),o("span",Ll,"-"))],64))]),_:1}),u(L,{field:"created_by",header:"Creat de",style:{width:"100px"}},{body:T(({data:r})=>[C(r)?(s(),o("span",Fl,"-")):(s(),o(O,{key:1},[h(g(r.created_by||"-"),1)],64))]),_:1}),u(L,{field:"created_at",header:"Creat la",style:{width:"120px"}},{body:T(({data:r})=>[C(r)?(s(),o("span",Dl,"-")):(s(),o(O,{key:1},[h(g(gs(r.created_at)),1)],64))]),_:1}),u(L,{field:"status",header:"Status",style:{width:"100px"}},{body:T(({data:r})=>[C(r)?(s(),o("span",zl,"-")):(s(),o("span",{key:1,class:P(["status-badge",mt(r.status)])},g(Le(r.status)),3))]),_:1}),u(L,{field:"processing_status",header:"Procesare",style:{width:"120px"}},{body:T(({data:r})=>[u(Ja,{status:r.processing_status,"batch-id":r.batch_id,"processing-error":r.processing_error},null,8,["status","batch-id","processing-error"])]),_:1}),u(L,{field:"attachments",header:"Ataș.",style:{width:"60px"}},{body:T(({data:r})=>{var J;return[C(r)?(s(),o("span",Bl,"-")):(s(),G(a,{key:1,value:((J=r.attachments)==null?void 0:J.length)||0},null,8,["value"]))]}),_:1}),u(L,{header:"Acțiuni",style:{width:"120px"}},{body:T(({data:r})=>[l("div",Pl,[C(r)?f("",!0):(s(),G(n,{key:0,icon:"pi pi-eye",severity:"info",text:"",rounded:"",size:"small",onClick:J=>We(r.id)},null,8,["onClick"])),!C(r)&&r.processing_status==="failed"?U((s(),G(n,{key:1,icon:"pi pi-refresh",severity:"warning",text:"",rounded:"",size:"small",loading:te.value[r.id],onClick:J=>ht(r)},null,8,["loading","onClick"])),[[q,"Reîncercă procesarea",void 0,{top:!0}]]):f("",!0),!C(r)&&r.processing_status==="failed"?U((s(),G(n,{key:2,icon:"pi pi-pencil",severity:"secondary",text:"",rounded:"",size:"small",onClick:J=>Me(r.id)},null,8,["onClick"])),[[q,"Editează manual",void 0,{top:!0}]]):f("",!0),C(r)?f("",!0):U((s(),G(n,{key:3,icon:"pi pi-ellipsis-v",text:"",rounded:"",size:"small",disabled:ee(r),onClick:J=>ct(J,r)},null,8,["disabled","onClick"])),[[q,ee(r)?Bt:null,void 0,{top:!0}]]),C(r)?(s(),o(O,{key:4},[r.processing_status==="failed"?U((s(),o("span",Vl,[...e[78]||(e[78]=[l("i",{class:"pi pi-exclamation-triangle"},null,-1)])])),[[q,r.processing_error||"Eroare la procesare",void 0,{top:!0}]]):(s(),o(O,{key:1},[U(u(n,{icon:"pi pi-times",severity:"danger",text:"",rounded:"",size:"small",class:"cancel-job-btn",loading:k.value[r.job_id],onClick:J=>Bs(r)},null,8,["loading","onClick"]),[[q,"Anulează procesarea",void 0,{top:!0}]]),U((s(),o("span",Ml,[...e[79]||(e[79]=[l("i",{class:"pi pi-spin pi-spinner"},null,-1)])])),[[q,"Fișierul se procesează...",void 0,{top:!0}]])],64))],64)):f("",!0)])]),_:1})]),_:2},1032,["selection","value","dataKey"])],512),[[Ws,ft(i.batchId)]])]))),128))]),B.value.total>B.value.pageSize?(s(),o("div",jl,[u(N(ra),{rows:B.value.pageSize,totalRecords:B.value.total,first:(B.value.page-1)*B.value.pageSize,onPage:Ss,template:"FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink"},null,8,["rows","totalRecords","first"])])):f("",!0)])):f("",!0),u(N(Qe),{ref_key:"menuRef",ref:ot,model:es.value,popup:"",class:"receipt-action-menu"},null,8,["model"])]),u(wa,{visible:j.value&&b.value.length>0,actions:Qt.value},null,8,["visible","actions"]),A.value&&!j.value&&ye.value?(s(),G(N(Qs),{key:3,model:Xt,radius:80,direction:"up",type:"linear",showIcon:"pi pi-plus",hideIcon:"pi pi-times",mask:!1,class:"mobile-speed-dial",transitionDelay:40,pt:{root:{class:"mobile-speed-dial-root"},button:{class:"mobile-speed-dial-button"},menu:{class:"mobile-speed-dial-menu"},menuitem:{class:"mobile-speed-dial-item"},action:{class:"mobile-speed-dial-action"},mask:{class:"mobile-speed-dial-mask"}}})):f("",!0),A.value&&!j.value?(s(),G(va,{key:4})):f("",!0)],2)}}},sn=ze(Ol,[["__scopeId","data-v-46f1602b"]]);export{sn as default}; //# sourceMappingURL=ReceiptsListView.DxBNp1EK.js.map