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