1 line
9.0 KiB
JavaScript
1 line
9.0 KiB
JavaScript
import{At as e,G as t,M as n,Pt as r,U as i,_ as a,c as o,d as s,f as c,g as l,i as ee,l as u,nt as d,t as te,u as f,ut as p,v as m}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as h}from"./BasicIcon-ba1FsUKx.js";import{n as g,o as ne,u as _}from"./format-C72AoJ2H.js";import{i as re,n as v,o as ie,t as ae}from"./validation-Duyyve7l.js";import{A as oe,f as se,r as ce,x as le}from"./index-BPUhS8CY.js";import{t as ue}from"./FormErrorBanner-Ud1D04xf.js";import{n as y,r as b,t as de}from"./formErrors-DglFjYkZ.js";import{t as fe}from"./PageHeader-CG1ktltl.js";import{t as pe}from"./useRequirePricedOrder-XmwhrUqA.js";import{t as x}from"./BaseInput-CpE3bVJZ.js";import{t as me}from"./CurrencyInput-Cu2dRPFo.js";import{t as he}from"./PersianDateInput-Dh05So9z.js";var ge=m({__name:`IconCash`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,r)=>(n(),f(h,{icon:`vuesax-linear:money-4`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),_e={class:`page`},ve={class:`page__scroll checkout-page__scroll`},ye={class:`mb-3 flex items-start gap-3`},be={class:`flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-[var(--color-primary-soft)] text-[var(--color-primary)]`,"aria-hidden":`true`},xe={class:`flex flex-col gap-2`},Se={class:`flex items-center justify-between gap-3 text-sm`},Ce={class:`font-tabular text-[var(--color-text)]`},we={class:`flex items-center justify-between gap-3 text-sm`},S={class:`inline-flex items-center gap-1.5 text-[var(--color-text-muted)]`},C={key:0,class:`text-xs`},w={class:`font-tabular text-[var(--color-text)]`},T={class:`mt-1 flex items-center justify-between gap-3 border-t border-[var(--color-border)] pt-3`},E={class:`card`},D={class:`form-group`},O=[`src`],k={key:1,class:`upload-box__placeholder`},Te={key:0,class:`input-error-text`},Ee={key:2,class:`form-group`},De={class:`upload-box`},Oe=[`src`],ke={key:1,class:`upload-box__placeholder`},A=te(m({__name:`CheckFormView`,setup(te){let f=oe(),m=se(),{orderId:h,order:A}=pe(),j=o(()=>m.draftCheckMode===`full`),M=d(``),N=d(``),P=d(``),F=d(``),I=d(``),L=d(``),R=d(``),z=d(``),B=d(``),V=d(``),H=d(``),U=d(``),W=d({}),G=d(``),K=d(!1),q=o(()=>A.value?.finalAmount??0),J=o(()=>m.draftChecks.reduce((e,t)=>e+t.amount,0)),Y=o(()=>_(M.value)||0),X=o(()=>Math.max(0,q.value-J.value)),Ae=o(()=>Math.max(0,q.value-J.value-Y.value)),Z=o(()=>q.value>0&&J.value+Y.value>=q.value),Q=o(()=>q.value>0&&J.value+Y.value>q.value);i([q,X],()=>{K.value||M.value||X.value<=0||(M.value=String(X.value),K.value=!0)},{immediate:!0}),i(M,()=>{W.value=y(W.value,`amount`),b(W.value)||(G.value=``)}),i(N,()=>{W.value=y(W.value,`dueDate`),b(W.value)||(G.value=``)}),i(P,()=>{W.value=y(W.value,`sayadId`),b(W.value)||(G.value=``)}),i(I,()=>{W.value=y(W.value,`ownerNationalId`),b(W.value)||(G.value=``)}),i(V,()=>{W.value=y(W.value,`frontImage`),b(W.value)||(G.value=``)});async function $(e,t){let n=e.target.files?.[0];if(!n)return;let r=v(n);if(!r.valid){t===`front`&&(W.value={...W.value,frontImage:r.message??`خطا`});return}let i=await ae(n);t===`front`?V.value=i:H.value=i}function je(){X.value<=0||(M.value=String(X.value))}function Me(){W.value={},G.value=``;let e={},t=_(M.value);return(!t||t<=0)&&(e.amount=`مبلغ چک باید بزرگتر از صفر باشد.`),N.value||(e.dueDate=`تاریخ سررسید الزامی است.`),V.value||(e.frontImage=`تصویر روی چک الزامی است.`),j.value&&(ie(P.value)||(e.sayadId=`شناسه صیادی باید ۱۶ رقم باشد.`),re(I.value)||(e.ownerNationalId=`کد ملی صاحب چک معتبر نیست.`),m.draftChecks.some(e=>e.sayadId===P.value.replace(/\s/g,``))&&(e.sayadId=`شناسه صیادی تکراری است.`)),W.value=e,!b(e)||(G.value=de,!1)}function Ne(){Me()&&(m.addDraftCheck({amount:_(M.value),dueDate:N.value,sayadId:j.value?P.value.replace(/\s/g,``):void 0,checkNumber:j.value?F.value:void 0,ownerNationalId:j.value?I.value:void 0,ownerFirstName:j.value?L.value:void 0,ownerLastName:j.value?R.value:void 0,bankName:j.value?z.value:void 0,branchName:j.value?B.value:void 0,frontImage:V.value,backImage:H.value||void 0,notes:U.value||void 0,mode:m.draftCheckMode??`brief`}),Pe(),f.push(`/orders/${h.value}/check-list`))}function Pe(){M.value=``,N.value=``,P.value=``,F.value=``,I.value=``,L.value=``,R.value=``,z.value=``,B.value=``,V.value=``,H.value=``,U.value=``,W.value={},G.value=``,K.value=!1}return(i,o)=>(n(),c(`div`,_e,[a(fe,{title:j.value?`ثبت چک - حالت کامل`:`ثبت چک - حالت مختصر`,"show-back":``,onBack:o[0]||=e=>p(f).push(`/orders/${p(h)}/check-mode`)},null,8,[`title`]),u(`div`,ve,[a(ue,{message:G.value},null,8,[`message`]),q.value>0?(n(),c(`div`,{key:0,class:e([`check-balance mb-4 rounded-[var(--radius-md)] border border-[var(--color-border)] bg-[var(--color-surface)] p-4`,{"check-balance--ok":Z.value&&!Q.value,"check-balance--warn":Q.value}])},[u(`div`,ye,[u(`span`,be,[a(ge,{size:22})]),o[13]||=u(`div`,{class:`min-w-0 flex-1`},[u(`p`,{class:`m-0 text-sm font-semibold text-[var(--color-text)]`},`مانده فاکتور`),u(`p`,{class:`m-0 mt-1 text-xs leading-relaxed text-[var(--color-text-muted)]`},` با هر چک، مبلغ باقیمانده بهروز میشود تا پوشش کامل فاکتور را از دست ندهید. `)],-1)]),u(`div`,xe,[u(`div`,Se,[o[14]||=u(`span`,{class:`text-[var(--color-text-muted)]`},`مبلغ فاکتور`,-1),u(`strong`,Ce,r(p(g)(q.value)),1)]),u(`div`,we,[u(`span`,S,[a(le,{size:14}),o[15]||=l(` چکهای ثبتشده `,-1),p(m).draftChecks.length?(n(),c(`span`,C,` (`+r(p(ne)(p(m).draftChecks.length))+`) `,1)):s(``,!0)]),u(`strong`,w,r(p(g)(J.value)),1)]),u(`div`,T,[o[16]||=u(`span`,{class:`text-sm font-semibold text-[var(--color-text)]`},`باقیمانده`,-1),u(`strong`,{class:e([`font-tabular text-base`,Z.value&&!Q.value?`text-[var(--color-success)]`:Q.value?`text-[var(--color-danger)]`:`text-[var(--color-primary)]`])},r(Q.value?`${p(g)(J.value+Y.value-q.value)} بیش از فاکتور`:Z.value?`پوشش کامل شد`:p(g)(Ae.value)),3)])])],2)):s(``,!0),o[20]||=u(`div`,{class:`steps`},[u(`span`,{class:`step active`},`۱. اطلاعات چک`),u(`span`,{class:`step`},`۲. چک بعدی`),u(`span`,{class:`step`},`۳. خلاصه`)],-1),u(`div`,E,[a(me,{modelValue:M.value,"onUpdate:modelValue":o[1]||=e=>M.value=e,label:`مبلغ چک (تومان)`,placeholder:`مبلغ`,error:W.value.amount},null,8,[`modelValue`,`error`]),X.value>0&&Y.value!==X.value?(n(),c(`button`,{key:0,type:`button`,class:`check-fill-remaining mb-3 text-sm font-medium text-[var(--color-primary)]`,onClick:je},` پر کردن با باقیمانده (`+r(p(g)(X.value))+`) `,1)):s(``,!0),a(he,{modelValue:N.value,"onUpdate:modelValue":o[2]||=e=>N.value=e,label:`تاریخ سررسید`,error:W.value.dueDate},null,8,[`modelValue`,`error`]),j.value?(n(),c(ee,{key:1},[a(x,{modelValue:P.value,"onUpdate:modelValue":o[3]||=e=>P.value=e,label:`شناسه صیادی`,placeholder:`۱۶ رقم`,maxlength:`16`,inputmode:`numeric`,dir:`ltr`,error:W.value.sayadId},null,8,[`modelValue`,`error`]),a(x,{modelValue:F.value,"onUpdate:modelValue":o[4]||=e=>F.value=e,label:`شماره چک`,inputmode:`numeric`,dir:`ltr`},null,8,[`modelValue`]),a(x,{modelValue:I.value,"onUpdate:modelValue":o[5]||=e=>I.value=e,label:`کد ملی صاحب چک`,maxlength:`10`,inputmode:`numeric`,dir:`ltr`,error:W.value.ownerNationalId},null,8,[`modelValue`,`error`]),a(x,{modelValue:L.value,"onUpdate:modelValue":o[6]||=e=>L.value=e,label:`نام صاحب چک`},null,8,[`modelValue`]),a(x,{modelValue:R.value,"onUpdate:modelValue":o[7]||=e=>R.value=e,label:`نام خانوادگی صاحب چک`},null,8,[`modelValue`]),a(x,{modelValue:z.value,"onUpdate:modelValue":o[8]||=e=>z.value=e,label:`نام بانک`},null,8,[`modelValue`]),a(x,{modelValue:B.value,"onUpdate:modelValue":o[9]||=e=>B.value=e,label:`نام شعبه`},null,8,[`modelValue`])],64)):s(``,!0),u(`div`,D,[o[17]||=u(`label`,{class:`form-label`},`تصویر روی چک *`,-1),u(`label`,{class:e([`upload-box`,{"upload-box--error":W.value.frontImage}])},[u(`input`,{type:`file`,accept:`image/*`,class:`upload-box__input`,onChange:o[10]||=e=>$(e,`front`)},null,32),V.value?(n(),c(`img`,{key:0,src:V.value,class:`upload-box__preview`,alt:`روی چک`},null,8,O)):(n(),c(`span`,k,`بارگذاری تصویر چک`))],2),W.value.frontImage?(n(),c(`p`,Te,r(W.value.frontImage),1)):s(``,!0)]),j.value?(n(),c(`div`,Ee,[o[18]||=u(`label`,{class:`form-label`},`تصویر پشت چک`,-1),u(`label`,De,[u(`input`,{type:`file`,accept:`image/*`,class:`upload-box__input`,onChange:o[11]||=e=>$(e,`back`)},null,32),H.value?(n(),c(`img`,{key:0,src:H.value,class:`upload-box__preview`,alt:`پشت چک`},null,8,Oe)):(n(),c(`span`,ke,`بارگذاری تصویر`))])])):s(``,!0),a(x,{modelValue:U.value,"onUpdate:modelValue":o[12]||=e=>U.value=e,label:`توضیحات`},null,8,[`modelValue`]),a(ce,{block:``,class:`mt-4`,onClick:Ne},{default:t(()=>[...o[19]||=[l(`ذخیره چک`,-1)]]),_:1})])])]))}}),[[`__scopeId`,`data-v-5976552f`]]);export{A as default}; |