Files
nademitex_admin/dist/assets/CashPaymentsView-C7RaPyP8.js
T
mohmdsdgandCopilot 9854842ada fix(auth): secure sessions and app routing
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>
2026-09-24 20:14:11 +03:30

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};