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
6.0 KiB
JavaScript
1 line
6.0 KiB
JavaScript
import{$ as e,Ct as t,F as n,G as r,J as i,N as a,P as o,Q as s,V as ee,X as te,Z as c,bt as l,d as u,dt as d,et as f,gt as ne,i as p,it as m,lt as h,n as g,rt as _,st as re,x as ie,xt as v,yt as y,z as ae}from"./index-B2VD3zy8.js";import{t as oe}from"./AdminPageSkeleton-BJpm6oxf.js";import{t as se}from"./AdminSelect-BeLNl2Qz.js";import{n as b,t as x}from"./adminLabels-Cz9ccm1Z.js";var S={class:`cash-payments-page`},C={class:`cash-payments-page__filters admin-card`},w={class:`cash-payments-page__search`},T={class:`cash-payments-page__table admin-card desktop-only`},E={class:`admin-table-wrap`},D={class:`admin-table`},O={dir:`ltr`},k={key:0,class:`admin-action-group`},A=[`disabled`,`onClick`],j=[`disabled`,`onClick`],M={key:1,class:`admin-action-group`},N=[`disabled`,`onClick`],P={key:2},F={class:`compact-only admin-card-list`},I={class:`admin-card-item__header`},L={class:`admin-card-item__title`},ce={class:`admin-card-item__meta`},R={key:0},z={dir:`ltr`},B={key:0,class:`admin-card-item__actions`},V=[`disabled`,`onClick`],H=[`disabled`,`onClick`],U=[`disabled`,`onClick`],W=ee(m({__name:`CashPaymentsView`,setup(ee){let m=n(),W=y([]),G=y(m.query.order??``),K=y(`all`),q=y(!0),J=ae(),Y=y(null),le=[{value:`all`,label:`همه وضعیتها`},{value:`pending_review`,label:`در انتظار تأیید`},{value:`approved`,label:`تأیید شده`},{value:`rejected`,label:`رد شده`},{value:`expired`,label:`منقضیشده`}],X=te(()=>{let e=W.value;K.value!==`all`&&(e=e.filter(e=>e.status===K.value));let t=G.value.trim();return t&&(e=e.filter(e=>e.orderNumber.includes(t)||e.customerName.includes(t)||e.trackingCode.includes(t))),e});async function ue(){q.value=!0;try{W.value=await u.list()}catch(e){J.error(e instanceof a?e.message:`بارگذاری پرداختها انجام نشد.`)}finally{q.value=!1}}re(()=>{ue()});async function Z(e){Y.value=e.id;try{let t=await u.updateStatus(e.id,{status:`approved`}),n=W.value.findIndex(t=>t.id===e.id);n!==-1&&(W.value[n]={...W.value[n],...t}),J.success(`پرداخت سفارش ${e.orderNumber} تأیید شد.`)}catch(e){J.error(e instanceof a?e.message:`تأیید پرداخت انجام نشد.`)}finally{Y.value=null}}async function Q(e){Y.value=e.id;try{await ie.updateStatus(e.orderId,{status:`final_approved`,note:`تأیید نهایی پس از تأیید رسید نقدی`}),J.success(`سفارش ${e.orderNumber} تأیید نهایی شد.`)}catch(e){J.error(e instanceof a?e.message:`تأیید نهایی انجام نشد.`)}finally{Y.value=null}}async function $(e){Y.value=e.id;try{let t=await u.updateStatus(e.id,{status:`rejected`}),n=W.value.findIndex(t=>t.id===e.id);n!==-1&&(W.value[n]={...W.value[n],...t}),J.warning(`پرداخت سفارش ${e.orderNumber} رد شد.`)}catch(e){J.error(e instanceof a?e.message:`رد پرداخت انجام نشد.`)}finally{Y.value=null}}return(n,a)=>(h(),f(`div`,S,[a[3]||=c(`div`,{class:`admin-page-header`},[c(`div`,null,[c(`h1`,{class:`admin-page-header__title`},`پرداختهای نقدی`)])],-1),c(`div`,C,[c(`div`,w,[_(o,{name:`search`,size:18}),ne(c(`input`,{"onUpdate:modelValue":a[0]||=e=>G.value=e,type:`search`,class:`cash-payments-page__search-input`,placeholder:`جستجو در شماره سفارش، مشتری، پیگیری...`},null,512),[[r,G.value]])]),_(se,{modelValue:K.value,"onUpdate:modelValue":a[1]||=e=>K.value=e,class:`cash-payments-page__status-select`,"aria-label":`فیلتر وضعیت پرداخت`,options:le},null,8,[`modelValue`])]),q.value?(h(),s(oe,{key:0,variant:`table`})):(h(),f(i,{key:1},[c(`div`,T,[c(`div`,E,[c(`table`,D,[a[2]||=c(`thead`,null,[c(`tr`,null,[c(`th`,null,`شماره سفارش`),c(`th`,null,`مشتری`),c(`th`,null,`مبلغ فاکتور`),c(`th`,null,`مبلغ واریزی`),c(`th`,null,`تاریخ واریز`),c(`th`,null,`شماره پیگیری`),c(`th`,null,`پایان اعتبار`),c(`th`,null,`وضعیت`),c(`th`,null,`عملیات`)])],-1),c(`tbody`,null,[(h(!0),f(i,null,d(X.value,e=>(h(),f(`tr`,{key:e.id},[c(`td`,null,t(e.orderNumber),1),c(`td`,null,t(e.customerName),1),c(`td`,null,t(l(g)(e.amount)),1),c(`td`,null,t(e.paidAmount?l(g)(e.paidAmount):`—`),1),c(`td`,null,t(e.transferDate?l(p)(e.transferDate):`—`),1),c(`td`,O,t(e.trackingCode),1),c(`td`,null,t(l(p)(e.expiresAt)),1),c(`td`,null,[c(`span`,{class:v([`admin-badge`,l(x)[e.status]])},t(l(b)[e.status]),3)]),c(`td`,null,[e.status===`pending_review`?(h(),f(`div`,k,[c(`button`,{type:`button`,class:`admin-btn admin-btn--outline-success admin-btn--xs`,disabled:Y.value===e.id,onClick:t=>Z(e)},` تأیید `,8,A),c(`button`,{type:`button`,class:`admin-btn admin-btn--outline-danger admin-btn--xs`,disabled:Y.value===e.id,onClick:t=>$(e)},` رد `,8,j)])):e.status===`approved`?(h(),f(`div`,M,[c(`button`,{type:`button`,class:`admin-btn admin-btn--primary admin-btn--xs`,disabled:Y.value===e.id,onClick:t=>Q(e)},` تأیید نهایی سفارش `,8,N)])):(h(),f(`span`,P,`—`))])]))),128))])])])]),c(`div`,F,[(h(!0),f(i,null,d(X.value,n=>(h(),f(`article`,{key:n.id,class:`admin-card-item`},[c(`div`,I,[c(`p`,L,t(n.orderNumber),1),c(`span`,{class:v([`admin-badge`,l(x)[n.status]])},t(l(b)[n.status]),3)]),c(`div`,ce,[c(`span`,null,t(n.customerName),1),c(`span`,null,t(l(g)(n.amount)),1),n.paidAmount==null?e(``,!0):(h(),f(`span`,R,`پرداختی: `+t(l(g)(n.paidAmount)),1)),c(`span`,z,t(n.trackingCode),1)]),n.status===`pending_review`||n.status===`approved`?(h(),f(`div`,B,[n.status===`pending_review`?(h(),f(`button`,{key:0,type:`button`,class:`admin-btn admin-btn--outline-success admin-btn--xs`,disabled:Y.value===n.id,onClick:e=>Z(n)},` تأیید `,8,V)):e(``,!0),n.status===`pending_review`?(h(),f(`button`,{key:1,type:`button`,class:`admin-btn admin-btn--outline-danger admin-btn--xs`,disabled:Y.value===n.id,onClick:e=>$(n)},` رد `,8,H)):e(``,!0),n.status===`approved`?(h(),f(`button`,{key:2,type:`button`,class:`admin-btn admin-btn--primary admin-btn--xs`,disabled:Y.value===n.id,onClick:e=>Q(n)},` تأیید نهایی سفارش `,8,U)):e(``,!0)])):e(``,!0)]))),128))])],64))]))}}),[[`__scopeId`,`data-v-9afb2a83`]]);export{W as default}; |