1 line
8.7 KiB
JavaScript
1 line
8.7 KiB
JavaScript
import{$ as e,E as t,F as n,I as r,L as i,M as a,O as o,_ as ee,bt as s,ft as c,j as l,k as u,n as d,q as f,tt as te,wt as p,xt as m}from"./BasicIcon-CjTTsi6o.js";import{l as h,n as g,o as ne}from"./format-BHJptHdF.js";import{i as re,n as ie,o as ae,t as oe}from"./validation-BD7oi-2I.js";import{h as _,n as se,y as ce}from"./index-D3Z8WOeX.js";import{t as v}from"./BaseInput-oWA7d1_u.js";import{t as le}from"./FormErrorBanner-B8THF9oG.js";import{n as y,r as b,t as ue}from"./formErrors-DglFjYkZ.js";import{t as de}from"./PageHeader-B47bvmJV.js";import{t as fe}from"./useRequirePricedOrder-a2bgwmwB.js";import{n as pe,t as me}from"./PersianDateInput-C60QImoe.js";import{t as he}from"./IconCash-CCD4LPLC.js";var ge={class:`page`},_e={class:`page__scroll checkout-page__scroll`},ve={class:`mb-3 flex items-start gap-3`},ye={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`},be={class:`flex flex-col gap-2`},xe={class:`flex items-center justify-between gap-3 text-sm`},Se={class:`font-tabular text-[var(--color-text)]`},Ce={class:`flex items-center justify-between gap-3 text-sm`},we={class:`inline-flex items-center gap-1.5 text-[var(--color-text-muted)]`},Te={key:0,class:`text-xs`},x={class:`font-tabular text-[var(--color-text)]`},S={class:`mt-1 flex items-center justify-between gap-3 border-t border-[var(--color-border)] pt-3`},C={class:`card`},w={class:`form-group`},T=[`src`],E={key:1,class:`upload-box__placeholder`},D={key:0,class:`input-error-text`},O={key:2,class:`form-group`},Ee={class:`upload-box`},De=[`src`],Oe={key:1,class:`upload-box__placeholder`},k=d(i({__name:`CheckFormView`,setup(i){let d=ee(),k=_(),{orderId:A,order:ke}=fe(),j=o(()=>k.draftCheckMode===`full`),M=c(``),N=c(``),P=c(``),F=c(``),I=c(``),L=c(``),R=c(``),z=c(``),B=c(``),V=c(``),H=c(``),U=c(``),W=c({}),G=c(``),K=c(!1),q=o(()=>ke.value?.finalAmount??0),J=o(()=>k.draftChecks.reduce((e,t)=>e+t.amount,0)),Y=o(()=>h(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);e([q,X],()=>{K.value||M.value||X.value<=0||(M.value=String(X.value),K.value=!0)},{immediate:!0}),e(M,()=>{W.value=y(W.value,`amount`),b(W.value)||(G.value=``)}),e(N,()=>{W.value=y(W.value,`dueDate`),b(W.value)||(G.value=``)}),e(P,()=>{W.value=y(W.value,`sayadId`),b(W.value)||(G.value=``)}),e(I,()=>{W.value=y(W.value,`ownerNationalId`),b(W.value)||(G.value=``)}),e(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=ie(n);if(!r.valid){t===`front`&&(W.value={...W.value,frontImage:r.message??`خطا`});return}let i=await oe(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=h(M.value);return(!t||t<=0)&&(e.amount=`مبلغ چک باید بزرگتر از صفر باشد.`),N.value||(e.dueDate=`تاریخ سررسید الزامی است.`),V.value||(e.frontImage=`تصویر روی چک الزامی است.`),j.value&&(ae(P.value)||(e.sayadId=`شناسه صیادی باید ۱۶ رقم باشد.`),re(I.value)||(e.ownerNationalId=`کد ملی صاحب چک معتبر نیست.`),k.draftChecks.some(e=>e.sayadId===P.value.replace(/\s/g,``))&&(e.sayadId=`شناسه صیادی تکراری است.`)),W.value=e,!b(e)||(G.value=ue,!1)}function Ne(){Me()&&(k.addDraftCheck({amount:h(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:k.draftCheckMode??`brief`}),Pe(),d.push(`/orders/${A.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(e,i)=>(f(),a(`div`,ge,[r(de,{title:j.value?`ثبت چک - حالت کامل`:`ثبت چک - حالت مختصر`,"show-back":``,onBack:i[0]||=e=>s(d).push(`/orders/${s(A)}/check-mode`)},null,8,[`title`]),u(`div`,_e,[r(le,{message:G.value},null,8,[`message`]),q.value>0?(f(),a(`div`,{key:0,class:m([`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`,ve,[u(`span`,ye,[r(he,{size:22})]),i[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`,be,[u(`div`,xe,[i[14]||=u(`span`,{class:`text-[var(--color-text-muted)]`},`مبلغ فاکتور`,-1),u(`strong`,Se,p(s(g)(q.value)),1)]),u(`div`,Ce,[u(`span`,we,[r(ce,{size:14}),i[15]||=n(` چکهای ثبتشده `,-1),s(k).draftChecks.length?(f(),a(`span`,Te,` (`+p(s(ne)(s(k).draftChecks.length))+`) `,1)):l(``,!0)]),u(`strong`,x,p(s(g)(J.value)),1)]),u(`div`,S,[i[16]||=u(`span`,{class:`text-sm font-semibold text-[var(--color-text)]`},`باقیمانده`,-1),u(`strong`,{class:m([`font-tabular text-base`,Z.value&&!Q.value?`text-[var(--color-success)]`:Q.value?`text-[var(--color-danger)]`:`text-[var(--color-primary)]`])},p(Q.value?`${s(g)(J.value+Y.value-q.value)} بیش از فاکتور`:Z.value?`پوشش کامل شد`:s(g)(Ae.value)),3)])])],2)):l(``,!0),i[20]||=u(`div`,{class:`steps`},[u(`span`,{class:`step active`},`۱. اطلاعات چک`),u(`span`,{class:`step`},`۲. چک بعدی`),u(`span`,{class:`step`},`۳. خلاصه`)],-1),u(`div`,C,[r(pe,{modelValue:M.value,"onUpdate:modelValue":i[1]||=e=>M.value=e,label:`مبلغ چک (تومان)`,placeholder:`مبلغ`,error:W.value.amount},null,8,[`modelValue`,`error`]),X.value>0&&Y.value!==X.value?(f(),a(`button`,{key:0,type:`button`,class:`check-fill-remaining mb-3 text-sm font-medium text-[var(--color-primary)]`,onClick:je},` پر کردن با باقیمانده (`+p(s(g)(X.value))+`) `,1)):l(``,!0),r(me,{modelValue:N.value,"onUpdate:modelValue":i[2]||=e=>N.value=e,label:`تاریخ سررسید`,error:W.value.dueDate},null,8,[`modelValue`,`error`]),j.value?(f(),a(t,{key:1},[r(v,{modelValue:P.value,"onUpdate:modelValue":i[3]||=e=>P.value=e,label:`شناسه صیادی`,placeholder:`۱۶ رقم`,maxlength:`16`,inputmode:`numeric`,dir:`ltr`,error:W.value.sayadId},null,8,[`modelValue`,`error`]),r(v,{modelValue:F.value,"onUpdate:modelValue":i[4]||=e=>F.value=e,label:`شماره چک`,inputmode:`numeric`,dir:`ltr`},null,8,[`modelValue`]),r(v,{modelValue:I.value,"onUpdate:modelValue":i[5]||=e=>I.value=e,label:`کد ملی صاحب چک`,maxlength:`10`,inputmode:`numeric`,dir:`ltr`,error:W.value.ownerNationalId},null,8,[`modelValue`,`error`]),r(v,{modelValue:L.value,"onUpdate:modelValue":i[6]||=e=>L.value=e,label:`نام صاحب چک`},null,8,[`modelValue`]),r(v,{modelValue:R.value,"onUpdate:modelValue":i[7]||=e=>R.value=e,label:`نام خانوادگی صاحب چک`},null,8,[`modelValue`]),r(v,{modelValue:z.value,"onUpdate:modelValue":i[8]||=e=>z.value=e,label:`نام بانک`},null,8,[`modelValue`]),r(v,{modelValue:B.value,"onUpdate:modelValue":i[9]||=e=>B.value=e,label:`نام شعبه`},null,8,[`modelValue`])],64)):l(``,!0),u(`div`,w,[i[17]||=u(`label`,{class:`form-label`},`تصویر روی چک *`,-1),u(`label`,{class:m([`upload-box`,{"upload-box--error":W.value.frontImage}])},[u(`input`,{type:`file`,accept:`image/*`,class:`upload-box__input`,onChange:i[10]||=e=>$(e,`front`)},null,32),V.value?(f(),a(`img`,{key:0,src:V.value,class:`upload-box__preview`,alt:`روی چک`},null,8,T)):(f(),a(`span`,E,`بارگذاری تصویر چک`))],2),W.value.frontImage?(f(),a(`p`,D,p(W.value.frontImage),1)):l(``,!0)]),j.value?(f(),a(`div`,O,[i[18]||=u(`label`,{class:`form-label`},`تصویر پشت چک`,-1),u(`label`,Ee,[u(`input`,{type:`file`,accept:`image/*`,class:`upload-box__input`,onChange:i[11]||=e=>$(e,`back`)},null,32),H.value?(f(),a(`img`,{key:0,src:H.value,class:`upload-box__preview`,alt:`پشت چک`},null,8,De)):(f(),a(`span`,Oe,`بارگذاری تصویر`))])])):l(``,!0),r(v,{modelValue:U.value,"onUpdate:modelValue":i[12]||=e=>U.value=e,label:`توضیحات`},null,8,[`modelValue`]),r(se,{block:``,class:`mt-4`,onClick:Ne},{default:te(()=>[...i[19]||=[n(`ذخیره چک`,-1)]]),_:1})])])]))}}),[[`__scopeId`,`data-v-5976552f`]]);export{k as default}; |