Files
nademitex_user/dist/assets/CustomerDetailView-7DfKtoIe.js
T

1 line
17 KiB
JavaScript
Raw Normal View History

2026-10-29 15:26:08 +03:30
import{At as e,D as t,F as n,G as r,K as i,M as a,Nt as o,Pt as s,U as c,_ as l,c as u,d,f,g as p,i as m,k as h,l as g,m as _,nt as v,o as y,t as b,u as x,ut as S,v as C}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{c as w,l as T,n as E,o as D,t as O}from"./BasicIcon-DPmc0iaK.js";import{o as k}from"./format-C72AoJ2H.js";import{t as A}from"./IconCart-D9TX5E-P.js";import{C as j,S as M,c as N,o as P}from"./index-DYwnTikp.js";import{i as F,t as I}from"./constants-ptWoEwwP.js";import{t as ee}from"./IconPhone-BSof4l2r.js";import{t as te}from"./IconClipboardEmpty-DMrB9tzG.js";import{t as ne}from"./PageHeader-C5c2Pzrn.js";import{t as re}from"./PageSkeleton-DYdjm4l9.js";import{t as ie}from"./crm-CgnSby61.js";import{t as L}from"./PersianDateInput-BcTTynHd.js";import{t as R}from"./IconEditPen-D6lQ4xNz.js";import{t as z}from"./TimeInput-D6PzFPdF.js";import{t as ae}from"./CustomerCreateOverlay-BV-An-zG.js";var oe=C({__name:`IconMail`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),x(O,{icon:`vuesax-linear:sms`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),B={class:`meeting-report-form`},V={key:1,class:`form-error`},H={class:`customer-card`},U={dir:`ltr`},W={class:`type-grid`},G=[`onClick`],K={class:`two-cols two-cols--date`},q={class:`field`},J={class:`field`},se={class:`reminder-box`},Y={class:`reminder-box__head`},X=[`aria-pressed`],ce={class:`field`},Z={class:`two-cols two-cols--date`},le={class:`field`},Q=[`disabled`],ue=b(C({__name:`MeetingReportForm`,props:{customerId:{}},emits:[`success`],setup(t,{emit:r}){let u=t,p=r,_=ie(),y=v(null),b=v(!0),S=v(!1),C=v(null),w=v(`in_person`),T=v(``),E=v(``),O=v(``),k=v(``),A=v(!0),j=v(``),M=v(``),N=v(``),P=v(``),F=[{id:`in_person`,label:`ملاقات حضوری`,icon:`clipboard`},{id:`call`,label:`تماس تلفنی`,icon:`phone`},{id:`message`,label:`پیام`,icon:`mail`},{id:`note`,label:`یادداشت`,icon:`pen`}];async function I(){if(!u.customerId){b.value=!1,C.value=`مشتری مشخص نشده است.`,y.value=null;return}b.value=!0,C.value=null;try{let e=await _.loadCustomerDetail(u.customerId);y.value=e.customer}catch(e){y.value=null,C.value=e instanceof Error?e.message:`بارگذاری مشتری ناموفق بود.`}finally{b.value=!1}}h(I),c(()=>u.customerId,I);async function ne(){if(!u.customerId||!O.value.trim()||!T.value.trim()){C.value=`موضوع و تاریخ الزامی است.`;return}S.value=!0,C.value=null;try{await _.submitMeeting({customerId:u.customerId,type:w.value,title:O.value.trim(),subject:O.value.trim(),content:k.value.trim()||void 0,description:k.value.trim()||void 0,date:T.value.trim(),time:E.value.trim()||void 0,createReminder:A.value,reminderTitle:A.value?j.value.trim()||O.value.trim():void 0,reminderDate:A.value?M.value.trim()||T.value.trim():void 0,reminderTime:A.value?N.value.trim()||E.value.trim()||`10:00`:void 0,reminderNote:A.value&&P.value.trim()||void 0}),p(`success`)}catch(e){C.value=e instanceof Error?e.message:`ثبت گزارش ناموفق بود.`}finally{S.value=!1}}return(t,r)=>(a(),f(`div`,B,[b.value?(a(),x(re,{key:0,variant:`form`})):C.value?(a(),f(`p`,V,s(C.value),1)):d(``,!0),y.value?(a(),f(m,{key:2},[g(`section`,H,[g(`div`,{class:`avatar`,style:o({background:y.value.avatarColor})},s(y.value.avatarLetter),5),g(`div`,null,[g(`strong`,null,s(y.value.name),1),g(`p`,null,s(y.value.contactName),1),g(`p`,U,s(y.value.phone),1)])]),g(`section`,null,[r[9]||=g(`h3`,null,`نوع تعامل`,-1),g(`div`,W,[(a(),f(m,null,n(F,t=>g(`button`,{key:t.id,type:`button`,class:e([`type-btn`,{"type-btn--active":w.value===t.id}]),onClick:e=>w.value=t.id},[t.icon===`clipboard`?(a(),x(te,{key:0,size:22})):t.icon===`phone`?(a(),x(ee,{key:1,size:22})):t.icon===`mail`?(a(),x(oe,{key:2,size:22})):(a(),x(R,{key:3,size:22})),g(`span`,null,s(t.label),1)],10,G)),64))])]),g(`section`,null,[r[10]||=g(`h3`,null,`تاریخ و زمان`,-1),g(`div`,K,[l(L,{modelValue:T.value,"onUpdate:modelValue":r[0]||=e=>T.value=e,label:`تاریخ`,class:`meeting-date`