Files
nademitex_user/dist/assets/CustomersView-C7eKz3Vr.js
T

1 line
4.1 KiB
JavaScript

import{A as e,D as t,J as n,K as r,L as i,M as a,N as o,R as s,St as c,Tt as l,X as u,_ as d,et as f,g as p,j as m,k as h,n as g,nt as _,pt as v,wt as y,xt as b}from"./BasicIcon-B6lR-mG3.js";import{o as x}from"./format-BHJptHdF.js";import{S as ee,o as te,y as S}from"./index-DHK6R1xK.js";import{t as C}from"./IconFilter-DJjJ9EAy.js";import{t as w}from"./PageSkeleton-BImjuI6S.js";import{t as T}from"./crm-DbcoqKAF.js";import{t as E}from"./PageHeader-Cza56lK4.js";import{t as D}from"./SearchField-txVsGGXT.js";var O={class:`page customers-page`},k={class:`page__scroll page__scroll--with-nav customers-scroll`},A={class:`toolbar`},j={class:`summary-card`},M={class:`summary-card__icon`,"aria-hidden":`true`},N={class:`summary-card__cols`},P={class:`tabs`,role:`tablist`},F=[`aria-selected`,`onClick`],I={class:`tab__text`},ne={key:1},L=[`onClick`],R={class:`customer-card__body`},z={class:`customer-card__top`},B={dir:`ltr`},V=g(s({__name:`CustomersView`,setup(s){let g=p(),V=d(),H=T(),U=v(String(g.query.q??``)),W=h(()=>String(g.query.status??`all`)),G=v([]),K=v(!0),q=v(null),J=h(()=>G.value),Y=h(()=>G.value.filter(e=>e.status===`active`).length),X=h(()=>G.value.reduce((e,t)=>e+t.totalPurchaseToman,0)),Z=[{id:`all`,label:`همه`},{id:`active`,label:`فعال`},{id:`inactive`,label:`غیرفعال`},{id:`new`,label:`جدید`}];async function Q(){K.value=!0,q.value=null;try{G.value=await H.loadCustomers({q:U.value||void 0,status:W.value===`all`?void 0:W.value})}catch(e){q.value=e instanceof Error?e.message:`بارگذاری مشتریان ناموفق بود.`,G.value=[]}finally{K.value=!1}}r(Q),f([W,U],Q);function $(e){V.replace({path:`/customers`,query:{...e===`all`?{}:{status:e},...U.value?{q:U.value}:{}}})}function re(e){U.value=e,V.replace({path:`/customers`,query:{...W.value===`all`?{}:{status:W.value},...e?{q:e}:{}}})}function ie(e){return e===`active`?`فعال`:e===`inactive`?`غیرفعال`:`جدید`}function ae(){V.push(`/customers/new`)}function oe(){let e=[`all`,`active`,`inactive`,`new`],t=e.indexOf(W.value);$(e[(t<0?0:t+1)%e.length]??`all`)}return(r,s)=>(n(),o(`div`,O,[i(E,{title:`مشتریان من`,"show-back":``,centered:``,onBack:s[0]||=e=>b(V).back()},{trailing:_(()=>[e(`button`,{type:`button`,class:`nav-add-btn`,"aria-label":`ثبت مشتری`,onClick:ae},[i(S,{size:22})])]),_:1}),e(`div`,k,[e(`div`,A,[i(D,{"model-value":U.value,placeholder:`جستجو بر اساس نام یا موبایل...`,"onUpdate:modelValue":re},null,8,[`model-value`]),e(`button`,{type:`button`,class:`filter-btn`,"aria-label":`فیلتر وضعیت`,onClick:oe},[i(C,{size:18})])]),e(`section`,j,[e(`div`,M,[i(ee,{size:22,color:`#fff`})]),e(`div`,N,[e(`div`,null,[s[1]||=e(`span`,null,`تعداد مشتری فعال`,-1),e(`strong`,null,l(b(x)(Y.value)),1)]),s[4]||=e(`span`,{class:`summary-card__divider`,"aria-hidden":`true`},null,-1),e(`div`,null,[s[2]||=e(`span`,null,`مجموع خرید (ریال)`,-1),e(`strong`,null,l(b(x)(X.value)),1),s[3]||=e(`em`,null,`تومان`,-1)])])]),e(`div`,P,[(n(),o(t,null,u(Z,t=>e(`button`,{key:t.id,type:`button`,role:`tab`,class:c([`tab`,{"tab--active":W.value===t.id}]),"aria-selected":W.value===t.id,onClick:e=>$(t.id)},[e(`span`,I,l(t.label),1)],10,F)),64))]),K.value?(n(),m(w,{key:0,variant:`list`})):q.value?(n(),o(`p`,ne,l(q.value),1)):a(``,!0),(n(!0),o(t,null,u(J.value,t=>(n(),o(`button`,{key:t.id,type:`button`,class:`customer-card`,onClick:e=>b(V).push({path:`/customer`,query:{id:t.id}})},[e(`div`,{class:`customer-card__avatar`,style:y({background:t.avatarColor})},l(t.avatarLetter),5),e(`div`,R,[e(`div`,z,[e(`strong`,null,l(t.name),1),e(`span`,{class:c([`status`,t.status===`active`?`status--ok`:`status--muted`])},l(ie(t.status)),3)]),e(`p`,B,l(t.phone),1),e(`p`,null,`مجموع خرید: `+l(b(x)(t.totalPurchaseToman))+` تومان`,1)]),i(te,{size:18,class:`chevron`})],8,L))),128)),s[5]||=e(`section`,{class:`promo`},[e(`div`,null,[e(`strong`,null,`افزایش مشتریان = افزایش سطح شما`),e(`p`,null,`با جذب مشتریان بیشتر به سطح VIP برسید`)])],-1)])]))}}),[[`__scopeId`,`data-v-d0b58aa9`]]);export{V as default};