Files
nademitex_admin/dist/assets/ChecksListView-BQ_mFtUm.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,G as n,I as r,J as i,N as a,P as ee,Q as o,V as te,X as s,Z as c,bt as l,dt as u,et as d,gt as ne,i as re,it as f,lt as p,m,n as h,rt as g,st as ie,x as _,yt as v,z as ae}from"./index-B2VD3zy8.js";import{t as y}from"./AdminPageSkeleton-BJpm6oxf.js";import{t as oe}from"./AdminSelect-BeLNl2Qz.js";import{t as b}from"./StatusBadge-D3ThrLrU.js";var se={class:`checks-list-page`},ce={class:`admin-page-header`},le={class:`checks-list-page__summary`},x={key:0},S={class:`checks-list-page__filters admin-card`},C={class:`checks-list-page__search`},w={class:`checks-list-page__table admin-card desktop-only`},T={class:`admin-table-wrap`},E={class:`admin-table`},D=[`onClick`],O={dir:`ltr`},k={class:`admin-action-group`},A=[`disabled`,`onClick`],j=[`disabled`,`onClick`],M=[`onClick`],N={key:0,class:`checks-list-page__empty`},P={class:`compact-only admin-card-list`},F={class:`admin-card-item__header`},ue={class:`admin-card-item__title`},I={class:`admin-card-item__meta`},L={key:0},R={class:`admin-card-item__actions`},z=[`disabled`,`onClick`],B=[`disabled`,`onClick`],V=[`onClick`],H={key:0,class:`checks-list-page__empty`},U=te(f({__name:`ChecksListView`,setup(te){let f=r(),U=ae(),W=v([]),G=v(!0),K=v(``),q=v(`all`),J=v(null),de=[{value:`all`,label:`همه وضعیت‌ها`},{value:`pending_review`,label:`در انتظار بررسی`},{value:`approved`,label:`تأیید شده`},{value:`rejected`,label:`رد شده`}],Y=s(()=>{let e=W.value;q.value!==`all`&&(e=e.filter(e=>e.status===q.value));let t=K.value.trim();return t&&(e=e.filter(e=>(e.orderNumber??``).includes(t)||(e.customerName??``).includes(t)||(e.bankName??``).includes(t)||(e.sayadId??``).includes(t))),e}),X=s(()=>W.value.filter(e=>e.status===`pending_review`).length);function Z(e){return e===`approved`?`final_approval`:e===`rejected`?`needs_correction`:`pending_check_review`}async function fe(){let e=await _.list();W.value=e.flatMap(e=>(e.checks??[]).map(t=>({...t,orderNumber:e.orderNumber,customerName:e.customerName,orderStatus:e.status,settlementType:e.settlementMethod??e.settlementType??null})))}async function pe(){G.value=!0;try{W.value=await m.list()}catch{try{await fe()}catch(e){U.error(e instanceof a?e.message:`بارگذاری چک‌ها انجام نشد.`)}}finally{G.value=!1}}ie(()=>{pe()});function Q(e){f.push(`/orders/${e.orderId}/checks`)}async function $(e,t){J.value=e.id;try{let n=await m.updateStatus(e.id,{status:t}),r=W.value.findIndex(t=>t.id===e.id);r!==-1&&(W.value[r]={...W.value[r],...n,orderNumber:e.orderNumber,customerName:e.customerName,orderStatus:e.orderStatus,settlementType:e.settlementType}),U.success(t===`approved`?`چک تأیید شد.`:`چک رد شد.`)}catch(e){U.error(e instanceof a?e.message:`به‌روزرسانی وضعیت چک انجام نشد.`)}finally{J.value=null}}return(r,a)=>(p(),d(`div`,se,[c(`div`,ce,[a[2]||=c(`div`,null,[c(`h1`,{class:`admin-page-header__title`},`چک‌ها`)],-1),c(`div`,le,[c(`span`,null,t(W.value.length)+` چک`,1),X.value?(p(),d(`span`,x,t(X.value)+` در انتظار بررسی`,1)):e(``,!0)])]),c(`div`,S,[c(`div`,C,[g(ee,{name:`search`,size:18}),ne(c(`input`,{"onUpdate:modelValue":a[0]||=e=>K.value=e,type:`search`,class:`checks-list-page__search-input`,placeholder:`جستجو در شماره سفارش، مشتری، بانک، صیاد...`},null,512),[[n,K.value]])]),g(oe,{modelValue:q.value,"onUpdate:modelValue":a[1]||=e=>q.value=e,class:`checks-list-page__status-select`,"aria-label":`فیلتر وضعیت چک`,options:de},null,8,[`modelValue`])]),G.value?(p(),o(y,{key:0,variant:`table`})):(p(),d(i,{key:1},[c(`div`,w,[c(`div`,T,[c(`table`,E,[a[3]||=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,[(p(!0),d(i,null,u(Y.value,n=>(p(),d(`tr`,{key:n.id},[c(`td`,null,[c(`button`,{type:`button`,class:`checks-list-page__order-link`,onClick:e=>Q(n)},t(n.orderNumber||n.orderId),9,D)]),c(`td`,null,t(n.customerName||`—`),1),c(`td`,null,t(n.row),1),c(`td`,null,t(l(h)(n.amount)),1),c(`td`,null,t(n.bankName||`—`),1),c(`td`,O,t(n.sayadId||`—`),1),c(`td`,null,t(n.dueDate.slice(0,10)),1),c(`td`,null,[g(b,{status:Z(n.status)},null,8,[`status`])]),c(`td`,null,[c(`div`,k,[n.status===`pending_review`?(p(),d(i,{key:0},[c(`button`,{type:`button`,class:`admin-btn admin-btn--outline-success admin-btn--xs`,disabled:J.value===n.id,onClick:e=>$(n,`approved`)},` تأیید `,8,A),c(`button`,{type:`button`,class:`admin-btn admin-btn--outline-danger admin-btn--xs`,disabled:J.value===n.id,onClick:e=>$(n,`rejected`)},` رد `,8,j)],64)):e(``,!0),c(`button`,{type:`button`,class:`admin-btn admin-btn--outline admin-btn--xs`,onClick:e=>Q(n)},` جزئیات سفارش `,8,M)])])]))),128))])])]),Y.value.length?e(``,!0):(p(),d(`p`,N,` چکی با این فیلتر یافت نشد. `))]),c(`div`,P,[(p(!0),d(i,null,u(Y.value,n=>(p(),d(`article`,{key:n.id,class:`admin-card-item`},[c(`div`,F,[c(`p`,ue,t(n.orderNumber||n.orderId)+` — چک `+t(n.row),1),g(b,{status:Z(n.status)},null,8,[`status`])]),c(`div`,I,[c(`span`,null,t(n.customerName||`—`),1),c(`span`,null,t(l(h)(n.amount)),1),c(`span`,null,t(n.bankName||`—`),1),c(`span`,null,`سررسید `+t(n.dueDate.slice(0,10)),1),n.createdAt?(p(),d(`span`,L,`ثبت `+t(l(re)(n.createdAt)),1)):e(``,!0)]),c(`div`,R,[n.status===`pending_review`?(p(),d(i,{key:0},[c(`button`,{type:`button`,class:`admin-btn admin-btn--outline-success admin-btn--xs`,disabled:J.value===n.id,onClick:e=>$(n,`approved`)},` تأیید `,8,z),c(`button`,{type:`button`,class:`admin-btn admin-btn--outline-danger admin-btn--xs`,disabled:J.value===n.id,onClick:e=>$(n,`rejected`)},` رد `,8,B)],64)):e(``,!0),c(`button`,{type:`button`,class:`admin-btn admin-btn--outline admin-btn--xs`,onClick:e=>Q(n)},` جزئیات سفارش `,8,V)])]))),128)),Y.value.length?e(``,!0):(p(),d(`p`,H,` چکی با این فیلتر یافت نشد. `))])],64))]))}}),[[`__scopeId`,`data-v-09633f1f`]]);export{U as default};