1import{_ as Q}from"./TextField-C_dNJHc3.js";import{l as O,e as N,f as V,o as t,X as W,g as r,ba as $,P as X,bj as h,d2 as I,q as T,c as o,k as _,x as C,A as c,E as A,y,G as j,Z,a as D,d as L,t as x,a1 as F,be as J,bf as K,fG as Y,W as ee,av as E,bd as te,bm as oe,gT as B,ax as ae,s as le,j as re}from"./entry-BwZZnLSu.js";import{_ as se}from"./AutoComplete-BRR63UCr.js";import{m as ne}from"./debounce-DNPFrymR.js";import{_ as ie}from"./ServerTable-CoCQp9WS.js";import{f as S}from"./currencyHelper-DHRiIx2Y.js";import{V as de}from"./VTooltip-BIl8PzV7.js";import{D as ue}from"./DatePicker-CnLLG0oc.js";import{_ as me,a as ce}from"./RadioGroup.vue-DzAfqhLF.js";import{V as pe,a as fe}from"./VRow-Cf9Zx5GU.js";import{V as ye}from"./VForm-Ctj3S8Sx.js";import"./Label-DjTHcQrj.js";import"./VAutocomplete-CHpjvscy.js";import"./LoadingSpinner-B4c3bQvv.js";import"./DropDown-D7qOUKMn.js";import"./IconButton.vue-CHobtqD6.js";import"./main-TBYjPfPE.js";import"./VRadioGroup-BM2eIWtO.js";/* empty css */const _e={__name:"CalendarSearch",props:{modelValue:{type:[String,Number],default:""},module:{type:String,default:"",required:!1},showFilter:{type:Boolean,default:!0}},emits:["update:modelValue","add-filter"],setup(n,{emit:v}){const s=v,m=N({get(){return n.modelValue},set(l){return s("update:modelValue",l)}});function d(){s("add-filter")}return(l,u)=>{const k=Q;return t(),V(k,W({modelValue:r(m),"onUpdate:modelValue":u[0]||(u[0]=a=>$(m)?m.value=a:null),placeholder:`Search ${n.module}`,type:"text",singleLine:"",dense:"",filled:"",variant:"solo",hideDetails:"",flat:"",class:"select-field drop-down-control","prepend-inner-icon":"mdi-magnify","append-inner-icon":"mdi-calendar"},{...l.$attrs,...l.$props},{"onClick:appendInner":d}),null,16,["modelValue","placeholder"])}}},xe=O(_e,[["__scopeId","data-v-0aa08739"]]);h().format();const U=X("reports",{state:()=>({reportFilterData:{dateFrom:h(new Date(Date.now()-10080*60*1e3)).format(I),dateTill:h(new Date).format(I),salesPersonId:""},applyReportLoader:!1,downloadReportLoader:!1}),actions:{setFilterData(n){n.dateFrom&&(n.dateFrom=h(n.dateFrom).format(I)),n.dateTill&&(n.dateTill=h(n.dateTill).format(I)),this.reportFilterData=n},setApplyLoader(n){this.applyReportLoader=n},setDownloadLoader(n){this.downloadReportLoader=n}},getters:{getFilterData:n=>n.reportFilterData}}),Fe={class:"sm:d-flex tw-gap-4 report-header"},ve={__name:"Header",props:{module:{type:String},action:{type:Boolean,default:!1},actionTitle:{type:String},download:{type:Boolean},dropdownItems:{type:Array}},emits:["selectTab","onSearch","open-filter-modal","downloadReport"],setup(n,{emit:v}){const s=U(),m=v,d=ne(),l=T({...s.getFilterData}),u=N(()=>{let f;return s.getFilterData.dateFrom&&s.getFilterData.dateTill?f=s.getFilterData.dateFrom+" - "+s.getFilterData.dateTill:s.getFilterData.dateFrom?f=s.getFilterData.dateFrom:s.getFilterData.dateTill&&(f=s.getFilterData.dateTill),f});async function k(){d(()=>{m("onSearch")},350)}function a(){m("open-filter-modal")}function e(){m("downloadReport")}function w(f){let i={...s.getFilterData};i.salesPersonId=f,s.setFilterData(i)}return(f,i)=>{const b=xe,R=se,g=j;return t(),o("div",Fe,[_(b,{dansity:"compact",modelValue:r(u),"onUpdate:modelValue":[i[0]||(i[0]=p=>$(u)?u.value=p:null),k],readonly:"",label:"Date Range",module:n.module,onAddFilter:a,class:"list-search-input sm:width-40"},null,8,["modelValue","module"]),_(R,{class:"select-field sm:width-40",label:"Sales Person","item-title":"name","item-value":"id",items:n.dropdownItems,modelValue:r(l).salesPersonId,"onUpdate:modelValue":[i[1]||(i[1]=p=>r(l).salesPersonId=p),w],clearable:""},null,8,["items","modelValue"]),n.action?(t(),V(g,{key:0,onClick:k,disabled:r(s).applyReportLoader,loading:r(s).applyReportLoader,class:"mt-5"},{default:c(()=>[A(y(n.action),1)]),_:1},8,["disabled","loading"])):C("",!0),n.download?(t(),V(g,{key:1,onClick:e,disabled:r(s).downloadReportLoader,loading:r(s).downloadReportLoader,class:"mt-5"},{default:c(()=>[_(Z,null,{default:c(()=>i[2]||(i[2]=[D("img",{src:"/icons/download.svg",alt:"Download Icon"},null,-1)])),_:1})]),_:1},8,["disabled","loading"])):C("",!0)])}}},ge=O(ve,[["__scopeId","data-v-a92347da"]]),ke={class:"trim-text"},Te={class:"trim-text"},we={key:0,class:"trim-text"},De={class:"trim-text"},be={key:0,class:"trim-text"},Se={key:1,class:"trim-text"},he={key:0,class:"trim-text"},Ce={key:1,class:"trim-text"},Ve={key:0,class:"trim-text"},Re={key:1,class:"trim-text"},Ae={key:0,class:"trim-text"},Ie={key:1,class:"trim-text"},Pe={key:0,class:"trim-text"},$e={key:1,class:"trim-text"},Le={key:0,class:"font-size-10"},qe={key:0,class:"trim-text"},Oe={key:1,class:"trim-text"},Ue={key:0,class:"trim-text"},Be={key:1,class:"trim-text"},Me={key:0,class:"font-size-10"},Ne={key:0,class:"trim-text"},je={key:1,class:"trim-text"},Ee={key:0,class:"trim-text"},ze={key:1,class:"trim-text"},Ge=L({__name:"UnitSaleReportTable",props:{search:{type:String,default:"",required:!0},filterStatus:{type:Object,default:()=>{}},url:{type:String},headers:{type:Array}},emits:["itemAction"],setup(n,{emit:v}){const s=v;function m(l,u){s("itemAction",l,u)}const d=T(!1);return(l,u)=>{const k=ie;return t(),o("div",null,[_(k,{modelValue:r(d),"onUpdate:modelValue":u[0]||(u[0]=a=>$(d)?d.value=a:null),headers:n.headers,url:n.url,search:n.search,"query-params":n.filterStatus,module:"unit-sales",onTableAction:m},{"column.salestaxrate":c(({column:a})=>[_(de,{class:"borderListItem",text:"Sales Tax Rate",location:"top"},{activator:c(({props:e})=>[D("span",J(K(e)),y(a.title),17)]),_:2},1024)]),"item.completedAt":c(({item:a})=>[A(y(l.$dayjs(a.raw.completedAt).format("dateFormat"in l?l.dateFormat:r(I))),1)]),"item.producttitle":c(({item:a})=>[(t(!0),o(x,null,F(a.raw.inventories,e=>(t(),o("div",{key:e.id},[D("span",ke,y(e.stock),1)]))),128)),(t(!0),o(x,null,F(a.raw.lineItems,e=>(t(),o("div",{key:e.id}
1,[D("span",Te,y(e.title),1)]))),128))]),"item.description":c(({item:a})=>[(t(!0),o(x,null,F(a.raw.inventories,e=>(t(),o("div",{key:e.id},[!e.year&&!e.make&&!e.model?(t(),o("span",we,"Â ")):C("",!0),D("span",De,y(e.year)+" "+y(e.make)+" "+y(e.model),1)]))),128)),(t(!0),o(x,null,F(a.raw.lineItems,e=>(t(),o("div",{key:e.id},[e.description?(t(),o("span",Se,y(e.description),1)):(t(),o("span",be," Â "))]))),128))]),"item.price":c(({item:a})=>[(t(!0),o(x,null,F(a.raw.inventories,e=>(t(),o("div",{key:e.id},[e.subTotal?(t(),o("span",Ce,y(("formatCurrency"in l?l.formatCurrency:r(S))(e.subTotal)),1)):(t(),o("span",he,"Â "))]))),128)),(t(!0),o(x,null,F(a.raw.lineItems,e=>(t(),o("div",{key:e.id},[e.unitPrice?(t(),o("span",Re,y(("formatCurrency"in l?l.formatCurrency:r(S))(e.unitPrice)),1)):(t(),o("span",Ve," Â "))]))),128))]),"item.qty":c(({item:a})=>[(t(!0),o(x,null,F(a.raw.inventories,e=>(t(),o("div",{key:e.id},u[1]||(u[1]=[D("span",{class:"trim-text"},"1",-1)])))),128)),(t(!0),o(x,null,F(a.raw.lineItems,e=>(t(),o("div",{key:e.id},[e.quantity?(t(),o("span",Ie,y(e.quantity),1)):(t(),o("span",Ae," 1"))]))),128))]),"item.salestaxrate":c(({item:a})=>[(t(!0),o(x,null,F(a.raw.inventories,e=>(t(),o("div",{key:e.id},[e.salesTaxRate?(t(),o("span",$e,[A(y(e.salesTaxRate)+" % ",1),e.isFetApplied?(t(),o("span",Le," ( FET : 12 % )")):C("",!0)])):(t(),o("span",Pe," 0 %"))]))),128)),(t(!0),o(x,null,F(a.raw.lineItems,e=>(t(),o("div",{key:e.id},[e.salesTaxRate?(t(),o("span",Oe,y(e.salesTaxRate)+" %",1)):(t(),o("span",qe," 0 %"))]))),128))]),"item.salestax":c(({item:a})=>[(t(!0),o(x,null,F(a.raw.inventories,e=>(t(),o("div",{key:e.id},[e.salesTax?(t(),o("span",Be,[A(y(("formatCurrency"in l?l.formatCurrency:r(S))(e.salesTax))+" ",1),e.isFetApplied?(t(),o("span",Me," ( FET : "+y(("formatCurrency"in l?l.formatCurrency:r(S))(e.fet))+" )",1)):C("",!0)])):(t(),o("span",Ue,"Â "))]))),128)),(t(!0),o(x,null,F(a.raw.lineItems,e=>(t(),o("div",{key:e.id},[e.salesTax?(t(),o("span",je,y(("formatCurrency"in l?l.formatCurrency:r(S))(e.salesTax)),1)):(t(),o("span",Ne,"Â "))]))),128))]),"item.cost":c(({item:a})=>[(t(!0),o(x,null,F(a.raw.inventories,e=>(t(),o("div",{key:e.id},[e.totalCost?(t(),o("span",ze,y(("formatCurrency"in l?l.formatCurrency:r(S))(e.totalCost)),1)):(t(),o("span",Ee,y(("formatCurrency"in l?l.formatCurrency:r(S))(0)),1))]))),128)),(t(!0),o(x,null,F(a.raw.lineItems,e=>(t(),o("div",{key:e.id},u[2]||(u[2]=[D("span",{class:"trim-text"},"Â ",-1)])))),128))]),_:2},1032,["modelValue","headers","url","search","query-params"])])}}}),He=O(Ge,[["__scopeId","data-v-ee17d41b"]]);var P={exports:{}},Qe=P.exports,M;function We(){return M||(M=1,(function(n,v){(function(s,m){n.exports=m()})(Qe,(function(){return function(s,m){m.prototype.isSameOrAfter=function(d,l){return this.isSame(d,l)||this.isAfter(d,l)}}}))})(P)),P.exports}var Xe=We();const Ze=Y(Xe),Je={class:"tw-pt-4 tw-my-2"},Ke=L({__name:"CalendarFilterModal",emits:["apply-filter","close-dialog"],setup(n,{emit:v}){h.extend(Ze);const s=U(),m=ee(),d=T({...s.getFilterData}),l=T(!1),u=T(!0),k=v;function a(){u.value=!1,k("close-dialog")}async function e(){if(h(d.value.dateTill).isSameOrAfter(d.value.dateFrom))try{l.value=!0;let f={...s.getFilterData};f.dateFrom=d.value.dateFrom,f.dateTill=d.value.dateTill,s.setFilterData(f),k("apply-filter",d.value),await oe(400),a()}catch(f){console.log(f)}finally{l.value=!1}else m.setToastDetail({type:"error",toastNotice:"To Date Should be greator than or equal to From date"})}function w(f,i){i=="dateFrom"?d.value.dateFrom=f:i=="dateTill"&&(d.value.dateTill=f)}return(f,i)=>{const b=te,R=ue,g=E;return t(),V(g,{modelValue:r(u),"onUpdate:modelValue":i[4]||(i[4]=p=>$(u)?u.value=p:null),entity:"Filter",mode:"",loading:r(l),width:"400px",persistent:"",onClose:i[5]||(i[5]=p=>a())},{footer:c(()=>[_(b,{text:"Apply",type:"submit",class:"bg-success",loading:r(l),disabled:r(l),onClick:e},null,8,["loading","disabled"])]),default:c(()=>[D("div",Je,[_(R,{modelValue:r(d).dateFrom,"onUpdate:modelValue":i[0]||(i[0]=p=>r(d).dateFrom=p),class:"select-field",label:"From Date","menu-icon":"",onSetDate:i[1]||(i[1]=p=>w(p,"dateFrom"))},null,8,["modelValue"]),_(R,{modelValue:r(d).dateTill,"onUpdate:modelValue":i[2]||(i[2]=p=>r(d).dateTill=p),class:"select-field",label:"To","menu-icon":"",onSetDate:i[3]||(i[3]=p=>w(p,"dateTill"))},null,8,["modelValue"])])]),_:1},8,["modelValue","loading"])}}}),Ye=L({__name:"PrintReportModal",emits:["close","confirm"],setup(n,{emit:v}){const s=v,m=T(),d=T(!0),l=()=>{s("close")},u=()=>{s("confirm",m.value)};return(k,a)=>{const e=j,w=ce,f=me,i=E;return t(),V(i,{width:"600","model-value":r(d),"custom-title":"Print/Download Report",onClose:l},{footer:c(()=>[_(e,{variant:"outlined",onClick:l},{default:c(()=>a[1]||(a[1]=[A(" Cancel ")])),_:1}),_(e,{type:"button",disabled:!r(m),onClick:u},{default:c(()=>a[2]||(a[2]=[A(" Continue ")])),_:1},8,["disabled"])]),default:c(()=>[_(ye,null,{default:c(()=>[_(pe,{class:"ma-0"},{default:c(()=>[_(fe,{cols:"12",class:"d-flex flex-column align-center"},{default:c(()=>[_(f,{"model-value":r(m),label:"Please select the option","hide-details":!0,"onUpdate:modelValue":a[0]||(a[0]=b=>m.value=b)},{default:c(()=>[_(w,{label:"PDF",value:r(B).PDF},null,8,["value"]),_(w,{label:"CSV",value:r(B).CSV},null,8,["value"])]),_:1},8,["model-value"])]),_:1})]),_:1})]),_:1})]),_:1},8,["model-value"])}}}),gt=L({__name:"SaleReport",setup(n){const{$repositories:v}=ae(),s=U(),m=T(s.getFilterData),d=T({}),l=T([]),u=T("/unit-sales/reports"),k=[{title:"Sale ID",align:"end",sortable:!1,key:"id",type:"text"},{title:"Completed Date",align:"start",sortable:!1,key:"completedAt",type:"text"},{title:"Sales Person",align:"start",sortable:!1,key:"salesPerson.name",type:"text"},{title:"Buyer Name",align:"start",sortable:!1,key:"buyer.name",type:"text"},{title:"Product Title",align:"start",sortable:!1,key:"producttitle",type:"text"},{title:"Description",align:"start",sortable:!1,key:"description",type:"text"},{title:"Price",align:"start",sortable:!1,key:"price",type:"text"},{title:"Qty",align:"start",sortable:!1,key:"qty",type:"text"},{title:"STR",align:"start",sortable:!1,key:"salestaxrate",type:"text"},{title:"Sales Tax",align:"start",sortable:!1,key:"salestax",type:"text"},{title:"Cost",align:"start",sortable:!1,key:"cost",type:"text"}],a=le({filter:!1,confirm:!1});function e(){a.filter=!0}function w(){a.filter=!1}async function f(){try{const{response:g}=await v.users.fetchAll(!0);l.value=g.data,l.value.unshift({id:"",name:"All Sales Person"})}catch(g){console.log(g)}}function i(){try{s.setApplyLoader(!0),m.value={...s.getFilterData}}catch(g){console.log(g)}finally{s.setApplyLoader(!1)}}async function b(){a.confirm=!0}const R=async g=>
1{try{s.setDownloadLoader(!0);let p={...s.getFilterData};p.type=g;const{response:q}=await v.reports.download(p);window.open(q.url,"_blank")}catch(p){console.log(p)}finally{s.setDownloadLoader(!1),a.confirm=!1}};return re(()=>{f()}),(g,p)=>{const q=ge,z=He,G=Ke,H=Ye;return t(),o(x,null,[_(q,{module:"unit sale",action:"Apply",download:!0,dropdownItems:r(l),onOnSearch:i,onOpenFilterModal:e,onDownloadReport:b},null,8,["dropdownItems"]),_(z,{"filter-status":r(m),url:r(u),headers:k},null,8,["filter-status","url"]),r(a).filter&&r(d)?(t(),V(G,{key:0,"selected-filters":r(d),onCloseDialog:w,onApplyFilter:w},null,8,["selected-filters"])):C("",!0),r(a).confirm?(t(),V(H,{key:1,onConfirm:R,onClose:p[0]||(p[0]=et=>r(a).confirm=!1)})):C("",!0)],64)}}});export{gt 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.