1 line
7.7 KiB
JavaScript
1 line
7.7 KiB
JavaScript
import{A as e,D as t,I as ee,J as n,K as te,L as r,M as i,N as a,P as ne,R as o,St as s,T as c,Tt as l,X as u,_ as re,et as ie,g as ae,j as d,k as f,n as p,nt as oe,pt as m,wt as h,xt as g}from"./BasicIcon-B6lR-mG3.js";import{o as _}from"./format-BHJptHdF.js";import{c as se,o as v,w as ce}from"./index-DDi4iM2C.js";import{r as le,t as ue}from"./constants-DXXK14Zz.js";import{t as de}from"./IconPhone-Glpo76KE.js";import{t as fe}from"./IconEditPen-CppsBLM9.js";import{t as pe}from"./IconClipboardEmpty-D2QGqogo.js";import{t as me}from"./PageHeader-COmjOmby.js";import{t as he}from"./PageSkeleton-BImjuI6S.js";import{t as ge}from"./crm-DbcoqKAF.js";import{t as _e}from"./IconMail-BWRmFd4j.js";var ve={key:0,class:`page customer-page`},y={class:`page__scroll page__scroll--with-nav customer-scroll`},b={key:0,class:`profile-row`},x={class:`name-row`},S={dir:`ltr`},C={key:1,class:`profile-banner`},w={class:`profile-banner__top`},T={dir:`ltr`},E={class:`profile-banner__stats`},D={class:`tabs`},O=[`onClick`],k={class:`stats`},A={class:`stats__grid`},j={class:`agent-card__avatar`},M={class:`section-head`},N=[`onClick`,`onKeydown`],P={key:0,class:`empty-inline`},F=[`onClick`,`onKeydown`],ye={key:0,class:`empty-inline`},be={class:`meeting-filters`},xe=[`onClick`],Se={class:`meeting-row__body`},Ce={key:0,class:`empty-inline`},we={key:0,class:`cta-bar`},Te={key:1,class:`page empty`},Ee={key:2,class:`page empty`},I=p(o({__name:`CustomerDetailView`,setup(o){let p=ae(),I=re(),De=ge(),L=se(),R=f(()=>String(p.query.id??``)),z=f(()=>String(p.query.tab??`info`)),B=m(null),V=m([]),H=m([]),U=m(`all`),W=m(!0),G=m(null),Oe=[{id:`info`,label:`اطلاعات`},{id:`orders`,label:`سفارشها`},{id:`reports`,label:`گزارشها و پیگیریها`}];async function K(){if(!R.value){B.value=null,W.value=!1;return}W.value=!0,G.value=null;try{let e=await De.loadCustomerDetail(R.value);B.value=e.customer,V.value=e.orders,H.value=e.meetings}catch(e){B.value=null,G.value=e instanceof Error?e.message:`مشتری یافت نشد.`}finally{W.value=!1}}te(K),ie(R,K);function q(e){I.replace({path:`/customer`,query:{id:R.value,tab:e}})}function J(e){return e===`in_person`?`ملاقات حضوری`:e===`call`?`تماس`:e===`message`?`پیام`:`یادداشت`}let Y=f(()=>B.value?.agentName||L.fullName||`واسطه`),ke=f(()=>B.value?.agentCode||L.user?.agentCode||`—`),Ae=f(()=>Y.value.charAt(0)),je=[{id:`all`,label:`همه`},{id:`in_person`,label:`ملاقات حضوری`},{id:`call`,label:`تماس`},{id:`message`,label:`پیام`},{id:`note`,label:`یادداشت`}],X=f(()=>U.value===`all`?H.value:H.value.filter(e=>e.type===U.value));function Me(e){return e===`in_person`?`meeting-row__icon--green`:e===`call`?`meeting-row__icon--blue`:`meeting-row__icon--purple`}function Z(e){e&&I.push({path:`/order`,query:{id:e}})}function Q(e){let t=e.statusLabel;return ue[t]||e.statusLabel}function $(e){let t=le[e.statusLabel];return t===`success`?`success`:t===`warning`||t===`danger`?`warning`:e.statusTone||`info`}return(te,o)=>B.value?(n(),a(`div`,ve,[r(me,{title:z.value===`reports`?`پروفایل مشتری`:`جزئیات مشتری`,"show-back":``,centered:``,onBack:o[1]||=e=>g(I).push(`/customers`)},ne({_:2},[z.value===`info`?{name:`trailing`,fn:oe(()=>[e(`button`,{type:`button`,class:`edit-btn`,onClick:o[0]||=e=>g(I).back()},`ویرایش`)]),key:`0`}:void 0]),1032,[`title`]),e(`div`,y,[z.value===`reports`?(n(),a(`section`,C,[e(`div`,w,[e(`div`,{class:`avatar avatar--lg`,style:h({background:B.value.avatarColor})},l(B.value.avatarLetter),5),e(`div`,null,[e(`h2`,null,l(B.value.name),1),e(`p`,null,l(B.value.contactName),1),e(`p`,T,l(B.value.phone),1)]),o[7]||=e(`span`,{class:`badge badge--light`},`مشتری فعال`,-1)]),e(`div`,E,[e(`div`,null,[o[8]||=e(`span`,null,`سطح مشتری`,-1),e(`strong`,null,l(B.value.levelLabel),1)]),e(`div`,null,[o[9]||=e(`span`,null,`تاریخ اولین خرید`,-1),e(`strong`,null,l(B.value.firstPurchaseDate),1)]),e(`div`,null,[o[10]||=e(`span`,null,`تعداد سفارش`,-1),e(`strong`,null,l(g(_)(B.value.orderCount))+` سفارش`,1)])])])):(n(),a(`section`,b,[e(`div`,{class:`avatar`,style:h({background:B.value.avatarColor})},l(B.value.avatarLetter),5),e(`div`,null,[e(`div`,x,[e(`h2`,null,l(B.value.name),1),o[6]||=e(`span`,{class:`badge`},`فعال`,-1)]),e(`p`,S,l(B.value.phone),1)])])),e(`div`,D,[(n(),a(t,null,u(Oe,t=>e(`button`,{key:t.id,type:`button`,class:s([`tab`,{"tab--active":z.value===t.id}]),onClick:e=>q(t.id)},l(t.label),11,O)),64))]),z.value===`info`?(n(),a(t,{key:2},[e(`section`,k,[o[16]||=e(`h3`,null,`اطلاعات خرید`,-1),e(`div`,A,[e(`div`,null,[o[11]||=e(`span`,null,`تعداد سفارش`,-1),e(`strong`,null,l(g(_)(B.value.orderCount)),1)]),e(`div`,null,[o[12]||=e(`span`,null,`مجموع خرید`,-1),e(`strong`,null,l(g(_)(B.value.totalPurchaseToman)),1),o[13]||=e(`em`,null,`تومان`,-1)]),e(`div`,null,[o[14]||=e(`span`,null,`میانگین هر سفارش`,-1),e(`strong`,null,l(g(_)(B.value.averageOrderToman)),1),o[15]||=e(`em`,null,`تومان`,-1)])])]),e(`button`,{type:`button`,class:`agent-card`,onClick:o[2]||=e=>g(I).push(`/profile`)},[e(`div`,j,l(Ae.value),1),e(`div`,null,[e(`strong`,null,l(Y.value),1),e(`p`,null,`کد واسطه: `+l(ke.value),1)]),r(v,{size:18})]),e(`section`,null,[e(`div`,M,[o[17]||=e(`h3`,null,`آخرین سفارشها`,-1),e(`button`,{type:`button`,class:`link`,onClick:o[3]||=e=>q(`orders`)},`مشاهده همه`)]),(n(!0),a(t,null,u(V.value,t=>(n(),a(`article`,{key:t.id,class:`order-row`,role:`button`,tabindex:`0`,onClick:e=>Z(t.id),onKeydown:c(e=>Z(t.id),[`enter`])},[e(`div`,null,[e(`strong`,null,l(t.title),1),e(`p`,null,l(g(_)(t.amountToman))+` تومان`,1)]),e(`span`,{class:s([`tone`,`tone--${$(t)}`])},l(Q(t)),3),r(v,{size:16,class:`order-row__chevron`})],40,N))),128)),V.value.length?i(``,!0):(n(),a(`p`,P,`سفارشی ثبت نشده است.`))])],64)):z.value===`orders`?(n(),a(t,{key:3},[(n(!0),a(t,null,u(V.value,t=>(n(),a(`article`,{key:t.id,class:`order-row`,role:`button`,tabindex:`0`,onClick:e=>Z(t.id),onKeydown:c(e=>Z(t.id),[`enter`])},[e(`div`,null,[e(`strong`,null,l(t.title),1),e(`p`,null,l(t.date)+` — `+l(g(_)(t.amountToman))+` تومان`,1)]),e(`span`,{class:s([`tone`,`tone--${$(t)}`])},l(Q(t)),3),r(v,{size:16,class:`order-row__chevron`})],40,F))),128)),V.value.length?i(``,!0):(n(),a(`p`,ye,`سفارشی ثبت نشده است.`))],64)):(n(),a(t,{key:4},[o[18]||=e(`h3`,{class:`block-title`},`تعاملات و پیگیریها`,-1),e(`button`,{type:`button`,class:`dashed-btn`,onClick:o[4]||=e=>g(I).push({path:`/meeting-report`,query:{customerId:B.value.id}})},` + ثبت گزارش ملاقات جدید `),e(`div`,be,[(n(),a(t,null,u(je,t=>e(`button`,{key:t.id,type:`button`,class:s([`meeting-filter`,{"meeting-filter--active":U.value===t.id}]),onClick:e=>U.value=t.id},l(t.label),11,xe)),64))]),(n(!0),a(t,null,u(X.value,t=>(n(),a(`article`,{key:t.id,class:`meeting-row`},[e(`div`,{class:s([`meeting-row__icon`,Me(t.type)])},[t.type===`in_person`?(n(),d(pe,{key:0,size:16})):t.type===`call`?(n(),d(de,{key:1,size:16})):t.type===`message`?(n(),d(_e,{key:2,size:16})):(n(),d(fe,{key:3,size:16}))],2),e(`div`,Se,[e(`strong`,null,l(J(t.type)),1),e(`p`,null,l(t.description||t.title),1)]),e(`span`,null,l(t.date),1)]))),128)),X.value.length?i(``,!0):(n(),a(`p`,Ce,` گزارشی برای این فیلتر ثبت نشده است. `))],64))]),z.value===`info`?(n(),a(`footer`,we,[e(`button`,{type:`button`,class:`cta`,onClick:o[5]||=e=>g(I).push(`/categories`)},[r(ce,{size:20,color:`#fff`}),o[19]||=ee(` سفارش جدید برای این مشتری `,-1)])])):i(``,!0)])):W.value?(n(),a(`div`,Te,[r(he,{variant:`detail`})])):(n(),a(`div`,Ee,[e(`p`,null,l(G.value||`مشتری یافت نشد.`),1)]))}}),[[`__scopeId`,`data-v-4afb1b74`]]);export{I as default}; |