import{_ as te}from"./ComboDynamique-DbhbUtR4.js";import{r,f as ae,o as p,c as _,b as s,i as y,z as se,d as f,a as u,av as oe,M as le,an as ne,ap as ie,q as re,F as ue,ar as ce}from"./vendor-BDR7yMJi.js";import{u as de,a as v,s as a,S as k}from"./index-BSaHX2oa.js";import{_ as pe}from"./DataGrid-DbeHIyBR.js";import"./useAgGridConfig-DxO2r97K.js";const me={key:0},fe={class:"w-full pb-3 flex flex-row items-center justify-start gap-3 pt-2 ml-2"},ve={key:1,class:"relative"},ge={class:"w-full bg-white p-3"},be={class:"grid grid-cols-1 lg:grid-cols-2 gap-4"},xe={class:"flex flex-col gap-2"},_e={class:"field"},ye={class:"field"},we={class:"flex flex-col gap-2"},$e={class:"field"},he={class:"field"},Ae={class:"flex flex-col gap-3 sm:flex-row sm:justify-between sm:items-center mb-4"},Ve={class:"flex flex-col gap-2 sm:flex-row sm:gap-3 lg:w-1/2 lg:justify-start"},ke={class:"flex flex-wrap gap-2 sm:gap-3"},Te={class:"relative"},Ce={style:"height: calc(100vh - 200px)"},je={key:1,class:"text-center p-4 text-red-500"},Re={__name:"tva",props:["ndoc"],setup(z){const{showError:m,showSuccess:B,showWarn:T,confirmAction:C,showInfo:j}=de(),w=z,I=r(w.ndoc),n=r({}),E=r(),D=r(),F=r(null),$=r([]),g=r(!1),h=r(null),c=r(!1),d=r(!1),S=r(""),G=r(""),A=r(),b=r(),N=r([]),i=ce({lecture:!1,ajout:!1,modif:!1,supp:!1,devalidation:!1,validation:!1}),L=({event:t,ndoc:e,rowIndex:o})=>{F.value=t.rowData,I.value=e,h.value=o,R()},P=({selectedRows:t})=>{N.value=t},q=t=>{b.value=t.api};ae(async()=>{await O(),w.ndoc?(R(),c.value=!0,d.value=!0,setTimeout(()=>{document.getElementById("inputFocus")?.focus()},200)):x()});const O=async()=>{try{const e=(await v.post(`${a.lienApi}/verifierDroit/${a.state.dbCommun6}`,{id_utilisateur:a.userId,id_page:218,mail:a.state.userCloud.mail},{headers:{"Content-Type":"application/json"}})).data;e&&Object.keys(e).length>0&&(i.lecture=e.lecture,i.ajout=e.ajout,i.modif=e.modif,i.supp=e.supp,i.devalidation=e.devalidation,i.validation=e.validation),i.lecture||(T("Vous n'avez pas le droit, veuillez consulter l'administrateur"),k("tva"))}catch(t){m("Une erreur est survenue : "+(t.response?.data?.message||t.message))}finally{a.state.afficher_in_progress=!1}},x=async()=>{a.state.afficher_in_progress=!0,g.value=!1,S.value=G.value;try{const t=await v.post(`${a.lienApi}/tva_annee/${a.db}/${a.state.annee_fiscale}`,{condition:S.value},{headers:{"Content-Type":"application/json"}});$.value=t.data}catch(t){m(`Une erreur s'est produite lors du chargement des taux de TVA.
 ${t}`)}finally{a.state.afficher_in_progress=!1}},M=async()=>{try{const t=await v.post(`${a.lienApi}/AjouterEtRenvoyerTva/${a.db}`,{annee:a.state.annee_fiscale});n.value=t.data,g.value=!0,c.value=!0,d.value=!0,setTimeout(()=>{document.getElementById("inputFocus")?.focus()},200)}catch{m("Une erreur s'est produite lors de l'ajout d'un nouveau taux de TVA.")}},W=async()=>{c.value=!0,d.value=!0,setTimeout(()=>{document.getElementById("inputFocus")?.focus()},200)},H=async()=>{try{const t=`${a.lienApi}/enregistrerTva/${a.db}/${n.value.Id}`;await v.post(t,n.value,{headers:{"Content-Type":"application/json"}}),c.value=!1,d.value=!1}catch(t){const e=t.response?.data?.message||t.message;m(`Une erreur est survenue : ${e}`)}finally{a.state.afficher_in_progress=!1}},J=()=>{c.value=!1,d.value=!1},R=async()=>{try{const t=await v.post(`${a.lienApi}/untva/${a.db}/${I.value}`);n.value=t.data,g.value=!0}catch{m("Une erreur s'est produite lors du chargement des détails du taux de TVA.")}},K=async()=>{if(await C({message:"Voulez-vous vraiment supprimer ce taux de TVA ?"}))try{const e=`${a.lienApi}/supprimerTva/${a.db}/${n.value.Id}`;await v.post(e),g.value=!1,c.value=!1,x()}catch(e){const o=e.response?.data?.message||e.message;m(`Une erreur est survenue :
  ${o}`)}},Q=async()=>{if(await C({message:`Voulez-vous définir le taux de TVA ${n.value.tva}% par défaut ?`}))try{const e=`${a.lienApi}/definirTvaParDefaut/${a.db}/${n.value.Id}`;await v.post(e),B("Le taux de TVA a été défini par défaut avec succès"),x()}catch(e){const o=e.response?.data?.message||e.message;m(`Une erreur est survenue :
  ${o}`)}},X=()=>{w.ndoc?k("tva"):(x(),h.value!=null&&b.value&&setTimeout(()=>{const t=b.value.getDisplayedRowCount();if(t>0){const e=Math.min(h.value,t-1),o=b.value.getDisplayedRowAtIndex(e);o&&(b.value.deselectAll(),o.setSelected(!0),b.value.ensureNodeVisible(o,"middle"))}},100))},Y=()=>{if(!A.value){j("Grille non initialisée");return}if($.value.length===0){j("Aucune donnée à exporter");return}const e=new Date().toISOString().slice(0,19).replace(/[-:]/g,"").replace("T","_");A.value.exportToExcel(`Taux_TVA_${a.state.enreg_societe.Nom}_${e}.xlsx`)},Z=()=>{T({title:"Information",text:"La fonctionnalité d'impression n'est pas encore implémentée."})};return(t,e)=>{const o=se,U=oe,ee=le,V=te;return p(),_(ue,null,[g.value&&i.lecture?(p(),_("div",me,[s("div",fe,[d.value?f("",!0):(p(),y(o,{key:0,icon:"pi pi-pencil",label:"Modifier",text:"",onClick:e[0]||(e[0]=l=>W()),disabled:!i.modif},null,8,["disabled"])),d.value?f("",!0):(p(),_("div",ve,[u(o,{icon:"pi pi-cog",label:"Actions",text:"",onClick:e[1]||(e[1]=l=>E.value.toggle(l))}),u(U,{ref_key:"actionsMenu",ref:E,model:[{label:"Supprimer",icon:"pi pi-trash",class:"text-red-500",command:()=>K(),disabled:!i.supp},{label:"Ajouter",icon:"pi pi-plus-circle",command:()=>M(),disabled:!i.ajout},{label:"Définir par défaut",icon:"pi pi-star",command:()=>Q(),disabled:!i.modif}],popup:!0},null,8,["model"])])),d.value?f("",!0):(p(),y(o,{key:2,icon:"pi pi-arrow-left",label:"Retour",text:"",onClick:e[2]||(e[2]=l=>X())})),d.value?(p(),y(o,{key:3,icon:"pi pi-save",label:"Enregistrer",text:"",onClick:e[3]||(e[3]=l=>H())})):f("",!0),d.value?(p(),y(o,{key:4,icon:"pi pi-times",label:"Annuler",text:"",onClick:e[4]||(e[4]=l=>J())})):f("",!0)]),s("div",ge,[s("div",be,[s("div",xe,[s("div",_e,[e[12]||(e[12]=s("label",{for:"tva",class:"block mb-1"},"Taux",-1)),u(ee,{size:"small",id:"tva",modelValue:n.value.tva,"onUpdate:modelValue":e[5]||(e[5]=l=>n.value.tva=l),class:"w-full",disabled:!c.value},null,8,["modelValue","disabled"])]),s("div",ye,[e[13]||(e[13]=s("label",{for:"compte_facture",class:"block mb-1"},"Compte tva facturé",-1)),u(V,{id:"compte_facture",placeholder:"Sélectionner un compte",table:"compte",modelValue:n.value.comte_facture,"onUpdate:modelValue":e[6]||(e[6]=l=>n.value.comte_facture=l),disabled:!c.value},null,8,["modelValue","disabled"])])]),s("div",we,[s("div",$e,[e[14]||(e[14]=s("label",{for:"compte_recup",class:"block mb-1"},"Compte tva récupérable/charges",-1)),u(V,{id:"compte_recup",placeholder:"Sélectionner un compte",table:"compte",modelValue:n.value.compte_recup,"onUpdate:modelValue":e[7]||(e[7]=l=>n.value.compte_recup=l),disabled:!c.value},null,8,["modelValue","disabled"])]),s("div",he,[e[15]||(e[15]=s("label",{for:"compte_immo",class:"block mb-1"},"Compte tva récupérable/immo",-1)),u(V,{id:"compte_immo",placeholder:"Sélectionner un compte",table:"compte",modelValue:n.value.compte_immo,"onUpdate:modelValue":e[8]||(e[8]=l=>n.value.compte_immo=l),disabled:!c.value},null,8,["modelValue","disabled"])])])])])])):f("",!0),ne(s("div",null,[s("div",Ae,[s("div",Ve,[s("div",ke,[u(o,{icon:"pi pi-plus-circle",label:"Ajouter",text:"",onClick:e[9]||(e[9]=l=>M()),disabled:!i.ajout},null,8,["disabled"]),s("div",Te,[u(o,{icon:"pi pi-cog",label:"Actions",text:"",onClick:e[10]||(e[10]=l=>D.value.toggle(l))}),u(U,{ref_key:"menuExport",ref:D,model:[{label:"Exporter vers Excel",icon:"pi pi-file-excel",command:()=>Y()},{label:"Imprimer la liste",icon:"pi pi-print",command:()=>Z()}],popup:!0},null,8,["model"]),u(o,{icon:"pi pi-times",label:"Fermer",text:"",onClick:e[11]||(e[11]=l=>re(k)("tva"))})])])]),e[16]||(e[16]=s("div",{class:"flex items-center gap-3 lg:w-1/2 lg:justify-end whitespace-nowrap"},null,-1))]),s("div",Ce,[u(pe,{ref_key:"dataGrid",ref:A,"excel-file-name":"TVA","excel-sheet-name":"TVA","row-data":$.value,"document-number-fields":["ndoc"],"excluded-columns":["ndoc","Annee"],"column-widths":{tva:200},"show-checkbox":!1,onRowClicked:L,onSelectionChanged:P,onGridReady:q},null,8,["row-data"])])],512),[[ie,!g.value&&i.lecture]]),i.lecture?f("",!0):(p(),_("div",je," Vous n'avez pas le droit, veuillez consulter l'administrateur "))],64)}}};export{Re as default};
