mirror of
https://github.com/beak-insights/felicity-lims.git
synced 2025-02-24 00:42:59 +08:00
1 line
8.5 KiB
JavaScript
1 line
8.5 KiB
JavaScript
import{d as te,bk as se,s as oe,y as ae,r as ne,m as le,z as R,o as r,c as u,b as e,e as c,f as t,g as C,F as ie,E as de,I as p,t as d,i as m,D as j,A as re,B as Y,v as D,at as I,w as ce,j as P,_ as O,M as ue,aB as N,G as me,H as _e,k as pe}from"./index-e62f5c21.js";import{b as he,E as be}from"./billing.mutations-21fddd5d.js";import{c as fe,a as L,f as q,d as xe,g as A,u as ye,b as _}from"./array-4296cccc.js";const n=h=>(me("data-v-3f30ca74"),h=h(),_e(),h),ge={class:"mt-4"},ve=n(()=>e("hr",null,null,-1)),ke={class:"grid grid-cols-12 gap-4 mt-2"},we={initial:{opacity:0,y:100},enter:{opacity:1,y:0,scale:1},variants:{custom:{scale:2}},delay:400,class:"col-span-3 overflow-y-scroll overscroll-contain voucher-scroll"},Ve={key:0,class:"py-4 text-center bg-white w-full mb-1 rounded-sm shadow border"},De={key:1},Ce=["onClick"],Pe={class:"flex-grow p-1"},Oe={class:"font-semibold text-gray-800 flex justify-between"},Le={class:"text-sm text-gray-500"},Ue={key:0,initial:{opacity:0,y:-100},enter:{opacity:1,y:0,scale:1},variants:{custom:{scale:2}},delay:400,class:"col-span-9"},Ee={class:"bg-white rounded-sm shadow-sm hover:shadow-xs duration-500 px-4 sm:px-6 md:px-2 py-4"},Se={class:"flex justify-between items-center"},Me={class:"text-gray-800 text-l font-bold"},Re=n(()=>e("hr",null,null,-1)),je={class:"grid grid-cols-3 gap-x-8"},Ye={class:"col-span-1"},Ie={class:"flex justify-between items-center mt-2"},Ne=n(()=>e("span",{class:"text-gray-800 text-sm font-semibold"},"Start Date:",-1)),qe={class:"text-gray-600 text-sm md:text-md"},Ae={class:"flex justify-between items-center mt-2"},Fe=n(()=>e("span",{class:"text-gray-800 text-sm font-semibold"},"End Date:",-1)),Be={class:"text-gray-600 text-sm md:text-md"},Te={class:"col-span-1"},$e={class:"flex justify-between items-center mt-2"},He=n(()=>e("span",{class:"text-gray-800 text-sm font-semibold"},"Usage Limit:",-1)),ze={class:"text-gray-600 text-sm md:text-md"},Ge={class:"flex justify-between items-center mt-2"},We=n(()=>e("span",{class:"text-gray-800 text-sm font-semibold"},"Used:",-1)),Je={class:"text-gray-600 text-sm md:text-md"},Ke={class:"col-span-1"},Qe={class:"flex justify-between items-center mt-2"},Xe=n(()=>e("span",{class:"text-gray-800 text-sm font-semibold"},"Once per customer:",-1)),Ze={class:"text-gray-600 text-sm md:text-md"},et={class:"flex justify-between items-center mt-2"},tt=n(()=>e("span",{class:"text-gray-800 text-sm font-semibold"},"Once per order:",-1)),st={class:"text-gray-600 text-sm md:text-md"},ot=n(()=>e("h3",null,"Voucher Form",-1)),at={class:"grid grid-cols-4 gap-x-4 mb-4"},nt={class:"block col-span-2 mb-2"},lt=n(()=>e("span",{class:"text-gray-700"},"Voucher Name",-1)),it={class:"block col-span-1 mb-2"},dt=n(()=>e("span",{class:"text-gray-700"},"Start Date",-1)),rt={class:"block col-span-1 mb-2"},ct=n(()=>e("span",{class:"text-gray-700"},"End Date",-1)),ut={class:"grid grid-cols-4 gap-x-4 mb-4"},mt={class:"block col-span-2 mb-2"},_t=n(()=>e("span",{class:"text-gray-700"},"Usage Limit",-1)),pt={class:"grid grid-cols-2 gap-x-4 mb-4"},ht={class:"block col-span-1 mb-2"},bt=n(()=>e("span",{class:"text-gray-700"},"Once Per Customer",-1)),ft={class:"block col-span-1 mb-2"},xt=n(()=>e("span",{class:"text-gray-700"},"Once Per Order",-1)),yt=n(()=>e("hr",null,null,-1)),gt=te({__name:"Voucher",setup(h){const F=P(()=>O(()=>import("./FelLoadingMessage-b4229f94.js"),["assets/FelLoadingMessage-b4229f94.js","assets/index-e62f5c21.js","assets/index-332ec99e.css"])),B=P(()=>O(()=>import("./FelModal-44636049.js"),["assets/FelModal-44636049.js","assets/index-e62f5c21.js","assets/index-332ec99e.css","assets/FelModal-780aeea9.css"])),T=P(()=>O(()=>import("./VoucherCodes-bcee3718.js"),["assets/VoucherCodes-bcee3718.js","assets/index-e62f5c21.js","assets/index-332ec99e.css","assets/billing.mutations-21fddd5d.js","assets/array-4296cccc.js","assets/VoucherCodes-bd5edd75.css"])),{withClientMutation:U}=ue();let b=se();const{vouchers:E,fetchingVouchers:$}=oe(b);ae(()=>{b.fetchVouchers()});let i=ne(!1);const H=fe({uid:L().nullable(),name:L().required("Voucher Name is Required"),startDate:q().required("Start Date is Required"),endDate:q().required("End Date is Required"),usageLimit:xe().required("Usage Limit is Required"),used:L().nullable(),oncePerCustomer:A().default(!0),oncePerOrder:A().default(!0)}),{handleSubmit:z,errors:f,setFieldValue:l}=ye({validationSchema:H,initialValues:{oncePerCustomer:!0,oncePerOrder:!0}}),{value:x}=_("uid"),{value:y}=_("name"),{value:g}=_("startDate"),{value:v}=_("endDate"),{value:k}=_("usageLimit"),{value:G}=_("used"),{value:w}=_("oncePerCustomer"),{value:V}=_("oncePerOrder"),S=z(a=>{a.uid||Q(a),a.uid&&X(a)});let W=a=>{l("uid",a.uid),l("name",a.name),l("startDate",N(a.startDate,"DD/MM/YYYY")),l("endDate",N(a.endDate,"DD/MM/YYYY")),l("usageLimit",a.usageLimit),l("used",a.used),l("oncePerCustomer",a.oncePerCustomer),l("oncePerOrder",a.oncePerOrder)},J=()=>{l("uid",void 0),l("name",void 0),l("startDate",void 0),l("endDate",void 0),l("usageLimit",void 0),l("oncePerCustomer",!0),l("oncePerOrder",!0)};const K=()=>{J(),i.value=!0},Q=a=>{delete a.uid,U(he,{payload:a},"createVoucher").then(s=>b.addVoucher(s)).finally(()=>i.value=!1)},X=a=>{delete a.uid,delete a.used,U(be,{uid:x?.value,payload:a},"updateVoucher").then(s=>b.updateVoucher(s)).finally(()=>i.value=!1)};return(a,s)=>{const Z=le("font-awesome-icon"),M=R("motion"),ee=R("motion-slide-top");return r(),u("div",ge,[e("div",{class:"flex justify-between"},[e("button",{class:"px-4 my-2 p-1 text-sm border-sky-800 border text-dark-700 transition-colors duration-150 rounded-sm focus:outline-none hover:bg-sky-800 hover:text-gray-100",onClick:K}," Add Voucher ")]),ve,e("div",ke,[c((r(),u("section",we,[t($)?(r(),u("div",Ve,[C(t(F),{message:"Fetching vouchers ..."})])):(r(),u("div",De,[(r(!0),u(ie,null,de(t(E),o=>(r(),u("a",{key:o.uid,onClick:vt=>t(W)(o),class:p(["bg-white w-full flex items-center p-1 mb-1 rounded-sm shadow border",{"border-sky-800 bg-emerald-200":o.uid===t(x)}])},[e("div",Pe,[e("div",Oe,[e("span",null,d(o.name),1),e("span",Le,d(o.used)+" of "+d(o.usageLimit),1)])])],10,Ce))),128))]))])),[[M]]),t(E)?.length>0&&t(x)?c((r(),u("section",Ue,[c((r(),u("div",Ee,[e("div",Se,[e("h4",Me,d(t(y)?.toUpperCase()),1),e("a",{onClick:s[0]||(s[0]=o=>m(i)?i.value=!0:i=!0),class:"px-2 cursor text-gray-400 hover:text-gray-900"},[C(Z,{icon:"pen"})])]),Re,e("section",je,[e("div",Ye,[e("div",Ie,[Ne,e("span",qe,d(t(g)),1)]),e("div",Ae,[Fe,e("span",Be,d(t(v)),1)])]),e("div",Te,[e("div",$e,[He,e("span",ze,d(t(k)),1)]),e("div",Ge,[We,e("span",Je,d(t(G)),1)])]),e("div",Ke,[e("div",Qe,[Xe,e("span",Ze,d(t(w)?"Yes":"No"),1)]),e("div",et,[tt,e("span",st,d(t(V)?"Yes":"No"),1)])])])])),[[ee]]),C(t(T),{voucherUid:t(x)},null,8,["voucherUid"])])),[[M]]):j("",!0)]),t(i)?(r(),re(t(B),{key:0,onClose:s[8]||(s[8]=o=>m(i)?i.value=!1:i=!1),contentWidth:"w-2/6"},{header:Y(()=>[ot]),body:Y(()=>[e("form",null,[e("div",at,[e("label",nt,[lt,c(e("input",{class:p(["form-input mt-1 block w-full",{"border-red-500 animate-pulse":t(f).name}]),type:"text","onUpdate:modelValue":s[1]||(s[1]=o=>m(y)?y.value=o:null),placeholder:"Name ..."},null,2),[[D,t(y)]])]),e("label",it,[dt,c(e("input",{class:p(["form-input mt-1 block w-full",{"border-red-500 animate-pulse":t(f).startDate}]),type:"date","onUpdate:modelValue":s[2]||(s[2]=o=>m(g)?g.value=o:null)},null,2),[[D,t(g)]])]),e("label",rt,[ct,c(e("input",{class:p(["form-input mt-1 block w-full",{"border-red-500 animate-pulse":t(f).endDate}]),type:"date","onUpdate:modelValue":s[3]||(s[3]=o=>m(v)?v.value=o:null)},null,2),[[D,t(v)]])])]),e("div",ut,[e("label",mt,[_t,c(e("input",{class:p(["form-input mt-1 block w-full",{"border-red-500 animate-pulse":t(f).usageLimit}]),type:"number",min:"1","onUpdate:modelValue":s[4]||(s[4]=o=>m(k)?k.value=o:null)},null,2),[[D,t(k)]])])]),e("div",pt,[e("label",ht,[bt,c(e("input",{class:"form-checkbox ml-4",type:"checkbox","onUpdate:modelValue":s[5]||(s[5]=o=>m(w)?w.value=o:null),checked:""},null,512),[[I,t(w)]])]),e("label",ft,[xt,c(e("input",{class:"form-checkbox ml-4",type:"checkbox","onUpdate:modelValue":s[6]||(s[6]=o=>m(V)?V.value=o:null),checked:""},null,512),[[I,t(V)]])])]),yt,e("button",{type:"submit",class:"-mb-4 border border-sky-800 bg-sky-800 text-white rounded-sm px-2 py-1 mt-2 transition-colors duration-500 ease select-none hover:bg-sky-800 focus:outline-none focus:shadow-outline",onClick:s[7]||(s[7]=ce((...o)=>t(S)&&t(S)(...o),["prevent"]))}," Save Voucher ")])]),_:1})):j("",!0)])}}});const Dt=pe(gt,[["__scopeId","data-v-3f30ca74"],["__file","/home/aurthurm/Documents/Development/felicity/felicity-lims/webapp/views/admin/billing/Voucher.vue"]]);export{Dt as default};
|