PageSourceSearch

https://atcom.ro/assets/CumparareAur-CSFLp85M.js

js atcom.ro collected 2026-10-10 01:31:25 UTC 23,890 bytes, 9 lines download raw bytes

1import{J as ta,q as c,f as S,o as e,e as sa}from"./index-CHGZ0aK0.js";import{I as $e}from"./InfoBtn-DBLXJRIK.js";import{a as ia,f as ra,F as ca}from"./FisaCumparare-DPCKeoKb.js";/* empty css            */const ha={path:"/admin/aur/cumparare",label:"Cumpărare Aur",icon:"🏭",permKey:"aur_cumparare.view",keywords:"cumparare aur furnizor fisa cumparare achizitie persoana fizica cnp factura print incarcare gestiune registru metal grame karat borderou anaf"},Re={nume:"",cnp:"",serie:"",nrci:"",judet:"",adresa:"",tel:"",email:""},re=o=>[o.serie,o.nrci].map(j=>(j||"").trim()).filter(Boolean).join(" "),na=[2,7,9,1,4,6,3,5,8,2,7,9],Ae=o=>{if(!/^\d{13}$/.test(o||""))return!1;let j=0;for(let N=0;N<12;N++)j+=+o[N]*na[N];let $=j%11;return $===10&&($=1),$===+o[12]},la=o=>/^[A-Za-z]{2}$/.test((o.serie||"").trim())&&/^\d{6}$/.test((o.nrci||"").trim());function pa(){const{can:o}=ta(),j=o("aur_cumparare.edit"),[$,N]=c.useState(!1),[ce,ne]=c.useState(""),R=a=>`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")}`,A=()=>R(new Date),[_,Te]=c.useState(!1),[Y,T]=c.useState(A()),[G,I]=c.useState(A()),[D,Ie]=c.useState(""),[De,le]=c.useState([]),[K,qe]=c.useState([]),[Pe,V]=c.useState(!1),[k,oe]=c.useState(null),Q=c.useRef(null),de=c.useRef(!1),w=(a,t)=>{oe({field:a,msg:t}),Q.current&&clearTimeout(Q.current),Q.current=setTimeout(()=>oe(null),2500)},[me,Fe]=c.useState(""),[i,ue]=c.useState({...Re}),[X,H]=c.useState(!0),[q,y]=c.useState(!1),[P,ee]=c.useState(!1),[he,pe]=c.useState(""),[h,xe]=c.useState([]),[ge,f]=c.useState(""),[je,fe]=c.useState(!1),[v,Ne]=c.useState(null),[d,ae]=c.useState(""),[ve,be]=c.useState(""),U=()=>S.get("/api/admin/aur/achizitie/next").then(a=>{Fe(a.data.nr),pe(`${a.data.nr} / ${new Date().toLocaleDateString("ro-RO")}`)}).catch(()=>{});c.useEffect(()=>{U()},[]),c.useEffect(()=>{S.get("/api/public/fan-judete").then(a=>qe(a.data?.judete||[])).catch(()=>{})},[]);const te=!!i.judet.trim()&&(K.length===0||K.some(a=>a.name.toLowerCase()===i.judet.trim().toLowerCase())),m=i.nume.trim()&&te&&(Ae(i.cnp)||la(i)),F=!!i.email.trim()&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(i.email.trim()),J=ve.replace(/\s/g,"").toUpperCase(),E=d!=="transfer"||/^RO\d{2}[A-Z0-9]{20}$/.test(J);c.useEffect(()=>{m&&!de.current&&y(!0),de.current=!!m},[m]);const Ce=ia(h),Ee=ra(h),x=(a,t)=>ue(s=>({...s,[a]:t})),Me=()=>{H(!1),y(!0)},ze=()=>{Ne(null),xe([]),ue({...Re}),ae(""),be(""),H(!0),y(!1),ee(!1),U()},Be=async()=>{if(!(!m||F||!h.length||!d||!E)){fe(!0),f("");try{const a=h.map(n=>({material:n.material,karat:n.karat||14,grame:n.grame,valoare:n.valoare})),t={nume:i.nume,cnp:i.cnp,ci:re(i),judet:i.judet,adresa:i.adresa,tel:i.tel,email:i.email},s=await S.post("/api/admin/aur/achizitie",{client:t,pozitii:a,fisaNr:he,modPlata:d,iban:d==="transfer"?J:""});Ne(s.data.achizitie)}catch(a){f("✗ "+(a.response?.data?.error||"Eroare la salvare"))}fe(!1)}},_e=async()=>{const a=parseInt(ce);if(!a||a<1){f("⚠ Numărul de start trebuie să fie ≥ 1.");return}try{const t=await S.post("/api/admin/aur/achizitie/reset-counter",{start:a});f(`✓ Serie setată — următoarea fișă va fi ${t.data.nr}.`),N(!1),ne(""),U()}catch(t){f("✗ "+(t.response?.data?.error||"Doar master poate seta seria."))}},se=async(a,t=!1)=>{try{const s=await S.get(`/api/admin/aur/achizitie/${encodeURIComponent(a)}/print`,{responseType:"text"}),n=window.open("","_blank");n&&(n.document.write(s.data),n.document.close(),t&&setTimeout(()=>{try{n.focus(),n.print()}catch{}},400))}catch{f("✗ Nu am putut deschide bonul.")}},Ve=a=>{se(a,!0),ze()},b=(a=Y,t=G)=>S.get("/api/admin/aur/achizitii",{params:{from:a,to:t}}).then(s=>le(s.data.achizitii||[])).catch(()=>le([])),Ue=async(a,t)=>{if(await sa(`Ștergi achiziția ${a}${t?" — "+t:""}?
2
3Dispare COMPLET din stoc + raport + evidență (client răzgândit). Numărul revine la rând. Ireversibil.`))try{await S.post("/api/admin/aur/achizitie/sterge",{fisaNr:a}),f(`✓ Achiziția ${a} a fost ștearsă — nr revine la rând.`),b(),U()}catch(s){f("✗ "+(s.response?.data?.error||"Eroare la ștergere"))}};c.useEffect(()=>{_&&b()},[_]);const[Z,L]=c.useState("azi"),Je=()=>{const a=A();T(a),I(a),L("azi"),b(a,a)},Ze=()=>{const a=new Date,t=R(new Date(a.getFullYear(),a.getMonth(),1)),s=A();T(t),I(s),L("luna"),b(t,s)},We=()=>{const a=new Date,t=R(new Date(a.getFullYear(),a.getMonth()-1,1)),s=R(new Date(a.getFullYear(),a.getMonth(),0));T(t),I(s),L("trecuta"),b(t,s)},Ye=()=>{const a=new Date,t=R(new Date(a.getFullYear(),0,1)),s=A();T(t),I(s),L("anul"),b(t,s)},Se=a=>(a?.randuri||[]).map(t=>`${String(t.material||"aur").trim()} · ${t.grame}g ${t.karat}k`).join("  +  "),C=De.filter(a=>!D.trim()||(a.achizitie?.client?.nume||"").toLowerCase().includes(D.trim().toLowerCase())),ke=C.reduce((a,t)=>
3a+(t.achizitie?.grame14k||0),0),we=C.reduce((a,t)=>a+(t.achizitie?.totalLei||0),0),ie=(()=>{const a={};return C.forEach(t=>{const s=t.data||"—";(a[s]=a[s]||[]).push(t)}),Object.keys(a).sort((t,s)=>s.localeCompare(t)).map(t=>({zi:t,list:a[t],g14:a[t].reduce((s,n)=>s+(n.achizitie?.grame14k||0),0),lei:a[t].reduce((s,n)=>s+(n.achizitie?.totalLei||0),0)}))})(),[ye,Ge]=c.useState({}),[W,Ke]=c.useState(!1),Le=a=>(a||"").split("-").reverse().join("."),Qe=(a=C,t=`Perioada: ${Le(Y)} – ${Le(G)}`)=>{const s=a.reduce((g,p)=>g+(p.achizitie?.grame14k||0),0),n=a.reduce((g,p)=>g+(p.achizitie?.totalLei||0),0),M=a.map(g=>{const p=g.achizitie||{},B=p.client||{};return`<tr><td>${g.data||""}</td><td>${p.fisaNr||""}</td><td>${B.nume||""}</td><td>${B.cnp||B.ci||""}</td><td class="desc">${Se(p)}</td><td style="text-align:right">${(p.grame14k||0).toLocaleString("ro-RO")} g</td><td style="text-align:right">${(p.totalLei||0).toLocaleString("ro-RO")} lei</td><td>${g.createdBy||""}</td></tr>`}).join(""),O=`<html><head><meta charset="utf-8"><title>Raport achiziții aur</title>
4      <style>body{font-family:Georgia,serif;padding:24px;color:#1a1510}h1{color:#c9a84c;font-size:16px;margin:0 0 4px}table{width:100%;border-collapse:collapse;font-size:12px;margin-top:12px}th{background:#f5f0e8;text-align:left;padding:7px 9px;font-size:10px;text-transform:uppercase}td{padding:6px 9px;border-bottom:1px solid #f0e8d8;white-space:nowrap}td.desc{white-space:normal;word-break:break-word;overflow-wrap:anywhere}tfoot td{font-weight:700;border-top:2px solid #c9a84c;background:#fdfaf4}.tt{margin-top:16px;background:#fdfaf4;border:1px solid #e8dcc8;border-radius:8px;padding:12px 16px;font-size:13px;line-height:1.9}.tt b{color:#c9a84c;font-size:15px}@media print{@page{margin:1.2cm}}</style></head><body>
5      <h1>Raport achiziții aur — persoană fizică</h1><div style="font-size:13px;margin:2px 0 6px"><strong>${t}</strong> · ${a.length} achiziții</div>
6      <table><thead><tr><th>Data</th><th>Fișă</th><th>Nume client</th><th>CNP / Serie CI</th><th>Aur cumpărat</th><th>Echiv. 14k</th><th>Valoare</th><th>Operator</th></tr></thead><tbody>${M}</tbody>
7      <tfoot><tr><td colspan="5" style="text-align:right">TOTAL</td><td style="text-align:right">${s.toLocaleString("ro-RO")} g</td><td style="text-align:right">${n.toLocaleString("ro-RO")} lei</td><td></td></tr></tfoot></table>
8      <div class="tt"><b>Total cumpărat:</b> ${a.length} achiziții<br><b>Total grame:</b> ${s.toLocaleString("ro-RO")} g 14k (transformat)<br><b>Total valoare plătită:</b> ${n.toLocaleString("ro-RO")} lei <span style="color:#888">(bani ieșiți din casierie)</span></div>
9      </body></html>`,u=document.createElement("iframe");u.style.cssText="position:fixed;right:0;bottom:0;width:0;height:0;border:0;opacity:0",document.body.appendChild(u);const z=u.contentWindow.document;z.open(),z.write(O),z.close(),setTimeout(()=>{try{u.contentWindow.focus(),u.contentWindow.print()}catch{}u.contentWindow.onafterprint=()=>{try{document.body.removeChild(u)}catch{}},setTimeout(()=>{try{document.body.removeChild(u)}catch{}},6e4)},300)};return o("aur_cumparare.view")?e.jsxs("div",{className:"aur-page",children:[e.jsx("div",{className:"page-header",children:e.jsx("div",{children:e.jsxs("h1",{children:["🏭 Cumpărare Aur ",e.jsx("span",{className:"ca-pfbadge",title:"Numărul fișei de achiziție (persoană fizică)",children:me}),o("aur_cumparare.serie")&&e.jsx("button",{className:"ca-serie-btn",onClick:()=>N(a=>!a),title:"Editează seria / resetează numerotarea (permisiune serii)",children:"⚙ serie"}),e.jsx($e,{title:"Cumpărare Aur",children:"Achiziție de aur de la persoană fizică (la raft). Fișă cu date client (borderou contabil) → aurul intră direct în gestiune, convertit în 14k."})]})})}
9),o("aur_cumparare.serie")&&$&&e.jsxs("div",{className:"aur-card ca-serie",children:[e.jsx("div",{className:"ca-serie-t",children:"⚙ Serie / numerotare fișe achiziție"}),e.jsxs("p",{className:"ca-serie-info",children:["Următoarea fișă: ",e.jsx("strong",{children:me}),". ",e.jsx($e,{title:"Serie / numerotare fișe",children:'Setează numărul de la care să continue seria (ex. 1 = PF001). Doar userii cu permisiunea „Serii" au acces.'})]}),e.jsxs("div",{className:"ca-serie-row",children:[e.jsx("input",{type:"number",min:1,placeholder:"ex. 1",value:ce,onChange:a=>ne(a.target.value)}),e.jsx("button",{className:"ca-continua",onClick:_e,children:"Setează seria"})]})]}),ge&&e.jsx("div",{className:"aur-flash",children:ge}),e.jsxs("div",{className:"aur-card ca-client",children:[e.jsxs("div",{className:"ca-client-h",onClick:()=>H(a=>!a),children:[e.jsxs("span",{children:["👤 Date client (vânzător)",X?e.jsx("em",{className:"ca-hstatus"+(m?" ok":""),children:m?" · ✓ complet":" · ⚠ Nume + Județ/Localitate + CNP (sau Serie ȘI Nr. CI)"}):m?e.jsxs("em",{className:"ca-client-sum",children:[" · ",i.nume," ",i.cnp?`· CNP ${i.cnp}`:re(i)?`· CI ${re(i)}`:""]}):""]}),e.jsx("span",{className:"ca-client-toggle",children:X?"▲":"▼ deschide"})]}),X&&(()=>{const a=i.cnp.length,t=Ae(i.cnp),s=a>0,n=/^[A-Za-z]{2}$/.test(i.serie.trim()),M=/^\d{6}$/.test(i.nrci.trim()),O=t||n&&M,u=!!i.serie.trim()||!!i.nrci.trim(),z=!s&&!u,g=()=>t?e.jsx("em",{className:"ca-ok",children:"✓"}):s?null:n?e.jsx("em",{className:"ca-ok",children:"✓"}):i.serie.trim()?e.jsx("em",{className:"ca-req-star",children:"2 litere"}):e.jsx("em",{className:"ca-req-star",children:"*"}),p=()=>t?e.jsx("em",{className:"ca-ok",children:"✓"}):s?null:M?e.jsx("em",{className:"ca-ok",children:"✓"}):i.nrci.trim()?e.jsxs("em",{className:"ca-req-star",children:[i.nrci.trim().length,"/6 cifre"]}):e.jsx("em",{className:"ca-req-star",children:"*"}),B=!i.nume.trim(),Xe=!te,Oe=K.filter(r=>r.name.toLowerCase().includes((i.judet||"").toLowerCase())).sort((r,l)=>r.name==="Bucuresti"?-1:l.name==="Bucuresti"?1:0),He=!O&&!u&&(z||s&&!t),ea=!O&&!s&&!n&&(z||u),aa=!O&&!s&&!M&&(z||u);return e.jsx("div",{className:"ca-client-body",onBlur:r=>{m&&!r.currentTarget.contains(r.relatedTarget)&&Me()},children:e.jsxs("div",{className:"ca-grid",children:[e.jsxs("label",{className:"form-label ca-sp4",children:[e.jsxs("span",{children:["Nume complet ",i.nume.trim()?e.jsx("em",{className:"ca-ok",children:"✓"}):e.jsx("em",{className:"ca-req-star",children:"*"})]}),e.jsx("input",{className:B?"ca-err":"",value:i.nume,placeholder:"Ion Popescu",onChange:r=>x("nume",r.target.value)})]}),e.jsxs("label",{className:"form-label ca-sp3 ca-hwrap",children:[e.jsxs("span",{children:["CNP ",a===13?t?e.jsx("em",{className:"ca-ok",children:"✓ (sau CI)"}):e.jsx("em",{className:"ca-req-star",children:"CNP greșit"}):a>0?e.jsxs("em",{className:"ca-req-star",children:[a,"/13 cifre"]}):O?e.jsx("em",{className:"ca-ok",children:"✓ (sau CI)"}):e.jsx("em",{className:"ca-req-star",children:"* (sau CI)"})]}),e.jsx("input",{inputMode:"numeric",maxLength:13,title:"CNP = exact 13 cifre",className:He?"ca-err":"",value:i.cnp,placeholder:"13 cifre",onChange:r=>{let l=r.target.value.replace(/\D/g,"");r.target.value!==l&&w("cnp","Doar cifre aici"),l.length>13&&(w("cnp","CNP are exact 13 cifre"),l=l.slice(0,13)),x("cnp",l)}}),k?.field==="cnp"&&e.jsxs("div",{className:"ca-inputhint",children:["⚠ ",k.msg]})]}),e.jsxs("label",{className:"form-label ca-sp2 ca-hwrap",children:[e.jsxs("span",{children:["Serie CI ",g()]}),e.jsx("input",{title:"Serie CI = 2 litere (ex. RX)",maxLength:2,className:ea?"ca-err":"",value:i.serie,placeholder:"ex. RX",onChange:r=>{let l=r.target.value.replace(/[^A-Za-z]/g,"").toUpperCase();r.target.value.toUpperCase()!==l&&w("serie","Doar litere aici"),l.length>2&&(w("serie","Seria are 2 litere"),l=l.slice(0,2)),x("serie",l)}}),k?.field==="serie"&&e.jsxs("div",{className:"ca-inputhint",children:["⚠ ",k.msg]})]}),e.jsxs("label",{className:"form-label ca-sp3 ca-hwrap",children:[e.jsxs("span",{children:["Nr. CI ",p()]}),e.jsx("input",{inputMode:"numeric",title:"Nr. CI = 6 cifre",maxLength:6,className:aa?"ca-err":"",value:i.nrci,placeholder:"6 cifre",onChange:r=>{let l=r.target.value.replace(/\D/g,"");r.target.value!==l&&w("nrci","Doar cifre aici"),l.length>6&&(w("nrci","Nr. CI are 6 cifre"),l=l.slice(0,6)),x("nrci",l)}}),k?.field==="nrci"&&e.jsxs("div",{className:"ca-inputhint",children:["⚠ ",k.msg]})]}),e.jsxs("label",{className:"form-label ca-sp3 ca-jud-wrap",children:[e.jsxs("span",{children:["Județ/Localitate ",te?e.jsx("em",{className:"ca-ok",children:"✓"}):i.judet.trim()?e.jsx("em",{className:"ca-req-star",children:"alege din listă"}):e.jsx("em",{className:"ca-req-star",children:"*"})]}),e.jsx("input",{className:Xe?"ca-err":"",value:i.judet,placeholder:"caută județul…",autoComplete:"off",title:"Caută / alege din listă (RO). București = județ.",onFocus:r=>{r.target.select(),V(!0)},onBlur:()=>setTimeout(()=>V(!1),150),onChange:r=>{x("judet",r.target.value),V(!0)}}),Pe&&Oe.length>0&&e.jsx("div",{className:"ca-dropdown",children:Oe.slice(0,60).map(r=>e.jsx("div",{className:"ca-dropdown-item",onMouseDown:()=>{x("judet",r.name),V(!1)},children:r.name},r.id))})]}),e.jsxs("label",{className:"form-label ca-sp4",children:[e.jsxs("span",{children:["Adresă (stradă) ",e.jsx("em",{className:"ca-opt",children:"(opțional)"})]}),e.jsx("input",{value:i.adresa,placeholder:"Str. …, nr. …",onChange:r=>x("adresa",r.target.value)})]}),e.jsxs("label",{className:"form-label ca-sp2",children:[e.jsxs("span",{children:["Telefon ",e.jsx("em",{className:"ca-opt",children:"(opțional)"})]}),e.jsx("input",{inputMode:"tel",maxLength:15,value:i.tel,placeholder:"07…",onChange:r=>x("tel",r.target.value.replace(/[^\d+]/g,"").slice(0,15))})]}),e.jsxs("label",{className:"form-label ca-sp3",children:[e.jsxs("span",{children:["Email ",e.jsx("em",{className:"ca-opt",children:"(opțional)"})," ",F?e.jsx("em",{className:"ca-req-star",children:"⚠ nevalid"}):i.email.trim()?e.jsx("em",{className:"ca-ok",children:"✓"}):""]}),e.jsx("input",{type:"email",inputMode:"email",className:F?"ca-err":"",value:i.email,placeholder:"email@… · primește bonul",title:"Dacă completezi, clientul primește bonul pe email — trebuie să fie o adresă validă (ex. [email protected]).",onChange:r=>x("email",r.target.value)})]})]})})})()]}),e.jsxs("div",{className:"ca-fisacard",children:[e.jsxs("div",{className:"ca-section-t ca-aur-h"+(!m&&!q?" ca-aur-h--locked":""),onClick:()=>{q?y(!1):m&&y(!0)},children:[e.jsxs("span",{children:["🪙 Aur adus — fiecare obiect la karatul lui (se convertește singur în 14k)",!q&&h.length?e.jsxs("em",{className:"ca-sec-sum",children:[" · ",h.length," ",h.length===1?"obiect":"obiecte"," · ",Ce.toLocaleStr
9ing("ro-RO")," lei"]}):""]}),e.jsx("span",{className:"ca-client-toggle",children:q?"▲":m?"▼ deschide":"🔒 completează clientul întâi"})]}),q&&e.jsx(ca,{notaNr:he,setNotaNr:pe,rows:h,setRows:xe,withKarat:!0,litAdd:!0,wide:!0})]}),j&&h.length>0&&e.jsxs("div",{className:"ca-fisacard"+(d?"":" ca-plata-pending"),children:[e.jsxs("div",{className:"ca-section-t ca-aur-h",onClick:()=>{P?ee(!1):(ee(!0),y(!1))},children:[e.jsxs("span",{children:["💳 Plată",P?"":e.jsxs("em",{className:"ca-sec-sum",children:[" · ",d==="transfer"?"transfer bancar":d==="numerar"?"numerar (casierie)":"alege metoda"]})]}),!P&&!d?e.jsxs("span",{className:"ca-plata-hint",children:[e.jsx("span",{className:"ca-plata-hand",children:"👆"})," apasă aici ca să continui"]}):e.jsx("span",{className:"ca-client-toggle",children:P?"▲":"▼ deschide"})]}),P&&e.jsxs("div",{className:"ca-modplata",children:[e.jsx("span",{className:"ca-modplata-t",children:"Mod de plată:"}),e.jsxs("div",{className:"ca-mp-seg",children:[e.jsx("button",{type:"button",className:"ca-mp"+(d==="numerar"?" on":""),onClick:()=>ae("numerar"),children:"Numerar"}),e.jsx("button",{type:"button",className:"ca-mp"+(d==="transfer"?" on":""),onClick:()=>ae("transfer"),children:"Transfer bancar"})]}),d==="transfer"&&e.jsx("input",{className:"ca-iban-inline"+(J&&!E?" ca-err":""),value:ve,placeholder:"IBAN vânzător (RO…)",title:"Contul vânzătorului — unde trimiteți banii",onChange:a=>be(a.target.value.toUpperCase())}),d==="transfer"&&(J?E?e.jsx("em",{className:"ca-ok",children:"✓"}):e.jsx("em",{className:"ca-req-star",children:"nevalid"}):e.jsx("em",{className:"ca-req-star",children:"* IBAN"}))]})]}),j&&e.jsx("button",{className:"ca-cumpara",disabled:je||!m||F||!h.length||!d||!E,onClick:Be,children:je?"Se salvează…":m?F?"🔒 Email nevalid — corectează-l sau lasă-l gol":h.length?d?E?`🏭 Cumpără — ${Ce.toLocaleString("ro-RO")} lei · ${Ee} g 14k · ${i.nume.trim()} · ${d==="transfer"?"transfer":"numerar"}`:"🔒 Completează IBAN-ul vânzătorului (transfer)":'🔒 Alege modul de plată în secțiunea „Plată" ↑ (poți adăuga aur în continuare)':"🔒 Adaugă aurul adus":"🔒 Completează datele clientului (roșu)"}),!j&&e.jsx("div",{className:"aur-flash",children:"🔒 Doar vizualizare — nu ai dreptul să înregistrezi achiziții (aur_cumparare.edit)."}),e.jsxs("div",{className:"aur-card ca-raport",children:[e.jsxs("div",{className:"ca-client-h",onClick:()=>Te(a=>!a),children:[e.jsx("span",{children:"📊 Raport achiziții (contabil)"}),e.jsx("span",{className:"ca-client-toggle",children:_?"▲":"▼ deschide"})]}),_&&e.jsxs("div",{className:"ca-client-body",children:[e.jsxs("div",{className:"ca-raport-quick",children:[e.jsx("button",{className:"ca-qbtn"+(Z==="azi"?" ca-qbtn--on":""),onClick:Je,children:"Azi"}),e.jsx("button",{className:"ca-qbtn"+(Z==="luna"?" ca-qbtn--on":""),onClick:Ze,children:"Luna asta"}),e.jsx("button",{className:"ca-qbtn"+(Z==="trecuta"?" ca-qbtn--on":""),onClick:We,children:"Luna trecută"}),e.jsx("button",{className:"ca-qbtn"+(Z==="anul"?" ca-qbtn--on":""),onClick:Ye,children:"Anul acesta"}),e.jsx("span",{className:"ca-qsep"}),e.jsxs("label",{className:"form-label ca-qdate",children:[e.jsx("span",{children:"De la"}),e.jsx("input",{type:"date",value:Y,onChange:a=>{T(a.target.value),L("custom")}})]}),e.jsxs("label",{className:"form-label ca-qdate",children:[e.jsx("span",{children:"Până la"}),e.jsx("input",{type:"date",value:G,onChange:a=>{I(a.target.value),L("custom")}})]}),e.jsx("button",{className:"ca-filtreaza",onClick:()=>b(),children:"Filtrează"}),e.jsx("input",{className:"ca-qsearch",value:D,placeholder:"🔍 caută după nume…",onChange:a=>Ie(a.target.value)}),C.length>0&&e.jsx("button",{className:"ca-printlink",onClick:()=>Qe(),children:"🖨 Printează raport"})]}),e.jsxs("div",{className:"ca-statgrid",children:[e.jsxs("div",{className:"ca-stat",style:{borderTopColor:"#c9a84c"},children:[e.jsx("div",{className:"ca-stat-ico",children:"🧾"}),e.jsx("div",{className:"ca-stat-val",children:C.length}),e.jsx("div",{className:"ca-stat-lbl",children:"Total achiziții"})]}),e.jsxs("div",{className:"ca-stat",style:{borderTopColor:"#4fbf6a"},children:[e.jsx("div",{className:"ca-stat-ico",children:"⚖️"}),e.jsxs("div",{className:"ca-stat-val",children:[ke.toLocaleStr
9ing("ro-RO")," ",e.jsx("small",{children:"g 14k"})]}),e.jsxs("div",{className:"ca-stat-lbl",children:["Total grame ",e.jsx("em",{children:"(transformat)"})]})]}),e.jsxs("div",{className:"ca-stat",style:{borderTopColor:"#e0b73a"},children:[e.jsx("div",{className:"ca-stat-ico",children:"💰"}),e.jsxs("div",{className:"ca-stat-val",children:[we.toLocaleString("ro-RO")," ",e.jsx("small",{children:"lei"})]}),e.jsxs("div",{className:"ca-stat-lbl",children:["Valoare plătită ",e.jsx("em",{children:"(din casierie)"})]})]})]}),C.length===0&&e.jsxs("div",{className:"ca-raport-empty",children:["Nicio achiziție în perioadă",D?" pentru „"+D+'"':"","."]}),ie.map(a=>e.jsxs("div",{className:"ca-zi",children:[e.jsxs("div",{className:"ca-zi-h",onClick:()=>Ge(t=>({...t,[a.zi]:!t[a.zi]})),children:[e.jsxs("span",{children:[ye[a.zi]?"▸":"▾"," 📅 ",e.jsx("strong",{children:a.zi})," · ",a.list.length," achiziții"]}),o("aur_cumparare.sterge")&&e.jsx("button",{type:"button",className:"ca-delcol-toggle"+(W?" ca-delcol-toggle--on":""),onClick:t=>{t.stopPropagation(),Ke(s=>!s)},title:W?"Ascunde ștergerea (eliberează spațiu)":"Arată ștergerea achizițiilor (periculos)",children:W?"🗑 ◂":"🗑 ▸"})]}),!ye[a.zi]&&e.jsx("div",{className:"ca-raport-tbl",children:e.jsxs("table",{children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"Fișă"}),e.jsx("th",{children:"Nume client"}),e.jsx("th",{children:"CNP / Serie CI"}),e.jsx("th",{className:"ca-th-compoz",children:"Aur cumpărat"}),e.jsx("th",{className:"r",children:"14k"}),e.jsx("th",{className:"r",children:"Lei"}),e.jsx("th",{children:"Operator"})]})}),e.jsx("tbody",{children:a.list.map(t=>{const s=t.achizitie||{},n=s.client||{};return e.jsxs("tr",{children:[e.jsx("td",{children:e.jsx("button",{className:"ca-fisalink",onClick:()=>se(s.fisaNr),title:"Vizualizare / reprint bon",children:s.fisaNr})}),e.jsx("td",{children:n.nume}),e.jsx("td",{children:n.cnp||n.ci||"—"}),e.jsx("td",{className:"ca-compoz",children:Se(s)}),e.jsxs("td",{className:"r",children:[(s.grame14k||0).toLocaleString("ro-RO")," g"]}),e.jsxs("td",{className:"r",children:[(s.totalLei||0).toLocaleString("ro-RO")," lei"]}),e.jsxs("td",{className:"ca-op",children:[t.createdBy,o("aur_cumparare.sterge")&&W&&e.jsx("button",{className:"ca-del-ach",title:"Șterge achiziția (client răzgândit) — dispare din tot, nr revine",onClick:()=>Ue(s.fisaNr,n.nume),children:"🗑"})]})]},t.id)})}),e.jsx("tfoot",{children:e.jsxs("tr",{className:"ca-tblfoot",children:[e.jsx("td",{colSpan:4,className:"ca-tf-label",children:"TOTAL"}),e.jsxs("td",{className:"ca-tf-col",children:[a.g14.toLocaleString("ro-RO")," g"]}),e.jsxs("td",{className:"ca-tf-col",children:[a.lei.toLocaleString("ro-RO")," lei"]}),e.jsx("td",{})]})})]})})]},a.zi)),ie.length>1&&e.jsxs("div",{className:"ca-raport-general",children:[e.jsxs("span",{className:"ca-rg-label",children:["📊 Total general · ",ie.length," zile"]}),e.jsxs("span",{className:"ca-rg-vals",children:[e.jsxs("strong",{children:[ke.toLocaleString("ro-RO")," grame"]}),e.jsxs("strong",{children:[we.toLocaleString("ro-RO")," lei"]})]})]})]})]}),v&&e.jsx("div",{className:"ca-savemodal-ov",children:e.jsxs("div",{className:"ca-savemodal",children:[e.jsx("button",{className:"ca-savemodal-x",onClick:ze,title:"Închide → client următor",children:"✕"}),e.jsx("div",{className:"ca-savemodal-ico",children:"✓"}),e.jsx("h2",{children:"Achiziție salvată în stoc + evidență"}),e.jsx("div",{className:"ca-savemodal-nr",children:v.fisaNr}),e.jsxs("div",{className:"ca-savemodal-det",children:[e.jsxs("strong",{children:[v.grame14k," g 14k"]})," în stoc · ",e.jsxs("strong",{children:[v.totalLei.toLocaleString("ro-RO")," lei"]})," · ",v.client?.nume]}),e.jsxs("div",{className:"ca-savemodal-btns",children:[e.jsx("button",{className:"ca-savemodal-next",onClick:()=>se(v.fisaNr,!1),children:"👁 Vezi bonul"}),e.jsx("button",{className:"ca-savemodal-print",onClick:()=>Ve(v.fisaNr),children:"🖨 Print bon"})]})]})})]}):e.jsx("div",{className:"access-denied",children:"Acces interzis."})}export{pa as default,ha as meta};

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.