ruạṛ
import{u as A,x as P,fn as z,d as $,j as u,c as a,C as V,bv as c,H,fo as q,cs as x,bf as R,h as w,ay as j,d5 as D,cO as O,cp as W,fp as Q,cN as U,cB as X,bo as G,bk as J,cC as E,cD as F,ct as v,L as Y,cu as N,dw as K,A as Z,bY as ee,p,bA as M,i as ae,aq as ne,D as te,fq as re}from"./bundle.9abe88c8.js";import{P as ie}from"./ProjectSelector-720c414a.js";import{C as se}from"./ClientActionButtons-a4f20d96.js";import{P as le}from"./PaymentTypeSelector-511a774a.js";import{u as oe}from"./useResolveCurrencySeparator-a8afdb2f.js";const ce=["tax_name1","tax_name2","tax_name3"];function fe(f){var g,T,B,o,b,k;const[i]=A(),{expense:e,handleChange:t,taxInputType:l,pageType:d,errors:r}=f,s=P(),{data:m}=z({status:["active"]}),h=$(),y=K(),_=()=>!!(s.enabled_expense_tax_rates===0&&(e!=null&&e.tax_name1||e!=null&&e.tax_name2||e!=null&&e.tax_name3)),C=()=>m&&e?ce.map(n=>{const I=n.replace("name","rate"),L=n.replace("name","amount");if(e[n]&&!m.data.data.some(S=>(S.rate===e[I]||S.rate===e[L])&&S.name===e[n])){const S=e[I]||e[L];return`${e[n]}||${S}%`}return""}).filter(n=>n):[];return u("div",{className:"flex flex-col space-y-4",children:[e&&a(V,{children:a(c,{leftSide:i("expense_total"),withoutWrappingLeftSide:!0,children:h(y(e),(g=e.client)==null?void 0:g.country_id,e.currency_id||((T=e.client)==null?void 0:T.settings.currency_id))})}),u(V,{title:i("details"),isLoading:!e,children:[e&&d==="edit"&&u(H,{children:[a(c,{leftSide:i("status"),children:a(q,{entity:e})}),a(c,{leftSide:i("expense_number"),children:a(x,{id:"number",value:e.number,onValueChange:n=>t("number",n),errorMessage:r==null?void 0:r.errors.number})})]}),e&&a(c,{leftSide:u("div",{className:"flex items-center space-x-2",children:[a("span",{children:i("vendor")}),e.vendor_id&&a(R,{to:w("/vendors/:id",{id:e.vendor_id}),target:"_blank",children:a(j,{element:D,size:18})})]}),children:a(O,{value:e.vendor_id,onChange:n=>t("vendor_id",n.id),onClearButtonClick:()=>t("vendor_id",""),errorMessage:r==null?void 0:r.errors.vendor_id})}),e&&a(c,{leftSide:i("client"),children:u("div",{className:"flex flex-col space-y-2",children:[a(W,{value:e.client_id,clearButton:!!e.client_id,onClearButtonClick:()=>t("client_id",""),onChange:n=>t("client_id",n.id),errorMessage:r==null?void 0:r.errors.client_id}),e.client_id&&a(se,{clientId:e.client_id})]})}),e&&a(c,{leftSide:u("div",{className:"flex items-center space-x-2",children:[a("span",{children:i("project")}),e.project_id&&a(R,{to:w("/projects/:id",{id:e.project_id}),target:"_blank",children:a(j,{element:D,size:18})})]}),children:a(ie,{value:e.project_id,clearButton:!!e.project_id,onClearButtonClick:()=>t("project_id",""),onChange:n=>t("project_id",n.id),errorMessage:r==null?void 0:r.errors.project_id})}),e&&a(c,{leftSide:i("category"),children:a(Q,{value:e.category_id,onClearButtonClick:()=>t("category_id",""),onChange:n=>t("category_id",n.id),errorMessage:r==null?void 0:r.errors.category_id})}),e&&a(c,{leftSide:i("user"),children:a(U,{value:e.assigned_user_id,clearButton:!!e.assigned_user_id,onClearButtonClick:()=>t("assigned_user_id",""),onChange:n=>t("assigned_user_id",n.id),errorMessage:r==null?void 0:r.errors.assigned_user_id})}),_()&&u("div",{className:"flex items-center space-x-3 px-6",children:[a("div",{children:a(j,{element:X,size:20,color:"orange"})}),a("div",{className:"text-sm font-medium",children:G(i("hidden_taxes_warning"),":link",()=>a(J,{to:"/settings/tax_settings",children:i("settings")}))})]}),!!C().length&&a(c,{leftSide:i("taxes"),children:C().map(n=>u("div",{className:"flex items-center space-x-2",children:[n.split("||")[0]&&a("span",{children:n.split("||")[0]}),a("span",{children:n.split("||")[1]})]},n))}),e&&(s==null?void 0:s.enabled_expense_tax_rates)>0&&l==="by_rate"&&a(c,{leftSide:i("tax"),children:a(E,{defaultValue:F(e,"tax_name1"),onClearButtonClick:()=>{t("tax_name1",""),t("tax_rate1",0)},onChange:n=>{n.resource&&t("tax_rate1",n.resource.rate),n.resource&&t("tax_name1",n.resource.name)},onTaxCreated:n=>{t("tax_rate1",n.rate),t("tax_name1",n.name)}})}),e&&(s==null?void 0:s.enabled_expense_tax_rates)>0&&l==="by_amount"&&a(c,{leftSide:i("tax"),children:u("div",{className:"flex flex-col xl:flex-row xl:items-center space-y-4 xl:space-y-0 xl:space-x-4",children:[a(x,{label:i("tax_name"),value:e.tax_name1,onValueChange:n=>t("tax_name1",n),errorMessage:r==null?void 0:r.errors.tax_name1,cypressRef:"taxNameByAmount1"}),a(v,{label:i("tax_amount"),value:e.tax_amount1||"",onValueChange:n=>t("tax_amount1",parseFloat(n)),errorMessage:r==null?void 0:r.errors.tax_amount1,cypressRef:"taxRateByAmount1"})]})}),e&&(s==null?void 0:s.enabled_expense_tax_rates)>1&&l==="by_rate"&&a(c,{leftSide:i("tax"),children:a(E,{defaultValue:F(e,"tax_name2"),onClearButtonClick:()=>{t("tax_name2",""),t("tax_rate2",0)},onChange:n=>{n.resource&&t("tax_rate2",n.resource.rate),n.resource&&t("tax_name2",n.resource.name)},onTaxCreated:n=>{t("tax_rate2",n.rate),t("tax_name2",n.name)}})}),e&&(s==null?void 0:s.enabled_expense_tax_rates)>1&&l==="by_amount"&&a(c,{leftSide:i("tax"),children:u("div",{className:"flex flex-col xl:flex-row xl:items-center space-y-4 xl:space-y-0 xl:space-x-4",children:[a(x,{label:i("tax_name"),value:e.tax_name2,onValueChange:n=>t("tax_name2",n),errorMessage:r==null?void 0:r.errors.tax_name2,cypressRef:"taxNameByAmount2"}),a(v,{label:i("tax_amount"),value:e.tax_amount2||"",onValueChange:n=>t("tax_amount2",parseFloat(n)),errorMessage:r==null?void 0:r.errors.tax_amount2,cypressRef:"taxRateByAmount2"})]})}),e&&(s==null?void 0:s.enabled_expense_tax_rates)>2&&l==="by_rate"&&a(c,{leftSide:i("tax"),children:a(E,{defaultValue:F(e,"tax_name3"),onClearButtonClick:()=>{t("tax_name3",""),t("tax_rate3",0)},onChange:n=>{n.resource&&t("tax_rate3",n.resource.rate),n.resource&&t("tax_name3",n.resource.name)},onTaxCreated:n=>{t("tax_rate3",n.rate),t("tax_name3",n.name)}})}),e&&(s==null?void 0:s.enabled_expense_tax_rates)>2&&l==="by_amount"&&a(c,{leftSide:i("tax"),children:u("div",{className:"flex flex-col xl:flex-row xl:items-center space-y-4 xl:space-y-0 xl:space-x-4",children:[a(x,{label:i("tax_name"),value:e.tax_name3,onValueChange:n=>t("tax_name3",n),errorMessage:r==null?void 0:r.errors.tax_name3}),a(v,{label:i("tax_amount"),value:e.tax_amount3||"",onValueChange:n=>t("tax_amount3",parseFloat(n)),errorMessage:r==null?void 0:r.errors.tax_amount3})]})}),e&&a(c,{leftSide:i("amount"),children:a(v,{value:e.amount||"",onValueChange:n=>t("amount",parseFloat(n)||0),errorMessage:r==null?void 0:r.errors.amount})}),e&&a(c,{leftSide:i("currency"),children:a(Y,{value:e.currency_id,onChange:n=>t("currency_id",n),errorMessage:r==null?void 0:r.errors.currency_id,dismissable:!0})}),e&&a(c,{leftSide:i("date"),children:a(x,{type:"date",onValueChange:n=>t("date",n),errorMessage:r==null?void 0:r.errors.date,value:e.date})}),e&&((B=s==null?void 0:s.custom_fields)==null?void 0:B.expense1)&&a(N,{field:"expense1",defaultValue:e.custom_value1||"",value:s.custom_fields.expense1,onValueChange:n=>t("custom_value1",String(n))}),e&&((o=s==null?void 0:s.custom_fields)==null?void 0:o.expense2)&&a(N,{field:"expense2",defaultValue:e.custom_value2||"",value:s.custom_fields.expense2,onValueChange:n=>t("custom_value2",String(n))}),e&&((b=s==null?void 0:s.custom_fields)==null?void 0:b.expense3)&&a(N,{field:"expense3",defaultValue:e.custom_value3||"",value:s.custom_fields.expense3,onValueChange:n=>t("custom_value3",String(n))}),e&&((k=s==null?void 0:s.custom_fields)==null?void 0:k.expense4)&&a(N,{field:"expense4",defaultValue:e.custom_value4||"",value:s.custom_fields.expense4,onValueChange:n=>t("custom_value4",String(n))})]})]})}function he(f){const[i]=A(),{expense:e,handleChange:t,errors:l}=f;return u(V,{title:i("notes"),isLoading:!e,withContainer:!0,children:[e&&a(x,{value:e.public_notes,label:i("public_notes"),element:"textarea",onValueChange:d=>t("public_notes",d),errorMessage:l==null?void 0:l.errors.public_notes}),e&&a(x,{value:e.private_notes,label:i("private_notes"),element:"textarea",onValueChange:d=>t("private_notes",d),errorMessage:l==null?void 0:l.errors.private_notes})]})}function ge(f){const[i]=A(),{expense:e,handleChange:t,errors:l}=f,d=P(),r=Z(),s=ee(),m=oe(),[h,y]=p.useState({decimalSeparator:",",precision:2,thousandSeparator:"."}),[_,C]=p.useState(),g=()=>!!(e!=null&&e.payment_type_id)||!!(e!=null&&e.payment_date)||!!(e!=null&&e.transaction_reference),T=o=>{if(!o){t("payment_date",""),t("payment_type_id",""),t("transaction_reference","");return}t("payment_date",ae().format("YYYY-MM-DD"))},B=o=>{e&&o?(t("foreign_amount",o),e.amount&&t("exchange_rate",o/e.amount)):t("foreign_amount",0)};return p.useEffect(()=>{e&&e.exchange_rate&&e.invoice_currency_id?t("foreign_amount",e.amount*e.exchange_rate):t("foreign_amount",0)},[e==null?void 0:e.amount]),p.useEffect(()=>{if(e)if(t("invoice_currency_id",e.invoice_currency_id),e.invoice_currency_id&&e.currency_id){const o=s(e.invoice_currency_id),b=s(e.currency_id);if(o&&b){const k=o.exchange_rate/b.exchange_rate;t("exchange_rate",k)}}else t("foreign_amount",0),t("exchange_rate",1);else t("foreign_amount",0),t("exchange_rate",1);if(e!=null&&e.invoice_currency_id){const o=m(e.invoice_currency_id);o&&y(o)}},[e==null?void 0:e.invoice_currency_id,e==null?void 0:e.currency_id]),p.useEffect(()=>{e&&e.exchange_rate?e.amount&&e.invoice_currency_id&&t("foreign_amount",e.amount*e.exchange_rate):(t("exchange_rate",1),t("foreign_amount",0))},[e==null?void 0:e.exchange_rate]),p.useEffect(()=>{e&&typeof _>"u"&&C(!!(d!=null&&d.convert_expense_currency)||!!(e!=null&&e.foreign_amount))},[e]),u(V,{title:i("additional_info"),isLoading:!e,children:[e&&a(c,{leftSide:i("should_be_invoiced"),leftSideHelp:i("mark_invoiceable_help"),children:a(M,{checked:e.should_be_invoiced,onChange:o=>t("should_be_invoiced",o),cypressRef:"shouldBeInvoicedToggle"})}),e&&a(c,{leftSide:i("mark_paid"),leftSideHelp:i("mark_paid_help"),children:a(M,{checked:g(),onChange:T,cypressRef:"markPaidToggle"})}),e&&g()&&a(c,{leftSide:i("payment_type"),children:a(le,{value:e.payment_type_id,onChange:o=>t("payment_type_id",o),errorMessage:l==null?void 0:l.errors.payment_type_id})}),e&&g()&&a(c,{leftSide:i("date"),children:a(x,{type:"date",value:e.payment_date,onValueChange:o=>t("payment_date",o),errorMessage:l==null?void 0:l.errors.payment_date})}),e&&g()&&a(c,{leftSide:i("transaction_reference"),children:a(x,{value:e.transaction_reference,onValueChange:o=>t("transaction_reference",o),errorMessage:l==null?void 0:l.errors.transaction_reference})}),e&&a(c,{leftSide:i("convert_currency"),leftSideHelp:i("convert_expense_currency_help"),children:a(M,{checked:_||!1,onChange:o=>C(o),cypressRef:"convertCurrencyToggle"})}),e&&_&&u(H,{children:[a(c,{leftSide:i("currency"),children:a(Y,{value:e.invoice_currency_id,onChange:o=>t("invoice_currency_id",o),dismissable:!0,errorMessage:l==null?void 0:l.errors.invoice_currency_id})}),a(c,{leftSide:i("exchange_rate"),children:a(v,{value:e.exchange_rate||"",onValueChange:o=>t("exchange_rate",parseFloat(o)),errorMessage:l==null?void 0:l.errors.exchange_rate,disablePrecision:!0})}),a(c,{leftSide:i("converted_amount"),children:a(v,{border:!0,precision:r!=null&&r.number_precision&&(r==null?void 0:r.number_precision)>0&&(r==null?void 0:r.number_precision)<=100?r.number_precision:(h==null?void 0:h.precision)||2,className:"auto",value:(e.foreign_amount||0).toString(),onValueChange:o=>B(parseFloat(o)),errorMessage:l==null?void 0:l.errors.foreign_amount,disablePrecision:!0})})]}),e&&a(c,{leftSide:i("add_documents_to_invoice"),leftSideHelp:i("add_documents_to_invoice_help"),children:a(M,{checked:e.invoice_documents,onChange:o=>t("invoice_documents",o),cypressRef:"addDocumentsToInvoiceToggle"})})]})}function pe(f){const[i]=A(),{isAdmin:e,isOwner:t}=ne(),{expense:l,handleChange:d,taxInputType:r,setTaxInputType:s}=f,m=P(),h=_=>{_==="by_amount"?(d("tax_rate1",0),d("tax_rate2",0),d("tax_rate3",0)):(d("tax_amount1",0),d("tax_amount2",0),d("tax_amount3",0)),d("tax_name1",""),d("tax_name2",""),d("tax_name3","")},y=_=>{s(_),h(_),d("calculate_tax_by_amount",_==="by_amount")};return u(V,{title:i("taxes"),isLoading:!l,children:[(m==null?void 0:m.enabled_expense_tax_rates)===0&&a(c,{leftSide:i("expense_tax_help"),children:a(te,{to:"/settings/tax_settings",renderSpan:!e&&!t,children:i("settings")})}),(m==null?void 0:m.enabled_expense_tax_rates)>0&&l&&a(c,{leftSide:i("enter_taxes"),children:a(re,{name:"enter_taxes",options:[{id:"by_rate",title:i("by_rate"),value:"by_rate"},{id:"by_amount",title:i("by_amount"),value:"by_amount"}],defaultSelected:r,onValueChange:_=>y(_)})}),(m==null?void 0:m.enabled_expense_tax_rates)>0&&l&&a(c,{leftSide:i("inclusive_taxes"),leftSideHelp:u("span",{className:"flex flex-col",children:[u("span",{children:[i("exclusive"),": 100 + 10% = 100 + 10"]}),u("span",{children:[i("inclusive"),": 100 + 10% = 90.91 + 9.09"]})]}),children:a(M,{onChange:_=>d("uses_inclusive_taxes",_),checked:l.uses_inclusive_taxes,cypressRef:"inclusiveTaxesToggle"})})]})}export{ge as A,fe as D,he as N,pe as T};
cải xoăn