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
7.5 KiB
JavaScript
1 line
7.5 KiB
JavaScript
import{$ as e,Ct as t,J as n,N as ee,P as te,Q as ne,V as r,Z as i,_ as a,a as o,bt as s,dt as c,et as l,it as u,lt as d,n as f,nt as re,o as p,rt as ie,st as m,yt as h,z as ae}from"./index-B2VD3zy8.js";import{t as oe}from"./AdminPageSkeleton-BJpm6oxf.js";var se={class:`reports-page`},g={class:`admin-page-header`},_={class:`reports-page__stats`},v={class:`admin-stat-card admin-card`},y={class:`admin-stat-card__value`},b={class:`reports-page__growth`},x={class:`admin-stat-card admin-card`},S={class:`admin-stat-card__value`},C={class:`admin-stat-card admin-card`},w={class:`admin-stat-card__value`},T={class:`admin-stat-card admin-card`},E={class:`admin-stat-card__value`},D={key:0,class:`reports-page__stats`},O={class:`admin-stat-card admin-card`},k={class:`admin-stat-card__value`},A={class:`admin-stat-card admin-card`},j={class:`admin-stat-card__value`},M={class:`admin-stat-card admin-card`},N={class:`admin-stat-card__value`},P={class:`admin-stat-card admin-card`},F={class:`admin-stat-card__value`},I={class:`admin-stat-card admin-card`},L={class:`admin-stat-card__value`},R={class:`admin-stat-card admin-card`},z={class:`admin-stat-card__value`},B={class:`reports-page__grid`},V={class:`admin-card reports-page__section`},H={class:`admin-table-wrap desktop-only`},U={class:`admin-table`},ce={class:`compact-only admin-card-list`},W={class:`admin-card-item__title`},G={class:`admin-card-item__meta`},le={class:`admin-card reports-page__section`},ue={class:`admin-table-wrap desktop-only`},de={class:`admin-table`},fe={class:`compact-only reports-page__status-list`},pe={key:1,class:`reports-page__grid reports-page__grid--full`},me={class:`admin-card reports-page__section`},he={class:`admin-table-wrap`},ge={class:`admin-table`},_e={key:2,class:`reports-page__grid`},ve={key:0,class:`admin-card reports-page__section`},ye={class:`admin-table-wrap`},be={class:`admin-table`},xe={dir:`ltr`},Se={key:1,class:`admin-card reports-page__section`},Ce={class:`admin-table-wrap`},we={class:`admin-table`},K=r(u({__name:`ReportsView`,setup(r){let u=ae(),K=h(!0),q=h({newOrders:0,pendingReview:0,pendingCheck:0,finalApproval:0,todaySales:0,todaySalesGrowth:0,monthSales:0}),J=h([]),Y=h([]),X=h([]),Z=h([]),Q=h([]),$=h(null);m(async()=>{K.value=!0;try{let[e,t]=await Promise.all([a.get(),a.reports()]);q.value=e.stats,J.value=t.reportSalesByCompany,Y.value=t.reportOrdersByStatus,X.value=t.reportSalesByMonth??[],Z.value=t.reportSalesByProduct??[],Q.value=t.reportSalesByCustomer??[],$.value=t.reportCustomers??null}catch(e){u.error(e instanceof ee?e.message:`بارگذاری گزارشها انجام نشد.`)}finally{K.value=!1}});function Te(){window.print()}return(ee,r)=>(d(),l(`div`,se,[i(`div`,g,[r[1]||=i(`div`,null,[i(`h1`,{class:`admin-page-header__title`},`گزارشها`)],-1),i(`button`,{type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`,onClick:Te},[ie(te,{name:`print`,size:16}),r[0]||=re(` چاپ گزارش `,-1)])]),K.value?(d(),ne(oe,{key:0,variant:`table`})):(d(),l(n,{key:1},[i(`div`,_,[i(`div`,v,[r[2]||=i(`p`,{class:`admin-stat-card__label`},`فروش امروز`,-1),i(`p`,y,t(s(f)(q.value.todaySales)),1),i(`span`,b,`+`+t(q.value.todaySalesGrowth)+`% نسبت به دیروز`,1)]),i(`div`,x,[r[3]||=i(`p`,{class:`admin-stat-card__label`},`فروش ماه جاری`,-1),i(`p`,S,t(s(f)(q.value.monthSales)),1)]),i(`div`,C,[r[4]||=i(`p`,{class:`admin-stat-card__label`},`سفارشهای جدید`,-1),i(`p`,w,t(s(p)(q.value.newOrders)),1)]),i(`div`,T,[r[5]||=i(`p`,{class:`admin-stat-card__label`},`در انتظار بررسی`,-1),i(`p`,E,t(s(p)(q.value.pendingReview)),1)])]),$.value?(d(),l(`div`,D,[i(`div`,O,[r[6]||=i(`p`,{class:`admin-stat-card__label`},`مشتریان فعال`,-1),i(`p`,k,t(s(p)($.value.active)),1)]),i(`div`,A,[r[7]||=i(`p`,{class:`admin-stat-card__label`},`غیرفعال`,-1),i(`p`,j,t(s(p)($.value.inactive)),1)]),i(`div`,M,[r[8]||=i(`p`,{class:`admin-stat-card__label`},`جدید ۳۰ روز`,-1),i(`p`,N,t(s(p)($.value.newLast30Days)),1)]),i(`div`,P,[r[9]||=i(`p`,{class:`admin-stat-card__label`},`بدون خرید`,-1),i(`p`,F,t(s(p)($.value.noPurchase)),1)]),i(`div`,I,[r[10]||=i(`p`,{class:`admin-stat-card__label`},`بدون خرید ۹۰ روز`,-1),i(`p`,L,t(s(p)($.value.noPurchase90Days)),1)]),i(`div`,R,[r[11]||=i(`p`,{class:`admin-stat-card__label`},`دارای واسطه`,-1),i(`p`,z,t(s(p)($.value.withAgent)),1)])])):e(``,!0),i(`div`,B,[i(`section`,V,[r[13]||=i(`h2`,{class:`reports-page__section-title`},`فروش به تفکیک شرکت`,-1),i(`div`,H,[i(`table`,U,[r[12]||=i(`thead`,null,[i(`tr`,null,[i(`th`,null,`شرکت`),i(`th`,null,`تعداد سفارش`),i(`th`,null,`مجموع متراژ`),i(`th`,null,`مجموع مبلغ`)])],-1),i(`tbody`,null,[(d(!0),l(n,null,c(J.value,e=>(d(),l(`tr`,{key:e.companyName},[i(`td`,null,t(e.companyName),1),i(`td`,null,t(s(p)(e.orderCount)),1),i(`td`,null,t(s(o)(e.meterage)),1),i(`td`,null,t(s(f)(e.totalAmount)),1)]))),128))])])]),i(`div`,ce,[(d(!0),l(n,null,c(J.value,e=>(d(),l(`article`,{key:e.companyName,class:`admin-card-item`},[i(`p`,W,t(e.companyName),1),i(`div`,G,[i(`span`,null,t(e.orderCount)+` سفارش`,1),i(`span`,null,t(s(o)(e.meterage)),1),i(`span`,null,t(s(f)(e.totalAmount)),1)])]))),128))])]),i(`section`,le,[r[15]||=i(`h2`,{class:`reports-page__section-title`},`سفارشها به تفکیک وضعیت`,-1),i(`div`,ue,[i(`table`,de,[r[14]||=i(`thead`,null,[i(`tr`,null,[i(`th`,null,`وضعیت`),i(`th`,null,`تعداد`)])],-1),i(`tbody`,null,[(d(!0),l(n,null,c(Y.value,e=>(d(),l(`tr`,{key:e.status},[i(`td`,null,t(e.status),1),i(`td`,null,t(s(p)(e.count)),1)]))),128))])])]),i(`ul`,fe,[(d(!0),l(n,null,c(Y.value,e=>(d(),l(`li`,{key:e.status},[i(`span`,null,t(e.status),1),i(`strong`,null,t(s(p)(e.count)),1)]))),128))])])]),X.value.length?(d(),l(`div`,pe,[i(`section`,me,[r[17]||=i(`h2`,{class:`reports-page__section-title`},`فروش ماهانه`,-1),i(`div`,he,[i(`table`,ge,[r[16]||=i(`thead`,null,[i(`tr`,null,[i(`th`,null,`ماه`),i(`th`,null,`تعداد سفارش`),i(`th`,null,`مجموع متراژ`),i(`th`,null,`مجموع مبلغ`)])],-1),i(`tbody`,null,[(d(!0),l(n,null,c(X.value,e=>(d(),l(`tr`,{key:e.month},[i(`td`,null,t(e.month),1),i(`td`,null,t(s(p)(e.orderCount)),1),i(`td`,null,t(s(o)(e.meterage)),1),i(`td`,null,t(s(f)(e.totalAmount)),1)]))),128))])])])])])):e(``,!0),Z.value.length||Q.value.length?(d(),l(`div`,_e,[Z.value.length?(d(),l(`section`,ve,[r[19]||=i(`h2`,{class:`reports-page__section-title`},`فروش به تفکیک محصول`,-1),i(`div`,ye,[i(`table`,be,[r[18]||=i(`thead`,null,[i(`tr`,null,[i(`th`,null,`محصول`),i(`th`,null,`کد`),i(`th`,null,`تعداد سفارش`),i(`th`,null,`متراژ`),i(`th`,null,`مبلغ`)])],-1),i(`tbody`,null,[(d(!0),l(n,null,c(Z.value,e=>(d(),l(`tr`,{key:e.productId},[i(`td`,null,t(e.productName),1),i(`td`,xe,t(e.productCode),1),i(`td`,null,t(s(p)(e.orderCount)),1),i(`td`,null,t(s(o)(e.meterage)),1),i(`td`,null,t(s(f)(e.totalAmount)),1)]))),128))])])])])):e(``,!0),Q.value.length?(d(),l(`section`,Se,[r[21]||=i(`h2`,{class:`reports-page__section-title`},`فروش به تفکیک مشتری`,-1),i(`div`,Ce,[i(`table`,we,[r[20]||=i(`thead`,null,[i(`tr`,null,[i(`th`,null,`مشتری`),i(`th`,null,`تعداد سفارش`),i(`th`,null,`متراژ`),i(`th`,null,`مبلغ`)])],-1),i(`tbody`,null,[(d(!0),l(n,null,c(Q.value,e=>(d(),l(`tr`,{key:e.customerName},[i(`td`,null,t(e.customerName),1),i(`td`,null,t(s(p)(e.orderCount)),1),i(`td`,null,t(s(o)(e.meterage)),1),i(`td`,null,t(s(f)(e.totalAmount)),1)]))),128))])])])])):e(``,!0)])):e(``,!0)],64))]))}}),[[`__scopeId`,`data-v-6618f331`]]);export{K as default}; |