PageSourceSearch

https://nextstrategy.in/assets/Index-BA31swcq.js

js nextstrategy.in collected 2026-10-08 03:22:34 UTC 7,469 bytes, 1 lines download raw bytes

1import{_ as Z}from"./SmartDataTable-BZVj_Mo5.js";import{d as ee,u as ae}from"./index-CkFI_9aO.js";import{g as le,u as te,r as se}from"./vendorPurchase-yvkLQeuj.js";import{f as ue,ac as oe,U as re,a7 as F,$ as B,j as a,a1 as l,F as N,a4 as ne,u,a0 as ie,k,P as C,J as p,X as r,e as o,d as P}from"./vendor-vue-BE2H0KkH.js";import{s as y,j as x,l as S,d as A,r as I,p as $,q as M,V as b,n as de,k as h,A as w,I as j,h as L,J as z,g as ce}from"./vendor-vuetify-CaQem0od.js";import"./TablePagination-BTYVmAS3.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./EnterpriseActionMenu-DxKgZVm8.js";import"./confirmDialog-XOqHK2Rn.js";import"./EnterpriseDialog.vue_vue_type_script_setup_true_lang-BuyTNNQB.js";import"./format-CbHiGJIZ.js";import"./TableAgent-C_9NBrCW.js";import"./TableEnum.vue_vue_type_script_setup_true_lang-BBEOLemU.js";import"./TableStatus.vue_vue_type_script_setup_true_lang-mSIRvsPG.js";import"./EnterpriseStatusBadge.vue_vue_type_script_setup_true_lang-D0Eako3I.js";import"./RoleBadge.vue_vue_type_script_setup_true_lang-DRUb8j3z.js";const ve={class:"text-medium-emphasis text-caption"},me={class:"text-h5"},Ae=ue({__name:"Index",setup(fe){const{can:J}=ee(),E=oe(),g=ae(),V=o(),n=o({total_purchases:0,total_amount:0,pending_purchases:0,received_purchases:0,partially_received_purchases:0}),d=o(""),c=o(""),v=o(""),m=o(!1),R=o(null),f=o(""),T=o(!1),i=o(!1),_=o(null),U=o(!1),q=[{title:"Pending",value:"pending"},{title:"Partially Received",value:"partially_received"},{title:"Received",value:"received"},{title:"Cancelled",value:"cancelled"}],O={pending:"warning",partially_received:"info",received:"success",cancelled:"error"},X=P(()=>[{label:"Total Purchases",value:n.value.total_purchases,icon:"tabler-building-store",color:"primary"},{label:"Total Amount",value:n.value.total_amount?.formatted??n.value.total_amount,icon:"tabler-cash",color:"info"},{label:"Pending",value:n.value.pending_purchases,icon:"tabler-clock",color:"warning"},{label:"Received",value:n.value.received_purchases,icon:"tabler-package-import",color:"success"}]),G=[{title:"Vendor",value:"vendor_name",sortable:!0},{title:"Reference",value:"reference_number",sortable:!0},{title:"Total Amount",value:"total_amount.formatted",sortable_key:"total_amount",sortable:!0},{title:"Status",value:"status",sortable:!0},{title:"Date",value:"date",sortable:!0},{title:"Created At",value:"created_at",sortable:!0}],H=[{key:"show",icon:"tabler-eye",color:"info",label:"View",onClick:t=>{J("admin.purchases.show")&&E.push({name:"admin.vendor_purchases.show",params:{id:t.id}})}},{key:"update_status",icon:"tabler-edit-circle",color:"primary",label:"Update Status",hidden:t=>["received","cancelled"].includes(t.status?.id??t.status),onClick:t=>{R.value=t,f.value=t.status?.id??t.status??"",m.value=!0}},{key:"receive",icon:"tabler-package-import",color:"success",label:"Receive",hidden:t=>!["pending","partially_received"].includes(t.status?.id??t.status),onClick:t=>{_.value=t,i.value=!0}}],K=P(()=>{const t={};return d.value&&(t["filter[from]"]=d.value),c.value&&(t["filter[to]"]=c.value),v.value&&(t["filter[status]"]=v.value),t}),D=async()=>{try{const t=await le();n.value=t.data?.body??t.data?.data??t.data??n.value}catch{}},Q=async()=>{if(!(!R.value||!f.value)){T.value=!0;try{await te(R.value.id,f.value),g.success("Status updated successfully"),m.value=!1,V.value?.refresh(),D()}catch{g.error("Failed to update status")}finally{T.value=!1}}},W=async()=>{if(!_.value)return;const t=(_.value.items??[]).map(e=>({id:e.id,received_quantity:Math.max(0,Number(e.quantity??0)-Number(e.received_quantity??0))})).filter(e=>e.received_quantity>0);if(t.length===0){g.error("No pending quantity to receive"),i.value=!1;return}U.value=!0;try{await se(_.value.id,{items:t}),g.success("Purchase marked as received"),i.value=!1,V.value?.refresh(),D()}catch{g.error("Failed to mark as received")}finally{U.value=!1}};return re(()=>{D()}),(t,e)=>{const Y=Z;return F(),B(N,null,[a(I,{class:"mb-4"},{default:l(()=>[(F(!0),B(N,null,ne(u(X),s=>(F(),ie(y,{key:s.label,cols:"6",md:"3"},{default:l(()=>[a(x,null,{default:l(()=>[a(S,{class:"d-flex align-center justify-space-between"},{default:l(()=>[k("div",null,[k("div",ve,C(s.label),1),k("div",me,C(s.value),1)]),a(A,{color:s.color,icon:s.icon,size:"32"},null,8,["color","icon"])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1}),a(x,{class:"mb-4"},{default:l(()=>[a(S,null,{default:l(()=>[a(I,{align:"center"},{default:l(()=>[a(y,{cols:"12",md:"3"},{default:l(()=>[a($,{modelValue:u(d),"onUpdate:modelValue":e[0]||(e[0]=s=>p(d)?d.value=s:null),clearable:"",label:"From Date",type:"date"},null,8,["modelValue"])]),_:1}),a(y,{cols:"12",md:"3"},{default:l(()=>[a($,{modelValue:u(c),"onUpdate:modelValue":e[1]||(e[1]=s=>p(c)?c.value=s:null),clearable:"",label:"To Date",type:"date"},null,8,["modelValue"])]),_:1}),a(y,{cols:"12",md:"3"},{default:l(()=>[a(M,{modelValue:u(v),"onUpdate:modelValue":e[2]||(e[2]=s=>p(v)?v.value=s:null),clearable:"","item-title":"title","item-value":"value",items:q,label:"Status"},null,8,["modelValue"])]),_:1}),a(y,{cols:"12",md:"3",class:"d-flex gap-2"},{default:l(()=>[a(b,{color:"primary",onClick:e[3]||(e[3]=s=>u(V)?.refresh())},{default:l(()=>[...e[10]||(e[10]=[r("Filter",-1)])]),_:1}),a(b,{variant:"tonal",onClick:e[4]||(e[4]=s=>{d.value="",c.value="",v.value="",u(V)?.refresh()})},{default:l(()=>[...e[11]||(e[11]=[r("Reset",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),a(Y,{ref_key:"smartTableRef",ref:V,actions:H,"api-uri":"/v1/vendor-purchases","extra-params":u(K),headers:G,module:"inventory",name:"vendor_purchase",resource:"vendor_purchases"},{"item.status":l(({item:s})=>[a(de,{color:O[s.status?.id??s.status]??"default",size:"small"},{default:l(()=>[r(C(s.status?.label??s.status),1)]),_:2},1032,["color"])]),_:1},8,["extra-params"]),a(z,{modelValue:u(m),"onUpdate:modelValue":e[7]||
1(e[7]=s=>p(m)?m.value=s:null),"max-width":"420"},{default:l(()=>[a(x,null,{default:l(()=>[a(h,{class:"d-flex align-center gap-2"},{default:l(()=>[a(A,{color:"primary",icon:"tabler-edit-circle"}),e[12]||(e[12]=r(" Update Status ",-1))]),_:1}),a(w),a(S,null,{default:l(()=>[a(M,{modelValue:u(f),"onUpdate:modelValue":e[5]||(e[5]=s=>p(f)?f.value=s:null),"item-title":"title","item-value":"value",items:q,label:"Status"},null,8,["modelValue"])]),_:1}),a(w),a(j,null,{default:l(()=>[a(L),a(b,{variant:"tonal",onClick:e[6]||(e[6]=s=>m.value=!1)},{default:l(()=>[...e[13]||(e[13]=[r("Cancel",-1)])]),_:1}),a(b,{color:"primary",loading:u(T),onClick:Q},{default:l(()=>[...e[14]||(e[14]=[r("Update",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),a(z,{modelValue:u(i),"onUpdate:modelValue":e[9]||(e[9]=s=>p(i)?i.value=s:null),"max-width":"420"},{default:l(()=>[a(x,null,{default:l(()=>[a(h,{class:"d-flex align-center gap-2"},{default:l(()=>[a(A,{color:"success",icon:"tabler-package-import"}),e[15]||(e[15]=r(" Confirm Receive ",-1))]),_:1}),a(w),a(S,null,{default:l(()=>[a(ce,{color:"info",variant:"tonal"},{default:l(()=>[e[16]||(e[16]=r(" Mark purchase ",-1)),k("strong",null,C(u(_)?.reference_number),1),e[17]||(e[17]=r(" as received? ",-1))]),_:1})]),_:1}),a(w),a(j,null,{default:l(()=>[a(L),a(b,{variant:"tonal",onClick:e[8]||(e[8]=s=>i.value=!1)},{default:l(()=>[...e[18]||(e[18]=[r("Cancel",-1)])]),_:1}),a(b,{color:"success",loading:u(U),onClick:W},{default:l(()=>[...e[19]||(e[19]=[r("Confirm",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],64)}}});export{Ae 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.