ruạṛ
import{bN as j,d as x,ef as I,u as T,p as o,aa as H,ed as M,bc as b,r as O,e as Q,$ as q,ee as z,j as v,C as D,c as s,bv as u,cs as f,I as J,c2 as g,aA as w,ct as L,J as U,eb as X,bA as $,G as K}from"./bundle.9abe88c8.js";import{b as W}from"./payments-0a3eee62.js";function ee(){var y;const{id:C}=j(),{data:e}=W({id:C}),F=x(),{data:h}=I({id:e==null?void 0:e.company_gateway_id,queryParams:"include=gateway",enabled:!!(e!=null&&e.company_gateway_id)}),[d]=T(),[n,S]=o.useState(),[r,p]=o.useState([]),[m,N]=o.useState(!1),[A,G]=o.useState(!1),[_,k]=o.useState(!1),E=H(),t=M({enableReinitialize:!0,initialValues:{id:e==null?void 0:e.id,date:e==null?void 0:e.date,invoices:[]},onSubmit:a=>{b.processing(),S(void 0);let i="/api/v1/payments/refund?&email_receipt=:email";_&&(i+="&gateway_refund=true"),O("POST",Q(i,{email:m}),a).then(()=>{b.success("refunded_payment"),E("/payments")}).catch(l=>{var c;((c=l.response)==null?void 0:c.status)===422&&(S(l.response.data),b.dismiss())}).finally(()=>{t.setSubmitting(!1),q(["payments"])})}}),V=a=>{const i=e==null?void 0:e.paymentables.find(({invoice_id:l})=>l===a.id);return i?i.amount-i.refunded:0},R=a=>{var l,c;const i=e==null?void 0:e.paymentables.find(({invoice_id:P})=>P===a.id);return i?`${d("invoice")} #${a.number} - ${d("refundable")} (${F(i.amount-i.refunded,(l=e==null?void 0:e.client)==null?void 0:l.country_id,(c=e==null?void 0:e.client)==null?void 0:c.settings.currency_id)})`:""};o.useEffect(()=>{e&&Array.isArray(e.invoices)&&r.map(a=>{const i=e.invoices.find(l=>l.id==a);i&&t.setFieldValue("invoices",[...t.values.invoices,{amount:V(i),invoice_id:i==null?void 0:i.id,id:""}])})},[r]),o.useEffect(()=>{let a=0;t.values.invoices.map(i=>{a=a+Number(i.amount),p(r.filter(l=>l!=i.invoice_id))})},[t.values.invoices]),o.useEffect(()=>{if(h){const a=h.data.data.gateway,i=Object.values(a.options).some(l=>l.refund);G(i)}},[h]);const B=()=>{var i;const a=K(t==null?void 0:t.values.invoices).pluck("invoice_id");return(i=e==null?void 0:e.invoices)==null?void 0:i.filter(l=>!a.contains(l.id))};return z({onClick:()=>t.handleSubmit(),disableSaveButton:t.isSubmitting||!t.values.invoices.length},[t.values,t.isSubmitting]),v(D,{title:d("refund_payment"),children:[s(u,{leftSide:d("number"),children:s(f,{disabled:!0,value:e==null?void 0:e.number})}),e&&s(u,{leftSide:d("amount"),children:s(f,{disabled:!0,value:(e==null?void 0:e.amount)-(e==null?void 0:e.refunded)})}),s(u,{leftSide:d("applied"),children:s(f,{disabled:!0,value:e==null?void 0:e.applied})}),s(u,{leftSide:d("date"),children:s(f,{type:"date",value:t.values.date,onValueChange:a=>t.setFieldValue("date",a)})}),v(u,{leftSide:d("invoices"),children:[s(J,{onChange:a=>{t.values.invoices.filter(i=>i.invoice_id==a.target.value).length<1&&p([...r,a.target.value]),a.target.value=""},withBlank:!0,children:(y=B())==null?void 0:y.map((a,i)=>s("option",{value:a.id,children:R(a)},i))}),(n==null?void 0:n.errors.invoices)&&s("div",{className:"py-2",children:s(g,{type:"danger",children:n.errors.invoices})})]}),s(w,{}),e&&Array.isArray(e.invoices)&&t.values.invoices.map((a,i)=>{const l=e.invoices.find(c=>c.id==a.invoice_id);if(l)return v("div",{className:"flex flex-col",children:[s(u,{leftSide:`${d("invoice")}: ${l==null?void 0:l.number}`,children:v("div",{className:"flex items-center space-x-2",children:[s(L,{value:t.values.invoices[i].amount||"",onValueChange:c=>t.setFieldValue(`invoices.${i}.amount`,parseFloat(c))}),s(U,{behavior:"button",type:"minimal",onClick:()=>{t.setFieldValue("invoices",t.values.invoices.filter(c=>c.invoice_id!=a.invoice_id))},children:s(X,{})})]})}),((n==null?void 0:n.errors[`invoices.${[i]}.invoice_id`])||(n==null?void 0:n.errors[`invoices.${[i]}.amount`]))&&s("div",{className:"px-6",children:s(g,{className:"mt-2 break-all",type:"danger",children:(n==null?void 0:n.errors[`invoices.${[i]}.invoice_id`])||(n==null?void 0:n.errors[`invoices.${[i]}.amount`])})})]},i)}),s(w,{}),s(u,{leftSide:d("send_email"),leftSideHelp:d("email_receipt"),children:s($,{checked:m,onChange:()=>{N(!m)}})}),A&&s(u,{leftSide:d("gateway_refund"),leftSideHelp:d("gateway_refund_help"),children:s($,{checked:_,onChange:a=>k(a)})}),(n==null?void 0:n.errors.id)&&s(g,{type:"danger",children:n.errors.id})]})}export{ee as default};
cải xoăn