PageSourceSearch

https://anam.ma/assets/InpeBureauOrdre-D7Inn9vW.js

js anam.ma collected 2026-10-02 06:28:08 UTC 17,124 bytes, 1 lines download raw bytes

1import{r as c,b8 as me,u as ue,b9 as pe,j as e,h,bd as n,bg as i,C as f,b as y,bn as he,B as ae,bO as xe,ba as F,bb as je}from"./index-2upL18V-.js";import{T as ge,a as be,b as J,c as g,d as Ne,e as b}from"./table-Ce40x48p.js";import{S as ve}from"./skeleton-ByWAMbhZ.js";import{D as K,a as fe,b as Q,c as V,d as H,e as X,f as G}from"./dialog-h4OZW20M.js";import{S as W,a as Y,b as Z,c as ee,d as p}from"./select-CliYJYrF.js";import{T as ye,a as Ce,b as D,c as Se}from"./tabs-CgpdG2XX.js";import{T as we}from"./textarea-DPVnFy6K.js";import{P as se}from"./plus-CNxSzxbD.js";import{U as Te}from"./user-BiLMrUGH.js";import{B as ke}from"./building-2-BKoqCFLO.js";import{L as Ee}from"./loader-circle-8lBfJYzw.js";import{D as Fe}from"./download-COPj6Lk2.js";import{A as De}from"./arrow-right-D9EJ0SNC.js";import{S as Ie}from"./send-COXqreqB.js";import"./index-UqYw647F.js";import"./chevron-down-C2yPeus7.js";import"./index-dzQM-MHy.js";const Le={nouveau:"Nouveau",transmis_dcn_inpe:"Transmis DCN INPE",en_attente_complement:"En attente complément",transmis_charge_dossier:"Transmis chargé de dossier",traite:"Traité"},Re={nouveau:"bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200",transmis_dcn_inpe:"bg-violet-100 text-violet-800 dark:bg-violet-900 dark:text-violet-200",en_attente_complement:"bg-amber-100 text-amber-800 dark:bg-amber-900 dark:text-amber-200",transmis_charge_dossier:"bg-indigo-100 text-indigo-800 dark:bg-indigo-900 dark:text-indigo-200",traite:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200"};function Pe({status:x}){return e.jsx(ae,{className:Re[x]||"","data-testid":`badge-status-${x}`,children:Le[x]||x})}function Ye(){const[x,te]=c.useState(""),[re,C]=c.useState(!1),[ne,v]=c.useState(!1),[N,ie]=c.useState(null),[I,L]=c.useState(""),[R,P]=c.useState(null),{toast:m}=me(),[j,S]=c.useState("physique"),[r,_]=c.useState({lastName:"",firstName:"",sex:"masculin",cnieNumber:"",carteSejourNumber:"",raisonSociale:"",formeJuridique:"",ice:"",rc:"",representantLegal:"",phoneMobile:"",phoneFixe:"",email:""}),[O,A]=c.useState(null),[$,M]=c.useState(!1),{data:w,isLoading:le}=ue({queryKey:["/api/inpe/bureau-ordre/requests"]}),l=(s,t)=>{_(a=>({...a,[s]:t}))},de=async()=>{if(j==="physique"){if(!r.lastName||!r.firstName||!r.sex||!r.cnieNumber){m({title:"Erreur",description:"Veuillez remplir tous les champs obligatoires (nom, prénom, sexe, CNIE)",variant:"destructive"});return}}else if(!r.raisonSociale||!r.ice){m({title:"Erreur",description:"Veuillez remplir tous les champs obligatoires (raison sociale, ICE)",variant:"destructive"});return}M(!0);try{const s=new FormData;s.append("personType",j),Object.entries(r).forEach(([d,o])=>{o&&s.append(d,o)}),O&&s.append("dossierInpe",O);const t=localStorage.getItem("csrf-token")||"",a=await fetch("/api/inpe/requests",{method:"POST",credentials:"include",headers:{"X-CSRF-Token":t},body:s});if(!a.ok){const d=await a.json();throw new Error(d.error||"Erreur de création")}m({title:"Demande créée",description:"La demande INPE a été créée avec succès"}),F.invalidateQueries({queryKey:["/api/inpe/bureau-ordre/requests"]}),C(!1),S("physique"),_({lastName:"",firstName:"",sex:"masculin",cnieNumber:"",carteSejourNumber:"",raisonSociale:"",formeJuridique:"",ice:"",rc:"",representantLegal:"",phoneMobile:"",phoneFixe:"",email:""}),A(null)}catch(s){m({title:"Erreur",description:s.message,variant:"destructive"})}finally{M(!1)}},q=pe({mutationFn:async s=>await je("POST",`/api/inpe/requests/${s}/transfer-dcn`),onSuccess:()=>{m({title:"Transférée",description:"La demande a été transférée au DCN INPE"}),F.invalidateQueries({queryKey:["/api/inpe/bureau-ordre/requests"]})},onError:s=>{m({title:"Erreur",description:s.message,variant:"destructive"})}}),oe=async()=>{if(N)try{const s=new FormData;s.append("complementResponse",I),R&&s.append("complementFile",R);const t=localStorage.getItem("csrf-token")||"";if(!(await fetch(`/api/inpe/requests/${N.id}/respond-complement`,{method:"POST",credentials:"include",headers:{"X-CSRF-Token":t},body:s})).ok)throw new Error("Erreur lors de l'envoi du complément");m({title:"Complément envoyé",description:"Le complément a été envoyé au DCN INPE"}),F.invalidateQueries({queryKey:["/api/inpe/bureau-ordre/requests"]}),v(!1),L(""),P(null)}catch(s){m({title:"Erreur",description:s.message,variant:"destructive"})}},ce=async s=>{try{const t=await fetch(`/api/inpe/requests/${s}/receipt`,{method:"GET",credentials:"include"});if(!t.ok)throw new Error("Erreur");const a=await t.blob(),d=window.URL.createObjectURL(a),o=document.createElement("a");o.href=d,o.download=`recu-inpe-${s}.pdf`,document.body.appendChild(o),o.click(),document.body.removeChild(o),window.URL.revokeObjectURL(d)}catch{m({title:"Erreur",description:"Impossible de télécharger le reçu",variant:"destructive"})}},u=w==null?void 0:w.filter(s=>{var a,d,o,B,U,z;const t=x.toLowerCase();return((a=s.lastName)==null?void 0:a.toLowerCase().includes(t))||((d=s.firstName)==null?void 0:d.toLowerCase().includes(t))||((o=s.cnieNumber)==null?void 0:o.toLowerCase().includes(t))||((B=s.requestNumber)==null?void 0:B.toLowerCase().includes(t))||((U=s.raisonSociale)==null?void 0:U.toLowerCase().includes(t))||((z=s.ice)==null?void 0:z.toLowerCase().includes(t))}),T=(u==null?void 0:u.filter(s=>s.status==="nouveau"))||[],k=(u==null?void 0:u.filter(s=>s.status==="en_attente_complement"))||[],E=(u==null?void 0:u.filter(s=>!["nouveau","en_attente_complement"].includes(s.status)))||[];return e.jsxs("div",{className:"p-6 space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between flex-wrap gap-4",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl font-bold","data-testid":"text-page-title",children:"Demandes INPE"}),e.jsx("p",{className:"text-muted-foreground",children:"Attribution de codes INPE pour les professionnels de santé"})]}),e.jsxs(K,{open:re,onOpenChange:C,children:[e.jsx(fe,{asChild:!0,children:e.jsxs(h,{"data-testid":"button-new-inpe",children:[e.jsx(se,{className:"h-4 w-4 mr-2"}),"Nouvelle demande INPE"]})}),e.jsxs(Q,{className:"max-w-2xl max-h-[90vh] overflow-y-auto",children:[e.jsxs(V,{children:[e.jsx(H,{children:"Nouvelle demande INPE"}),e.jsx(X,{children:"Saisissez les informations du demandeur"})]}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{children:"Type de personne *"}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("button",{type:"button",onClick:()=>S("physique"),"data-testid":"select-person-physique",className:`flex items-center gap-3 rounded-md p-3 text-left transition-all border-2 ${j==="physique"?"border-blue-500 bg-blue-50 dark:bg-blue-950/40 dark:border-blue-400":"border-muted bg-muted/30 hover-elevate"}`,children:[e.jsx("div",{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-md ${j==="physique"?"bg-blue-500 text-white":"bg-muted text-muted-foreground"}`,children:e.jsx(Te,{className:"h-5 w-5"})}),e.jsxs("div",{children:[e.jsx("div",{className:"font-medium text-sm",children:"Personne physique"}),e.jsx("div",{className:"text-xs text-muted-foreground",children:"Professionnel individuel"})]})]}),e.jsxs("button",{type:"button",onClick:()=>S("morale"),"data-testid":"select-person-morale",className:`flex items-center gap-3 rounded-md p-3 text-left transition-all border-2 ${j==="morale"?"border-amber-500 bg-amber-50 dark:bg-amber-950/40 dark:border-amber-400":"border-muted bg-muted/30 hover-elevate"}`,children:[e.jsx("div",{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-md ${j==="morale"?"bg-amber-500 text-white":"bg-muted text-muted-foreground"}`,children:e.jsx(ke,{className:"h-5 w-5"})}),e.jsxs("div",{children:[e.jsx("div",{className:"font-medium text-sm",children:"Personne morale"}),e.jsx("div",{className:"text-xs text-muted-foreground",children:"Entreprise / Etablissement"})]})]})]})]}),j==="physique"?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"lastName",children:"Nom *"}),e.jsx(i,{id:"lastName",value:r.lastName,onChange:s=>l("lastName",s.target.value),placeholder:"Nom","data-testid":"input-last-name"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"firstName",children:"Prénom *"}),e.jsx(i,{id:"firstName",value:r.firstName,onChange:s=>l("firstName",s.target.value),placeholder:"Prénom","data-testid":"input-first-name"})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"sex",children:"Sexe *"}),e.jsxs(W,{value:r.sex,onValueChange:s=>l("sex",s),children:[e.jsx(Y,{"data-testid":"select-sex",children:e.jsx(Z,{})}),e.jsxs(ee,{children:[e.jsx(p,{value:"masculin",children:"Masculin"}),e.jsx(p,{value:"feminin",children:"Féminin"})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"cnieNumber",children:"N° CNIE *"}),e.jsx(i,{id:"cnieNumber",value:r.cnieNumber,onChange:s=>l("cnieNumber",s.target.value),placeholder:"N° CNIE","data-testid":"input-cnie"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"carteSejourNumber",children:"N° Carte de séjour"}),e.jsx(i,{id:"carteSejourNumber",value:r.carteSejourNumber,onChange:s=>l("carteSejourNumber",s.target.value),placeholder:"Si applicable","data-testid":"input-carte-sejour"})]})]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"raisonSociale",children:"Raison sociale *"}),e.jsx(i,{id:"raisonSociale",value:r.raisonSociale,onChange:s=>l("raisonSociale",s.target.value),placeholder:"Nom de l'entreprise","data-testid":"input-raison-sociale"})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"formeJuridique",children:"Forme juridique"}),e.jsxs(W,{value:r.formeJuridique,onValueChange:s=>l("formeJuridique",s),children:[e.jsx(Y,{"data-testid":"select-forme-juridique",children:e.jsx(Z,{placeholder:"Sélectionner"})}),e.jsxs(ee,{children:[e.jsx(p,{value:"sarl",children:"SARL"}),e.jsx(p,{value:"sa",children:"SA"}),e.jsx(p,{value:"sas",children:"SAS"}),e.jsx(p,{value:"snc",children:"SNC"}),e.jsx(p,{value:"cooperative",children:"Coopérative"}),e.jsx(p,{value:"association",children:"Association"}),e.jsx(p,{value:"autre",children:"Autre"})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"ice",children:"ICE *"}
1),e.jsx(i,{id:"ice",value:r.ice,onChange:s=>l("ice",s.target.value),placeholder:"Identifiant Commun de l'Entreprise","data-testid":"input-ice"})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"rc",children:"Registre de commerce"}),e.jsx(i,{id:"rc",value:r.rc,onChange:s=>l("rc",s.target.value),placeholder:"N° RC","data-testid":"input-rc"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"representantLegal",children:"Représentant légal"}),e.jsx(i,{id:"representantLegal",value:r.representantLegal,onChange:s=>l("representantLegal",s.target.value),placeholder:"Nom et prénom","data-testid":"input-representant-legal"})]})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"phoneMobile",children:"Téléphone mobile"}),e.jsx(i,{id:"phoneMobile",value:r.phoneMobile,onChange:s=>l("phoneMobile",s.target.value),placeholder:"06...","data-testid":"input-phone-mobile"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"phoneFixe",children:"Téléphone fixe"}),e.jsx(i,{id:"phoneFixe",value:r.phoneFixe,onChange:s=>l("phoneFixe",s.target.value),placeholder:"05...","data-testid":"input-phone-fixe"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"email",children:"Email"}),e.jsx(i,{id:"email",type:"email",value:r.email,onChange:s=>l("email",s.target.value),placeholder:"[email protected]","data-testid":"input-email"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"dossierInpe",children:"Dossier complet INPE"}),e.jsx(i,{id:"dossierInpe",type:"file",onChange:s=>{var t;return A(((t=s.target.files)==null?void 0:t[0])||null)},"data-testid":"input-dossier-file"})]})]}),e.jsxs(G,{children:[e.jsx(h,{variant:"outline",onClick:()=>C(!1),children:"Annuler"}),e.jsxs(h,{onClick:de,disabled:$,"data-testid":"button-submit-inpe",children:[$?e.jsx(Ee,{className:"h-4 w-4 mr-2 animate-spin"}):e.jsx(se,{className:"h-4 w-4 mr-2"}),"Créer la demande"]})]})]})]})]}),e.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[e.jsx(f,{children:e.jsxs(y,{className:"pt-6",children:[e.jsx("div",{className:"text-2xl font-bold",children:T.length}),e.jsx("p",{className:"text-muted-foreground",children:"Nouvelles"})]})}),e.jsx(f,{children:e.jsxs(y,{className:"pt-6",children:[e.jsx("div",{className:"text-2xl font-bold text-amber-600",children:k.length}),e.jsx("p",{className:"text-muted-foreground",children:"Complément requis"})]})}),e.jsx(f,{children:e.jsxs(y,{className:"pt-6",children:[e.jsx("div",{className:"text-2xl font-bold text-green-600",children:E.length}),e.jsx("p",{className:"text-muted-foreground",children:"Transférées / Traitées"})]})})]}),e.jsxs("div",{className:"relative max-w-sm",children:[e.jsx(he,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),e.jsx(i,{type:"search",placeholder:"Rechercher...",value:x,onChange:s=>te(s.target.value),className:"pl-8","data-testid":"input-search"})]}),e.jsxs(ye,{defaultValue:"new",className:"w-full",children:[e.jsxs(Ce,{children:[e.jsxs(D,{value:"new","data-testid":"tab-new",children:["Nouvelles (",T.length,")"]}),e.jsxs(D,{value:"pending","data-testid":"tab-pending",children:["Compléments (",k.length,")"]}),e.jsxs(D,{value:"processed","data-testid":"tab-processed",children:["Transférées (",E.length,")"]})]}),["new","pending","processed"].map(s=>{const t=s==="new"?T:s==="pending"?k:E;return e.jsx(Se,{value:s,children:e.jsx(f,{children:e.jsx(y,{className:"pt-6",children:le?e.jsx("div",{className:"space-y-2",children:[...Array(3)].map((a,d)=>e.jsx(ve,{className:"h-12 w-full"},d))}):t.length===0?e.jsx("p",{className:"text-center text-muted-foreground py-8",children:"Aucune demande"}):e.jsxs(ge,{children:[e.jsx(be,{children:e.jsxs(J,{children:[e.jsx(g,{children:"N° Demande"}),e.jsx(g,{children:"Type"}),e.jsx(g,{children:"Nom / Raison sociale"}),e.jsx(g,{children:"Identifiant"}),e.jsx(g,{children:"Tél."}),e.jsx(g,{children:"Statut"}),e.jsx(g,{children:"Actions"})]})}),e.jsx(Ne,{children:t.map(a=>e.jsxs(J,{"data-testid":`row-inpe-${a.id}`,children:[e.jsx(b,{className:"font-mono text-sm font-medium",children:a.requestNumber}),e.jsx(b,{children:e.jsx(ae,{variant:"outline",className:a.personType==="morale"?"bg-amber-50 text-amber-700 dark:bg-amber-950 dar
1k:text-amber-300":"bg-blue-50 text-blue-700 dark:bg-blue-950 dark:text-blue-300","data-testid":`badge-type-${a.id}`,children:a.personType==="morale"?"Morale":"Physique"})}),e.jsx(b,{children:a.personType==="morale"?e.jsx("span",{children:a.raisonSociale||a.lastName}):e.jsxs("span",{children:[a.lastName," ",a.firstName]})}),e.jsx(b,{children:a.personType==="morale"?a.ice||"—":a.cnieNumber}),e.jsx(b,{children:a.phoneMobile||a.phoneFixe||"—"}),e.jsx(b,{children:e.jsx(Pe,{status:a.status})}),e.jsx(b,{children:e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx(h,{variant:"ghost",size:"icon",title:"Télécharger reçu",onClick:()=>ce(a.id),"data-testid":`button-receipt-${a.id}`,children:e.jsx(Fe,{className:"h-4 w-4"})}),a.status==="nouveau"&&e.jsxs(h,{size:"sm",onClick:()=>q.mutate(a.id),disabled:q.isPending,"data-testid":`button-transfer-${a.id}`,children:[e.jsx(De,{className:"h-4 w-4 mr-1"}),"Transférer"]}),a.status==="en_attente_complement"&&e.jsxs(h,{size:"sm",variant:"outline",onClick:()=>{ie(a),v(!0)},"data-testid":`button-complement-${a.id}`,children:[e.jsx(xe,{className:"h-4 w-4 mr-1"}),"Répondre"]})]})})]},a.id))})]})})})},s)})]}),e.jsx(K,{open:ne,onOpenChange:v,children:e.jsxs(Q,{children:[e.jsxs(V,{children:[e.jsx(H,{children:"Répondre à la demande de complément"}),e.jsx(X,{children:(N==null?void 0:N.complementRequest)&&e.jsxs("span",{className:"block mt-2 p-3 bg-muted rounded-md text-sm",children:["Demande : ",N.complementRequest]})})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{children:"Réponse"}),e.jsx(we,{value:I,onChange:s=>L(s.target.value),placeholder:"Votre réponse...","data-testid":"input-complement-response"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{children:"Pièce jointe complémentaire"}),e.jsx(i,{type:"file",onChange:s=>{var t;return P(((t=s.target.files)==null?void 0:t[0])||null)},"data-testid":"input-complement-file"})]})]}),e.jsxs(G,{children:[e.jsx(h,{variant:"outline",onClick:()=>v(!1),children:"Annuler"}),e.jsxs(h,{onClick:oe,"data-testid":"button-send-complement",children:[e.jsx(Ie,{className:"h-4 w-4 mr-2"}),"Envoyer"]})]})]})})]})}export{Ye as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.