PageSourceSearch

https://commerkit.com/assets/Boxes-CXy_U1CR.js

js commerkit.com collected 2026-10-06 14:04:04 UTC 10,922 bytes, 1 lines download raw bytes

1import{a1 as z,a2 as x,j as e,a3 as B,X as F,T as N,af as S,r as y,dH as se,aT as M,l as oe,d as ae,k as C,m as w,fL as te,fM as ne,fN as ie,bI as le,c as re,e as L,F as ce,a4 as O,I as de,ad as ue}from"./index-CC10ymdh.js";import{u as me}from"./useAppTranslation-C60yjsKr.js";import{P as xe}from"./PageHeader-BalDqq7r.js";import{C as pe}from"./ContextHelpButton-DIB5SNB1.js";import{a as H,u as R,b as be,c as ge}from"./boxes-3Xr0zABk.js";import{L as he,A as V}from"./ListToolbar-DUEVCym5.js";import{g as $,c as _e,I as ye}from"./InventoryDetailDrawer-C0finBtK.js";import{I as fe}from"./ImTablePagination-BKRbHp1p.js";import{c as U,e as K}from"./locations-3cFGQ_3H.js";import{A as E}from"./index-DokzSjNs.js";import{U as je}from"./UpgradeAlert-Ev0VSZK0.js";import{u as ve}from"./lots-BqJSMbf1.js";import{V as Ce}from"./VariantPickerModal-yNOtp-EP.js";import{T as we}from"./index-BzFWrLoL.js";/* empty css               */import"./useDebouncedCallback-CFrscfBw.js";import"./MovementTypeBadge-ChXzXSAQ.js";import"./TableFooter-I6fkoudR.js";import"./outbound_plans-By9LoBFC.js";import"./index-CaZMfucO.js";const{Text:ke}=N;function Se({open:s,action:i,box:a,onClose:l,t:n}){const{message:d}=z.useApp(),[t]=x.useForm(),p=H(),{data:h}=U(),j=K((h==null?void 0:h.items)??[]),v=a==null?"":i==="move"?n("boxes.action.move_title",{code:a.box_code}):n("boxes.action.open_title",{code:a.box_code}),u=async()=>{var b,c;if(a)try{await t.validateFields();const _=t.getFieldsValue();i==="move"?(await p.mutateAsync({id:a.id,data:{location_id:_.location_id??null}}),d.success(n("boxes.messages.moved"))):(await p.mutateAsync({id:a.id,data:{status:"opened"}}),d.success(n("boxes.messages.opened"))),l()}catch(_){S(_)&&d.error(((c=(b=_.response)==null?void 0:b.data)==null?void 0:c.message)??n("boxes.messages.failed"))}};return e.jsxs(B,{open:s,title:v,okText:n("actions.confirm"),cancelText:n("actions.cancel"),confirmLoading:p.isPending,onOk:u,onCancel:l,destroyOnClose:!0,width:440,afterOpenChange:b=>{b&&t.resetFields()},children:[a&&i==="move"&&e.jsx(x,{form:t,layout:"vertical",style:{marginTop:8},children:e.jsx(x.Item,{name:"location_id",label:n("boxes.action.move_location_label"),children:e.jsx(F,{allowClear:!0,showSearch:!0,optionFilterProp:"label",options:j})})}),a&&i==="open"&&e.jsx(ke,{children:n("boxes.action.open_confirm")})]})}const{Text:k}=N,A=e.jsx(k,{type:"secondary",children:"—"}),Te={sealed:"default",opened:"blue",empty:"default"};function Ie({t:s,isPro:i}){const{message:a}=z.useApp(),{boxFilters:l,setBoxFilters:n,setSelectedVariantCode:d}=$(),{data:t,isLoading:p}=R(l);y.useEffect(()=>{const o=Math.max(1,(t==null?void 0:t.total_pages)??1);l.page>o&&n({page:o})},[l.page,t==null?void 0:t.total_pages,n]);const h=H(),j=!!l.status||!!l.source,v=()=>n({status:"",source:"",page:1}),u=[{value:"",label:s("filters.all")},{value:"sealed",label:s("boxes.status.sealed")},{value:"opened",label:s("boxes.status.opened")},{value:"empty",label:s("boxes.status.empty")}],b=[{value:"",label:s("filters.all")},{value:"po",label:s("boxes.source_po")},{value:"manual",label:s("boxes.source_manual")}],[c,_]=y.useState(!1),[G,X]=y.useState("open"),[J,Q]=y.useState(null),D=(o,r)=>{X(o),Q(r),_(!0)},W=async o=>{var r,g;try{await h.mutateAsync({id:o.id,data:{status:"sealed"}}),a.success(s("boxes.messages.resealed"))}catch(m){S(m)&&a.error(((g=(r=m.response)==null?void 0:r.data)==null?void 0:g.message)??s("locations.messages.failed"))}},P=be(),[f,T]=y.useState(null),[I,q]=y.useState("delete"),Y=async()=>{var o,r;if(f)try{await P.mutateAsync({id:f.id,mode:I}),a.success(s(I==="empty"?"boxes.messages.emptied":"boxes.messages.deleted")),T(null)}catch(g){S(g)&&a.error(((r=(o=g.response)==null?void 0:o.data)==null?void 0:r.message)??s("locations.messages.failed"))}},Z=[{title:s("boxes.columns.box_code"),dataIndex:"box_code",key:"box_code",align:"center",width:120,sorter:!0,sortDirections:["desce
1nd","ascend"],render:o=>e.jsx(k,{children:o})},{title:s("inventory.columns.image"),dataIndex:"image_url",key:"image_url",align:"center",width:64,render:o=>o?e.jsx(E,{shape:"square",size:36,src:o}):e.jsx(E,{shape:"square",size:36,icon:e.jsx(se,{})})},{title:s("boxes.columns.variant_code"),dataIndex:"variant_code",key:"variant_code",align:"center",width:260,ellipsis:!0,sorter:!0,sortDirections:["descend","ascend"],render:o=>e.jsx(_e,{variantCode:o,t:s,onClick:()=>d(o)})},{title:s("inventory.columns.custom_code"),dataIndex:"custom_variant_code",key:"custom_code",align:"center",width:120,sorter:!0,sortDirections:["descend","ascend"],render:o=>o||A},{title:s("boxes.columns.lot"),dataIndex:"lot_no",key:"lot_no",align:"center",width:100,sorter:!0,sortDirections:["descend","ascend"],render:o=>o||A},{title:s("boxes.columns.location"),dataIndex:"location_code",key:"location_code",align:"center",width:110,render:o=>o||A},{title:s("boxes.columns.capacity"),dataIndex:"capacity",key:"capacity",align:"center",width:80,sorter:!0,sortDirections:["ascend","descend"],render:o=>M(o)},{title:s("boxes.columns.remaining"),dataIndex:"remaining",key:"remaining",align:"center",width:80,sorter:!0,sortDirections:["ascend","descend"],render:o=>e.jsx(k,{strong:!0,children:M(o)})},{title:s("boxes.columns.status"),dataIndex:"status",key:"status",align:"center",width:90,render:o=>e.jsx(oe,{color:Te[o],style:{marginInlineEnd:0},children:s(`boxes.status.${o}`)})},{title:s("boxes.columns.source"),key:"source",align:"center",width:110,render:(o,r)=>e.jsx(k,{type:"secondary",style:{fontSize:12},children:r.po_item_id?s("boxes.source_po"):s("boxes.source_manual")})},{title:s("columns.actions"),key:"actions",align:"center",width:130,render:(o,r)=>e.jsxs(ae,{size:4,children:[r.remaining>0&&e.jsxs(e.Fragment,{children:[r.status==="sealed"&&e.jsx(C,{title:s(i?"boxes.actions.open":"boxes.ent_required"),children:e.jsx(w,{type:"text",size:"small",icon:e.jsx(te,{}),"aria-label":s("boxes.actions.open"),onClick:()=>D("open",r),disabled:!i})}),r.status==="opened"&&e.jsx(C,{title:s(i?"boxes.actions.reseal":"boxes.ent_required"),children:e.jsx(w,{type:"text",size:"small",icon:e.jsx(ne,{}),"aria-label":s("boxes.actions.reseal"),onClick:()=>W(r),disabled:!i,loading:h.isPending})}),e.jsx(C,{title:s(i?"boxes.actions.move":"boxes.ent_required"),children:e.jsx(w,{type:"text",size:"small",icon:e.jsx(ie,{}),"aria-label":s("boxes.actions.move"),onClick:()=>D("move",r),disabled:!i})})]}),e.jsx(C,{title:i?void 0:s("boxes.ent_required"),children:e.jsx(w,{type:"text",size:"small",danger:!0,icon:e.jsx(le,{}),"aria-label":s("actions.delete"),disabled:!i,onClick:()=>{q("delete"),T(r)}})})]})}],ee=(t==null?void 0:t.total_pages)??1;return e.jsxs(e.Fragment,{children:[e.jsxs(re,{children:[e.jsx(he,{search:l.search??"",onSearchChange:o=>n({search:o.trim()||void 0,page:1}),placeholder:s("boxes.search_placeholder"),advanced:{isDirty:j,onReset:v,children:e.jsxs(e.Fragment,{children:[e.jsx(V,{label:s("boxes.columns.status"),children:e.jsx(L,{size:"small",options:u,value:l.status??"",onChange:o=>n({status:o,page:1})})}),e.jsx(V,{label:s("boxes.columns.source"),children:e.jsx(L,{size:"small",options:b,value:l.source??"",onChange:o=>n({source:o,page:1})})})]})}}),e.jsx(ce,{className:"im-table",rowKey:"id",dataSource:(t==null?void 0:t.items)??[],columns:Z,loading:p,pagination:!1,scroll:{x:900},size:"middle",onChange:(o,r,g)=>{const m=Array.isArray(g)?g[0]:g;n({sort_by:m!=null&&m.order?m.columnKey:null,sort_dir:(m==null?void 0:m.order)==="descend"?"desc":"asc",page:1})},locale:{emptyText:s("messages.no_data")}}),e.jsx(fe,{page:l.page,pageSize:l.size,totalPages:ee,total:t==null?void 0:t.total,t:s,onPageChange:o=>n({page:o}),onPageSizeChange:o=>n({size:o,page:1})})]}),e.jsx(Se,{open:c,action:G,box:J,onClose:()=>_(!1),t:s}),e.jsx(B,{open:!!f,title:s("boxes.delete.title",{code:(f==null?void 0:f.box_code)??""}),okText:s("actions.delete"),okButtonProps:{danger:!0},cancelText:s("actions.cancel"),confirmLoading:P.isPending,onOk:Y,onCancel:()=>T(null),destroyOnHidden:!0,width:420,children:e.jsxs(O.Group,{value:
1I,onChange:o=>q(o.target.value),style:{display:"flex",flexDirection:"column",gap:8,marginTop:8},children:[e.jsxs(O,{value:"delete",children:[s("boxes.delete.mode_delete"),e.jsx("div",{style:{fontSize:12,color:"rgba(0,0,0,0.45)"},children:s("boxes.delete.mode_delete_hint")})]}),e.jsxs(O,{value:"empty",children:[s("boxes.delete.mode_empty"),e.jsx("div",{style:{fontSize:12,color:"rgba(0,0,0,0.45)"},children:s("boxes.delete.mode_empty_hint")})]})]})})]})}function Oe({open:s,onClose:i,t:a}){const{message:l}=z.useApp(),[n]=x.useForm(),d=ge(),{data:t}=U(),{data:p}=ve({size:100}),h=K((t==null?void 0:t.items)??[]),j=((p==null?void 0:p.items)??[]).map(u=>({value:u.id,label:`${u.lot_no} (${u.variant_code})`})),v=async()=>{var u,b;try{const c=await n.validateFields();await d.mutateAsync({box_code:c.box_code.trim(),variant_code:c.variant_code.trim(),capacity:c.capacity,lot_id:c.lot_id??null,location_id:c.location_id??null}),l.success(a("boxes.messages.created")),i()}catch(c){S(c)&&l.error(((b=(u=c.response)==null?void 0:u.data)==null?void 0:b.message)??a("boxes.messages.failed"))}};return e.jsx(B,{open:s,title:a("boxes.add"),okText:a("actions.save"),cancelText:a("actions.cancel"),confirmLoading:d.isPending,onOk:v,onCancel:i,destroyOnClose:!0,width:480,children:e.jsxs(x,{form:n,layout:"vertical",requiredMark:!0,style:{marginTop:8},children:[e.jsx(x.Item,{name:"box_code",label:a("boxes.form.box_code_label"),extra:a("boxes.form.box_code_hint"),rules:[{required:!0,message:a("messages.required")}],children:e.jsx(de,{maxLength:100})}),e.jsx(x.Item,{name:"variant_code",label:a("boxes.form.variant_label"),rules:[{required:!0,message:a("messages.required")}],children:e.jsx(Ce,{})}),e.jsx(x.Item,{name:"capacity",label:a("boxes.form.capacity_label"),rules:[{required:!0,message:a("messages.required")}],children:e.jsx(we,{min:1,style:{width:"100%"}})}),e.jsx(x.Item,{name:"lot_id",label:a("boxes.form.lot_label"),children:e.jsx(F,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:a("boxes.form.lot_placeholder"),options:j})}),e.jsx(x.Item,{name:"location_id",label:a("boxes.form.location_label"),children:e.jsx(F,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:a("boxes.form.location_placeholder"),options:h})})]})})}function Qe(){const{t:s}=me("inventory_management"),{data:i}=R(),a=(i==null?void 0:i.plan_tier)==="pro",{selectedVariantCode:l,setSelectedVariantCode:n}=$(),[d,t]=y.useState(!1);return e.jsxs(e.Fragment,{children:[e.jsx(xe,{title:s("boxes.title"),description:s("boxes.subtitle"),extra:e.jsx(pe,{page:"boxes"}),actions:e.jsx(C,{title:a?void 0:s("boxes.ent_required"),children:e.jsx(w,{type:"primary",icon:e.jsx(ue,{}),disabled:!a,onClick:()=>t(!0),children:s("boxes.add")})})}),i&&!a&&e.jsx(je,{tier:"pro",style:{marginBottom:16}}),e.jsx(Ie,{t:s,isPro:a}),e.jsx(Oe,{open:d,onClose:()=>t(!1),t:s}),e.jsx(ye,{variantCode:l,onClose:()=>n(null),t:s})]})}export{Qe 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.