import{b as z}from"./primevue-CfIk0_DY.js";import{C as V}from"./ComboDynamique-BzWI4ISP.js";import{u as A,S as b,b as c,s}from"./index-BxIwIJfy.js";import{o as E,h as q,b as j,c as B,d as a,v as o,a7 as T,t as G,E as v,a as p}from"./vue-core-Di3IuVqe.js";import"./cjs-helpers-psZwOBky.js";import"./vue-cal-DKMVGERa.js";import"./moment-BeHQNF8T.js";const N={class:"page-wrapper flex flex-col min-w-full",style:{height:"calc(100vh - 60px)"}},U={class:"flex flex-wrap items-end gap-3 p-3 bg-gray-50 rounded-lg",style:{margin:"0 8px"}},W={style:{width:"260px"}},F={style:{width:"260px"}},M={class:"flex items-center gap-2 p-2"},H={class:"ml-auto whitespace-nowrap"},L={class:"flex-1 min-h-0 p-2"},J={class:"ag-theme-quartz",style:{height:"100%",width:"100%"}},te={__name:"ResponsablesSite",setup(K){const{confirmAction:w,showError:m,showSuccess:h,showWarn:g}=A(),f=p([]),r=p(null),y=p(null),i=v({Id_utilisateur:0,Id_site:0}),l=v({lecture:!1,ajout:!1,supp:!1}),x=async()=>{try{const e=await c.post(`${s.lienApi}/verifierDroit/${s.state.dbCommun6}`,{id_utilisateur:s.userId,id_page:625,mail:s.state.userCloud.mail});l.lecture=!!e.data?.lecture,l.ajout=!!e.data?.ajout,l.supp=!!e.data?.supp}catch{l.lecture=!1}l.lecture||(g("Vous n'avez pas le droit, veuillez consulter l'administrateur"),b("ResponsablesSite"))},S=[{field:"utilisateur",headerName:"Responsable",flex:1,minWidth:200},{field:"site",headerName:"Site",flex:1,minWidth:200}],I=p({sortable:!0,filter:"agTextColumnFilter",resizable:!0,suppressHeaderMenuButton:!0}),C=e=>{y.value=e.api},$=e=>{r.value=e.data},n=async()=>{s.state.afficher_in_progress=!0;try{const e=await c.post(`${s.lienApi}/utilisateurSite/${s.db}`);f.value=e.data||[],r.value=null}catch(e){m("Erreur de chargement : "+(e.response?.data?.message||e.message))}finally{s.state.afficher_in_progress=!1}},k=async()=>{if(!i.Id_utilisateur||!i.Id_site){g("Sélectionnez un utilisateur et un site.");return}try{await c.post(`${s.lienApi}/utilisateurSiteEnregistrer/${s.db}`,{Id_utilisateur:i.Id_utilisateur,Id_site:i.Id_site}),i.Id_utilisateur=0,i.Id_site=0,h("Rattachement enregistré."),await n()}catch(e){m("Erreur : "+(e.response?.data?.message||e.message))}},D=async()=>{if(!(!r.value||!await w({message:`Supprimer le rattachement de "${r.value.utilisateur}" au site "${r.value.site}" ?`})))try{await c.post(`${s.lienApi}/utilisateurSiteSupprimer/${s.db}/${r.value.Id}`),h("Rattachement supprimé."),await n()}catch(t){m("Erreur : "+(t.response?.data?.message||t.message))}};return E(async()=>{await x(),l.lecture&&await n()}),(e,t)=>{const _=V,u=z,R=q("ag-grid-vue");return j(),B("div",N,[t[5]||(t[5]=a("div",{class:"p-2"},[a("h3",{class:"font-bold"},"Responsables de site"),a("p",{class:"text-gray-500"}," Rattachez chaque responsable à ses sites. Un utilisateur rattaché ne voit et n'agit que sur ses sites (stock, bons de sortie, réceptions, transferts). Sans aucun rattachement, l'utilisateur voit tous les sites (siège / administrateur). ")],-1)),a("div",U,[a("div",W,[t[3]||(t[3]=a("label",{class:"block mb-1"},"Utilisateur",-1)),o(_,{modelValue:i.Id_utilisateur,"onUpdate:modelValue":t[0]||(t[0]=d=>i.Id_utilisateur=d),table:"utilisateur",class:"w-full"},null,8,["modelValue"])]),a("div",F,[t[4]||(t[4]=a("label",{class:"block mb-1"},"Site",-1)),o(_,{modelValue:i.Id_site,"onUpdate:modelValue":t[1]||(t[1]=d=>i.Id_site=d),table:"site",class:"w-full"},null,8,["modelValue"])]),o(u,{size:"small",icon:"pi pi-plus",label:"Rattacher",disabled:!l.ajout,onClick:k},null,8,["disabled"])]),a("div",M,[o(u,{size:"small",text:"",icon:"pi pi-trash",label:"Supprimer le rattachement",severity:"danger",disabled:!r.value||!l.supp,onClick:D},null,8,["disabled"]),o(u,{size:"small",text:"",icon:"pi pi-refresh",label:"Actualiser",onClick:n}),o(u,{size:"small",text:"",icon:"pi pi-times",label:"Fermer",onClick:t[2]||(t[2]=d=>T(b)("ResponsablesSite"))}),a("span",H,G(f.value.length)+" rattachement(s)",1)]),a("div",L,[a("div",J,[o(R,{rowData:f.value,columnDefs:S,defaultColDef:I.value,theme:e.$agGridTheme,localeText:e.$agGridLocale,rowSelection:"single",onGridReady:C,onRowClicked:$,class:"ag-theme-quartz",style:{height:"100%",width:"100%"}},null,8,["rowData","defaultColDef","theme","localeText"])])])])}}};export{te as default};
