1 line
4.9 KiB
JavaScript
1 line
4.9 KiB
JavaScript
import{A as e,Ct as t,Dt as n,Et as ee,J as r,L as i,M as a,N as o,O as s,P as c,Q as l,R as u,X as d,_ as te,g as ne,ht as f,it as p,j as m,n as h,nt as g,wt as _,z as v}from"./BasicIcon-Bnxm-DKk.js";import{o as y}from"./format-C72AoJ2H.js";import{E as re,o as ie,w as b}from"./index-DB4cQnln.js";import{t as ae}from"./IconFilter-DHL8PKX0.js";import{t as x}from"./PageSkeleton-CpZ7eT1v.js";import{t as S}from"./crm-CZ7XH3z9.js";import{t as C}from"./PageHeader-BxTTQB_F.js";import{t as w}from"./SearchField-CGW0jRdh.js";import{t as T}from"./CustomerCreateOverlay-CStx-5j-.js";var E={class:`page customers-page`},D={class:`desktop-page__head desktop-only customers-desk-head`},O={class:`page__scroll page__scroll--with-nav customers-scroll`},k={class:`toolbar`},A={class:`summary-card`},j={class:`summary-card__icon`,"aria-hidden":`true`},M={class:`summary-card__cols`},N={class:`tabs`,role:`tablist`},P=[`aria-selected`,`onClick`],F={class:`tab__text`},I={key:1},L=[`onClick`],R={class:`customer-card__body`},z={class:`customer-card__top`},B=h(v({__name:`CustomersView`,setup(h){let v=ne(),B=te(),oe=S(),V=f(String(v.query.q??``)),H=e(()=>String(v.query.status??`all`)),U=f([]),W=f(!0),G=f(null),K=e(()=>U.value),q=e(()=>v.query.create===`1`),se=e(()=>U.value.filter(e=>e.status===`active`).length),ce=e(()=>U.value.reduce((e,t)=>e+t.totalPurchaseToman,0)),le=[{id:`all`,label:`همه`},{id:`active`,label:`فعال`},{id:`inactive`,label:`غیرفعال`},{id:`new`,label:`جدید`}];async function J(){W.value=!0,G.value=null;try{U.value=await oe.loadCustomers({q:V.value||void 0,status:H.value===`all`?void 0:H.value})}catch(e){G.value=e instanceof Error?e.message:`بارگذاری مشتریان ناموفق بود.`,U.value=[]}finally{W.value=!1}}r(J),g([H,V],J);function Y(e){B.replace({path:`/customers`,query:{...e===`all`?{}:{status:e},...V.value?{q:V.value}:{}}})}function X(e){V.value=e,B.replace({path:`/customers`,query:{...H.value===`all`?{}:{status:H.value},...e?{q:e}:{}}})}function ue(e){return e===`active`?`فعال`:e===`inactive`?`غیرفعال`:`جدید`}function Z(e={}){return{...H.value===`all`?{}:{status:H.value},...V.value?{q:V.value}:{},...e}}function Q(){B.push({path:`/customers`,query:{...Z(),create:`1`}})}function $(){B.replace({path:`/customers`,query:Z()})}async function de(e){if(e){await B.replace({path:`/customer`,query:{id:e}});return}$(),await J()}function fe(){let e=[`all`,`active`,`inactive`,`new`],t=e.indexOf(H.value);Y(e[(t<0?0:t+1)%e.length]??`all`)}return(e,r)=>(d(),c(`div`,E,[u(C,{class:`mobile-only`,title:`مشتریان من`,"show-back":``,centered:``,onBack:r[0]||=e=>t(B).back()},{trailing:p(()=>[m(`button`,{type:`button`,class:`nav-add-btn`,"aria-label":`ثبت مشتری`,onClick:Q},[u(b,{size:22})])]),_:1}),m(`header`,D,[r[2]||=m(`div`,null,[m(`h1`,{class:`desktop-page__title`},`مشتریان من`),m(`p`,{class:`desktop-page__subtitle`},`مدیریت مشتریان و پیگیری خریدها`)],-1),m(`button`,{type:`button`,class:`desk-add-btn`,onClick:Q},[u(b,{size:18}),r[1]||=i(` ثبت مشتری `,-1)])]),m(`div`,O,[m(`div`,k,[u(w,{"model-value":V.value,placeholder:`جستجو بر اساس نام یا موبایل...`,"onUpdate:modelValue":X},null,8,[`model-value`]),m(`button`,{type:`button`,class:`filter-btn`,"aria-label":`فیلتر وضعیت`,onClick:fe},[u(ae,{size:18})])]),m(`section`,A,[m(`div`,j,[u(re,{size:22,color:`#fff`})]),m(`div`,M,[m(`div`,null,[r[3]||=m(`span`,null,`تعداد مشتری فعال`,-1),m(`strong`,null,n(t(y)(se.value)),1)]),r[6]||=m(`span`,{class:`summary-card__divider`,"aria-hidden":`true`},null,-1),m(`div`,null,[r[4]||=m(`span`,null,`مجموع خرید (ریال)`,-1),m(`strong`,null,n(t(y)(ce.value)),1),r[5]||=m(`em`,null,`تومان`,-1)])])]),m(`div`,N,[(d(),c(s,null,l(le,e=>m(`button`,{key:e.id,type:`button`,role:`tab`,class:_([`tab`,{"tab--active":H.value===e.id}]),"aria-selected":H.value===e.id,onClick:t=>Y(e.id)},[m(`span`,F,n(e.label),1)],10,P)),64))]),W.value?(d(),a(x,{key:0,variant:`list`})):G.value?(d(),c(`p`,I,n(G.value),1)):o(``,!0),(d(!0),c(s,null,l(K.value,e=>(d(),c(`button`,{key:e.id,type:`button`,class:`customer-card`,onClick:n=>t(B).push({path:`/customer`,query:{id:e.id}})},[m(`div`,{class:`customer-card__avatar`,style:ee({background:e.avatarColor})},n(e.avatarLetter),5),m(`div`,R,[m(`div`,z,[m(`strong`,null,n(e.name),1)]),m(`p`,null,n(e.phone),1),m(`p`,null,`مجموع خرید: `+n(t(y)(e.totalPurchaseToman))+` تومان`,1)]),m(`span`,{class:_([`status`,{"status--ok":e.status===`active`,"status--off":e.status===`inactive`,"status--new":e.status===`new`}])},n(ue(e.status)),3),u(ie,{size:18,class:`chevron`})],8,L))),128)),r[7]||=m(`section`,{class:`promo`},[m(`div`,null,[m(`strong`,null,`افزایش مشتریان = افزایش سطح شما`),m(`p`,null,`با جذب مشتریان بیشتر به سطح VIP برسید`)])],-1)]),u(T,{open:q.value,onClose:$,onSuccess:de},null,8,[`open`])]))}}),[[`__scopeId`,`data-v-a6283622`]]);export{B as default}; |