mirror of
https://github.com/InvoiceShelf/InvoiceShelf.git
synced 2026-04-13 08:17:22 +00:00
2 lines
12 KiB
JavaScript
2 lines
12 KiB
JavaScript
import{L as P,aR as O,G as Z,f as x,H as ee,k as p,z as j,Y as ne,r as g,o as y,c as A,b as v,a as i,l as e,t as k,w as c,m as w,K as S,N as G,ap as te,E as ie,ae as re,av as oe,F as ae,a8 as le,u as se,v as ce,e as ue,g as f,h as q,ag as U,X as de,j as ge,J as ve,p as me,q as fe}from"./main-WMXHPsTs.js";import{_ as ye,a as Ie,b as be,c as we,d as _e,e as $e,f as Re}from"./SalesTax-1bCXExhs.js";import{_ as qe}from"./ExchangeRateConverter-G19_Li5d.js";import{_ as pe}from"./CreateCustomFields--vFU38k2.js";import{_ as Be}from"./TaxTypeModal-E-PaOV8a.js";import"./DragIcon-5BDgiv1X.js";import"./SelectNotePopup-wzqC6aO8.js";import"./NoteModal-jScVrYU1.js";import"./payment-41Om6QZO.js";import"./exchange-rate-dmwjabGR.js";import"./dynamic-import-helper-0gtGTknh.js";const Se={class:"col-span-5 pr-0"},he={class:"flex mt-7"},Ce={class:"relative w-20 mt-8"},Ve={class:"ml-2"},Fe={class:"p-0 mb-1 leading-snug text-left text-black"},Le={class:"p-0 m-0 text-xs leading-tight text-left text-gray-500",style:{"max-width":"480px"}},Me={class:"grid grid-cols-1 col-span-7 gap-4 mt-8 lg:gap-6 lg:mt-0 lg:grid-cols-2"},ke={__name:"RecurringInvoiceCreateBasicFields",props:{v:{type:Object,default:null},isLoading:{type:Boolean,default:!1},isEdit:{type:Boolean,default:!1}},setup(n){const r=n,C=P(),t=O(),V=Z(),_=x(!1),N=ee([{label:"None",value:"NONE"},{label:"Date",value:"DATE"},{label:"Count",value:"COUNT"}]),F=p(()=>t.newRecurringInvoice.selectedFrequency&&t.newRecurringInvoice.selectedFrequency.value==="CUSTOM"),u=p(()=>r.isEdit?V.config.recurring_invoice_status.update_status:V.config.recurring_invoice_status.create_status);j(()=>t.newRecurringInvoice.selectedFrequency,a=>{t.isFetchingInitialSettings||(a&&a.value!=="CUSTOM"?t.newRecurringInvoice.frequency=a.value:t.newRecurringInvoice.frequency=null)}),ne(()=>{C.params.id||$()});function d(a){return t.newRecurringInvoice.limit_by===a}const T=te(()=>{$()},500);async function $(){const a=t.newRecurringInvoice.frequency;if(!a)return;_.value=!0;let o={starts_at:t.newRecurringInvoice.starts_at,frequency:a};try{await t.fetchRecurringInvoiceFrequencyDate(o)}catch(B){console.error(B),_.value=!1}_.value=!1}return(a,o)=>{const B=g("BaseCustomerSelectPopup"),R=g("BaseSwitch"),h=g("BaseDatePicker"),m=g("BaseInputGroup"),I=g("BaseMultiselect"),L=g("BaseInput");return y(),A(G,null,[v("div",Se,[i(B,{modelValue:e(t).newRecurringInvoice.customer,"onUpdate:modelValue":o[0]||(o[0]=l=>e(t).newRecurringInvoice.customer=l),valid:n.v.customer_id,"content-loading":n.isLoading,type:"recurring-invoice"},null,8,["modelValue","valid","content-loading"]),v("div",he,[v("div",Ce,[i(R,{modelValue:e(t).newRecurringInvoice.send_automatically,"onUpdate:modelValue":o[1]||(o[1]=l=>e(t).newRecurringInvoice.send_automatically=l),class:"absolute -top-4"},null,8,["modelValue"])]),v("div",Ve,[v("p",Fe,k(a.$t("recurring_invoices.send_automatically")),1),v("p",Le,k(a.$t("recurring_invoices.send_automatically_desc")),1)])])]),v("div",Me,[i(m,{label:a.$t("recurring_invoices.starts_at"),"content-loading":n.isLoading,required:"",error:n.v.starts_at.$error&&n.v.starts_at.$errors[0].$message},{default:c(()=>[i(h,{modelValue:e(t).newRecurringInvoice.starts_at,"onUpdate:modelValue":o[2]||(o[2]=l=>e(t).newRecurringInvoice.starts_at=l),"content-loading":n.isLoading,"calendar-button":!0,"calendar-button-icon":"calendar",invalid:n.v.starts_at.$error,onChange:o[3]||(o[3]=l=>$())},null,8,["modelValue","content-loading","invalid"])]),_:1},8,["label","content-loading","error"]),i(m,{label:a.$t("recurring_invoices.next_invoice_date"),"content-loading":n.isLoading,required:""},{default:c(()=>[i(h,{modelValue:e(t).newRecurringInvoice.next_invoice_at,"onUpdate:modelValue":o[4]||(o[4]=l=>e(t).newRecurringInvoice.next_invoice_at=l),"content-loading":n.isLoading,"calendar-button":!0,disabled:!0,loading:_.value,"calendar-button-icon":"calendar"},null,8,["modelValue","content-loading","loading"])]),_:1},8,["label","content-loading"]),i(m,{label:a.$t("recurring_invoices.limit_by"),"content-loading":n.isLoading,class:"lg:mt-0",required:"",error:n.v.limit_by.$error&&n.v.limit_by.$errors[0].$message},{default:c(()=>[i(I,{modelValue:e(t).newRecurringInvoice.limit_by,"onUpdate:modelValue":o[5]||(o[5]=l=>e(t).newRecurringInvoice.limit_by=l),"content-loading":n.isLoading,options:N,label:"label",invalid:n.v.limit_by.$error,"value-prop":"value"},null,8,["modelValue","content-loading","options","invalid"])]),_:1},8,["label","content-loading","error"]),d("DATE")?(y(),w(m,{key:0,label:a.$t("recurring_invoices.limit_date"),"content-loading":n.isLoading,required:d("DATE"),error:n.v.limit_date.$error&&n.v.limit_date.$errors[0].$message},{default:c(()=>[i(h,{modelValue:e(t).newRecurringInvoice.limit_date,"onUpdate:modelValue":o[6]||(o[6]=l=>e(t).newRecurringInvoice.limit_date=l),"content-loading":n.isLoading,invalid:n.v.limit_date.$error,"calendar-button-icon":"calendar"},null,8,["modelValue","content-loading","invalid"])]),_:1},8,["label","content-loading","required","error"])):S("",!0),d("COUNT")?(y(),w(m,{key:1,label:a.$t("recurring_invoices.count"),"content-loading":n.isLoading,required:d("COUNT"),error:n.v.limit_count.$error&&n.v.limit_count.$errors[0].$message},{default:c(()=>[i(L,{modelValue:e(t).newRecurringInvoice.limit_count,"onUpdate:modelValue":o[7]||(o[7]=l=>e(t).newRecurringInvoice.limit_count=l),"content-loading":n.isLoading,invalid:n.v.limit_count.$error,type:"number"},null,8,["modelValue","content-loading","invalid"])]),_:1},8,["label","content-loading","required","error"])):S("",!0),i(m,{label:a.$t("recurring_invoices.status"),required:"","content-loading":n.isLoading,error:n.v.status.$error&&n.v.status.$errors[0].$message},{default:c(()=>[i(I,{modelValue:e(t).newRecurringInvoice.status,"onUpdate:modelValue":o[8]||(o[8]=l=>e(t).newRecurringInvoice.status=l),options:u.value,"content-loading":n.isLoading,invalid:n.v.status.$error,placeholder:a.$t("recurring_invoices.select_a_status"),"value-prop":"value",label:"value"},null,8,["modelValue","options","content-loading","invalid","placeholder"])]),_:1},8,["label","content-loading","error"]),i(m,{label:a.$t("recurring_invoices.frequency.select_frequency"),required:"","content-loading":n.isLoading,error:n.v.selectedFrequency.$error&&n.v.selectedFrequency.$errors[0].$message},{default:c(()=>[i(I,{modelValue:e(t).newRecurringInvoice.selectedFrequency,"onUpdate:modelValue":o[9]||(o[9]=l=>e(t).newRecurringInvoice.selectedFrequency=l),"content-loading":n.isLoading,options:e(t).frequencies,label:"label",invalid:n.v.selectedFrequency.$error,object:"",onChange:$},null,8,["modelValue","content-loading","options","invalid"])]),_:1},8,["label","content-loading","error"]),F.value?(y(),w(m,{key:2,label:a.$t("recurring_invoices.frequency.title"),"content-loading":n.isLoading,required:"",error:n.v.frequency.$error&&n.v.frequency.$errors[0].$message},{default:c(()=>[i(L,{modelValue:e(t).newRecurringInvoice.frequency,"onUpdate:modelValue":[o[10]||(o[10]=l=>e(t).newRecurringInvoice.frequency=l),e(T)],"content-loading":n.isLoading,disabled:!F.value,invalid:n.v.frequency.$error,loading:_.value},null,8,["modelValue","content-loading","disabled","invalid","loading","onUpdate:modelValue"])]),_:1},8,["label","content-loading","error"])):S("",!0),i(qe,{store:e(t),"store-prop":"newRecurringInvoice",v:n.v,"is-loading":n.isLoading,"is-edit":n.isEdit,"customer-currency":e(t).newRecurringInvoice.currency_id},null,8,["store","v","is-loading","is-edit","customer-currency"])])],64)}}},Ne={class:"flex"},Te={class:"grid-cols-12 gap-8 mt-6 mb-8 lg:grid"},Ue={class:"block mt-10 invoice-foot lg:flex lg:justify-between lg:items-start"},Ee={class:"w-full relative lg:w-1/2"},E="newRecurringInvoice",Ke={__name:"RecurringInvoiceCreate",setup(n){const r=O(),C=ie(),t=re(),V=oe(),_=ae(),N=le(),F=se(),{t:u}=ce.useI18n();let d=x(!1);const T=x(["customer","company","customerCustom","invoice","invoiceCustom"]);let $=P(),a=ue(),o=p(()=>r.isFetchingInvoice||r.isFetchingInitialSettings),B=p(()=>R.value?u("recurring_invoices.edit_invoice"):u("recurring_invoices.new_invoice")),R=p(()=>$.name==="recurring-invoices.edit");const h=p(()=>C.selectedCompanySettings.sales_tax_us_enabled==="YES"&&V.salesTaxUSEnabled),m={starts_at:{required:f.withMessage(u("validation.required"),q)},status:{required:f.withMessage(u("validation.required"),q)},frequency:{required:f.withMessage(u("validation.required"),q)},limit_by:{required:f.withMessage(u("validation.required"),q)},limit_date:{required:f.withMessage(u("validation.required"),U(function(){return r.newRecurringInvoice.limit_by==="DATE"}))},limit_count:{required:f.withMessage(u("validation.required"),U(function(){return r.newRecurringInvoice.limit_by==="COUNT"}))},selectedFrequency:{required:f.withMessage(u("validation.required"),q)},customer_id:{required:f.withMessage(u("validation.required"),q)},exchange_rate:{required:U(function(){return f.withMessage(u("validation.required"),q),r.showExchangeRate}),decimal:f.withMessage(u("validation.valid_exchange_rate"),de)}},I=ge(m,p(()=>r.newRecurringInvoice),{$scope:E});r.resetCurrentRecurringInvoice(),r.fetchRecurringInvoiceInitialSettings(R.value),t.resetCustomFields(),I.value.$reset,j(()=>r.newRecurringInvoice.customer,s=>{s&&s.currency?r.newRecurringInvoice.currency=s.currency:r.newRecurringInvoice.currency=C.selectedCompanyCurrency});async function L(){if(I.value.$touch(),I.value.$invalid)return!1;d.value=!0;let s={...r.newRecurringInvoice,sub_total:r.getSubTotal,total:r.getTotal,tax:r.getTotalTax};if(s.customer&&!s.customer.email&&s.send_automatically){F.showNotification({type:"error",message:u("recurring_invoices.add_customer_email")}),l(),d.value=!1;return}$.params.id?r.updateRecurringInvoice(s).then(b=>{b.data.data&&a.push(`/admin/recurring-invoices/${b.data.data.id}/view`),d.value=!1}).catch(b=>{d.value=!1}):H(s)}async function l(){let s=r.newRecurringInvoice.customer.id;await N.fetchCustomer(s),_.openModal({title:u("customers.edit_customer"),componentName:"CustomerModal"})}function H(s){r.addRecurringInvoice(s).then(b=>{b.data.data&&a.push(`/admin/recurring-invoices/${b.data.data.id}/view`),d.value=!1}).catch(b=>{d.value=!1})}return(s,b)=>{const M=g("BaseBreadcrumbItem"),z=g("BaseBreadcrumb"),D=g("BaseButton"),Y=g("router-link"),J=g("BaseIcon"),K=g("BasePageHeader"),X=g("BaseScrollPane"),Q=g("BasePage");return y(),A(G,null,[i(ye),i(Ie),i(Be),h.value&&!e(o)?(y(),w(be,{key:0,store:e(r),"store-prop":"newRecurringInvoice","is-edit":e(R),customer:e(r).newRecurringInvoice.customer},null,8,["store","is-edit","customer"])):S("",!0),i(Q,{class:"relative invoice-create-page"},{default:c(()=>[v("form",{onSubmit:fe(L,["prevent"])},[i(K,{title:e(B)},{actions:c(()=>[i(Y,{to:`/invoices/pdf/${e(r).newRecurringInvoice.unique_hash}`},{default:c(()=>[s.$route.name==="invoices.edit"?(y(),w(D,{key:0,target:"_blank",class:"mr-3",variant:"primary-outline",type:"button"},{default:c(()=>[v("span",Ne,k(s.$t("general.view_pdf")),1)]),_:1})):S("",!0)]),_:1},8,["to"]),i(D,{loading:e(d),disabled:e(d),variant:"primary",type:"submit"},{left:c(W=>[e(d)?S("",!0):(y(),w(J,{key:0,name:"SaveIcon",class:ve(W.class)},null,8,["class"]))]),default:c(()=>[me(" "+k(s.$t("recurring_invoices.save_invoice")),1)]),_:1},8,["loading","disabled"])]),default:c(()=>[i(z,null,{default:c(()=>[i(M,{title:s.$t("general.home"),to:"/admin/dashboard"},null,8,["title"]),i(M,{title:s.$t("recurring_invoices.title",2),to:"/admin/recurring-invoices"},null,8,["title"]),s.$route.name==="invoices.edit"?(y(),w(M,{key:0,title:s.$t("recurring_invoices.edit_invoice"),to:"#",active:""},null,8,["title"])):(y(),w(M,{key:1,title:e(B),to:"#",active:""},null,8,["title"]))]),_:1})]),_:1},8,["title"]),v("div",Te,[i(ke,{v:e(I),"is-loading":e(o),"is-edit":e(R)},null,8,["v","is-loading","is-edit"])]),i(X,null,{default:c(()=>[i(we,{currency:e(r).newRecurringInvoice.currency,"is-loading":e(o),"item-validation-scope":E,store:e(r),"store-prop":"newRecurringInvoice"},null,8,["currency","is-loading","store"]),v("div",Ue,[v("div",Ee,[i(_e,{store:e(r),"store-prop":"newRecurringInvoice",fields:T.value,type:"Invoice"},null,8,["store","fields"]),i(pe,{type:"Invoice","is-edit":e(R),"is-loading":e(o),store:e(r),"store-prop":"newRecurringInvoice","custom-field-scope":E,class:"mb-6"},null,8,["is-edit","is-loading","store"]),i($e,{store:e(r),"store-prop":"newRecurringInvoice"},null,8,["store"])]),i(Re,{currency:e(r).newRecurringInvoice.currency,"is-loading":e(o),store:e(r),"store-prop":"newRecurringInvoice","tax-popup-type":"invoice"},null,8,["currency","is-loading","store"])])]),_:1})],32)]),_:1})],64)}}};export{Ke as default};
|