PageSourceSearch

https://sistema.yacamba.com/assets/MainMovements-C0ECF_AN.js

js yacamba.com collected 2026-09-24 11:06:43 UTC 10,210 bytes, 1 lines download raw bytes

1import{gT as t,bB as U,em as M,jc as K,hH as c,dn as B,fm as J,gQ as k,d9 as ee,iZ as te,iV as se,j2 as ae,iU as oe,eI as re,j5 as ne,a$ as le,cE as ce,bF as ie}from"./index-DfEzlclk.js";import{getStocksMovements as de,getPendingMovementsCounts as ue}from"./utils-B34yWrRQ.js";import{G as me}from"./GlassScreenMobile-CegJ0z2z.js";import{P as L}from"./PendingBadge-SxyvWQQJ.js";import{e as pe}from"./ModalAllStartModule-D8gOOSBu.js";import{D as xe,b as ge,e as he,f as fe,c as be}from"./drawer-Ch_49rYl.js";import{I as G}from"./InputDatePickerMobile-DUijklUk.js";import{D as ye}from"./DrawerSelect-C858KmUg.js";import{p as ve}from"./parse-BT-pUSEB.js";import"./InputSearch-Ysk0Sxkf.js";import"./package-plus-D1tVs1zL.js";import"./calendar-CYaAk85-.js";import"./endOfMonth-CltHSOWp.js";import"./subDays-qKYcXrMN.js";import"./addDays-Bo6lmrjB.js";import"./InputFormMobile-Cqll-FNr.js";const je=({className:e,navLinks:n,scrollable:u=!1})=>u?t.jsx("div",{className:M("px-4 py-2",e),children:t.jsx("div",{className:"grid grid-cols-3 gap-2",children:n==null?void 0:n.map((s,a)=>t.jsxs(U,{to:s==null?void 0:s.to,end:!0,className:({isActive:m})=>M("flex h-11 items-center justify-center gap-x-1.5 overflow-hidden rounded-xl border px-2 font-dm text-[12px] transition-colors",m?"border-violetBlue/30 bg-violet-50 dark:bg-violet-500/10 font-semibold text-violetBlue":"border-blancoBox bg-surface font-normal text-grisText"),children:[t.jsx("span",{className:"truncate",children:s==null?void 0:s.label}),t.jsx(L,{count:s==null?void 0:s.count})]},a))})}):t.jsx("div",{className:M("px-6 py-2",e),children:t.jsx("div",{className:"flex h-12 min-h-12 w-full items-center gap-x-1 rounded-xl border border-blancoBox bg-inherit p-1",children:n==null?void 0:n.map((s,a)=>t.jsxs(U,{to:s==null?void 0:s.to,end:!0,className:({isActive:m})=>M("flex h-[39px] flex-1 items-center justify-center gap-x-2 rounded-[10px] font-dm text-sm",m?"bg-violet-50 dark:bg-violet-500/10 font-semibold text-violetBlue":"font-normal text-grisText"),children:[s==null?void 0:s.label,t.jsx(L,{count:s==null?void 0:s.count})]},a))})}),we=e=>[{value:"",label:e("Todos")},{value:"1",label:e("Próximos")},{value:"2",label:e("Mañana")},{value:"3",label:e("Hoy")},{value:"4",label:e("Atrasados")}],Se=e=>[{value:"",label:e("Todos")},{value:"pending",label:e("Pendiente")},{value:"partial",label:e("Parcial")},{value:"completed",label:e("Completo")},{value:"cancelled",label:e("Cancelado")}];function z({value:e,options:n,onChange:u}){return t.jsx("div",{className:"flex flex-wrap gap-2",children:n.map(s=>{const a=String(e||"")===String(s.value);return t.jsx("button",{type:"button",onClick:()=>u(s.value),className:`rounded-full border px-3 py-1 font-dm text-[12px] font-medium transition-colors ${a?"border-violetBlue/30 bg-violet-50 text-violetBlue dark:bg-violet-500/10":"border-blancoBox bg-surface text-grisHeading"}`,children:s.label},s.value||"all")})})}function _e({open:e,onOpenChange:n,value:u,onApply:s}){const{t:a}=K(),[m,b]=c.useState([]),[x,p]=c.useState(u||{});c.useEffect(()=>{e&&p(u||{})},[e,u]),c.useEffect(()=>{if(!e)return;let r=!1;return(async()=>{try{const d=await fetch("https://saasbackend.yacamba.com/api/inventory/get-inventories",{headers:{Authorization:"Bearer "+B.get("token")}});if(!d.ok)return;const h=await d.json(),E=(h==null?void 0:h.data)||(h==null?void 0:h.warehouses)||[];if(r)return;b(E.map(f=>({value:f.id,label:f.name})))}catch{}})(),()=>{r=!0}},[e]);const P=c.useMemo(()=>m.find(r=>String(r.value)===String(x.warehouse_id||""))||null,[m,x.warehouse_id]),S=r=>{if(!r)return null;const d=ve(r,"yyyy-MM-dd",new Date);return k(d)?d:null},j=r=>r?J(r,"yyyy-MM-dd"):"",A=()=>{p({})},_=()=>{s(x),n(!1)};return t.jsx(xe,{open:e,onOpenChange:n,children:t.jsxs(ge,{className:"flex max-h-[90%] flex-col rounded-t-[30px]",children:[t.jsxs(he,{className:"px-6 pt-5",children:[t.jsx(fe,{className:"font-dm text-lg font-semibold text-grisHeading",children:a("Filtros")}),t.jsx(be,{className:"font-dm text-sm text-grisSubText",children:a("Refina los movimientos por fecha, almacén, urgencia y estado.")})]}),t.jsxs("div",{className:"flex flex-col gap-y-5 overflow-y-auto px-6 pb-6 pt-2",children:[t.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[t.jsx(G,{title:a("Desde"),value:S(x.date_from),onChange:r=>p(d=>({...d,date_from:j(r)}
1)),placeholder:a("Fecha inicio")}),t.jsx(G,{title:a("Hasta"),value:S(x.date_to),onChange:r=>p(d=>({...d,date_to:j(r)})),placeholder:a("Fecha fin")})]}),t.jsx(ye,{title:a("Almacén"),options:m,itemSelected:P,setItemSelected:r=>p(d=>({...d,warehouse_id:(r==null?void 0:r.value)||""}))}),t.jsxs("div",{className:"flex flex-col gap-y-2",children:[t.jsx("p",{className:"font-dm text-[13px] font-medium text-grisHeading",children:a("Urgencia")}),t.jsx(z,{value:x.urgency,options:we(a),onChange:r=>p(d=>({...d,urgency:r}))})]}),t.jsxs("div",{className:"flex flex-col gap-y-2",children:[t.jsx("p",{className:"font-dm text-[13px] font-medium text-grisHeading",children:a("Estado")}),t.jsx(z,{value:x.status,options:Se(a),onChange:r=>p(d=>({...d,status:r}))})]})]}),t.jsxs("div",{className:"flex gap-x-3 border-t border-blancoBox bg-surface px-6 py-4",children:[t.jsx("button",{type:"button",onClick:A,className:"flex h-11 flex-1 items-center justify-center rounded-xl border border-blancoBox bg-surface font-dm text-sm font-medium text-grisHeading transition-colors hover:border-violetBlue/30",children:a("Limpiar")}),t.jsx("button",{type:"button",onClick:_,className:"flex h-11 flex-1 items-center justify-center rounded-xl bg-violetBlue font-dm text-sm font-semibold text-white transition-colors hover:bg-violetBlue/85",children:a("Aplicar")})]})]})})}const Ne={1:"Próximos",2:"Mañana",3:"Hoy",4:"Atrasados"},Ce={pending:"Pendiente",partial:"Parcial",completed:"Completo",cancelled:"Cancelado"};function Me({filters:e,warehouseLabel:n,onRemove:u}){const s=[];return(e!=null&&e.date_from||e!=null&&e.date_to)&&s.push({key:"date",label:`${e.date_from||"…"} – ${e.date_to||"…"}`,onRemove:()=>u(["date_from","date_to"])}),e!=null&&e.warehouse_id&&s.push({key:"warehouse",label:n||"Almacén",onRemove:()=>u(["warehouse_id"])}),e!=null&&e.urgency&&s.push({key:"urgency",label:Ne[e.urgency]||e.urgency,onRemove:()=>u(["urgency"])}),e!=null&&e.status&&s.push({key:"status",label:Ce[e.status]||e.status,onRemove:()=>u(["status"])}),s.length===0?null:t.jsx("div",{className:"flex w-full items-center gap-x-2 overflow-x-auto px-6 pb-2 [-ms-overflow-style:none] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",children:s.map(a=>t.jsxs("button",{type:"button",onClick:a.onRemove,className:"inline-flex shrink-0 items-center gap-x-1 rounded-full bg-violet-50 px-3 py-1 font-dm text-[12px] font-medium text-violetBlue ring-1 ring-inset ring-violet-200 dark:bg-violet-500/10 dark:ring-violet-500/30",children:[a.label,t.jsx(ee,{className:"h-3 w-3"})]},a.key))})}const g="/inventory-mobile/merchandise-movements",W=["date_from","date_to","warehouse_id","urgency","status"],v=e=>{const n=Number(e);return Number.isFinite(n)?Math.trunc(n):0},Be=e=>{const n=Math.ceil(e/3);return 56+n*44+(n-1)*8+16};function Ke(){var $,F,H,D,R,I,O;const{t:e}=K(),n=te(),{pathname:u}=se(),{isFree:s}=ae(),a=oe(),m=c.useMemo(()=>re(),[]),[b,x]=ne(),[p,P]=c.useState(""),[S,j]=c.useState(!1),[A,_]=c.useState(!1),[r,d]=c.useState([]),[h,E]=c.useState((($=a==null?void 0:a.stocks)==null?void 0:$.data)||{}),[f,V]=c.useState({pendingSales:v((H=(F=a==null?void 0:a.pending)==null?void 0:F.data)==null?void 0:H.pending_sales),pendingBuys:v((R=(D=a==null?void 0:a.pending)==null?void 0:D.data)==null?void 0:R.pending_purchases),pendingTransfers:v((O=(I=a==null?void 0:a.pending)==null?void 0:I.data)==null?void 0:O.pending_transfers)}),y=c.useMemo(()=>{const l={};return W.forEach(o=>{const i=b.get(o);i&&(l[o]=i)}),l},[b]),Y=Object.keys(y).length>0,N=c.useCallback(async()=>{var i,C,w;const[l,o]=await Promise.all([de(),ue()]);E((l==null?void 0:l.data)||{}),V({pendingSales:v((i=o==null?void 0:o.data)==null?void 0:i.pending_sales),pendingBuys:v((C=o==null?void 0:o.data)==null?void 0:C.pending_purchases),pendingTransfers:v((w=o==null?void 0:o.data)==null?void 0:w.pending_transfers)})},[]);c.useEffect(()=>(m.subscribe(`private-get-stock-movements.${B.get("system_id")}`),m.bind("fill-stock-movements",()=>{N()}),()=>{m.unsubscribe(`private-get-stock-movements.${B.get("system_id")}`)}),[m,N]),c.useEffect(()=>{let l=!1;return(async()=>{try{const o=await fetch("https://saasbackend.yacamba.com/api/inventory/get-inventories",{headers:{Authorization:"Bearer "+B.get("token")}});if(!o.ok)return;const i=await o.json(),C=(i==null?void 0:i.data)||(i==null?void 0:i.warehouses)||[];if(l)return;d(C.map(w=>({id:w.id,name:w.name})))}catch{}})(),()=>{l=!0}},[]);const Q=c.useMemo(()=>{var l;return y.warehouse_id?((l=r.find(o=>String(o.id)===String(y.warehouse_id)))==null?void 0:l.name)||"Almacén":""},[y.warehouse_id,r]),X=l=>{const o=new URLSearchParams(b);W.forEach(i=>
1{l[i]?o.set(i,l[i]):o.delete(i)}),x(o,{replace:!0})},Z=l=>{const o=new URLSearchParams(b);l.forEach(i=>o.delete(i)),x(o,{replace:!0})},T=c.useMemo(()=>{const l=[{to:`${g}/pending-sales`,label:e("Por entregar"),count:f.pendingSales},{to:`${g}/pending-buys`,label:e("Por ingresar"),count:f.pendingBuys},{to:`${g}/transfer`,label:e("Traspasos"),count:f.pendingTransfers},{to:g,label:e("Entradas")},{to:`${g}/egress`,label:e("Salidas")},{to:`${g}/adjustments`,label:e("Ajustes")}];return s?l.filter(o=>o.to===`${g}/adjustments`):l},[f,s]);c.useEffect(()=>{s&&u.replace(/\/+$/,"")===g&&n(`${g}/adjustments`,{replace:!0})},[s,u,n]);const q=c.useMemo(()=>({info:h,search:p,counters:f,refreshAll:N}),[h,p,f,N]);return t.jsxs(t.Fragment,{children:[t.jsx(pe,{modalStartModule:S,setModalStartModule:j}),t.jsx(_e,{open:A,onOpenChange:_,value:y,onApply:X}),t.jsxs(me,{title:e("Movimientos"),backTo:"/inventory-mobile",search:p,setSearch:P,onNew:s?null:()=>n(`${g}/new`),actions:[{label:e("Información"),icon:le,onClick:()=>j(!0)},{label:e("Filtros"),icon:ce,onClick:()=>_(!0),badge:Y}],collapse:t.jsx(je,{navLinks:T,scrollable:!0}),collapseHeight:Be(T.length),children:[t.jsx(Me,{filters:y,warehouseLabel:Q,onRemove:Z}),t.jsx(ie,{context:q})]})]})}export{Ke 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.