1 line
4.6 KiB
JavaScript
1 line
4.6 KiB
JavaScript
import{A as e,D as t,Dt as n,L as r,M as i,N as a,P as o,R as s,X as c,ht as l,it as u,j as d,k as f,n as p,nt as m,q as h,y as g,z as _}from"./BasicIcon-Bnxm-DKk.js";import{t as v}from"./http-Bnj5Ml97.js";import{l as y}from"./format-C72AoJ2H.js";import{a as b}from"./validation-Duyyve7l.js";import{c as x,n as S}from"./index-DB4cQnln.js";import{t as C}from"./FormErrorBanner-BahrrGfv.js";import{n as w,r as T,t as E}from"./formErrors-DglFjYkZ.js";import{t as D}from"./crm-CZ7XH3z9.js";import{t as O}from"./BaseInput-BFVjehfb.js";var k={class:`customer-create-form`},A={key:0,class:`customer-create-form__intro`},j={class:`customer-create-form__fields`},M=p(_({__name:`CustomerCreateForm`,props:{customerId:{},initial:{}},emits:[`success`],setup(e,{expose:t,emit:i}){let f=e,p=i,h=x(),g=D(),_=l(``),M=l(``),N=l(``),P=l(``),F=l({}),I=l(``),L=l(!1),R=()=>!!f.customerId;function z(e){_.value=e?.firstName??``,M.value=e?.lastName??``,N.value=e?.phone??``,P.value=e?.businessName??``,F.value={},I.value=``}m(()=>f.initial,e=>z(e),{immediate:!0});function B(e){F.value=w(F.value,e),T(F.value)||(I.value=``)}async function V(){if(F.value={},I.value=``,!h.isAgent){I.value=`فقط واسطه میتواند مشتری به لیست خود اضافه کند.`;return}let e=y(N.value),t={};if(_.value.trim()||(t.firstName=`نام الزامی است.`),M.value.trim()||(t.lastName=`نام خانوادگی الزامی است.`),b(e)||(t.phone=`شماره موبایل معتبر نیست.`),T(t)){F.value=t,I.value=E;return}let n={firstName:_.value.trim(),lastName:M.value.trim(),phone:e,businessName:P.value.trim()||void 0};L.value=!0;try{if(R()&&f.customerId){let e=await g.updateCustomer(f.customerId,n);p(`success`,e?.id??f.customerId);return}let e=await g.registerCustomer(n);p(`success`,e?.id)}catch(e){I.value=e instanceof v||e instanceof Error?e.message:R()?`ویرایش مشتری ناموفق بود.`:`ثبت مشتری ناموفق بود.`}finally{L.value=!1}}return t({submit:V,saving:L}),(e,t)=>(c(),o(`div`,k,[R()?a(``,!0):(c(),o(`p`,A,` مشتری به لیست شما اضافه میشود و بعد از ورود با همین شماره، سفارشهایش به حساب شما وصل میماند. `)),s(C,{message:I.value},null,8,[`message`]),d(`div`,j,[s(O,{modelValue:_.value,"onUpdate:modelValue":[t[0]||=e=>_.value=e,t[1]||=e=>B(`firstName`)],label:`نام`,placeholder:`نام مشتری`,error:F.value.firstName},null,8,[`modelValue`,`error`]),s(O,{modelValue:M.value,"onUpdate:modelValue":[t[2]||=e=>M.value=e,t[3]||=e=>B(`lastName`)],label:`نام خانوادگی`,placeholder:`نام خانوادگی`,error:F.value.lastName},null,8,[`modelValue`,`error`]),s(O,{modelValue:N.value,"onUpdate:modelValue":[t[4]||=e=>N.value=e,t[5]||=e=>B(`phone`)],label:`شماره موبایل`,type:`tel`,inputmode:`tel`,dir:`ltr`,placeholder:`۰۹۱۲۳۴۵۶۷۸۹`,error:F.value.phone},null,8,[`modelValue`,`error`]),s(O,{modelValue:P.value,"onUpdate:modelValue":t[6]||=e=>P.value=e,label:`نام فروشگاه یا برند (اختیاری)`,placeholder:`مثلاً بوتیک رز`},null,8,[`modelValue`])]),s(S,{block:``,loading:L.value,disabled:L.value,onClick:V},{default:u(()=>[r(n(R()?`ذخیره تغییرات`:`ثبت مشتری`),1)]),_:1},8,[`loading`,`disabled`])]))}}),[[`__scopeId`,`data-v-4f911c6f`]]),N={class:`customer-create-sheet`},P={class:`customer-create-sheet__head`},F={id:`customer-create-title`},I=p(_({__name:`CustomerCreateOverlay`,props:{open:{type:Boolean},customerId:{},initial:{},title:{}},emits:[`close`,`success`],setup(r,{emit:l}){let p=r,_=e(()=>p.title??(p.customerId?`ویرایش مشتری`:`افزودن مشتری`)),v=l;function y(){v(`close`)}function b(e){v(`success`,e)}function x(e){e.key===`Escape`&&p.open&&y()}return m(()=>p.open,e=>{document.body.style.overflow=e?`hidden`:``,e?window.addEventListener(`keydown`,x):window.removeEventListener(`keydown`,x)},{immediate:!0}),h(()=>{document.body.style.overflow=``,window.removeEventListener(`keydown`,x)}),(e,l)=>(c(),i(f,{to:`body`},[s(g,{name:`customer-create-sheet`},{default:u(()=>[r.open?(c(),o(`div`,{key:0,class:`customer-create-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`customer-create-title`,onClick:t(y,[`self`])},[d(`div`,N,[l[0]||=d(`div`,{class:`customer-create-sheet__handle`,"aria-hidden":`true`},null,-1),d(`header`,P,[d(`h2`,F,n(_.value),1),d(`button`,{type:`button`,class:`customer-create-sheet__close`,"aria-label":`بستن`,onClick:y},` × `)]),s(M,{"customer-id":r.customerId,initial:r.initial,onSuccess:b},null,8,[`customer-id`,`initial`])])])):a(``,!0)]),_:1})]))}}),[[`__scopeId`,`data-v-ac91feb8`]]);export{I as t}; |