Validate sessions against the API, honor configurable base paths, and route unknown pages to 404. Keep development ports stable so user and admin apps cannot be confused. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 line
9.0 KiB
JavaScript
1 line
9.0 KiB
JavaScript
import{D as e,E as t,Et as n,J as r,Kt as i,M as a,N as o,O as s,P as c,T as l,Xt as u,at as d,b as ee,g as te,st as ne,t as f,vt as p,w as m}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{t as h}from"./BasicIcon-BXxbbWA_.js";import{n as g,o as re,u as _}from"./format-C72AoJ2H.js";import{i as v,n as ie,o as ae,t as oe}from"./validation-Duyyve7l.js";import{C as se,d as ce,n as le}from"./index-BAQfYU-Q.js";import{t as ue}from"./FormErrorBanner-DI5hhxpk.js";import{n as y,r as b,t as de}from"./formErrors-DglFjYkZ.js";import{t as fe}from"./PageHeader-DTO8lja2.js";import{t as pe}from"./useRequirePricedOrder-DWh7nbsh.js";import{t as x}from"./BaseInput-CVNdy37R.js";import{t as me}from"./CurrencyInput-D6gR57Z3.js";import{t as he}from"./PersianDateInput-CTe_lYug.js";var ge=c({__name:`IconCash`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(n,i)=>(r(),t(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=f(c({__name:`CheckFormView`,setup(t){let c=te(),f=ce(),{orderId:h,order:A}=pe(),j=m(()=>f.draftCheckMode===`full`),M=p(``),N=p(``),P=p(``),F=p(``),I=p(``),L=p(``),R=p(``),z=p(``),B=p(``),V=p(``),H=p(``),U=p(``),W=p({}),G=p(``),K=p(!1),q=m(()=>A.value?.finalAmount??0),J=m(()=>f.draftChecks.reduce((e,t)=>e+t.amount,0)),Y=m(()=>_(M.value)||0),X=m(()=>Math.max(0,q.value-J.value)),Ae=m(()=>Math.max(0,q.value-J.value-Y.value)),Z=m(()=>q.value>0&&J.value+Y.value>=q.value),Q=m(()=>q.value>0&&J.value+Y.value>q.value);d([q,X],()=>{K.value||M.value||X.value<=0||(M.value=String(X.value),K.value=!0)},{immediate:!0}),d(M,()=>{W.value=y(W.value,`amount`),b(W.value)||(G.value=``)}),d(N,()=>{W.value=y(W.value,`dueDate`),b(W.value)||(G.value=``)}),d(P,()=>{W.value=y(W.value,`sayadId`),b(W.value)||(G.value=``)}),d(I,()=>{W.value=y(W.value,`ownerNationalId`),b(W.value)||(G.value=``)}),d(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=_(M.value);return(!t||t<=0)&&(e.amount=`مبلغ چک باید بزرگتر از صفر باشد.`),N.value||(e.dueDate=`تاریخ سررسید الزامی است.`),V.value||(e.frontImage=`تصویر روی چک الزامی است.`),j.value&&(ae(P.value)||(e.sayadId=`شناسه صیادی باید ۱۶ رقم باشد.`),v(I.value)||(e.ownerNationalId=`کد ملی صاحب چک معتبر نیست.`),f.draftChecks.some(e=>e.sayadId===P.value.replace(/\s/g,``))&&(e.sayadId=`شناسه صیادی تکراری است.`)),W.value=e,!b(e)||(G.value=de,!1)}function Ne(){Me()&&(f.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:f.draftCheckMode??`brief`}),Pe(),c.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(t,d)=>(r(),s(`div`,_e,[o(fe,{title:j.value?`ثبت چک - حالت کامل`:`ثبت چک - حالت مختصر`,"show-back":``,onBack:d[0]||=e=>n(c).push(`/orders/${n(h)}/check-mode`)},null,8,[`title`]),l(`div`,ve,[o(ue,{message:G.value},null,8,[`message`]),q.value>0?(r(),s(`div`,{key:0,class:i([`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}])},[l(`div`,ye,[l(`span`,be,[o(ge,{size:22})]),d[13]||=l(`div`,{class:`min-w-0 flex-1`},[l(`p`,{class:`m-0 text-sm font-semibold text-[var(--color-text)]`},`مانده فاکتور`),l(`p`,{class:`m-0 mt-1 text-xs leading-relaxed text-[var(--color-text-muted)]`},` با هر چک، مبلغ باقیمانده بهروز میشود تا پوشش کامل فاکتور را از دست ندهید. `)],-1)]),l(`div`,xe,[l(`div`,Se,[d[14]||=l(`span`,{class:`text-[var(--color-text-muted)]`},`مبلغ فاکتور`,-1),l(`strong`,Ce,u(n(g)(q.value)),1)]),l(`div`,we,[l(`span`,S,[o(se,{size:14}),d[15]||=a(` چکهای ثبتشده `,-1),n(f).draftChecks.length?(r(),s(`span`,C,` (`+u(n(re)(n(f).draftChecks.length))+`) `,1)):e(``,!0)]),l(`strong`,w,u(n(g)(J.value)),1)]),l(`div`,T,[d[16]||=l(`span`,{class:`text-sm font-semibold text-[var(--color-text)]`},`باقیمانده`,-1),l(`strong`,{class:i([`font-tabular text-base`,Z.value&&!Q.value?`text-[var(--color-success)]`:Q.value?`text-[var(--color-danger)]`:`text-[var(--color-primary)]`])},u(Q.value?`${n(g)(J.value+Y.value-q.value)} بیش از فاکتور`:Z.value?`پوشش کامل شد`:n(g)(Ae.value)),3)])])],2)):e(``,!0),d[20]||=l(`div`,{class:`steps`},[l(`span`,{class:`step active`},`۱. اطلاعات چک`),l(`span`,{class:`step`},`۲. چک بعدی`),l(`span`,{class:`step`},`۳. خلاصه`)],-1),l(`div`,E,[o(me,{modelValue:M.value,"onUpdate:modelValue":d[1]||=e=>M.value=e,label:`مبلغ چک (تومان)`,placeholder:`مبلغ`,error:W.value.amount},null,8,[`modelValue`,`error`]),X.value>0&&Y.value!==X.value?(r(),s(`button`,{key:0,type:`button`,class:`check-fill-remaining mb-3 text-sm font-medium text-[var(--color-primary)]`,onClick:je},` پر کردن با باقیمانده (`+u(n(g)(X.value))+`) `,1)):e(``,!0),o(he,{modelValue:N.value,"onUpdate:modelValue":d[2]||=e=>N.value=e,label:`تاریخ سررسید`,error:W.value.dueDate},null,8,[`modelValue`,`error`]),j.value?(r(),s(ee,{key:1},[o(x,{modelValue:P.value,"onUpdate:modelValue":d[3]||=e=>P.value=e,label:`شناسه صیادی`,placeholder:`۱۶ رقم`,maxlength:`16`,inputmode:`numeric`,dir:`ltr`,error:W.value.sayadId},null,8,[`modelValue`,`error`]),o(x,{modelValue:F.value,"onUpdate:modelValue":d[4]||=e=>F.value=e,label:`شماره چک`,inputmode:`numeric`,dir:`ltr`},null,8,[`modelValue`]),o(x,{modelValue:I.value,"onUpdate:modelValue":d[5]||=e=>I.value=e,label:`کد ملی صاحب چک`,maxlength:`10`,inputmode:`numeric`,dir:`ltr`,error:W.value.ownerNationalId},null,8,[`modelValue`,`error`]),o(x,{modelValue:L.value,"onUpdate:modelValue":d[6]||=e=>L.value=e,label:`نام صاحب چک`},null,8,[`modelValue`]),o(x,{modelValue:R.value,"onUpdate:modelValue":d[7]||=e=>R.value=e,label:`نام خانوادگی صاحب چک`},null,8,[`modelValue`]),o(x,{modelValue:z.value,"onUpdate:modelValue":d[8]||=e=>z.value=e,label:`نام بانک`},null,8,[`modelValue`]),o(x,{modelValue:B.value,"onUpdate:modelValue":d[9]||=e=>B.value=e,label:`نام شعبه`},null,8,[`modelValue`])],64)):e(``,!0),l(`div`,D,[d[17]||=l(`label`,{class:`form-label`},`تصویر روی چک *`,-1),l(`label`,{class:i([`upload-box`,{"upload-box--error":W.value.frontImage}])},[l(`input`,{type:`file`,accept:`image/*`,class:`upload-box__input`,onChange:d[10]||=e=>$(e,`front`)},null,32),V.value?(r(),s(`img`,{key:0,src:V.value,class:`upload-box__preview`,alt:`روی چک`},null,8,O)):(r(),s(`span`,k,`بارگذاری تصویر چک`))],2),W.value.frontImage?(r(),s(`p`,Te,u(W.value.frontImage),1)):e(``,!0)]),j.value?(r(),s(`div`,Ee,[d[18]||=l(`label`,{class:`form-label`},`تصویر پشت چک`,-1),l(`label`,De,[l(`input`,{type:`file`,accept:`image/*`,class:`upload-box__input`,onChange:d[11]||=e=>$(e,`back`)},null,32),H.value?(r(),s(`img`,{key:0,src:H.value,class:`upload-box__preview`,alt:`پشت چک`},null,8,Oe)):(r(),s(`span`,ke,`بارگذاری تصویر`))])])):e(``,!0),o(x,{modelValue:U.value,"onUpdate:modelValue":d[12]||=e=>U.value=e,label:`توضیحات`},null,8,[`modelValue`]),o(le,{block:``,class:`mt-4`,onClick:Ne},{default:ne(()=>[...d[19]||=[a(`ذخیره چک`,-1)]]),_:1})])])]))}}),[[`__scopeId`,`data-v-5976552f`]]);export{A as default}; |