Files
nademitex_user/dist/assets/OrdersView-B8LbUHch.js
T
2026-09-13 15:36:48 +03:30

1 line
17 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{A as e,D as t,I as n,J as r,K as i,L as a,M as o,N as s,R as c,St as l,Tt as u,X as d,Z as f,_ as p,et as m,g as h,j as g,k as _,n as v,nt as y,pt as b,t as x,xt as S}from"./BasicIcon-B6lR-mG3.js";import{i as C,n as w,o as T,u as E}from"./format-BHJptHdF.js";import{t as D}from"./catalog-DNpqlweh.js";import{C as O,c as k,g as A,i as j,n as M,o as N}from"./index-DXso6ia7.js";import{t as P}from"./EmptyState-C6UAJ5_3.js";import{r as F,t as I}from"./constants-DXXK14Zz.js";import{t as L}from"./IconChevronBack-BXRfc2bX.js";import{n as R,t as z}from"./IconFamBaftLogo-CHx7e3Le.js";import{t as B}from"./IconCheckCircleOutline-t6E4YUKp.js";import{t as V}from"./IconFilter-DJjJ9EAy.js";import{t as H}from"./IconMoreVertical-Dw3RBXp5.js";var U=[`awaiting_review`,`awaiting_check_review`],W=[`submitted`,`pricing`,`check_in_progress`,`awaiting_cash_confirmation`,`preparing`,`ready_to_ship`,`needs_correction`,`awaiting_settlement_fix`,`cash_in_progress`,`awaiting_cash_payment`,`cash_payment_submitted`,`check_needs_fix`,`awaiting_settlement`,`cash_invoice_issued`],G=[`shipped`],K=[`delivered`,`final_approved`,`checks_approved`,`cash_confirmed`],q=[`cancelled`,`rejected`,`expired`,`check_rejected`],ee=[...U,...W,...G];function te(e,t){switch(t){case`review`:return U.includes(e);case`in_progress`:return W.includes(e);case`shipped`:return G.includes(e);case`delivered`:return K.includes(e);case`cancelled`:return q.includes(e);default:return!0}}function ne(e,t){return t===`active`?ee.includes(e):t===`done`?K.includes(e):t!==`cancelled`||q.includes(e)}var J=5,Y=5;function X(){let e=p(),t=h(),n=A(),r=k(),a=D(),o=b(1),s=b(1),c=b(``);i(async()=>{await Promise.all([n.hydrate(),a.loadCompanies()])}),m(()=>t.query.submitted,n=>{let r=Number(n);if(!Number.isFinite(r)||r<1){c.value=``;return}c.value=r===1?`پیش‌سفارش با موفقیت ثبت شد.`:`${E(String(r))} پیش‌سفارش (برای شرکت‌های مختلف) ثبت شد.`;let{submitted:i,...a}=t.query;e.replace({query:a})},{immediate:!0});let l=_({get:()=>e.currentRoute.value.query.tab??`all`,set:t=>e.replace({query:{...e.currentRoute.value.query,tab:t}})}),u=_({get:()=>e.currentRoute.value.query.filter??`all`,set:t=>e.replace({query:{...e.currentRoute.value.query,filter:t===`all`?void 0:t}})}),d=_(()=>e.currentRoute.value.query.q??``),f=_(()=>r.user?n.userOrders(r.user.id):[]),g=_(()=>({total:f.value.length,review:f.value.filter(e=>U.includes(e.status)).length,inProgress:f.value.filter(e=>W.includes(e.status)).length,done:f.value.filter(e=>K.includes(e.status)).length}));function v(e,t){if(!t.trim())return!0;let n=t.trim().toLowerCase();return e.orderNumber.toLowerCase().includes(n)||e.companyName.toLowerCase().includes(n)}let y=_(()=>f.value.filter(e=>v(e,d.value)).filter(e=>ne(e.status,l.value))),x=_(()=>f.value.filter(e=>v(e,d.value)).filter(e=>te(e.status,u.value))),S=_(()=>{let e=(o.value-1)*J;return x.value.slice(e,e+J)}),C=_(()=>Math.max(1,Math.ceil(x.value.length/J))),w=_(()=>x.value.length===0?{start:0,end:0}:{start:(o.value-1)*J+1,end:Math.min(o.value*J,x.value.length)}),T=_(()=>{let e=C.value,t=o.value;if(e<=7)return Array.from({length:e},(e,t)=>t+1);let n=[1];t>3&&n.push(`ellipsis`);let r=Math.max(2,t-1),i=Math.min(e-1,t+1);for(let e=r;e<=i;e+=1)n.push(e);return t<e-2&&n.push(`ellipsis`),e>1&&n.push(e),n}),O=_(()=>Math.max(1,Math.ceil(y.value.length/Y))),j=_(()=>{let e=(s.value-1)*Y;return y.value.slice(e,e+Y)}),M=_(()=>y.value.length===0?{start:0,end:0}:{start:(s.value-1)*Y+1,end:Math.min(s.value*Y,y.value.length)}),N=_(()=>{let e=O.value,t=s.value;if(e<=5)return Array.from({length:e},(e,t)=>t+1);let n=[1];t>3&&n.push(`ellipsis`);let r=Math.max(2,t-1),i=Math.min(e-1,t+1);for(let e=r;e<=i;e+=1)n.push(e);return t<e-2&&n.push(`ellipsis`),e>1&&n.push(e),n});m([x,u,d],()=>{o.value=1}),m([y,l,d],()=>{s.value=1});function P(e){return a.getCompany(e.companyId)?.slug??`par`}function F(e){return K.includes(e.status)?`success`:P(e)===`fam-baft`?`fam-baft`:`par`}function I(t){e.push(`/orders/${t}`)}function L(e){e<1||e>C.value||(o.value=e)}function R(e){e<1||e>O.value||(s.value=e)}function z(e){u.value=u.value===e&&e!==`all`?`all`:e}function B(e){u.value=e}return{tab:l,desktopFilter:u,searchQuery:d,stats:g,filteredOrdersMobile:y,filteredOrdersDesktop:x,paginatedOrders:S,paginatedOrdersMobile:j,totalPages:C,mobileTotalPages:O,paginationRange:w,mobilePaginationRange:M,visiblePages:T,mobileVisiblePages:N,currentPage:o,mobilePage:s,companySlug:P,iconVariant:F,submitSuccessMessage:c,goToOrder:I,setPage:L,setMobilePage:R,setDesktopFilter:z,viewStatFilter:B}}var Z=[`aria-selected`,`onClick`],re=v(c({__name:`FilterTabs`,props:{modelValue:{},tabs:{},equal:{type:Boolean}},emits:[`update:modelValue`],setup(e){return(n,i)=>(r(),s(`div`,{class:l([`filter-tabs`,{"filter-tabs--equal":e.equal}]),role:`tablist`},[(r(!0),s(t,null,d(e.tabs,t=>(r(),s(`button`,{key:t.id,type:`button`,role:`tab`,class:l([`filter-tab`,{active:e.modelValue===t.id}]),"aria-selected":e.modelValue===t.id,onClick:e=>n.$emit(`update:modelValue`,t.id)},u(t.label),11,Z))),128))],2))}}),[[`__scopeId`,`data-v-4cd20e9b`]]),ie=v(c({__name:`BaseBadge`,props:{variant:{}},setup(e){return(t,n)=>(r(),s(`span`,{class:l([`badge`,`badge-${e.variant??`neutral`}`])},[f(t.$slots,`default`,{},void 0,!0)],2))}}),[[`__scopeId`,`data-v-5e1be8f4`]]),Q=c({__name:`StatusBadge`,props:{status:{}},setup(e){let t=e,i=_(()=>I[t.status]??t.status),a=_(()=>F[t.status]??`neutral`);return(e,t)=>(r(),g(ie,{variant:a.value},{default:y(()=>[n(u(i.value),1)]),_:1},8,[`variant`]))}}),ae={class:`page orders-mobile-page`},oe={class:`orders-mobile-page__nav`},se={class:`page__scroll page__scroll--with-nav orders-mobile-page__scroll`},ce={key:0,class:`orders-mobile-page__list`},le=[`onClick`],ue={class:`order-card__content`},de={class:`order-card__number`},fe={class:`order-card__company`},pe={key:0,class:`order-card__amount`},me={key:2,class:`orders-mobile-pagination`},he={class:`orders-mobile-pagination__summary`},ge={class:`orders-mobile-pagination__controls`},_e=[`disabled`],ve={key:0,class:`orders-mobile-pagination__ellipsis`},ye=[`onClick`],be=[`disabled`],xe=v(c({__name:`MobileOrdersPage`,props:{tab:{},tabs:{},orders:{},totalCount:{},currentPage:{},totalPages:{},paginationRange:{},visiblePages:{},companySlug:{type:Function},iconVariant:{type:Function}},emits:[`update:tab`,`select`,`back`,`set-page`],setup(i,{emit:c}){let f=c;return(c,p)=>(r(),s(`div`,ae,[e(`header`,oe,[e(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:p[0]||=e=>f(`back`)},[a(L,{size:20})]),p[5]||=e(`h1`,{class:`orders-mobile-page__title`},`سفارش‌ها`,-1),a(j,{variant:`inline`})]),a(re,{"model-value":i.tab,tabs:i.tabs,equal:``,class:`orders-mobile-page__tabs`,"onUpdate:modelValue":p[1]||=e=>f(`update:tab`,e)},null,8,[`model-value`,`tabs`]),e(`div`,se,[i.orders.length>0?(r(),s(`div`,ce,[(r(!0),s(t,null,d(i.orders,t=>(r(),s(`button`,{key:t.id,type:`button`,class:`order-card`,onClick:e=>f(`select`,t.id)},[e(`div`,ue,[p[6]||=e(`span`,{class:`order-card__label`},`سفارش شماره`,-1),e(`strong`,de,u(t.orderNumber),1),e(`p`,fe,u(t.companyName),1),t.finalAmount?(r(),s(`p`,pe,u(S(w)(t.finalAmount)),1)):o(``,!0),a(Q,{status:t.status,class:`order-card__badge`},null,8,[`status`])]),e(`span`,{class:l([`order-card__icon`,`order-card__icon--${i.iconVariant(t)}`])},[i.companySlug(t)===`fam-baft`?(r(),g(z,{key:0,size:36})):(r(),g(R,{key:1,size:36}))],2)],8,le))),128))])):(r(),g(P,{key:1,variant:`orders`,message:`هنوز سفارشی ثبت نکرده‌اید`},{default:y(()=>[a(M,{onClick:p[2]||=e=>f(`back`)},{default:y(()=>[...p[7]||=[n(`ثبت سفارش جدید`,-1)]]),_:1})]),_:1})),i.totalCount>0?(r(),s(`div`,me,[e(`p`,he,u(S(E)(String(i.paginationRange.start)))+`– `+u(S(E)(String(i.paginationRange.end)))+` از `+u(S(T)(i.totalCount)),1),e(`div`,ge,[e(`button`,{type:`button`,class:`orders-mobile-pagination__arrow`,disabled:i.currentPage<=1,"aria-label":`صفحه قبل`,onClick:p[3]||=e=>f(`set-page`,i.currentPage-1)},[a(N,{size:16,class:`orders-mobile-pagination__arrow--prev`})],8,_e),(r(!0),s(t,null,d(i.visiblePages,(e,n)=>(r(),s(t,{key:`${e}-${n}`},[e===`ellipsis`?(r(),s(`span`,ve,`…`)):(r(),s(`button`,{key:1,type:`button`,class:l([`orders-mobile-pagination__page`,{"orders-mobile-pagination__page--active":e===i.currentPage}]),onClick:t=>f(`set-page`,e)},u(S(E)(String(e))),11,ye))],64))),128)),e(`button`,{type:`button`,class:`orders-mobile-pagination__arrow`,disabled:i.currentPage>=i.totalPages,"aria-label":`صفحه بعد`,onClick:p[4]||=e=>f(`set-page`,i.currentPage+1)},[a(N,{size:16,class:`orders-mobile-pagination__arrow--next`})],8,be)])])):o(``,!0)])]))}}),[[`__scopeId`,`data-v-de30513b`]]),Se=c({__name:`IconHourglass`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(r(),g(x,{icon:`vuesax-linear:timer-1`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Ce=c({__name:`IconProgressClock`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(r(),g(x,{icon:`vuesax-linear:clock`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),we={class:`desktop-page orders-desktop-page`},Te={class:`orders-stats desktop-grid-4`},Ee={class:`orders-stat-card`},De={class:`orders-stat-card__head`},Oe={class:`orders-stat-card__icon orders-stat-card__icon--total`,"aria-hidden":`true`},ke={class:`orders-stat-card__value`},Ae={class:`orders-stat-card`},je={class:`orders-stat-card__head`},Me={class:`orders-stat-card__icon orders-stat-card__icon--review`,"aria-hidden":`true`},Ne={class:`orders-stat-card__value`},Pe={class:`orders-stat-card`},Fe={class:`orders-stat-card__head`},Ie={class:`orders-stat-card__icon orders-stat-card__icon--active`,"aria-hidden":`true`},Le={class:`orders-stat-card__value`},Re={class:`orders-stat-card`},ze={class:`orders-stat-card__head`},Be={class:`orders-stat-card__icon orders-stat-card__icon--done`,"aria-hidden":`true`},Ve={class:`orders-stat-card__value`},He={class:`desktop-toolbar`},Ue={class:`desktop-toolbar__actions`},We={type:`button`,class:`orders-toolbar__filter-btn`},Ge={class:`orders-toolbar__pills`,role:`tablist`,"aria-label":`فیلتر وضعیت`},Ke=[`aria-selected`,`onClick`],qe={key:0,class:`desktop-table-wrap`},Je={class:`desktop-table-scroll`},Ye={class:`desktop-table orders-table`},Xe={class:`orders-table__number`},Ze={class:`orders-table__amount`},Qe={class:`orders-table__date`},$e={class:`orders-table__actions`},et=[`onClick`],tt={type:`button`,class:`orders-table__menu`,"aria-label":`گزینه‌های بیشتر`},$={class:`orders-pagination`},nt={class:`orders-pagination__summary`},rt={class:`orders-pagination__controls`},it=[`disabled`],at={key:0,class:`orders-pagination__ellipsis`},ot=[`onClick`],st=[`disabled`],ct=c({__name:`DesktopOrdersPage`,props:{stats:{},desktopFilter:{},desktopFilterTabs:{},filteredOrders:{},paginatedOrders:{},paginationRange:{},visiblePages:{},currentPage:{},totalPages:{}},emits:[`viewStatFilter`,`setDesktopFilter`,`select`,`setPage`,`newOrder`],setup(i,{emit:o}){let c=o;return(o,f)=>(r(),s(`div`,we,[f[14]||=e(`header`,{class:`desktop-page__head`},[e(`h1`,{class:`desktop-page__title`},`سفارش‌ها`),e(`p`,{class:`desktop-page__subtitle`},`مدیریت و پیگیری سفارش‌های ثبت شده`)],-1),e(`div`,Te,[e(`article`,Ee,[e(`div`,De,[f[7]||=e(`span`,{class:`orders-stat-card__label orders-stat-card__label--total`},`همه سفارش‌ها`,-1),e(`span`,Oe,[a(O,{size:20})])]),e(`strong`,ke,u(S(T)(i.stats.total)),1),e(`button`,{type:`button`,class:`orders-stat-card__link`,onClick:f[0]||=e=>c(`viewStatFilter`,`all`)},` مشاهده همه `)]),e(`article`,Ae,[e(`div`,je,[f[8]||=e(`span`,{class:`orders-stat-card__label orders-stat-card__label--review`},`در انتظار بررسی`,-1),e(`span`,Me,[a(Se,{size:20})])]),e(`strong`,Ne,u(S(T)(i.stats.review)),1),e(`button`,{type:`button`,class:`orders-stat-card__link`,onClick:f[1]||=e=>c(`viewStatFilter`,`review`)},` مشاهده همه `)]),e(`article`,Pe,[e(`div`,Fe,[f[9]||=e(`span`,{class:`orders-stat-card__label orders-stat-card__label--active`},`در حال انجام`,-1),e(`span`,Ie,[a(Ce,{size:20})])]),e(`strong`,Le,u(S(T)(i.stats.inProgress)),1),e(`button`,{type:`button`,class:`orders-stat-card__link`,onClick:f[2]||=e=>c(`viewStatFilter`,`in_progress`)},` مشاهده همه `)]),e(`article`,Re,[e(`div`,ze,[f[10]||=e(`span`,{class:`orders-stat-card__label orders-stat-card__label--done`},`تکمیل شده`,-1),e(`span`,Be,[a(B,{size:20})])]),e(`strong`,Ve,u(S(T)(i.stats.done)),1),e(`button`,{type:`button`,class:`orders-stat-card__link`,onClick:f[3]||=e=>c(`viewStatFilter`,`delivered`)},` مشاهده همه `)])]),e(`div`,He,[e(`div`,Ue,[e(`button`,We,[a(V,{size:18}),f[11]||=n(` فیلترها `,-1)])]),e(`div`,Ge,[(r(!0),s(t,null,d(i.desktopFilterTabs,e=>(r(),s(`button`,{key:e.id,type:`button`,role:`tab`,class:l([`orders-filter-pill`,{"orders-filter-pill--active":i.desktopFilter===e.id}]),"aria-selected":i.desktopFilter===e.id,onClick:t=>c(`setDesktopFilter`,e.id)},u(e.label),11,Ke))),128))])]),i.filteredOrders.length>0?(r(),s(`div`,qe,[e(`div`,Je,[e(`table`,Ye,[f[12]||=e(`thead`,null,[e(`tr`,null,[e(`th`,{scope:`col`},`شماره سفارش`),e(`th`,{scope:`col`},`شرکت`),e(`th`,{scope:`col`},`مبلغ فاکتور (تومان)`),e(`th`,{scope:`col`},`وضعیت`),e(`th`,{scope:`col`},`تاریخ ثبت`),e(`th`,{scope:`col`},`عملیات`)])],-1),e(`tbody`,null,[(r(!0),s(t,null,d(i.paginatedOrders,t=>(r(),s(`tr`,{key:t.id},[e(`td`,Xe,u(t.orderNumber),1),e(`td`,null,u(t.companyName),1),e(`td`,Ze,u(t.finalAmount?S(T)(t.finalAmount):`—`),1),e(`td`,null,[a(Q,{status:t.status},null,8,[`status`])]),e(`td`,Qe,u(S(C)(t.createdAt)),1),e(`td`,null,[e(`div`,$e,[e(`button`,{type:`button`,class:`orders-table__action`,onClick:e=>c(`select`,t.id)},` مشاهده `,8,et),e(`button`,tt,[a(H,{size:18})])])])]))),128))])])]),e(`div`,$,[e(`span`,nt,` نمایش `+u(S(T)(i.paginationRange.start))+` تا `+u(S(T)(i.paginationRange.end))+` از `+u(S(T)(i.filteredOrders.length))+` سفارش `,1),e(`div`,rt,[e(`button`,{type:`button`,class:`orders-pagination__arrow`,disabled:i.currentPage<=1,"aria-label":`صفحه قبل`,onClick:f[4]||=e=>c(`setPage`,i.currentPage-1)},[a(N,{size:16,class:`orders-pagination__arrow-icon--prev`})],8,it),(r(!0),s(t,null,d(i.visiblePages,(e,n)=>(r(),s(t,{key:`${e}-${n}`},[e===`ellipsis`?(r(),s(`span`,at,`…`)):(r(),s(`button`,{key:1,type:`button`,class:l([`orders-pagination__page`,{"orders-pagination__page--active":e===i.currentPage}]),onClick:t=>c(`setPage`,e)},u(S(T)(e)),11,ot))],64))),128)),e(`button`,{type:`button`,class:`orders-pagination__arrow`,disabled:i.currentPage>=i.totalPages,"aria-label":`صفحه بعد`,onClick:f[5]||=e=>c(`setPage`,i.currentPage+1)},[a(N,{size:16,class:`orders-pagination__arrow-icon--next`})],8,st)])])])):(r(),g(P,{key:1,variant:`orders`,message:`هنوز سفارشی ثبت نکرده‌اید`},{default:y(()=>[a(M,{onClick:f[6]||=e=>c(`newOrder`)},{default:y(()=>[...f[13]||=[n(`ثبت سفارش جدید`,-1)]]),_:1})]),_:1}))]))}}),lt={class:`orders-view`},ut={key:0,class:`orders-view__success`,role:`status`},dt=v(c({__name:`OrdersView`,setup(e){let t=p(),{tab:n,desktopFilter:i,stats:c,filteredOrdersMobile:l,filteredOrdersDesktop:d,paginatedOrders:f,paginatedOrdersMobile:m,totalPages:h,mobileTotalPages:g,paginationRange:_,mobilePaginationRange:v,visiblePages:y,mobileVisiblePages:b,currentPage:x,mobilePage:C,companySlug:w,iconVariant:T,submitSuccessMessage:E,goToOrder:D,setPage:O,setMobilePage:k,setDesktopFilter:A,viewStatFilter:j}=X(),M=[{id:`all`,label:`همه`},{id:`active`,label:`در جریان`},{id:`done`,label:`تکمیل شده`},{id:`cancelled`,label:`لغو شده`}],N=[{id:`review`,label:`در انتظار بررسی`},{id:`in_progress`,label:`در حال انجام`},{id:`shipped`,label:`ارسال شده`},{id:`delivered`,label:`تحویل شده`},{id:`cancelled`,label:`لغو شده`}];return(e,p)=>(r(),s(`div`,lt,[S(E)?(r(),s(`p`,ut,u(S(E)),1)):o(``,!0),a(xe,{class:`mobile-only`,tab:S(n),tabs:M,orders:S(m),"total-count":S(l).length,"current-page":S(C),"total-pages":S(g),"pagination-range":S(v),"visible-pages":S(b),"company-slug":S(w),"icon-variant":S(T),"onUpdate:tab":p[0]||=e=>n.value=e,onSelect:S(D),onBack:p[1]||=e=>S(t).push(`/`),onSetPage:S(k)},null,8,[`tab`,`orders`,`total-count`,`current-page`,`total-pages`,`pagination-range`,`visible-pages`,`company-slug`,`icon-variant`,`onSelect`,`onSetPage`]),a(ct,{class:`desktop-only`,stats:S(c),"desktop-filter":S(i),"desktop-filter-tabs":N,"filtered-orders":S(d),"paginated-orders":S(f),"pagination-range":S(_),"visible-pages":S(y),"current-page":S(x),"total-pages":S(h),onViewStatFilter:S(j),onSetDesktopFilter:S(A),onSelect:S(D),onSetPage:S(O),onNewOrder:p[2]||=e=>S(t).push(`/categories`)},null,8,[`stats`,`desktop-filter`,`filtered-orders`,`paginated-orders`,`pagination-range`,`visible-pages`,`current-page`,`total-pages`,`onViewStatFilter`,`onSetDesktopFilter`,`onSelect`,`onSetPage`])]))}}),[[`__scopeId`,`data-v-66049c15`]]);export{dt as default};