1import{b as R,g as F,w as u,j as t,C as U,aB as J,f as y,k as C,ai as Q,V as H,h as w,B as ue,d as D,aC as L,o as ee,e as E,aV as oe,av as p,y as N,ax as re,r as v,c as P,au as X,a$ as de,b1 as me,bK as te,Y as _,t as k,an as ce,aW as q,F as ve,m as fe,at as ge,a as pe,a1 as ye,aU as Ve,aY as Z,E as be,aI as we,v as Te,ap as Ie,u as Ae,ay as he}from"./index-DUWew8AW.js";import{I as xe}from"./IndustryResource-YN3nbEC1.js";import{_ as Me}from"./PageContent-_L2qDZ3g.js";import{P as Re}from"./PageHeader-CuloWWA-.js";import{T as Be}from"./TagResource-CZNzqy7j.js";import{M as Ye}from"./ManufacturerResource-D9nfKkC1.js";import{P as Ce}from"./PartnerResource-D5ZwYGgW.js";import{P as ke}from"./PaymentTypeResource-4a5BMBoa.js";import{G as De}from"./GroupResource-cbWfbKe0.js";import{_ as Pe}from"./FilterPanel-ujTRkxBv.js";import{u as ae}from"./useFilter-DGRV5EhG.js";import{f as $e}from"./filterHelpers-DoFTfm7p.js";import{_ as Se}from"./ClientLink-iPZtHPmn.js";const Ge={__name:"AnnualViewFilter",props:{filters:{type:Object,required:!0}},setup(f){const h=f;function x(g){var r;const n=[...((r=h.filters)==null?void 0:r.dateRange)||[]];n.length===2&&(g==="back"?n[0]=D(n[0]).subtract(1,"month").format("YYYY-MM"):g==="forward"&&(n[1]=D(n[1]).add(1,"month").format("YYYY-MM")),L.emit("annual-view-filter",{dateRange:n}))}return(g,n)=>(R(),F(ue,{align:"center",class:"mb-4"},{default:u(()=>[t(U,null,{default:u(()=>[t(J,{location:"top"},{activator:u(({props:r})=>[t(C,Q(r,{variant:"outlined",color:"primary",onClick:n[0]||(n[0]=d=>x("back"))}),{default:u(()=>[t(H,{size:"small"},{default:u(()=>[...n[2]||(n[2]=[w("fas fa-arrow-left",-1)])]),_:1})]),_:1},16)]),default:u(()=>[n[3]||(n[3]=y("span",null,"Add Previous Month",-1))]),_:1})]),_:1}),t(U,{md:"3",cols:"6"}),t(U,{md:"3",cols:"6"}),t(U,{class:"text-right"},{default:u(()=>[t(J,{location:"top"},{activator:u(({props:r})=>[t(C,Q(r,{variant:"outlined",color:"primary",onClick:n[1]||(n[1]=d=>x("forward"))}),{default:u(()=>[t(H,{size:"small"},{default:u(()=>[...n[4]||(n[4]=[w("fas fa-arrow-right",-1)])]),_:1})]),_:1},16)]),default:u(()=>[n[5]||(n[5]=y("span",null,"Add Next Month",-1))]),_:1})]),_:1})]),_:1}))}},Ue={class:"flex items-center space-x-4"},Ne={class:"flex justify-end gap-2 lg:col-span-4"},Fe={__name:"AnnualViewSidebarFilters",props:{industries:{type:Array,default:()=>[]}},setup(f){const h=f,{divisions:x}=ae(te(h,"industries")),g=v(!1),n=v([{id:null,name:"None"}]),r=v([{id:null,name:"None"}]),d=v([{id:null,name:"None"}]),c=v([]),s=v([]),T=v([]),I=v([]),$=v([]),B=v([]),S=v(!1);function Y(){return{clientId:[],industryId:null,paymentTypeId:null,manufacturerId:null,partnerId:null,state:[],groupId:[],tags:[],excludeBudgetTags:[],clientTags:[],excludeClientTags:[],untagged:!1,serviceId:[],serviceGroup:[],includeFees:!0}}const j=Y(),i=v(Y()),z=P(()=>{const l=new Set;return I.value.forEach(e=>{var a;(a=e.Address)!=null&&a.state&&l.add(e.Address.state)}),_.sortBy([...l])});async function O(){n.value=n.value.concat(await ke.getPaymentTypeList().then(l=>l.data))}async function o(){r.value=r.value.concat(await Ye.getManufacturerList().then(l=>l.data))}async function m(){d.value=d.value.concat(await Ce.getPartnerList().then(l=>l.data))}async function M(){c.value=[{name:"Internal",id:null}].concat(await Be.getTags().then(l=>l.data))}async function A(){s.value=await X.getAllTags().then(l=>l.data)}async function V(){I.value=I.value.concat(await X.getNonProspectClientList({withAddress:!0,withFields:["id","name","slug"]}).then(l=>l.data))}async function b(){T.value=T.value.concat(await De.getGroupsList().then(l=>l.data))}async function G(){B.value=await de.getServiceGroupList(!1).then(l=>l.data)}async function W(){$.value=await me.getAllServicesOnly().then(l=>l.data)}function le(){g.value=!g.value}function ne(l){const e={...l,clientId:[...l.clientId||[]],groupId:[...l.groupId||[]],state:l.state||[],tags:[...l.tags||[]],excludeBudgetTags:[...l.excludeBudgetTags||[]],clientTags:[...l.clientTags||[]],excludeClientTags:[...l.excludeClientTags||[]],serviceId:[...l.serviceId||[]],serviceGroup:[...l.serviceGroup||[]]};return e.untagged=e.tags.includes(null),e.tags=e.tags.filter(a=>a!==null),e.excludeBudgetTags=e.excludeBudgetTags.filter(a=>a!==null),e}function K(){const l=ne(i.value);S.value=$e(l,j),L.emit("annual-view-filter",l),g.value=!1}function se(){i.value=Y(),K()}async function ie(){await Promise.allSettled([O(),o(),m(),M(),A(),V(),b(),G(),W()])}return ee(()=>{i.value=Y(),ie()}),(l,e)=>(R(),E("div",null,[y("div",Ue,[y("div",null,[t(oe,{"model-value":S.value,color:"error",bordered:"",icon:"mdi-filter-multiple"},{default:u(()=>[t(C,{variant:"text",color:"secondary",onClick:le},{default:u(()=>[t(H,{start:""},{default:u(()=>[...e[15]||(e[15]=[w("fa-filter",-1)])]),_:1}),e[16]||(e[16]=w(" Toggle Filters ",-1))]),_:1})]),_:1},8,["model-value"])])]),t(Pe,{modelValue:g.value,"onUpdate:modelValue":e[14]||(e[14]=a=>g.value=a)},{default:u(()=>[t(p,{modelValue:i.value.clientId,"onUpdate:modelValue":e[0]||(e[0]=a=>i.value.clientId=a),items:I.value,"item-value":"id","item-title":"name",label:"Client",multiple:"",clearable:"","hide-details":""},null,8,["modelValue","items"]),t(p,{modelValue:i.value.groupId,"onUpdate:modelValue":e[1]||(e[1]=a=>i.value.groupId=a),items:T.value,"item-value":"id","item-title":"name",label:"Group",multiple:"",clearable:"","hide-details":""},null,8,["modelValue","items"]),t(p,{modelValue:i.value.industryId,"onUpdate:modelValue":e[2]||(e[2]=a=>i.value.industryId=a),"item-value":"value","item-title":"name",items:N(x),label:"Division",clearable:"","hide-details":""},null,8,["modelValue","items"]),t(p,{modelValue:i.value.paymentTypeId,"onUpdate:modelValue":e[3]||(e[3]=a=>i.value.paymentTypeId=a),items:n.value,"item-value":"id","item-title":"name",label:"Payment Type",clearable:"","hide-details":""},null,8,["modelValue","items"]),t(p,{modelValue:i.value.manufacturerId,"onUpdate:modelValue":e[4]||(e[4]=a=>i.value.manufacturerId=a),items:r.value,"item-value":"id","item-title":"name",label:"Manufacturer",clearable:"","hide-details":""},null,8,["modelValue","items"]),t(p,{modelValue:i.value.partnerId,"onUpdate:modelValue":e[5]||(e[5]=a=>i.value.partnerId=a),items:d.value,"item-value":"id","item-title":"name",clearable:"",label:"Partners","hide-details":""},null,8,["modelValue","items"]),t(p,{multiple:"",modelValue:i.value.state,"onUpdate:modelValue":e[6]||(e[6]=a=>i.value.state=a),items:z.value,label:"State",clearable:"","hide-details":""},null,8,["modelValue","items"]),t(p,{modelValue:i.value.tags,"onUpdate:modelValue":e[7]||
1(e[7]=a=>i.value.tags=a),"item-value":"id",multiple:"","item-title":"name",items:c.value,clearable:"",label:"With Budget Tags","hide-details":""},null,8,["modelValue","items"]),t(p,{modelValue:i.value.excludeBudgetTags,"onUpdate:modelValue":e[8]||(e[8]=a=>i.value.excludeBudgetTags=a),"item-value":"id",multiple:"","item-title":"name",items:c.value,clearable:"",label:"Without Budget Tags","hide-details":""},null,8,["modelValue","items"]),t(p,{modelValue:i.value.clientTags,"onUpdate:modelValue":e[9]||(e[9]=a=>i.value.clientTags=a),"item-value":"id",multiple:"","item-title":"name",items:s.value,clearable:"",label:"With Client Tags","hide-details":""},null,8,["modelValue","items"]),t(p,{modelValue:i.value.excludeClientTags,"onUpdate:modelValue":e[10]||(e[10]=a=>i.value.excludeClientTags=a),"item-value":"id",multiple:"","item-title":"name",items:s.value,clearable:"",label:"Without Client Tags","hide-details":""},null,8,["modelValue","items"]),t(p,{modelValue:i.value.serviceId,"onUpdate:modelValue":e[11]||(e[11]=a=>i.value.serviceId=a),"item-value":"id","item-title":"name",items:$.value,clearable:"",label:"Services",multiple:"","hide-details":""},null,8,["modelValue","items"]),t(p,{modelValue:i.value.serviceGroup,"onUpdate:modelValue":e[12]||(e[12]=a=>i.value.serviceGroup=a),"item-value":"id","item-title":"name",placeholder:"All",items:B.value,clearable:"",multiple:"",label:"Service Groups","hide-details":""},null,8,["modelValue","items"]),t(re,{class:"p-1",modelValue:i.value.includeFees,"onUpdate:modelValue":e[13]||(e[13]=a=>i.value.includeFees=a),label:"Include Fees","hide-details":""},null,8,["modelValue"]),y("div",Ne,[t(C,{variant:"outlined",color:"error",onClick:se},{default:u(()=>[...e[17]||(e[17]=[w("Clear Filters",-1)])]),_:1}),t(C,{color:"primary",onClick:K},{default:u(()=>[...e[18]||(e[18]=[w("Apply Filters",-1)])]),_:1})])]),_:1},8,["modelValue"])]))}},Le={class:"font-semibold bg-gray-100"},Ee={class:"text-lg!"},je=["colspan"],ze={class:"fit"},Oe={class:"fit"},We={class:"fit"},He={__name:"AnnualViewTable",props:{headers:{type:Array,default:()=>[]},items:{type:Array,default:()=>[]},loading:{type:Boolean,default:!1},selectedDateRange:{type:Array,default:()=>[]},industries:{type:Array,default:()=>[]}},setup(f){const h=f,{divisions:x}=ae(te(h,"industries"));function g(d){var c;return((c=x.value.find(s=>s.value.includes(d)))==null?void 0:c.name)||"-"}function n(d=[]){return d.map(c=>c.name).join(" ,")}function r(d){return h.items.reduce((c,s)=>{var T;return c+=_.sumBy(((T=s.budgets)==null?void 0:T[d])||[],I=>I.invoiceAmount+_.sumBy(I.fees,"invoiceAmount")),c},0)}return(d,c)=>(R(),F(ge,{loading:f.loading,flat:"",headers:f.headers,"items-per-page":-1,"hide-default-footer":!0,items:f.items,"fixed-header":"",height:"calc(100vh - 300px)",class:"elevation-1"},{"body.prepend":u(()=>[y("tr",Le,[y("td",Ee,"All Total ("+k(f.items.length)+" Clients)",1),(R(!0),E(ve,null,fe(f.selectedDateRange,s=>(R(),E("td",{key:s},k(N(q)(r(s))),1))),128)),y("td",{colspan:f.headers.length-1-f.selectedDateRange.length},null,8,je)])]),"item.name":u(({item:s})=>[(R(),F(Se,{client:s,key:`client-${s.name}`},null,8,["client"]))]),"item.industryId":u(({item:s})=>[y("div",ze,k(g(s.industryId)),1)]),"item.invoiceAmount":u(({item:s})=>[w(k(s.invoiceAmount?N(q)(s.invoiceAmount):"-"),1)]),"item.manufacturers":u(({item:s})=>[y("div",Oe,k(n(s.manufacturers)),1)]),"item.activatedAt":u(({item:s})=>[y("div",We,k(N(ce)(s.activatedAt,"MMMM DD, YYYY")),1)]),_:1},8,["loading","headers","items"]))}},it={__name:"AnnualViewIndex",setup(f){const{can:h}=he(),x=P(()=>h("export","Budgets")),{showErrorNotification:g}=Ae(),n=v(!1),r=v(!1),d=v([]),c=v([]),s=Ve({dateRange:[]}),T=P(()=>{if(Array.isArray(s.dateRange)&&s.dateRange.length===2){const[o,m]=s.dateRange,M=D(`${o}-01`),A=D(`${m}-01`),V=[];let b=M;for(;b.isBefore(A)||b.isSame(A);)V.push(b.format("YYYY-MM")),b=b.add(1,"month");return V}return[]}),I=P(()=>{const o=[{title:"Client",key:"name"}],m=T.value.map(M=>{const[A,V]=M.split("-");return{title:D(`${A}-${V}-01`).format("MMM YYYY"),sortable:!1,key:`budgetsByMonth.${A}-${V}`}});return[...o,...m,{title:"Payment Type",key:"PaymentType.name",headerProps:{class:"fit"}},{title:"Division",key:"industryId"},{title:"Manufacturer(s)",sortable:!1,key:"manufacturers"},{title:"Partner",key:"Partner.name"},{title:"Group",key:"Group.name"},{title:"Activation Date",key:"activatedAt"},{title:"State",key:"Address.state"}]}),$=P(()=>d.value.map(o=>{const m={};return Object.keys(o.budgets||{}
1).forEach(M=>{const A=o.budgets[M].reduce((V,b)=>(V+=b.invoiceAmount,V+=b.fees.reduce((G,W)=>(G+=W.invoiceAmount,G),0),V),0);m[M]=q(A)}),{...o,budgetsByMonth:m}}));async function B(){n.value=!0,d.value=[];try{const o=await Z.getAnnualViewList({...s,isExternal:!0});d.value=o.data}finally{n.value=!1}}async function S(){r.value=!0;try{const o=await Z.downloadAnnualViewReport({...s});Ie(o.data,"Annual View.xlsx",o.headers["content-type"])}catch{g("There was an issue generating the report. Please try again!")}finally{r.value=!1}}const Y=o=>{Object.assign(s,o),be(()=>{B()})};function j(){L.on("annual-view-filter",Y)}function i(){L.off("annual-view-filter",Y)}async function z(){c.value=await xe.getIndustriesList().then(o=>o.data)}async function O(o){s.dateRange=o,await B()}return ee(()=>{j();const o=D().startOf("month").format("YYYY-MM");s.dateRange=[o,o],B(),z()}),pe(()=>{i()}),(o,m)=>(R(),E("section",null,[t(Re,null,{right:u(()=>[t(Fe,{industries:c.value},null,8,["industries"]),t(we,{menu:"",value:s.dateRange,type:"month",range:"",label:"Select Month Range","display-format":"MMM YYYY","prepend-inner-icon":"event","hide-details":"",disabled:n.value,loading:n.value,onInput:O},null,8,["value","disabled","loading"]),t(C,{disabled:!s.dateRange.length||n.value,loading:n.value,color:"success",onClick:B},{default:u(()=>[...m[0]||(m[0]=[w(" View ",-1)])]),_:1},8,["disabled","loading"]),x.value?(R(),F(C,{key:0,disabled:n.value||r.value||d.value.length===0,color:"primary",onClick:S,loading:r.value},{default:u(()=>[...m[1]||(m[1]=[w(" Download ",-1)])]),_:1},8,["disabled","loading"])):Te("",!0)]),default:u(()=>[m[2]||(m[2]=w(" Budget Annual View ",-1))]),_:1}),t(ye),t(Me,null,{default:u(()=>[m[3]||(m[3]=y("div",{id:"page-filters"},null,-1)),t(Ge,{filters:s},null,8,["filters"]),t(He,{class:"my-6",headers:I.value,industries:c.value,items:$.value,loading:n.value,selectedDateRange:T.value},null,8,["headers","industries","items","loading","selectedDateRange"])]),_:1})]))}};export{it 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.