diff --git a/dist/assets/CartView-C0jwRPr9.js b/dist/assets/CartView-2LBKVW4Y.js similarity index 99% rename from dist/assets/CartView-C0jwRPr9.js rename to dist/assets/CartView-2LBKVW4Y.js index f52229e..3fd5f8c 100644 --- a/dist/assets/CartView-C0jwRPr9.js +++ b/dist/assets/CartView-2LBKVW4Y.js @@ -1 +1 @@ -import{A as e,Ct as t,D as n,Et as r,L as i,M as a,N as o,O as s,P as c,R as l,St as u,Y as d,Z as f,_ as p,et as m,j as h,mt as g,n as _,q as v,rt as y,t as b,z as x}from"./BasicIcon-C6boaehV.js";import{a as S,o as C}from"./format-BHJptHdF.js";import{C as w,S as T,T as ee,d as E,n as D,o as O,t as k}from"./index-spodxsRN.js";import{t as A}from"./EmptyState-C_QQeA_h.js";import{t as j}from"./IconChevronBack-DORV2H0q.js";import{t as te}from"./FormErrorBanner-CjdBfIQT.js";import{t as M}from"./IconDiamond-Bgv1zgqc.js";import{t as N}from"./CheckoutStepper-CqUviuW7.js";import{t as P}from"./IconClipboardEmpty-5Av_Gh0W.js";import{t as F}from"./IconLayoutGrid-E-Q8Z5rF.js";function I(){let t=p(),n=ee(),r=E(),i=g(!1),a=g(!1),o=g(``),s=e(()=>n.activeCart?.items??[]),c=e(()=>s.value.length===0),l=e(()=>n.companyNamesLabel||n.activeCart?.companyName||``),u=e(()=>n.companySummaries);async function d(e){let t=s.value.find(t=>t.id===e);await k({title:`حذف از سبد`,message:t?`آیا از حذف «${t.productName}» از سبد خرید مطمئن هستید؟`:`آیا از حذف این آیتم از سبد خرید مطمئن هستید؟`,confirmLabel:`حذف`,cancelLabel:`انصراف`,tone:`danger`})&&n.removeItem(e)}async function f(){if(!(!n.activeCart||s.value.length===0||a.value)){a.value=!0,o.value=``;try{if(await n.hydrate(),!n.activeCart?.items.length){o.value=`سبد خرید خالی است یا با سرور همگام نشد.`;return}let e=await r.submitOrder(n.activeCart);await n.hydrate(),t.replace(`/orders/${e.id}/success`)}catch(e){o.value=e instanceof Error?e.message:`ثبت سفارش ناموفق بود.`,await n.hydrate()}finally{a.value=!1}}}function m(){if(s.value.length!==0){if(n.isFull){i.value=!0;return}f()}}function h(){i.value=!1,f()}async function _(){await n.createNewCartForSameCompany(),i.value=!1,t.push(`/categories`)}return v(()=>{n.ensureActiveCartForCartPage()}),{cartStore:n,items:s,isEmpty:c,companyName:l,companySummaries:u,showFullDialog:i,submitting:a,submitError:o,removeItem:d,proceedToCheckout:m,proceedAnyway:h,createNewInvoice:_}}var L=x({__name:`IconTrash`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(d(),a(b,{icon:`vuesax-linear:trash`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),R={class:`cart-mobile-page`},z={class:`cart-mobile-page__nav`},B={type:`button`,class:`nav-btn nav-btn--ghost`,"aria-hidden":`true`,tabindex:`-1`},V={key:0,class:`cart-mobile-page__body`},H={class:`cart-mobile-page__company`},U={class:`cart-mobile-page__scroll`},W={class:`cart-mobile-table`},G={class:`col-product`},K={key:0,class:`col-product__company`},q={class:`col-meterage`},J={class:`col-delete`},Y=[`onClick`],X={class:`cart-mobile-page__footer`},Z={class:`cart-mobile-summary`},Q={class:`cart-mobile-summary__row`},ne={class:`cart-mobile-summary__cap`},re={key:1,class:`cart-mobile-summary__row`},ie={class:`cart-mobile-summary__row`},ae=_(x({__name:`MobileCartPage`,props:{items:{},companyName:{},companySummaries:{},totalMeterage:{},maxMeterage:{},remainingCapacity:{},isEmpty:{type:Boolean},submitting:{type:Boolean}},emits:[`back`,`remove`,`checkout`,`selectCompany`],setup(e,{emit:t}){let n=t;return(t,p)=>(d(),c(`div`,R,[h(`header`,z,[h(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:p[0]||=e=>n(`back`)},[l(j,{size:20})]),p[3]||=h(`h1`,{class:`cart-mobile-page__title`},`سبد خرید`,-1),h(`button`,B,[l(j,{size:18,class:`nav-btn__flip`})])]),e.isEmpty?(d(),a(A,{key:1,variant:`cart`,message:`از دسته‌بندی یا کالیته محصول را انتخاب کنید`},{default:y(()=>[l(D,{onClick:p[2]||=e=>n(`selectCompany`)},{default:y(()=>[...p[10]||=[i(`مشاهده محصولات`,-1)]]),_:1})]),_:1})):(d(),c(`div`,V,[h(`p`,H,r(e.companyName?`شرکت‌ها: ${e.companyName}`:`سبد خرید مشترک`),1),h(`div`,U,[h(`div`,W,[p[4]||=h(`div`,{class:`cart-mobile-table__head`},[h(`span`,null,`محصول`),h(`span`,null,`متراژ (متر)`),h(`span`,null,`حذف`)],-1),(d(!0),c(s,null,f(e.items,e=>(d(),c(`div`,{key:e.id,class:`cart-mobile-table__row`},[h(`div`,G,[h(`strong`,null,r(e.productName),1),h(`span`,null,`کد: `+r(e.productCode),1),e.companyName?(d(),c(`span`,K,r(e.companyName),1)):o(``,!0)]),h(`div`,q,r(u(C)(e.meterage)),1),h(`div`,J,[h(`button`,{type:`button`,"aria-label":`حذف`,onClick:t=>n(`remove`,e.id)},[l(L,{size:20})],8,Y)])]))),128))])]),h(`div`,X,[h(`div`,Z,[h(`div`,Q,[p[5]||=h(`span`,null,`جمع متراژ کل`,-1),h(`strong`,null,r(u(S)(e.totalMeterage)),1)]),e.companySummaries?.length?(d(!0),c(s,{key:0},f(e.companySummaries,e=>(d(),c(`div`,{key:e.companyId,class:`cart-mobile-summary__row cart-mobile-summary__row--sub`},[h(`span`,null,r(e.companyName),1),h(`strong`,null,[i(r(u(S)(e.meterage))+` `,1),h(`span`,ne,`/ `+r(u(S)(e.maxMeterage)),1)])]))),128)):(d(),c(`div`,re,[p[6]||=h(`span`,null,`حداکثر مجاز`,-1),h(`strong`,null,r(u(S)(e.maxMeterage)),1)])),h(`div`,ie,[p[7]||=h(`span`,null,`باقی مانده`,-1),h(`strong`,null,r(u(S)(e.remainingCapacity)),1)])]),p[9]||=h(`p`,{class:`cart-mobile-page__hint`},` پس از ثبت، همه اقلام در یک پیش‌سفارش واحد قرار می‌گیرند و مدیریت قیمت‌گذاری می‌کند. `,-1),l(D,{block:``,loading:e.submitting,onClick:p[1]||=e=>n(`checkout`)},{default:y(()=>[...p[8]||=[i(`ثبت پیش‌سفارش`,-1)]]),_:1},8,[`loading`])])]))]))}}),[[`__scopeId`,`data-v-6370ec52`]]),oe=x({__name:`IconLightbulb`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(d(),a(b,{icon:`vuesax-linear:lamp-on`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),se={class:`desktop-page cart-desktop-page`},ce={class:`cart-desktop-page__head`},le={class:`cart-desktop-page__subtitle`},ue={class:`cart-desktop-page__layout`},de={class:`cart-desktop-page__main`},fe={key:0,class:`cart-empty-card`},pe={class:`cart-empty-card__visual`,"aria-hidden":`true`},me={class:`cart-empty-card__circle`},he={class:`cart-empty-card__actions`},ge={key:1,class:`cart-items-card`},_e={class:`cart-items-card__scroll`},ve={class:`cart-items-table`},ye={class:`cart-items-table__name`},be=[`onClick`],xe={class:`cart-desktop-page__sidebar`},Se={class:`cart-summary-card`},Ce={class:`cart-summary-card__title`},we={class:`cart-summary-card__title-icon`,"aria-hidden":`true`},Te={class:`cart-summary-card__rows`},Ee={class:`cart-summary-card__row`},De={class:`cart-summary-card__row-label`},Oe={class:`cart-summary-card__row`},ke={class:`cart-summary-card__row-label`},Ae={class:`cart-summary-card__row-label`},je={class:`cart-summary-card__cap`},Me={class:`cart-summary-card__row cart-summary-card__row--hint`},Ne={class:`cart-summary-card__row-label`},Pe=[`disabled`],$={class:`cart-guide-card`},Fe={class:`cart-guide-card__title`},Ie={class:`cart-guide-card__title-icon`,"aria-hidden":`true`},Le={class:`cart-guide-card__text`},Re={class:`cart-quick-nav`,"aria-label":`دسترسی سریع`},ze=[`onClick`],Be={class:`cart-quick-nav__body`},Ve={class:`cart-quick-nav__title`},He={class:`cart-quick-nav__desc`},Ue=_(x({__name:`DesktopCartPage`,props:{items:{},companyName:{},companySummaries:{},totalMeterage:{},maxMeterage:{},remainingCapacity:{},isEmpty:{type:Boolean},submitting:{type:Boolean}},emits:[`remove`,`checkout`,`selectCompany`,`back`],setup(e,{emit:n}){let g=n,_=p(),v=[{title:`کالیته‌ها`,desc:`مرور کالیته و طرح‌ها`,icon:F,tone:`blue`,action:()=>_.push(`/catalogs`)},{title:`دسته‌بندی`,desc:`مشاهده محصولات بر اساس کاربرد`,icon:M,tone:`green`,action:()=>_.push(`/categories`)},{title:`سفارش‌های من`,desc:`پیگیری وضعیت سفارش‌ها`,icon:T,tone:`blue`,action:()=>_.push(`/orders`)}];return(n,p)=>(d(),c(`div`,se,[l(N,{"current-step":1}),h(`header`,ce,[p[3]||=h(`h1`,{class:`cart-desktop-page__title`},`سبد خرید`,-1),h(`p`,le,r(e.companyName?`شرکت‌ها: ${e.companyName}`:`سبد خرید مشترک`),1)]),h(`div`,ue,[h(`section`,de,[e.isEmpty?(d(),c(`div`,fe,[h(`div`,pe,[p[4]||=h(`span`,{class:`cart-empty-card__spark cart-empty-card__spark--1`},`+`,-1),p[5]||=h(`span`,{class:`cart-empty-card__spark cart-empty-card__spark--2`},`·`,-1),h(`span`,me,[l(w,{size:40})]),p[6]||=h(`span`,{class:`cart-empty-card__spark cart-empty-card__spark--3`},`·`,-1)]),p[9]||=h(`h2`,{class:`cart-empty-card__heading`},`سبد خرید شما خالی است`,-1),p[10]||=h(`p`,{class:`cart-empty-card__text`},` از دسته‌بندی یا کالیته محصول را انتخاب کنید، جزئیات را ببینید و به سبد اضافه کنید. `,-1),h(`div`,he,[h(`button`,{type:`button`,class:`cart-btn cart-btn--primary`,onClick:p[0]||=e=>g(`selectCompany`)},[l(F,{size:18}),p[7]||=i(` مشاهده کالیته‌ها `,-1)]),h(`button`,{type:`button`,class:`cart-btn cart-btn--outline`,onClick:p[1]||=e=>u(_).push(`/categories`)},[l(M,{size:16}),p[8]||=i(` دسته‌بندی محصولات `,-1)])])])):(d(),c(`div`,ge,[h(`div`,_e,[h(`table`,ve,[p[11]||=h(`thead`,null,[h(`tr`,null,[h(`th`,{scope:`col`},`محصول`),h(`th`,{scope:`col`},`شرکت`),h(`th`,{scope:`col`},`کد`),h(`th`,{scope:`col`},`متراژ (متر)`),h(`th`,{scope:`col`},`حذف`)])],-1),h(`tbody`,null,[(d(!0),c(s,null,f(e.items,e=>(d(),c(`tr`,{key:e.id},[h(`td`,null,[h(`strong`,ye,r(e.productName),1)]),h(`td`,null,r(e.companyName||`—`),1),h(`td`,null,r(e.productCode),1),h(`td`,null,r(u(C)(e.meterage)),1),h(`td`,null,[h(`button`,{type:`button`,class:`cart-items-table__delete`,"aria-label":`حذف`,onClick:t=>g(`remove`,e.id)},[l(L,{size:18})],8,be)])]))),128))])])])]))]),h(`aside`,xe,[h(`div`,Se,[h(`h2`,Ce,[h(`span`,we,[l(P,{size:22})]),p[12]||=i(` خلاصه سفارش `,-1)]),h(`div`,Te,[h(`div`,Ee,[h(`span`,De,[l(F,{size:16}),p[13]||=i(` تعداد آیتم‌ها `,-1)]),h(`strong`,null,r(u(C)(e.items.length)),1)]),h(`div`,Oe,[h(`span`,ke,[l(M,{size:16}),p[14]||=i(` متراژ کل `,-1)]),h(`strong`,null,r(u(S)(e.totalMeterage)),1)]),(d(!0),c(s,null,f(e.companySummaries??[],e=>(d(),c(`div`,{key:e.companyId,class:`cart-summary-card__row cart-summary-card__row--sub`},[h(`span`,Ae,r(e.companyName),1),h(`strong`,null,[i(r(u(S)(e.meterage))+` `,1),h(`span`,je,`/ `+r(u(S)(e.maxMeterage)),1)])]))),128)),h(`div`,Me,[h(`span`,Ne,[l(T,{size:16}),p[15]||=i(` مبلغ فاکتور `,-1)]),p[16]||=h(`span`,{class:`cart-summary-card__hint-value`},` پس از قیمت‌گذاری مدیریت `,-1)])]),h(`button`,{type:`button`,class:`cart-summary-card__cta`,disabled:e.isEmpty||e.submitting,onClick:p[2]||=e=>g(`checkout`)},[l(O,{size:16}),i(` `+r(e.submitting?`در حال ثبت…`:`ثبت پیش‌سفارش`),1)],8,Pe),p[17]||=h(`p`,{class:`cart-summary-card__note`},` اقلام همه شرکت‌ها در یک سبد و یک فاکتور ثبت می‌شوند؛ پس از قیمت‌گذاری، یک‌بار تسویه می‌کنید. `,-1)]),h(`div`,$,[h(`h3`,Fe,[h(`span`,Ie,[l(oe,{size:18})]),p[18]||=i(` راهنمای گام بعدی `,-1)]),h(`p`,Le,[p[19]||=i(` پس از انتخاب شرکت و افزودن محصولات، متراژ کل و سقف مجاز فاکتور را بررسی کنید. `,-1),e.isEmpty?o(``,!0):(d(),c(s,{key:0},[i(` سقف مجاز: `+r(u(S)(e.maxMeterage))+` — باقی‌مانده: `+r(u(S)(e.remainingCapacity))+`. `,1)],64)),p[20]||=i(` سپس برای تکمیل سفارش، گزینه «ادامه و انتخاب تسویه» را بزنید. `,-1)])])])]),h(`nav`,Re,[(d(),c(s,null,f(v,e=>h(`button`,{key:e.title,type:`button`,class:`cart-quick-nav__item`,onClick:t=>e.action()},[h(`span`,{class:t([`cart-quick-nav__icon`,`cart-quick-nav__icon--${e.tone}`])},[(d(),a(m(e.icon),{size:20}))],2),h(`span`,Be,[h(`strong`,Ve,r(e.title),1),h(`span`,He,r(e.desc),1)]),l(O,{size:16,class:`cart-quick-nav__chevron`,"aria-hidden":`true`})],8,ze)),64))]),p[21]||=h(`p`,{class:`cart-desktop-page__footer`},`پارس بافت — سامانه سفارش‌گذاری پارچه`,-1)]))}}),[[`__scopeId`,`data-v-faff3d7e`]]),We={class:`cart-view`},Ge={class:`dialog card`},Ke={class:`dialog-actions`},qe=_(x({__name:`CartView`,setup(e){let t=p(),{cartStore:r,items:s,isEmpty:f,companyName:m,companySummaries:g,showFullDialog:_,submitting:v,submitError:b,removeItem:x,proceedToCheckout:S,proceedAnyway:C,createNewInvoice:w}=I();function T(){t.push(`/catalogs`)}return(e,p)=>(d(),c(`div`,We,[u(b)?(d(),a(te,{key:0,message:u(b),class:`cart-view__error`},null,8,[`message`])):o(``,!0),l(ae,{class:`mobile-only`,items:u(s),"company-name":u(m),"company-summaries":u(g),"total-meterage":u(r).totalMeterage,"max-meterage":u(r).maxMeterage,"remaining-capacity":u(r).remainingCapacity,"is-empty":u(f),submitting:u(v),onBack:p[0]||=e=>u(t).push(`/`),onRemove:u(x),onCheckout:u(S),onSelectCompany:p[1]||=e=>T()},null,8,[`items`,`company-name`,`company-summaries`,`total-meterage`,`max-meterage`,`remaining-capacity`,`is-empty`,`submitting`,`onRemove`,`onCheckout`]),l(Ue,{class:`desktop-only`,items:u(s),"company-name":u(m),"company-summaries":u(g),"total-meterage":u(r).totalMeterage,"max-meterage":u(r).maxMeterage,"remaining-capacity":u(r).remainingCapacity,"is-empty":u(f),submitting:u(v),onRemove:u(x),onCheckout:u(S),onSelectCompany:p[2]||=e=>T(),onBack:T},null,8,[`items`,`company-name`,`company-summaries`,`total-meterage`,`max-meterage`,`remaining-capacity`,`is-empty`,`submitting`,`onRemove`,`onCheckout`]),u(_)?(d(),c(`div`,{key:1,class:`dialog-overlay`,onClick:p[3]||=n(e=>_.value=!1,[`self`])},[h(`div`,Ge,[p[6]||=h(`h3`,null,`سقف متراژ تکمیل شد`,-1),p[7]||=h(`p`,{class:`text-sm`},` سقف متراژ حداقل یک شرکت در سبد پر شده است. می‌توانید همین پیش‌سفارش‌ها را ثبت کنید یا سبد را خالی کرده و فاکتور جدید بسازید. `,-1),h(`div`,Ke,[l(D,{variant:`outline`,loading:u(v),onClick:u(C)},{default:y(()=>[...p[4]||=[i(` ثبت همین فاکتور `,-1)]]),_:1},8,[`loading`,`onClick`]),l(D,{onClick:u(w)},{default:y(()=>[...p[5]||=[i(`فاکتور جدید`,-1)]]),_:1},8,[`onClick`])])])])):o(``,!0)]))}}),[[`__scopeId`,`data-v-da82aef3`]]);export{qe as default}; \ No newline at end of file +import{A as e,Ct as t,D as n,Et as r,L as i,M as a,N as o,O as s,P as c,R as l,St as u,Y as d,Z as f,_ as p,et as m,j as h,mt as g,n as _,q as v,rt as y,t as b,z as x}from"./BasicIcon-C6boaehV.js";import{a as S,o as C}from"./format-BHJptHdF.js";import{C as w,S as T,T as ee,d as E,n as D,o as O,t as k}from"./index-B6MlTGUp.js";import{t as A}from"./EmptyState-C_QQeA_h.js";import{t as j}from"./IconChevronBack-DORV2H0q.js";import{t as te}from"./FormErrorBanner-CjdBfIQT.js";import{t as M}from"./IconDiamond-Bgv1zgqc.js";import{t as N}from"./CheckoutStepper-CqUviuW7.js";import{t as P}from"./IconClipboardEmpty-5Av_Gh0W.js";import{t as F}from"./IconLayoutGrid-E-Q8Z5rF.js";function I(){let t=p(),n=ee(),r=E(),i=g(!1),a=g(!1),o=g(``),s=e(()=>n.activeCart?.items??[]),c=e(()=>s.value.length===0),l=e(()=>n.companyNamesLabel||n.activeCart?.companyName||``),u=e(()=>n.companySummaries);async function d(e){let t=s.value.find(t=>t.id===e);await k({title:`حذف از سبد`,message:t?`آیا از حذف «${t.productName}» از سبد خرید مطمئن هستید؟`:`آیا از حذف این آیتم از سبد خرید مطمئن هستید؟`,confirmLabel:`حذف`,cancelLabel:`انصراف`,tone:`danger`})&&n.removeItem(e)}async function f(){if(!(!n.activeCart||s.value.length===0||a.value)){a.value=!0,o.value=``;try{if(await n.hydrate(),!n.activeCart?.items.length){o.value=`سبد خرید خالی است یا با سرور همگام نشد.`;return}let e=await r.submitOrder(n.activeCart);await n.hydrate(),t.replace(`/orders/${e.id}/success`)}catch(e){o.value=e instanceof Error?e.message:`ثبت سفارش ناموفق بود.`,await n.hydrate()}finally{a.value=!1}}}function m(){if(s.value.length!==0){if(n.isFull){i.value=!0;return}f()}}function h(){i.value=!1,f()}async function _(){await n.createNewCartForSameCompany(),i.value=!1,t.push(`/categories`)}return v(()=>{n.ensureActiveCartForCartPage()}),{cartStore:n,items:s,isEmpty:c,companyName:l,companySummaries:u,showFullDialog:i,submitting:a,submitError:o,removeItem:d,proceedToCheckout:m,proceedAnyway:h,createNewInvoice:_}}var L=x({__name:`IconTrash`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(d(),a(b,{icon:`vuesax-linear:trash`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),R={class:`cart-mobile-page`},z={class:`cart-mobile-page__nav`},B={type:`button`,class:`nav-btn nav-btn--ghost`,"aria-hidden":`true`,tabindex:`-1`},V={key:0,class:`cart-mobile-page__body`},H={class:`cart-mobile-page__company`},U={class:`cart-mobile-page__scroll`},W={class:`cart-mobile-table`},G={class:`col-product`},K={key:0,class:`col-product__company`},q={class:`col-meterage`},J={class:`col-delete`},Y=[`onClick`],X={class:`cart-mobile-page__footer`},Z={class:`cart-mobile-summary`},Q={class:`cart-mobile-summary__row`},ne={class:`cart-mobile-summary__cap`},re={key:1,class:`cart-mobile-summary__row`},ie={class:`cart-mobile-summary__row`},ae=_(x({__name:`MobileCartPage`,props:{items:{},companyName:{},companySummaries:{},totalMeterage:{},maxMeterage:{},remainingCapacity:{},isEmpty:{type:Boolean},submitting:{type:Boolean}},emits:[`back`,`remove`,`checkout`,`selectCompany`],setup(e,{emit:t}){let n=t;return(t,p)=>(d(),c(`div`,R,[h(`header`,z,[h(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:p[0]||=e=>n(`back`)},[l(j,{size:20})]),p[3]||=h(`h1`,{class:`cart-mobile-page__title`},`سبد خرید`,-1),h(`button`,B,[l(j,{size:18,class:`nav-btn__flip`})])]),e.isEmpty?(d(),a(A,{key:1,variant:`cart`,message:`از دسته‌بندی یا کالیته محصول را انتخاب کنید`},{default:y(()=>[l(D,{onClick:p[2]||=e=>n(`selectCompany`)},{default:y(()=>[...p[10]||=[i(`مشاهده محصولات`,-1)]]),_:1})]),_:1})):(d(),c(`div`,V,[h(`p`,H,r(e.companyName?`شرکت‌ها: ${e.companyName}`:`سبد خرید مشترک`),1),h(`div`,U,[h(`div`,W,[p[4]||=h(`div`,{class:`cart-mobile-table__head`},[h(`span`,null,`محصول`),h(`span`,null,`متراژ (متر)`),h(`span`,null,`حذف`)],-1),(d(!0),c(s,null,f(e.items,e=>(d(),c(`div`,{key:e.id,class:`cart-mobile-table__row`},[h(`div`,G,[h(`strong`,null,r(e.productName),1),h(`span`,null,`کد: `+r(e.productCode),1),e.companyName?(d(),c(`span`,K,r(e.companyName),1)):o(``,!0)]),h(`div`,q,r(u(C)(e.meterage)),1),h(`div`,J,[h(`button`,{type:`button`,"aria-label":`حذف`,onClick:t=>n(`remove`,e.id)},[l(L,{size:20})],8,Y)])]))),128))])]),h(`div`,X,[h(`div`,Z,[h(`div`,Q,[p[5]||=h(`span`,null,`جمع متراژ کل`,-1),h(`strong`,null,r(u(S)(e.totalMeterage)),1)]),e.companySummaries?.length?(d(!0),c(s,{key:0},f(e.companySummaries,e=>(d(),c(`div`,{key:e.companyId,class:`cart-mobile-summary__row cart-mobile-summary__row--sub`},[h(`span`,null,r(e.companyName),1),h(`strong`,null,[i(r(u(S)(e.meterage))+` `,1),h(`span`,ne,`/ `+r(u(S)(e.maxMeterage)),1)])]))),128)):(d(),c(`div`,re,[p[6]||=h(`span`,null,`حداکثر مجاز`,-1),h(`strong`,null,r(u(S)(e.maxMeterage)),1)])),h(`div`,ie,[p[7]||=h(`span`,null,`باقی مانده`,-1),h(`strong`,null,r(u(S)(e.remainingCapacity)),1)])]),p[9]||=h(`p`,{class:`cart-mobile-page__hint`},` پس از ثبت، همه اقلام در یک پیش‌سفارش واحد قرار می‌گیرند و مدیریت قیمت‌گذاری می‌کند. `,-1),l(D,{block:``,loading:e.submitting,onClick:p[1]||=e=>n(`checkout`)},{default:y(()=>[...p[8]||=[i(`ثبت پیش‌سفارش`,-1)]]),_:1},8,[`loading`])])]))]))}}),[[`__scopeId`,`data-v-6370ec52`]]),oe=x({__name:`IconLightbulb`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(d(),a(b,{icon:`vuesax-linear:lamp-on`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),se={class:`desktop-page cart-desktop-page`},ce={class:`cart-desktop-page__head`},le={class:`cart-desktop-page__subtitle`},ue={class:`cart-desktop-page__layout`},de={class:`cart-desktop-page__main`},fe={key:0,class:`cart-empty-card`},pe={class:`cart-empty-card__visual`,"aria-hidden":`true`},me={class:`cart-empty-card__circle`},he={class:`cart-empty-card__actions`},ge={key:1,class:`cart-items-card`},_e={class:`cart-items-card__scroll`},ve={class:`cart-items-table`},ye={class:`cart-items-table__name`},be=[`onClick`],xe={class:`cart-desktop-page__sidebar`},Se={class:`cart-summary-card`},Ce={class:`cart-summary-card__title`},we={class:`cart-summary-card__title-icon`,"aria-hidden":`true`},Te={class:`cart-summary-card__rows`},Ee={class:`cart-summary-card__row`},De={class:`cart-summary-card__row-label`},Oe={class:`cart-summary-card__row`},ke={class:`cart-summary-card__row-label`},Ae={class:`cart-summary-card__row-label`},je={class:`cart-summary-card__cap`},Me={class:`cart-summary-card__row cart-summary-card__row--hint`},Ne={class:`cart-summary-card__row-label`},Pe=[`disabled`],$={class:`cart-guide-card`},Fe={class:`cart-guide-card__title`},Ie={class:`cart-guide-card__title-icon`,"aria-hidden":`true`},Le={class:`cart-guide-card__text`},Re={class:`cart-quick-nav`,"aria-label":`دسترسی سریع`},ze=[`onClick`],Be={class:`cart-quick-nav__body`},Ve={class:`cart-quick-nav__title`},He={class:`cart-quick-nav__desc`},Ue=_(x({__name:`DesktopCartPage`,props:{items:{},companyName:{},companySummaries:{},totalMeterage:{},maxMeterage:{},remainingCapacity:{},isEmpty:{type:Boolean},submitting:{type:Boolean}},emits:[`remove`,`checkout`,`selectCompany`,`back`],setup(e,{emit:n}){let g=n,_=p(),v=[{title:`کالیته‌ها`,desc:`مرور کالیته و طرح‌ها`,icon:F,tone:`blue`,action:()=>_.push(`/catalogs`)},{title:`دسته‌بندی`,desc:`مشاهده محصولات بر اساس کاربرد`,icon:M,tone:`green`,action:()=>_.push(`/categories`)},{title:`سفارش‌های من`,desc:`پیگیری وضعیت سفارش‌ها`,icon:T,tone:`blue`,action:()=>_.push(`/orders`)}];return(n,p)=>(d(),c(`div`,se,[l(N,{"current-step":1}),h(`header`,ce,[p[3]||=h(`h1`,{class:`cart-desktop-page__title`},`سبد خرید`,-1),h(`p`,le,r(e.companyName?`شرکت‌ها: ${e.companyName}`:`سبد خرید مشترک`),1)]),h(`div`,ue,[h(`section`,de,[e.isEmpty?(d(),c(`div`,fe,[h(`div`,pe,[p[4]||=h(`span`,{class:`cart-empty-card__spark cart-empty-card__spark--1`},`+`,-1),p[5]||=h(`span`,{class:`cart-empty-card__spark cart-empty-card__spark--2`},`·`,-1),h(`span`,me,[l(w,{size:40})]),p[6]||=h(`span`,{class:`cart-empty-card__spark cart-empty-card__spark--3`},`·`,-1)]),p[9]||=h(`h2`,{class:`cart-empty-card__heading`},`سبد خرید شما خالی است`,-1),p[10]||=h(`p`,{class:`cart-empty-card__text`},` از دسته‌بندی یا کالیته محصول را انتخاب کنید، جزئیات را ببینید و به سبد اضافه کنید. `,-1),h(`div`,he,[h(`button`,{type:`button`,class:`cart-btn cart-btn--primary`,onClick:p[0]||=e=>g(`selectCompany`)},[l(F,{size:18}),p[7]||=i(` مشاهده کالیته‌ها `,-1)]),h(`button`,{type:`button`,class:`cart-btn cart-btn--outline`,onClick:p[1]||=e=>u(_).push(`/categories`)},[l(M,{size:16}),p[8]||=i(` دسته‌بندی محصولات `,-1)])])])):(d(),c(`div`,ge,[h(`div`,_e,[h(`table`,ve,[p[11]||=h(`thead`,null,[h(`tr`,null,[h(`th`,{scope:`col`},`محصول`),h(`th`,{scope:`col`},`شرکت`),h(`th`,{scope:`col`},`کد`),h(`th`,{scope:`col`},`متراژ (متر)`),h(`th`,{scope:`col`},`حذف`)])],-1),h(`tbody`,null,[(d(!0),c(s,null,f(e.items,e=>(d(),c(`tr`,{key:e.id},[h(`td`,null,[h(`strong`,ye,r(e.productName),1)]),h(`td`,null,r(e.companyName||`—`),1),h(`td`,null,r(e.productCode),1),h(`td`,null,r(u(C)(e.meterage)),1),h(`td`,null,[h(`button`,{type:`button`,class:`cart-items-table__delete`,"aria-label":`حذف`,onClick:t=>g(`remove`,e.id)},[l(L,{size:18})],8,be)])]))),128))])])])]))]),h(`aside`,xe,[h(`div`,Se,[h(`h2`,Ce,[h(`span`,we,[l(P,{size:22})]),p[12]||=i(` خلاصه سفارش `,-1)]),h(`div`,Te,[h(`div`,Ee,[h(`span`,De,[l(F,{size:16}),p[13]||=i(` تعداد آیتم‌ها `,-1)]),h(`strong`,null,r(u(C)(e.items.length)),1)]),h(`div`,Oe,[h(`span`,ke,[l(M,{size:16}),p[14]||=i(` متراژ کل `,-1)]),h(`strong`,null,r(u(S)(e.totalMeterage)),1)]),(d(!0),c(s,null,f(e.companySummaries??[],e=>(d(),c(`div`,{key:e.companyId,class:`cart-summary-card__row cart-summary-card__row--sub`},[h(`span`,Ae,r(e.companyName),1),h(`strong`,null,[i(r(u(S)(e.meterage))+` `,1),h(`span`,je,`/ `+r(u(S)(e.maxMeterage)),1)])]))),128)),h(`div`,Me,[h(`span`,Ne,[l(T,{size:16}),p[15]||=i(` مبلغ فاکتور `,-1)]),p[16]||=h(`span`,{class:`cart-summary-card__hint-value`},` پس از قیمت‌گذاری مدیریت `,-1)])]),h(`button`,{type:`button`,class:`cart-summary-card__cta`,disabled:e.isEmpty||e.submitting,onClick:p[2]||=e=>g(`checkout`)},[l(O,{size:16}),i(` `+r(e.submitting?`در حال ثبت…`:`ثبت پیش‌سفارش`),1)],8,Pe),p[17]||=h(`p`,{class:`cart-summary-card__note`},` اقلام همه شرکت‌ها در یک سبد و یک فاکتور ثبت می‌شوند؛ پس از قیمت‌گذاری، یک‌بار تسویه می‌کنید. `,-1)]),h(`div`,$,[h(`h3`,Fe,[h(`span`,Ie,[l(oe,{size:18})]),p[18]||=i(` راهنمای گام بعدی `,-1)]),h(`p`,Le,[p[19]||=i(` پس از انتخاب شرکت و افزودن محصولات، متراژ کل و سقف مجاز فاکتور را بررسی کنید. `,-1),e.isEmpty?o(``,!0):(d(),c(s,{key:0},[i(` سقف مجاز: `+r(u(S)(e.maxMeterage))+` — باقی‌مانده: `+r(u(S)(e.remainingCapacity))+`. `,1)],64)),p[20]||=i(` سپس برای تکمیل سفارش، گزینه «ادامه و انتخاب تسویه» را بزنید. `,-1)])])])]),h(`nav`,Re,[(d(),c(s,null,f(v,e=>h(`button`,{key:e.title,type:`button`,class:`cart-quick-nav__item`,onClick:t=>e.action()},[h(`span`,{class:t([`cart-quick-nav__icon`,`cart-quick-nav__icon--${e.tone}`])},[(d(),a(m(e.icon),{size:20}))],2),h(`span`,Be,[h(`strong`,Ve,r(e.title),1),h(`span`,He,r(e.desc),1)]),l(O,{size:16,class:`cart-quick-nav__chevron`,"aria-hidden":`true`})],8,ze)),64))]),p[21]||=h(`p`,{class:`cart-desktop-page__footer`},`پارس بافت — سامانه سفارش‌گذاری پارچه`,-1)]))}}),[[`__scopeId`,`data-v-faff3d7e`]]),We={class:`cart-view`},Ge={class:`dialog card`},Ke={class:`dialog-actions`},qe=_(x({__name:`CartView`,setup(e){let t=p(),{cartStore:r,items:s,isEmpty:f,companyName:m,companySummaries:g,showFullDialog:_,submitting:v,submitError:b,removeItem:x,proceedToCheckout:S,proceedAnyway:C,createNewInvoice:w}=I();function T(){t.push(`/catalogs`)}return(e,p)=>(d(),c(`div`,We,[u(b)?(d(),a(te,{key:0,message:u(b),class:`cart-view__error`},null,8,[`message`])):o(``,!0),l(ae,{class:`mobile-only`,items:u(s),"company-name":u(m),"company-summaries":u(g),"total-meterage":u(r).totalMeterage,"max-meterage":u(r).maxMeterage,"remaining-capacity":u(r).remainingCapacity,"is-empty":u(f),submitting:u(v),onBack:p[0]||=e=>u(t).push(`/`),onRemove:u(x),onCheckout:u(S),onSelectCompany:p[1]||=e=>T()},null,8,[`items`,`company-name`,`company-summaries`,`total-meterage`,`max-meterage`,`remaining-capacity`,`is-empty`,`submitting`,`onRemove`,`onCheckout`]),l(Ue,{class:`desktop-only`,items:u(s),"company-name":u(m),"company-summaries":u(g),"total-meterage":u(r).totalMeterage,"max-meterage":u(r).maxMeterage,"remaining-capacity":u(r).remainingCapacity,"is-empty":u(f),submitting:u(v),onRemove:u(x),onCheckout:u(S),onSelectCompany:p[2]||=e=>T(),onBack:T},null,8,[`items`,`company-name`,`company-summaries`,`total-meterage`,`max-meterage`,`remaining-capacity`,`is-empty`,`submitting`,`onRemove`,`onCheckout`]),u(_)?(d(),c(`div`,{key:1,class:`dialog-overlay`,onClick:p[3]||=n(e=>_.value=!1,[`self`])},[h(`div`,Ge,[p[6]||=h(`h3`,null,`سقف متراژ تکمیل شد`,-1),p[7]||=h(`p`,{class:`text-sm`},` سقف متراژ حداقل یک شرکت در سبد پر شده است. می‌توانید همین پیش‌سفارش‌ها را ثبت کنید یا سبد را خالی کرده و فاکتور جدید بسازید. `,-1),h(`div`,Ke,[l(D,{variant:`outline`,loading:u(v),onClick:u(C)},{default:y(()=>[...p[4]||=[i(` ثبت همین فاکتور `,-1)]]),_:1},8,[`loading`,`onClick`]),l(D,{onClick:u(w)},{default:y(()=>[...p[5]||=[i(`فاکتور جدید`,-1)]]),_:1},8,[`onClick`])])])])):o(``,!0)]))}}),[[`__scopeId`,`data-v-da82aef3`]]);export{qe as default}; \ No newline at end of file diff --git a/dist/assets/CashSettlementView-Clk-HI89.js b/dist/assets/CashSettlementView-CGpx1Nlw.js similarity index 96% rename from dist/assets/CashSettlementView-Clk-HI89.js rename to dist/assets/CashSettlementView-CGpx1Nlw.js index cdd9fdd..5d316aa 100644 --- a/dist/assets/CashSettlementView-Clk-HI89.js +++ b/dist/assets/CashSettlementView-CGpx1Nlw.js @@ -1 +1 @@ -import{A as e,Et as t,L as n,M as r,O as i,P as a,R as o,St as s,Y as c,Z as l,_ as ee,j as u,mt as te,n as d,rt as f,t as p,tt as m,z as h}from"./BasicIcon-C6boaehV.js";import{i as ne,n as re}from"./format-BHJptHdF.js";import{t as ie}from"./catalog-s7nVUdlj.js";import{d as ae,n as g}from"./index-spodxsRN.js";import{t as oe}from"./PageHeader-BaJqBjIW.js";import{t as se}from"./useRequirePricedOrder-BBPnO4DF.js";var _=h({__name:`IconSuccessCircle`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(c(),r(p,{icon:`vuesax-linear:tick-circle`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),ce={class:`page cash-mobile-page mobile-only`},le={class:`cash-page__scroll page__scroll`},ue={class:`cash-page__success cash-page__success--done`},v={class:`cash-page__success-title`},y={class:`cash-page__success-subtitle`},b={class:`accounts-panel`},x={class:`accounts-panel__title`},S={class:`bank-card__head`},C={class:`bank-card__name`},w={class:`bank-card__icon`,"aria-hidden":`true`},T={class:`bank-card__field`},E={class:`bank-card__value`,dir:`ltr`},D={class:`bank-card__field`},O={class:`bank-card__value`,dir:`ltr`},k={class:`cash-page__footer`},A={class:`desktop-checkout-shell cash-desktop-page desktop-only`},j={class:`desktop-page__head`},M={class:`desktop-page__subtitle`},N={class:`cash-page__success cash-page__success--done`},de={class:`cash-page__success-title`},P={class:`accounts-panel`},F={class:`accounts-panel__title`},I={class:`desktop-grid-2`},L={class:`bank-card__head`},R={class:`bank-card__name`},z={class:`bank-card__icon`,"aria-hidden":`true`},B={class:`bank-card__field`},V={class:`bank-card__value`,dir:`ltr`},H={class:`bank-card__field`},fe={class:`bank-card__value`,dir:`ltr`},pe={class:`cash-desktop-page__actions`},U=d(h({__name:`CashSettlementView`,setup(r){let d=ee(),p=ae(),h=ie(),U=te([]),{orderId:W,order:G}=se(),K=e(()=>G.value?.companyName??``);m(W,async e=>{e&&!p.getOrderById(e)&&await p.fetchOrder(e)},{immediate:!0}),m(()=>G.value?.id,async e=>{if(!e||!G.value){U.value=[];return}h.companies.length||await h.loadCompanies(),U.value=await p.getBankAccountsForOrder(G.value)},{immediate:!0});let q=e(()=>G.value?.finalAmount?re(G.value.finalAmount):`—`),J=e(()=>{let e=G.value?.cashInvoiceExpiresAt;return e?`مهلت پرداخت این فاکتور تا ${ne(e)} است.`:`مبلغ فاکتور را به یکی از حساب‌های زیر واریز و رسید را ثبت کنید.`}),Y=e(()=>{let e=K.value.replace(/^شرکت\s+/u,``);return e?`شماره حساب‌های واریز — ${e}`:`شماره حساب‌های واریز`});function X(e){return e.replace(/\D/g,``).replace(/(\d{4})(?=\d)/g,`$1 `).trim()}function Z(e){return e.replace(/\s/g,``).toUpperCase().replace(/(.{4})/g,`$1 `).trim()}function Q(){d.replace(`/orders/${W.value}?track=1`)}function $(){d.replace(`/orders/${W.value}?track=1&receipt=1`)}return(e,r)=>(c(),a(i,null,[u(`div`,ce,[o(oe,{title:`تسویه نقدی`,"show-back":``,centered:``,onBack:r[0]||=e=>s(d).push(`/orders/${s(W)}`)}),u(`div`,le,[u(`div`,ue,[o(_,{size:56}),u(`p`,v,`مبلغ قابل پرداخت `+t(q.value),1),u(`p`,y,t(J.value),1)]),u(`section`,b,[u(`h2`,x,t(Y.value),1),(c(!0),a(i,null,l(U.value,e=>(c(),a(`article`,{key:e.id,class:`bank-card`},[u(`div`,S,[u(`span`,C,t(e.bankName),1),u(`span`,w,t(e.bankName.charAt(0)),1)]),u(`div`,T,[r[1]||=u(`span`,{class:`bank-card__label`},`شماره کارت`,-1),u(`strong`,E,t(X(e.cardNumber)),1)]),u(`div`,D,[r[2]||=u(`span`,{class:`bank-card__label`},`شماره شبا`,-1),u(`strong`,O,t(Z(e.iban)),1)])]))),128))])]),u(`div`,k,[o(g,{variant:`outline`,block:``,onClick:Q},{default:f(()=>[...r[3]||=[n(`مشاهده سفارش`,-1)]]),_:1}),o(g,{block:``,class:`cash-page__submit`,onClick:$},{default:f(()=>[...r[4]||=[n(` ثبت رسید پرداخت `,-1)]]),_:1})])]),u(`div`,A,[u(`header`,j,[r[5]||=u(`h1`,{class:`desktop-page__title`},`تسویه نقدی`,-1),u(`p`,M,t(J.value),1)]),u(`div`,N,[o(_,{size:56}),u(`p`,de,`مبلغ قابل پرداخت `+t(q.value),1)]),u(`section`,P,[u(`h2`,F,t(Y.value),1),u(`div`,I,[(c(!0),a(i,null,l(U.value,e=>(c(),a(`article`,{key:e.id,class:`bank-card`},[u(`div`,L,[u(`span`,R,t(e.bankName),1),u(`span`,z,t(e.bankName.charAt(0)),1)]),u(`div`,B,[r[6]||=u(`span`,{class:`bank-card__label`},`شماره کارت`,-1),u(`strong`,V,t(X(e.cardNumber)),1)]),u(`div`,H,[r[7]||=u(`span`,{class:`bank-card__label`},`شماره شبا`,-1),u(`strong`,fe,t(Z(e.iban)),1)])]))),128))])]),u(`div`,pe,[o(g,{variant:`outline`,class:`desktop-btn-compact`,onClick:Q},{default:f(()=>[...r[8]||=[n(` مشاهده سفارش `,-1)]]),_:1}),o(g,{class:`desktop-btn-compact`,onClick:$},{default:f(()=>[...r[9]||=[n(` ثبت رسید پرداخت `,-1)]]),_:1})])])],64))}}),[[`__scopeId`,`data-v-c299caf6`]]);export{U as default}; \ No newline at end of file +import{A as e,Et as t,L as n,M as r,O as i,P as a,R as o,St as s,Y as c,Z as l,_ as ee,j as u,mt as te,n as d,rt as f,t as p,tt as m,z as h}from"./BasicIcon-C6boaehV.js";import{i as ne,n as re}from"./format-BHJptHdF.js";import{t as ie}from"./catalog-s7nVUdlj.js";import{d as ae,n as g}from"./index-B6MlTGUp.js";import{t as oe}from"./PageHeader-CDQMUtCp.js";import{t as se}from"./useRequirePricedOrder-zO2gkEXW.js";var _=h({__name:`IconSuccessCircle`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(c(),r(p,{icon:`vuesax-linear:tick-circle`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),ce={class:`page cash-mobile-page mobile-only`},le={class:`cash-page__scroll page__scroll`},ue={class:`cash-page__success cash-page__success--done`},v={class:`cash-page__success-title`},y={class:`cash-page__success-subtitle`},b={class:`accounts-panel`},x={class:`accounts-panel__title`},S={class:`bank-card__head`},C={class:`bank-card__name`},w={class:`bank-card__icon`,"aria-hidden":`true`},T={class:`bank-card__field`},E={class:`bank-card__value`,dir:`ltr`},D={class:`bank-card__field`},O={class:`bank-card__value`,dir:`ltr`},k={class:`cash-page__footer`},A={class:`desktop-checkout-shell cash-desktop-page desktop-only`},j={class:`desktop-page__head`},M={class:`desktop-page__subtitle`},N={class:`cash-page__success cash-page__success--done`},de={class:`cash-page__success-title`},P={class:`accounts-panel`},F={class:`accounts-panel__title`},I={class:`desktop-grid-2`},L={class:`bank-card__head`},R={class:`bank-card__name`},z={class:`bank-card__icon`,"aria-hidden":`true`},B={class:`bank-card__field`},V={class:`bank-card__value`,dir:`ltr`},H={class:`bank-card__field`},fe={class:`bank-card__value`,dir:`ltr`},pe={class:`cash-desktop-page__actions`},U=d(h({__name:`CashSettlementView`,setup(r){let d=ee(),p=ae(),h=ie(),U=te([]),{orderId:W,order:G}=se(),K=e(()=>G.value?.companyName??``);m(W,async e=>{e&&!p.getOrderById(e)&&await p.fetchOrder(e)},{immediate:!0}),m(()=>G.value?.id,async e=>{if(!e||!G.value){U.value=[];return}h.companies.length||await h.loadCompanies(),U.value=await p.getBankAccountsForOrder(G.value)},{immediate:!0});let q=e(()=>G.value?.finalAmount?re(G.value.finalAmount):`—`),J=e(()=>{let e=G.value?.cashInvoiceExpiresAt;return e?`مهلت پرداخت این فاکتور تا ${ne(e)} است.`:`مبلغ فاکتور را به یکی از حساب‌های زیر واریز و رسید را ثبت کنید.`}),Y=e(()=>{let e=K.value.replace(/^شرکت\s+/u,``);return e?`شماره حساب‌های واریز — ${e}`:`شماره حساب‌های واریز`});function X(e){return e.replace(/\D/g,``).replace(/(\d{4})(?=\d)/g,`$1 `).trim()}function Z(e){return e.replace(/\s/g,``).toUpperCase().replace(/(.{4})/g,`$1 `).trim()}function Q(){d.replace(`/orders/${W.value}?track=1`)}function $(){d.replace(`/orders/${W.value}?track=1&receipt=1`)}return(e,r)=>(c(),a(i,null,[u(`div`,ce,[o(oe,{title:`تسویه نقدی`,"show-back":``,centered:``,onBack:r[0]||=e=>s(d).push(`/orders/${s(W)}`)}),u(`div`,le,[u(`div`,ue,[o(_,{size:56}),u(`p`,v,`مبلغ قابل پرداخت `+t(q.value),1),u(`p`,y,t(J.value),1)]),u(`section`,b,[u(`h2`,x,t(Y.value),1),(c(!0),a(i,null,l(U.value,e=>(c(),a(`article`,{key:e.id,class:`bank-card`},[u(`div`,S,[u(`span`,C,t(e.bankName),1),u(`span`,w,t(e.bankName.charAt(0)),1)]),u(`div`,T,[r[1]||=u(`span`,{class:`bank-card__label`},`شماره کارت`,-1),u(`strong`,E,t(X(e.cardNumber)),1)]),u(`div`,D,[r[2]||=u(`span`,{class:`bank-card__label`},`شماره شبا`,-1),u(`strong`,O,t(Z(e.iban)),1)])]))),128))])]),u(`div`,k,[o(g,{variant:`outline`,block:``,onClick:Q},{default:f(()=>[...r[3]||=[n(`مشاهده سفارش`,-1)]]),_:1}),o(g,{block:``,class:`cash-page__submit`,onClick:$},{default:f(()=>[...r[4]||=[n(` ثبت رسید پرداخت `,-1)]]),_:1})])]),u(`div`,A,[u(`header`,j,[r[5]||=u(`h1`,{class:`desktop-page__title`},`تسویه نقدی`,-1),u(`p`,M,t(J.value),1)]),u(`div`,N,[o(_,{size:56}),u(`p`,de,`مبلغ قابل پرداخت `+t(q.value),1)]),u(`section`,P,[u(`h2`,F,t(Y.value),1),u(`div`,I,[(c(!0),a(i,null,l(U.value,e=>(c(),a(`article`,{key:e.id,class:`bank-card`},[u(`div`,L,[u(`span`,R,t(e.bankName),1),u(`span`,z,t(e.bankName.charAt(0)),1)]),u(`div`,B,[r[6]||=u(`span`,{class:`bank-card__label`},`شماره کارت`,-1),u(`strong`,V,t(X(e.cardNumber)),1)]),u(`div`,H,[r[7]||=u(`span`,{class:`bank-card__label`},`شماره شبا`,-1),u(`strong`,fe,t(Z(e.iban)),1)])]))),128))])]),u(`div`,pe,[o(g,{variant:`outline`,class:`desktop-btn-compact`,onClick:Q},{default:f(()=>[...r[8]||=[n(` مشاهده سفارش `,-1)]]),_:1}),o(g,{class:`desktop-btn-compact`,onClick:$},{default:f(()=>[...r[9]||=[n(` ثبت رسید پرداخت `,-1)]]),_:1})])])],64))}}),[[`__scopeId`,`data-v-c299caf6`]]);export{U as default}; \ No newline at end of file diff --git a/dist/assets/CatalogDetailView-BL7FIVct.js b/dist/assets/CatalogDetailView-CMyOKjOQ.js similarity index 99% rename from dist/assets/CatalogDetailView-BL7FIVct.js rename to dist/assets/CatalogDetailView-CMyOKjOQ.js index 79b75a0..eb0bbba 100644 --- a/dist/assets/CatalogDetailView-BL7FIVct.js +++ b/dist/assets/CatalogDetailView-CMyOKjOQ.js @@ -1 +1 @@ -import{A as e,Ct as t,D as n,Et as r,I as i,L as a,M as ee,N as o,O as s,P as c,R as l,St as u,Tt as d,Y as f,Z as p,_ as m,g as te,j as h,mt as g,n as ne,q as re,t as ie,tt as ae,z as _}from"./BasicIcon-C6boaehV.js";import{o as v}from"./format-BHJptHdF.js";import{t as oe}from"./catalog-s7nVUdlj.js";import{T as se,l as ce,o as le}from"./index-spodxsRN.js";import{t as ue}from"./IconChevronBack-DORV2H0q.js";import{t as de}from"./PageSkeleton-uO-jhbNm.js";import{t as fe}from"./IconShare-1kao-fAR.js";import{t as pe}from"./crm-CtglbPsN.js";import{t as me}from"./useGoBack-CgNp0uP9.js";import{i as he,o as ge,r as _e,t as y}from"./catalogGallery-DMNB35I1.js";import{n as ve}from"./colorSwatch-BgOH1LE5.js";var b=[{id:`demo-milano`,companyId:``,name:`میلانو`,title:`کالیته میلانو`,latinName:`Milano`,subtitle:`پارچه‌های کت‌وشلواری`,imageUrl:`/assets/milano-DWfm45LN.jpg`,patternCount:16,badge:`new`,season:`all_season`,isNew:!0,isPopular:!1},{id:`demo-najran`,companyId:``,name:`نجران`,title:`کالیته نجران`,latinName:`Najran`,subtitle:`پارچه‌های پیراهنی`,imageUrl:`/assets/najran-BcpOdgRK.jpg`,patternCount:14,season:`all_season`,isNew:!1,isPopular:!1},{id:`demo-payizeh`,companyId:``,name:`پاییزه`,title:`کالیته پاییزه`,latinName:`Payizeh`,subtitle:`پارچه‌های شلواری`,imageUrl:`/assets/payizeh-CeElyeeF.jpg`,patternCount:18,season:`all_season`,isNew:!1,isPopular:!1},{id:`demo-classic`,companyId:``,name:`کلاسیک`,title:`کالیته کلاسیک`,latinName:`Classic`,subtitle:`پارچه‌های کت‌وشلواری`,imageUrl:`/assets/classic-DiIciTEG.jpg`,patternCount:16,season:`all_season`,isNew:!1,isPopular:!1},{id:`demo-tarhdar`,companyId:``,name:`طرح‌دار`,title:`کالیته طرح‌دار`,latinName:`Tarhdar`,subtitle:`پارچه‌های مجلسی`,imageUrl:`/assets/tarhdar-ryfL3rgV.jpg`,patternCount:20,badge:`popular`,season:`winter`,isNew:!1,isPopular:!0},{id:`demo-fastoni`,companyId:``,name:`فاستونی`,title:`کالیته فاستونی`,latinName:`Fastoni`,subtitle:`پارچه‌های مناسب چهار فصل`,imageUrl:`/assets/fastoni-BdaZFVHx.jpg`,patternCount:20,season:`all_season`,isNew:!1,isPopular:!1}];function x(e){return b.find(t=>t.id===e)}function S(e){let t=[`${e.name} ۱۰۱`,`${e.name} ۱۰۲`,`${e.name} ۱۰۳`,`${e.name} ۱۰۴`],n=[`plain`,`melange`,`patterned`,`plain`];return t.map((t,r)=>({id:`${e.id}-${r+1}`,name:t,code:`${e.latinName||e.name}-${101+r}`,categoryId:e.subtitle.includes(`پیراهن`)?`shirt`:e.subtitle.includes(`شلوار`)?`trousers`:`suit`,season:e.season,widthCm:150,composition:`پشم و پلی‌استر`,weaveType:n[r]===`plain`?`ساده`:n[r]===`melange`?`ملانژ`:`طرح‌دار`,colors:[`#111827`,`#6b7280`,`#d6d3d1`,`#1e3a5f`].slice(0,3+r%2),tags:[n[r]===`patterned`?`طرح‌دار`:n[r]===`melange`?`ملانژ`:`ساده`],isNew:r===0,imageUrl:e.imageUrl,subtitle:e.subtitle,rollMeters:50}))}var C={class:`page calite-detail`},w={class:`page__scroll page__scroll--with-nav calite-detail__scroll`},T={class:`calite-hero`},E={class:`calite-hero__nav`},D={key:0,class:`calite-hero__copy`},O={class:`calite-hero__usage`},k={key:0,class:`calite-hero__latin`},A={class:`calite-hero__tagline`},j={class:`calite-detail__body`},M={key:1,class:`calite-detail__error`},N={class:`attr-row`},P={class:`attr`},F={class:`attr`},ye={class:`physical-cta__icon`,"aria-hidden":`true`},be={class:`physical-cta__chevron`,"aria-hidden":`true`},xe={class:`pattern-tabs`,role:`tablist`,"aria-label":`نوع طرح`},Se=[`onClick`],Ce={class:`pattern-grid`},we=[`onClick`],Te=[`aria-pressed`,`aria-label`,`onClick`],Ee={viewBox:`0 0 24 24`,width:`16`,height:`16`,fill:`none`,"aria-hidden":`true`},De=[`fill`],Oe={class:`pattern-card__meta`},I={class:`pattern-card__colors`},ke={class:`swatches`},Ae={key:0,class:`calite-detail__error`},je={key:0,class:`sticky-footer calite-detail__footer`},Me=[`disabled`],Ne={key:1,class:`toast`},L=ne(_({__name:`CatalogDetailView`,setup(ne){let _=te(),b=m(),{goBack:L}=me(`/catalogs`),R=oe(),Pe=pe(),Fe=se(),z=ce(),B=e(()=>String(_.params.catalogId??``)),V=g(null),H=g([]),U=g(!0),W=g(null),G=g(!1),K=g(``),q=g(`all`),J=e(()=>_e(V.value?.name||`کالیته`)),Y=e(()=>V.value?.imageUrl||(V.value?x(V.value.id)?.imageUrl:void 0)||H.value.find(e=>e.imageUrl)?.imageUrl),X=e(()=>{let e=V.value?x(V.value.id):void 0;return e?.latinName?e.latinName:V.value?he(V.value):``}),Ie=e(()=>{let e=V.value?x(V.value.id):void 0;if(e?.subtitle)return e.subtitle;let t=H.value[0]?.categoryId;return t===`trousers`?`پارچه‌های شلواری`:t===`shirt`?`پارچه‌های پیراهنی`:`پارچه‌های کت‌وشلواری`}),Z=e(()=>ge(H.value)),Q=e(()=>q.value===`all`?Z.value:Z.value.filter(e=>e.kind===q.value)),Le=e(()=>{let e=V.value?x(V.value.id):void 0;if(e)return y[e.season];let t={};for(let e of H.value)t[e.season]=(t[e.season]??0)+1;let n=Object.entries(t).sort((e,t)=>t[1]-e[1])[0]?.[0];return n?y[n]:y.all_season}),Re=e(()=>[{id:`all`,label:`همه طرح‌ها`,count:Z.value.length},{id:`plain`,label:`ساده`,count:Z.value.filter(e=>e.kind===`plain`).length},{id:`melange`,label:`ملانژ`,count:Z.value.filter(e=>e.kind===`melange`).length},{id:`patterned`,label:`طرح‌دار`,count:Z.value.filter(e=>e.kind===`patterned`).length}]);async function $(){U.value=!0,W.value=null,V.value=null,H.value=[],q.value=`all`;try{let e=await R.loadCompanies();R.getCatalog(B.value)||await Promise.all(e.map(e=>R.loadCatalogs(e.id))),V.value=R.getCatalog(B.value)??null;let t=x(B.value);if(!V.value&&t){V.value={id:t.id,companyId:``,name:t.name,code:t.latinName||t.name,description:`ترکیبی از اصالت، کیفیت و استایل مدرن`,displayOrder:0,isActive:!0},H.value=S(t);return}if(!V.value){W.value=`کالیته مورد نظر یافت نشد.`;return}H.value=await Pe.loadBrowseProducts({catalogId:V.value.id,companyId:V.value.companyId}),!H.value.length&&t&&(H.value=S(t))}catch(e){W.value=e instanceof Error?e.message:`بارگذاری کالیته ناموفق بود.`}finally{U.value=!1}}re(async()=>{await z.hydrate(),await $()}),ae(B,$);function ze(e){e.startsWith(`demo-`)||b.push({path:`/product`,query:{id:e}})}function Be(e){z.toggle(e)}function Ve(){b.push({path:`/catalog-request`,query:{catalogId:B.value}})}function He(){let e=window.location.href;if(navigator.share){navigator.share({title:J.value,url:e}).catch(()=>void 0);return}navigator.clipboard?.writeText(e)}function Ue(e){return{id:e.id,companyId:e.companyId||V.value?.companyId||``,catalogId:e.catalogId||B.value,name:e.name,code:e.code,color:e.color||e.colors[0]||`—`,minMeterage:e.minMeterage??30,orderMultiplier:e.orderMultiplier??10,basePrice:e.basePrice,isActive:!0}}async function We(){if(!H.value.length||G.value)return;G.value=!0,K.value=``;let e=0,t=``;try{for(let n of H.value){let r=Ue(n),i=await Fe.addItem(r,V.value?.code||n.catalogCode||n.code,r.minMeterage);i.success?e+=1:t=i.message||t}K.value=e?`${v(e)} طرح به سبد استعلام اضافه شد.`:t||`افزودن به سبد ناموفق بود.`,e&&window.setTimeout(()=>b.push(`/cart`),650)}finally{G.value=!1}}return(e,m)=>(f(),c(`div`,C,[h(`div`,w,[h(`section`,T,[h(`div`,{class:`calite-hero__photo`,style:d(Y.value?{backgroundImage:`url(${Y.value})`}:void 0)},null,4),h(`header`,E,[h(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:m[0]||=(...e)=>u(L)&&u(L)(...e)},[l(ue,{size:22,color:`#ffffff`})]),h(`h1`,null,r(U.value?`کالیته`:J.value),1),h(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اشتراک‌گذاری`,onClick:He},[l(fe,{size:20,color:`#ffffff`})])]),!U.value&&!W.value?(f(),c(`div`,D,[h(`h2`,null,r(J.value),1),h(`p`,O,r(Ie.value),1),X.value?(f(),c(`strong`,k,r(X.value),1)):o(``,!0),h(`span`,A,r(V.value?.description||`ترکیبی از اصالت، کیفیت و استایل مدرن`),1)])):o(``,!0)]),h(`div`,j,[U.value?(f(),ee(de,{key:0,variant:`cards`,rows:5})):W.value?(f(),c(`p`,M,r(W.value),1)):(f(),c(s,{key:2},[h(`div`,N,[h(`span`,P,[m[1]||=h(`svg`,{class:`attr__icon`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`},[h(`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`}),h(`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`}),h(`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1),a(` `+r(u(v)(Z.value.length))+` طرح `,1)]),h(`span`,F,[m[2]||=h(`svg`,{class:`attr__icon`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`},[h(`circle`,{cx:`12`,cy:`12`,r:`4`,stroke:`currentColor`,"stroke-width":`1.5`}),h(`path`,{d:`M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`})],-1),a(` `+r(Le.value),1)]),m[3]||=i(` پرطرفدار کیفیت ممتاز `,2)]),h(`button`,{type:`button`,class:`physical-cta`,onClick:Ve},[h(`span`,ye,[l(ie,{icon:`vuesax-linear:truck-time`,size:20,color:`#ffffff`})]),m[4]||=a(` درخواست دریافت فیزیکی کالیته `,-1),h(`span`,be,[l(le,{size:18,color:`#ffffff`})])]),h(`div`,xe,[(f(!0),c(s,null,p(Re.value,e=>(f(),c(`button`,{key:e.id,type:`button`,class:t([`pattern-tab`,{"is-on":q.value===e.id}]),onClick:t=>q.value=e.id},[a(r(e.label),1),e.id===`all`?(f(),c(s,{key:0},[a(` (`+r(u(v)(e.count))+`)`,1)],64)):o(``,!0)],10,Se))),128))]),h(`div`,Ce,[(f(!0),c(s,null,p(Q.value,e=>(f(),c(`article`,{key:e.id,class:`pattern-card`,onClick:t=>ze(e.id)},[h(`div`,{class:`pattern-card__photo`,style:d(e.imageUrl?{backgroundImage:`url(${e.imageUrl})`}:void 0)},[h(`button`,{type:`button`,class:`pattern-card__fav`,"aria-pressed":u(z).isFavorite(e.id),"aria-label":u(z).isFavorite(e.id)?`حذف از علاقه‌مندی‌ها`:`افزودن به علاقه‌مندی‌ها`,onClick:n(t=>Be(e.id),[`stop`])},[(f(),c(`svg`,Ee,[h(`path`,{d:`M12.1 20.3s-6.6-4.1-8.4-8.1c-1.4-3.1.1-6.7 3.4-7.5 1.9-.5 3.7.3 4.9 1.8 1.2-1.5 3-2.3 4.9-1.8 3.3.8 4.8 4.4 3.4 7.5-1.8 4-8.2 8.1-8.2 8.1Z`,fill:u(z).isFavorite(e.id)?`var(--color-primary)`:`none`,stroke:`var(--color-primary)`,"stroke-width":`1.5`,"stroke-linejoin":`round`},null,8,De)]))],8,Te)],4),h(`div`,Oe,[h(`strong`,null,r(e.name),1),h(`div`,I,[h(`span`,null,r(u(v)(e.colorCount))+` رنگ`,1),h(`div`,ke,[(f(!0),c(s,null,p(e.colors,(t,n)=>(f(),c(`i`,{key:n,style:d(u(ve)(t,e.colorImages[n]))},null,4))),128))])])])],8,we))),128))]),Q.value.length?o(``,!0):(f(),c(`p`,Ae,`طرحی در این دسته نیست.`))],64))])]),!U.value&&H.value.length?(f(),c(`div`,je,[h(`button`,{type:`button`,class:`inquiry-bar`,disabled:G.value,onClick:We},[a(r(G.value?`در حال افزودن...`:`افزودن همه به سبد استعلام`)+` `,1),h(`small`,null,r(u(v)(Z.value.length))+` طرح انتخاب می‌شود`,1)],8,Me)])):o(``,!0),K.value?(f(),c(`p`,Ne,r(K.value),1)):o(``,!0)]))}}),[[`__scopeId`,`data-v-e342d3a5`]]);export{L as default}; \ No newline at end of file +import{A as e,Ct as t,D as n,Et as r,I as i,L as a,M as ee,N as o,O as s,P as c,R as l,St as u,Tt as d,Y as f,Z as p,_ as m,g as te,j as h,mt as g,n as ne,q as re,t as ie,tt as ae,z as _}from"./BasicIcon-C6boaehV.js";import{o as v}from"./format-BHJptHdF.js";import{t as oe}from"./catalog-s7nVUdlj.js";import{T as se,l as ce,o as le}from"./index-B6MlTGUp.js";import{t as ue}from"./IconChevronBack-DORV2H0q.js";import{t as de}from"./PageSkeleton-uO-jhbNm.js";import{t as fe}from"./IconShare-1kao-fAR.js";import{t as pe}from"./crm-CtglbPsN.js";import{t as me}from"./useGoBack-CgNp0uP9.js";import{i as he,o as ge,r as _e,t as y}from"./catalogGallery-DMNB35I1.js";import{n as ve}from"./colorSwatch-BgOH1LE5.js";var b=[{id:`demo-milano`,companyId:``,name:`میلانو`,title:`کالیته میلانو`,latinName:`Milano`,subtitle:`پارچه‌های کت‌وشلواری`,imageUrl:`/assets/milano-DWfm45LN.jpg`,patternCount:16,badge:`new`,season:`all_season`,isNew:!0,isPopular:!1},{id:`demo-najran`,companyId:``,name:`نجران`,title:`کالیته نجران`,latinName:`Najran`,subtitle:`پارچه‌های پیراهنی`,imageUrl:`/assets/najran-BcpOdgRK.jpg`,patternCount:14,season:`all_season`,isNew:!1,isPopular:!1},{id:`demo-payizeh`,companyId:``,name:`پاییزه`,title:`کالیته پاییزه`,latinName:`Payizeh`,subtitle:`پارچه‌های شلواری`,imageUrl:`/assets/payizeh-CeElyeeF.jpg`,patternCount:18,season:`all_season`,isNew:!1,isPopular:!1},{id:`demo-classic`,companyId:``,name:`کلاسیک`,title:`کالیته کلاسیک`,latinName:`Classic`,subtitle:`پارچه‌های کت‌وشلواری`,imageUrl:`/assets/classic-DiIciTEG.jpg`,patternCount:16,season:`all_season`,isNew:!1,isPopular:!1},{id:`demo-tarhdar`,companyId:``,name:`طرح‌دار`,title:`کالیته طرح‌دار`,latinName:`Tarhdar`,subtitle:`پارچه‌های مجلسی`,imageUrl:`/assets/tarhdar-ryfL3rgV.jpg`,patternCount:20,badge:`popular`,season:`winter`,isNew:!1,isPopular:!0},{id:`demo-fastoni`,companyId:``,name:`فاستونی`,title:`کالیته فاستونی`,latinName:`Fastoni`,subtitle:`پارچه‌های مناسب چهار فصل`,imageUrl:`/assets/fastoni-BdaZFVHx.jpg`,patternCount:20,season:`all_season`,isNew:!1,isPopular:!1}];function x(e){return b.find(t=>t.id===e)}function S(e){let t=[`${e.name} ۱۰۱`,`${e.name} ۱۰۲`,`${e.name} ۱۰۳`,`${e.name} ۱۰۴`],n=[`plain`,`melange`,`patterned`,`plain`];return t.map((t,r)=>({id:`${e.id}-${r+1}`,name:t,code:`${e.latinName||e.name}-${101+r}`,categoryId:e.subtitle.includes(`پیراهن`)?`shirt`:e.subtitle.includes(`شلوار`)?`trousers`:`suit`,season:e.season,widthCm:150,composition:`پشم و پلی‌استر`,weaveType:n[r]===`plain`?`ساده`:n[r]===`melange`?`ملانژ`:`طرح‌دار`,colors:[`#111827`,`#6b7280`,`#d6d3d1`,`#1e3a5f`].slice(0,3+r%2),tags:[n[r]===`patterned`?`طرح‌دار`:n[r]===`melange`?`ملانژ`:`ساده`],isNew:r===0,imageUrl:e.imageUrl,subtitle:e.subtitle,rollMeters:50}))}var C={class:`page calite-detail`},w={class:`page__scroll page__scroll--with-nav calite-detail__scroll`},T={class:`calite-hero`},E={class:`calite-hero__nav`},D={key:0,class:`calite-hero__copy`},O={class:`calite-hero__usage`},k={key:0,class:`calite-hero__latin`},A={class:`calite-hero__tagline`},j={class:`calite-detail__body`},M={key:1,class:`calite-detail__error`},N={class:`attr-row`},P={class:`attr`},F={class:`attr`},ye={class:`physical-cta__icon`,"aria-hidden":`true`},be={class:`physical-cta__chevron`,"aria-hidden":`true`},xe={class:`pattern-tabs`,role:`tablist`,"aria-label":`نوع طرح`},Se=[`onClick`],Ce={class:`pattern-grid`},we=[`onClick`],Te=[`aria-pressed`,`aria-label`,`onClick`],Ee={viewBox:`0 0 24 24`,width:`16`,height:`16`,fill:`none`,"aria-hidden":`true`},De=[`fill`],Oe={class:`pattern-card__meta`},I={class:`pattern-card__colors`},ke={class:`swatches`},Ae={key:0,class:`calite-detail__error`},je={key:0,class:`sticky-footer calite-detail__footer`},Me=[`disabled`],Ne={key:1,class:`toast`},L=ne(_({__name:`CatalogDetailView`,setup(ne){let _=te(),b=m(),{goBack:L}=me(`/catalogs`),R=oe(),Pe=pe(),Fe=se(),z=ce(),B=e(()=>String(_.params.catalogId??``)),V=g(null),H=g([]),U=g(!0),W=g(null),G=g(!1),K=g(``),q=g(`all`),J=e(()=>_e(V.value?.name||`کالیته`)),Y=e(()=>V.value?.imageUrl||(V.value?x(V.value.id)?.imageUrl:void 0)||H.value.find(e=>e.imageUrl)?.imageUrl),X=e(()=>{let e=V.value?x(V.value.id):void 0;return e?.latinName?e.latinName:V.value?he(V.value):``}),Ie=e(()=>{let e=V.value?x(V.value.id):void 0;if(e?.subtitle)return e.subtitle;let t=H.value[0]?.categoryId;return t===`trousers`?`پارچه‌های شلواری`:t===`shirt`?`پارچه‌های پیراهنی`:`پارچه‌های کت‌وشلواری`}),Z=e(()=>ge(H.value)),Q=e(()=>q.value===`all`?Z.value:Z.value.filter(e=>e.kind===q.value)),Le=e(()=>{let e=V.value?x(V.value.id):void 0;if(e)return y[e.season];let t={};for(let e of H.value)t[e.season]=(t[e.season]??0)+1;let n=Object.entries(t).sort((e,t)=>t[1]-e[1])[0]?.[0];return n?y[n]:y.all_season}),Re=e(()=>[{id:`all`,label:`همه طرح‌ها`,count:Z.value.length},{id:`plain`,label:`ساده`,count:Z.value.filter(e=>e.kind===`plain`).length},{id:`melange`,label:`ملانژ`,count:Z.value.filter(e=>e.kind===`melange`).length},{id:`patterned`,label:`طرح‌دار`,count:Z.value.filter(e=>e.kind===`patterned`).length}]);async function $(){U.value=!0,W.value=null,V.value=null,H.value=[],q.value=`all`;try{let e=await R.loadCompanies();R.getCatalog(B.value)||await Promise.all(e.map(e=>R.loadCatalogs(e.id))),V.value=R.getCatalog(B.value)??null;let t=x(B.value);if(!V.value&&t){V.value={id:t.id,companyId:``,name:t.name,code:t.latinName||t.name,description:`ترکیبی از اصالت، کیفیت و استایل مدرن`,displayOrder:0,isActive:!0},H.value=S(t);return}if(!V.value){W.value=`کالیته مورد نظر یافت نشد.`;return}H.value=await Pe.loadBrowseProducts({catalogId:V.value.id,companyId:V.value.companyId}),!H.value.length&&t&&(H.value=S(t))}catch(e){W.value=e instanceof Error?e.message:`بارگذاری کالیته ناموفق بود.`}finally{U.value=!1}}re(async()=>{await z.hydrate(),await $()}),ae(B,$);function ze(e){e.startsWith(`demo-`)||b.push({path:`/product`,query:{id:e}})}function Be(e){z.toggle(e)}function Ve(){b.push({path:`/catalog-request`,query:{catalogId:B.value}})}function He(){let e=window.location.href;if(navigator.share){navigator.share({title:J.value,url:e}).catch(()=>void 0);return}navigator.clipboard?.writeText(e)}function Ue(e){return{id:e.id,companyId:e.companyId||V.value?.companyId||``,catalogId:e.catalogId||B.value,name:e.name,code:e.code,color:e.color||e.colors[0]||`—`,minMeterage:e.minMeterage??30,orderMultiplier:e.orderMultiplier??10,basePrice:e.basePrice,isActive:!0}}async function We(){if(!H.value.length||G.value)return;G.value=!0,K.value=``;let e=0,t=``;try{for(let n of H.value){let r=Ue(n),i=await Fe.addItem(r,V.value?.code||n.catalogCode||n.code,r.minMeterage);i.success?e+=1:t=i.message||t}K.value=e?`${v(e)} طرح به سبد استعلام اضافه شد.`:t||`افزودن به سبد ناموفق بود.`,e&&window.setTimeout(()=>b.push(`/cart`),650)}finally{G.value=!1}}return(e,m)=>(f(),c(`div`,C,[h(`div`,w,[h(`section`,T,[h(`div`,{class:`calite-hero__photo`,style:d(Y.value?{backgroundImage:`url(${Y.value})`}:void 0)},null,4),h(`header`,E,[h(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:m[0]||=(...e)=>u(L)&&u(L)(...e)},[l(ue,{size:22,color:`#ffffff`})]),h(`h1`,null,r(U.value?`کالیته`:J.value),1),h(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اشتراک‌گذاری`,onClick:He},[l(fe,{size:20,color:`#ffffff`})])]),!U.value&&!W.value?(f(),c(`div`,D,[h(`h2`,null,r(J.value),1),h(`p`,O,r(Ie.value),1),X.value?(f(),c(`strong`,k,r(X.value),1)):o(``,!0),h(`span`,A,r(V.value?.description||`ترکیبی از اصالت، کیفیت و استایل مدرن`),1)])):o(``,!0)]),h(`div`,j,[U.value?(f(),ee(de,{key:0,variant:`cards`,rows:5})):W.value?(f(),c(`p`,M,r(W.value),1)):(f(),c(s,{key:2},[h(`div`,N,[h(`span`,P,[m[1]||=h(`svg`,{class:`attr__icon`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`},[h(`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`}),h(`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`}),h(`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1),a(` `+r(u(v)(Z.value.length))+` طرح `,1)]),h(`span`,F,[m[2]||=h(`svg`,{class:`attr__icon`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`},[h(`circle`,{cx:`12`,cy:`12`,r:`4`,stroke:`currentColor`,"stroke-width":`1.5`}),h(`path`,{d:`M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`})],-1),a(` `+r(Le.value),1)]),m[3]||=i(` پرطرفدار کیفیت ممتاز `,2)]),h(`button`,{type:`button`,class:`physical-cta`,onClick:Ve},[h(`span`,ye,[l(ie,{icon:`vuesax-linear:truck-time`,size:20,color:`#ffffff`})]),m[4]||=a(` درخواست دریافت فیزیکی کالیته `,-1),h(`span`,be,[l(le,{size:18,color:`#ffffff`})])]),h(`div`,xe,[(f(!0),c(s,null,p(Re.value,e=>(f(),c(`button`,{key:e.id,type:`button`,class:t([`pattern-tab`,{"is-on":q.value===e.id}]),onClick:t=>q.value=e.id},[a(r(e.label),1),e.id===`all`?(f(),c(s,{key:0},[a(` (`+r(u(v)(e.count))+`)`,1)],64)):o(``,!0)],10,Se))),128))]),h(`div`,Ce,[(f(!0),c(s,null,p(Q.value,e=>(f(),c(`article`,{key:e.id,class:`pattern-card`,onClick:t=>ze(e.id)},[h(`div`,{class:`pattern-card__photo`,style:d(e.imageUrl?{backgroundImage:`url(${e.imageUrl})`}:void 0)},[h(`button`,{type:`button`,class:`pattern-card__fav`,"aria-pressed":u(z).isFavorite(e.id),"aria-label":u(z).isFavorite(e.id)?`حذف از علاقه‌مندی‌ها`:`افزودن به علاقه‌مندی‌ها`,onClick:n(t=>Be(e.id),[`stop`])},[(f(),c(`svg`,Ee,[h(`path`,{d:`M12.1 20.3s-6.6-4.1-8.4-8.1c-1.4-3.1.1-6.7 3.4-7.5 1.9-.5 3.7.3 4.9 1.8 1.2-1.5 3-2.3 4.9-1.8 3.3.8 4.8 4.4 3.4 7.5-1.8 4-8.2 8.1-8.2 8.1Z`,fill:u(z).isFavorite(e.id)?`var(--color-primary)`:`none`,stroke:`var(--color-primary)`,"stroke-width":`1.5`,"stroke-linejoin":`round`},null,8,De)]))],8,Te)],4),h(`div`,Oe,[h(`strong`,null,r(e.name),1),h(`div`,I,[h(`span`,null,r(u(v)(e.colorCount))+` رنگ`,1),h(`div`,ke,[(f(!0),c(s,null,p(e.colors,(t,n)=>(f(),c(`i`,{key:n,style:d(u(ve)(t,e.colorImages[n]))},null,4))),128))])])])],8,we))),128))]),Q.value.length?o(``,!0):(f(),c(`p`,Ae,`طرحی در این دسته نیست.`))],64))])]),!U.value&&H.value.length?(f(),c(`div`,je,[h(`button`,{type:`button`,class:`inquiry-bar`,disabled:G.value,onClick:We},[a(r(G.value?`در حال افزودن...`:`افزودن همه به سبد استعلام`)+` `,1),h(`small`,null,r(u(v)(Z.value.length))+` طرح انتخاب می‌شود`,1)],8,Me)])):o(``,!0),K.value?(f(),c(`p`,Ne,r(K.value),1)):o(``,!0)]))}}),[[`__scopeId`,`data-v-e342d3a5`]]);export{L as default}; \ No newline at end of file diff --git a/dist/assets/CatalogListView-C_xOF3_z.js b/dist/assets/CatalogListView-SX8NH65z.js similarity index 94% rename from dist/assets/CatalogListView-C_xOF3_z.js rename to dist/assets/CatalogListView-SX8NH65z.js index d4b9f69..1befa04 100644 --- a/dist/assets/CatalogListView-C_xOF3_z.js +++ b/dist/assets/CatalogListView-SX8NH65z.js @@ -1 +1 @@ -import{A as e,Et as t,M as n,O as r,P as i,R as a,St as o,Y as s,Z as c,_ as l,g as u,j as d,mt as f,n as p,q as m,tt as h,z as g}from"./BasicIcon-C6boaehV.js";import{t as _}from"./catalog-s7nVUdlj.js";import{b as v}from"./index-spodxsRN.js";import{t as y}from"./EmptyState-C_QQeA_h.js";import{t as b}from"./PageSkeleton-uO-jhbNm.js";import{t as x}from"./PageHeader-BaJqBjIW.js";import{t as S}from"./SearchField-Dx2PcshV.js";var C={class:`page catalog-list-page`},w={class:`catalog-list-page__desk-head desktop-only`},T={class:`page__scroll page__scroll--with-nav catalog-list-page__scroll`},E={key:1,class:`catalog-list`},D=[`onClick`],O={class:`catalog-card__icon`},k={class:`catalog-card__info`},A={class:`catalog-card__count`},j=p(g({__name:`CatalogListView`,setup(p){let g=u(),j=l(),M=_(),N=f(!0),P=e(()=>g.params.companyId),F=e(()=>M.getCompany(P.value)),I=f(``),L=e(()=>M.fetchCatalogs(P.value,I.value));async function R(){N.value=!0,M.getCompany(P.value)||await M.loadCompanies(),await M.loadCatalogs(P.value),N.value=!1}m(R),h(P,R);function z(e){j.push({name:`catalog-detail`,params:{catalogId:e}})}function B(e){let t=M.getCatalog(e);return t?.productCount==null?M.fetchProducts(e).length:t.productCount}return(e,l)=>(s(),i(`div`,C,[a(x,{class:`mobile-only`,title:F.value?.name??`کالیته‌ها`,subtitle:`کالیته مورد نظر را انتخاب کنید`,"show-back":``,centered:``,onBack:l[0]||=e=>o(j).push(`/companies`)},null,8,[`title`]),d(`header`,w,[d(`h1`,null,t(F.value?.name??`کالیته‌ها`),1),l[2]||=d(`p`,null,`کالیته مورد نظر را انتخاب کنید`,-1)]),a(S,{modelValue:I.value,"onUpdate:modelValue":l[1]||=e=>I.value=e,placeholder:`جستجو بر اساس کد یا نام کالیته...`,class:`catalog-list-page__search`},null,8,[`modelValue`]),d(`div`,T,[N.value?(s(),n(b,{key:0,variant:`cards`,rows:5})):L.value.length>0?(s(),i(`div`,E,[(s(!0),i(r,null,c(L.value,e=>(s(),i(`button`,{key:e.id,type:`button`,class:`catalog-card`,onClick:t=>z(e.id)},[d(`span`,O,[a(v,{size:22})]),d(`div`,k,[d(`h3`,null,`کالیته کد `+t(e.code),1),d(`p`,null,t(e.name),1)]),d(`span`,A,t(B(e.id))+` محصول`,1)],8,D))),128))])):(s(),n(y,{key:2,variant:I.value?`search`:`catalogs`,message:I.value?`با این جستجو کالیته‌ای پیدا نشد`:`برای این شرکت هنوز کالیته‌ای ثبت نشده است`},null,8,[`variant`,`message`]))])]))}}),[[`__scopeId`,`data-v-53c183e1`]]);export{j as default}; \ No newline at end of file +import{A as e,Et as t,M as n,O as r,P as i,R as a,St as o,Y as s,Z as c,_ as l,g as u,j as d,mt as f,n as p,q as m,tt as h,z as g}from"./BasicIcon-C6boaehV.js";import{t as _}from"./catalog-s7nVUdlj.js";import{b as v}from"./index-B6MlTGUp.js";import{t as y}from"./EmptyState-C_QQeA_h.js";import{t as b}from"./PageSkeleton-uO-jhbNm.js";import{t as x}from"./PageHeader-CDQMUtCp.js";import{t as S}from"./SearchField-Dx2PcshV.js";var C={class:`page catalog-list-page`},w={class:`catalog-list-page__desk-head desktop-only`},T={class:`page__scroll page__scroll--with-nav catalog-list-page__scroll`},E={key:1,class:`catalog-list`},D=[`onClick`],O={class:`catalog-card__icon`},k={class:`catalog-card__info`},A={class:`catalog-card__count`},j=p(g({__name:`CatalogListView`,setup(p){let g=u(),j=l(),M=_(),N=f(!0),P=e(()=>g.params.companyId),F=e(()=>M.getCompany(P.value)),I=f(``),L=e(()=>M.fetchCatalogs(P.value,I.value));async function R(){N.value=!0,M.getCompany(P.value)||await M.loadCompanies(),await M.loadCatalogs(P.value),N.value=!1}m(R),h(P,R);function z(e){j.push({name:`catalog-detail`,params:{catalogId:e}})}function B(e){let t=M.getCatalog(e);return t?.productCount==null?M.fetchProducts(e).length:t.productCount}return(e,l)=>(s(),i(`div`,C,[a(x,{class:`mobile-only`,title:F.value?.name??`کالیته‌ها`,subtitle:`کالیته مورد نظر را انتخاب کنید`,"show-back":``,centered:``,onBack:l[0]||=e=>o(j).push(`/companies`)},null,8,[`title`]),d(`header`,w,[d(`h1`,null,t(F.value?.name??`کالیته‌ها`),1),l[2]||=d(`p`,null,`کالیته مورد نظر را انتخاب کنید`,-1)]),a(S,{modelValue:I.value,"onUpdate:modelValue":l[1]||=e=>I.value=e,placeholder:`جستجو بر اساس کد یا نام کالیته...`,class:`catalog-list-page__search`},null,8,[`modelValue`]),d(`div`,T,[N.value?(s(),n(b,{key:0,variant:`cards`,rows:5})):L.value.length>0?(s(),i(`div`,E,[(s(!0),i(r,null,c(L.value,e=>(s(),i(`button`,{key:e.id,type:`button`,class:`catalog-card`,onClick:t=>z(e.id)},[d(`span`,O,[a(v,{size:22})]),d(`div`,k,[d(`h3`,null,`کالیته کد `+t(e.code),1),d(`p`,null,t(e.name),1)]),d(`span`,A,t(B(e.id))+` محصول`,1)],8,D))),128))])):(s(),n(y,{key:2,variant:I.value?`search`:`catalogs`,message:I.value?`با این جستجو کالیته‌ای پیدا نشد`:`برای این شرکت هنوز کالیته‌ای ثبت نشده است`},null,8,[`variant`,`message`]))])]))}}),[[`__scopeId`,`data-v-53c183e1`]]);export{j as default}; \ No newline at end of file diff --git a/dist/assets/CatalogRequestView-DJSH6bVf.js b/dist/assets/CatalogRequestView-BhFG7AuZ.js similarity index 97% rename from dist/assets/CatalogRequestView-DJSH6bVf.js rename to dist/assets/CatalogRequestView-BhFG7AuZ.js index d1fb3d1..65bbc3e 100644 --- a/dist/assets/CatalogRequestView-DJSH6bVf.js +++ b/dist/assets/CatalogRequestView-BhFG7AuZ.js @@ -1 +1 @@ -import{A as e,Ct as t,Et as n,L as r,M as i,O as a,P as o,R as s,St as c,Y as l,Z as u,_ as d,g as f,it as p,j as m,mt as h,n as g,q as _,w as v,z as y}from"./BasicIcon-C6boaehV.js";import{o as b}from"./format-BHJptHdF.js";import{t as x}from"./PageSkeleton-uO-jhbNm.js";import{t as S}from"./crm-CtglbPsN.js";import{t as C}from"./PageHeader-BaJqBjIW.js";import{t as w}from"./catalogRequests-D1kBtGqL.js";var T={class:`page`},E={class:`page__scroll page__scroll--with-nav body`},D={class:`hint`},O={key:1,class:`error`},k=[`value`,`onInput`],A={class:`note`},j={class:`summary`},M=[`disabled`],N=g(y({__name:`CatalogRequestView`,setup(g){let y=f(),N=d(),P=S(),F=w(),I=h(!0),L=h(!1),R=h(null),z=h(``),B=h([]),V=h({}),H=e(()=>String(y.query.productId??``)),U=e(()=>String(y.query.catalogId??``)),W=e(()=>B.value.filter(e=>(V.value[e.id]??0)>0).map(e=>({productId:e.id,productName:e.name,productCode:e.code,quantity:V.value[e.id]??0})));_(async()=>{I.value=!0,R.value=null;try{let e=await P.loadBrowseProducts(U.value?{catalogId:U.value}:void 0),t=H.value;B.value=t?[...e].sort((e,n)=>Number(n.id===t)-Number(e.id===t)):e,t&&(V.value={...V.value,[t]:1})}catch(e){R.value=e instanceof Error?e.message:`بارگذاری محصولات ناموفق بود.`}finally{I.value=!1}});function G(e,t){V.value={...V.value,[e]:Math.max(0,Math.floor(t)||0)}}async function K(){L.value=!0,R.value=null;try{let e=await F.create({items:W.value,note:z.value});if(!e.success){R.value=e.message;return}N.push(`/catalog-requests`)}finally{L.value=!1}}return(e,d)=>(l(),o(`div`,T,[s(C,{title:`درخواست کالیته`,"show-back":``,centered:``,onBack:d[0]||=e=>c(N).back()}),m(`div`,E,[m(`p`,D,n(H.value?`این محصول برای درخواست کالیته انتخاب شده است. در صورت نیاز اقلام دیگر را هم اضافه کنید.`:`محصولات و تعداد اقلام موردنظر را مشخص کنید.`),1),I.value?(l(),i(x,{key:0,variant:`form`})):R.value?(l(),o(`p`,O,n(R.value),1)):(l(),o(a,{key:2},[(l(!0),o(a,null,u(B.value,e=>(l(),o(`article`,{key:e.id,class:t([`row`,{"row--selected":H.value===e.id}])},[m(`div`,null,[m(`strong`,null,n(e.name),1),m(`span`,null,`کد `+n(e.code),1)]),m(`input`,{class:`qty`,type:`number`,min:`0`,value:V.value[e.id]??0,onInput:t=>G(e.id,Number(t.target.value))},null,40,k)],2))),128)),m(`label`,A,[d[3]||=r(` توضیحات `,-1),p(m(`textarea`,{"onUpdate:modelValue":d[1]||=e=>z.value=e,rows:`3`,placeholder:`آدرس یا توضیحات اختیاری`},null,512),[[v,z.value]])]),m(`p`,j,`اقلام انتخاب‌شده: `+n(c(b)(W.value.length)),1),m(`button`,{type:`button`,class:`submit`,disabled:L.value,onClick:K},n(L.value?`در حال ثبت...`:`ثبت درخواست کالیته`),9,M),m(`button`,{type:`button`,class:`linkish`,onClick:d[2]||=e=>c(N).push(`/catalog-requests`)},` وضعیت درخواست‌های قبلی `)],64))])]))}}),[[`__scopeId`,`data-v-6bde0457`]]);export{N as default}; \ No newline at end of file +import{A as e,Ct as t,Et as n,L as r,M as i,O as a,P as o,R as s,St as c,Y as l,Z as u,_ as d,g as f,it as p,j as m,mt as h,n as g,q as _,w as v,z as y}from"./BasicIcon-C6boaehV.js";import{o as b}from"./format-BHJptHdF.js";import{t as x}from"./PageSkeleton-uO-jhbNm.js";import{t as S}from"./crm-CtglbPsN.js";import{t as C}from"./PageHeader-CDQMUtCp.js";import{t as w}from"./catalogRequests-D1kBtGqL.js";var T={class:`page`},E={class:`page__scroll page__scroll--with-nav body`},D={class:`hint`},O={key:1,class:`error`},k=[`value`,`onInput`],A={class:`note`},j={class:`summary`},M=[`disabled`],N=g(y({__name:`CatalogRequestView`,setup(g){let y=f(),N=d(),P=S(),F=w(),I=h(!0),L=h(!1),R=h(null),z=h(``),B=h([]),V=h({}),H=e(()=>String(y.query.productId??``)),U=e(()=>String(y.query.catalogId??``)),W=e(()=>B.value.filter(e=>(V.value[e.id]??0)>0).map(e=>({productId:e.id,productName:e.name,productCode:e.code,quantity:V.value[e.id]??0})));_(async()=>{I.value=!0,R.value=null;try{let e=await P.loadBrowseProducts(U.value?{catalogId:U.value}:void 0),t=H.value;B.value=t?[...e].sort((e,n)=>Number(n.id===t)-Number(e.id===t)):e,t&&(V.value={...V.value,[t]:1})}catch(e){R.value=e instanceof Error?e.message:`بارگذاری محصولات ناموفق بود.`}finally{I.value=!1}});function G(e,t){V.value={...V.value,[e]:Math.max(0,Math.floor(t)||0)}}async function K(){L.value=!0,R.value=null;try{let e=await F.create({items:W.value,note:z.value});if(!e.success){R.value=e.message;return}N.push(`/catalog-requests`)}finally{L.value=!1}}return(e,d)=>(l(),o(`div`,T,[s(C,{title:`درخواست کالیته`,"show-back":``,centered:``,onBack:d[0]||=e=>c(N).back()}),m(`div`,E,[m(`p`,D,n(H.value?`این محصول برای درخواست کالیته انتخاب شده است. در صورت نیاز اقلام دیگر را هم اضافه کنید.`:`محصولات و تعداد اقلام موردنظر را مشخص کنید.`),1),I.value?(l(),i(x,{key:0,variant:`form`})):R.value?(l(),o(`p`,O,n(R.value),1)):(l(),o(a,{key:2},[(l(!0),o(a,null,u(B.value,e=>(l(),o(`article`,{key:e.id,class:t([`row`,{"row--selected":H.value===e.id}])},[m(`div`,null,[m(`strong`,null,n(e.name),1),m(`span`,null,`کد `+n(e.code),1)]),m(`input`,{class:`qty`,type:`number`,min:`0`,value:V.value[e.id]??0,onInput:t=>G(e.id,Number(t.target.value))},null,40,k)],2))),128)),m(`label`,A,[d[3]||=r(` توضیحات `,-1),p(m(`textarea`,{"onUpdate:modelValue":d[1]||=e=>z.value=e,rows:`3`,placeholder:`آدرس یا توضیحات اختیاری`},null,512),[[v,z.value]])]),m(`p`,j,`اقلام انتخاب‌شده: `+n(c(b)(W.value.length)),1),m(`button`,{type:`button`,class:`submit`,disabled:L.value,onClick:K},n(L.value?`در حال ثبت...`:`ثبت درخواست کالیته`),9,M),m(`button`,{type:`button`,class:`linkish`,onClick:d[2]||=e=>c(N).push(`/catalog-requests`)},` وضعیت درخواست‌های قبلی `)],64))])]))}}),[[`__scopeId`,`data-v-6bde0457`]]);export{N as default}; \ No newline at end of file diff --git a/dist/assets/CatalogRequestsView-DKI4qAxI.js b/dist/assets/CatalogRequestsView-fszvIs41.js similarity index 95% rename from dist/assets/CatalogRequestsView-DKI4qAxI.js rename to dist/assets/CatalogRequestsView-fszvIs41.js index d487b5b..6a4d6e2 100644 --- a/dist/assets/CatalogRequestsView-DKI4qAxI.js +++ b/dist/assets/CatalogRequestsView-fszvIs41.js @@ -1 +1 @@ -import{Et as e,N as t,O as n,P as r,R as i,St as a,Y as o,Z as s,_ as c,j as l,n as u,q as d,z as f}from"./BasicIcon-C6boaehV.js";import{o as p}from"./format-BHJptHdF.js";import{t as m}from"./PageHeader-BaJqBjIW.js";import{t as h}from"./catalogRequests-D1kBtGqL.js";var g={class:`page`},_={class:`page__scroll page__scroll--with-nav body`},v={key:0,class:`empty`},y={class:`card__top`},b={class:`badge`},x={key:0,class:`note`},S=u(f({__name:`CatalogRequestsView`,setup(u){let f=c(),S=h();return d(()=>S.hydrate()),(c,u)=>(o(),r(`div`,g,[i(m,{title:`وضعیت کالیته‌ها`,"show-back":``,centered:``,onBack:u[0]||=e=>a(f).push(`/catalogs`)}),l(`div`,_,[l(`button`,{type:`button`,class:`new-btn`,onClick:u[1]||=e=>a(f).push(`/catalog-request`)},` درخواست کالیته جدید `),a(S).sorted.length?t(``,!0):(o(),r(`p`,v,`هنوز درخواستی ثبت نکرده‌اید.`)),(o(!0),r(n,null,s(a(S).sorted,i=>(o(),r(`article`,{key:i.id,class:`card`},[l(`div`,y,[l(`strong`,null,`درخواست `+e(i.id.slice(-6)),1),l(`span`,b,e(a(S).statusLabel(i.status)),1)]),l(`p`,null,e(i.createdAt.slice(0,10)),1),l(`p`,null,e(a(p)(i.items.length))+` قلم`,1),l(`ul`,null,[(o(!0),r(n,null,s(i.items,t=>(o(),r(`li`,{key:t.productId},e(t.productName)+` × `+e(a(p)(t.quantity)),1))),128))]),i.note?(o(),r(`p`,x,e(i.note),1)):t(``,!0)]))),128))])]))}}),[[`__scopeId`,`data-v-fc04181d`]]);export{S as default}; \ No newline at end of file +import{Et as e,N as t,O as n,P as r,R as i,St as a,Y as o,Z as s,_ as c,j as l,n as u,q as d,z as f}from"./BasicIcon-C6boaehV.js";import{o as p}from"./format-BHJptHdF.js";import{t as m}from"./PageHeader-CDQMUtCp.js";import{t as h}from"./catalogRequests-D1kBtGqL.js";var g={class:`page`},_={class:`page__scroll page__scroll--with-nav body`},v={key:0,class:`empty`},y={class:`card__top`},b={class:`badge`},x={key:0,class:`note`},S=u(f({__name:`CatalogRequestsView`,setup(u){let f=c(),S=h();return d(()=>S.hydrate()),(c,u)=>(o(),r(`div`,g,[i(m,{title:`وضعیت کالیته‌ها`,"show-back":``,centered:``,onBack:u[0]||=e=>a(f).push(`/catalogs`)}),l(`div`,_,[l(`button`,{type:`button`,class:`new-btn`,onClick:u[1]||=e=>a(f).push(`/catalog-request`)},` درخواست کالیته جدید `),a(S).sorted.length?t(``,!0):(o(),r(`p`,v,`هنوز درخواستی ثبت نکرده‌اید.`)),(o(!0),r(n,null,s(a(S).sorted,i=>(o(),r(`article`,{key:i.id,class:`card`},[l(`div`,y,[l(`strong`,null,`درخواست `+e(i.id.slice(-6)),1),l(`span`,b,e(a(S).statusLabel(i.status)),1)]),l(`p`,null,e(i.createdAt.slice(0,10)),1),l(`p`,null,e(a(p)(i.items.length))+` قلم`,1),l(`ul`,null,[(o(!0),r(n,null,s(i.items,t=>(o(),r(`li`,{key:t.productId},e(t.productName)+` × `+e(a(p)(t.quantity)),1))),128))]),i.note?(o(),r(`p`,x,e(i.note),1)):t(``,!0)]))),128))])]))}}),[[`__scopeId`,`data-v-fc04181d`]]);export{S as default}; \ No newline at end of file diff --git a/dist/assets/CatalogsHubView-CNo_eP3-.js b/dist/assets/CatalogsHubView-u8MWedcL.js similarity index 98% rename from dist/assets/CatalogsHubView-CNo_eP3-.js rename to dist/assets/CatalogsHubView-u8MWedcL.js index c635aab..17785ec 100644 --- a/dist/assets/CatalogsHubView-CNo_eP3-.js +++ b/dist/assets/CatalogsHubView-u8MWedcL.js @@ -1 +1 @@ -import{A as e,Ct as t,Et as n,M as r,N as i,O as a,P as o,R as s,St as c,Tt as l,Y as u,Z as d,_ as f,g as p,j as m,mt as h,n as g,q as _,z as v}from"./BasicIcon-C6boaehV.js";import{o as y}from"./format-BHJptHdF.js";import{t as b}from"./catalog-s7nVUdlj.js";import{i as x}from"./index-spodxsRN.js";import{t as S}from"./IconChevronBack-DORV2H0q.js";import{t as C}from"./PageSkeleton-uO-jhbNm.js";import{t as ee}from"./crm-CtglbPsN.js";import{t as te}from"./useGoBack-CgNp0uP9.js";import{a as w,n as T}from"./catalogGallery-DMNB35I1.js";import{t as E}from"./SearchField-Dx2PcshV.js";import{t as D}from"./IconSearch-DOnq8ybc.js";var O={class:`page calite-hub`},k={class:`calite-hub__nav`},A={class:`calite-hub__nav-end`},j=[`aria-label`,`aria-pressed`],M={class:`page__scroll page__scroll--with-nav calite-hub__scroll`},N={class:`calite-hub__chips`,role:`tablist`,"aria-label":`مرتب‌سازی کالیته‌ها`},P=[`onClick`],F={key:2,class:`calite-hub__empty`},I={key:3,class:`calite-hub__list`},L=[`onClick`],R={key:0,class:`calite-card__badge`},z={class:`calite-card__copy`,dir:`rtl`},ne={class:`mr-4 text-white`},B={class:`text-lg font-bold`},V={class:`text-md`},H={class:`text-xs mt-4`},U=g(v({__name:`CatalogsHubView`,setup(g){let v=p(),U=f(),{goBack:W}=te(`/`),G=b(),K=ee(),q=h([]),J=h([]),Y=h(!0),X=h(!1),Z=h(``),Q=h(`all`),re=[{id:`all`,label:`همه`},{id:`newest`,label:`جدیدترین`},{id:`popular`,label:`محبوب‌ترین`},{id:`season`,label:`بر اساس فصل`}],ie=e(()=>T(q.value,J.value)),$=e(()=>w(ie.value,Q.value,Z.value));_(async()=>{try{let e=await G.loadCompanies(),[t,n]=await Promise.all([Promise.all(e.map(e=>G.loadCatalogs(e.id))),K.loadBrowseProducts().catch(()=>[])]);q.value=t.flat(),J.value=n;let r=String(v.query.id??``);r&&q.value.some(e=>e.id===r)&&U.replace({name:`catalog-detail`,params:{catalogId:r}})}catch{q.value=[]}finally{Y.value=!1}});function ae(e){U.push({name:`catalog-detail`,params:{catalogId:e}})}function oe(){X.value=!X.value,X.value||(Z.value=``)}function se(e){let t=e.season===`winter`?`مناسب زمستان`:e.season===`summer`?`مناسب تابستان`:`مناسب چهار فصل`;return`${y(e.patternCount)} طرح • ${t}`}return(e,f)=>(u(),o(`div`,O,[m(`header`,k,[m(`button`,{type:`button`,class:`icon-btn mobile-only`,"aria-label":`بازگشت`,onClick:f[0]||=(...e)=>c(W)&&c(W)(...e)},[s(S,{size:20})]),f[2]||=m(`h1`,null,`کالیته‌ها`,-1),m(`div`,A,[s(x,{variant:`inline`,class:`mobile-only`}),m(`button`,{type:`button`,class:`icon-btn`,"aria-label":X.value?`بستن جستجو`:`جستجو`,"aria-pressed":X.value,onClick:oe},[s(D,{size:20})],8,j)])]),m(`div`,M,[f[4]||=m(`p`,{class:`calite-hub__lead`},`مجموعه‌ای از بهترین پارچه‌ها، در یک نگاه`,-1),X.value?(u(),r(E,{key:0,"model-value":Z.value,placeholder:`جستجوی نام کالیته...`,"onUpdate:modelValue":f[1]||=e=>Z.value=e},null,8,[`model-value`])):i(``,!0),m(`div`,N,[(u(),o(a,null,d(re,e=>m(`button`,{key:e.id,type:`button`,class:t([`calite-chip`,{"is-on":Q.value===e.id}]),onClick:t=>Q.value=e.id},n(e.label),11,P)),64))]),Y.value?(u(),r(C,{key:1,variant:`cards`,rows:4})):$.value.length?(u(),o(`div`,I,[(u(!0),o(a,null,d($.value,e=>(u(),o(`button`,{key:e.id,type:`button`,class:`calite-card`,dir:`ltr`,onClick:t=>ae(e.id)},[m(`span`,{class:`calite-card__photo`,style:l(e.imageUrl?{backgroundImage:`url(${e.imageUrl})`}:void 0)},null,4),e.badge?(u(),o(`span`,R,n(e.badge===`new`?`جدید`:`پرفروش`),1)):i(``,!0),m(`div`,z,[f[3]||=m(`svg`,{class:`calite-card__arrow`,width:`12`,height:`16`,viewBox:`0 0 8 12`,fill:`none`,"aria-hidden":`true`},[m(`path`,{d:`M1.5 1.5 6 6l-4.5 4.5`,stroke:`#fff`,"stroke-width":`1.4`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1),m(`div`,ne,[m(`div`,B,n(e.title),1),m(`div`,V,n(e.subtitle),1),m(`div`,H,n(se(e)),1)])])],8,L))),128))])):(u(),o(`p`,F,`کالیته‌ای یافت نشد.`))])]))}}),[[`__scopeId`,`data-v-a6e04708`]]);export{U as default}; \ No newline at end of file +import{A as e,Ct as t,Et as n,M as r,N as i,O as a,P as o,R as s,St as c,Tt as l,Y as u,Z as d,_ as f,g as p,j as m,mt as h,n as g,q as _,z as v}from"./BasicIcon-C6boaehV.js";import{o as y}from"./format-BHJptHdF.js";import{t as b}from"./catalog-s7nVUdlj.js";import{i as x}from"./index-B6MlTGUp.js";import{t as S}from"./IconChevronBack-DORV2H0q.js";import{t as C}from"./PageSkeleton-uO-jhbNm.js";import{t as ee}from"./crm-CtglbPsN.js";import{t as te}from"./useGoBack-CgNp0uP9.js";import{a as w,n as T}from"./catalogGallery-DMNB35I1.js";import{t as E}from"./SearchField-Dx2PcshV.js";import{t as D}from"./IconSearch-DOnq8ybc.js";var O={class:`page calite-hub`},k={class:`calite-hub__nav`},A={class:`calite-hub__nav-end`},j=[`aria-label`,`aria-pressed`],M={class:`page__scroll page__scroll--with-nav calite-hub__scroll`},N={class:`calite-hub__chips`,role:`tablist`,"aria-label":`مرتب‌سازی کالیته‌ها`},P=[`onClick`],F={key:2,class:`calite-hub__empty`},I={key:3,class:`calite-hub__list`},L=[`onClick`],R={key:0,class:`calite-card__badge`},z={class:`calite-card__copy`,dir:`rtl`},ne={class:`mr-4 text-white`},B={class:`text-lg font-bold`},V={class:`text-md`},H={class:`text-xs mt-4`},U=g(v({__name:`CatalogsHubView`,setup(g){let v=p(),U=f(),{goBack:W}=te(`/`),G=b(),K=ee(),q=h([]),J=h([]),Y=h(!0),X=h(!1),Z=h(``),Q=h(`all`),re=[{id:`all`,label:`همه`},{id:`newest`,label:`جدیدترین`},{id:`popular`,label:`محبوب‌ترین`},{id:`season`,label:`بر اساس فصل`}],ie=e(()=>T(q.value,J.value)),$=e(()=>w(ie.value,Q.value,Z.value));_(async()=>{try{let e=await G.loadCompanies(),[t,n]=await Promise.all([Promise.all(e.map(e=>G.loadCatalogs(e.id))),K.loadBrowseProducts().catch(()=>[])]);q.value=t.flat(),J.value=n;let r=String(v.query.id??``);r&&q.value.some(e=>e.id===r)&&U.replace({name:`catalog-detail`,params:{catalogId:r}})}catch{q.value=[]}finally{Y.value=!1}});function ae(e){U.push({name:`catalog-detail`,params:{catalogId:e}})}function oe(){X.value=!X.value,X.value||(Z.value=``)}function se(e){let t=e.season===`winter`?`مناسب زمستان`:e.season===`summer`?`مناسب تابستان`:`مناسب چهار فصل`;return`${y(e.patternCount)} طرح • ${t}`}return(e,f)=>(u(),o(`div`,O,[m(`header`,k,[m(`button`,{type:`button`,class:`icon-btn mobile-only`,"aria-label":`بازگشت`,onClick:f[0]||=(...e)=>c(W)&&c(W)(...e)},[s(S,{size:20})]),f[2]||=m(`h1`,null,`کالیته‌ها`,-1),m(`div`,A,[s(x,{variant:`inline`,class:`mobile-only`}),m(`button`,{type:`button`,class:`icon-btn`,"aria-label":X.value?`بستن جستجو`:`جستجو`,"aria-pressed":X.value,onClick:oe},[s(D,{size:20})],8,j)])]),m(`div`,M,[f[4]||=m(`p`,{class:`calite-hub__lead`},`مجموعه‌ای از بهترین پارچه‌ها، در یک نگاه`,-1),X.value?(u(),r(E,{key:0,"model-value":Z.value,placeholder:`جستجوی نام کالیته...`,"onUpdate:modelValue":f[1]||=e=>Z.value=e},null,8,[`model-value`])):i(``,!0),m(`div`,N,[(u(),o(a,null,d(re,e=>m(`button`,{key:e.id,type:`button`,class:t([`calite-chip`,{"is-on":Q.value===e.id}]),onClick:t=>Q.value=e.id},n(e.label),11,P)),64))]),Y.value?(u(),r(C,{key:1,variant:`cards`,rows:4})):$.value.length?(u(),o(`div`,I,[(u(!0),o(a,null,d($.value,e=>(u(),o(`button`,{key:e.id,type:`button`,class:`calite-card`,dir:`ltr`,onClick:t=>ae(e.id)},[m(`span`,{class:`calite-card__photo`,style:l(e.imageUrl?{backgroundImage:`url(${e.imageUrl})`}:void 0)},null,4),e.badge?(u(),o(`span`,R,n(e.badge===`new`?`جدید`:`پرفروش`),1)):i(``,!0),m(`div`,z,[f[3]||=m(`svg`,{class:`calite-card__arrow`,width:`12`,height:`16`,viewBox:`0 0 8 12`,fill:`none`,"aria-hidden":`true`},[m(`path`,{d:`M1.5 1.5 6 6l-4.5 4.5`,stroke:`#fff`,"stroke-width":`1.4`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1),m(`div`,ne,[m(`div`,B,n(e.title),1),m(`div`,V,n(e.subtitle),1),m(`div`,H,n(se(e)),1)])])],8,L))),128))])):(u(),o(`p`,F,`کالیته‌ای یافت نشد.`))])]))}}),[[`__scopeId`,`data-v-a6e04708`]]);export{U as default}; \ No newline at end of file diff --git a/dist/assets/CategoriesView-CmgGNUmK.js b/dist/assets/CategoriesView-DRmOX7Aw.js similarity index 97% rename from dist/assets/CategoriesView-CmgGNUmK.js rename to dist/assets/CategoriesView-DRmOX7Aw.js index c1e7b1f..613f6ba 100644 --- a/dist/assets/CategoriesView-CmgGNUmK.js +++ b/dist/assets/CategoriesView-DRmOX7Aw.js @@ -1 +1 @@ -import{Ct as e,E as t,Et as n,L as r,M as i,N as a,O as o,P as s,R as c,St as l,Tt as u,Y as d,Z as f,_ as p,et as m,j as h,mt as g,n as _,q as v,t as y,z as b}from"./BasicIcon-C6boaehV.js";import{b as x,i as ee,o as S,s as C,v as w,w as T}from"./index-spodxsRN.js";import{t as te}from"./IconChevronBack-DORV2H0q.js";import{t as E}from"./IconDiamond-Bgv1zgqc.js";import{t as D}from"./IconLayoutGrid-E-Q8Z5rF.js";import{t as O}from"./PageSkeleton-uO-jhbNm.js";import{t as k}from"./crm-CtglbPsN.js";import{t as A}from"./useGoBack-CgNp0uP9.js";import{t as j}from"./IconSearch-DOnq8ybc.js";import{t as M}from"./IconShoppingBag-Bq21_Txe.js";var N={bolt:b({__name:`IconBolt`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(d(),i(y,{icon:`vuesax-linear:flash`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),feather:b({__name:`IconFeather`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(d(),i(y,{icon:`vuesax-linear:pen-add`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),diamond:E,grid:D,bag:M,"id-card":b({__name:`IconIdCard`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(d(),i(y,{icon:`vuesax-linear:personalcard`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),catalog:x,headset:w,home:T};function P(e,t=E){return e&&N[e]||t}var F={class:`page categories-page`},I={class:`cat-top`},L={class:`cat-top__actions`},R={class:`page__scroll page__scroll--with-nav cat-scroll`},z={key:0},B={class:`usage-grid`},V=[`onClick`],H={key:0,class:`usage-card__icon`},ne={class:`usage-card__body`},U={key:0},W={key:1,class:`usage-card__link`},G={class:`season-stack`},K=[`onClick`],q={class:`season-card__content`},J={key:0,class:`season-card__title-row`},Y={key:0,class:`season-card__icon`},X={key:1},Z={key:1},re={key:2,class:`season-card__link`},ie={class:`feature-row`,"aria-label":`ویژگی‌ها`},ae={class:`feature-card`},oe={class:`feature-card__icon`,"aria-hidden":`true`},se={class:`feature-card`},Q={class:`feature-card__icon`,"aria-hidden":`true`},ce={class:`feature-card__icon`,"aria-hidden":`true`},$=_(b({__name:`CategoriesView`,setup(_){let y=p(),{goBack:b}=A(`/`),T=k(),D=g([]),M=g([]),N=g(!0),$=g(null);function le(e){return e.icon||(e.id===`shirt`?`id-card`:e.id===`suit`?`bag`:`grid`)}function ue(e){return e.icon||(e.id===`summer`?`bolt`:e.id===`winter`?`feather`:`diamond`)}v(async()=>{try{let e=await T.loadCategories();D.value=e.usage,M.value=e.seasons}catch(e){$.value=e instanceof Error?e.message:`بارگذاری دسته‌ها ناموفق بود.`}finally{N.value=!1}});function de(e){y.push({path:`/products`,query:{categoryId:e}})}function fe(e){y.push({path:`/products`,query:{season:e}})}return(p,g)=>(d(),s(`div`,F,[h(`header`,I,[h(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:g[0]||=(...e)=>l(b)&&l(b)(...e)},[c(te,{size:20})]),g[5]||=h(`h1`,{class:`cat-top__title`},`دسته‌بندی‌ها`,-1),h(`div`,L,[c(ee,{variant:`inline`}),h(`button`,{type:`button`,class:`icon-btn`,"aria-label":`جستجو`,onClick:g[1]||=e=>l(y).push({path:`/products`,query:{q:``}})},[c(j,{size:20})]),h(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اعلان‌ها`,onClick:g[2]||=e=>l(y).push(`/profile/notifications`)},[c(C,{size:20})])])]),h(`div`,R,[$.value?(d(),s(`p`,z,n($.value),1)):N.value?(d(),i(O,{key:1,variant:`grid`})):(d(),s(o,{key:2},[h(`section`,null,[g[6]||=h(`h2`,{class:`block-title`},`انتخاب بر اساس کاربرد`,-1),g[7]||=h(`p`,{class:`block-sub`},`دسته موردنظر خود را انتخاب کنید`,-1),h(`div`,B,[(d(!0),s(o,null,f(D.value,t=>(d(),s(`button`,{key:t.id,type:`button`,class:`usage-card`,onClick:e=>de(t.id)},[h(`div`,{class:e([`usage-card__image`,`usage-card__image--${t.id}`]),style:u(t.imageUrl?{backgroundImage:`url(${t.imageUrl})`}:void 0)},[t.showIcon===!1?a(``,!0):(d(),s(`span`,H,[(d(),i(m(l(P)(le(t),x)),{size:18}))]))],6),h(`div`,ne,[t.showTitle===!1?a(``,!0):(d(),s(`strong`,U,n(t.title),1)),t.showSubtitle===!1?a(``,!0):(d(),s(`span`,W,[r(n(t.subtitle||`مشاهده محصولات`)+` `,1),c(S,{size:14})]))])],8,V))),128))])]),h(`section`,null,[g[8]||=h(`h2`,{class:`block-title`},`انتخاب بر اساس فصل`,-1),g[9]||=h(`p`,{class:`block-sub`},`بر اساس فصل مناسب، پارچه دلخواه را پیدا کنید`,-1),h(`div`,G,[(d(!0),s(o,null,f(M.value,t=>(d(),s(`button`,{key:t.id,type:`button`,class:e([`season-card`,`season-card--${t.id}`]),style:u(t.imageUrl?{backgroundImage:`url(${t.imageUrl})`}:void 0),onClick:e=>fe(t.id)},[h(`div`,q,[t.showTitle!==!1||t.showIcon!==!1?(d(),s(`div`,J,[t.showIcon===!1?a(``,!0):(d(),s(`span`,Y,[(d(),i(m(l(P)(ue(t),E)),{size:16}))])),t.showTitle===!1?a(``,!0):(d(),s(`strong`,X,n(t.title),1))])):a(``,!0),t.showDescription===!1?a(``,!0):(d(),s(`p`,Z,n(t.description),1)),t.showCta===!1?a(``,!0):(d(),s(`span`,re,[r(n(t.ctaLabel||`مشاهده محصولات`)+` `,1),c(S,{size:14})]))])],14,K))),128))])]),h(`section`,ie,[h(`div`,ae,[h(`span`,oe,[c(w,{size:22})]),g[10]||=h(`div`,{class:`feature-card__text`},[h(`strong`,null,`پشتیبانی اختصاصی`),h(`span`,null,`در کنار شما هستیم`)],-1)]),h(`div`,se,[h(`span`,Q,[c(E,{size:22})]),g[11]||=h(`div`,{class:`feature-card__text`},[h(`strong`,null,`مزایای مشتریان ویژه`),h(`span`,null,`بر اساس سطح شما`)],-1)]),h(`div`,{class:`feature-card feature-card--link`,role:`button`,tabindex:`0`,onClick:g[3]||=e=>l(y).push(`/catalog-request`),onKeydown:g[4]||=t(e=>l(y).push(`/catalog-request`),[`enter`])},[h(`span`,ce,[c(x,{size:22})]),g[12]||=h(`div`,{class:`feature-card__text`},[h(`strong`,null,`درخواست کالیته فیزیکی`),h(`span`,null,`کالیته را دریافت کنید`)],-1)],32)])],64))])]))}}),[[`__scopeId`,`data-v-49ad156d`]]);export{$ as default}; \ No newline at end of file +import{Ct as e,E as t,Et as n,L as r,M as i,N as a,O as o,P as s,R as c,St as l,Tt as u,Y as d,Z as f,_ as p,et as m,j as h,mt as g,n as _,q as v,t as y,z as b}from"./BasicIcon-C6boaehV.js";import{b as x,i as ee,o as S,s as C,v as w,w as T}from"./index-B6MlTGUp.js";import{t as te}from"./IconChevronBack-DORV2H0q.js";import{t as E}from"./IconDiamond-Bgv1zgqc.js";import{t as D}from"./IconLayoutGrid-E-Q8Z5rF.js";import{t as O}from"./PageSkeleton-uO-jhbNm.js";import{t as k}from"./crm-CtglbPsN.js";import{t as A}from"./useGoBack-CgNp0uP9.js";import{t as j}from"./IconSearch-DOnq8ybc.js";import{t as M}from"./IconShoppingBag-Bq21_Txe.js";var N={bolt:b({__name:`IconBolt`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(d(),i(y,{icon:`vuesax-linear:flash`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),feather:b({__name:`IconFeather`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(d(),i(y,{icon:`vuesax-linear:pen-add`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),diamond:E,grid:D,bag:M,"id-card":b({__name:`IconIdCard`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(d(),i(y,{icon:`vuesax-linear:personalcard`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),catalog:x,headset:w,home:T};function P(e,t=E){return e&&N[e]||t}var F={class:`page categories-page`},I={class:`cat-top`},L={class:`cat-top__actions`},R={class:`page__scroll page__scroll--with-nav cat-scroll`},z={key:0},B={class:`usage-grid`},V=[`onClick`],H={key:0,class:`usage-card__icon`},ne={class:`usage-card__body`},U={key:0},W={key:1,class:`usage-card__link`},G={class:`season-stack`},K=[`onClick`],q={class:`season-card__content`},J={key:0,class:`season-card__title-row`},Y={key:0,class:`season-card__icon`},X={key:1},Z={key:1},re={key:2,class:`season-card__link`},ie={class:`feature-row`,"aria-label":`ویژگی‌ها`},ae={class:`feature-card`},oe={class:`feature-card__icon`,"aria-hidden":`true`},se={class:`feature-card`},Q={class:`feature-card__icon`,"aria-hidden":`true`},ce={class:`feature-card__icon`,"aria-hidden":`true`},$=_(b({__name:`CategoriesView`,setup(_){let y=p(),{goBack:b}=A(`/`),T=k(),D=g([]),M=g([]),N=g(!0),$=g(null);function le(e){return e.icon||(e.id===`shirt`?`id-card`:e.id===`suit`?`bag`:`grid`)}function ue(e){return e.icon||(e.id===`summer`?`bolt`:e.id===`winter`?`feather`:`diamond`)}v(async()=>{try{let e=await T.loadCategories();D.value=e.usage,M.value=e.seasons}catch(e){$.value=e instanceof Error?e.message:`بارگذاری دسته‌ها ناموفق بود.`}finally{N.value=!1}});function de(e){y.push({path:`/products`,query:{categoryId:e}})}function fe(e){y.push({path:`/products`,query:{season:e}})}return(p,g)=>(d(),s(`div`,F,[h(`header`,I,[h(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:g[0]||=(...e)=>l(b)&&l(b)(...e)},[c(te,{size:20})]),g[5]||=h(`h1`,{class:`cat-top__title`},`دسته‌بندی‌ها`,-1),h(`div`,L,[c(ee,{variant:`inline`}),h(`button`,{type:`button`,class:`icon-btn`,"aria-label":`جستجو`,onClick:g[1]||=e=>l(y).push({path:`/products`,query:{q:``}})},[c(j,{size:20})]),h(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اعلان‌ها`,onClick:g[2]||=e=>l(y).push(`/profile/notifications`)},[c(C,{size:20})])])]),h(`div`,R,[$.value?(d(),s(`p`,z,n($.value),1)):N.value?(d(),i(O,{key:1,variant:`grid`})):(d(),s(o,{key:2},[h(`section`,null,[g[6]||=h(`h2`,{class:`block-title`},`انتخاب بر اساس کاربرد`,-1),g[7]||=h(`p`,{class:`block-sub`},`دسته موردنظر خود را انتخاب کنید`,-1),h(`div`,B,[(d(!0),s(o,null,f(D.value,t=>(d(),s(`button`,{key:t.id,type:`button`,class:`usage-card`,onClick:e=>de(t.id)},[h(`div`,{class:e([`usage-card__image`,`usage-card__image--${t.id}`]),style:u(t.imageUrl?{backgroundImage:`url(${t.imageUrl})`}:void 0)},[t.showIcon===!1?a(``,!0):(d(),s(`span`,H,[(d(),i(m(l(P)(le(t),x)),{size:18}))]))],6),h(`div`,ne,[t.showTitle===!1?a(``,!0):(d(),s(`strong`,U,n(t.title),1)),t.showSubtitle===!1?a(``,!0):(d(),s(`span`,W,[r(n(t.subtitle||`مشاهده محصولات`)+` `,1),c(S,{size:14})]))])],8,V))),128))])]),h(`section`,null,[g[8]||=h(`h2`,{class:`block-title`},`انتخاب بر اساس فصل`,-1),g[9]||=h(`p`,{class:`block-sub`},`بر اساس فصل مناسب، پارچه دلخواه را پیدا کنید`,-1),h(`div`,G,[(d(!0),s(o,null,f(M.value,t=>(d(),s(`button`,{key:t.id,type:`button`,class:e([`season-card`,`season-card--${t.id}`]),style:u(t.imageUrl?{backgroundImage:`url(${t.imageUrl})`}:void 0),onClick:e=>fe(t.id)},[h(`div`,q,[t.showTitle!==!1||t.showIcon!==!1?(d(),s(`div`,J,[t.showIcon===!1?a(``,!0):(d(),s(`span`,Y,[(d(),i(m(l(P)(ue(t),E)),{size:16}))])),t.showTitle===!1?a(``,!0):(d(),s(`strong`,X,n(t.title),1))])):a(``,!0),t.showDescription===!1?a(``,!0):(d(),s(`p`,Z,n(t.description),1)),t.showCta===!1?a(``,!0):(d(),s(`span`,re,[r(n(t.ctaLabel||`مشاهده محصولات`)+` `,1),c(S,{size:14})]))])],14,K))),128))])]),h(`section`,ie,[h(`div`,ae,[h(`span`,oe,[c(w,{size:22})]),g[10]||=h(`div`,{class:`feature-card__text`},[h(`strong`,null,`پشتیبانی اختصاصی`),h(`span`,null,`در کنار شما هستیم`)],-1)]),h(`div`,se,[h(`span`,Q,[c(E,{size:22})]),g[11]||=h(`div`,{class:`feature-card__text`},[h(`strong`,null,`مزایای مشتریان ویژه`),h(`span`,null,`بر اساس سطح شما`)],-1)]),h(`div`,{class:`feature-card feature-card--link`,role:`button`,tabindex:`0`,onClick:g[3]||=e=>l(y).push(`/catalog-request`),onKeydown:g[4]||=t(e=>l(y).push(`/catalog-request`),[`enter`])},[h(`span`,ce,[c(x,{size:22})]),g[12]||=h(`div`,{class:`feature-card__text`},[h(`strong`,null,`درخواست کالیته فیزیکی`),h(`span`,null,`کالیته را دریافت کنید`)],-1)],32)])],64))])]))}}),[[`__scopeId`,`data-v-49ad156d`]]);export{$ as default}; \ No newline at end of file diff --git a/dist/assets/CheckFormView-CVv1VLYW.js b/dist/assets/CheckFormView-DqgBARCn.js similarity index 97% rename from dist/assets/CheckFormView-CVv1VLYW.js rename to dist/assets/CheckFormView-DqgBARCn.js index 843acac..bab1505 100644 --- a/dist/assets/CheckFormView-CVv1VLYW.js +++ b/dist/assets/CheckFormView-DqgBARCn.js @@ -1 +1 @@ -import{A as e,Ct as t,Et as n,L as r,M as i,N as a,O as ee,P as o,R as s,St as c,Y as l,_ as te,j as u,mt as d,n as f,rt as ne,t as p,tt as m,z as h}from"./BasicIcon-C6boaehV.js";import{l as g,n as _,o as re}from"./format-BHJptHdF.js";import{i as ie,n as ae,o as v,t as oe}from"./validation-BD7oi-2I.js";import{d as se,n as ce}from"./index-spodxsRN.js";import{t as le}from"./FormErrorBanner-CjdBfIQT.js";import{n as y,r as b,t as ue}from"./formErrors-DglFjYkZ.js";import{t as de}from"./PageHeader-BaJqBjIW.js";import{t as fe}from"./useRequirePricedOrder-BBPnO4DF.js";import{t as x}from"./BaseInput-qoEXOHCQ.js";import{n as pe,t as me}from"./PersianDateInput-5iA_raeL.js";import{t as he}from"./IconCheckBook-DwIUojJc.js";var ge=h({__name:`IconCash`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(l(),i(p,{icon:`vuesax-linear:money-4`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),_e={class:`page`},ve={class:`page__scroll checkout-page__scroll`},ye={class:`mb-3 flex items-start gap-3`},be={class:`flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-[var(--color-primary-soft)] text-[var(--color-primary)]`,"aria-hidden":`true`},xe={class:`flex flex-col gap-2`},Se={class:`flex items-center justify-between gap-3 text-sm`},Ce={class:`font-tabular text-[var(--color-text)]`},we={class:`flex items-center justify-between gap-3 text-sm`},S={class:`inline-flex items-center gap-1.5 text-[var(--color-text-muted)]`},C={key:0,class:`text-xs`},w={class:`font-tabular text-[var(--color-text)]`},T={class:`mt-1 flex items-center justify-between gap-3 border-t border-[var(--color-border)] pt-3`},E={class:`card`},D={class:`form-group`},O=[`src`],k={key:1,class:`upload-box__placeholder`},Te={key:0,class:`input-error-text`},Ee={key:2,class:`form-group`},De={class:`upload-box`},Oe=[`src`],ke={key:1,class:`upload-box__placeholder`},A=f(h({__name:`CheckFormView`,setup(i){let f=te(),p=se(),{orderId:h,order:A}=fe(),j=e(()=>p.draftCheckMode===`full`),M=d(``),N=d(``),P=d(``),F=d(``),I=d(``),L=d(``),R=d(``),z=d(``),B=d(``),V=d(``),H=d(``),U=d(``),W=d({}),G=d(``),K=d(!1),q=e(()=>A.value?.finalAmount??0),J=e(()=>p.draftChecks.reduce((e,t)=>e+t.amount,0)),Y=e(()=>g(M.value)||0),X=e(()=>Math.max(0,q.value-J.value)),Ae=e(()=>Math.max(0,q.value-J.value-Y.value)),Z=e(()=>q.value>0&&J.value+Y.value>=q.value),Q=e(()=>q.value>0&&J.value+Y.value>q.value);m([q,X],()=>{K.value||M.value||X.value<=0||(M.value=String(X.value),K.value=!0)},{immediate:!0}),m(M,()=>{W.value=y(W.value,`amount`),b(W.value)||(G.value=``)}),m(N,()=>{W.value=y(W.value,`dueDate`),b(W.value)||(G.value=``)}),m(P,()=>{W.value=y(W.value,`sayadId`),b(W.value)||(G.value=``)}),m(I,()=>{W.value=y(W.value,`ownerNationalId`),b(W.value)||(G.value=``)}),m(V,()=>{W.value=y(W.value,`frontImage`),b(W.value)||(G.value=``)});async function $(e,t){let n=e.target.files?.[0];if(!n)return;let r=ae(n);if(!r.valid){t===`front`&&(W.value={...W.value,frontImage:r.message??`خطا`});return}let i=await oe(n);t===`front`?V.value=i:H.value=i}function je(){X.value<=0||(M.value=String(X.value))}function Me(){W.value={},G.value=``;let e={},t=g(M.value);return(!t||t<=0)&&(e.amount=`مبلغ چک باید بزرگ‌تر از صفر باشد.`),N.value||(e.dueDate=`تاریخ سررسید الزامی است.`),V.value||(e.frontImage=`تصویر روی چک الزامی است.`),j.value&&(v(P.value)||(e.sayadId=`شناسه صیادی باید ۱۶ رقم باشد.`),ie(I.value)||(e.ownerNationalId=`کد ملی صاحب چک معتبر نیست.`),p.draftChecks.some(e=>e.sayadId===P.value.replace(/\s/g,``))&&(e.sayadId=`شناسه صیادی تکراری است.`)),W.value=e,!b(e)||(G.value=ue,!1)}function Ne(){Me()&&(p.addDraftCheck({amount:g(M.value),dueDate:N.value,sayadId:j.value?P.value.replace(/\s/g,``):void 0,checkNumber:j.value?F.value:void 0,ownerNationalId:j.value?I.value:void 0,ownerFirstName:j.value?L.value:void 0,ownerLastName:j.value?R.value:void 0,bankName:j.value?z.value:void 0,branchName:j.value?B.value:void 0,frontImage:V.value,backImage:H.value||void 0,notes:U.value||void 0,mode:p.draftCheckMode??`brief`}),Pe(),f.push(`/orders/${h.value}/check-list`))}function Pe(){M.value=``,N.value=``,P.value=``,F.value=``,I.value=``,L.value=``,R.value=``,z.value=``,B.value=``,V.value=``,H.value=``,U.value=``,W.value={},G.value=``,K.value=!1}return(e,i)=>(l(),o(`div`,_e,[s(de,{title:j.value?`ثبت چک - حالت کامل`:`ثبت چک - حالت مختصر`,"show-back":``,onBack:i[0]||=e=>c(f).push(`/orders/${c(h)}/check-mode`)},null,8,[`title`]),u(`div`,ve,[s(le,{message:G.value},null,8,[`message`]),q.value>0?(l(),o(`div`,{key:0,class:t([`check-balance mb-4 rounded-[var(--radius-md)] border border-[var(--color-border)] bg-[var(--color-surface)] p-4`,{"check-balance--ok":Z.value&&!Q.value,"check-balance--warn":Q.value}])},[u(`div`,ye,[u(`span`,be,[s(ge,{size:22})]),i[13]||=u(`div`,{class:`min-w-0 flex-1`},[u(`p`,{class:`m-0 text-sm font-semibold text-[var(--color-text)]`},`مانده فاکتور`),u(`p`,{class:`m-0 mt-1 text-xs leading-relaxed text-[var(--color-text-muted)]`},` با هر چک، مبلغ باقی‌مانده به‌روز می‌شود تا پوشش کامل فاکتور را از دست ندهید. `)],-1)]),u(`div`,xe,[u(`div`,Se,[i[14]||=u(`span`,{class:`text-[var(--color-text-muted)]`},`مبلغ فاکتور`,-1),u(`strong`,Ce,n(c(_)(q.value)),1)]),u(`div`,we,[u(`span`,S,[s(he,{size:14}),i[15]||=r(` چک‌های ثبت‌شده `,-1),c(p).draftChecks.length?(l(),o(`span`,C,` (`+n(c(re)(c(p).draftChecks.length))+`) `,1)):a(``,!0)]),u(`strong`,w,n(c(_)(J.value)),1)]),u(`div`,T,[i[16]||=u(`span`,{class:`text-sm font-semibold text-[var(--color-text)]`},`باقی‌مانده`,-1),u(`strong`,{class:t([`font-tabular text-base`,Z.value&&!Q.value?`text-[var(--color-success)]`:Q.value?`text-[var(--color-danger)]`:`text-[var(--color-primary)]`])},n(Q.value?`${c(_)(J.value+Y.value-q.value)} بیش از فاکتور`:Z.value?`پوشش کامل شد`:c(_)(Ae.value)),3)])])],2)):a(``,!0),i[20]||=u(`div`,{class:`steps`},[u(`span`,{class:`step active`},`۱. اطلاعات چک`),u(`span`,{class:`step`},`۲. چک بعدی`),u(`span`,{class:`step`},`۳. خلاصه`)],-1),u(`div`,E,[s(pe,{modelValue:M.value,"onUpdate:modelValue":i[1]||=e=>M.value=e,label:`مبلغ چک (تومان)`,placeholder:`مبلغ`,error:W.value.amount},null,8,[`modelValue`,`error`]),X.value>0&&Y.value!==X.value?(l(),o(`button`,{key:0,type:`button`,class:`check-fill-remaining mb-3 text-sm font-medium text-[var(--color-primary)]`,onClick:je},` پر کردن با باقی‌مانده (`+n(c(_)(X.value))+`) `,1)):a(``,!0),s(me,{modelValue:N.value,"onUpdate:modelValue":i[2]||=e=>N.value=e,label:`تاریخ سررسید`,error:W.value.dueDate},null,8,[`modelValue`,`error`]),j.value?(l(),o(ee,{key:1},[s(x,{modelValue:P.value,"onUpdate:modelValue":i[3]||=e=>P.value=e,label:`شناسه صیادی`,placeholder:`۱۶ رقم`,maxlength:`16`,inputmode:`numeric`,dir:`ltr`,error:W.value.sayadId},null,8,[`modelValue`,`error`]),s(x,{modelValue:F.value,"onUpdate:modelValue":i[4]||=e=>F.value=e,label:`شماره چک`,inputmode:`numeric`,dir:`ltr`},null,8,[`modelValue`]),s(x,{modelValue:I.value,"onUpdate:modelValue":i[5]||=e=>I.value=e,label:`کد ملی صاحب چک`,maxlength:`10`,inputmode:`numeric`,dir:`ltr`,error:W.value.ownerNationalId},null,8,[`modelValue`,`error`]),s(x,{modelValue:L.value,"onUpdate:modelValue":i[6]||=e=>L.value=e,label:`نام صاحب چک`},null,8,[`modelValue`]),s(x,{modelValue:R.value,"onUpdate:modelValue":i[7]||=e=>R.value=e,label:`نام خانوادگی صاحب چک`},null,8,[`modelValue`]),s(x,{modelValue:z.value,"onUpdate:modelValue":i[8]||=e=>z.value=e,label:`نام بانک`},null,8,[`modelValue`]),s(x,{modelValue:B.value,"onUpdate:modelValue":i[9]||=e=>B.value=e,label:`نام شعبه`},null,8,[`modelValue`])],64)):a(``,!0),u(`div`,D,[i[17]||=u(`label`,{class:`form-label`},`تصویر روی چک *`,-1),u(`label`,{class:t([`upload-box`,{"upload-box--error":W.value.frontImage}])},[u(`input`,{type:`file`,accept:`image/*`,class:`upload-box__input`,onChange:i[10]||=e=>$(e,`front`)},null,32),V.value?(l(),o(`img`,{key:0,src:V.value,class:`upload-box__preview`,alt:`روی چک`},null,8,O)):(l(),o(`span`,k,`بارگذاری تصویر چک`))],2),W.value.frontImage?(l(),o(`p`,Te,n(W.value.frontImage),1)):a(``,!0)]),j.value?(l(),o(`div`,Ee,[i[18]||=u(`label`,{class:`form-label`},`تصویر پشت چک`,-1),u(`label`,De,[u(`input`,{type:`file`,accept:`image/*`,class:`upload-box__input`,onChange:i[11]||=e=>$(e,`back`)},null,32),H.value?(l(),o(`img`,{key:0,src:H.value,class:`upload-box__preview`,alt:`پشت چک`},null,8,Oe)):(l(),o(`span`,ke,`بارگذاری تصویر`))])])):a(``,!0),s(x,{modelValue:U.value,"onUpdate:modelValue":i[12]||=e=>U.value=e,label:`توضیحات`},null,8,[`modelValue`]),s(ce,{block:``,class:`mt-4`,onClick:Ne},{default:ne(()=>[...i[19]||=[r(`ذخیره چک`,-1)]]),_:1})])])]))}}),[[`__scopeId`,`data-v-5976552f`]]);export{A as default}; \ No newline at end of file +import{A as e,Ct as t,Et as n,L as r,M as i,N as a,O as ee,P as o,R as s,St as c,Y as l,_ as te,j as u,mt as d,n as f,rt as ne,t as p,tt as m,z as h}from"./BasicIcon-C6boaehV.js";import{l as g,n as _,o as re}from"./format-BHJptHdF.js";import{i as ie,n as ae,o as v,t as oe}from"./validation-BD7oi-2I.js";import{d as se,n as ce}from"./index-B6MlTGUp.js";import{t as le}from"./FormErrorBanner-CjdBfIQT.js";import{n as y,r as b,t as ue}from"./formErrors-DglFjYkZ.js";import{t as de}from"./PageHeader-CDQMUtCp.js";import{t as fe}from"./useRequirePricedOrder-zO2gkEXW.js";import{t as x}from"./BaseInput-qoEXOHCQ.js";import{n as pe,t as me}from"./PersianDateInput-5iA_raeL.js";import{t as he}from"./IconCheckBook-DwIUojJc.js";var ge=h({__name:`IconCash`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(l(),i(p,{icon:`vuesax-linear:money-4`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),_e={class:`page`},ve={class:`page__scroll checkout-page__scroll`},ye={class:`mb-3 flex items-start gap-3`},be={class:`flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-[var(--color-primary-soft)] text-[var(--color-primary)]`,"aria-hidden":`true`},xe={class:`flex flex-col gap-2`},Se={class:`flex items-center justify-between gap-3 text-sm`},Ce={class:`font-tabular text-[var(--color-text)]`},we={class:`flex items-center justify-between gap-3 text-sm`},S={class:`inline-flex items-center gap-1.5 text-[var(--color-text-muted)]`},C={key:0,class:`text-xs`},w={class:`font-tabular text-[var(--color-text)]`},T={class:`mt-1 flex items-center justify-between gap-3 border-t border-[var(--color-border)] pt-3`},E={class:`card`},D={class:`form-group`},O=[`src`],k={key:1,class:`upload-box__placeholder`},Te={key:0,class:`input-error-text`},Ee={key:2,class:`form-group`},De={class:`upload-box`},Oe=[`src`],ke={key:1,class:`upload-box__placeholder`},A=f(h({__name:`CheckFormView`,setup(i){let f=te(),p=se(),{orderId:h,order:A}=fe(),j=e(()=>p.draftCheckMode===`full`),M=d(``),N=d(``),P=d(``),F=d(``),I=d(``),L=d(``),R=d(``),z=d(``),B=d(``),V=d(``),H=d(``),U=d(``),W=d({}),G=d(``),K=d(!1),q=e(()=>A.value?.finalAmount??0),J=e(()=>p.draftChecks.reduce((e,t)=>e+t.amount,0)),Y=e(()=>g(M.value)||0),X=e(()=>Math.max(0,q.value-J.value)),Ae=e(()=>Math.max(0,q.value-J.value-Y.value)),Z=e(()=>q.value>0&&J.value+Y.value>=q.value),Q=e(()=>q.value>0&&J.value+Y.value>q.value);m([q,X],()=>{K.value||M.value||X.value<=0||(M.value=String(X.value),K.value=!0)},{immediate:!0}),m(M,()=>{W.value=y(W.value,`amount`),b(W.value)||(G.value=``)}),m(N,()=>{W.value=y(W.value,`dueDate`),b(W.value)||(G.value=``)}),m(P,()=>{W.value=y(W.value,`sayadId`),b(W.value)||(G.value=``)}),m(I,()=>{W.value=y(W.value,`ownerNationalId`),b(W.value)||(G.value=``)}),m(V,()=>{W.value=y(W.value,`frontImage`),b(W.value)||(G.value=``)});async function $(e,t){let n=e.target.files?.[0];if(!n)return;let r=ae(n);if(!r.valid){t===`front`&&(W.value={...W.value,frontImage:r.message??`خطا`});return}let i=await oe(n);t===`front`?V.value=i:H.value=i}function je(){X.value<=0||(M.value=String(X.value))}function Me(){W.value={},G.value=``;let e={},t=g(M.value);return(!t||t<=0)&&(e.amount=`مبلغ چک باید بزرگ‌تر از صفر باشد.`),N.value||(e.dueDate=`تاریخ سررسید الزامی است.`),V.value||(e.frontImage=`تصویر روی چک الزامی است.`),j.value&&(v(P.value)||(e.sayadId=`شناسه صیادی باید ۱۶ رقم باشد.`),ie(I.value)||(e.ownerNationalId=`کد ملی صاحب چک معتبر نیست.`),p.draftChecks.some(e=>e.sayadId===P.value.replace(/\s/g,``))&&(e.sayadId=`شناسه صیادی تکراری است.`)),W.value=e,!b(e)||(G.value=ue,!1)}function Ne(){Me()&&(p.addDraftCheck({amount:g(M.value),dueDate:N.value,sayadId:j.value?P.value.replace(/\s/g,``):void 0,checkNumber:j.value?F.value:void 0,ownerNationalId:j.value?I.value:void 0,ownerFirstName:j.value?L.value:void 0,ownerLastName:j.value?R.value:void 0,bankName:j.value?z.value:void 0,branchName:j.value?B.value:void 0,frontImage:V.value,backImage:H.value||void 0,notes:U.value||void 0,mode:p.draftCheckMode??`brief`}),Pe(),f.push(`/orders/${h.value}/check-list`))}function Pe(){M.value=``,N.value=``,P.value=``,F.value=``,I.value=``,L.value=``,R.value=``,z.value=``,B.value=``,V.value=``,H.value=``,U.value=``,W.value={},G.value=``,K.value=!1}return(e,i)=>(l(),o(`div`,_e,[s(de,{title:j.value?`ثبت چک - حالت کامل`:`ثبت چک - حالت مختصر`,"show-back":``,onBack:i[0]||=e=>c(f).push(`/orders/${c(h)}/check-mode`)},null,8,[`title`]),u(`div`,ve,[s(le,{message:G.value},null,8,[`message`]),q.value>0?(l(),o(`div`,{key:0,class:t([`check-balance mb-4 rounded-[var(--radius-md)] border border-[var(--color-border)] bg-[var(--color-surface)] p-4`,{"check-balance--ok":Z.value&&!Q.value,"check-balance--warn":Q.value}])},[u(`div`,ye,[u(`span`,be,[s(ge,{size:22})]),i[13]||=u(`div`,{class:`min-w-0 flex-1`},[u(`p`,{class:`m-0 text-sm font-semibold text-[var(--color-text)]`},`مانده فاکتور`),u(`p`,{class:`m-0 mt-1 text-xs leading-relaxed text-[var(--color-text-muted)]`},` با هر چک، مبلغ باقی‌مانده به‌روز می‌شود تا پوشش کامل فاکتور را از دست ندهید. `)],-1)]),u(`div`,xe,[u(`div`,Se,[i[14]||=u(`span`,{class:`text-[var(--color-text-muted)]`},`مبلغ فاکتور`,-1),u(`strong`,Ce,n(c(_)(q.value)),1)]),u(`div`,we,[u(`span`,S,[s(he,{size:14}),i[15]||=r(` چک‌های ثبت‌شده `,-1),c(p).draftChecks.length?(l(),o(`span`,C,` (`+n(c(re)(c(p).draftChecks.length))+`) `,1)):a(``,!0)]),u(`strong`,w,n(c(_)(J.value)),1)]),u(`div`,T,[i[16]||=u(`span`,{class:`text-sm font-semibold text-[var(--color-text)]`},`باقی‌مانده`,-1),u(`strong`,{class:t([`font-tabular text-base`,Z.value&&!Q.value?`text-[var(--color-success)]`:Q.value?`text-[var(--color-danger)]`:`text-[var(--color-primary)]`])},n(Q.value?`${c(_)(J.value+Y.value-q.value)} بیش از فاکتور`:Z.value?`پوشش کامل شد`:c(_)(Ae.value)),3)])])],2)):a(``,!0),i[20]||=u(`div`,{class:`steps`},[u(`span`,{class:`step active`},`۱. اطلاعات چک`),u(`span`,{class:`step`},`۲. چک بعدی`),u(`span`,{class:`step`},`۳. خلاصه`)],-1),u(`div`,E,[s(pe,{modelValue:M.value,"onUpdate:modelValue":i[1]||=e=>M.value=e,label:`مبلغ چک (تومان)`,placeholder:`مبلغ`,error:W.value.amount},null,8,[`modelValue`,`error`]),X.value>0&&Y.value!==X.value?(l(),o(`button`,{key:0,type:`button`,class:`check-fill-remaining mb-3 text-sm font-medium text-[var(--color-primary)]`,onClick:je},` پر کردن با باقی‌مانده (`+n(c(_)(X.value))+`) `,1)):a(``,!0),s(me,{modelValue:N.value,"onUpdate:modelValue":i[2]||=e=>N.value=e,label:`تاریخ سررسید`,error:W.value.dueDate},null,8,[`modelValue`,`error`]),j.value?(l(),o(ee,{key:1},[s(x,{modelValue:P.value,"onUpdate:modelValue":i[3]||=e=>P.value=e,label:`شناسه صیادی`,placeholder:`۱۶ رقم`,maxlength:`16`,inputmode:`numeric`,dir:`ltr`,error:W.value.sayadId},null,8,[`modelValue`,`error`]),s(x,{modelValue:F.value,"onUpdate:modelValue":i[4]||=e=>F.value=e,label:`شماره چک`,inputmode:`numeric`,dir:`ltr`},null,8,[`modelValue`]),s(x,{modelValue:I.value,"onUpdate:modelValue":i[5]||=e=>I.value=e,label:`کد ملی صاحب چک`,maxlength:`10`,inputmode:`numeric`,dir:`ltr`,error:W.value.ownerNationalId},null,8,[`modelValue`,`error`]),s(x,{modelValue:L.value,"onUpdate:modelValue":i[6]||=e=>L.value=e,label:`نام صاحب چک`},null,8,[`modelValue`]),s(x,{modelValue:R.value,"onUpdate:modelValue":i[7]||=e=>R.value=e,label:`نام خانوادگی صاحب چک`},null,8,[`modelValue`]),s(x,{modelValue:z.value,"onUpdate:modelValue":i[8]||=e=>z.value=e,label:`نام بانک`},null,8,[`modelValue`]),s(x,{modelValue:B.value,"onUpdate:modelValue":i[9]||=e=>B.value=e,label:`نام شعبه`},null,8,[`modelValue`])],64)):a(``,!0),u(`div`,D,[i[17]||=u(`label`,{class:`form-label`},`تصویر روی چک *`,-1),u(`label`,{class:t([`upload-box`,{"upload-box--error":W.value.frontImage}])},[u(`input`,{type:`file`,accept:`image/*`,class:`upload-box__input`,onChange:i[10]||=e=>$(e,`front`)},null,32),V.value?(l(),o(`img`,{key:0,src:V.value,class:`upload-box__preview`,alt:`روی چک`},null,8,O)):(l(),o(`span`,k,`بارگذاری تصویر چک`))],2),W.value.frontImage?(l(),o(`p`,Te,n(W.value.frontImage),1)):a(``,!0)]),j.value?(l(),o(`div`,Ee,[i[18]||=u(`label`,{class:`form-label`},`تصویر پشت چک`,-1),u(`label`,De,[u(`input`,{type:`file`,accept:`image/*`,class:`upload-box__input`,onChange:i[11]||=e=>$(e,`back`)},null,32),H.value?(l(),o(`img`,{key:0,src:H.value,class:`upload-box__preview`,alt:`پشت چک`},null,8,Oe)):(l(),o(`span`,ke,`بارگذاری تصویر`))])])):a(``,!0),s(x,{modelValue:U.value,"onUpdate:modelValue":i[12]||=e=>U.value=e,label:`توضیحات`},null,8,[`modelValue`]),s(ce,{block:``,class:`mt-4`,onClick:Ne},{default:ne(()=>[...i[19]||=[r(`ذخیره چک`,-1)]]),_:1})])])]))}}),[[`__scopeId`,`data-v-5976552f`]]);export{A as default}; \ No newline at end of file diff --git a/dist/assets/CheckListView-DkR4Ltru.js b/dist/assets/CheckListView-Bq44NHdA.js similarity index 98% rename from dist/assets/CheckListView-DkR4Ltru.js rename to dist/assets/CheckListView-Bq44NHdA.js index 60e8e03..58b1b8e 100644 --- a/dist/assets/CheckListView-DkR4Ltru.js +++ b/dist/assets/CheckListView-Bq44NHdA.js @@ -1 +1 @@ -import{A as e,Ct as t,Et as n,L as r,M as i,N as a,O as o,P as s,R as c,St as l,Y as u,Z as d,_ as f,g as ee,j as p,mt as m,n as te,rt as h,tt as ne,z as g}from"./BasicIcon-C6boaehV.js";import{n as re,o as _,r as v,u as y}from"./format-BHJptHdF.js";import{c as ie,d as ae,f as oe,n as b,t as se}from"./index-spodxsRN.js";import{t as x}from"./EmptyState-C_QQeA_h.js";import{t as S}from"./IconChevronBack-DORV2H0q.js";import{t as ce}from"./FormErrorBanner-CjdBfIQT.js";import{t as le}from"./useRequirePricedOrder-BBPnO4DF.js";var C=Object.defineProperty,w=(e,t)=>{let n={};for(var r in e)C(n,r,{get:e[r],enumerable:!0});return t||C(n,Symbol.toStringTag,{value:`Module`}),n},ue={class:`check-list-page mobile-only`},de={class:`check-list-page__nav`},fe={type:`button`,class:`nav-btn nav-btn--ghost`,"aria-hidden":`true`,tabindex:`-1`},pe={key:0,class:`check-list-page__empty page__scroll page__scroll--with-nav`},me={class:`check-list-page__scroll page__scroll`},he={class:`summary-cards`},ge={class:`summary-card`},_e={class:`summary-card__value`},T={class:`summary-card`},E={class:`summary-card__value`},D={key:0,class:`summary-card__status`},O={key:1,class:`summary-card__status summary-card__status--warn`},k={class:`summary-card__value`},A={key:0,class:`summary-card__hint`},j={class:`checks-list`},M={class:`check-card__menu-wrap`},N=[`onClick`],P={key:1,class:`check-card__menu`},F=[`onClick`],I={class:`check-card__body`},ve={class:`check-card__title`},ye={class:`check-card__amount`},be={class:`check-card__date`},xe={class:`check-card__thumb-wrap`},Se=[`src`],Ce={key:1,class:`check-card__thumb check-card__thumb--empty`},we={class:`rass-panel`},Te={class:`rass-panel__days`},Ee={key:0,class:`rass-panel__date`},De={key:0,class:`check-list-page__footer`},Oe={key:0,class:`desktop-checkout-shell check-list-desktop desktop-only`},ke={class:`desktop-two-col`},Ae={class:`desktop-two-col__main`},je={class:`desktop-table-wrap`},Me={class:`desktop-table-scroll`},Ne={class:`desktop-table check-list-desktop__table`},Pe={key:0,scope:`col`},Fe=[`src`],Ie={key:1},Le={class:`check-list-desktop__amount`},Re={key:0},ze=[`onClick`],Be={class:`desktop-summary-panel`},Ve={class:`desktop-summary-panel__row`},He={class:`desktop-summary-panel__row`},Ue={class:`desktop-summary-panel__row`},We={key:0,class:`desktop-summary-panel__action`},Ge={key:1,class:`desktop-checkout-shell desktop-only`},L=g({__name:`CheckListView`,setup(te){let g=ee(),C=f(),w=ae(),L=ie(),R=m(``),z=m(!1),B=e(()=>g.name===`check-list`),{orderId:V}=le(),H=e(()=>V.value?w.getOrderById(V.value):void 0);ne(V,async e=>{if(!e||!B.value)return;let t=w.getOrderById(e)??await w.fetchOrder(e);t&&(w.draftChecks.length===0&&(t.checks?.length??0)>0?w.loadChecksIntoDraft(t):w.draftOrderId!==e&&w.startCheckDraft(e,t.checkMode??void 0))},{immediate:!0});let U=e(()=>w.draftChecks.length>0?w.draftChecks:B.value?H.value?.checks??[]:L.user?w.userOrders(L.user.id).filter(e=>e.settlementType===`check`&&e.checks?.length).flatMap(e=>e.checks??[]):[]),W=e(()=>w.draftChecks.length>0?w.getDraftRass():oe(U.value,new Date)),G=e(()=>H.value?.finalAmount??0),K=e(()=>Math.max(0,G.value-W.value.totalAmount)),q=e(()=>G.value>0&&W.value.totalAmount>=G.value),J=e(()=>G.value>0&&W.value.totalAmount>G.value),Y=e({get:()=>g.query.menu??``,set:e=>{C.replace({query:e?{menu:e}:{}})}});function X(){C.push(B.value?`/orders/${V.value}`:`/profile`)}function Z(){C.push(`/orders/${V.value}/check-form`)}async function Q(e){Y.value=``,await se({title:`حذف چک`,message:`آیا از حذف این چک مطمئن هستید؟`,confirmLabel:`حذف`,cancelLabel:`انصراف`,tone:`danger`})&&w.removeDraftCheck(e)}function Ke(e){Y.value=Y.value===e?``:e}async function $(){if(!(!V.value||w.draftChecks.length===0||z.value)){R.value=``,z.value=!0;try{await w.updateOrderChecks(V.value,[...w.draftChecks],w.draftCheckMode??`brief`),C.replace(`/orders/${V.value}?track=1`)}catch(e){R.value=e instanceof Error?e.message:`ثبت چک‌ها ناموفق بود.`}finally{z.value=!1}}}return(e,f)=>(u(),s(o,null,[p(`div`,ue,[p(`header`,de,[p(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:X},[c(S,{size:20})]),f[1]||=p(`h1`,{class:`check-list-page__title`},`چک‌های ثبت شده`,-1),p(`button`,fe,[c(S,{size:18,class:`nav-btn__flip`})])]),U.value.length===0?(u(),s(`div`,pe,[c(x,{variant:`checks`,message:`برای ادامه، حداقل یک چک ثبت کنید`},{default:h(()=>[B.value?(u(),i(b,{key:0,onClick:Z},{default:h(()=>[...f[2]||=[r(`ثبت چک جدید`,-1)]]),_:1})):(u(),i(b,{key:1,variant:`outline`,onClick:f[0]||=e=>l(C).push(`/categories`)},{default:h(()=>[...f[3]||=[r(`ثبت سفارش جدید`,-1)]]),_:1}))]),_:1})])):(u(),s(o,{key:1},[p(`div`,me,[c(ce,{message:R.value},null,8,[`message`]),p(`div`,he,[p(`div`,ge,[f[4]||=p(`span`,{class:`summary-card__label`},`مجموع مبلغ چک‌ها`,-1),p(`strong`,_e,n(l(_)(W.value.totalAmount)),1),f[5]||=p(`span`,{class:`summary-card__unit`},`تومان`,-1)]),p(`div`,T,[f[7]||=p(`span`,{class:`summary-card__label`},`مبلغ فاکتور`,-1),p(`strong`,E,n(l(_)(G.value)),1),f[8]||=p(`span`,{class:`summary-card__unit`},`تومان`,-1),q.value&&!J.value?(u(),s(`p`,D,[...f[6]||=[p(`span`,{class:`summary-card__status-icon`},`✓`,-1),r(` مبلغ کامل است `,-1)]])):J.value?(u(),s(`p`,O,` بیش از مبلغ فاکتور `)):a(``,!0)]),p(`div`,{class:t([`summary-card summary-card--remain`,{"summary-card--remain-ok":q.value&&!J.value,"summary-card--remain-warn":J.value}])},[f[9]||=p(`span`,{class:`summary-card__label`},`باقی‌مانده`,-1),p(`strong`,k,n(J.value?l(_)(W.value.totalAmount-G.value):l(_)(K.value)),1),f[10]||=p(`span`,{class:`summary-card__unit`},`تومان`,-1),q.value?a(``,!0):(u(),s(`p`,A,` هنوز باید چک ثبت کنید `))],2)]),p(`div`,j,[(u(!0),s(o,null,d(U.value,(e,t)=>(u(),s(`article`,{key:e.id,class:`check-card`},[p(`div`,M,[B.value&&l(w).draftChecks.length>0?(u(),s(`button`,{key:0,type:`button`,class:`check-card__menu-btn`,"aria-label":`گزینه‌ها`,onClick:t=>Ke(e.id)},` ⋮ `,8,N)):a(``,!0),Y.value===e.id?(u(),s(`div`,P,[p(`button`,{type:`button`,onClick:t=>Q(e.id)},`حذف`,8,F)])):a(``,!0)]),p(`div`,I,[p(`h3`,ve,`چک `+n(l(y)(String(t+1))),1),p(`p`,ye,n(l(re)(e.amount)),1),p(`p`,be,`تاریخ: `+n(l(v)(e.dueDate)),1)]),p(`div`,xe,[e.frontImage?(u(),s(`img`,{key:0,src:e.frontImage,class:`check-card__thumb`,alt:`تصویر چک`},null,8,Se)):(u(),s(`div`,Ce,`چک`))])]))),128))]),p(`div`,we,[f[11]||=p(`h3`,{class:`rass-panel__title`},`رأس چک‌ها`,-1),p(`div`,Te,n(l(y)(String(W.value.rassDays)))+` روز`,1),W.value.rassDate?(u(),s(`p`,Ee,` تاریخ رأس تقریبی: `+n(l(v)(W.value.rassDate)),1)):a(``,!0)])]),B.value&&l(w).draftChecks.length>0?(u(),s(`div`,De,[c(b,{block:``,variant:`outline`,disabled:z.value,onClick:Z},{default:h(()=>[...f[12]||=[r(` افزودن چک جدید `,-1)]]),_:1},8,[`disabled`]),c(b,{block:``,disabled:U.value.length===0,loading:z.value,onClick:$},{default:h(()=>[...f[13]||=[r(` ارسال برای بررسی `,-1)]]),_:1},8,[`disabled`,`loading`])])):a(``,!0)],64))]),U.value.length>0?(u(),s(`div`,Oe,[f[26]||=p(`header`,{class:`desktop-page__head`},[p(`h1`,{class:`desktop-page__title`},`چک‌های ثبت شده`),p(`p`,{class:`desktop-page__subtitle`},`خلاصه و فهرست چک‌های ثبت‌شده`)],-1),p(`div`,ke,[p(`div`,Ae,[p(`div`,je,[p(`div`,Me,[p(`table`,Ne,[p(`thead`,null,[p(`tr`,null,[f[14]||=p(`th`,{scope:`col`},`تصویر`,-1),f[15]||=p(`th`,{scope:`col`},`مبلغ (تومان)`,-1),f[16]||=p(`th`,{scope:`col`},`تاریخ سررسید`,-1),f[17]||=p(`th`,{scope:`col`},`شناسه`,-1),B.value?(u(),s(`th`,Pe,`عملیات`)):a(``,!0)])]),p(`tbody`,null,[(u(!0),s(o,null,d(U.value,(e,t)=>(u(),s(`tr`,{key:e.id},[p(`td`,null,[e.frontImage?(u(),s(`img`,{key:0,src:e.frontImage,class:`check-list-desktop__thumb`,alt:`تصویر چک`},null,8,Fe)):(u(),s(`span`,Ie,`—`))]),p(`td`,Le,n(l(_)(e.amount)),1),p(`td`,null,n(l(v)(e.dueDate)),1),p(`td`,null,`چک `+n(l(y)(String(t+1))),1),B.value&&l(w).draftChecks.length>0?(u(),s(`td`,Re,[p(`button`,{type:`button`,class:`orders-table__action`,onClick:t=>Q(e.id)},` حذف `,8,ze)])):a(``,!0)]))),128))])])])]),B.value?(u(),i(b,{key:0,variant:`outline`,class:`desktop-btn-compact check-list-desktop__add`,onClick:Z},{default:h(()=>[...f[18]||=[r(` ثبت چک دیگر `,-1)]]),_:1})):a(``,!0)]),p(`aside`,Be,[f[25]||=p(`h2`,{class:`desktop-summary-panel__title`},`خلاصه مالی`,-1),p(`div`,Ve,[f[19]||=p(`span`,null,`مجموع چک‌ها`,-1),p(`strong`,null,n(l(_)(W.value.totalAmount))+` تومان`,1)]),p(`div`,He,[f[20]||=p(`span`,null,`مبلغ فاکتور`,-1),p(`strong`,null,n(l(_)(G.value))+` تومان`,1)]),p(`div`,{class:t([`desktop-summary-panel__row desktop-summary-panel__row--remain`,{"desktop-summary-panel__row--ok":q.value&&!J.value,"desktop-summary-panel__row--warn":J.value}])},[f[21]||=p(`span`,null,`باقی‌مانده`,-1),p(`strong`,null,n(J.value?`${l(_)(W.value.totalAmount-G.value)} بیش از فاکتور`:q.value?`پوشش کامل`:`${l(_)(K.value)} تومان`),1)],2),p(`div`,Ue,[f[22]||=p(`span`,null,`رأس چک‌ها`,-1),p(`strong`,null,n(l(y)(String(W.value.rassDays)))+` روز`,1)]),B.value&&l(w).draftChecks.length>0?(u(),s(`div`,We,[c(b,{block:``,variant:`outline`,disabled:z.value,onClick:Z},{default:h(()=>[...f[23]||=[r(` افزودن چک جدید `,-1)]]),_:1},8,[`disabled`]),c(b,{block:``,disabled:U.value.length===0,loading:z.value,onClick:$},{default:h(()=>[...f[24]||=[r(` ارسال برای بررسی `,-1)]]),_:1},8,[`disabled`,`loading`])])):a(``,!0)])])])):(u(),s(`div`,Ge,[c(x,{variant:`checks`,message:`برای ادامه، حداقل یک چک ثبت کنید`},{default:h(()=>[B.value?(u(),i(b,{key:0,onClick:Z},{default:h(()=>[...f[27]||=[r(`ثبت چک جدید`,-1)]]),_:1})):a(``,!0)]),_:1})]))],64))}}),R=w({default:()=>z}),z=te(L,[[`__scopeId`,`data-v-83f3f9a7`]]);export{R as n,z as t}; \ No newline at end of file +import{A as e,Ct as t,Et as n,L as r,M as i,N as a,O as o,P as s,R as c,St as l,Y as u,Z as d,_ as f,g as ee,j as p,mt as m,n as te,rt as h,tt as ne,z as g}from"./BasicIcon-C6boaehV.js";import{n as re,o as _,r as v,u as y}from"./format-BHJptHdF.js";import{c as ie,d as ae,f as oe,n as b,t as se}from"./index-B6MlTGUp.js";import{t as x}from"./EmptyState-C_QQeA_h.js";import{t as S}from"./IconChevronBack-DORV2H0q.js";import{t as ce}from"./FormErrorBanner-CjdBfIQT.js";import{t as le}from"./useRequirePricedOrder-zO2gkEXW.js";var C=Object.defineProperty,w=(e,t)=>{let n={};for(var r in e)C(n,r,{get:e[r],enumerable:!0});return t||C(n,Symbol.toStringTag,{value:`Module`}),n},ue={class:`check-list-page mobile-only`},de={class:`check-list-page__nav`},fe={type:`button`,class:`nav-btn nav-btn--ghost`,"aria-hidden":`true`,tabindex:`-1`},pe={key:0,class:`check-list-page__empty page__scroll page__scroll--with-nav`},me={class:`check-list-page__scroll page__scroll`},he={class:`summary-cards`},ge={class:`summary-card`},_e={class:`summary-card__value`},T={class:`summary-card`},E={class:`summary-card__value`},D={key:0,class:`summary-card__status`},O={key:1,class:`summary-card__status summary-card__status--warn`},k={class:`summary-card__value`},A={key:0,class:`summary-card__hint`},j={class:`checks-list`},M={class:`check-card__menu-wrap`},N=[`onClick`],P={key:1,class:`check-card__menu`},F=[`onClick`],I={class:`check-card__body`},ve={class:`check-card__title`},ye={class:`check-card__amount`},be={class:`check-card__date`},xe={class:`check-card__thumb-wrap`},Se=[`src`],Ce={key:1,class:`check-card__thumb check-card__thumb--empty`},we={class:`rass-panel`},Te={class:`rass-panel__days`},Ee={key:0,class:`rass-panel__date`},De={key:0,class:`check-list-page__footer`},Oe={key:0,class:`desktop-checkout-shell check-list-desktop desktop-only`},ke={class:`desktop-two-col`},Ae={class:`desktop-two-col__main`},je={class:`desktop-table-wrap`},Me={class:`desktop-table-scroll`},Ne={class:`desktop-table check-list-desktop__table`},Pe={key:0,scope:`col`},Fe=[`src`],Ie={key:1},Le={class:`check-list-desktop__amount`},Re={key:0},ze=[`onClick`],Be={class:`desktop-summary-panel`},Ve={class:`desktop-summary-panel__row`},He={class:`desktop-summary-panel__row`},Ue={class:`desktop-summary-panel__row`},We={key:0,class:`desktop-summary-panel__action`},Ge={key:1,class:`desktop-checkout-shell desktop-only`},L=g({__name:`CheckListView`,setup(te){let g=ee(),C=f(),w=ae(),L=ie(),R=m(``),z=m(!1),B=e(()=>g.name===`check-list`),{orderId:V}=le(),H=e(()=>V.value?w.getOrderById(V.value):void 0);ne(V,async e=>{if(!e||!B.value)return;let t=w.getOrderById(e)??await w.fetchOrder(e);t&&(w.draftChecks.length===0&&(t.checks?.length??0)>0?w.loadChecksIntoDraft(t):w.draftOrderId!==e&&w.startCheckDraft(e,t.checkMode??void 0))},{immediate:!0});let U=e(()=>w.draftChecks.length>0?w.draftChecks:B.value?H.value?.checks??[]:L.user?w.userOrders(L.user.id).filter(e=>e.settlementType===`check`&&e.checks?.length).flatMap(e=>e.checks??[]):[]),W=e(()=>w.draftChecks.length>0?w.getDraftRass():oe(U.value,new Date)),G=e(()=>H.value?.finalAmount??0),K=e(()=>Math.max(0,G.value-W.value.totalAmount)),q=e(()=>G.value>0&&W.value.totalAmount>=G.value),J=e(()=>G.value>0&&W.value.totalAmount>G.value),Y=e({get:()=>g.query.menu??``,set:e=>{C.replace({query:e?{menu:e}:{}})}});function X(){C.push(B.value?`/orders/${V.value}`:`/profile`)}function Z(){C.push(`/orders/${V.value}/check-form`)}async function Q(e){Y.value=``,await se({title:`حذف چک`,message:`آیا از حذف این چک مطمئن هستید؟`,confirmLabel:`حذف`,cancelLabel:`انصراف`,tone:`danger`})&&w.removeDraftCheck(e)}function Ke(e){Y.value=Y.value===e?``:e}async function $(){if(!(!V.value||w.draftChecks.length===0||z.value)){R.value=``,z.value=!0;try{await w.updateOrderChecks(V.value,[...w.draftChecks],w.draftCheckMode??`brief`),C.replace(`/orders/${V.value}?track=1`)}catch(e){R.value=e instanceof Error?e.message:`ثبت چک‌ها ناموفق بود.`}finally{z.value=!1}}}return(e,f)=>(u(),s(o,null,[p(`div`,ue,[p(`header`,de,[p(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:X},[c(S,{size:20})]),f[1]||=p(`h1`,{class:`check-list-page__title`},`چک‌های ثبت شده`,-1),p(`button`,fe,[c(S,{size:18,class:`nav-btn__flip`})])]),U.value.length===0?(u(),s(`div`,pe,[c(x,{variant:`checks`,message:`برای ادامه، حداقل یک چک ثبت کنید`},{default:h(()=>[B.value?(u(),i(b,{key:0,onClick:Z},{default:h(()=>[...f[2]||=[r(`ثبت چک جدید`,-1)]]),_:1})):(u(),i(b,{key:1,variant:`outline`,onClick:f[0]||=e=>l(C).push(`/categories`)},{default:h(()=>[...f[3]||=[r(`ثبت سفارش جدید`,-1)]]),_:1}))]),_:1})])):(u(),s(o,{key:1},[p(`div`,me,[c(ce,{message:R.value},null,8,[`message`]),p(`div`,he,[p(`div`,ge,[f[4]||=p(`span`,{class:`summary-card__label`},`مجموع مبلغ چک‌ها`,-1),p(`strong`,_e,n(l(_)(W.value.totalAmount)),1),f[5]||=p(`span`,{class:`summary-card__unit`},`تومان`,-1)]),p(`div`,T,[f[7]||=p(`span`,{class:`summary-card__label`},`مبلغ فاکتور`,-1),p(`strong`,E,n(l(_)(G.value)),1),f[8]||=p(`span`,{class:`summary-card__unit`},`تومان`,-1),q.value&&!J.value?(u(),s(`p`,D,[...f[6]||=[p(`span`,{class:`summary-card__status-icon`},`✓`,-1),r(` مبلغ کامل است `,-1)]])):J.value?(u(),s(`p`,O,` بیش از مبلغ فاکتور `)):a(``,!0)]),p(`div`,{class:t([`summary-card summary-card--remain`,{"summary-card--remain-ok":q.value&&!J.value,"summary-card--remain-warn":J.value}])},[f[9]||=p(`span`,{class:`summary-card__label`},`باقی‌مانده`,-1),p(`strong`,k,n(J.value?l(_)(W.value.totalAmount-G.value):l(_)(K.value)),1),f[10]||=p(`span`,{class:`summary-card__unit`},`تومان`,-1),q.value?a(``,!0):(u(),s(`p`,A,` هنوز باید چک ثبت کنید `))],2)]),p(`div`,j,[(u(!0),s(o,null,d(U.value,(e,t)=>(u(),s(`article`,{key:e.id,class:`check-card`},[p(`div`,M,[B.value&&l(w).draftChecks.length>0?(u(),s(`button`,{key:0,type:`button`,class:`check-card__menu-btn`,"aria-label":`گزینه‌ها`,onClick:t=>Ke(e.id)},` ⋮ `,8,N)):a(``,!0),Y.value===e.id?(u(),s(`div`,P,[p(`button`,{type:`button`,onClick:t=>Q(e.id)},`حذف`,8,F)])):a(``,!0)]),p(`div`,I,[p(`h3`,ve,`چک `+n(l(y)(String(t+1))),1),p(`p`,ye,n(l(re)(e.amount)),1),p(`p`,be,`تاریخ: `+n(l(v)(e.dueDate)),1)]),p(`div`,xe,[e.frontImage?(u(),s(`img`,{key:0,src:e.frontImage,class:`check-card__thumb`,alt:`تصویر چک`},null,8,Se)):(u(),s(`div`,Ce,`چک`))])]))),128))]),p(`div`,we,[f[11]||=p(`h3`,{class:`rass-panel__title`},`رأس چک‌ها`,-1),p(`div`,Te,n(l(y)(String(W.value.rassDays)))+` روز`,1),W.value.rassDate?(u(),s(`p`,Ee,` تاریخ رأس تقریبی: `+n(l(v)(W.value.rassDate)),1)):a(``,!0)])]),B.value&&l(w).draftChecks.length>0?(u(),s(`div`,De,[c(b,{block:``,variant:`outline`,disabled:z.value,onClick:Z},{default:h(()=>[...f[12]||=[r(` افزودن چک جدید `,-1)]]),_:1},8,[`disabled`]),c(b,{block:``,disabled:U.value.length===0,loading:z.value,onClick:$},{default:h(()=>[...f[13]||=[r(` ارسال برای بررسی `,-1)]]),_:1},8,[`disabled`,`loading`])])):a(``,!0)],64))]),U.value.length>0?(u(),s(`div`,Oe,[f[26]||=p(`header`,{class:`desktop-page__head`},[p(`h1`,{class:`desktop-page__title`},`چک‌های ثبت شده`),p(`p`,{class:`desktop-page__subtitle`},`خلاصه و فهرست چک‌های ثبت‌شده`)],-1),p(`div`,ke,[p(`div`,Ae,[p(`div`,je,[p(`div`,Me,[p(`table`,Ne,[p(`thead`,null,[p(`tr`,null,[f[14]||=p(`th`,{scope:`col`},`تصویر`,-1),f[15]||=p(`th`,{scope:`col`},`مبلغ (تومان)`,-1),f[16]||=p(`th`,{scope:`col`},`تاریخ سررسید`,-1),f[17]||=p(`th`,{scope:`col`},`شناسه`,-1),B.value?(u(),s(`th`,Pe,`عملیات`)):a(``,!0)])]),p(`tbody`,null,[(u(!0),s(o,null,d(U.value,(e,t)=>(u(),s(`tr`,{key:e.id},[p(`td`,null,[e.frontImage?(u(),s(`img`,{key:0,src:e.frontImage,class:`check-list-desktop__thumb`,alt:`تصویر چک`},null,8,Fe)):(u(),s(`span`,Ie,`—`))]),p(`td`,Le,n(l(_)(e.amount)),1),p(`td`,null,n(l(v)(e.dueDate)),1),p(`td`,null,`چک `+n(l(y)(String(t+1))),1),B.value&&l(w).draftChecks.length>0?(u(),s(`td`,Re,[p(`button`,{type:`button`,class:`orders-table__action`,onClick:t=>Q(e.id)},` حذف `,8,ze)])):a(``,!0)]))),128))])])])]),B.value?(u(),i(b,{key:0,variant:`outline`,class:`desktop-btn-compact check-list-desktop__add`,onClick:Z},{default:h(()=>[...f[18]||=[r(` ثبت چک دیگر `,-1)]]),_:1})):a(``,!0)]),p(`aside`,Be,[f[25]||=p(`h2`,{class:`desktop-summary-panel__title`},`خلاصه مالی`,-1),p(`div`,Ve,[f[19]||=p(`span`,null,`مجموع چک‌ها`,-1),p(`strong`,null,n(l(_)(W.value.totalAmount))+` تومان`,1)]),p(`div`,He,[f[20]||=p(`span`,null,`مبلغ فاکتور`,-1),p(`strong`,null,n(l(_)(G.value))+` تومان`,1)]),p(`div`,{class:t([`desktop-summary-panel__row desktop-summary-panel__row--remain`,{"desktop-summary-panel__row--ok":q.value&&!J.value,"desktop-summary-panel__row--warn":J.value}])},[f[21]||=p(`span`,null,`باقی‌مانده`,-1),p(`strong`,null,n(J.value?`${l(_)(W.value.totalAmount-G.value)} بیش از فاکتور`:q.value?`پوشش کامل`:`${l(_)(K.value)} تومان`),1)],2),p(`div`,Ue,[f[22]||=p(`span`,null,`رأس چک‌ها`,-1),p(`strong`,null,n(l(y)(String(W.value.rassDays)))+` روز`,1)]),B.value&&l(w).draftChecks.length>0?(u(),s(`div`,We,[c(b,{block:``,variant:`outline`,disabled:z.value,onClick:Z},{default:h(()=>[...f[23]||=[r(` افزودن چک جدید `,-1)]]),_:1},8,[`disabled`]),c(b,{block:``,disabled:U.value.length===0,loading:z.value,onClick:$},{default:h(()=>[...f[24]||=[r(` ارسال برای بررسی `,-1)]]),_:1},8,[`disabled`,`loading`])])):a(``,!0)])])])):(u(),s(`div`,Ge,[c(x,{variant:`checks`,message:`برای ادامه، حداقل یک چک ثبت کنید`},{default:h(()=>[B.value?(u(),i(b,{key:0,onClick:Z},{default:h(()=>[...f[27]||=[r(`ثبت چک جدید`,-1)]]),_:1})):a(``,!0)]),_:1})]))],64))}}),R=w({default:()=>z}),z=te(L,[[`__scopeId`,`data-v-83f3f9a7`]]);export{R as n,z as t}; \ No newline at end of file diff --git a/dist/assets/CheckModeSelectView-C8EtFh3p.js b/dist/assets/CheckModeSelectView-Dh-I2toM.js similarity index 86% rename from dist/assets/CheckModeSelectView-C8EtFh3p.js rename to dist/assets/CheckModeSelectView-Dh-I2toM.js index 4a39d68..15530b6 100644 --- a/dist/assets/CheckModeSelectView-C8EtFh3p.js +++ b/dist/assets/CheckModeSelectView-Dh-I2toM.js @@ -1 +1 @@ -import{A as e,Et as t,P as n,R as r,St as i,Y as a,_ as o,j as s,n as c,tt as l,z as u}from"./BasicIcon-C6boaehV.js";import{n as d}from"./format-BHJptHdF.js";import{d as f}from"./index-spodxsRN.js";import{t as p}from"./IconEditPen-DLV3_yq2.js";import{t as m}from"./PageHeader-BaJqBjIW.js";import{t as h}from"./useRequirePricedOrder-BBPnO4DF.js";import{t as g}from"./IconCheckBook-DwIUojJc.js";var _={class:`page check-mode-page`},v={class:`page__scroll check-mode-page__scroll`},y={class:`check-mode-invoice`},b={class:`check-mode-invoice__value`},x={class:`mode-options`},S={class:`mode-card__icon`},C={class:`mode-card__icon`},w=c(u({__name:`CheckModeSelectView`,setup(c){let u=o(),w=f(),{orderId:T,order:E}=h(),D=e(()=>E.value?.finalAmount?d(E.value.finalAmount):`—`);l(T,async e=>{e&&(w.getOrderById(e)||await w.fetchOrder(e),w.draftOrderId!==e&&w.startCheckDraft(e))},{immediate:!0});function O(e){w.setCheckMode(e),u.push(`/orders/${T.value}/check-form`)}return(e,o)=>(a(),n(`div`,_,[r(m,{title:`تسویه چکی`,subtitle:`بر اساس مبلغ فاکتور، نحوه ثبت چک را انتخاب کنید`,"show-back":``,centered:``,onBack:o[0]||=e=>i(u).push(`/orders/${i(T)}`)}),s(`div`,v,[s(`div`,y,[o[3]||=s(`span`,{class:`check-mode-invoice__label`},`مبلغ فاکتور`,-1),s(`strong`,b,t(D.value),1)]),s(`div`,x,[s(`button`,{type:`button`,class:`mode-card`,onClick:o[1]||=e=>O(`full`)},[s(`span`,S,[r(g,{size:36})]),o[4]||=s(`h3`,{class:`mode-card__title`},`ثبت کامل (پیشنهادی)`,-1),o[5]||=s(`p`,{class:`mode-card__desc`},`وارد کردن همه اطلاعات چک`,-1)]),s(`button`,{type:`button`,class:`mode-card`,onClick:o[2]||=e=>O(`brief`)},[s(`span`,C,[r(p,{size:36})]),o[6]||=s(`h3`,{class:`mode-card__title`},`ثبت مختصر`,-1),o[7]||=s(`p`,{class:`mode-card__desc`},`وارد کردن حداقل اطلاعات`,-1)])])])]))}}),[[`__scopeId`,`data-v-680065b0`]]);export{w as default}; \ No newline at end of file +import{A as e,Et as t,P as n,R as r,St as i,Y as a,_ as o,j as s,n as c,tt as l,z as u}from"./BasicIcon-C6boaehV.js";import{n as d}from"./format-BHJptHdF.js";import{d as f}from"./index-B6MlTGUp.js";import{t as p}from"./IconEditPen-DLV3_yq2.js";import{t as m}from"./PageHeader-CDQMUtCp.js";import{t as h}from"./useRequirePricedOrder-zO2gkEXW.js";import{t as g}from"./IconCheckBook-DwIUojJc.js";var _={class:`page check-mode-page`},v={class:`page__scroll check-mode-page__scroll`},y={class:`check-mode-invoice`},b={class:`check-mode-invoice__value`},x={class:`mode-options`},S={class:`mode-card__icon`},C={class:`mode-card__icon`},w=c(u({__name:`CheckModeSelectView`,setup(c){let u=o(),w=f(),{orderId:T,order:E}=h(),D=e(()=>E.value?.finalAmount?d(E.value.finalAmount):`—`);l(T,async e=>{e&&(w.getOrderById(e)||await w.fetchOrder(e),w.draftOrderId!==e&&w.startCheckDraft(e))},{immediate:!0});function O(e){w.setCheckMode(e),u.push(`/orders/${T.value}/check-form`)}return(e,o)=>(a(),n(`div`,_,[r(m,{title:`تسویه چکی`,subtitle:`بر اساس مبلغ فاکتور، نحوه ثبت چک را انتخاب کنید`,"show-back":``,centered:``,onBack:o[0]||=e=>i(u).push(`/orders/${i(T)}`)}),s(`div`,v,[s(`div`,y,[o[3]||=s(`span`,{class:`check-mode-invoice__label`},`مبلغ فاکتور`,-1),s(`strong`,b,t(D.value),1)]),s(`div`,x,[s(`button`,{type:`button`,class:`mode-card`,onClick:o[1]||=e=>O(`full`)},[s(`span`,S,[r(g,{size:36})]),o[4]||=s(`h3`,{class:`mode-card__title`},`ثبت کامل (پیشنهادی)`,-1),o[5]||=s(`p`,{class:`mode-card__desc`},`وارد کردن همه اطلاعات چک`,-1)]),s(`button`,{type:`button`,class:`mode-card`,onClick:o[2]||=e=>O(`brief`)},[s(`span`,C,[r(p,{size:36})]),o[6]||=s(`h3`,{class:`mode-card__title`},`ثبت مختصر`,-1),o[7]||=s(`p`,{class:`mode-card__desc`},`وارد کردن حداقل اطلاعات`,-1)])])])]))}}),[[`__scopeId`,`data-v-680065b0`]]);export{w as default}; \ No newline at end of file diff --git a/dist/assets/CompanySelectView-BTxwZIWf.js b/dist/assets/CompanySelectView-ccmsnxvI.js similarity index 97% rename from dist/assets/CompanySelectView-BTxwZIWf.js rename to dist/assets/CompanySelectView-ccmsnxvI.js index db0273a..0f45717 100644 --- a/dist/assets/CompanySelectView-BTxwZIWf.js +++ b/dist/assets/CompanySelectView-ccmsnxvI.js @@ -1 +1 @@ -import{A as e,Ct as t,Et as n,L as r,M as i,O as a,P as o,R as s,St as c,Y as l,Z as u,_ as d,et as f,j as p,mt as m,n as h,q as g,z as _}from"./BasicIcon-C6boaehV.js";import{t as v}from"./catalog-s7nVUdlj.js";import{T as y,o as b}from"./index-spodxsRN.js";import{t as x}from"./IconChevronBack-DORV2H0q.js";import{n as S,t as C}from"./IconFamBaftLogo-BaP40Dff.js";import{t as w}from"./PageSkeleton-uO-jhbNm.js";import{t as T}from"./useGoBack-CgNp0uP9.js";var E={class:`company-select-page`},D={class:`company-select-page__header mobile-only`},O={class:`company-select-page__nav`},k={class:`company-select-page__list`},A=[`onClick`],j={class:`company-brand-card__logo`},M={class:`company-brand-card__name`},N={class:`company-brand-card__desc`},P={class:`company-brand-card__cta desktop-only`},F=h(_({__name:`MobileCompanySelect`,props:{companies:{},cardVariant:{type:Function},companyDescription:{type:Function},companyLogo:{type:Function}},emits:[`select`,`back`],setup(e){return(c,d)=>(l(),o(`div`,E,[p(`header`,D,[p(`div`,O,[p(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:d[0]||=e=>c.$emit(`back`)},[s(x,{size:20})]),d[1]||=p(`h1`,{class:`company-select-page__title`},`انتخاب شرکت`,-1),d[2]||=p(`span`,{class:`nav-btn nav-btn--spacer`,"aria-hidden":`true`},null,-1)]),d[3]||=p(`p`,{class:`company-select-page__subtitle`},`شرکت مورد نظر خود را انتخاب کنید`,-1)]),d[5]||=p(`header`,{class:`company-select-page__desk-head desktop-only`},[p(`h1`,null,`انتخاب شرکت`),p(`p`,null,`شرکت موردنظر را انتخاب کنید تا کاتالوگ و سفارش‌گذاری شروع شود`)],-1),p(`div`,k,[(l(!0),o(a,null,u(e.companies,a=>(l(),o(`button`,{key:a.id,type:`button`,class:t([`company-brand-card`,`company-brand-card--${e.cardVariant(a.slug)}`]),onClick:e=>c.$emit(`select`,a.id)},[p(`span`,j,[(l(),i(f(e.companyLogo(a.slug)),{size:72}))]),p(`h2`,M,n(a.name),1),p(`p`,N,n(e.companyDescription(a)),1),p(`span`,P,[d[4]||=r(` ورود به کاتالوگ‌ها `,-1),s(b,{size:16})])],10,A))),128))])]))}}),[[`__scopeId`,`data-v-336d01ae`]]),I={key:0,class:`page page__scroll`},L=_({__name:`CompanySelectView`,setup(t){let n=d(),{goBack:r}=T(`/`),a=v(),u=y(),f=m(!0),p=e(()=>a.getActiveCompanies()),h={par:{description:`تولید و عرضه انواع پارچه`,logo:S},"fam-baft":{description:`تولید و عرضه انواع پارچه`,logo:C}};g(async()=>{await a.loadCompanies(),f.value=!1});function _(e){let t=a.getCompany(e);t&&(u.selectCompany(t),n.push(`/companies/${e}/catalogs`))}function b(e){return e===`par`?`par`:`fam-baft`}function x(e){return h[e.slug]?.description??e.description}function E(e){return h[e]?.logo??S}return(e,t)=>f.value?(l(),o(`div`,I,[s(w,{variant:`cards`})])):(l(),i(F,{key:1,companies:p.value,"card-variant":b,"company-description":x,"company-logo":E,onSelect:_,onBack:c(r)},null,8,[`companies`,`onBack`]))}});export{L as default}; \ No newline at end of file +import{A as e,Ct as t,Et as n,L as r,M as i,O as a,P as o,R as s,St as c,Y as l,Z as u,_ as d,et as f,j as p,mt as m,n as h,q as g,z as _}from"./BasicIcon-C6boaehV.js";import{t as v}from"./catalog-s7nVUdlj.js";import{T as y,o as b}from"./index-B6MlTGUp.js";import{t as x}from"./IconChevronBack-DORV2H0q.js";import{n as S,t as C}from"./IconFamBaftLogo-BaP40Dff.js";import{t as w}from"./PageSkeleton-uO-jhbNm.js";import{t as T}from"./useGoBack-CgNp0uP9.js";var E={class:`company-select-page`},D={class:`company-select-page__header mobile-only`},O={class:`company-select-page__nav`},k={class:`company-select-page__list`},A=[`onClick`],j={class:`company-brand-card__logo`},M={class:`company-brand-card__name`},N={class:`company-brand-card__desc`},P={class:`company-brand-card__cta desktop-only`},F=h(_({__name:`MobileCompanySelect`,props:{companies:{},cardVariant:{type:Function},companyDescription:{type:Function},companyLogo:{type:Function}},emits:[`select`,`back`],setup(e){return(c,d)=>(l(),o(`div`,E,[p(`header`,D,[p(`div`,O,[p(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:d[0]||=e=>c.$emit(`back`)},[s(x,{size:20})]),d[1]||=p(`h1`,{class:`company-select-page__title`},`انتخاب شرکت`,-1),d[2]||=p(`span`,{class:`nav-btn nav-btn--spacer`,"aria-hidden":`true`},null,-1)]),d[3]||=p(`p`,{class:`company-select-page__subtitle`},`شرکت مورد نظر خود را انتخاب کنید`,-1)]),d[5]||=p(`header`,{class:`company-select-page__desk-head desktop-only`},[p(`h1`,null,`انتخاب شرکت`),p(`p`,null,`شرکت موردنظر را انتخاب کنید تا کاتالوگ و سفارش‌گذاری شروع شود`)],-1),p(`div`,k,[(l(!0),o(a,null,u(e.companies,a=>(l(),o(`button`,{key:a.id,type:`button`,class:t([`company-brand-card`,`company-brand-card--${e.cardVariant(a.slug)}`]),onClick:e=>c.$emit(`select`,a.id)},[p(`span`,j,[(l(),i(f(e.companyLogo(a.slug)),{size:72}))]),p(`h2`,M,n(a.name),1),p(`p`,N,n(e.companyDescription(a)),1),p(`span`,P,[d[4]||=r(` ورود به کاتالوگ‌ها `,-1),s(b,{size:16})])],10,A))),128))])]))}}),[[`__scopeId`,`data-v-336d01ae`]]),I={key:0,class:`page page__scroll`},L=_({__name:`CompanySelectView`,setup(t){let n=d(),{goBack:r}=T(`/`),a=v(),u=y(),f=m(!0),p=e(()=>a.getActiveCompanies()),h={par:{description:`تولید و عرضه انواع پارچه`,logo:S},"fam-baft":{description:`تولید و عرضه انواع پارچه`,logo:C}};g(async()=>{await a.loadCompanies(),f.value=!1});function _(e){let t=a.getCompany(e);t&&(u.selectCompany(t),n.push(`/companies/${e}/catalogs`))}function b(e){return e===`par`?`par`:`fam-baft`}function x(e){return h[e.slug]?.description??e.description}function E(e){return h[e]?.logo??S}return(e,t)=>f.value?(l(),o(`div`,I,[s(w,{variant:`cards`})])):(l(),i(F,{key:1,companies:p.value,"card-variant":b,"company-description":x,"company-logo":E,onSelect:_,onBack:c(r)},null,8,[`companies`,`onBack`]))}});export{L as default}; \ No newline at end of file diff --git a/dist/assets/CustomerCreateView-jg0OBdWH.js b/dist/assets/CustomerCreateView-y-BtY-8V.js similarity index 95% rename from dist/assets/CustomerCreateView-jg0OBdWH.js rename to dist/assets/CustomerCreateView-y-BtY-8V.js index 009b74b..7947f07 100644 --- a/dist/assets/CustomerCreateView-jg0OBdWH.js +++ b/dist/assets/CustomerCreateView-y-BtY-8V.js @@ -1 +1 @@ -import{L as e,P as t,R as n,St as r,Y as i,_ as a,j as o,mt as s,n as c,rt as l,z as u}from"./BasicIcon-C6boaehV.js";import{t as d}from"./http-BC1hNfZ4.js";import{c as f}from"./format-BHJptHdF.js";import{a as p}from"./validation-BD7oi-2I.js";import{c as m,n as h}from"./index-spodxsRN.js";import{t as g}from"./FormErrorBanner-CjdBfIQT.js";import{n as _,r as v,t as y}from"./formErrors-DglFjYkZ.js";import{t as b}from"./crm-CtglbPsN.js";import{t as x}from"./useGoBack-CgNp0uP9.js";import{t as S}from"./PageHeader-BaJqBjIW.js";import{t as C}from"./BaseInput-qoEXOHCQ.js";var w={class:`page customer-create-page`},T={class:`page__scroll customer-create-scroll`},E={class:`form-card`},D={class:`footer`},O=c(u({__name:`CustomerCreateView`,setup(c){let u=a(),O=m(),k=b(),{goBack:A}=x(`/customers`),j=s(``),M=s(``),N=s(``),P=s(``),F=s({}),I=s(``),L=s(!1);function R(e){F.value=_(F.value,e),v(F.value)||(I.value=``)}async function z(){if(F.value={},I.value=``,!O.isAgent){I.value=`فقط واسطه می‌تواند مشتری به لیست خود اضافه کند.`;return}let e=f(N.value),t={};if(j.value.trim()||(t.firstName=`نام الزامی است.`),M.value.trim()||(t.lastName=`نام خانوادگی الزامی است.`),p(e)||(t.phone=`شماره موبایل معتبر نیست.`),v(t)){F.value=t,I.value=y;return}L.value=!0;try{let t=await k.registerCustomer({firstName:j.value.trim(),lastName:M.value.trim(),phone:e,businessName:P.value.trim()||void 0});if(t?.id){await u.replace({path:`/customer`,query:{id:t.id}});return}await u.replace(`/customers`)}catch(e){I.value=e instanceof d||e instanceof Error?e.message:`ثبت مشتری ناموفق بود.`}finally{L.value=!1}}return(a,s)=>(i(),t(`div`,w,[n(S,{title:`افزودن مشتری`,"show-back":``,centered:``,onBack:r(A)},null,8,[`onBack`]),o(`div`,T,[s[7]||=o(`p`,{class:`intro`},` مشتری به لیست شما اضافه می‌شود و بعد از ورود با همین شماره، سفارش‌هایش به حساب شما وصل می‌ماند. `,-1),n(g,{message:I.value},null,8,[`message`]),o(`div`,E,[n(C,{modelValue:j.value,"onUpdate:modelValue":[s[0]||=e=>j.value=e,s[1]||=e=>R(`firstName`)],label:`نام`,placeholder:`نام مشتری`,error:F.value.firstName},null,8,[`modelValue`,`error`]),n(C,{modelValue:M.value,"onUpdate:modelValue":[s[2]||=e=>M.value=e,s[3]||=e=>R(`lastName`)],label:`نام خانوادگی`,placeholder:`نام خانوادگی`,error:F.value.lastName},null,8,[`modelValue`,`error`]),n(C,{modelValue:N.value,"onUpdate:modelValue":[s[4]||=e=>N.value=e,s[5]||=e=>R(`phone`)],label:`شماره موبایل`,type:`tel`,inputmode:`tel`,dir:`ltr`,placeholder:`۰۹۱۲۳۴۵۶۷۸۹`,error:F.value.phone},null,8,[`modelValue`,`error`]),n(C,{modelValue:P.value,"onUpdate:modelValue":s[6]||=e=>P.value=e,label:`نام فروشگاه یا برند (اختیاری)`,placeholder:`مثلاً بوتیک رز`},null,8,[`modelValue`])])]),o(`footer`,D,[n(h,{block:``,loading:L.value,disabled:L.value,onClick:z},{default:l(()=>[...s[8]||=[e(` ثبت مشتری `,-1)]]),_:1},8,[`loading`,`disabled`])])]))}}),[[`__scopeId`,`data-v-f29dd241`]]);export{O as default}; \ No newline at end of file +import{L as e,P as t,R as n,St as r,Y as i,_ as a,j as o,mt as s,n as c,rt as l,z as u}from"./BasicIcon-C6boaehV.js";import{t as d}from"./http-BC1hNfZ4.js";import{c as f}from"./format-BHJptHdF.js";import{a as p}from"./validation-BD7oi-2I.js";import{c as m,n as h}from"./index-B6MlTGUp.js";import{t as g}from"./FormErrorBanner-CjdBfIQT.js";import{n as _,r as v,t as y}from"./formErrors-DglFjYkZ.js";import{t as b}from"./crm-CtglbPsN.js";import{t as x}from"./useGoBack-CgNp0uP9.js";import{t as S}from"./PageHeader-CDQMUtCp.js";import{t as C}from"./BaseInput-qoEXOHCQ.js";var w={class:`page customer-create-page`},T={class:`page__scroll customer-create-scroll`},E={class:`form-card`},D={class:`footer`},O=c(u({__name:`CustomerCreateView`,setup(c){let u=a(),O=m(),k=b(),{goBack:A}=x(`/customers`),j=s(``),M=s(``),N=s(``),P=s(``),F=s({}),I=s(``),L=s(!1);function R(e){F.value=_(F.value,e),v(F.value)||(I.value=``)}async function z(){if(F.value={},I.value=``,!O.isAgent){I.value=`فقط واسطه می‌تواند مشتری به لیست خود اضافه کند.`;return}let e=f(N.value),t={};if(j.value.trim()||(t.firstName=`نام الزامی است.`),M.value.trim()||(t.lastName=`نام خانوادگی الزامی است.`),p(e)||(t.phone=`شماره موبایل معتبر نیست.`),v(t)){F.value=t,I.value=y;return}L.value=!0;try{let t=await k.registerCustomer({firstName:j.value.trim(),lastName:M.value.trim(),phone:e,businessName:P.value.trim()||void 0});if(t?.id){await u.replace({path:`/customer`,query:{id:t.id}});return}await u.replace(`/customers`)}catch(e){I.value=e instanceof d||e instanceof Error?e.message:`ثبت مشتری ناموفق بود.`}finally{L.value=!1}}return(a,s)=>(i(),t(`div`,w,[n(S,{title:`افزودن مشتری`,"show-back":``,centered:``,onBack:r(A)},null,8,[`onBack`]),o(`div`,T,[s[7]||=o(`p`,{class:`intro`},` مشتری به لیست شما اضافه می‌شود و بعد از ورود با همین شماره، سفارش‌هایش به حساب شما وصل می‌ماند. `,-1),n(g,{message:I.value},null,8,[`message`]),o(`div`,E,[n(C,{modelValue:j.value,"onUpdate:modelValue":[s[0]||=e=>j.value=e,s[1]||=e=>R(`firstName`)],label:`نام`,placeholder:`نام مشتری`,error:F.value.firstName},null,8,[`modelValue`,`error`]),n(C,{modelValue:M.value,"onUpdate:modelValue":[s[2]||=e=>M.value=e,s[3]||=e=>R(`lastName`)],label:`نام خانوادگی`,placeholder:`نام خانوادگی`,error:F.value.lastName},null,8,[`modelValue`,`error`]),n(C,{modelValue:N.value,"onUpdate:modelValue":[s[4]||=e=>N.value=e,s[5]||=e=>R(`phone`)],label:`شماره موبایل`,type:`tel`,inputmode:`tel`,dir:`ltr`,placeholder:`۰۹۱۲۳۴۵۶۷۸۹`,error:F.value.phone},null,8,[`modelValue`,`error`]),n(C,{modelValue:P.value,"onUpdate:modelValue":s[6]||=e=>P.value=e,label:`نام فروشگاه یا برند (اختیاری)`,placeholder:`مثلاً بوتیک رز`},null,8,[`modelValue`])])]),o(`footer`,D,[n(h,{block:``,loading:L.value,disabled:L.value,onClick:z},{default:l(()=>[...s[8]||=[e(` ثبت مشتری `,-1)]]),_:1},8,[`loading`,`disabled`])])]))}}),[[`__scopeId`,`data-v-f29dd241`]]);export{O as default}; \ No newline at end of file diff --git a/dist/assets/CustomerDetailView-Br6csGlE.js b/dist/assets/CustomerDetailView-DOkX1hBW.js similarity index 97% rename from dist/assets/CustomerDetailView-Br6csGlE.js rename to dist/assets/CustomerDetailView-DOkX1hBW.js index 606597d..388fdd1 100644 --- a/dist/assets/CustomerDetailView-Br6csGlE.js +++ b/dist/assets/CustomerDetailView-DOkX1hBW.js @@ -1 +1 @@ -import{A as e,Ct as t,E as n,Et as r,F as ee,L as te,M as i,N as a,O as o,P as s,R as c,St as l,Tt as u,Y as d,Z as f,_ as p,g as ne,j as m,mt as h,n as re,q as ie,rt as ae,tt as oe,z as g}from"./BasicIcon-C6boaehV.js";import{o as _}from"./format-BHJptHdF.js";import{C as se,c as ce,o as v}from"./index-spodxsRN.js";import{r as le,t as ue}from"./constants-DXXK14Zz.js";import{t as de}from"./IconPhone-C0bnM4fV.js";import{t as fe}from"./IconEditPen-DLV3_yq2.js";import{t as pe}from"./IconClipboardEmpty-5Av_Gh0W.js";import{t as me}from"./PageSkeleton-uO-jhbNm.js";import{t as he}from"./crm-CtglbPsN.js";import{t as ge}from"./PageHeader-BaJqBjIW.js";import{t as _e}from"./IconMail-wulYTzHn.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=re(g({__name:`CustomerDetailView`,setup(re){let g=ne(),I=p(),De=he(),L=ce(),R=e(()=>String(g.query.id??``)),z=e(()=>String(g.query.tab??`info`)),B=h(null),V=h([]),H=h([]),U=h(`all`),W=h(!0),G=h(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}}ie(K),oe(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=e(()=>B.value?.agentName||L.fullName||`واسطه`),ke=e(()=>B.value?.agentCode||L.user?.agentCode||`—`),Ae=e(()=>Y.value.charAt(0)),je=[{id:`all`,label:`همه`},{id:`in_person`,label:`ملاقات حضوری`},{id:`call`,label:`تماس`},{id:`message`,label:`پیام`},{id:`note`,label:`یادداشت`}],X=e(()=>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(e,p)=>B.value?(d(),s(`div`,ve,[c(ge,{title:z.value===`reports`?`پروفایل مشتری`:`جزئیات مشتری`,"show-back":``,centered:``,onBack:p[1]||=e=>l(I).push(`/customers`)},ee({_:2},[z.value===`info`?{name:`trailing`,fn:ae(()=>[m(`button`,{type:`button`,class:`edit-btn`,onClick:p[0]||=e=>l(I).back()},`ویرایش`)]),key:`0`}:void 0]),1032,[`title`]),m(`div`,y,[z.value===`reports`?(d(),s(`section`,C,[m(`div`,w,[m(`div`,{class:`avatar avatar--lg`,style:u({background:B.value.avatarColor})},r(B.value.avatarLetter),5),m(`div`,null,[m(`h2`,null,r(B.value.name),1),m(`p`,null,r(B.value.contactName),1),m(`p`,T,r(B.value.phone),1)]),p[7]||=m(`span`,{class:`badge badge--light`},`مشتری فعال`,-1)]),m(`div`,E,[m(`div`,null,[p[8]||=m(`span`,null,`سطح مشتری`,-1),m(`strong`,null,r(B.value.levelLabel),1)]),m(`div`,null,[p[9]||=m(`span`,null,`تاریخ اولین خرید`,-1),m(`strong`,null,r(B.value.firstPurchaseDate),1)]),m(`div`,null,[p[10]||=m(`span`,null,`تعداد سفارش`,-1),m(`strong`,null,r(l(_)(B.value.orderCount))+` سفارش`,1)])])])):(d(),s(`section`,b,[m(`div`,{class:`avatar`,style:u({background:B.value.avatarColor})},r(B.value.avatarLetter),5),m(`div`,null,[m(`div`,x,[m(`h2`,null,r(B.value.name),1),p[6]||=m(`span`,{class:`badge`},`فعال`,-1)]),m(`p`,S,r(B.value.phone),1)])])),m(`div`,D,[(d(),s(o,null,f(Oe,e=>m(`button`,{key:e.id,type:`button`,class:t([`tab`,{"tab--active":z.value===e.id}]),onClick:t=>q(e.id)},r(e.label),11,O)),64))]),z.value===`info`?(d(),s(o,{key:2},[m(`section`,k,[p[16]||=m(`h3`,null,`اطلاعات خرید`,-1),m(`div`,A,[m(`div`,null,[p[11]||=m(`span`,null,`تعداد سفارش`,-1),m(`strong`,null,r(l(_)(B.value.orderCount)),1)]),m(`div`,null,[p[12]||=m(`span`,null,`مجموع خرید`,-1),m(`strong`,null,r(l(_)(B.value.totalPurchaseToman)),1),p[13]||=m(`em`,null,`تومان`,-1)]),m(`div`,null,[p[14]||=m(`span`,null,`میانگین هر سفارش`,-1),m(`strong`,null,r(l(_)(B.value.averageOrderToman)),1),p[15]||=m(`em`,null,`تومان`,-1)])])]),m(`button`,{type:`button`,class:`agent-card`,onClick:p[2]||=e=>l(I).push(`/profile`)},[m(`div`,j,r(Ae.value),1),m(`div`,null,[m(`strong`,null,r(Y.value),1),m(`p`,null,`کد واسطه: `+r(ke.value),1)]),c(v,{size:18})]),m(`section`,null,[m(`div`,M,[p[17]||=m(`h3`,null,`آخرین سفارش‌ها`,-1),m(`button`,{type:`button`,class:`link`,onClick:p[3]||=e=>q(`orders`)},`مشاهده همه`)]),(d(!0),s(o,null,f(V.value,e=>(d(),s(`article`,{key:e.id,class:`order-row`,role:`button`,tabindex:`0`,onClick:t=>Z(e.id),onKeydown:n(t=>Z(e.id),[`enter`])},[m(`div`,null,[m(`strong`,null,r(e.title),1),m(`p`,null,r(l(_)(e.amountToman))+` تومان`,1)]),m(`span`,{class:t([`tone`,`tone--${$(e)}`])},r(Q(e)),3),c(v,{size:16,class:`order-row__chevron`})],40,N))),128)),V.value.length?a(``,!0):(d(),s(`p`,P,`سفارشی ثبت نشده است.`))])],64)):z.value===`orders`?(d(),s(o,{key:3},[(d(!0),s(o,null,f(V.value,e=>(d(),s(`article`,{key:e.id,class:`order-row`,role:`button`,tabindex:`0`,onClick:t=>Z(e.id),onKeydown:n(t=>Z(e.id),[`enter`])},[m(`div`,null,[m(`strong`,null,r(e.title),1),m(`p`,null,r(e.date)+` — `+r(l(_)(e.amountToman))+` تومان`,1)]),m(`span`,{class:t([`tone`,`tone--${$(e)}`])},r(Q(e)),3),c(v,{size:16,class:`order-row__chevron`})],40,F))),128)),V.value.length?a(``,!0):(d(),s(`p`,ye,`سفارشی ثبت نشده است.`))],64)):(d(),s(o,{key:4},[p[18]||=m(`h3`,{class:`block-title`},`تعاملات و پیگیری‌ها`,-1),m(`button`,{type:`button`,class:`dashed-btn`,onClick:p[4]||=e=>l(I).push({path:`/meeting-report`,query:{customerId:B.value.id}})},` + ثبت گزارش ملاقات جدید `),m(`div`,be,[(d(),s(o,null,f(je,e=>m(`button`,{key:e.id,type:`button`,class:t([`meeting-filter`,{"meeting-filter--active":U.value===e.id}]),onClick:t=>U.value=e.id},r(e.label),11,xe)),64))]),(d(!0),s(o,null,f(X.value,e=>(d(),s(`article`,{key:e.id,class:`meeting-row`},[m(`div`,{class:t([`meeting-row__icon`,Me(e.type)])},[e.type===`in_person`?(d(),i(pe,{key:0,size:16})):e.type===`call`?(d(),i(de,{key:1,size:16})):e.type===`message`?(d(),i(_e,{key:2,size:16})):(d(),i(fe,{key:3,size:16}))],2),m(`div`,Se,[m(`strong`,null,r(J(e.type)),1),m(`p`,null,r(e.description||e.title),1)]),m(`span`,null,r(e.date),1)]))),128)),X.value.length?a(``,!0):(d(),s(`p`,Ce,` گزارشی برای این فیلتر ثبت نشده است. `))],64))]),z.value===`info`?(d(),s(`footer`,we,[m(`button`,{type:`button`,class:`cta`,onClick:p[5]||=e=>l(I).push(`/categories`)},[c(se,{size:20,color:`#fff`}),p[19]||=te(` سفارش جدید برای این مشتری `,-1)])])):a(``,!0)])):W.value?(d(),s(`div`,Te,[c(me,{variant:`detail`})])):(d(),s(`div`,Ee,[m(`p`,null,r(G.value||`مشتری یافت نشد.`),1)]))}}),[[`__scopeId`,`data-v-4afb1b74`]]);export{I as default}; \ No newline at end of file +import{A as e,Ct as t,E as n,Et as r,F as ee,L as te,M as i,N as a,O as o,P as s,R as c,St as l,Tt as u,Y as d,Z as f,_ as p,g as ne,j as m,mt as h,n as re,q as ie,rt as ae,tt as oe,z as g}from"./BasicIcon-C6boaehV.js";import{o as _}from"./format-BHJptHdF.js";import{C as se,c as ce,o as v}from"./index-B6MlTGUp.js";import{r as le,t as ue}from"./constants-DXXK14Zz.js";import{t as de}from"./IconPhone-C0bnM4fV.js";import{t as fe}from"./IconEditPen-DLV3_yq2.js";import{t as pe}from"./IconClipboardEmpty-5Av_Gh0W.js";import{t as me}from"./PageSkeleton-uO-jhbNm.js";import{t as he}from"./crm-CtglbPsN.js";import{t as ge}from"./PageHeader-CDQMUtCp.js";import{t as _e}from"./IconMail-wulYTzHn.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=re(g({__name:`CustomerDetailView`,setup(re){let g=ne(),I=p(),De=he(),L=ce(),R=e(()=>String(g.query.id??``)),z=e(()=>String(g.query.tab??`info`)),B=h(null),V=h([]),H=h([]),U=h(`all`),W=h(!0),G=h(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}}ie(K),oe(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=e(()=>B.value?.agentName||L.fullName||`واسطه`),ke=e(()=>B.value?.agentCode||L.user?.agentCode||`—`),Ae=e(()=>Y.value.charAt(0)),je=[{id:`all`,label:`همه`},{id:`in_person`,label:`ملاقات حضوری`},{id:`call`,label:`تماس`},{id:`message`,label:`پیام`},{id:`note`,label:`یادداشت`}],X=e(()=>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(e,p)=>B.value?(d(),s(`div`,ve,[c(ge,{title:z.value===`reports`?`پروفایل مشتری`:`جزئیات مشتری`,"show-back":``,centered:``,onBack:p[1]||=e=>l(I).push(`/customers`)},ee({_:2},[z.value===`info`?{name:`trailing`,fn:ae(()=>[m(`button`,{type:`button`,class:`edit-btn`,onClick:p[0]||=e=>l(I).back()},`ویرایش`)]),key:`0`}:void 0]),1032,[`title`]),m(`div`,y,[z.value===`reports`?(d(),s(`section`,C,[m(`div`,w,[m(`div`,{class:`avatar avatar--lg`,style:u({background:B.value.avatarColor})},r(B.value.avatarLetter),5),m(`div`,null,[m(`h2`,null,r(B.value.name),1),m(`p`,null,r(B.value.contactName),1),m(`p`,T,r(B.value.phone),1)]),p[7]||=m(`span`,{class:`badge badge--light`},`مشتری فعال`,-1)]),m(`div`,E,[m(`div`,null,[p[8]||=m(`span`,null,`سطح مشتری`,-1),m(`strong`,null,r(B.value.levelLabel),1)]),m(`div`,null,[p[9]||=m(`span`,null,`تاریخ اولین خرید`,-1),m(`strong`,null,r(B.value.firstPurchaseDate),1)]),m(`div`,null,[p[10]||=m(`span`,null,`تعداد سفارش`,-1),m(`strong`,null,r(l(_)(B.value.orderCount))+` سفارش`,1)])])])):(d(),s(`section`,b,[m(`div`,{class:`avatar`,style:u({background:B.value.avatarColor})},r(B.value.avatarLetter),5),m(`div`,null,[m(`div`,x,[m(`h2`,null,r(B.value.name),1),p[6]||=m(`span`,{class:`badge`},`فعال`,-1)]),m(`p`,S,r(B.value.phone),1)])])),m(`div`,D,[(d(),s(o,null,f(Oe,e=>m(`button`,{key:e.id,type:`button`,class:t([`tab`,{"tab--active":z.value===e.id}]),onClick:t=>q(e.id)},r(e.label),11,O)),64))]),z.value===`info`?(d(),s(o,{key:2},[m(`section`,k,[p[16]||=m(`h3`,null,`اطلاعات خرید`,-1),m(`div`,A,[m(`div`,null,[p[11]||=m(`span`,null,`تعداد سفارش`,-1),m(`strong`,null,r(l(_)(B.value.orderCount)),1)]),m(`div`,null,[p[12]||=m(`span`,null,`مجموع خرید`,-1),m(`strong`,null,r(l(_)(B.value.totalPurchaseToman)),1),p[13]||=m(`em`,null,`تومان`,-1)]),m(`div`,null,[p[14]||=m(`span`,null,`میانگین هر سفارش`,-1),m(`strong`,null,r(l(_)(B.value.averageOrderToman)),1),p[15]||=m(`em`,null,`تومان`,-1)])])]),m(`button`,{type:`button`,class:`agent-card`,onClick:p[2]||=e=>l(I).push(`/profile`)},[m(`div`,j,r(Ae.value),1),m(`div`,null,[m(`strong`,null,r(Y.value),1),m(`p`,null,`کد واسطه: `+r(ke.value),1)]),c(v,{size:18})]),m(`section`,null,[m(`div`,M,[p[17]||=m(`h3`,null,`آخرین سفارش‌ها`,-1),m(`button`,{type:`button`,class:`link`,onClick:p[3]||=e=>q(`orders`)},`مشاهده همه`)]),(d(!0),s(o,null,f(V.value,e=>(d(),s(`article`,{key:e.id,class:`order-row`,role:`button`,tabindex:`0`,onClick:t=>Z(e.id),onKeydown:n(t=>Z(e.id),[`enter`])},[m(`div`,null,[m(`strong`,null,r(e.title),1),m(`p`,null,r(l(_)(e.amountToman))+` تومان`,1)]),m(`span`,{class:t([`tone`,`tone--${$(e)}`])},r(Q(e)),3),c(v,{size:16,class:`order-row__chevron`})],40,N))),128)),V.value.length?a(``,!0):(d(),s(`p`,P,`سفارشی ثبت نشده است.`))])],64)):z.value===`orders`?(d(),s(o,{key:3},[(d(!0),s(o,null,f(V.value,e=>(d(),s(`article`,{key:e.id,class:`order-row`,role:`button`,tabindex:`0`,onClick:t=>Z(e.id),onKeydown:n(t=>Z(e.id),[`enter`])},[m(`div`,null,[m(`strong`,null,r(e.title),1),m(`p`,null,r(e.date)+` — `+r(l(_)(e.amountToman))+` تومان`,1)]),m(`span`,{class:t([`tone`,`tone--${$(e)}`])},r(Q(e)),3),c(v,{size:16,class:`order-row__chevron`})],40,F))),128)),V.value.length?a(``,!0):(d(),s(`p`,ye,`سفارشی ثبت نشده است.`))],64)):(d(),s(o,{key:4},[p[18]||=m(`h3`,{class:`block-title`},`تعاملات و پیگیری‌ها`,-1),m(`button`,{type:`button`,class:`dashed-btn`,onClick:p[4]||=e=>l(I).push({path:`/meeting-report`,query:{customerId:B.value.id}})},` + ثبت گزارش ملاقات جدید `),m(`div`,be,[(d(),s(o,null,f(je,e=>m(`button`,{key:e.id,type:`button`,class:t([`meeting-filter`,{"meeting-filter--active":U.value===e.id}]),onClick:t=>U.value=e.id},r(e.label),11,xe)),64))]),(d(!0),s(o,null,f(X.value,e=>(d(),s(`article`,{key:e.id,class:`meeting-row`},[m(`div`,{class:t([`meeting-row__icon`,Me(e.type)])},[e.type===`in_person`?(d(),i(pe,{key:0,size:16})):e.type===`call`?(d(),i(de,{key:1,size:16})):e.type===`message`?(d(),i(_e,{key:2,size:16})):(d(),i(fe,{key:3,size:16}))],2),m(`div`,Se,[m(`strong`,null,r(J(e.type)),1),m(`p`,null,r(e.description||e.title),1)]),m(`span`,null,r(e.date),1)]))),128)),X.value.length?a(``,!0):(d(),s(`p`,Ce,` گزارشی برای این فیلتر ثبت نشده است. `))],64))]),z.value===`info`?(d(),s(`footer`,we,[m(`button`,{type:`button`,class:`cta`,onClick:p[5]||=e=>l(I).push(`/categories`)},[c(se,{size:20,color:`#fff`}),p[19]||=te(` سفارش جدید برای این مشتری `,-1)])])):a(``,!0)])):W.value?(d(),s(`div`,Te,[c(me,{variant:`detail`})])):(d(),s(`div`,Ee,[m(`p`,null,r(G.value||`مشتری یافت نشد.`),1)]))}}),[[`__scopeId`,`data-v-4afb1b74`]]);export{I as default}; \ No newline at end of file diff --git a/dist/assets/CustomersView-C8PSBTXL.js b/dist/assets/CustomersView-ByzAyCRf.js similarity index 96% rename from dist/assets/CustomersView-C8PSBTXL.js rename to dist/assets/CustomersView-ByzAyCRf.js index e4318fe..26e9eff 100644 --- a/dist/assets/CustomersView-C8PSBTXL.js +++ b/dist/assets/CustomersView-ByzAyCRf.js @@ -1 +1 @@ -import{A as e,Ct as t,Et as n,M as r,N as i,O as a,P as o,R as s,St as c,Tt as l,Y as u,Z as d,_ as f,g as p,j as m,mt as h,n as g,q as _,rt as v,tt as y,z as b}from"./BasicIcon-C6boaehV.js";import{o as x}from"./format-BHJptHdF.js";import{o as ee,x as S,y as C}from"./index-spodxsRN.js";import{t as w}from"./IconFilter-D9NdLZ7w.js";import{t as T}from"./PageSkeleton-uO-jhbNm.js";import{t as E}from"./crm-CtglbPsN.js";import{t as D}from"./PageHeader-BaJqBjIW.js";import{t as O}from"./SearchField-Dx2PcshV.js";var k={class:`page customers-page`},A={class:`page__scroll page__scroll--with-nav customers-scroll`},j={class:`toolbar`},M={class:`summary-card`},N={class:`summary-card__icon`,"aria-hidden":`true`},P={class:`summary-card__cols`},F={class:`tabs`,role:`tablist`},I=[`aria-selected`,`onClick`],L={class:`tab__text`},te={key:1},R=[`onClick`],z={class:`customer-card__body`},B={class:`customer-card__top`},V=g(b({__name:`CustomersView`,setup(g){let b=p(),V=f(),H=E(),U=h(String(b.query.q??``)),W=e(()=>String(b.query.status??`all`)),G=h([]),K=h(!0),q=h(null),J=e(()=>G.value),Y=e(()=>G.value.filter(e=>e.status===`active`).length),X=e(()=>G.value.reduce((e,t)=>e+t.totalPurchaseToman,0)),Z=[{id:`all`,label:`همه`},{id:`active`,label:`فعال`},{id:`inactive`,label:`غیرفعال`},{id:`new`,label:`جدید`}];async function Q(){K.value=!0,q.value=null;try{G.value=await H.loadCustomers({q:U.value||void 0,status:W.value===`all`?void 0:W.value})}catch(e){q.value=e instanceof Error?e.message:`بارگذاری مشتریان ناموفق بود.`,G.value=[]}finally{K.value=!1}}_(Q),y([W,U],Q);function $(e){V.replace({path:`/customers`,query:{...e===`all`?{}:{status:e},...U.value?{q:U.value}:{}}})}function ne(e){U.value=e,V.replace({path:`/customers`,query:{...W.value===`all`?{}:{status:W.value},...e?{q:e}:{}}})}function re(e){return e===`active`?`فعال`:e===`inactive`?`غیرفعال`:`جدید`}function ie(){V.push(`/customers/new`)}function ae(){let e=[`all`,`active`,`inactive`,`new`],t=e.indexOf(W.value);$(e[(t<0?0:t+1)%e.length]??`all`)}return(e,f)=>(u(),o(`div`,k,[s(D,{title:`مشتریان من`,"show-back":``,centered:``,onBack:f[0]||=e=>c(V).back()},{trailing:v(()=>[m(`button`,{type:`button`,class:`nav-add-btn`,"aria-label":`ثبت مشتری`,onClick:ie},[s(C,{size:22})])]),_:1}),m(`div`,A,[m(`div`,j,[s(O,{"model-value":U.value,placeholder:`جستجو بر اساس نام یا موبایل...`,"onUpdate:modelValue":ne},null,8,[`model-value`]),m(`button`,{type:`button`,class:`filter-btn`,"aria-label":`فیلتر وضعیت`,onClick:ae},[s(w,{size:18})])]),m(`section`,M,[m(`div`,N,[s(S,{size:22,color:`#fff`})]),m(`div`,P,[m(`div`,null,[f[1]||=m(`span`,null,`تعداد مشتری فعال`,-1),m(`strong`,null,n(c(x)(Y.value)),1)]),f[4]||=m(`span`,{class:`summary-card__divider`,"aria-hidden":`true`},null,-1),m(`div`,null,[f[2]||=m(`span`,null,`مجموع خرید (ریال)`,-1),m(`strong`,null,n(c(x)(X.value)),1),f[3]||=m(`em`,null,`تومان`,-1)])])]),m(`div`,F,[(u(),o(a,null,d(Z,e=>m(`button`,{key:e.id,type:`button`,role:`tab`,class:t([`tab`,{"tab--active":W.value===e.id}]),"aria-selected":W.value===e.id,onClick:t=>$(e.id)},[m(`span`,L,n(e.label),1)],10,I)),64))]),K.value?(u(),r(T,{key:0,variant:`list`})):q.value?(u(),o(`p`,te,n(q.value),1)):i(``,!0),(u(!0),o(a,null,d(J.value,e=>(u(),o(`button`,{key:e.id,type:`button`,class:`customer-card`,onClick:t=>c(V).push({path:`/customer`,query:{id:e.id}})},[m(`div`,{class:`customer-card__avatar`,style:l({background:e.avatarColor})},n(e.avatarLetter),5),m(`div`,z,[m(`div`,B,[m(`strong`,null,n(e.name),1)]),m(`p`,null,n(e.phone),1),m(`p`,null,`مجموع خرید: `+n(c(x)(e.totalPurchaseToman))+` تومان`,1)]),m(`span`,{class:t([`status`,{"status--ok":e.status===`active`,"status--off":e.status===`inactive`,"status--new":e.status===`new`}])},n(re(e.status)),3),s(ee,{size:18,class:`chevron`})],8,R))),128)),f[5]||=m(`section`,{class:`promo`},[m(`div`,null,[m(`strong`,null,`افزایش مشتریان = افزایش سطح شما`),m(`p`,null,`با جذب مشتریان بیشتر به سطح VIP برسید`)])],-1)])]))}}),[[`__scopeId`,`data-v-823e3f40`]]);export{V as default}; \ No newline at end of file +import{A as e,Ct as t,Et as n,M as r,N as i,O as a,P as o,R as s,St as c,Tt as l,Y as u,Z as d,_ as f,g as p,j as m,mt as h,n as g,q as _,rt as v,tt as y,z as b}from"./BasicIcon-C6boaehV.js";import{o as x}from"./format-BHJptHdF.js";import{o as ee,x as S,y as C}from"./index-B6MlTGUp.js";import{t as w}from"./IconFilter-D9NdLZ7w.js";import{t as T}from"./PageSkeleton-uO-jhbNm.js";import{t as E}from"./crm-CtglbPsN.js";import{t as D}from"./PageHeader-CDQMUtCp.js";import{t as O}from"./SearchField-Dx2PcshV.js";var k={class:`page customers-page`},A={class:`page__scroll page__scroll--with-nav customers-scroll`},j={class:`toolbar`},M={class:`summary-card`},N={class:`summary-card__icon`,"aria-hidden":`true`},P={class:`summary-card__cols`},F={class:`tabs`,role:`tablist`},I=[`aria-selected`,`onClick`],L={class:`tab__text`},te={key:1},R=[`onClick`],z={class:`customer-card__body`},B={class:`customer-card__top`},V=g(b({__name:`CustomersView`,setup(g){let b=p(),V=f(),H=E(),U=h(String(b.query.q??``)),W=e(()=>String(b.query.status??`all`)),G=h([]),K=h(!0),q=h(null),J=e(()=>G.value),Y=e(()=>G.value.filter(e=>e.status===`active`).length),X=e(()=>G.value.reduce((e,t)=>e+t.totalPurchaseToman,0)),Z=[{id:`all`,label:`همه`},{id:`active`,label:`فعال`},{id:`inactive`,label:`غیرفعال`},{id:`new`,label:`جدید`}];async function Q(){K.value=!0,q.value=null;try{G.value=await H.loadCustomers({q:U.value||void 0,status:W.value===`all`?void 0:W.value})}catch(e){q.value=e instanceof Error?e.message:`بارگذاری مشتریان ناموفق بود.`,G.value=[]}finally{K.value=!1}}_(Q),y([W,U],Q);function $(e){V.replace({path:`/customers`,query:{...e===`all`?{}:{status:e},...U.value?{q:U.value}:{}}})}function ne(e){U.value=e,V.replace({path:`/customers`,query:{...W.value===`all`?{}:{status:W.value},...e?{q:e}:{}}})}function re(e){return e===`active`?`فعال`:e===`inactive`?`غیرفعال`:`جدید`}function ie(){V.push(`/customers/new`)}function ae(){let e=[`all`,`active`,`inactive`,`new`],t=e.indexOf(W.value);$(e[(t<0?0:t+1)%e.length]??`all`)}return(e,f)=>(u(),o(`div`,k,[s(D,{title:`مشتریان من`,"show-back":``,centered:``,onBack:f[0]||=e=>c(V).back()},{trailing:v(()=>[m(`button`,{type:`button`,class:`nav-add-btn`,"aria-label":`ثبت مشتری`,onClick:ie},[s(C,{size:22})])]),_:1}),m(`div`,A,[m(`div`,j,[s(O,{"model-value":U.value,placeholder:`جستجو بر اساس نام یا موبایل...`,"onUpdate:modelValue":ne},null,8,[`model-value`]),m(`button`,{type:`button`,class:`filter-btn`,"aria-label":`فیلتر وضعیت`,onClick:ae},[s(w,{size:18})])]),m(`section`,M,[m(`div`,N,[s(S,{size:22,color:`#fff`})]),m(`div`,P,[m(`div`,null,[f[1]||=m(`span`,null,`تعداد مشتری فعال`,-1),m(`strong`,null,n(c(x)(Y.value)),1)]),f[4]||=m(`span`,{class:`summary-card__divider`,"aria-hidden":`true`},null,-1),m(`div`,null,[f[2]||=m(`span`,null,`مجموع خرید (ریال)`,-1),m(`strong`,null,n(c(x)(X.value)),1),f[3]||=m(`em`,null,`تومان`,-1)])])]),m(`div`,F,[(u(),o(a,null,d(Z,e=>m(`button`,{key:e.id,type:`button`,role:`tab`,class:t([`tab`,{"tab--active":W.value===e.id}]),"aria-selected":W.value===e.id,onClick:t=>$(e.id)},[m(`span`,L,n(e.label),1)],10,I)),64))]),K.value?(u(),r(T,{key:0,variant:`list`})):q.value?(u(),o(`p`,te,n(q.value),1)):i(``,!0),(u(!0),o(a,null,d(J.value,e=>(u(),o(`button`,{key:e.id,type:`button`,class:`customer-card`,onClick:t=>c(V).push({path:`/customer`,query:{id:e.id}})},[m(`div`,{class:`customer-card__avatar`,style:l({background:e.avatarColor})},n(e.avatarLetter),5),m(`div`,z,[m(`div`,B,[m(`strong`,null,n(e.name),1)]),m(`p`,null,n(e.phone),1),m(`p`,null,`مجموع خرید: `+n(c(x)(e.totalPurchaseToman))+` تومان`,1)]),m(`span`,{class:t([`status`,{"status--ok":e.status===`active`,"status--off":e.status===`inactive`,"status--new":e.status===`new`}])},n(re(e.status)),3),s(ee,{size:18,class:`chevron`})],8,R))),128)),f[5]||=m(`section`,{class:`promo`},[m(`div`,null,[m(`strong`,null,`افزایش مشتریان = افزایش سطح شما`),m(`p`,null,`با جذب مشتریان بیشتر به سطح VIP برسید`)])],-1)])]))}}),[[`__scopeId`,`data-v-823e3f40`]]);export{V as default}; \ No newline at end of file diff --git a/dist/assets/FavoritesView-BMYycFs8.js b/dist/assets/FavoritesView-U48rD2lS.js similarity index 85% rename from dist/assets/FavoritesView-BMYycFs8.js rename to dist/assets/FavoritesView-U48rD2lS.js index ae73689..b78c0bb 100644 --- a/dist/assets/FavoritesView-BMYycFs8.js +++ b/dist/assets/FavoritesView-U48rD2lS.js @@ -1 +1 @@ -import{D as e,Et as t,M as n,N as r,O as i,P as a,R as o,St as s,Y as c,Z as l,_ as u,j as d,mt as f,n as p,q as m,z as h}from"./BasicIcon-C6boaehV.js";import{l as g,o as _}from"./index-spodxsRN.js";import{t as v}from"./PageSkeleton-uO-jhbNm.js";import{t as y}from"./crm-CtglbPsN.js";import{t as b}from"./PageHeader-BaJqBjIW.js";import{t as x}from"./IconHeart-CZMe29Nz.js";var S={class:`page`},C={class:`page__scroll page__scroll--with-nav body`},w={key:1},T={key:2,class:`empty`},E=[`onClick`],D={class:`row__body`},O=[`onClick`],k=p(h({__name:`FavoritesView`,setup(p){let h=u(),k=g(),A=y(),j=f([]),M=f(!0),N=f(null);m(async()=>{M.value=!0;try{await k.hydrate();let e=await A.loadBrowseProducts(),t=new Set(k.ids);j.value=e.filter(e=>t.has(e.id))}catch(e){N.value=e instanceof Error?e.message:`بارگذاری علاقه‌مندی‌ها ناموفق بود.`}finally{M.value=!1}});async function P(e){await k.toggle(e),j.value=j.value.filter(t=>t.id!==e)}return(u,f)=>(c(),a(`div`,S,[o(b,{title:`علاقه‌مندی‌ها`,"show-back":``,centered:``,onBack:f[0]||=e=>s(h).back()}),d(`div`,C,[M.value?(c(),n(v,{key:0,variant:`grid`})):N.value?(c(),a(`p`,w,t(N.value),1)):j.value.length?r(``,!0):(c(),a(`p`,T,`هنوز محصولی ذخیره نکرده‌اید.`)),(c(!0),a(i,null,l(j.value,n=>(c(),a(`article`,{key:n.id,class:`row`,onClick:e=>s(h).push({path:`/product`,query:{id:n.id}})},[d(`div`,D,[d(`strong`,null,t(n.name),1),d(`span`,null,`کد `+t(n.code),1)]),d(`button`,{type:`button`,class:`bookmark`,"aria-label":`حذف از نشان‌شده‌ها`,onClick:e(e=>P(n.id),[`stop`])},[o(x,{size:18,filled:``,color:`#0a353c`})],8,O),o(_,{size:16,color:`#9aa3a0`})],8,E))),128))])]))}}),[[`__scopeId`,`data-v-8e70f9c9`]]);export{k as default}; \ No newline at end of file +import{D as e,Et as t,M as n,N as r,O as i,P as a,R as o,St as s,Y as c,Z as l,_ as u,j as d,mt as f,n as p,q as m,z as h}from"./BasicIcon-C6boaehV.js";import{l as g,o as _}from"./index-B6MlTGUp.js";import{t as v}from"./PageSkeleton-uO-jhbNm.js";import{t as y}from"./crm-CtglbPsN.js";import{t as b}from"./PageHeader-CDQMUtCp.js";import{t as x}from"./IconHeart-CZMe29Nz.js";var S={class:`page`},C={class:`page__scroll page__scroll--with-nav body`},w={key:1},T={key:2,class:`empty`},E=[`onClick`],D={class:`row__body`},O=[`onClick`],k=p(h({__name:`FavoritesView`,setup(p){let h=u(),k=g(),A=y(),j=f([]),M=f(!0),N=f(null);m(async()=>{M.value=!0;try{await k.hydrate();let e=await A.loadBrowseProducts(),t=new Set(k.ids);j.value=e.filter(e=>t.has(e.id))}catch(e){N.value=e instanceof Error?e.message:`بارگذاری علاقه‌مندی‌ها ناموفق بود.`}finally{M.value=!1}});async function P(e){await k.toggle(e),j.value=j.value.filter(t=>t.id!==e)}return(u,f)=>(c(),a(`div`,S,[o(b,{title:`علاقه‌مندی‌ها`,"show-back":``,centered:``,onBack:f[0]||=e=>s(h).back()}),d(`div`,C,[M.value?(c(),n(v,{key:0,variant:`grid`})):N.value?(c(),a(`p`,w,t(N.value),1)):j.value.length?r(``,!0):(c(),a(`p`,T,`هنوز محصولی ذخیره نکرده‌اید.`)),(c(!0),a(i,null,l(j.value,n=>(c(),a(`article`,{key:n.id,class:`row`,onClick:e=>s(h).push({path:`/product`,query:{id:n.id}})},[d(`div`,D,[d(`strong`,null,t(n.name),1),d(`span`,null,`کد `+t(n.code),1)]),d(`button`,{type:`button`,class:`bookmark`,"aria-label":`حذف از نشان‌شده‌ها`,onClick:e(e=>P(n.id),[`stop`])},[o(x,{size:18,filled:``,color:`#0a353c`})],8,O),o(_,{size:16,color:`#9aa3a0`})],8,E))),128))])]))}}),[[`__scopeId`,`data-v-8e70f9c9`]]);export{k as default}; \ No newline at end of file diff --git a/dist/assets/HomeView-DKOvriis.js b/dist/assets/HomeView-DKOvriis.js deleted file mode 100644 index d3fbf06..0000000 --- a/dist/assets/HomeView-DKOvriis.js +++ /dev/null @@ -1 +0,0 @@ -import{A as e,Ct as t,D as n,Et as r,J as i,L as a,M as o,N as s,O as c,P as l,R as u,St as d,Tt as f,Y as p,Z as m,_ as ee,b as te,et as ne,j as h,mt as g,n as re,q as ie,rt as ae,z as _}from"./BasicIcon-C6boaehV.js";import{o as oe}from"./format-BHJptHdF.js";import{c as se,i as ce,l as le,o as ue,r as de,s as fe}from"./index-spodxsRN.js";import{t as pe}from"./IconChevronBack-DORV2H0q.js";import{t as me}from"./PageSkeleton-uO-jhbNm.js";import{n as he,r as ge,t as _e}from"./crm-CtglbPsN.js";import{t as ve}from"./useGoBack-CgNp0uP9.js";import{t as ye}from"./IconHeart-CZMe29Nz.js";var be=`/assets/level-medal-yo6AWjPx.webp`,v=`/assets/quick-club-crown-C-NrSU3x.webp`,y=`/assets/quick-categories-grid-BcZY1Wu0.webp`,b=`/assets/quick-catalog-request-DBOA8vbZ.webp`,x=`/assets/quick-new-products-DBGxsuVa.webp`,xe={class:`page home-page`},Se={class:`home-header mobile-only`},S={class:`home-header__user`},C={class:`home-header__hello`},w={class:`home-header__actions`},T={class:`home-desk-head desktop-only`},E={class:`home-desk-head__sub`},D={class:`page__scroll page__scroll--with-nav home-scroll`},O={key:0,class:`home-error`},k=[`aria-label`],A={class:`hero-banner__content`},j={key:0,class:`hero-banner__title`},Ce={key:0},we={key:1,class:`hero-banner__title`},Te={key:0,class:`hero-banner__dots`,role:`tablist`,"aria-label":`بنرها`},Ee=[`aria-label`,`aria-selected`,`onClick`],De={class:`quick-grid`,"aria-label":`دسترسی سریع`},Oe=[`onClick`],ke={class:`quick-card__icon`,"aria-hidden":`true`},Ae=[`src`],je={class:`quick-card__label`},Me={class:`level-card`,"aria-label":`سطح عضویت`},Ne={class:`level-card__top`},Pe={class:`level-card__identity`},Fe=[`src`],Ie={class:`level-card__text`},Le={class:`level-card__name`},Re={class:`level-card__next`},ze={class:`level-card__progress`},Be=[`aria-valuenow`],Ve={class:`level-card__points`},He={class:`section`},M={class:`section__head`},Ue={class:`product-row`},We=[`onClick`],Ge={key:0,class:`product-card__badge`},Ke={class:`product-card__body`},qe={class:`product-card__name`},Je={class:`product-card__sub`},Ye=[`aria-label`,`aria-pressed`,`onClick`],N=re(_({__name:`HomeView`,setup(re){let _=ee(),{goBack:N}=ve(`/`),P=se(),Xe=_e(),F=le(),I=g(!0),L=g(null),R=g([]),z=g(null),B=g(null),Ze=[{id:`qa-club`,label:`باشگاه مشتریان`,to:`/profile`,image:v},{id:`qa-cat`,label:`دسته بندی`,to:`/categories`,image:y},{id:`qa-new`,label:`محصولات جدید`,to:`/products`,image:x},{id:`qa-swatch`,label:`درخواست کالیته`,to:`/catalog-request`,image:b}],Qe=[{id:`qa-customers`,label:`باشگاه مشتریان`,to:`/customers`,image:v},{id:`qa-new`,label:`محصولات جدید`,to:`/products`,image:x},{id:`qa-cat`,label:`دسته بندی`,to:`/categories`,image:y},{id:`qa-swatch`,label:`درخواست کالیته`,to:`/catalog-request`,image:b}],$e=e(()=>P.isAgent?Qe:Ze),V={id:`fallback`,slot:`home_hero`,title:`کالکشن پاییز و زمستان`,subtitle:`جدیدترین پارچه‌ها`,ctaLabel:`مشاهده کالکشن`,ctaLink:`/categories`,imageUrl:``,showTitle:!0,showSubtitle:!0,showCta:!0},H=g([V]),U=g(0),W=g(`hero-next`),G,K=e(()=>H.value[U.value]??V);function et(e){if(e.imageUrl)return{"--hero-image":`url("${e.imageUrl}")`}}function q(e,t){let n=H.value.length;if(!n)return;let r=(e%n+n)%n;r!==U.value&&(t===1?W.value=`hero-next`:t===-1?W.value=`hero-prev`:U.value===n-1&&r===0?W.value=`hero-next`:U.value===0&&r===n-1?W.value=`hero-prev`:W.value=r>U.value?`hero-next`:`hero-prev`,U.value=r)}function J(){Y(),!(H.value.length<2)&&(G=window.setInterval(()=>{q(U.value+1,1)},5500))}function Y(){G&&window.clearInterval(G),G=void 0}function tt(e){q(e),J()}let X=e(()=>P.user?.firstName||`کاربر`),Z=e(()=>P.user?.lastName||``),Q=e(()=>{if(B.value)return B.value;let e=P.user;return{label:e?.levelLabel||`برنزی`,nextLabel:e?.nextLevelLabel||`نقره‌ای`,pointsRemaining:e?.pointsToNext??0,progressPercent:e?.levelProgress??0}});i(Y),ie(async()=>{I.value=!0,L.value=null;try{let[e,t]=await Promise.all([Xe.loadBrowseProducts(),ge(`home_hero`).catch(()=>[]),F.hydrate()]);if(t.length&&(H.value=t),J(),R.value=e.filter(e=>e.isNew).slice(0,6),R.value.length||(R.value=e.slice(0,6)),P.isAgent)try{let e=await he();B.value={label:e.levelLabel,nextLabel:e.nextLevelLabel,pointsRemaining:e.pointsToNext,progressPercent:e.levelProgress}}catch{}}catch(e){L.value=e instanceof Error?e.message:`بارگذاری خانه ناموفق بود.`}finally{I.value=!1}});function $(e){if(/^https?:\/\//i.test(e)){window.location.assign(e);return}_.push(e)}function nt(){$(K.value.ctaLink.trim()||`/categories`)}async function rt(e){z.value=null;try{await F.toggle(e)}catch(e){z.value=e instanceof Error?e.message:`ذخیره علاقه‌مندی ناموفق بود.`}}return(e,i)=>(p(),l(`div`,xe,[h(`header`,Se,[h(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:i[0]||=(...e)=>d(N)&&d(N)(...e)},[u(pe,{size:20})]),h(`div`,S,[u(de,{class:`home-header__avatar`,src:d(P).user?.avatarUrl,initials:X.value.charAt(0),size:44},null,8,[`src`,`initials`]),h(`div`,null,[h(`p`,C,` سلام، `+r(X.value)+` `+r(Z.value),1),i[4]||=h(`p`,{class:`home-header__welcome`},`خوش آمدید`,-1)])]),h(`div`,w,[u(ce,{variant:`inline`}),h(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اعلان‌ها`,onClick:i[1]||=e=>$(`/profile/notifications`)},[u(fe,{size:20})])])]),h(`header`,T,[h(`div`,null,[i[5]||=h(`h1`,{class:`home-desk-head__title`},`خانه`,-1),h(`p`,E,` سلام `+r(X.value)+` `+r(Z.value)+` — خوش آمدید `,1)])]),h(`div`,D,[L.value?(p(),l(`p`,O,r(L.value),1)):I.value?(p(),o(me,{key:1,variant:`home`})):(p(),l(c,{key:2},[h(`section`,{class:`hero-banner`,"aria-label":K.value.title},[u(te,{name:W.value,tag:`div`,class:`hero-banner__stage`},{default:ae(()=>[(p(),l(`article`,{key:K.value.id,class:`hero-slide`,style:f(et(K.value))},[i[6]||=h(`div`,{class:`hero-slide__media`,"aria-hidden":`true`},null,-1),h(`div`,A,[K.value.showTitle===!1?K.value.showSubtitle!==!1&&K.value.subtitle?(p(),l(`p`,we,[h(`span`,null,r(K.value.subtitle),1)])):s(``,!0):(p(),l(`h2`,j,[a(r(K.value.title)+` `,1),K.value.showSubtitle!==!1&&K.value.subtitle?(p(),l(`span`,Ce,r(K.value.subtitle),1)):s(``,!0)])),K.value.showCta!==!1&&K.value.ctaLabel?(p(),l(`button`,{key:2,type:`button`,class:`hero-banner__cta`,onClick:nt},r(K.value.ctaLabel),1)):s(``,!0)])],4))]),_:1},8,[`name`]),H.value.length>1?(p(),l(`div`,Te,[(p(!0),l(c,null,m(H.value,(e,n)=>(p(),l(`button`,{key:e.id,type:`button`,class:t([`dot`,{"dot--active":n===U.value}]),"aria-label":e.title,"aria-selected":n===U.value,onClick:e=>tt(n)},null,10,Ee))),128))])):s(``,!0)],8,k),h(`section`,De,[(p(!0),l(c,null,m($e.value,e=>(p(),l(`button`,{key:e.id,type:`button`,class:`quick-card`,onClick:t=>$(e.to)},[h(`span`,ke,[e.image?(p(),l(`img`,{key:0,class:`quick-card__image`,src:e.image,alt:``},null,8,Ae)):(p(),o(ne(e.icon),{key:1,size:20}))]),h(`span`,je,r(e.label),1)],8,Oe))),128))]),h(`section`,Me,[h(`div`,Ne,[h(`div`,Pe,[h(`img`,{class:`level-card__medal`,src:d(be),alt:``,width:`48`,height:`48`,"aria-hidden":`true`},null,8,Fe),h(`div`,Ie,[i[7]||=h(`span`,{class:`level-card__eyebrow`},`سطح شما`,-1),h(`strong`,Le,r(Q.value.label),1),h(`span`,Re,`تا سطح `+r(Q.value.nextLabel),1)])]),h(`button`,{type:`button`,class:`level-card__details`,onClick:i[2]||=e=>$(`/profile`)},` جزئیات سطح `)]),h(`div`,ze,[h(`div`,{class:`level-card__bar`,role:`progressbar`,"aria-valuenow":Q.value.progressPercent,"aria-valuemin":`0`,"aria-valuemax":`100`},[h(`span`,{class:`level-card__bar-fill`,style:f({width:`${Q.value.progressPercent}%`})},null,4)],8,Be),h(`span`,Ve,r(d(oe)(Q.value.pointsRemaining))+` امتیاز دیگر `,1)])]),h(`section`,He,[h(`div`,M,[i[9]||=h(`h3`,{class:`section__title`},`جدیدترین محصولات`,-1),h(`button`,{type:`button`,class:`section__link`,onClick:i[3]||=e=>$(`/products`)},[i[8]||=a(` مشاهده همه `,-1),u(ue,{size:14})])]),h(`div`,Ue,[(p(!0),l(c,null,m(R.value,(e,i)=>(p(),l(`article`,{key:e.id,class:`product-card`,onClick:t=>$(`/product?id=${e.id}`)},[h(`div`,{class:t([`product-card__image`,`product-card__image--${i%3}`]),style:f(e.imageUrl?{backgroundImage:`url(${e.imageUrl})`}:void 0)},[e.isNew?(p(),l(`span`,Ge,`جدید`)):s(``,!0)],6),h(`div`,Ke,[h(`strong`,qe,r(e.name),1),h(`span`,Je,r(e.subtitle),1),h(`button`,{type:`button`,class:t([`product-card__fav`,{"product-card__fav--on":d(F).isFavorite(e.id)}]),"aria-label":d(F).isFavorite(e.id)?`حذف از علاقه‌مندی‌ها`:`افزودن به علاقه‌مندی‌ها`,"aria-pressed":d(F).isFavorite(e.id),onClick:n(t=>rt(e.id),[`stop`])},[u(ye,{size:16,filled:d(F).isFavorite(e.id),color:d(F).isFavorite(e.id)?`#0a353c`:`#b0b7c0`},null,8,[`filled`,`color`])],10,Ye)])],8,We))),128))])])],64))])]))}}),[[`__scopeId`,`data-v-bdf29edd`]]);export{N as default}; \ No newline at end of file diff --git a/dist/assets/HomeView-EA-z_Eo2.css b/dist/assets/HomeView-EA-z_Eo2.css deleted file mode 100644 index 604ddd6..0000000 --- a/dist/assets/HomeView-EA-z_Eo2.css +++ /dev/null @@ -1 +0,0 @@ -.home-page[data-v-bdf29edd]{background:var(--color-bg)}.home-error[data-v-bdf29edd]{color:var(--color-text-muted);margin:0;font-size:.85rem}.home-header[data-v-bdf29edd]{padding:12px var(--page-padding) 8px;background:var(--color-surface);color:var(--color-text);justify-content:space-between;align-items:center;gap:8px;display:flex}.home-header__user[data-v-bdf29edd]{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.home-header__avatar[data-v-bdf29edd]{background:var(--color-primary-soft);color:var(--color-primary)}.home-header__hello[data-v-bdf29edd]{margin:0;font-size:.95rem;font-weight:700}.home-header__welcome[data-v-bdf29edd]{color:var(--color-text-muted);margin:2px 0 0;font-size:.75rem}.home-header__actions[data-v-bdf29edd]{color:inherit;align-items:center;gap:0;display:flex}.icon-btn[data-v-bdf29edd]{width:40px;height:40px;color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:12px;place-items:center;display:grid;position:relative}.home-scroll[data-v-bdf29edd]{padding:12px var(--page-padding) 8px;flex-direction:column;gap:16px;display:flex}.home-scroll.page__scroll--with-nav[data-v-bdf29edd]{padding-bottom:8px}.home-scroll>.section[data-v-bdf29edd]:last-child{margin-top:auto}.hero-banner[data-v-bdf29edd]{--hero-image:#8a7a65;border-radius:var(--radius-lg);color:#fff;isolation:isolate;min-height:160px;position:relative;overflow:hidden}.hero-banner__stage[data-v-bdf29edd]{position:absolute;inset:0}.hero-slide[data-v-bdf29edd]{z-index:1;align-items:flex-end;padding:20px;display:flex;position:absolute;inset:0}.hero-slide__media[data-v-bdf29edd]{z-index:0;background:linear-gradient(120deg, rgba(var(--color-accent-navy-rgb), .72), rgba(var(--color-primary-rgb), .45)), var(--hero-image) center / cover no-repeat;position:absolute;inset:0}.hero-banner__content[data-v-bdf29edd]{z-index:1;animation:.7s cubic-bezier(.22,1,.36,1) both hero-copy-bdf29edd;position:relative}.hero-next-enter-active[data-v-bdf29edd],.hero-next-leave-active[data-v-bdf29edd],.hero-prev-enter-active[data-v-bdf29edd],.hero-prev-leave-active[data-v-bdf29edd]{transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1)}.hero-next-leave-active[data-v-bdf29edd],.hero-prev-leave-active[data-v-bdf29edd]{z-index:1}.hero-next-enter-active[data-v-bdf29edd],.hero-prev-enter-active[data-v-bdf29edd]{z-index:2}.hero-next-enter-from[data-v-bdf29edd]{opacity:0;transform:translate(-16%)}.hero-next-leave-to[data-v-bdf29edd]{opacity:0;transform:translate(12%)}.hero-prev-enter-from[data-v-bdf29edd]{opacity:0;transform:translate(16%)}.hero-prev-leave-to[data-v-bdf29edd]{opacity:0;transform:translate(-12%)}@keyframes hero-copy-bdf29edd{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hero-banner__content[data-v-bdf29edd],.hero-next-enter-active[data-v-bdf29edd],.hero-next-leave-active[data-v-bdf29edd],.hero-prev-enter-active[data-v-bdf29edd],.hero-prev-leave-active[data-v-bdf29edd]{transition:opacity .2s;animation:none}.hero-next-enter-from[data-v-bdf29edd],.hero-next-leave-to[data-v-bdf29edd],.hero-prev-enter-from[data-v-bdf29edd],.hero-prev-leave-to[data-v-bdf29edd]{transform:none}}.hero-banner__title[data-v-bdf29edd]{max-width:16rem;margin:0 0 14px;font-size:1.05rem;font-weight:700;line-height:1.7}.hero-banner__title span[data-v-bdf29edd]{opacity:.95;font-weight:500;display:block}.hero-banner__cta[data-v-bdf29edd]{background:var(--color-accent-navy);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:10px 16px;font-weight:600}.hero-banner__dots[data-v-bdf29edd]{bottom:12px;z-index:3;gap:6px;display:flex;position:absolute;inset-inline-start:50%;transform:translate(-50%)}.dot[data-v-bdf29edd]{cursor:pointer;background:#ffffff73;border:none;border-radius:999px;width:6px;height:6px;padding:0;transition:width .35s,background .35s}.dot--active[data-v-bdf29edd]{background:#fff;width:16px}.quick-grid[data-v-bdf29edd]{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.quick-card[data-v-bdf29edd]{border-radius:var(--radius-md);cursor:pointer;box-shadow:none;background:0 0;border:none;flex-direction:column;align-items:center;gap:8px;padding:12px 6px;display:flex}.quick-card__icon[data-v-bdf29edd]{background:var(--color-surface);border-radius:12px;place-items:center;width:60px;height:60px;display:grid;box-shadow:0 2px 12px #1018280f}.quick-card__image[data-v-bdf29edd]{object-fit:contain;width:32px;height:32px;display:block}.quick-card__label[data-v-bdf29edd]{text-align:center;font-size:.7rem;font-weight:700;line-height:1.4}.level-card[data-v-bdf29edd]{background:var(--color-surface);border:1px solid #e6e8e6e6;border-radius:18px;padding:16px;box-shadow:0 2px 12px #1018280f}.level-card__top[data-v-bdf29edd]{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.level-card__identity[data-v-bdf29edd]{align-items:center;gap:12px;min-width:0;display:flex}.level-card__medal[data-v-bdf29edd]{object-fit:contain;flex-shrink:0;width:48px;height:48px;display:block}.level-card__text[data-v-bdf29edd]{flex-direction:column;gap:2px;min-width:0;display:flex}.level-card__eyebrow[data-v-bdf29edd],.level-card__next[data-v-bdf29edd]{color:var(--color-text-muted);font-size:.75rem;font-weight:500;line-height:1.4}.level-card__name[data-v-bdf29edd]{color:var(--color-accent-navy);font-size:1.15rem;font-weight:800;line-height:1.35}.level-card__details[data-v-bdf29edd]{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:#eef1f4;border:none;border-radius:999px;flex-shrink:0;padding:8px 12px;font-size:.75rem;font-weight:600}.level-card__progress[data-v-bdf29edd]{align-items:center;gap:10px;margin-top:14px;display:flex}.level-card__bar[data-v-bdf29edd]{background:#e8ecf0;border-radius:999px;flex:1;min-width:0;height:8px;overflow:hidden}.level-card__bar-fill[data-v-bdf29edd]{background:var(--color-accent-navy);border-radius:999px;height:100%;display:block}.level-card__points[data-v-bdf29edd]{color:var(--color-text-muted);white-space:nowrap;flex-shrink:0;font-size:.72rem}.section__head[data-v-bdf29edd]{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.section__title[data-v-bdf29edd]{margin:0;font-size:1rem}.section__link[data-v-bdf29edd]{color:var(--color-info);cursor:pointer;background:0 0;border:none;align-items:center;gap:2px;font-size:.8rem;display:inline-flex}.product-row[data-v-bdf29edd]{margin-inline:calc(-1 * var(--page-padding));padding-bottom:0;padding-inline:var(--page-padding);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:12px;display:flex;overflow-x:auto}.product-card[data-v-bdf29edd]{background:var(--color-surface);text-align:start;cursor:pointer;scroll-snap-align:start;border:none;border-radius:16px;flex-direction:column;flex:0 0 148px;padding:0;display:flex;overflow:hidden;box-shadow:0 2px 10px #1018280d}.product-card__image[data-v-bdf29edd]{background-color:#0000;background-image:linear-gradient(160deg,#ffffff1f,#0000002e),linear-gradient(145deg,#c9b8a0 0%,#8f7a62 55%,#6d5a48 100%);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;height:128px;position:relative}.product-card__image--1[data-v-bdf29edd]{background:linear-gradient(160deg,#ffffff1a,#00000038),linear-gradient(145deg,#9aa4b2 0%,#5d6b7c 55%,#3f4a57 100%)}.product-card__image--2[data-v-bdf29edd]{background:linear-gradient(160deg,#ffffff1f,#0003),linear-gradient(145deg,#d7c4a8 0%,#b08968 50%,#7a5a3c 100%)}.product-card__badge[data-v-bdf29edd]{top:10px;background:var(--color-accent-navy);color:#fff;border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:700;line-height:1;position:absolute;inset-inline-end:10px}.product-card__body[data-v-bdf29edd]{padding:10px 12px 12px;flex-direction:column;align-items:stretch;gap:4px;min-height:56px;padding-inline-end:34px;display:flex;position:relative}.product-card__name[data-v-bdf29edd]{color:#1a1a1a;text-align:start;width:100%;margin:0;font-size:13px;font-weight:700;line-height:1.4;display:block}.product-card__sub[data-v-bdf29edd]{color:#8b939e;text-align:start;width:100%;margin:0;font-size:11px;font-weight:400;line-height:1.4;display:block}.product-card__fav[data-v-bdf29edd]{bottom:10px;cursor:pointer;color:#b0b7c0;background:0 0;border:none;place-items:center;width:22px;height:22px;padding:0;display:grid;position:absolute;inset-inline-end:8px}.product-card__fav--on[data-v-bdf29edd]{color:var(--color-primary)}@media (width>=768px){.home-page[data-v-bdf29edd]{padding-top:8px}.home-desk-head[data-v-bdf29edd]{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:8px;padding:0;display:flex}.home-desk-head__title[data-v-bdf29edd]{color:var(--color-text);margin:0 0 4px;font-size:1.375rem;font-weight:700}.home-desk-head__sub[data-v-bdf29edd]{color:var(--color-text-muted);margin:0;font-size:.875rem}.home-scroll[data-v-bdf29edd]{gap:22px;padding:8px 0 24px}.hero-banner[data-v-bdf29edd]{border-radius:20px;min-height:220px}.hero-slide[data-v-bdf29edd]{padding:28px 32px}.hero-banner__title[data-v-bdf29edd]{max-width:22rem;font-size:1.35rem}.quick-grid[data-v-bdf29edd]{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.quick-card[data-v-bdf29edd]{border-radius:16px;min-height:96px;padding:18px 14px}.level-card[data-v-bdf29edd]{padding:20px 22px}.product-row[data-v-bdf29edd]{scroll-snap-type:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-inline:0;padding-inline:0;display:grid;overflow:visible}.product-card[data-v-bdf29edd]{flex:none;width:auto}.product-card__image[data-v-bdf29edd]{height:160px}}@media (width>=1200px){.product-row[data-v-bdf29edd]{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-banner[data-v-bdf29edd]{min-height:240px}} diff --git a/dist/assets/HomeView-X847j2xz.css b/dist/assets/HomeView-X847j2xz.css new file mode 100644 index 0000000..c383a84 --- /dev/null +++ b/dist/assets/HomeView-X847j2xz.css @@ -0,0 +1 @@ +.home-page[data-v-602ad892]{background:var(--color-bg)}.home-error[data-v-602ad892]{color:var(--color-text-muted);margin:0;font-size:.85rem}.home-header[data-v-602ad892]{padding:12px var(--page-padding) 8px;background:var(--color-surface);color:var(--color-text);justify-content:space-between;align-items:center;gap:8px;display:flex}.home-header__user[data-v-602ad892]{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.home-header__avatar[data-v-602ad892]{background:var(--color-primary-soft);color:var(--color-primary)}.home-header__hello[data-v-602ad892]{margin:0;font-size:.95rem;font-weight:700}.home-header__welcome[data-v-602ad892]{color:var(--color-text-muted);margin:2px 0 0;font-size:.75rem}.home-header__actions[data-v-602ad892]{color:inherit;align-items:center;gap:0;display:flex}.icon-btn[data-v-602ad892]{width:40px;height:40px;color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:12px;place-items:center;display:grid;position:relative}.home-scroll[data-v-602ad892]{padding:12px var(--page-padding) 8px;flex-direction:column;gap:16px;display:flex}.home-scroll.page__scroll--with-nav[data-v-602ad892]{padding-bottom:8px}.home-scroll>.section[data-v-602ad892]:last-child{margin-top:auto}.hero-banner[data-v-602ad892]{--hero-image:#8a7a65;border-radius:var(--radius-lg);color:#fff;isolation:isolate;min-height:160px;position:relative;overflow:hidden}.hero-banner__stage[data-v-602ad892]{position:absolute;inset:0}.hero-slide[data-v-602ad892]{z-index:1;align-items:flex-end;padding:20px;display:flex;position:absolute;inset:0}.hero-slide__media[data-v-602ad892]{z-index:0;background:var(--hero-image) center / cover no-repeat;background-color:#8a7a65;position:absolute;inset:0}.hero-slide--copy .hero-slide__media[data-v-602ad892]:after{content:"";pointer-events:none;background:linear-gradient(#0000 48%,#00000052 100%);position:absolute;inset:0}.hero-banner__content[data-v-602ad892]{z-index:1;animation:.7s cubic-bezier(.22,1,.36,1) both hero-copy-602ad892;position:relative}.hero-next-enter-active[data-v-602ad892],.hero-next-leave-active[data-v-602ad892],.hero-prev-enter-active[data-v-602ad892],.hero-prev-leave-active[data-v-602ad892]{transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1)}.hero-next-leave-active[data-v-602ad892],.hero-prev-leave-active[data-v-602ad892]{z-index:1}.hero-next-enter-active[data-v-602ad892],.hero-prev-enter-active[data-v-602ad892]{z-index:2}.hero-next-enter-from[data-v-602ad892]{opacity:0;transform:translate(-16%)}.hero-next-leave-to[data-v-602ad892]{opacity:0;transform:translate(12%)}.hero-prev-enter-from[data-v-602ad892]{opacity:0;transform:translate(16%)}.hero-prev-leave-to[data-v-602ad892]{opacity:0;transform:translate(-12%)}@keyframes hero-copy-602ad892{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hero-banner__content[data-v-602ad892],.hero-next-enter-active[data-v-602ad892],.hero-next-leave-active[data-v-602ad892],.hero-prev-enter-active[data-v-602ad892],.hero-prev-leave-active[data-v-602ad892]{transition:opacity .2s;animation:none}.hero-next-enter-from[data-v-602ad892],.hero-next-leave-to[data-v-602ad892],.hero-prev-enter-from[data-v-602ad892],.hero-prev-leave-to[data-v-602ad892]{transform:none}}.hero-banner__title[data-v-602ad892]{max-width:16rem;margin:0 0 14px;font-size:1.05rem;font-weight:700;line-height:1.7}.hero-banner__title span[data-v-602ad892]{opacity:.95;font-weight:500;display:block}.hero-banner__cta[data-v-602ad892]{background:var(--color-accent-navy);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:10px 16px;font-weight:600}.hero-banner__dots[data-v-602ad892]{bottom:12px;z-index:3;gap:6px;display:flex;position:absolute;inset-inline-start:50%;transform:translate(-50%)}.dot[data-v-602ad892]{cursor:pointer;background:#ffffff73;border:none;border-radius:999px;width:6px;height:6px;padding:0;transition:width .35s,background .35s}.dot--active[data-v-602ad892]{background:#fff;width:16px}.quick-grid[data-v-602ad892]{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.quick-card[data-v-602ad892]{border-radius:var(--radius-md);cursor:pointer;box-shadow:none;background:0 0;border:none;flex-direction:column;align-items:center;gap:8px;padding:12px 6px;display:flex}.quick-card__icon[data-v-602ad892]{background:var(--color-surface);border-radius:12px;place-items:center;width:60px;height:60px;display:grid;box-shadow:0 2px 12px #1018280f}.quick-card__image[data-v-602ad892]{object-fit:contain;width:32px;height:32px;display:block}.quick-card__label[data-v-602ad892]{text-align:center;font-size:.7rem;font-weight:700;line-height:1.4}.level-card[data-v-602ad892]{background:var(--color-surface);border:1px solid #e6e8e6e6;border-radius:18px;padding:16px;box-shadow:0 2px 12px #1018280f}.level-card__top[data-v-602ad892]{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.level-card__identity[data-v-602ad892]{align-items:center;gap:12px;min-width:0;display:flex}.level-card__medal[data-v-602ad892]{object-fit:contain;flex-shrink:0;width:48px;height:48px;display:block}.level-card__text[data-v-602ad892]{flex-direction:column;gap:2px;min-width:0;display:flex}.level-card__eyebrow[data-v-602ad892],.level-card__next[data-v-602ad892]{color:var(--color-text-muted);font-size:.75rem;font-weight:500;line-height:1.4}.level-card__name[data-v-602ad892]{color:var(--color-accent-navy);font-size:1.15rem;font-weight:800;line-height:1.35}.level-card__details[data-v-602ad892]{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:#eef1f4;border:none;border-radius:999px;flex-shrink:0;padding:8px 12px;font-size:.75rem;font-weight:600}.level-card__progress[data-v-602ad892]{align-items:center;gap:10px;margin-top:14px;display:flex}.level-card__bar[data-v-602ad892]{background:#e8ecf0;border-radius:999px;flex:1;min-width:0;height:8px;overflow:hidden}.level-card__bar-fill[data-v-602ad892]{background:var(--color-accent-navy);border-radius:999px;height:100%;display:block}.level-card__points[data-v-602ad892]{color:var(--color-text-muted);white-space:nowrap;flex-shrink:0;font-size:.72rem}.section__head[data-v-602ad892]{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.section__title[data-v-602ad892]{margin:0;font-size:1rem}.section__link[data-v-602ad892]{color:var(--color-info);cursor:pointer;background:0 0;border:none;align-items:center;gap:2px;font-size:.8rem;display:inline-flex}.product-row[data-v-602ad892]{margin-inline:calc(-1 * var(--page-padding));padding-bottom:0;padding-inline:var(--page-padding);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:12px;display:flex;overflow-x:auto}.product-card[data-v-602ad892]{background:var(--color-surface);text-align:start;cursor:pointer;scroll-snap-align:start;border:none;border-radius:16px;flex-direction:column;flex:0 0 148px;padding:0;display:flex;overflow:hidden;box-shadow:0 2px 10px #1018280d}.product-card__image[data-v-602ad892]{background-color:#0000;background-image:linear-gradient(160deg,#ffffff1f,#0000002e),linear-gradient(145deg,#c9b8a0 0%,#8f7a62 55%,#6d5a48 100%);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;height:128px;position:relative}.product-card__image--1[data-v-602ad892]{background:linear-gradient(160deg,#ffffff1a,#00000038),linear-gradient(145deg,#9aa4b2 0%,#5d6b7c 55%,#3f4a57 100%)}.product-card__image--2[data-v-602ad892]{background:linear-gradient(160deg,#ffffff1f,#0003),linear-gradient(145deg,#d7c4a8 0%,#b08968 50%,#7a5a3c 100%)}.product-card__badge[data-v-602ad892]{top:10px;background:var(--color-accent-navy);color:#fff;border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:700;line-height:1;position:absolute;inset-inline-end:10px}.product-card__body[data-v-602ad892]{padding:10px 12px 12px;flex-direction:column;align-items:stretch;gap:4px;min-height:56px;padding-inline-end:34px;display:flex;position:relative}.product-card__name[data-v-602ad892]{color:#1a1a1a;text-align:start;width:100%;margin:0;font-size:13px;font-weight:700;line-height:1.4;display:block}.product-card__sub[data-v-602ad892]{color:#8b939e;text-align:start;width:100%;margin:0;font-size:11px;font-weight:400;line-height:1.4;display:block}.product-card__fav[data-v-602ad892]{bottom:10px;cursor:pointer;color:#b0b7c0;background:0 0;border:none;place-items:center;width:22px;height:22px;padding:0;display:grid;position:absolute;inset-inline-end:8px}.product-card__fav--on[data-v-602ad892]{color:var(--color-primary)}@media (width>=768px){.home-page[data-v-602ad892]{padding-top:8px}.home-desk-head[data-v-602ad892]{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:8px;padding:0;display:flex}.home-desk-head__title[data-v-602ad892]{color:var(--color-text);margin:0 0 4px;font-size:1.375rem;font-weight:700}.home-desk-head__sub[data-v-602ad892]{color:var(--color-text-muted);margin:0;font-size:.875rem}.home-scroll[data-v-602ad892]{gap:22px;padding:8px 0 24px}.hero-banner[data-v-602ad892]{border-radius:20px;min-height:220px}.hero-slide[data-v-602ad892]{padding:28px 32px}.hero-banner__title[data-v-602ad892]{max-width:22rem;font-size:1.35rem}.quick-grid[data-v-602ad892]{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.quick-card[data-v-602ad892]{border-radius:16px;min-height:96px;padding:18px 14px}.level-card[data-v-602ad892]{padding:20px 22px}.product-row[data-v-602ad892]{scroll-snap-type:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-inline:0;padding-inline:0;display:grid;overflow:visible}.product-card[data-v-602ad892]{flex:none;width:auto}.product-card__image[data-v-602ad892]{height:160px}}@media (width>=1200px){.product-row[data-v-602ad892]{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-banner[data-v-602ad892]{min-height:240px}} diff --git a/dist/assets/HomeView-wCye6_sU.js b/dist/assets/HomeView-wCye6_sU.js new file mode 100644 index 0000000..2773f06 --- /dev/null +++ b/dist/assets/HomeView-wCye6_sU.js @@ -0,0 +1 @@ +import{A as e,Ct as t,D as n,Et as r,J as i,L as a,M as o,N as s,O as c,P as l,R as u,St as d,Tt as f,Y as p,Z as m,_ as ee,b as te,et as ne,j as h,mt as g,n as re,q as ie,rt as ae,z as _}from"./BasicIcon-C6boaehV.js";import{o as oe}from"./format-BHJptHdF.js";import{c as se,i as ce,l as le,o as ue,r as de,s as fe}from"./index-B6MlTGUp.js";import{t as pe}from"./IconChevronBack-DORV2H0q.js";import{t as me}from"./PageSkeleton-uO-jhbNm.js";import{n as he,r as ge,t as _e}from"./crm-CtglbPsN.js";import{t as ve}from"./useGoBack-CgNp0uP9.js";import{t as ye}from"./IconHeart-CZMe29Nz.js";var be=`/assets/level-medal-Avpe4Lqa.webp`,v=`/assets/quick-club-crown-C-NrSU3x.webp`,y=`/assets/quick-categories-grid-BcZY1Wu0.webp`,b=`/assets/quick-catalog-request-DBOA8vbZ.webp`,x=`/assets/quick-new-products-DBGxsuVa.webp`,xe={class:`page home-page`},Se={class:`home-header mobile-only`},S={class:`home-header__user`},C={class:`home-header__hello`},w={class:`home-header__actions`},T={class:`home-desk-head desktop-only`},E={class:`home-desk-head__sub`},D={class:`page__scroll page__scroll--with-nav home-scroll`},O={key:0,class:`home-error`},k=[`aria-label`],A={class:`hero-banner__content`},j={key:0,class:`hero-banner__title`},Ce={key:0},we={key:1,class:`hero-banner__title`},Te={key:0,class:`hero-banner__dots`,role:`tablist`,"aria-label":`بنرها`},Ee=[`aria-label`,`aria-selected`,`onClick`],De={class:`quick-grid`,"aria-label":`دسترسی سریع`},Oe=[`onClick`],ke={class:`quick-card__icon`,"aria-hidden":`true`},Ae=[`src`],je={class:`quick-card__label`},Me={class:`level-card`,"aria-label":`سطح عضویت`},Ne={class:`level-card__top`},Pe={class:`level-card__identity`},Fe=[`src`],Ie={class:`level-card__text`},Le={class:`level-card__name`},Re={class:`level-card__next`},ze={class:`level-card__progress`},Be=[`aria-valuenow`],Ve={class:`level-card__points`},He={class:`section`},M={class:`section__head`},Ue={class:`product-row`},We=[`onClick`],Ge={key:0,class:`product-card__badge`},Ke={class:`product-card__body`},qe={class:`product-card__name`},Je={class:`product-card__sub`},Ye=[`aria-label`,`aria-pressed`,`onClick`],N=re(_({__name:`HomeView`,setup(re){let _=ee(),{goBack:N}=ve(`/`),P=se(),Xe=_e(),F=le(),I=g(!0),L=g(null),R=g([]),z=g(null),B=g(null),Ze=[{id:`qa-club`,label:`باشگاه مشتریان`,to:`/profile`,image:v},{id:`qa-cat`,label:`دسته بندی`,to:`/categories`,image:y},{id:`qa-new`,label:`محصولات جدید`,to:`/products`,image:x},{id:`qa-swatch`,label:`درخواست کالیته`,to:`/catalog-request`,image:b}],Qe=[{id:`qa-customers`,label:`باشگاه مشتریان`,to:`/customers`,image:v},{id:`qa-new`,label:`محصولات جدید`,to:`/products`,image:x},{id:`qa-cat`,label:`دسته بندی`,to:`/categories`,image:y},{id:`qa-swatch`,label:`درخواست کالیته`,to:`/catalog-request`,image:b}],$e=e(()=>P.isAgent?Qe:Ze),V={id:`fallback`,slot:`home_hero`,title:`کالکشن پاییز و زمستان`,subtitle:`جدیدترین پارچه‌ها`,ctaLabel:`مشاهده کالکشن`,ctaLink:`/categories`,imageUrl:``,showTitle:!0,showSubtitle:!0,showCta:!0},H=g([V]),U=g(0),W=g(`hero-next`),G,K=e(()=>H.value[U.value]??V),et=e(()=>{let e=K.value;return e.showTitle!==!1&&e.title||e.showSubtitle!==!1&&e.subtitle||e.showCta!==!1&&e.ctaLabel});function tt(e){if(e.imageUrl)return{"--hero-image":`url("${e.imageUrl}")`}}function q(e,t){let n=H.value.length;if(!n)return;let r=(e%n+n)%n;r!==U.value&&(t===1?W.value=`hero-next`:t===-1?W.value=`hero-prev`:U.value===n-1&&r===0?W.value=`hero-next`:U.value===0&&r===n-1?W.value=`hero-prev`:W.value=r>U.value?`hero-next`:`hero-prev`,U.value=r)}function J(){Y(),!(H.value.length<2)&&(G=window.setInterval(()=>{q(U.value+1,1)},5500))}function Y(){G&&window.clearInterval(G),G=void 0}function nt(e){q(e),J()}let X=e(()=>P.user?.firstName||`کاربر`),Z=e(()=>P.user?.lastName||``),Q=e(()=>{if(B.value)return B.value;let e=P.user;return{label:e?.levelLabel||`برنزی`,nextLabel:e?.nextLevelLabel||`نقره‌ای`,pointsRemaining:e?.pointsToNext??0,progressPercent:e?.levelProgress??0}});i(Y),ie(async()=>{I.value=!0,L.value=null;try{let[e,t]=await Promise.all([Xe.loadBrowseProducts(),ge(`home_hero`).catch(()=>[]),F.hydrate()]);if(t.length&&(H.value=t),J(),R.value=e.filter(e=>e.isNew).slice(0,6),R.value.length||(R.value=e.slice(0,6)),P.isAgent)try{let e=await he();B.value={label:e.levelLabel,nextLabel:e.nextLevelLabel,pointsRemaining:e.pointsToNext,progressPercent:e.levelProgress}}catch{}}catch(e){L.value=e instanceof Error?e.message:`بارگذاری خانه ناموفق بود.`}finally{I.value=!1}});function $(e){if(/^https?:\/\//i.test(e)){window.location.assign(e);return}_.push(e)}function rt(){$(K.value.ctaLink.trim()||`/categories`)}async function it(e){z.value=null;try{await F.toggle(e)}catch(e){z.value=e instanceof Error?e.message:`ذخیره علاقه‌مندی ناموفق بود.`}}return(e,i)=>(p(),l(`div`,xe,[h(`header`,Se,[h(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:i[0]||=(...e)=>d(N)&&d(N)(...e)},[u(pe,{size:20})]),h(`div`,S,[u(de,{class:`home-header__avatar`,src:d(P).user?.avatarUrl,initials:X.value.charAt(0),size:44},null,8,[`src`,`initials`]),h(`div`,null,[h(`p`,C,` سلام، `+r(X.value)+` `+r(Z.value),1),i[4]||=h(`p`,{class:`home-header__welcome`},`خوش آمدید`,-1)])]),h(`div`,w,[u(ce,{variant:`inline`}),h(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اعلان‌ها`,onClick:i[1]||=e=>$(`/profile/notifications`)},[u(fe,{size:20})])])]),h(`header`,T,[h(`div`,null,[i[5]||=h(`h1`,{class:`home-desk-head__title`},`خانه`,-1),h(`p`,E,` سلام `+r(X.value)+` `+r(Z.value)+` — خوش آمدید `,1)])]),h(`div`,D,[L.value?(p(),l(`p`,O,r(L.value),1)):I.value?(p(),o(me,{key:1,variant:`home`})):(p(),l(c,{key:2},[h(`section`,{class:`hero-banner`,"aria-label":K.value.title},[u(te,{name:W.value,tag:`div`,class:`hero-banner__stage`},{default:ae(()=>[(p(),l(`article`,{key:K.value.id,class:t([`hero-slide`,{"hero-slide--copy":et.value}]),style:f(tt(K.value))},[i[6]||=h(`div`,{class:`hero-slide__media`,"aria-hidden":`true`},null,-1),h(`div`,A,[K.value.showTitle===!1?K.value.showSubtitle!==!1&&K.value.subtitle?(p(),l(`p`,we,[h(`span`,null,r(K.value.subtitle),1)])):s(``,!0):(p(),l(`h2`,j,[a(r(K.value.title)+` `,1),K.value.showSubtitle!==!1&&K.value.subtitle?(p(),l(`span`,Ce,r(K.value.subtitle),1)):s(``,!0)])),K.value.showCta!==!1&&K.value.ctaLabel?(p(),l(`button`,{key:2,type:`button`,class:`hero-banner__cta`,onClick:rt},r(K.value.ctaLabel),1)):s(``,!0)])],6))]),_:1},8,[`name`]),H.value.length>1?(p(),l(`div`,Te,[(p(!0),l(c,null,m(H.value,(e,n)=>(p(),l(`button`,{key:e.id,type:`button`,class:t([`dot`,{"dot--active":n===U.value}]),"aria-label":e.title,"aria-selected":n===U.value,onClick:e=>nt(n)},null,10,Ee))),128))])):s(``,!0)],8,k),h(`section`,De,[(p(!0),l(c,null,m($e.value,e=>(p(),l(`button`,{key:e.id,type:`button`,class:`quick-card`,onClick:t=>$(e.to)},[h(`span`,ke,[e.image?(p(),l(`img`,{key:0,class:`quick-card__image`,src:e.image,alt:``},null,8,Ae)):(p(),o(ne(e.icon),{key:1,size:20}))]),h(`span`,je,r(e.label),1)],8,Oe))),128))]),h(`section`,Me,[h(`div`,Ne,[h(`div`,Pe,[h(`img`,{class:`level-card__medal`,src:d(be),alt:``,width:`48`,height:`48`,"aria-hidden":`true`},null,8,Fe),h(`div`,Ie,[i[7]||=h(`span`,{class:`level-card__eyebrow`},`سطح شما`,-1),h(`strong`,Le,r(Q.value.label),1),h(`span`,Re,`تا سطح `+r(Q.value.nextLabel),1)])]),h(`button`,{type:`button`,class:`level-card__details`,onClick:i[2]||=e=>$(`/profile`)},` جزئیات سطح `)]),h(`div`,ze,[h(`div`,{class:`level-card__bar`,role:`progressbar`,"aria-valuenow":Q.value.progressPercent,"aria-valuemin":`0`,"aria-valuemax":`100`},[h(`span`,{class:`level-card__bar-fill`,style:f({width:`${Q.value.progressPercent}%`})},null,4)],8,Be),h(`span`,Ve,r(d(oe)(Q.value.pointsRemaining))+` امتیاز دیگر `,1)])]),h(`section`,He,[h(`div`,M,[i[9]||=h(`h3`,{class:`section__title`},`جدیدترین محصولات`,-1),h(`button`,{type:`button`,class:`section__link`,onClick:i[3]||=e=>$(`/products`)},[i[8]||=a(` مشاهده همه `,-1),u(ue,{size:14})])]),h(`div`,Ue,[(p(!0),l(c,null,m(R.value,(e,i)=>(p(),l(`article`,{key:e.id,class:`product-card`,onClick:t=>$(`/product?id=${e.id}`)},[h(`div`,{class:t([`product-card__image`,`product-card__image--${i%3}`]),style:f(e.imageUrl?{backgroundImage:`url(${e.imageUrl})`}:void 0)},[e.isNew?(p(),l(`span`,Ge,`جدید`)):s(``,!0)],6),h(`div`,Ke,[h(`strong`,qe,r(e.name),1),h(`span`,Je,r(e.subtitle),1),h(`button`,{type:`button`,class:t([`product-card__fav`,{"product-card__fav--on":d(F).isFavorite(e.id)}]),"aria-label":d(F).isFavorite(e.id)?`حذف از علاقه‌مندی‌ها`:`افزودن به علاقه‌مندی‌ها`,"aria-pressed":d(F).isFavorite(e.id),onClick:n(t=>it(e.id),[`stop`])},[u(ye,{size:16,filled:d(F).isFavorite(e.id),color:d(F).isFavorite(e.id)?`#0a353c`:`#b0b7c0`},null,8,[`filled`,`color`])],10,Ye)])],8,We))),128))])])],64))])]))}}),[[`__scopeId`,`data-v-602ad892`]]);export{N as default}; \ No newline at end of file diff --git a/dist/assets/LoginView-D2VsOVrb.js b/dist/assets/LoginView-D9wWgmnO.js similarity index 98% rename from dist/assets/LoginView-D2VsOVrb.js rename to dist/assets/LoginView-D9wWgmnO.js index 09b9d39..b6ad667 100644 --- a/dist/assets/LoginView-D2VsOVrb.js +++ b/dist/assets/LoginView-D9wWgmnO.js @@ -1 +1 @@ -import{$ as e,A as t,Ct as n,D as ee,Et as te,I as ne,L as r,N as i,P as a,R as o,St as s,Y as c,_ as l,j as u,mt as d,n as f,q as p,rt as re,z as m}from"./BasicIcon-C6boaehV.js";import{n as h}from"./http-BC1hNfZ4.js";import{c as g,u as ie}from"./format-BHJptHdF.js";import{a as _}from"./validation-BD7oi-2I.js";import{_ as v,c as y,o as b,v as x}from"./index-spodxsRN.js";import{t as S}from"./FormErrorBanner-CjdBfIQT.js";import{t as C}from"./IconPhone-C0bnM4fV.js";import{n as w,r as T,t as E}from"./formErrors-DglFjYkZ.js";import{t as D}from"./login-fabric-CzrIXTnD.js";function O(e){if(!e)return;let t=e.replace(/[^\d+]/g,``);return t?`tel:${t}`:void 0}function k(){return h(`/settings/public`,{auth:!1})}var A=`/assets/login-fabric2-CEezyJ6z.png`,j={class:`page login-page`},M=[`src`],N=[`src`],P={class:`login-page__scroll`},F={class:`login-page__stage`},I={class:`login-brand`},ae=[`value`,`aria-invalid`],L={key:0,class:`phone-field__error`},R=[`disabled`],z={key:0,class:`login-submit__spinner`,"aria-hidden":`true`},B={class:`login-submit__chevron`,"aria-hidden":`true`},V={class:`login-register`},H={class:`login-help`},U=[`href`,`aria-disabled`],W={class:`login-help__icon`},G=[`href`,`aria-disabled`],K={class:`login-help__icon`},q=f(m({__name:`LoginView`,setup(f){let m=l(),h=y(),q=d(null),J=t(()=>O(q.value)),Y=d(``),X=d({}),Z=d(``),oe=t(()=>Y.value?ie(Y.value):``);function Q(e){return e?_(e)?``:`شماره موبایل معتبر نیست. (مثال: ۰۹۱۲۱۲۳۴۵۶۷)`:`شماره موبایل را وارد کنید.`}function se(){X.value=w(X.value,`phone`),T(X.value)||(Z.value=``)}function ce(e){Y.value=g(e),se()}function le(){if(!Y.value)return;let e=Q(Y.value);e&&(X.value={...X.value,phone:e})}async function $(){X.value={},Z.value=``;let e=g(Y.value);Y.value=e;let t=Q(e);if(t){X.value={phone:t},Z.value=E;return}let n=await h.requestOtp(e,{isRegister:!1});n.success?m.push({name:`otp`,query:{phone:e,mode:`login`}}):Z.value=n.message??`خطا در ارسال کد تأیید.`}return p(async()=>{try{let e=await k();q.value=e.supportPhone}catch{q.value=null}}),(t,l)=>{let d=e(`RouterLink`);return c(),a(`div`,j,[u(`img`,{class:`login-page__bg`,src:s(D),alt:``},null,8,M),u(`img`,{class:`login-page__fabric`,src:s(A),alt:``},null,8,N),u(`div`,P,[u(`div`,F,[l[14]||=u(`header`,{class:`login-top`},[u(`p`,{class:`login-top__welcome`},`به دنیای پارچه خوش آمدید`)],-1),u(`div`,I,[o(v,{size:78}),l[1]||=u(`h1`,{class:`login-brand__fa`},`نادمی تکس`,-1),l[2]||=u(`p`,{class:`login-brand__en`},`NADEMITEX`,-1),l[3]||=u(`p`,{class:`login-brand__tag`},`انتخاب حرفه‌ای‌ها`,-1)]),u(`form`,{class:`login-card`,onSubmit:ee($,[`prevent`])},[l[10]||=u(`h2`,{class:`login-card__title`},`ورود به حساب کاربری`,-1),l[11]||=u(`p`,{class:`login-card__lead`},`برای ادامه، شماره موبایل خود را وارد کنید.`,-1),o(S,{message:Z.value},null,8,[`message`]),u(`div`,{class:n([`phone-field`,{"is-invalid":!!X.value.phone}]),dir:`ltr`},[l[4]||=ne(``,1),u(`input`,{class:`phone-field__input`,value:oe.value,type:`tel`,inputmode:`numeric`,autocomplete:`tel`,dir:`rtl`,maxlength:`11`,placeholder:`شماره موبایل`,"aria-invalid":!!X.value.phone,"aria-label":`شماره موبایل`,onInput:l[0]||=e=>ce(e.target.value),onBlur:le},null,40,ae)],2),X.value.phone?(c(),a(`p`,L,te(X.value.phone),1)):i(``,!0),u(`button`,{class:`login-submit`,type:`submit`,disabled:s(h).loading},[s(h).loading?(c(),a(`span`,z)):i(``,!0),u(`span`,B,[o(b,{size:18,color:`#F4EDE4`})]),l[5]||=u(`span`,null,`دریافت کد تأیید`,-1)],8,R),u(`p`,V,[l[7]||=r(` حساب کاربری ندارید؟ `,-1),o(d,{to:`/register`},{default:re(()=>[...l[6]||=[r(`ثبت‌نام کنید`,-1)]]),_:1})]),l[12]||=u(`div`,{class:`login-or`,role:`separator`},[u(`span`,null,`یا`)],-1),u(`div`,H,[u(`a`,{class:n([`login-help__item`,{"is-disabled":!J.value}]),href:J.value,"aria-disabled":!J.value},[u(`span`,W,[o(x,{size:22,color:`#3A3936`})]),l[8]||=r(` پشتیبانی `,-1)],10,U),u(`a`,{class:n([`login-help__item`,{"is-disabled":!J.value}]),href:J.value,"aria-disabled":!J.value},[u(`span`,K,[o(C,{size:22,color:`#3A3936`})]),l[9]||=r(` تماس با ما `,-1)],10,G)]),l[13]||=u(`p`,{class:`login-card__foot`},`پارچه، آغاز یک اعتماد ماندگار…`,-1)],32),l[15]||=u(`div`,{class:`login-spacer`,"aria-hidden":`true`},null,-1),l[16]||=u(`p`,{class:`login-watermark`},[r(`MORE`),u(`br`),r(`THAN`),u(`br`),r(`FABRIC`)],-1)])])])}}}),[[`__scopeId`,`data-v-ac1bf031`]]);export{q as default}; \ No newline at end of file +import{$ as e,A as t,Ct as n,D as ee,Et as te,I as ne,L as r,N as i,P as a,R as o,St as s,Y as c,_ as l,j as u,mt as d,n as f,q as p,rt as re,z as m}from"./BasicIcon-C6boaehV.js";import{n as h}from"./http-BC1hNfZ4.js";import{c as g,u as ie}from"./format-BHJptHdF.js";import{a as _}from"./validation-BD7oi-2I.js";import{_ as v,c as y,o as b,v as x}from"./index-B6MlTGUp.js";import{t as S}from"./FormErrorBanner-CjdBfIQT.js";import{t as C}from"./IconPhone-C0bnM4fV.js";import{n as w,r as T,t as E}from"./formErrors-DglFjYkZ.js";import{t as D}from"./login-fabric-CzrIXTnD.js";function O(e){if(!e)return;let t=e.replace(/[^\d+]/g,``);return t?`tel:${t}`:void 0}function k(){return h(`/settings/public`,{auth:!1})}var A=`/assets/login-fabric2-CEezyJ6z.png`,j={class:`page login-page`},M=[`src`],N=[`src`],P={class:`login-page__scroll`},F={class:`login-page__stage`},I={class:`login-brand`},ae=[`value`,`aria-invalid`],L={key:0,class:`phone-field__error`},R=[`disabled`],z={key:0,class:`login-submit__spinner`,"aria-hidden":`true`},B={class:`login-submit__chevron`,"aria-hidden":`true`},V={class:`login-register`},H={class:`login-help`},U=[`href`,`aria-disabled`],W={class:`login-help__icon`},G=[`href`,`aria-disabled`],K={class:`login-help__icon`},q=f(m({__name:`LoginView`,setup(f){let m=l(),h=y(),q=d(null),J=t(()=>O(q.value)),Y=d(``),X=d({}),Z=d(``),oe=t(()=>Y.value?ie(Y.value):``);function Q(e){return e?_(e)?``:`شماره موبایل معتبر نیست. (مثال: ۰۹۱۲۱۲۳۴۵۶۷)`:`شماره موبایل را وارد کنید.`}function se(){X.value=w(X.value,`phone`),T(X.value)||(Z.value=``)}function ce(e){Y.value=g(e),se()}function le(){if(!Y.value)return;let e=Q(Y.value);e&&(X.value={...X.value,phone:e})}async function $(){X.value={},Z.value=``;let e=g(Y.value);Y.value=e;let t=Q(e);if(t){X.value={phone:t},Z.value=E;return}let n=await h.requestOtp(e,{isRegister:!1});n.success?m.push({name:`otp`,query:{phone:e,mode:`login`}}):Z.value=n.message??`خطا در ارسال کد تأیید.`}return p(async()=>{try{let e=await k();q.value=e.supportPhone}catch{q.value=null}}),(t,l)=>{let d=e(`RouterLink`);return c(),a(`div`,j,[u(`img`,{class:`login-page__bg`,src:s(D),alt:``},null,8,M),u(`img`,{class:`login-page__fabric`,src:s(A),alt:``},null,8,N),u(`div`,P,[u(`div`,F,[l[14]||=u(`header`,{class:`login-top`},[u(`p`,{class:`login-top__welcome`},`به دنیای پارچه خوش آمدید`)],-1),u(`div`,I,[o(v,{size:78}),l[1]||=u(`h1`,{class:`login-brand__fa`},`نادمی تکس`,-1),l[2]||=u(`p`,{class:`login-brand__en`},`NADEMITEX`,-1),l[3]||=u(`p`,{class:`login-brand__tag`},`انتخاب حرفه‌ای‌ها`,-1)]),u(`form`,{class:`login-card`,onSubmit:ee($,[`prevent`])},[l[10]||=u(`h2`,{class:`login-card__title`},`ورود به حساب کاربری`,-1),l[11]||=u(`p`,{class:`login-card__lead`},`برای ادامه، شماره موبایل خود را وارد کنید.`,-1),o(S,{message:Z.value},null,8,[`message`]),u(`div`,{class:n([`phone-field`,{"is-invalid":!!X.value.phone}]),dir:`ltr`},[l[4]||=ne(``,1),u(`input`,{class:`phone-field__input`,value:oe.value,type:`tel`,inputmode:`numeric`,autocomplete:`tel`,dir:`rtl`,maxlength:`11`,placeholder:`شماره موبایل`,"aria-invalid":!!X.value.phone,"aria-label":`شماره موبایل`,onInput:l[0]||=e=>ce(e.target.value),onBlur:le},null,40,ae)],2),X.value.phone?(c(),a(`p`,L,te(X.value.phone),1)):i(``,!0),u(`button`,{class:`login-submit`,type:`submit`,disabled:s(h).loading},[s(h).loading?(c(),a(`span`,z)):i(``,!0),u(`span`,B,[o(b,{size:18,color:`#F4EDE4`})]),l[5]||=u(`span`,null,`دریافت کد تأیید`,-1)],8,R),u(`p`,V,[l[7]||=r(` حساب کاربری ندارید؟ `,-1),o(d,{to:`/register`},{default:re(()=>[...l[6]||=[r(`ثبت‌نام کنید`,-1)]]),_:1})]),l[12]||=u(`div`,{class:`login-or`,role:`separator`},[u(`span`,null,`یا`)],-1),u(`div`,H,[u(`a`,{class:n([`login-help__item`,{"is-disabled":!J.value}]),href:J.value,"aria-disabled":!J.value},[u(`span`,W,[o(x,{size:22,color:`#3A3936`})]),l[8]||=r(` پشتیبانی `,-1)],10,U),u(`a`,{class:n([`login-help__item`,{"is-disabled":!J.value}]),href:J.value,"aria-disabled":!J.value},[u(`span`,K,[o(C,{size:22,color:`#3A3936`})]),l[9]||=r(` تماس با ما `,-1)],10,G)]),l[13]||=u(`p`,{class:`login-card__foot`},`پارچه، آغاز یک اعتماد ماندگار…`,-1)],32),l[15]||=u(`div`,{class:`login-spacer`,"aria-hidden":`true`},null,-1),l[16]||=u(`p`,{class:`login-watermark`},[r(`MORE`),u(`br`),r(`THAN`),u(`br`),r(`FABRIC`)],-1)])])])}}}),[[`__scopeId`,`data-v-ac1bf031`]]);export{q as default}; \ No newline at end of file diff --git a/dist/assets/MeetingReportView-WBp3aKwI.js b/dist/assets/MeetingReportView-D_xn_c9Q.js similarity index 98% rename from dist/assets/MeetingReportView-WBp3aKwI.js rename to dist/assets/MeetingReportView-D_xn_c9Q.js index d92e4d8..834fd86 100644 --- a/dist/assets/MeetingReportView-WBp3aKwI.js +++ b/dist/assets/MeetingReportView-D_xn_c9Q.js @@ -1 +1 @@ -import{A as e,Ct as t,Et as n,M as r,N as i,O as a,P as o,R as s,St as ee,Tt as te,Y as c,Z as ne,_ as l,g as re,it as u,j as d,mt as f,n as p,q as ie,rt as ae,w as m,z as h}from"./BasicIcon-C6boaehV.js";import{t as g}from"./IconCheckCircleOutline-Bx3NxSDX.js";import{t as _}from"./IconPhone-C0bnM4fV.js";import{t as oe}from"./IconEditPen-DLV3_yq2.js";import{t as se}from"./IconClipboardEmpty-5Av_Gh0W.js";import{t as ce}from"./PageSkeleton-uO-jhbNm.js";import{t as le}from"./crm-CtglbPsN.js";import{t as ue}from"./PageHeader-BaJqBjIW.js";import{t as de}from"./IconMail-wulYTzHn.js";var fe={class:`page meeting-page`},pe=[`disabled`],me={class:`page__scroll meeting-scroll`},he={key:1,class:`form-error`},v={key:2,class:`customer-card`},y={dir:`ltr`},b={class:`type-grid`},x=[`onClick`],S={class:`two-cols`},C={class:`field`},w={class:`field`},T={class:`field`},E={class:`field`},D={class:`reminder-box`},O={class:`reminder-box__head`},k=[`aria-pressed`],A={class:`field`},j={class:`two-cols`},M={class:`field`},N={class:`field`},ge={class:`field`},P={class:`footer`},F=[`disabled`],I=p(h({__name:`MeetingReportView`,setup(p){let h=re(),I=l(),L=le(),R=e(()=>String(h.query.customerId??``)),z=f(null),B=f(!0),V=f(!1),H=f(null),U=f(`in_person`),W=f(``),G=f(``),K=f(``),q=f(``),J=f(!0),Y=f(``),X=f(``),Z=f(``),Q=f(``),_e=[{id:`in_person`,label:`ملاقات حضوری`,icon:`clipboard`},{id:`call`,label:`تماس تلفنی`,icon:`phone`},{id:`message`,label:`پیام`,icon:`mail`},{id:`note`,label:`یادداشت`,icon:`pen`}];ie(async()=>{if(!R.value){B.value=!1,H.value=`مشتری مشخص نشده است.`;return}try{let e=await L.loadCustomerDetail(R.value);z.value=e.customer}catch(e){H.value=e instanceof Error?e.message:`بارگذاری مشتری ناموفق بود.`}finally{B.value=!1}});async function $(){if(!R.value||!K.value.trim()||!W.value.trim()){H.value=`موضوع و تاریخ الزامی است.`;return}V.value=!0,H.value=null;try{await L.submitMeeting({customerId:R.value,type:U.value,title:K.value.trim(),subject:K.value.trim(),content:q.value.trim()||void 0,description:q.value.trim()||void 0,date:W.value.trim(),time:G.value.trim()||void 0,createReminder:J.value,reminderTitle:J.value?Y.value.trim()||K.value.trim():void 0,reminderDate:J.value?X.value.trim()||W.value.trim():void 0,reminderTime:J.value?Z.value.trim()||G.value.trim()||`10:00`:void 0,reminderNote:J.value&&Q.value.trim()||void 0}),I.push({path:`/customer`,query:{id:R.value,tab:`reports`}})}catch(e){H.value=e instanceof Error?e.message:`ثبت گزارش ناموفق بود.`}finally{V.value=!1}}return(e,l)=>(c(),o(`div`,fe,[s(ue,{title:`ثبت گزارش ملاقات`,"show-back":``,centered:``,onBack:l[0]||=e=>ee(I).back()},{trailing:ae(()=>[d(`button`,{type:`button`,class:`submit-icon-btn`,"aria-label":`ثبت گزارش`,disabled:V.value,onClick:$},[s(g,{size:22})],8,pe)]),_:1}),d(`div`,me,[B.value?(c(),r(ce,{key:0,variant:`form`})):H.value?(c(),o(`p`,he,n(H.value),1)):i(``,!0),z.value?(c(),o(`section`,v,[d(`div`,{class:`avatar`,style:te({background:z.value.avatarColor})},n(z.value.avatarLetter),5),d(`div`,null,[d(`strong`,null,n(z.value.name),1),d(`p`,null,n(z.value.contactName),1),d(`p`,y,n(z.value.phone),1)])])):i(``,!0),d(`section`,null,[l[10]||=d(`h3`,null,`نوع تعامل`,-1),d(`div`,b,[(c(),o(a,null,ne(_e,e=>d(`button`,{key:e.id,type:`button`,class:t([`type-btn`,{"type-btn--active":U.value===e.id}]),onClick:t=>U.value=e.id},[e.icon===`clipboard`?(c(),r(se,{key:0,size:22})):e.icon===`phone`?(c(),r(_,{key:1,size:22})):e.icon===`mail`?(c(),r(de,{key:2,size:22})):(c(),r(oe,{key:3,size:22})),d(`span`,null,n(e.label),1)],10,x)),64))])]),d(`section`,null,[l[13]||=d(`h3`,null,`تاریخ و زمان`,-1),d(`div`,S,[d(`label`,C,[l[11]||=d(`span`,null,`تاریخ`,-1),u(d(`input`,{"onUpdate:modelValue":l[1]||=e=>W.value=e,type:`text`},null,512),[[m,W.value]])]),d(`label`,w,[l[12]||=d(`span`,null,`ساعت`,-1),u(d(`input`,{"onUpdate:modelValue":l[2]||=e=>G.value=e,type:`text`},null,512),[[m,G.value]])])])]),d(`label`,T,[l[14]||=d(`span`,null,`موضوع گزارش`,-1),u(d(`input`,{"onUpdate:modelValue":l[3]||=e=>K.value=e,type:`text`},null,512),[[m,K.value]])]),d(`label`,E,[l[15]||=d(`span`,null,`محتوای گزارش`,-1),u(d(`textarea`,{"onUpdate:modelValue":l[4]||=e=>q.value=e,rows:`5`,maxlength:`1000`},null,512),[[m,q.value]]),d(`em`,null,n(q.value.length.toLocaleString(`fa-IR`))+`/۱۰۰۰`,1)]),l[22]||=d(`section`,null,[d(`h3`,null,`تصاویر و فایل‌ها`),d(`div`,{class:`files`},[d(`div`,{class:`file-thumb`}),d(`div`,{class:`file-thumb`}),d(`button`,{type:`button`,class:`file-add`,"aria-label":`افزودن فایل`},`+`)])],-1),d(`section`,D,[d(`div`,O,[l[17]||=d(`h3`,null,`یادآور`,-1),d(`button`,{type:`button`,class:t([`toggle`,{"toggle--on":J.value}]),"aria-pressed":J.value,onClick:l[5]||=e=>J.value=!J.value},[...l[16]||=[d(`span`,null,null,-1)]],10,k)]),J.value?(c(),o(a,{key:0},[d(`label`,A,[l[18]||=d(`span`,null,`عنوان یادآور`,-1),u(d(`input`,{"onUpdate:modelValue":l[6]||=e=>Y.value=e,type:`text`},null,512),[[m,Y.value]])]),d(`div`,j,[d(`label`,M,[l[19]||=d(`span`,null,`تاریخ یادآور`,-1),u(d(`input`,{"onUpdate:modelValue":l[7]||=e=>X.value=e,type:`text`},null,512),[[m,X.value]])]),d(`label`,N,[l[20]||=d(`span`,null,`ساعت یادآور`,-1),u(d(`input`,{"onUpdate:modelValue":l[8]||=e=>Z.value=e,type:`text`},null,512),[[m,Z.value]])])]),d(`label`,ge,[l[21]||=d(`span`,null,`یادداشت یادآور (اختیاری)`,-1),u(d(`input`,{"onUpdate:modelValue":l[9]||=e=>Q.value=e,type:`text`},null,512),[[m,Q.value]])])],64)):i(``,!0)])]),d(`footer`,P,[d(`button`,{type:`button`,class:`submit`,disabled:V.value,onClick:$},n(V.value?`در حال ثبت...`:`ثبت گزارش و یادآور`),9,F)])]))}}),[[`__scopeId`,`data-v-2708a25b`]]);export{I as default}; \ No newline at end of file +import{A as e,Ct as t,Et as n,M as r,N as i,O as a,P as o,R as s,St as ee,Tt as te,Y as c,Z as ne,_ as l,g as re,it as u,j as d,mt as f,n as p,q as ie,rt as ae,w as m,z as h}from"./BasicIcon-C6boaehV.js";import{t as g}from"./IconCheckCircleOutline-Bx3NxSDX.js";import{t as _}from"./IconPhone-C0bnM4fV.js";import{t as oe}from"./IconEditPen-DLV3_yq2.js";import{t as se}from"./IconClipboardEmpty-5Av_Gh0W.js";import{t as ce}from"./PageSkeleton-uO-jhbNm.js";import{t as le}from"./crm-CtglbPsN.js";import{t as ue}from"./PageHeader-CDQMUtCp.js";import{t as de}from"./IconMail-wulYTzHn.js";var fe={class:`page meeting-page`},pe=[`disabled`],me={class:`page__scroll meeting-scroll`},he={key:1,class:`form-error`},v={key:2,class:`customer-card`},y={dir:`ltr`},b={class:`type-grid`},x=[`onClick`],S={class:`two-cols`},C={class:`field`},w={class:`field`},T={class:`field`},E={class:`field`},D={class:`reminder-box`},O={class:`reminder-box__head`},k=[`aria-pressed`],A={class:`field`},j={class:`two-cols`},M={class:`field`},N={class:`field`},ge={class:`field`},P={class:`footer`},F=[`disabled`],I=p(h({__name:`MeetingReportView`,setup(p){let h=re(),I=l(),L=le(),R=e(()=>String(h.query.customerId??``)),z=f(null),B=f(!0),V=f(!1),H=f(null),U=f(`in_person`),W=f(``),G=f(``),K=f(``),q=f(``),J=f(!0),Y=f(``),X=f(``),Z=f(``),Q=f(``),_e=[{id:`in_person`,label:`ملاقات حضوری`,icon:`clipboard`},{id:`call`,label:`تماس تلفنی`,icon:`phone`},{id:`message`,label:`پیام`,icon:`mail`},{id:`note`,label:`یادداشت`,icon:`pen`}];ie(async()=>{if(!R.value){B.value=!1,H.value=`مشتری مشخص نشده است.`;return}try{let e=await L.loadCustomerDetail(R.value);z.value=e.customer}catch(e){H.value=e instanceof Error?e.message:`بارگذاری مشتری ناموفق بود.`}finally{B.value=!1}});async function $(){if(!R.value||!K.value.trim()||!W.value.trim()){H.value=`موضوع و تاریخ الزامی است.`;return}V.value=!0,H.value=null;try{await L.submitMeeting({customerId:R.value,type:U.value,title:K.value.trim(),subject:K.value.trim(),content:q.value.trim()||void 0,description:q.value.trim()||void 0,date:W.value.trim(),time:G.value.trim()||void 0,createReminder:J.value,reminderTitle:J.value?Y.value.trim()||K.value.trim():void 0,reminderDate:J.value?X.value.trim()||W.value.trim():void 0,reminderTime:J.value?Z.value.trim()||G.value.trim()||`10:00`:void 0,reminderNote:J.value&&Q.value.trim()||void 0}),I.push({path:`/customer`,query:{id:R.value,tab:`reports`}})}catch(e){H.value=e instanceof Error?e.message:`ثبت گزارش ناموفق بود.`}finally{V.value=!1}}return(e,l)=>(c(),o(`div`,fe,[s(ue,{title:`ثبت گزارش ملاقات`,"show-back":``,centered:``,onBack:l[0]||=e=>ee(I).back()},{trailing:ae(()=>[d(`button`,{type:`button`,class:`submit-icon-btn`,"aria-label":`ثبت گزارش`,disabled:V.value,onClick:$},[s(g,{size:22})],8,pe)]),_:1}),d(`div`,me,[B.value?(c(),r(ce,{key:0,variant:`form`})):H.value?(c(),o(`p`,he,n(H.value),1)):i(``,!0),z.value?(c(),o(`section`,v,[d(`div`,{class:`avatar`,style:te({background:z.value.avatarColor})},n(z.value.avatarLetter),5),d(`div`,null,[d(`strong`,null,n(z.value.name),1),d(`p`,null,n(z.value.contactName),1),d(`p`,y,n(z.value.phone),1)])])):i(``,!0),d(`section`,null,[l[10]||=d(`h3`,null,`نوع تعامل`,-1),d(`div`,b,[(c(),o(a,null,ne(_e,e=>d(`button`,{key:e.id,type:`button`,class:t([`type-btn`,{"type-btn--active":U.value===e.id}]),onClick:t=>U.value=e.id},[e.icon===`clipboard`?(c(),r(se,{key:0,size:22})):e.icon===`phone`?(c(),r(_,{key:1,size:22})):e.icon===`mail`?(c(),r(de,{key:2,size:22})):(c(),r(oe,{key:3,size:22})),d(`span`,null,n(e.label),1)],10,x)),64))])]),d(`section`,null,[l[13]||=d(`h3`,null,`تاریخ و زمان`,-1),d(`div`,S,[d(`label`,C,[l[11]||=d(`span`,null,`تاریخ`,-1),u(d(`input`,{"onUpdate:modelValue":l[1]||=e=>W.value=e,type:`text`},null,512),[[m,W.value]])]),d(`label`,w,[l[12]||=d(`span`,null,`ساعت`,-1),u(d(`input`,{"onUpdate:modelValue":l[2]||=e=>G.value=e,type:`text`},null,512),[[m,G.value]])])])]),d(`label`,T,[l[14]||=d(`span`,null,`موضوع گزارش`,-1),u(d(`input`,{"onUpdate:modelValue":l[3]||=e=>K.value=e,type:`text`},null,512),[[m,K.value]])]),d(`label`,E,[l[15]||=d(`span`,null,`محتوای گزارش`,-1),u(d(`textarea`,{"onUpdate:modelValue":l[4]||=e=>q.value=e,rows:`5`,maxlength:`1000`},null,512),[[m,q.value]]),d(`em`,null,n(q.value.length.toLocaleString(`fa-IR`))+`/۱۰۰۰`,1)]),l[22]||=d(`section`,null,[d(`h3`,null,`تصاویر و فایل‌ها`),d(`div`,{class:`files`},[d(`div`,{class:`file-thumb`}),d(`div`,{class:`file-thumb`}),d(`button`,{type:`button`,class:`file-add`,"aria-label":`افزودن فایل`},`+`)])],-1),d(`section`,D,[d(`div`,O,[l[17]||=d(`h3`,null,`یادآور`,-1),d(`button`,{type:`button`,class:t([`toggle`,{"toggle--on":J.value}]),"aria-pressed":J.value,onClick:l[5]||=e=>J.value=!J.value},[...l[16]||=[d(`span`,null,null,-1)]],10,k)]),J.value?(c(),o(a,{key:0},[d(`label`,A,[l[18]||=d(`span`,null,`عنوان یادآور`,-1),u(d(`input`,{"onUpdate:modelValue":l[6]||=e=>Y.value=e,type:`text`},null,512),[[m,Y.value]])]),d(`div`,j,[d(`label`,M,[l[19]||=d(`span`,null,`تاریخ یادآور`,-1),u(d(`input`,{"onUpdate:modelValue":l[7]||=e=>X.value=e,type:`text`},null,512),[[m,X.value]])]),d(`label`,N,[l[20]||=d(`span`,null,`ساعت یادآور`,-1),u(d(`input`,{"onUpdate:modelValue":l[8]||=e=>Z.value=e,type:`text`},null,512),[[m,Z.value]])])]),d(`label`,ge,[l[21]||=d(`span`,null,`یادداشت یادآور (اختیاری)`,-1),u(d(`input`,{"onUpdate:modelValue":l[9]||=e=>Q.value=e,type:`text`},null,512),[[m,Q.value]])])],64)):i(``,!0)])]),d(`footer`,P,[d(`button`,{type:`button`,class:`submit`,disabled:V.value,onClick:$},n(V.value?`در حال ثبت...`:`ثبت گزارش و یادآور`),9,F)])]))}}),[[`__scopeId`,`data-v-2708a25b`]]);export{I as default}; \ No newline at end of file diff --git a/dist/assets/OrderDetailView-BG1gJZnJ.js b/dist/assets/OrderDetailView-BuCDMdSf.js similarity index 99% rename from dist/assets/OrderDetailView-BG1gJZnJ.js rename to dist/assets/OrderDetailView-BuCDMdSf.js index 802c3b5..2c562b7 100644 --- a/dist/assets/OrderDetailView-BG1gJZnJ.js +++ b/dist/assets/OrderDetailView-BuCDMdSf.js @@ -1 +1 @@ -import{A as e,C as t,Ct as n,D as r,Et as i,L as a,M as o,N as s,O as c,P as l,R as u,St as d,T as ee,Y as f,Z as p,_ as m,g as te,it as h,j as g,k as ne,mt as _,n as v,rt as y,t as b,tt as x,z as S}from"./BasicIcon-C6boaehV.js";import{n as re}from"./dist-B7sUlTMM.js";import{a as ie,i as C,l as ae,n as w,o as oe,r as T,u as E}from"./format-BHJptHdF.js";import{n as se,t as ce}from"./validation-BD7oi-2I.js";import{d as le,n as D,o as O,p as ue}from"./index-spodxsRN.js";import{n as k}from"./constants-DXXK14Zz.js";import{t as A}from"./IconChevronBack-DORV2H0q.js";import{t as de}from"./FormErrorBanner-CjdBfIQT.js";import{n as j,r as M,t as fe}from"./formErrors-DglFjYkZ.js";import{n as pe,t as N}from"./orderInvoice-B0L1Aeuk.js";import{t as me}from"./BaseInput-qoEXOHCQ.js";import{n as he,t as ge}from"./PersianDateInput-5iA_raeL.js";var P={submitted:0,awaiting_review:1,pricing:2,needs_correction:1,awaiting_settlement:3,awaiting_settlement_fix:3,cash_in_progress:4,cash_invoice_issued:4,awaiting_cash_payment:4,cash_payment_submitted:4,check_in_progress:4,awaiting_cash_confirmation:5,awaiting_check_review:5,check_needs_fix:5,check_rejected:5,checks_approved:6,cash_confirmed:6,final_approved:7,preparing:8,ready_to_ship:9,shipped:10,delivered:11,expired:3,cancelled:0,rejected:1},F={submitted:{variant:`waiting`,title:`پیش‌سفارش ثبت شد`,description:`سفارش شما برای بررسی و قیمت‌گذاری به مدیریت ارسال شد. پس از صدور فاکتور می‌توانید روش تسویه (نقد یا چک) را انتخاب کنید.`},awaiting_review:{variant:`waiting`,title:`در انتظار بررسی مدیریت`,description:`پیش‌سفارش شما در صف بررسی است. پس از قیمت‌گذاری و صدور فاکتور، از طریق همین صفحه برای انتخاب تسویه مطلع می‌شوید.`},pricing:{variant:`waiting`,title:`در حال قیمت‌گذاری`,description:`مدیریت در حال تعیین مبلغ نهایی فاکتور است. تا قبل از صدور فاکتور امکان ثبت چک یا پرداخت وجود ندارد.`},awaiting_settlement:{variant:`info`,title:`فاکتور آماده است`,description:`مبلغ فاکتور مشخص شده. لطفاً روش تسویه را انتخاب کنید و مسیر پرداخت را ادامه دهید.`},awaiting_settlement_fix:{variant:`info`,title:`نیاز به اصلاح تسویه`,description:`لطفاً روش تسویه یا اطلاعات پرداخت را اصلاح کنید.`},cash_invoice_issued:{variant:`info`,title:`فاکتور نقدی صادر شد`,description:`مبلغ را به حساب‌های اعلام‌شده واریز و رسید پرداخت را ثبت کنید.`},awaiting_cash_payment:{variant:`info`,title:`در انتظار پرداخت نقدی`,description:`لطفاً مبلغ فاکتور را واریز و رسید پرداخت را ثبت کنید.`},cash_payment_submitted:{variant:`waiting`,title:`رسید ثبت شد`,description:`رسید پرداخت شما دریافت شد و در صف بررسی مدیریت است.`},awaiting_cash_confirmation:{variant:`waiting`,title:`در انتظار تأیید پرداخت`,description:`رسید پرداخت در حال بررسی است. نتیجه به‌زودی اعلام می‌شود.`},awaiting_check_review:{variant:`waiting`,title:`در حال بررسی چک‌ها`,description:`چک‌های ثبت‌شده در حال بررسی هستند. نتیجه بررسی به‌زودی اعلام می‌شود.`},checks_approved:{variant:`success`,title:`چک‌ها تأیید شده`,description:`چک‌های شما تأیید شد. سفارش در انتظار تأیید نهایی مدیریت است و پس از آن وارد آماده‌سازی می‌شود.`},cash_confirmed:{variant:`success`,title:`پرداخت تأیید شد`,description:`رسید پرداخت شما تأیید شد و سفارش وارد مراحل بعدی می‌شود.`},final_approved:{variant:`success`,title:`تأیید نهایی`,description:`سفارش شما تأیید نهایی شد و آماده آماده‌سازی است.`},preparing:{variant:`info`,title:`در حال آماده‌سازی`,description:`سفارش شما در انبار در حال آماده‌سازی است.`},ready_to_ship:{variant:`info`,title:`آماده ارسال`,description:`سفارش آماده ارسال است و به‌زودی تحویل باربری می‌شود.`},shipped:{variant:`info`,title:`ارسال شده`,description:`سفارش ارسال شده است. جزئیات بارنامه را می‌توانید مشاهده کنید.`},delivered:{variant:`success`,title:`تحویل شده`,description:`سفارش با موفقیت تحویل داده شد.`},expired:{variant:`waiting`,title:`فاکتور منقضی شده`,description:`مهلت پرداخت این فاکتور به پایان رسیده است. برای ادامه با پشتیبانی یا مدیریت هماهنگ کنید.`}};function I(e){return e===`cash`?{payment:`ثبت رسید پرداخت`,review:`بررسی پرداخت نقدی`,approved:`پرداخت تأیید شده`}:e===`check`?{payment:`ثبت چک`,review:`در حال بررسی چک‌ها`,approved:`چک‌ها تأیید شده`}:{payment:`ثبت پرداخت / چک`,review:`بررسی پرداخت / چک`,approved:`تأیید پرداخت`}}function L(e){let t=I(e.settlementType);return k.map(e=>e.status===`check_in_progress`?{...e,label:t.payment}:e.status===`awaiting_check_review`?{...e,label:t.review}:e.status===`checks_approved`?{...e,label:t.approved}:e)}function R(e){return P[e]??0}function _e(e){return F[e]??null}var z={awaiting_settlement:[`awaiting_settlement`,`awaiting_settlement_fix`],check_in_progress:[`check_in_progress`,`cash_in_progress`,`cash_invoice_issued`,`awaiting_cash_payment`,`cash_payment_submitted`],awaiting_check_review:[`awaiting_check_review`,`awaiting_cash_confirmation`,`check_needs_fix`,`check_rejected`],checks_approved:[`checks_approved`,`cash_confirmed`],pricing:[`pricing`]};function B(e,t){if(t===`submitted`)return e.createdAt;let n=z[t]??[t];return[...e.statusHistory].reverse().find(e=>n.includes(e.toStatus))?.changedAt??null}function ve(e){return e===`shipped`?`مشاهده جزئیات و بارنامه`:[`checks_approved`,`cash_confirmed`,`delivered`,`final_approved`].includes(e)?`مشاهده جزئیات`:`مشاهده جزئیات سفارش`}var V={class:`tracking-timeline`},H={class:`tracking-timeline__marker-wrap`},U={class:`tracking-timeline__marker`},W={key:0,class:`tracking-timeline__check`},G={class:`tracking-timeline__label`},K={key:0,class:`tracking-timeline__time`},ye=v(S({__name:`OrderTrackingTimeline`,props:{order:{}},setup(t){let r=t,a=e(()=>L(r.order)),o=e(()=>R(r.order.status));function u(e){return e(f(),l(`div`,V,[(f(!0),l(c,null,p(a.value,(e,r)=>(f(),l(`div`,{key:e.status,class:n([`tracking-timeline__item`,`tracking-timeline__item--${u(r)}`])},[g(`div`,H,[t[0]||=g(`div`,{class:`tracking-timeline__line`,"aria-hidden":`true`},null,-1),g(`div`,U,[u(r)===`done`?(f(),l(`span`,W,`✓`)):s(``,!0)])]),g(`div`,{class:n([`tracking-timeline__content`,{"tracking-timeline__content--current":u(r)===`current`}])},[g(`strong`,G,i(e.label),1),d(e.status)?(f(),l(`span`,K,i(d(e.status)),1)):s(``,!0)],2)],2))),128))]))}}),[[`__scopeId`,`data-v-603b6d66`]]),q={class:`status-hero__icon`,"aria-hidden":`true`},J={class:`status-hero__copy`},Y={class:`status-hero__title`},be={key:0,class:`status-hero__desc`},xe=v(S({__name:`OrderStatusHero`,props:{config:{}},setup(e){let t={waiting:`vuesax-linear:timer-1`,success:`vuesax-linear:tick-circle`,info:`vuesax-linear:info-circle`,none:`vuesax-linear:info-circle`};return(r,a)=>e.config.variant===`none`?s(``,!0):(f(),l(`div`,{key:0,class:n([`status-hero`,`status-hero--${e.config.variant}`])},[g(`div`,q,[u(b,{icon:t[e.config.variant],size:28,"stroke-width":1.5},null,8,[`icon`])]),g(`div`,J,[g(`h2`,Y,i(e.config.title),1),e.config.description?(f(),l(`p`,be,i(e.config.description),1)):s(``,!0)])],2))}}),[[`__scopeId`,`data-v-896684d9`]]),Se={class:`tracking-summary`},X={class:`tracking-summary__row`},Z={class:`tracking-summary__row`},Q={class:`tracking-summary__row`},$={class:`tracking-summary__row`},Ce={key:0,class:`tracking-summary__row`},we={key:1,class:`tracking-summary__row`},Te=v(S({__name:`OrderTrackingSummary`,props:{order:{}},setup(t){let n=t,r=e(()=>n.order.checks?.reduce((e,t)=>e+t.amount,0)??0);function a(e){return e?e===`cash`?`تسویه نقدی`:`تسویه چکی`:`در انتظار انتخاب مشتری`}return(e,n)=>(f(),l(`div`,Se,[g(`div`,X,[n[0]||=g(`span`,null,`مبلغ فاکتور`,-1),g(`strong`,null,i(t.order.finalAmount?d(oe)(t.order.finalAmount):`در انتظار قیمت‌گذاری`),1)]),g(`div`,Z,[n[1]||=g(`span`,null,`نوع تسویه`,-1),g(`strong`,null,i(a(t.order.settlementType)),1)]),t.order.settlementType===`check`&&t.order.checks?.length?(f(),l(c,{key:0},[g(`div`,Q,[n[2]||=g(`span`,null,`تعداد چک‌ها`,-1),g(`strong`,null,i(d(E)(String(t.order.checks.length)))+` فقره`,1)]),g(`div`,$,[n[3]||=g(`span`,null,`مجموع مبلغ چک‌ها`,-1),g(`strong`,null,i(d(w)(r.value)),1)]),t.order.checkRassDays==null?s(``,!0):(f(),l(`div`,Ce,[n[4]||=g(`span`,null,`رأس چک (تقریبی)`,-1),g(`strong`,null,i(d(E)(String(t.order.checkRassDays)))+` روز`,1)]))],64)):s(``,!0),t.order.settlementType===`cash`&&t.order.cashReceipt?(f(),l(`div`,we,[n[5]||=g(`span`,null,`مبلغ واریزی`,-1),g(`strong`,null,i(d(w)(t.order.cashReceipt.amount)),1)])):s(``,!0)]))}}),[[`__scopeId`,`data-v-b22cc5d6`]]),Ee={key:0,class:`order-detail-page`},De={class:`order-detail-page__nav mobile-only`},Oe={class:`order-detail-page__nav-center`},ke={class:`order-detail-page__title`},Ae={key:0,class:`order-detail-page__order-id`},je={type:`button`,class:`nav-btn nav-btn--ghost`,"aria-hidden":`true`,tabindex:`-1`},Me={class:`desktop-page__head desktop-only order-detail-page__desktop-head`},Ne={class:`desktop-page__subtitle`},Pe={class:`order-detail-page__body`},Fe={key:0,class:`order-info-card mobile-only`},Ie={class:`order-info-card__head`},Le={class:`order-info-card__number`},Re={class:`order-info-card__row`},ze={class:`order-info-card__value order-info-card__value--accent`},Be={class:`order-info-card__row`},Ve={class:`order-info-card__value order-info-card__value--accent`},He={class:`order-info-card__row`},Ue={class:`order-info-card__value order-info-card__value--accent`},We={class:`order-info-card__row order-info-card__row--last`},Ge={class:`order-info-card__amount`},Ke={key:1,class:`order-next-action`},qe={key:2,class:`order-detail-page__tracking`},Je={class:`order-detail-page__tracking-hero`},Ye={class:`tracking-card tracking-card--hero`},Xe={class:`order-detail-page__tracking-main`},Ze={key:0,class:`order-next-action`},Qe={class:`tracking-card tracking-collapse`},$e=[`aria-expanded`],et={class:`tracking-collapse__body`},tt={class:`tracking-collapse__section tracking-collapse__section--flush`},nt={class:`tracking-card tracking-collapse`},rt=[`aria-expanded`],it={class:`tracking-collapse__body`},at={class:`tracking-collapse__section`},ot={class:`item-row__meta`},st={class:`item-row item-row--summary`},ct={key:0,class:`tracking-alert`},lt={class:`tracking-collapse__section`},ut={dir:`ltr`,class:`bank-row__meta`},dt={dir:`ltr`,class:`bank-row__meta`},ft={key:2,class:`tracking-collapse__section`},pt={class:`detail-row`},mt={class:`detail-row`},ht={class:`tracking-collapse__section`},gt={class:`rass-display`},_t={key:0,class:`rass-date`},vt={class:`detail-row`},yt={class:`detail-row`},bt=[`src`],xt={key:0,class:`order-detail-page__footer mobile-only`},St={class:`receipt-modal card`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`receipt-modal-title`},Ct={class:`receipt-modal__header`},wt={class:`receipt-modal__body`},Tt={class:`form-group`},Et=[`value`],Dt={key:0,class:`input-error-text`},Ot={class:`form-group`},kt=[`src`],At={key:1,class:`upload-box__placeholder`},jt={key:0,class:`input-error-text`},Mt={key:1,class:`page empty-state`},Nt=v(S({__name:`OrderDetailView`,setup(v){let b=te(),S=m(),E=le(),k=re(`(min-width: 768px)`),P=e(()=>b.params.id),F=e(()=>E.getOrderById(P.value)),I=_(b.query.track===`1`||b.query.receipt===`1`),L=_(!1),R=_(!0),z=_(b.query.receipt===`1`),B=_(``),V=_(``),H=_(``),U=_(``),W=_(``),G=_(``),K=_({}),q=_(``);x([F,()=>b.query.receipt],([e])=>{let t=b.query.receipt===`1`;if(t&&N(e)){L.value=!0,z.value=!0;return}if(t&&e&&!N(e)){L.value=!1;let{receipt:e,...t}=b.query;S.replace({query:{...t,track:`1`}})}},{immediate:!0}),x(k,e=>{e&&(I.value=!0,R.value=!0,z.value=!0,b.query.track!==`1`&&b.query.receipt!==`1`&&S.replace({query:{...b.query,track:`1`}}))},{immediate:!0}),x(B,()=>{K.value=j(K.value,`receiptAmount`),M(K.value)||(q.value=``)}),x(V,()=>{K.value=j(K.value,`receiptDate`),M(K.value)||(q.value=``)}),x(U,()=>{K.value=j(K.value,`trackingNumber`),M(K.value)||(q.value=``)}),x(W,()=>{K.value=j(K.value,`destinationAccountId`),M(K.value)||(q.value=``)});let J=_([]);x(()=>F.value?.id,async e=>{if(!e||!F.value){J.value=[];return}try{J.value=await E.getBankAccountsForOrder(F.value)}catch{J.value=[]}},{immediate:!0}),x(()=>P.value,async e=>{if(e&&!E.getOrderById(e))try{await E.fetchOrder(e)}catch{}},{immediate:!0});let Y=e(()=>F.value?_e(F.value.status):null),be=e(()=>F.value?ve(F.value.status):`مشاهده جزئیات سفارش`);function Se(e){return e?e===`cash`?`تسویه نقدی`:`تسویه چکی`:`در انتظار انتخاب مشتری`}let X=e(()=>{let e=F.value;if(!e)return null;let t=pe(e);switch(e.status){case`awaiting_settlement`:case`awaiting_settlement_fix`:return t?{label:`انتخاب روش تسویه`,to:`/orders/${e.id}/settlement`}:null;case`check_in_progress`:return t?{label:`ثبت چک‌ها`,to:`/orders/${e.id}/check-mode`}:null;case`check_needs_fix`:case`check_rejected`:return t?{label:`اصلاح چک‌ها`,to:`/orders/${e.id}/check-list`}:null;case`awaiting_cash_payment`:case`cash_invoice_issued`:return t?{label:`ثبت رسید پرداخت`,receipt:!0}:null;default:return null}});function Z(){if(!N(F.value)){q.value=`در وضعیت فعلی سفارش امکان ثبت رسید وجود ندارد`;return}I.value=!0,z.value=!0,L.value=!0}function Q(){let e=X.value;if(e){if(e.receipt){Z();return}e.to&&S.push(e.to)}}function $(){I.value=!0,z.value=!1,S.replace({query:{track:`1`}})}function Ce(){z.value=!z.value}function we(){R.value=!R.value}async function Nt(e){let t=e.target.files?.[0];if(!t)return;let n=se(t);if(!n.valid){K.value={...K.value,receiptImage:n.message??`خطا`};return}K.value=j(K.value,`receiptImage`),G.value=await ce(t)}async function Pt(){if(!F.value)return;if(K.value={},q.value=``,!N(F.value)){q.value=`در وضعیت فعلی سفارش امکان ثبت رسید وجود ندارد`;return}let e=ae(B.value),t={};if(e||(t.receiptAmount=`مبلغ واریزی الزامی است.`),V.value||(t.receiptDate=`تاریخ واریز الزامی است.`),U.value.trim()||(t.trackingNumber=`شماره پیگیری الزامی است.`),W.value||(t.destinationAccountId=`حساب مقصد را انتخاب کنید.`),M(t)){K.value=t,q.value=fe;return}try{await E.submitCashReceipt(F.value.id,{amount:e,transferDate:V.value,transferTime:H.value||`12:00`,trackingNumber:U.value,destinationAccountId:W.value,receiptImage:G.value||void 0}),L.value=!1,K.value={},q.value=``}catch(e){q.value=e instanceof Error?e.message:`ثبت رسید ناموفق بود.`}}return(e,m)=>F.value?(f(),l(`div`,Ee,[g(`header`,De,[g(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:m[0]||=e=>d(S).push(`/orders`)},[u(A,{size:20})]),g(`div`,Oe,[g(`h1`,ke,i(I.value?`پیگیری سفارش`:`جزئیات سفارش`),1),I.value?(f(),l(`p`,Ae,i(F.value.orderNumber),1)):s(``,!0)]),g(`button`,je,[u(A,{size:18,class:`nav-btn__flip`})])]),g(`header`,Me,[g(`button`,{type:`button`,class:`order-detail-back`,onClick:m[1]||=e=>d(S).push(`/orders`)},[u(A,{size:18}),m[10]||=a(` بازگشت به سفارش‌ها `,-1)]),m[11]||=g(`h1`,{class:`desktop-page__title`},`پیگیری سفارش`,-1),g(`p`,Ne,i(F.value.orderNumber)+` · `+i(F.value.companyName),1)]),g(`div`,Pe,[I.value?s(``,!0):(f(),l(`div`,Fe,[g(`div`,Ie,[m[12]||=g(`span`,{class:`order-info-card__label`},`شماره سفارش`,-1),g(`strong`,Le,i(F.value.orderNumber),1)]),g(`div`,Re,[m[13]||=g(`span`,{class:`order-info-card__key`},`شرکت`,-1),g(`span`,ze,i(F.value.companyName),1)]),g(`div`,Be,[m[14]||=g(`span`,{class:`order-info-card__key`},`تاریخ ثبت`,-1),g(`span`,Ve,i(d(C)(F.value.createdAt)),1)]),g(`div`,He,[m[15]||=g(`span`,{class:`order-info-card__key`},`نوع تسویه`,-1),g(`span`,Ue,i(Se(F.value.settlementType)),1)]),g(`div`,We,[m[16]||=g(`span`,{class:`order-info-card__key`},`مبلغ فاکتور`,-1),g(`strong`,Ge,i(F.value.finalAmount?d(oe)(F.value.finalAmount):`پس از قیمت‌گذاری مدیریت`),1)])])),X.value&&!I.value?(f(),l(`div`,Ke,[m[17]||=g(`span`,{class:`order-next-action__text`},`برای ادامه سفارش، این مرحله باقی مانده است.`,-1),u(D,{class:`order-next-action__btn`,onClick:Q},{default:y(()=>[a(i(X.value.label),1)]),_:1})])):s(``,!0),I.value?(f(),l(`div`,qe,[g(`section`,Je,[g(`div`,Ye,[Y.value?(f(),o(xe,{key:0,config:Y.value},null,8,[`config`])):s(``,!0),u(Te,{order:F.value},null,8,[`order`])])]),g(`section`,Xe,[X.value?(f(),l(`div`,Ze,[m[18]||=g(`span`,{class:`order-next-action__text`},`برای ادامه سفارش، این مرحله باقی مانده است.`,-1),u(D,{class:`order-next-action__btn`,onClick:Q},{default:y(()=>[a(i(X.value.label),1)]),_:1})])):s(``,!0),g(`div`,Qe,[g(`button`,{type:`button`,class:`tracking-collapse__trigger`,"aria-expanded":R.value,onClick:we},[m[19]||=g(`span`,null,`پیگیری وضعیت`,-1),u(O,{size:18,class:n([`tracking-collapse__chevron`,{"tracking-collapse__chevron--open":R.value}]),"aria-hidden":`true`},null,8,[`class`])],8,$e),h(g(`div`,et,[g(`div`,tt,[u(ye,{order:F.value},null,8,[`order`])])],512),[[ee,R.value]])]),g(`div`,nt,[g(`button`,{type:`button`,class:`tracking-collapse__trigger`,"aria-expanded":z.value,onClick:Ce},[g(`span`,null,i(be.value),1),u(O,{size:18,class:n([`tracking-collapse__chevron`,{"tracking-collapse__chevron--open":z.value}]),"aria-hidden":`true`},null,8,[`class`])],8,rt),h(g(`div`,it,[g(`div`,at,[m[21]||=g(`h3`,{class:`tracking-card__title`},`اقلام سفارش`,-1),(f(!0),l(c,null,p(F.value.items,e=>(f(),l(`div`,{key:e.id,class:`item-row`},[g(`div`,null,[g(`strong`,null,i(e.productName),1),g(`p`,ot,`کالیته `+i(e.catalogCode)+` · `+i(e.color),1)]),g(`span`,null,i(d(ie)(e.requestedMeterage)),1)]))),128)),g(`div`,st,[m[20]||=g(`span`,null,`مجموع متراژ`,-1),g(`strong`,null,i(d(ie)(F.value.totalMeterage)),1)])]),F.value.settlementType===`cash`?(f(),l(c,{key:0},[F.value.cashInvoiceExpiresAt?(f(),l(`div`,ct,` اعتبار فاکتور: `+i(d(C)(F.value.cashInvoiceExpiresAt)),1)):s(``,!0),g(`div`,lt,[m[22]||=g(`h3`,{class:`tracking-card__title`},`حساب‌های بانکی`,-1),(f(!0),l(c,null,p(J.value,e=>(f(),l(`div`,{key:e.id,class:`bank-row`},[g(`strong`,null,i(e.bankName),1),g(`p`,ut,i(e.cardNumber),1),g(`p`,dt,i(e.iban),1)]))),128))]),X.value?.receipt?(f(),o(D,{key:1,block:``,onClick:Z},{default:y(()=>[a(i(F.value.cashReceipt?`ثبت رسید جدید`:`ثبت رسید پرداخت`),1)]),_:1})):s(``,!0),F.value.cashReceipt?(f(),l(`div`,ft,[m[25]||=g(`h3`,{class:`tracking-card__title`},`رسید ثبت‌شده`,-1),g(`div`,pt,[m[23]||=g(`span`,null,`مبلغ`,-1),g(`span`,null,i(d(w)(F.value.cashReceipt.amount)),1)]),g(`div`,mt,[m[24]||=g(`span`,null,`شماره پیگیری`,-1),g(`span`,null,i(F.value.cashReceipt.trackingNumber),1)])])):s(``,!0)],64)):s(``,!0),F.value.settlementType===`check`&&F.value.checks?(f(),l(c,{key:1},[g(`div`,ht,[m[26]||=g(`h3`,{class:`tracking-card__title`},`رأس چک‌ها`,-1),g(`div`,gt,i(F.value.checkRassDays)+` روز`,1),F.value.checkRassDate?(f(),l(`p`,_t,` تاریخ رأس: `+i(d(T)(F.value.checkRassDate)),1)):s(``,!0)]),(f(!0),l(c,null,p(F.value.checks,(e,t)=>(f(),l(`div`,{key:e.id,class:`tracking-collapse__section`},[g(`strong`,null,`چک `+i(t+1),1),g(`div`,vt,[m[27]||=g(`span`,null,`مبلغ`,-1),g(`span`,null,i(d(w)(e.amount)),1)]),g(`div`,yt,[m[28]||=g(`span`,null,`سررسید`,-1),g(`span`,null,i(d(T)(e.dueDate))+` (`+i(d(ue)(e.dueDate))+` روز)`,1)]),e.frontImage?(f(),l(`img`,{key:0,src:e.frontImage,class:`check-img`,alt:`چک`},null,8,bt)):s(``,!0)]))),128))],64)):s(``,!0)],512),[[ee,z.value]])])])])):s(``,!0)]),I.value?s(``,!0):(f(),l(`div`,xt,[u(D,{block:``,onClick:$},{default:y(()=>[...m[29]||=[a(`مشاهده جزئیات و پیگیری`,-1)]]),_:1})])),(f(),o(ne,{to:`body`},[L.value?(f(),l(`div`,{key:0,class:`receipt-modal-overlay`,onClick:m[8]||=r(e=>L.value=!1,[`self`])},[g(`div`,St,[g(`header`,Ct,[m[30]||=g(`h3`,{id:`receipt-modal-title`,class:`receipt-modal__title`},`ثبت رسید پرداخت`,-1),g(`button`,{type:`button`,class:`receipt-modal__close`,"aria-label":`بستن`,onClick:m[2]||=e=>L.value=!1},` × `)]),g(`div`,wt,[u(de,{message:q.value},null,8,[`message`]),u(he,{modelValue:B.value,"onUpdate:modelValue":m[3]||=e=>B.value=e,label:`مبلغ واریزی`,error:K.value.receiptAmount},null,8,[`modelValue`,`error`]),u(ge,{modelValue:V.value,"onUpdate:modelValue":m[4]||=e=>V.value=e,label:`تاریخ واریز`,error:K.value.receiptDate},null,8,[`modelValue`,`error`]),u(me,{modelValue:H.value,"onUpdate:modelValue":m[5]||=e=>H.value=e,label:`ساعت واریز`,type:`time`},null,8,[`modelValue`]),u(me,{modelValue:U.value,"onUpdate:modelValue":m[6]||=e=>U.value=e,label:`شماره پیگیری`,inputmode:`numeric`,dir:`ltr`,error:K.value.trackingNumber},null,8,[`modelValue`,`error`]),g(`div`,Tt,[m[32]||=g(`label`,{class:`form-label`},`حساب مقصد`,-1),h(g(`select`,{"onUpdate:modelValue":m[7]||=e=>W.value=e,class:n([`select-input`,{"select-input--error":K.value.destinationAccountId}])},[m[31]||=g(`option`,{value:``},`انتخاب کنید`,-1),(f(!0),l(c,null,p(J.value,e=>(f(),l(`option`,{key:e.id,value:e.id},i(e.bankName)+` - `+i(e.cardNumber),9,Et))),128))],2),[[t,W.value]]),K.value.destinationAccountId?(f(),l(`p`,Dt,i(K.value.destinationAccountId),1)):s(``,!0)]),g(`div`,Ot,[m[33]||=g(`label`,{class:`form-label`},`تصویر رسید`,-1),g(`label`,{class:n([`upload-box`,{"upload-box--error":K.value.receiptImage}])},[g(`input`,{type:`file`,accept:`image/*`,class:`upload-box__input`,onChange:Nt},null,32),G.value?(f(),l(`img`,{key:0,src:G.value,class:`upload-box__preview`,alt:`تصویر رسید`},null,8,kt)):(f(),l(`span`,At,`انتخاب تصویر رسید`))],2),K.value.receiptImage?(f(),l(`p`,jt,i(K.value.receiptImage),1)):s(``,!0)]),u(D,{block:``,class:`mt-4`,onClick:Pt},{default:y(()=>[...m[34]||=[a(`ثبت رسید`,-1)]]),_:1})])])])):s(``,!0)]))])):(f(),l(`div`,Mt,[m[36]||=g(`p`,null,`سفارش یافت نشد`,-1),u(D,{onClick:m[9]||=e=>d(S).push(`/orders`)},{default:y(()=>[...m[35]||=[a(`بازگشت`,-1)]]),_:1})]))}}),[[`__scopeId`,`data-v-7d9d2f9d`]]);export{Nt as default}; \ No newline at end of file +import{A as e,C as t,Ct as n,D as r,Et as i,L as a,M as o,N as s,O as c,P as l,R as u,St as d,T as ee,Y as f,Z as p,_ as m,g as te,it as h,j as g,k as ne,mt as _,n as v,rt as y,t as b,tt as x,z as S}from"./BasicIcon-C6boaehV.js";import{n as re}from"./dist-B7sUlTMM.js";import{a as ie,i as C,l as ae,n as w,o as oe,r as T,u as E}from"./format-BHJptHdF.js";import{n as se,t as ce}from"./validation-BD7oi-2I.js";import{d as le,n as D,o as O,p as ue}from"./index-B6MlTGUp.js";import{n as k}from"./constants-DXXK14Zz.js";import{t as A}from"./IconChevronBack-DORV2H0q.js";import{t as de}from"./FormErrorBanner-CjdBfIQT.js";import{n as j,r as M,t as fe}from"./formErrors-DglFjYkZ.js";import{n as pe,t as N}from"./orderInvoice-B0L1Aeuk.js";import{t as me}from"./BaseInput-qoEXOHCQ.js";import{n as he,t as ge}from"./PersianDateInput-5iA_raeL.js";var P={submitted:0,awaiting_review:1,pricing:2,needs_correction:1,awaiting_settlement:3,awaiting_settlement_fix:3,cash_in_progress:4,cash_invoice_issued:4,awaiting_cash_payment:4,cash_payment_submitted:4,check_in_progress:4,awaiting_cash_confirmation:5,awaiting_check_review:5,check_needs_fix:5,check_rejected:5,checks_approved:6,cash_confirmed:6,final_approved:7,preparing:8,ready_to_ship:9,shipped:10,delivered:11,expired:3,cancelled:0,rejected:1},F={submitted:{variant:`waiting`,title:`پیش‌سفارش ثبت شد`,description:`سفارش شما برای بررسی و قیمت‌گذاری به مدیریت ارسال شد. پس از صدور فاکتور می‌توانید روش تسویه (نقد یا چک) را انتخاب کنید.`},awaiting_review:{variant:`waiting`,title:`در انتظار بررسی مدیریت`,description:`پیش‌سفارش شما در صف بررسی است. پس از قیمت‌گذاری و صدور فاکتور، از طریق همین صفحه برای انتخاب تسویه مطلع می‌شوید.`},pricing:{variant:`waiting`,title:`در حال قیمت‌گذاری`,description:`مدیریت در حال تعیین مبلغ نهایی فاکتور است. تا قبل از صدور فاکتور امکان ثبت چک یا پرداخت وجود ندارد.`},awaiting_settlement:{variant:`info`,title:`فاکتور آماده است`,description:`مبلغ فاکتور مشخص شده. لطفاً روش تسویه را انتخاب کنید و مسیر پرداخت را ادامه دهید.`},awaiting_settlement_fix:{variant:`info`,title:`نیاز به اصلاح تسویه`,description:`لطفاً روش تسویه یا اطلاعات پرداخت را اصلاح کنید.`},cash_invoice_issued:{variant:`info`,title:`فاکتور نقدی صادر شد`,description:`مبلغ را به حساب‌های اعلام‌شده واریز و رسید پرداخت را ثبت کنید.`},awaiting_cash_payment:{variant:`info`,title:`در انتظار پرداخت نقدی`,description:`لطفاً مبلغ فاکتور را واریز و رسید پرداخت را ثبت کنید.`},cash_payment_submitted:{variant:`waiting`,title:`رسید ثبت شد`,description:`رسید پرداخت شما دریافت شد و در صف بررسی مدیریت است.`},awaiting_cash_confirmation:{variant:`waiting`,title:`در انتظار تأیید پرداخت`,description:`رسید پرداخت در حال بررسی است. نتیجه به‌زودی اعلام می‌شود.`},awaiting_check_review:{variant:`waiting`,title:`در حال بررسی چک‌ها`,description:`چک‌های ثبت‌شده در حال بررسی هستند. نتیجه بررسی به‌زودی اعلام می‌شود.`},checks_approved:{variant:`success`,title:`چک‌ها تأیید شده`,description:`چک‌های شما تأیید شد. سفارش در انتظار تأیید نهایی مدیریت است و پس از آن وارد آماده‌سازی می‌شود.`},cash_confirmed:{variant:`success`,title:`پرداخت تأیید شد`,description:`رسید پرداخت شما تأیید شد و سفارش وارد مراحل بعدی می‌شود.`},final_approved:{variant:`success`,title:`تأیید نهایی`,description:`سفارش شما تأیید نهایی شد و آماده آماده‌سازی است.`},preparing:{variant:`info`,title:`در حال آماده‌سازی`,description:`سفارش شما در انبار در حال آماده‌سازی است.`},ready_to_ship:{variant:`info`,title:`آماده ارسال`,description:`سفارش آماده ارسال است و به‌زودی تحویل باربری می‌شود.`},shipped:{variant:`info`,title:`ارسال شده`,description:`سفارش ارسال شده است. جزئیات بارنامه را می‌توانید مشاهده کنید.`},delivered:{variant:`success`,title:`تحویل شده`,description:`سفارش با موفقیت تحویل داده شد.`},expired:{variant:`waiting`,title:`فاکتور منقضی شده`,description:`مهلت پرداخت این فاکتور به پایان رسیده است. برای ادامه با پشتیبانی یا مدیریت هماهنگ کنید.`}};function I(e){return e===`cash`?{payment:`ثبت رسید پرداخت`,review:`بررسی پرداخت نقدی`,approved:`پرداخت تأیید شده`}:e===`check`?{payment:`ثبت چک`,review:`در حال بررسی چک‌ها`,approved:`چک‌ها تأیید شده`}:{payment:`ثبت پرداخت / چک`,review:`بررسی پرداخت / چک`,approved:`تأیید پرداخت`}}function L(e){let t=I(e.settlementType);return k.map(e=>e.status===`check_in_progress`?{...e,label:t.payment}:e.status===`awaiting_check_review`?{...e,label:t.review}:e.status===`checks_approved`?{...e,label:t.approved}:e)}function R(e){return P[e]??0}function _e(e){return F[e]??null}var z={awaiting_settlement:[`awaiting_settlement`,`awaiting_settlement_fix`],check_in_progress:[`check_in_progress`,`cash_in_progress`,`cash_invoice_issued`,`awaiting_cash_payment`,`cash_payment_submitted`],awaiting_check_review:[`awaiting_check_review`,`awaiting_cash_confirmation`,`check_needs_fix`,`check_rejected`],checks_approved:[`checks_approved`,`cash_confirmed`],pricing:[`pricing`]};function B(e,t){if(t===`submitted`)return e.createdAt;let n=z[t]??[t];return[...e.statusHistory].reverse().find(e=>n.includes(e.toStatus))?.changedAt??null}function ve(e){return e===`shipped`?`مشاهده جزئیات و بارنامه`:[`checks_approved`,`cash_confirmed`,`delivered`,`final_approved`].includes(e)?`مشاهده جزئیات`:`مشاهده جزئیات سفارش`}var V={class:`tracking-timeline`},H={class:`tracking-timeline__marker-wrap`},U={class:`tracking-timeline__marker`},W={key:0,class:`tracking-timeline__check`},G={class:`tracking-timeline__label`},K={key:0,class:`tracking-timeline__time`},ye=v(S({__name:`OrderTrackingTimeline`,props:{order:{}},setup(t){let r=t,a=e(()=>L(r.order)),o=e(()=>R(r.order.status));function u(e){return e(f(),l(`div`,V,[(f(!0),l(c,null,p(a.value,(e,r)=>(f(),l(`div`,{key:e.status,class:n([`tracking-timeline__item`,`tracking-timeline__item--${u(r)}`])},[g(`div`,H,[t[0]||=g(`div`,{class:`tracking-timeline__line`,"aria-hidden":`true`},null,-1),g(`div`,U,[u(r)===`done`?(f(),l(`span`,W,`✓`)):s(``,!0)])]),g(`div`,{class:n([`tracking-timeline__content`,{"tracking-timeline__content--current":u(r)===`current`}])},[g(`strong`,G,i(e.label),1),d(e.status)?(f(),l(`span`,K,i(d(e.status)),1)):s(``,!0)],2)],2))),128))]))}}),[[`__scopeId`,`data-v-603b6d66`]]),q={class:`status-hero__icon`,"aria-hidden":`true`},J={class:`status-hero__copy`},Y={class:`status-hero__title`},be={key:0,class:`status-hero__desc`},xe=v(S({__name:`OrderStatusHero`,props:{config:{}},setup(e){let t={waiting:`vuesax-linear:timer-1`,success:`vuesax-linear:tick-circle`,info:`vuesax-linear:info-circle`,none:`vuesax-linear:info-circle`};return(r,a)=>e.config.variant===`none`?s(``,!0):(f(),l(`div`,{key:0,class:n([`status-hero`,`status-hero--${e.config.variant}`])},[g(`div`,q,[u(b,{icon:t[e.config.variant],size:28,"stroke-width":1.5},null,8,[`icon`])]),g(`div`,J,[g(`h2`,Y,i(e.config.title),1),e.config.description?(f(),l(`p`,be,i(e.config.description),1)):s(``,!0)])],2))}}),[[`__scopeId`,`data-v-896684d9`]]),Se={class:`tracking-summary`},X={class:`tracking-summary__row`},Z={class:`tracking-summary__row`},Q={class:`tracking-summary__row`},$={class:`tracking-summary__row`},Ce={key:0,class:`tracking-summary__row`},we={key:1,class:`tracking-summary__row`},Te=v(S({__name:`OrderTrackingSummary`,props:{order:{}},setup(t){let n=t,r=e(()=>n.order.checks?.reduce((e,t)=>e+t.amount,0)??0);function a(e){return e?e===`cash`?`تسویه نقدی`:`تسویه چکی`:`در انتظار انتخاب مشتری`}return(e,n)=>(f(),l(`div`,Se,[g(`div`,X,[n[0]||=g(`span`,null,`مبلغ فاکتور`,-1),g(`strong`,null,i(t.order.finalAmount?d(oe)(t.order.finalAmount):`در انتظار قیمت‌گذاری`),1)]),g(`div`,Z,[n[1]||=g(`span`,null,`نوع تسویه`,-1),g(`strong`,null,i(a(t.order.settlementType)),1)]),t.order.settlementType===`check`&&t.order.checks?.length?(f(),l(c,{key:0},[g(`div`,Q,[n[2]||=g(`span`,null,`تعداد چک‌ها`,-1),g(`strong`,null,i(d(E)(String(t.order.checks.length)))+` فقره`,1)]),g(`div`,$,[n[3]||=g(`span`,null,`مجموع مبلغ چک‌ها`,-1),g(`strong`,null,i(d(w)(r.value)),1)]),t.order.checkRassDays==null?s(``,!0):(f(),l(`div`,Ce,[n[4]||=g(`span`,null,`رأس چک (تقریبی)`,-1),g(`strong`,null,i(d(E)(String(t.order.checkRassDays)))+` روز`,1)]))],64)):s(``,!0),t.order.settlementType===`cash`&&t.order.cashReceipt?(f(),l(`div`,we,[n[5]||=g(`span`,null,`مبلغ واریزی`,-1),g(`strong`,null,i(d(w)(t.order.cashReceipt.amount)),1)])):s(``,!0)]))}}),[[`__scopeId`,`data-v-b22cc5d6`]]),Ee={key:0,class:`order-detail-page`},De={class:`order-detail-page__nav mobile-only`},Oe={class:`order-detail-page__nav-center`},ke={class:`order-detail-page__title`},Ae={key:0,class:`order-detail-page__order-id`},je={type:`button`,class:`nav-btn nav-btn--ghost`,"aria-hidden":`true`,tabindex:`-1`},Me={class:`desktop-page__head desktop-only order-detail-page__desktop-head`},Ne={class:`desktop-page__subtitle`},Pe={class:`order-detail-page__body`},Fe={key:0,class:`order-info-card mobile-only`},Ie={class:`order-info-card__head`},Le={class:`order-info-card__number`},Re={class:`order-info-card__row`},ze={class:`order-info-card__value order-info-card__value--accent`},Be={class:`order-info-card__row`},Ve={class:`order-info-card__value order-info-card__value--accent`},He={class:`order-info-card__row`},Ue={class:`order-info-card__value order-info-card__value--accent`},We={class:`order-info-card__row order-info-card__row--last`},Ge={class:`order-info-card__amount`},Ke={key:1,class:`order-next-action`},qe={key:2,class:`order-detail-page__tracking`},Je={class:`order-detail-page__tracking-hero`},Ye={class:`tracking-card tracking-card--hero`},Xe={class:`order-detail-page__tracking-main`},Ze={key:0,class:`order-next-action`},Qe={class:`tracking-card tracking-collapse`},$e=[`aria-expanded`],et={class:`tracking-collapse__body`},tt={class:`tracking-collapse__section tracking-collapse__section--flush`},nt={class:`tracking-card tracking-collapse`},rt=[`aria-expanded`],it={class:`tracking-collapse__body`},at={class:`tracking-collapse__section`},ot={class:`item-row__meta`},st={class:`item-row item-row--summary`},ct={key:0,class:`tracking-alert`},lt={class:`tracking-collapse__section`},ut={dir:`ltr`,class:`bank-row__meta`},dt={dir:`ltr`,class:`bank-row__meta`},ft={key:2,class:`tracking-collapse__section`},pt={class:`detail-row`},mt={class:`detail-row`},ht={class:`tracking-collapse__section`},gt={class:`rass-display`},_t={key:0,class:`rass-date`},vt={class:`detail-row`},yt={class:`detail-row`},bt=[`src`],xt={key:0,class:`order-detail-page__footer mobile-only`},St={class:`receipt-modal card`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`receipt-modal-title`},Ct={class:`receipt-modal__header`},wt={class:`receipt-modal__body`},Tt={class:`form-group`},Et=[`value`],Dt={key:0,class:`input-error-text`},Ot={class:`form-group`},kt=[`src`],At={key:1,class:`upload-box__placeholder`},jt={key:0,class:`input-error-text`},Mt={key:1,class:`page empty-state`},Nt=v(S({__name:`OrderDetailView`,setup(v){let b=te(),S=m(),E=le(),k=re(`(min-width: 768px)`),P=e(()=>b.params.id),F=e(()=>E.getOrderById(P.value)),I=_(b.query.track===`1`||b.query.receipt===`1`),L=_(!1),R=_(!0),z=_(b.query.receipt===`1`),B=_(``),V=_(``),H=_(``),U=_(``),W=_(``),G=_(``),K=_({}),q=_(``);x([F,()=>b.query.receipt],([e])=>{let t=b.query.receipt===`1`;if(t&&N(e)){L.value=!0,z.value=!0;return}if(t&&e&&!N(e)){L.value=!1;let{receipt:e,...t}=b.query;S.replace({query:{...t,track:`1`}})}},{immediate:!0}),x(k,e=>{e&&(I.value=!0,R.value=!0,z.value=!0,b.query.track!==`1`&&b.query.receipt!==`1`&&S.replace({query:{...b.query,track:`1`}}))},{immediate:!0}),x(B,()=>{K.value=j(K.value,`receiptAmount`),M(K.value)||(q.value=``)}),x(V,()=>{K.value=j(K.value,`receiptDate`),M(K.value)||(q.value=``)}),x(U,()=>{K.value=j(K.value,`trackingNumber`),M(K.value)||(q.value=``)}),x(W,()=>{K.value=j(K.value,`destinationAccountId`),M(K.value)||(q.value=``)});let J=_([]);x(()=>F.value?.id,async e=>{if(!e||!F.value){J.value=[];return}try{J.value=await E.getBankAccountsForOrder(F.value)}catch{J.value=[]}},{immediate:!0}),x(()=>P.value,async e=>{if(e&&!E.getOrderById(e))try{await E.fetchOrder(e)}catch{}},{immediate:!0});let Y=e(()=>F.value?_e(F.value.status):null),be=e(()=>F.value?ve(F.value.status):`مشاهده جزئیات سفارش`);function Se(e){return e?e===`cash`?`تسویه نقدی`:`تسویه چکی`:`در انتظار انتخاب مشتری`}let X=e(()=>{let e=F.value;if(!e)return null;let t=pe(e);switch(e.status){case`awaiting_settlement`:case`awaiting_settlement_fix`:return t?{label:`انتخاب روش تسویه`,to:`/orders/${e.id}/settlement`}:null;case`check_in_progress`:return t?{label:`ثبت چک‌ها`,to:`/orders/${e.id}/check-mode`}:null;case`check_needs_fix`:case`check_rejected`:return t?{label:`اصلاح چک‌ها`,to:`/orders/${e.id}/check-list`}:null;case`awaiting_cash_payment`:case`cash_invoice_issued`:return t?{label:`ثبت رسید پرداخت`,receipt:!0}:null;default:return null}});function Z(){if(!N(F.value)){q.value=`در وضعیت فعلی سفارش امکان ثبت رسید وجود ندارد`;return}I.value=!0,z.value=!0,L.value=!0}function Q(){let e=X.value;if(e){if(e.receipt){Z();return}e.to&&S.push(e.to)}}function $(){I.value=!0,z.value=!1,S.replace({query:{track:`1`}})}function Ce(){z.value=!z.value}function we(){R.value=!R.value}async function Nt(e){let t=e.target.files?.[0];if(!t)return;let n=se(t);if(!n.valid){K.value={...K.value,receiptImage:n.message??`خطا`};return}K.value=j(K.value,`receiptImage`),G.value=await ce(t)}async function Pt(){if(!F.value)return;if(K.value={},q.value=``,!N(F.value)){q.value=`در وضعیت فعلی سفارش امکان ثبت رسید وجود ندارد`;return}let e=ae(B.value),t={};if(e||(t.receiptAmount=`مبلغ واریزی الزامی است.`),V.value||(t.receiptDate=`تاریخ واریز الزامی است.`),U.value.trim()||(t.trackingNumber=`شماره پیگیری الزامی است.`),W.value||(t.destinationAccountId=`حساب مقصد را انتخاب کنید.`),M(t)){K.value=t,q.value=fe;return}try{await E.submitCashReceipt(F.value.id,{amount:e,transferDate:V.value,transferTime:H.value||`12:00`,trackingNumber:U.value,destinationAccountId:W.value,receiptImage:G.value||void 0}),L.value=!1,K.value={},q.value=``}catch(e){q.value=e instanceof Error?e.message:`ثبت رسید ناموفق بود.`}}return(e,m)=>F.value?(f(),l(`div`,Ee,[g(`header`,De,[g(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:m[0]||=e=>d(S).push(`/orders`)},[u(A,{size:20})]),g(`div`,Oe,[g(`h1`,ke,i(I.value?`پیگیری سفارش`:`جزئیات سفارش`),1),I.value?(f(),l(`p`,Ae,i(F.value.orderNumber),1)):s(``,!0)]),g(`button`,je,[u(A,{size:18,class:`nav-btn__flip`})])]),g(`header`,Me,[g(`button`,{type:`button`,class:`order-detail-back`,onClick:m[1]||=e=>d(S).push(`/orders`)},[u(A,{size:18}),m[10]||=a(` بازگشت به سفارش‌ها `,-1)]),m[11]||=g(`h1`,{class:`desktop-page__title`},`پیگیری سفارش`,-1),g(`p`,Ne,i(F.value.orderNumber)+` · `+i(F.value.companyName),1)]),g(`div`,Pe,[I.value?s(``,!0):(f(),l(`div`,Fe,[g(`div`,Ie,[m[12]||=g(`span`,{class:`order-info-card__label`},`شماره سفارش`,-1),g(`strong`,Le,i(F.value.orderNumber),1)]),g(`div`,Re,[m[13]||=g(`span`,{class:`order-info-card__key`},`شرکت`,-1),g(`span`,ze,i(F.value.companyName),1)]),g(`div`,Be,[m[14]||=g(`span`,{class:`order-info-card__key`},`تاریخ ثبت`,-1),g(`span`,Ve,i(d(C)(F.value.createdAt)),1)]),g(`div`,He,[m[15]||=g(`span`,{class:`order-info-card__key`},`نوع تسویه`,-1),g(`span`,Ue,i(Se(F.value.settlementType)),1)]),g(`div`,We,[m[16]||=g(`span`,{class:`order-info-card__key`},`مبلغ فاکتور`,-1),g(`strong`,Ge,i(F.value.finalAmount?d(oe)(F.value.finalAmount):`پس از قیمت‌گذاری مدیریت`),1)])])),X.value&&!I.value?(f(),l(`div`,Ke,[m[17]||=g(`span`,{class:`order-next-action__text`},`برای ادامه سفارش، این مرحله باقی مانده است.`,-1),u(D,{class:`order-next-action__btn`,onClick:Q},{default:y(()=>[a(i(X.value.label),1)]),_:1})])):s(``,!0),I.value?(f(),l(`div`,qe,[g(`section`,Je,[g(`div`,Ye,[Y.value?(f(),o(xe,{key:0,config:Y.value},null,8,[`config`])):s(``,!0),u(Te,{order:F.value},null,8,[`order`])])]),g(`section`,Xe,[X.value?(f(),l(`div`,Ze,[m[18]||=g(`span`,{class:`order-next-action__text`},`برای ادامه سفارش، این مرحله باقی مانده است.`,-1),u(D,{class:`order-next-action__btn`,onClick:Q},{default:y(()=>[a(i(X.value.label),1)]),_:1})])):s(``,!0),g(`div`,Qe,[g(`button`,{type:`button`,class:`tracking-collapse__trigger`,"aria-expanded":R.value,onClick:we},[m[19]||=g(`span`,null,`پیگیری وضعیت`,-1),u(O,{size:18,class:n([`tracking-collapse__chevron`,{"tracking-collapse__chevron--open":R.value}]),"aria-hidden":`true`},null,8,[`class`])],8,$e),h(g(`div`,et,[g(`div`,tt,[u(ye,{order:F.value},null,8,[`order`])])],512),[[ee,R.value]])]),g(`div`,nt,[g(`button`,{type:`button`,class:`tracking-collapse__trigger`,"aria-expanded":z.value,onClick:Ce},[g(`span`,null,i(be.value),1),u(O,{size:18,class:n([`tracking-collapse__chevron`,{"tracking-collapse__chevron--open":z.value}]),"aria-hidden":`true`},null,8,[`class`])],8,rt),h(g(`div`,it,[g(`div`,at,[m[21]||=g(`h3`,{class:`tracking-card__title`},`اقلام سفارش`,-1),(f(!0),l(c,null,p(F.value.items,e=>(f(),l(`div`,{key:e.id,class:`item-row`},[g(`div`,null,[g(`strong`,null,i(e.productName),1),g(`p`,ot,`کالیته `+i(e.catalogCode)+` · `+i(e.color),1)]),g(`span`,null,i(d(ie)(e.requestedMeterage)),1)]))),128)),g(`div`,st,[m[20]||=g(`span`,null,`مجموع متراژ`,-1),g(`strong`,null,i(d(ie)(F.value.totalMeterage)),1)])]),F.value.settlementType===`cash`?(f(),l(c,{key:0},[F.value.cashInvoiceExpiresAt?(f(),l(`div`,ct,` اعتبار فاکتور: `+i(d(C)(F.value.cashInvoiceExpiresAt)),1)):s(``,!0),g(`div`,lt,[m[22]||=g(`h3`,{class:`tracking-card__title`},`حساب‌های بانکی`,-1),(f(!0),l(c,null,p(J.value,e=>(f(),l(`div`,{key:e.id,class:`bank-row`},[g(`strong`,null,i(e.bankName),1),g(`p`,ut,i(e.cardNumber),1),g(`p`,dt,i(e.iban),1)]))),128))]),X.value?.receipt?(f(),o(D,{key:1,block:``,onClick:Z},{default:y(()=>[a(i(F.value.cashReceipt?`ثبت رسید جدید`:`ثبت رسید پرداخت`),1)]),_:1})):s(``,!0),F.value.cashReceipt?(f(),l(`div`,ft,[m[25]||=g(`h3`,{class:`tracking-card__title`},`رسید ثبت‌شده`,-1),g(`div`,pt,[m[23]||=g(`span`,null,`مبلغ`,-1),g(`span`,null,i(d(w)(F.value.cashReceipt.amount)),1)]),g(`div`,mt,[m[24]||=g(`span`,null,`شماره پیگیری`,-1),g(`span`,null,i(F.value.cashReceipt.trackingNumber),1)])])):s(``,!0)],64)):s(``,!0),F.value.settlementType===`check`&&F.value.checks?(f(),l(c,{key:1},[g(`div`,ht,[m[26]||=g(`h3`,{class:`tracking-card__title`},`رأس چک‌ها`,-1),g(`div`,gt,i(F.value.checkRassDays)+` روز`,1),F.value.checkRassDate?(f(),l(`p`,_t,` تاریخ رأس: `+i(d(T)(F.value.checkRassDate)),1)):s(``,!0)]),(f(!0),l(c,null,p(F.value.checks,(e,t)=>(f(),l(`div`,{key:e.id,class:`tracking-collapse__section`},[g(`strong`,null,`چک `+i(t+1),1),g(`div`,vt,[m[27]||=g(`span`,null,`مبلغ`,-1),g(`span`,null,i(d(w)(e.amount)),1)]),g(`div`,yt,[m[28]||=g(`span`,null,`سررسید`,-1),g(`span`,null,i(d(T)(e.dueDate))+` (`+i(d(ue)(e.dueDate))+` روز)`,1)]),e.frontImage?(f(),l(`img`,{key:0,src:e.frontImage,class:`check-img`,alt:`چک`},null,8,bt)):s(``,!0)]))),128))],64)):s(``,!0)],512),[[ee,z.value]])])])])):s(``,!0)]),I.value?s(``,!0):(f(),l(`div`,xt,[u(D,{block:``,onClick:$},{default:y(()=>[...m[29]||=[a(`مشاهده جزئیات و پیگیری`,-1)]]),_:1})])),(f(),o(ne,{to:`body`},[L.value?(f(),l(`div`,{key:0,class:`receipt-modal-overlay`,onClick:m[8]||=r(e=>L.value=!1,[`self`])},[g(`div`,St,[g(`header`,Ct,[m[30]||=g(`h3`,{id:`receipt-modal-title`,class:`receipt-modal__title`},`ثبت رسید پرداخت`,-1),g(`button`,{type:`button`,class:`receipt-modal__close`,"aria-label":`بستن`,onClick:m[2]||=e=>L.value=!1},` × `)]),g(`div`,wt,[u(de,{message:q.value},null,8,[`message`]),u(he,{modelValue:B.value,"onUpdate:modelValue":m[3]||=e=>B.value=e,label:`مبلغ واریزی`,error:K.value.receiptAmount},null,8,[`modelValue`,`error`]),u(ge,{modelValue:V.value,"onUpdate:modelValue":m[4]||=e=>V.value=e,label:`تاریخ واریز`,error:K.value.receiptDate},null,8,[`modelValue`,`error`]),u(me,{modelValue:H.value,"onUpdate:modelValue":m[5]||=e=>H.value=e,label:`ساعت واریز`,type:`time`},null,8,[`modelValue`]),u(me,{modelValue:U.value,"onUpdate:modelValue":m[6]||=e=>U.value=e,label:`شماره پیگیری`,inputmode:`numeric`,dir:`ltr`,error:K.value.trackingNumber},null,8,[`modelValue`,`error`]),g(`div`,Tt,[m[32]||=g(`label`,{class:`form-label`},`حساب مقصد`,-1),h(g(`select`,{"onUpdate:modelValue":m[7]||=e=>W.value=e,class:n([`select-input`,{"select-input--error":K.value.destinationAccountId}])},[m[31]||=g(`option`,{value:``},`انتخاب کنید`,-1),(f(!0),l(c,null,p(J.value,e=>(f(),l(`option`,{key:e.id,value:e.id},i(e.bankName)+` - `+i(e.cardNumber),9,Et))),128))],2),[[t,W.value]]),K.value.destinationAccountId?(f(),l(`p`,Dt,i(K.value.destinationAccountId),1)):s(``,!0)]),g(`div`,Ot,[m[33]||=g(`label`,{class:`form-label`},`تصویر رسید`,-1),g(`label`,{class:n([`upload-box`,{"upload-box--error":K.value.receiptImage}])},[g(`input`,{type:`file`,accept:`image/*`,class:`upload-box__input`,onChange:Nt},null,32),G.value?(f(),l(`img`,{key:0,src:G.value,class:`upload-box__preview`,alt:`تصویر رسید`},null,8,kt)):(f(),l(`span`,At,`انتخاب تصویر رسید`))],2),K.value.receiptImage?(f(),l(`p`,jt,i(K.value.receiptImage),1)):s(``,!0)]),u(D,{block:``,class:`mt-4`,onClick:Pt},{default:y(()=>[...m[34]||=[a(`ثبت رسید`,-1)]]),_:1})])])])):s(``,!0)]))])):(f(),l(`div`,Mt,[m[36]||=g(`p`,null,`سفارش یافت نشد`,-1),u(D,{onClick:m[9]||=e=>d(S).push(`/orders`)},{default:y(()=>[...m[35]||=[a(`بازگشت`,-1)]]),_:1})]))}}),[[`__scopeId`,`data-v-7d9d2f9d`]]);export{Nt as default}; \ No newline at end of file diff --git a/dist/assets/OrderSuccessView-DAGntLe0.js b/dist/assets/OrderSuccessView-Ct5EheK8.js similarity index 93% rename from dist/assets/OrderSuccessView-DAGntLe0.js rename to dist/assets/OrderSuccessView-Ct5EheK8.js index 31132fc..1f33000 100644 --- a/dist/assets/OrderSuccessView-DAGntLe0.js +++ b/dist/assets/OrderSuccessView-Ct5EheK8.js @@ -1 +1 @@ -import{A as e,Et as t,L as n,N as r,P as i,R as a,St as o,Y as s,_ as c,g as l,j as u,n as d,rt as f,z as p}from"./BasicIcon-C6boaehV.js";import{a as m}from"./format-BHJptHdF.js";import{d as h,n as g}from"./index-spodxsRN.js";import{t as _}from"./useGoBack-CgNp0uP9.js";import{t as v}from"./PageHeader-BaJqBjIW.js";var y={class:`page success-page`},b={class:`page__scroll success-page__scroll`},x={key:0,class:`card mb-4`},S={class:`info-row`},C={class:`info-row`},w={class:`info-row`},T=d(p({__name:`OrderSuccessView`,setup(d){let p=l(),T=c(),{goBack:E}=_(`/orders`),D=h(),O=e(()=>D.getOrderById(p.params.id));return(e,c)=>(s(),i(`div`,y,[a(v,{title:`ثبت موفق`,"show-back":``,centered:``,onBack:o(E)},null,8,[`onBack`]),u(`div`,b,[c[8]||=u(`div`,{class:`success-icon`},`✓`,-1),c[9]||=u(`h1`,{class:`page-title text-center`},`سفارش ثبت شد`,-1),c[10]||=u(`p`,{class:`text-center text-muted mb-4`},` سفارش شما با موفقیت ثبت شد. کارشناسان ما سفارش را بررسی و قیمت‌گذاری می‌کنند و به‌محض صدور فاکتور، از طریق پیامک و پنل کاربری به شما اطلاع می‌دهیم تا روش تسویه را انتخاب کنید. `,-1),O.value?(s(),i(`div`,x,[u(`div`,S,[c[2]||=u(`span`,null,`شماره سفارش:`,-1),u(`strong`,null,t(O.value.orderNumber),1)]),u(`div`,C,[c[3]||=u(`span`,null,`شرکت:`,-1),u(`span`,null,t(O.value.companyName),1)]),u(`div`,w,[c[4]||=u(`span`,null,`متراژ:`,-1),u(`span`,null,t(o(m)(O.value.totalMeterage)),1)]),c[5]||=u(`div`,{class:`info-row`},[u(`span`,null,`وضعیت:`),u(`span`,null,`در انتظار قیمت‌گذاری`)],-1)])):r(``,!0),a(g,{block:``,onClick:c[0]||=e=>o(T).replace(`/orders/${O.value?.id}`)},{default:f(()=>[...c[6]||=[n(` مشاهده جزئیات سفارش `,-1)]]),_:1}),a(g,{block:``,variant:`outline`,class:`mt-2`,onClick:c[1]||=e=>o(T).replace(`/`)},{default:f(()=>[...c[7]||=[n(` بازگشت به خانه `,-1)]]),_:1})])]))}}),[[`__scopeId`,`data-v-3d172af9`]]);export{T as default}; \ No newline at end of file +import{A as e,Et as t,L as n,N as r,P as i,R as a,St as o,Y as s,_ as c,g as l,j as u,n as d,rt as f,z as p}from"./BasicIcon-C6boaehV.js";import{a as m}from"./format-BHJptHdF.js";import{d as h,n as g}from"./index-B6MlTGUp.js";import{t as _}from"./useGoBack-CgNp0uP9.js";import{t as v}from"./PageHeader-CDQMUtCp.js";var y={class:`page success-page`},b={class:`page__scroll success-page__scroll`},x={key:0,class:`card mb-4`},S={class:`info-row`},C={class:`info-row`},w={class:`info-row`},T=d(p({__name:`OrderSuccessView`,setup(d){let p=l(),T=c(),{goBack:E}=_(`/orders`),D=h(),O=e(()=>D.getOrderById(p.params.id));return(e,c)=>(s(),i(`div`,y,[a(v,{title:`ثبت موفق`,"show-back":``,centered:``,onBack:o(E)},null,8,[`onBack`]),u(`div`,b,[c[8]||=u(`div`,{class:`success-icon`},`✓`,-1),c[9]||=u(`h1`,{class:`page-title text-center`},`سفارش ثبت شد`,-1),c[10]||=u(`p`,{class:`text-center text-muted mb-4`},` سفارش شما با موفقیت ثبت شد. کارشناسان ما سفارش را بررسی و قیمت‌گذاری می‌کنند و به‌محض صدور فاکتور، از طریق پیامک و پنل کاربری به شما اطلاع می‌دهیم تا روش تسویه را انتخاب کنید. `,-1),O.value?(s(),i(`div`,x,[u(`div`,S,[c[2]||=u(`span`,null,`شماره سفارش:`,-1),u(`strong`,null,t(O.value.orderNumber),1)]),u(`div`,C,[c[3]||=u(`span`,null,`شرکت:`,-1),u(`span`,null,t(O.value.companyName),1)]),u(`div`,w,[c[4]||=u(`span`,null,`متراژ:`,-1),u(`span`,null,t(o(m)(O.value.totalMeterage)),1)]),c[5]||=u(`div`,{class:`info-row`},[u(`span`,null,`وضعیت:`),u(`span`,null,`در انتظار قیمت‌گذاری`)],-1)])):r(``,!0),a(g,{block:``,onClick:c[0]||=e=>o(T).replace(`/orders/${O.value?.id}`)},{default:f(()=>[...c[6]||=[n(` مشاهده جزئیات سفارش `,-1)]]),_:1}),a(g,{block:``,variant:`outline`,class:`mt-2`,onClick:c[1]||=e=>o(T).replace(`/`)},{default:f(()=>[...c[7]||=[n(` بازگشت به خانه `,-1)]]),_:1})])]))}}),[[`__scopeId`,`data-v-3d172af9`]]);export{T as default}; \ No newline at end of file diff --git a/dist/assets/OrdersView-DAbh5y-5.js b/dist/assets/OrdersView-CRxlIUBm.js similarity index 99% rename from dist/assets/OrdersView-DAbh5y-5.js rename to dist/assets/OrdersView-CRxlIUBm.js index 80c7c0d..909a683 100644 --- a/dist/assets/OrdersView-DAbh5y-5.js +++ b/dist/assets/OrdersView-CRxlIUBm.js @@ -1 +1 @@ -import{A as e,Ct as t,Et as n,L as r,M as i,N as a,O as o,P as s,Q as c,R as l,St as u,Y as d,Z as f,_ as p,g as m,j as h,mt as g,n as _,q as v,rt as y,t as b,tt as x,z as S}from"./BasicIcon-C6boaehV.js";import{i as C,n as w,o as T,u as E}from"./format-BHJptHdF.js";import{t as D}from"./catalog-s7nVUdlj.js";import{S as O,c as k,d as A,i as j,n as M,o as N}from"./index-spodxsRN.js";import{t as P}from"./EmptyState-C_QQeA_h.js";import{r as F,t as I}from"./constants-DXXK14Zz.js";import{t as L}from"./IconChevronBack-DORV2H0q.js";import{n as R,t as z}from"./IconFamBaftLogo-BaP40Dff.js";import{t as B}from"./IconCheckCircleOutline-Bx3NxSDX.js";import{t as V}from"./IconFilter-D9NdLZ7w.js";import{t as H}from"./IconMoreVertical-BPkOm_2U.js";var U=[`awaiting_review`,`awaiting_check_review`],W=[`submitted`,`pricing`,`check_in_progress`,`awaiting_cash_confirmation`,`preparing`,`ready_to_ship`,`needs_correction`,`awaiting_settlement_fix`,`cash_in_progress`,`awaiting_cash_payment`,`cash_payment_submitted`,`check_needs_fix`,`awaiting_settlement`,`cash_invoice_issued`],G=[`shipped`],K=[`delivered`,`final_approved`,`checks_approved`,`cash_confirmed`],q=[`cancelled`,`rejected`,`expired`,`check_rejected`],ee=[...U,...W,...G];function te(e,t){switch(t){case`review`:return U.includes(e);case`in_progress`:return W.includes(e);case`shipped`:return G.includes(e);case`delivered`:return K.includes(e);case`cancelled`:return q.includes(e);default:return!0}}function ne(e,t){return t===`active`?ee.includes(e):t===`done`?K.includes(e):t!==`cancelled`||q.includes(e)}var J=5,Y=5;function X(){let t=p(),n=m(),r=A(),i=k(),a=D(),o=g(1),s=g(1),c=g(``);v(async()=>{await Promise.all([r.hydrate(),a.loadCompanies()])}),x(()=>n.query.submitted,e=>{let r=Number(e);if(!Number.isFinite(r)||r<1){c.value=``;return}c.value=r===1?`پیش‌سفارش با موفقیت ثبت شد.`:`${E(String(r))} پیش‌سفارش (برای شرکت‌های مختلف) ثبت شد.`;let{submitted:i,...a}=n.query;t.replace({query:a})},{immediate:!0});let l=e({get:()=>t.currentRoute.value.query.tab??`all`,set:e=>t.replace({query:{...t.currentRoute.value.query,tab:e}})}),u=e({get:()=>t.currentRoute.value.query.filter??`all`,set:e=>t.replace({query:{...t.currentRoute.value.query,filter:e===`all`?void 0:e}})}),d=e(()=>t.currentRoute.value.query.q??``),f=e(()=>i.user?r.userOrders(i.user.id):[]),h=e(()=>({total:f.value.length,review:f.value.filter(e=>U.includes(e.status)).length,inProgress:f.value.filter(e=>W.includes(e.status)).length,done:f.value.filter(e=>K.includes(e.status)).length}));function _(e,t){if(!t.trim())return!0;let n=t.trim().toLowerCase();return e.orderNumber.toLowerCase().includes(n)||e.companyName.toLowerCase().includes(n)}let y=e(()=>f.value.filter(e=>_(e,d.value)).filter(e=>ne(e.status,l.value))),b=e(()=>f.value.filter(e=>_(e,d.value)).filter(e=>te(e.status,u.value))),S=e(()=>{let e=(o.value-1)*J;return b.value.slice(e,e+J)}),C=e(()=>Math.max(1,Math.ceil(b.value.length/J))),w=e(()=>b.value.length===0?{start:0,end:0}:{start:(o.value-1)*J+1,end:Math.min(o.value*J,b.value.length)}),T=e(()=>{let e=C.value,t=o.value;if(e<=7)return Array.from({length:e},(e,t)=>t+1);let n=[1];t>3&&n.push(`ellipsis`);let r=Math.max(2,t-1),i=Math.min(e-1,t+1);for(let e=r;e<=i;e+=1)n.push(e);return t1&&n.push(e),n}),O=e(()=>Math.max(1,Math.ceil(y.value.length/Y))),j=e(()=>{let e=(s.value-1)*Y;return y.value.slice(e,e+Y)}),M=e(()=>y.value.length===0?{start:0,end:0}:{start:(s.value-1)*Y+1,end:Math.min(s.value*Y,y.value.length)}),N=e(()=>{let e=O.value,t=s.value;if(e<=5)return Array.from({length:e},(e,t)=>t+1);let n=[1];t>3&&n.push(`ellipsis`);let r=Math.max(2,t-1),i=Math.min(e-1,t+1);for(let e=r;e<=i;e+=1)n.push(e);return t1&&n.push(e),n});x([b,u,d],()=>{o.value=1}),x([y,l,d],()=>{s.value=1});function P(e){return a.getCompany(e.companyId)?.slug??`par`}function F(e){return K.includes(e.status)?`success`:P(e)===`fam-baft`?`fam-baft`:`par`}function I(e){t.push(`/orders/${e}`)}function L(e){e<1||e>C.value||(o.value=e)}function R(e){e<1||e>O.value||(s.value=e)}function z(e){u.value=u.value===e&&e!==`all`?`all`:e}function B(e){u.value=e}return{tab:l,desktopFilter:u,searchQuery:d,stats:h,filteredOrdersMobile:y,filteredOrdersDesktop:b,paginatedOrders:S,paginatedOrdersMobile:j,totalPages:C,mobileTotalPages:O,paginationRange:w,mobilePaginationRange:M,visiblePages:T,mobileVisiblePages:N,currentPage:o,mobilePage:s,companySlug:P,iconVariant:F,submitSuccessMessage:c,goToOrder:I,setPage:L,setMobilePage:R,setDesktopFilter:z,viewStatFilter:B}}var Z=[`aria-selected`,`onClick`],re=_(S({__name:`FilterTabs`,props:{modelValue:{},tabs:{},equal:{type:Boolean}},emits:[`update:modelValue`],setup(e){return(r,i)=>(d(),s(`div`,{class:t([`filter-tabs`,{"filter-tabs--equal":e.equal}]),role:`tablist`},[(d(!0),s(o,null,f(e.tabs,i=>(d(),s(`button`,{key:i.id,type:`button`,role:`tab`,class:t([`filter-tab`,{active:e.modelValue===i.id}]),"aria-selected":e.modelValue===i.id,onClick:e=>r.$emit(`update:modelValue`,i.id)},n(i.label),11,Z))),128))],2))}}),[[`__scopeId`,`data-v-4cd20e9b`]]),ie=_(S({__name:`BaseBadge`,props:{variant:{}},setup(e){return(n,r)=>(d(),s(`span`,{class:t([`badge`,`badge-${e.variant??`neutral`}`])},[c(n.$slots,`default`,{},void 0,!0)],2))}}),[[`__scopeId`,`data-v-5e1be8f4`]]),Q=S({__name:`StatusBadge`,props:{status:{}},setup(t){let a=t,o=e(()=>I[a.status]??a.status),s=e(()=>F[a.status]??`neutral`);return(e,t)=>(d(),i(ie,{variant:s.value},{default:y(()=>[r(n(o.value),1)]),_:1},8,[`variant`]))}}),ae={class:`page orders-mobile-page`},oe={class:`orders-mobile-page__nav`},se={class:`page__scroll page__scroll--with-nav orders-mobile-page__scroll`},ce={key:0,class:`orders-mobile-page__list`},le=[`onClick`],ue={class:`order-card__content`},de={class:`order-card__number`},fe={class:`order-card__company`},pe={key:0,class:`order-card__amount`},me={key:2,class:`orders-mobile-pagination`},he={class:`orders-mobile-pagination__summary`},ge={class:`orders-mobile-pagination__controls`},_e=[`disabled`],ve={key:0,class:`orders-mobile-pagination__ellipsis`},ye=[`onClick`],be=[`disabled`],xe=_(S({__name:`MobileOrdersPage`,props:{tab:{},tabs:{},orders:{},totalCount:{},currentPage:{},totalPages:{},paginationRange:{},visiblePages:{},companySlug:{type:Function},iconVariant:{type:Function}},emits:[`update:tab`,`select`,`back`,`set-page`],setup(e,{emit:c}){let p=c;return(c,m)=>(d(),s(`div`,ae,[h(`header`,oe,[h(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:m[0]||=e=>p(`back`)},[l(L,{size:20})]),m[5]||=h(`h1`,{class:`orders-mobile-page__title`},`سفارش‌ها`,-1),l(j,{variant:`inline`})]),l(re,{"model-value":e.tab,tabs:e.tabs,equal:``,class:`orders-mobile-page__tabs`,"onUpdate:modelValue":m[1]||=e=>p(`update:tab`,e)},null,8,[`model-value`,`tabs`]),h(`div`,se,[e.orders.length>0?(d(),s(`div`,ce,[(d(!0),s(o,null,f(e.orders,r=>(d(),s(`button`,{key:r.id,type:`button`,class:`order-card`,onClick:e=>p(`select`,r.id)},[h(`div`,ue,[m[6]||=h(`span`,{class:`order-card__label`},`سفارش شماره`,-1),h(`strong`,de,n(r.orderNumber),1),h(`p`,fe,n(r.companyName),1),r.finalAmount?(d(),s(`p`,pe,n(u(w)(r.finalAmount)),1)):a(``,!0),l(Q,{status:r.status,class:`order-card__badge`},null,8,[`status`])]),h(`span`,{class:t([`order-card__icon`,`order-card__icon--${e.iconVariant(r)}`])},[e.companySlug(r)===`fam-baft`?(d(),i(z,{key:0,size:36})):(d(),i(R,{key:1,size:36}))],2)],8,le))),128))])):(d(),i(P,{key:1,variant:`orders`,message:`هنوز سفارشی ثبت نکرده‌اید`},{default:y(()=>[l(M,{onClick:m[2]||=e=>p(`back`)},{default:y(()=>[...m[7]||=[r(`ثبت سفارش جدید`,-1)]]),_:1})]),_:1})),e.totalCount>0?(d(),s(`div`,me,[h(`p`,he,n(u(E)(String(e.paginationRange.start)))+`– `+n(u(E)(String(e.paginationRange.end)))+` از `+n(u(T)(e.totalCount)),1),h(`div`,ge,[h(`button`,{type:`button`,class:`orders-mobile-pagination__arrow`,disabled:e.currentPage<=1,"aria-label":`صفحه قبل`,onClick:m[3]||=t=>p(`set-page`,e.currentPage-1)},[l(N,{size:16,class:`orders-mobile-pagination__arrow--prev`})],8,_e),(d(!0),s(o,null,f(e.visiblePages,(r,i)=>(d(),s(o,{key:`${r}-${i}`},[r===`ellipsis`?(d(),s(`span`,ve,`…`)):(d(),s(`button`,{key:1,type:`button`,class:t([`orders-mobile-pagination__page`,{"orders-mobile-pagination__page--active":r===e.currentPage}]),onClick:e=>p(`set-page`,r)},n(u(E)(String(r))),11,ye))],64))),128)),h(`button`,{type:`button`,class:`orders-mobile-pagination__arrow`,disabled:e.currentPage>=e.totalPages,"aria-label":`صفحه بعد`,onClick:m[4]||=t=>p(`set-page`,e.currentPage+1)},[l(N,{size:16,class:`orders-mobile-pagination__arrow--next`})],8,be)])])):a(``,!0)])]))}}),[[`__scopeId`,`data-v-de30513b`]]),Se=S({__name:`IconHourglass`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(d(),i(b,{icon:`vuesax-linear:timer-1`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Ce=S({__name:`IconProgressClock`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(d(),i(b,{icon:`vuesax-linear:clock`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),we={class:`desktop-page orders-desktop-page`},Te={class:`orders-stats desktop-grid-4`},Ee={class:`orders-stat-card`},De={class:`orders-stat-card__head`},Oe={class:`orders-stat-card__icon orders-stat-card__icon--total`,"aria-hidden":`true`},ke={class:`orders-stat-card__value`},Ae={class:`orders-stat-card`},je={class:`orders-stat-card__head`},Me={class:`orders-stat-card__icon orders-stat-card__icon--review`,"aria-hidden":`true`},Ne={class:`orders-stat-card__value`},Pe={class:`orders-stat-card`},Fe={class:`orders-stat-card__head`},Ie={class:`orders-stat-card__icon orders-stat-card__icon--active`,"aria-hidden":`true`},Le={class:`orders-stat-card__value`},Re={class:`orders-stat-card`},ze={class:`orders-stat-card__head`},Be={class:`orders-stat-card__icon orders-stat-card__icon--done`,"aria-hidden":`true`},Ve={class:`orders-stat-card__value`},He={class:`desktop-toolbar`},Ue={class:`desktop-toolbar__actions`},We={type:`button`,class:`orders-toolbar__filter-btn`},Ge={class:`orders-toolbar__pills`,role:`tablist`,"aria-label":`فیلتر وضعیت`},Ke=[`aria-selected`,`onClick`],qe={key:0,class:`desktop-table-wrap`},Je={class:`desktop-table-scroll`},Ye={class:`desktop-table orders-table`},Xe={class:`orders-table__number`},Ze={class:`orders-table__amount`},Qe={class:`orders-table__date`},$e={class:`orders-table__actions`},et=[`onClick`],tt={type:`button`,class:`orders-table__menu`,"aria-label":`گزینه‌های بیشتر`},$={class:`orders-pagination`},nt={class:`orders-pagination__summary`},rt={class:`orders-pagination__controls`},it=[`disabled`],at={key:0,class:`orders-pagination__ellipsis`},ot=[`onClick`],st=[`disabled`],ct=S({__name:`DesktopOrdersPage`,props:{stats:{},desktopFilter:{},desktopFilterTabs:{},filteredOrders:{},paginatedOrders:{},paginationRange:{},visiblePages:{},currentPage:{},totalPages:{}},emits:[`viewStatFilter`,`setDesktopFilter`,`select`,`setPage`,`newOrder`],setup(e,{emit:a}){let c=a;return(a,p)=>(d(),s(`div`,we,[p[14]||=h(`header`,{class:`desktop-page__head`},[h(`h1`,{class:`desktop-page__title`},`سفارش‌ها`),h(`p`,{class:`desktop-page__subtitle`},`مدیریت و پیگیری سفارش‌های ثبت شده`)],-1),h(`div`,Te,[h(`article`,Ee,[h(`div`,De,[p[7]||=h(`span`,{class:`orders-stat-card__label orders-stat-card__label--total`},`همه سفارش‌ها`,-1),h(`span`,Oe,[l(O,{size:20})])]),h(`strong`,ke,n(u(T)(e.stats.total)),1),h(`button`,{type:`button`,class:`orders-stat-card__link`,onClick:p[0]||=e=>c(`viewStatFilter`,`all`)},` مشاهده همه `)]),h(`article`,Ae,[h(`div`,je,[p[8]||=h(`span`,{class:`orders-stat-card__label orders-stat-card__label--review`},`در انتظار بررسی`,-1),h(`span`,Me,[l(Se,{size:20})])]),h(`strong`,Ne,n(u(T)(e.stats.review)),1),h(`button`,{type:`button`,class:`orders-stat-card__link`,onClick:p[1]||=e=>c(`viewStatFilter`,`review`)},` مشاهده همه `)]),h(`article`,Pe,[h(`div`,Fe,[p[9]||=h(`span`,{class:`orders-stat-card__label orders-stat-card__label--active`},`در حال انجام`,-1),h(`span`,Ie,[l(Ce,{size:20})])]),h(`strong`,Le,n(u(T)(e.stats.inProgress)),1),h(`button`,{type:`button`,class:`orders-stat-card__link`,onClick:p[2]||=e=>c(`viewStatFilter`,`in_progress`)},` مشاهده همه `)]),h(`article`,Re,[h(`div`,ze,[p[10]||=h(`span`,{class:`orders-stat-card__label orders-stat-card__label--done`},`تکمیل شده`,-1),h(`span`,Be,[l(B,{size:20})])]),h(`strong`,Ve,n(u(T)(e.stats.done)),1),h(`button`,{type:`button`,class:`orders-stat-card__link`,onClick:p[3]||=e=>c(`viewStatFilter`,`delivered`)},` مشاهده همه `)])]),h(`div`,He,[h(`div`,Ue,[h(`button`,We,[l(V,{size:18}),p[11]||=r(` فیلترها `,-1)])]),h(`div`,Ge,[(d(!0),s(o,null,f(e.desktopFilterTabs,r=>(d(),s(`button`,{key:r.id,type:`button`,role:`tab`,class:t([`orders-filter-pill`,{"orders-filter-pill--active":e.desktopFilter===r.id}]),"aria-selected":e.desktopFilter===r.id,onClick:e=>c(`setDesktopFilter`,r.id)},n(r.label),11,Ke))),128))])]),e.filteredOrders.length>0?(d(),s(`div`,qe,[h(`div`,Je,[h(`table`,Ye,[p[12]||=h(`thead`,null,[h(`tr`,null,[h(`th`,{scope:`col`},`شماره سفارش`),h(`th`,{scope:`col`},`شرکت`),h(`th`,{scope:`col`},`مبلغ فاکتور (تومان)`),h(`th`,{scope:`col`},`وضعیت`),h(`th`,{scope:`col`},`تاریخ ثبت`),h(`th`,{scope:`col`},`عملیات`)])],-1),h(`tbody`,null,[(d(!0),s(o,null,f(e.paginatedOrders,e=>(d(),s(`tr`,{key:e.id},[h(`td`,Xe,n(e.orderNumber),1),h(`td`,null,n(e.companyName),1),h(`td`,Ze,n(e.finalAmount?u(T)(e.finalAmount):`—`),1),h(`td`,null,[l(Q,{status:e.status},null,8,[`status`])]),h(`td`,Qe,n(u(C)(e.createdAt)),1),h(`td`,null,[h(`div`,$e,[h(`button`,{type:`button`,class:`orders-table__action`,onClick:t=>c(`select`,e.id)},` مشاهده `,8,et),h(`button`,tt,[l(H,{size:18})])])])]))),128))])])]),h(`div`,$,[h(`span`,nt,` نمایش `+n(u(T)(e.paginationRange.start))+` تا `+n(u(T)(e.paginationRange.end))+` از `+n(u(T)(e.filteredOrders.length))+` سفارش `,1),h(`div`,rt,[h(`button`,{type:`button`,class:`orders-pagination__arrow`,disabled:e.currentPage<=1,"aria-label":`صفحه قبل`,onClick:p[4]||=t=>c(`setPage`,e.currentPage-1)},[l(N,{size:16,class:`orders-pagination__arrow-icon--prev`})],8,it),(d(!0),s(o,null,f(e.visiblePages,(r,i)=>(d(),s(o,{key:`${r}-${i}`},[r===`ellipsis`?(d(),s(`span`,at,`…`)):(d(),s(`button`,{key:1,type:`button`,class:t([`orders-pagination__page`,{"orders-pagination__page--active":r===e.currentPage}]),onClick:e=>c(`setPage`,r)},n(u(T)(r)),11,ot))],64))),128)),h(`button`,{type:`button`,class:`orders-pagination__arrow`,disabled:e.currentPage>=e.totalPages,"aria-label":`صفحه بعد`,onClick:p[5]||=t=>c(`setPage`,e.currentPage+1)},[l(N,{size:16,class:`orders-pagination__arrow-icon--next`})],8,st)])])])):(d(),i(P,{key:1,variant:`orders`,message:`هنوز سفارشی ثبت نکرده‌اید`},{default:y(()=>[l(M,{onClick:p[6]||=e=>c(`newOrder`)},{default:y(()=>[...p[13]||=[r(`ثبت سفارش جدید`,-1)]]),_:1})]),_:1}))]))}}),lt={class:`orders-view`},ut={key:0,class:`orders-view__success`,role:`status`},dt=_(S({__name:`OrdersView`,setup(e){let t=p(),{tab:r,desktopFilter:i,stats:o,filteredOrdersMobile:c,filteredOrdersDesktop:f,paginatedOrders:m,paginatedOrdersMobile:h,totalPages:g,mobileTotalPages:_,paginationRange:v,mobilePaginationRange:y,visiblePages:b,mobileVisiblePages:x,currentPage:S,mobilePage:C,companySlug:w,iconVariant:T,submitSuccessMessage:E,goToOrder:D,setPage:O,setMobilePage:k,setDesktopFilter:A,viewStatFilter:j}=X(),M=[{id:`all`,label:`همه`},{id:`active`,label:`در جریان`},{id:`done`,label:`تکمیل شده`},{id:`cancelled`,label:`لغو شده`}],N=[{id:`review`,label:`در انتظار بررسی`},{id:`in_progress`,label:`در حال انجام`},{id:`shipped`,label:`ارسال شده`},{id:`delivered`,label:`تحویل شده`},{id:`cancelled`,label:`لغو شده`}];return(e,p)=>(d(),s(`div`,lt,[u(E)?(d(),s(`p`,ut,n(u(E)),1)):a(``,!0),l(xe,{class:`mobile-only`,tab:u(r),tabs:M,orders:u(h),"total-count":u(c).length,"current-page":u(C),"total-pages":u(_),"pagination-range":u(y),"visible-pages":u(x),"company-slug":u(w),"icon-variant":u(T),"onUpdate:tab":p[0]||=e=>r.value=e,onSelect:u(D),onBack:p[1]||=e=>u(t).push(`/`),onSetPage:u(k)},null,8,[`tab`,`orders`,`total-count`,`current-page`,`total-pages`,`pagination-range`,`visible-pages`,`company-slug`,`icon-variant`,`onSelect`,`onSetPage`]),l(ct,{class:`desktop-only`,stats:u(o),"desktop-filter":u(i),"desktop-filter-tabs":N,"filtered-orders":u(f),"paginated-orders":u(m),"pagination-range":u(v),"visible-pages":u(b),"current-page":u(S),"total-pages":u(g),onViewStatFilter:u(j),onSetDesktopFilter:u(A),onSelect:u(D),onSetPage:u(O),onNewOrder:p[2]||=e=>u(t).push(`/catalogs`)},null,8,[`stats`,`desktop-filter`,`filtered-orders`,`paginated-orders`,`pagination-range`,`visible-pages`,`current-page`,`total-pages`,`onViewStatFilter`,`onSetDesktopFilter`,`onSelect`,`onSetPage`])]))}}),[[`__scopeId`,`data-v-9dcaa78d`]]);export{dt as default}; \ No newline at end of file +import{A as e,Ct as t,Et as n,L as r,M as i,N as a,O as o,P as s,Q as c,R as l,St as u,Y as d,Z as f,_ as p,g as m,j as h,mt as g,n as _,q as v,rt as y,t as b,tt as x,z as S}from"./BasicIcon-C6boaehV.js";import{i as C,n as w,o as T,u as E}from"./format-BHJptHdF.js";import{t as D}from"./catalog-s7nVUdlj.js";import{S as O,c as k,d as A,i as j,n as M,o as N}from"./index-B6MlTGUp.js";import{t as P}from"./EmptyState-C_QQeA_h.js";import{r as F,t as I}from"./constants-DXXK14Zz.js";import{t as L}from"./IconChevronBack-DORV2H0q.js";import{n as R,t as z}from"./IconFamBaftLogo-BaP40Dff.js";import{t as B}from"./IconCheckCircleOutline-Bx3NxSDX.js";import{t as V}from"./IconFilter-D9NdLZ7w.js";import{t as H}from"./IconMoreVertical-BPkOm_2U.js";var U=[`awaiting_review`,`awaiting_check_review`],W=[`submitted`,`pricing`,`check_in_progress`,`awaiting_cash_confirmation`,`preparing`,`ready_to_ship`,`needs_correction`,`awaiting_settlement_fix`,`cash_in_progress`,`awaiting_cash_payment`,`cash_payment_submitted`,`check_needs_fix`,`awaiting_settlement`,`cash_invoice_issued`],G=[`shipped`],K=[`delivered`,`final_approved`,`checks_approved`,`cash_confirmed`],q=[`cancelled`,`rejected`,`expired`,`check_rejected`],ee=[...U,...W,...G];function te(e,t){switch(t){case`review`:return U.includes(e);case`in_progress`:return W.includes(e);case`shipped`:return G.includes(e);case`delivered`:return K.includes(e);case`cancelled`:return q.includes(e);default:return!0}}function ne(e,t){return t===`active`?ee.includes(e):t===`done`?K.includes(e):t!==`cancelled`||q.includes(e)}var J=5,Y=5;function X(){let t=p(),n=m(),r=A(),i=k(),a=D(),o=g(1),s=g(1),c=g(``);v(async()=>{await Promise.all([r.hydrate(),a.loadCompanies()])}),x(()=>n.query.submitted,e=>{let r=Number(e);if(!Number.isFinite(r)||r<1){c.value=``;return}c.value=r===1?`پیش‌سفارش با موفقیت ثبت شد.`:`${E(String(r))} پیش‌سفارش (برای شرکت‌های مختلف) ثبت شد.`;let{submitted:i,...a}=n.query;t.replace({query:a})},{immediate:!0});let l=e({get:()=>t.currentRoute.value.query.tab??`all`,set:e=>t.replace({query:{...t.currentRoute.value.query,tab:e}})}),u=e({get:()=>t.currentRoute.value.query.filter??`all`,set:e=>t.replace({query:{...t.currentRoute.value.query,filter:e===`all`?void 0:e}})}),d=e(()=>t.currentRoute.value.query.q??``),f=e(()=>i.user?r.userOrders(i.user.id):[]),h=e(()=>({total:f.value.length,review:f.value.filter(e=>U.includes(e.status)).length,inProgress:f.value.filter(e=>W.includes(e.status)).length,done:f.value.filter(e=>K.includes(e.status)).length}));function _(e,t){if(!t.trim())return!0;let n=t.trim().toLowerCase();return e.orderNumber.toLowerCase().includes(n)||e.companyName.toLowerCase().includes(n)}let y=e(()=>f.value.filter(e=>_(e,d.value)).filter(e=>ne(e.status,l.value))),b=e(()=>f.value.filter(e=>_(e,d.value)).filter(e=>te(e.status,u.value))),S=e(()=>{let e=(o.value-1)*J;return b.value.slice(e,e+J)}),C=e(()=>Math.max(1,Math.ceil(b.value.length/J))),w=e(()=>b.value.length===0?{start:0,end:0}:{start:(o.value-1)*J+1,end:Math.min(o.value*J,b.value.length)}),T=e(()=>{let e=C.value,t=o.value;if(e<=7)return Array.from({length:e},(e,t)=>t+1);let n=[1];t>3&&n.push(`ellipsis`);let r=Math.max(2,t-1),i=Math.min(e-1,t+1);for(let e=r;e<=i;e+=1)n.push(e);return t1&&n.push(e),n}),O=e(()=>Math.max(1,Math.ceil(y.value.length/Y))),j=e(()=>{let e=(s.value-1)*Y;return y.value.slice(e,e+Y)}),M=e(()=>y.value.length===0?{start:0,end:0}:{start:(s.value-1)*Y+1,end:Math.min(s.value*Y,y.value.length)}),N=e(()=>{let e=O.value,t=s.value;if(e<=5)return Array.from({length:e},(e,t)=>t+1);let n=[1];t>3&&n.push(`ellipsis`);let r=Math.max(2,t-1),i=Math.min(e-1,t+1);for(let e=r;e<=i;e+=1)n.push(e);return t1&&n.push(e),n});x([b,u,d],()=>{o.value=1}),x([y,l,d],()=>{s.value=1});function P(e){return a.getCompany(e.companyId)?.slug??`par`}function F(e){return K.includes(e.status)?`success`:P(e)===`fam-baft`?`fam-baft`:`par`}function I(e){t.push(`/orders/${e}`)}function L(e){e<1||e>C.value||(o.value=e)}function R(e){e<1||e>O.value||(s.value=e)}function z(e){u.value=u.value===e&&e!==`all`?`all`:e}function B(e){u.value=e}return{tab:l,desktopFilter:u,searchQuery:d,stats:h,filteredOrdersMobile:y,filteredOrdersDesktop:b,paginatedOrders:S,paginatedOrdersMobile:j,totalPages:C,mobileTotalPages:O,paginationRange:w,mobilePaginationRange:M,visiblePages:T,mobileVisiblePages:N,currentPage:o,mobilePage:s,companySlug:P,iconVariant:F,submitSuccessMessage:c,goToOrder:I,setPage:L,setMobilePage:R,setDesktopFilter:z,viewStatFilter:B}}var Z=[`aria-selected`,`onClick`],re=_(S({__name:`FilterTabs`,props:{modelValue:{},tabs:{},equal:{type:Boolean}},emits:[`update:modelValue`],setup(e){return(r,i)=>(d(),s(`div`,{class:t([`filter-tabs`,{"filter-tabs--equal":e.equal}]),role:`tablist`},[(d(!0),s(o,null,f(e.tabs,i=>(d(),s(`button`,{key:i.id,type:`button`,role:`tab`,class:t([`filter-tab`,{active:e.modelValue===i.id}]),"aria-selected":e.modelValue===i.id,onClick:e=>r.$emit(`update:modelValue`,i.id)},n(i.label),11,Z))),128))],2))}}),[[`__scopeId`,`data-v-4cd20e9b`]]),ie=_(S({__name:`BaseBadge`,props:{variant:{}},setup(e){return(n,r)=>(d(),s(`span`,{class:t([`badge`,`badge-${e.variant??`neutral`}`])},[c(n.$slots,`default`,{},void 0,!0)],2))}}),[[`__scopeId`,`data-v-5e1be8f4`]]),Q=S({__name:`StatusBadge`,props:{status:{}},setup(t){let a=t,o=e(()=>I[a.status]??a.status),s=e(()=>F[a.status]??`neutral`);return(e,t)=>(d(),i(ie,{variant:s.value},{default:y(()=>[r(n(o.value),1)]),_:1},8,[`variant`]))}}),ae={class:`page orders-mobile-page`},oe={class:`orders-mobile-page__nav`},se={class:`page__scroll page__scroll--with-nav orders-mobile-page__scroll`},ce={key:0,class:`orders-mobile-page__list`},le=[`onClick`],ue={class:`order-card__content`},de={class:`order-card__number`},fe={class:`order-card__company`},pe={key:0,class:`order-card__amount`},me={key:2,class:`orders-mobile-pagination`},he={class:`orders-mobile-pagination__summary`},ge={class:`orders-mobile-pagination__controls`},_e=[`disabled`],ve={key:0,class:`orders-mobile-pagination__ellipsis`},ye=[`onClick`],be=[`disabled`],xe=_(S({__name:`MobileOrdersPage`,props:{tab:{},tabs:{},orders:{},totalCount:{},currentPage:{},totalPages:{},paginationRange:{},visiblePages:{},companySlug:{type:Function},iconVariant:{type:Function}},emits:[`update:tab`,`select`,`back`,`set-page`],setup(e,{emit:c}){let p=c;return(c,m)=>(d(),s(`div`,ae,[h(`header`,oe,[h(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:m[0]||=e=>p(`back`)},[l(L,{size:20})]),m[5]||=h(`h1`,{class:`orders-mobile-page__title`},`سفارش‌ها`,-1),l(j,{variant:`inline`})]),l(re,{"model-value":e.tab,tabs:e.tabs,equal:``,class:`orders-mobile-page__tabs`,"onUpdate:modelValue":m[1]||=e=>p(`update:tab`,e)},null,8,[`model-value`,`tabs`]),h(`div`,se,[e.orders.length>0?(d(),s(`div`,ce,[(d(!0),s(o,null,f(e.orders,r=>(d(),s(`button`,{key:r.id,type:`button`,class:`order-card`,onClick:e=>p(`select`,r.id)},[h(`div`,ue,[m[6]||=h(`span`,{class:`order-card__label`},`سفارش شماره`,-1),h(`strong`,de,n(r.orderNumber),1),h(`p`,fe,n(r.companyName),1),r.finalAmount?(d(),s(`p`,pe,n(u(w)(r.finalAmount)),1)):a(``,!0),l(Q,{status:r.status,class:`order-card__badge`},null,8,[`status`])]),h(`span`,{class:t([`order-card__icon`,`order-card__icon--${e.iconVariant(r)}`])},[e.companySlug(r)===`fam-baft`?(d(),i(z,{key:0,size:36})):(d(),i(R,{key:1,size:36}))],2)],8,le))),128))])):(d(),i(P,{key:1,variant:`orders`,message:`هنوز سفارشی ثبت نکرده‌اید`},{default:y(()=>[l(M,{onClick:m[2]||=e=>p(`back`)},{default:y(()=>[...m[7]||=[r(`ثبت سفارش جدید`,-1)]]),_:1})]),_:1})),e.totalCount>0?(d(),s(`div`,me,[h(`p`,he,n(u(E)(String(e.paginationRange.start)))+`– `+n(u(E)(String(e.paginationRange.end)))+` از `+n(u(T)(e.totalCount)),1),h(`div`,ge,[h(`button`,{type:`button`,class:`orders-mobile-pagination__arrow`,disabled:e.currentPage<=1,"aria-label":`صفحه قبل`,onClick:m[3]||=t=>p(`set-page`,e.currentPage-1)},[l(N,{size:16,class:`orders-mobile-pagination__arrow--prev`})],8,_e),(d(!0),s(o,null,f(e.visiblePages,(r,i)=>(d(),s(o,{key:`${r}-${i}`},[r===`ellipsis`?(d(),s(`span`,ve,`…`)):(d(),s(`button`,{key:1,type:`button`,class:t([`orders-mobile-pagination__page`,{"orders-mobile-pagination__page--active":r===e.currentPage}]),onClick:e=>p(`set-page`,r)},n(u(E)(String(r))),11,ye))],64))),128)),h(`button`,{type:`button`,class:`orders-mobile-pagination__arrow`,disabled:e.currentPage>=e.totalPages,"aria-label":`صفحه بعد`,onClick:m[4]||=t=>p(`set-page`,e.currentPage+1)},[l(N,{size:16,class:`orders-mobile-pagination__arrow--next`})],8,be)])])):a(``,!0)])]))}}),[[`__scopeId`,`data-v-de30513b`]]),Se=S({__name:`IconHourglass`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(d(),i(b,{icon:`vuesax-linear:timer-1`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Ce=S({__name:`IconProgressClock`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(d(),i(b,{icon:`vuesax-linear:clock`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),we={class:`desktop-page orders-desktop-page`},Te={class:`orders-stats desktop-grid-4`},Ee={class:`orders-stat-card`},De={class:`orders-stat-card__head`},Oe={class:`orders-stat-card__icon orders-stat-card__icon--total`,"aria-hidden":`true`},ke={class:`orders-stat-card__value`},Ae={class:`orders-stat-card`},je={class:`orders-stat-card__head`},Me={class:`orders-stat-card__icon orders-stat-card__icon--review`,"aria-hidden":`true`},Ne={class:`orders-stat-card__value`},Pe={class:`orders-stat-card`},Fe={class:`orders-stat-card__head`},Ie={class:`orders-stat-card__icon orders-stat-card__icon--active`,"aria-hidden":`true`},Le={class:`orders-stat-card__value`},Re={class:`orders-stat-card`},ze={class:`orders-stat-card__head`},Be={class:`orders-stat-card__icon orders-stat-card__icon--done`,"aria-hidden":`true`},Ve={class:`orders-stat-card__value`},He={class:`desktop-toolbar`},Ue={class:`desktop-toolbar__actions`},We={type:`button`,class:`orders-toolbar__filter-btn`},Ge={class:`orders-toolbar__pills`,role:`tablist`,"aria-label":`فیلتر وضعیت`},Ke=[`aria-selected`,`onClick`],qe={key:0,class:`desktop-table-wrap`},Je={class:`desktop-table-scroll`},Ye={class:`desktop-table orders-table`},Xe={class:`orders-table__number`},Ze={class:`orders-table__amount`},Qe={class:`orders-table__date`},$e={class:`orders-table__actions`},et=[`onClick`],tt={type:`button`,class:`orders-table__menu`,"aria-label":`گزینه‌های بیشتر`},$={class:`orders-pagination`},nt={class:`orders-pagination__summary`},rt={class:`orders-pagination__controls`},it=[`disabled`],at={key:0,class:`orders-pagination__ellipsis`},ot=[`onClick`],st=[`disabled`],ct=S({__name:`DesktopOrdersPage`,props:{stats:{},desktopFilter:{},desktopFilterTabs:{},filteredOrders:{},paginatedOrders:{},paginationRange:{},visiblePages:{},currentPage:{},totalPages:{}},emits:[`viewStatFilter`,`setDesktopFilter`,`select`,`setPage`,`newOrder`],setup(e,{emit:a}){let c=a;return(a,p)=>(d(),s(`div`,we,[p[14]||=h(`header`,{class:`desktop-page__head`},[h(`h1`,{class:`desktop-page__title`},`سفارش‌ها`),h(`p`,{class:`desktop-page__subtitle`},`مدیریت و پیگیری سفارش‌های ثبت شده`)],-1),h(`div`,Te,[h(`article`,Ee,[h(`div`,De,[p[7]||=h(`span`,{class:`orders-stat-card__label orders-stat-card__label--total`},`همه سفارش‌ها`,-1),h(`span`,Oe,[l(O,{size:20})])]),h(`strong`,ke,n(u(T)(e.stats.total)),1),h(`button`,{type:`button`,class:`orders-stat-card__link`,onClick:p[0]||=e=>c(`viewStatFilter`,`all`)},` مشاهده همه `)]),h(`article`,Ae,[h(`div`,je,[p[8]||=h(`span`,{class:`orders-stat-card__label orders-stat-card__label--review`},`در انتظار بررسی`,-1),h(`span`,Me,[l(Se,{size:20})])]),h(`strong`,Ne,n(u(T)(e.stats.review)),1),h(`button`,{type:`button`,class:`orders-stat-card__link`,onClick:p[1]||=e=>c(`viewStatFilter`,`review`)},` مشاهده همه `)]),h(`article`,Pe,[h(`div`,Fe,[p[9]||=h(`span`,{class:`orders-stat-card__label orders-stat-card__label--active`},`در حال انجام`,-1),h(`span`,Ie,[l(Ce,{size:20})])]),h(`strong`,Le,n(u(T)(e.stats.inProgress)),1),h(`button`,{type:`button`,class:`orders-stat-card__link`,onClick:p[2]||=e=>c(`viewStatFilter`,`in_progress`)},` مشاهده همه `)]),h(`article`,Re,[h(`div`,ze,[p[10]||=h(`span`,{class:`orders-stat-card__label orders-stat-card__label--done`},`تکمیل شده`,-1),h(`span`,Be,[l(B,{size:20})])]),h(`strong`,Ve,n(u(T)(e.stats.done)),1),h(`button`,{type:`button`,class:`orders-stat-card__link`,onClick:p[3]||=e=>c(`viewStatFilter`,`delivered`)},` مشاهده همه `)])]),h(`div`,He,[h(`div`,Ue,[h(`button`,We,[l(V,{size:18}),p[11]||=r(` فیلترها `,-1)])]),h(`div`,Ge,[(d(!0),s(o,null,f(e.desktopFilterTabs,r=>(d(),s(`button`,{key:r.id,type:`button`,role:`tab`,class:t([`orders-filter-pill`,{"orders-filter-pill--active":e.desktopFilter===r.id}]),"aria-selected":e.desktopFilter===r.id,onClick:e=>c(`setDesktopFilter`,r.id)},n(r.label),11,Ke))),128))])]),e.filteredOrders.length>0?(d(),s(`div`,qe,[h(`div`,Je,[h(`table`,Ye,[p[12]||=h(`thead`,null,[h(`tr`,null,[h(`th`,{scope:`col`},`شماره سفارش`),h(`th`,{scope:`col`},`شرکت`),h(`th`,{scope:`col`},`مبلغ فاکتور (تومان)`),h(`th`,{scope:`col`},`وضعیت`),h(`th`,{scope:`col`},`تاریخ ثبت`),h(`th`,{scope:`col`},`عملیات`)])],-1),h(`tbody`,null,[(d(!0),s(o,null,f(e.paginatedOrders,e=>(d(),s(`tr`,{key:e.id},[h(`td`,Xe,n(e.orderNumber),1),h(`td`,null,n(e.companyName),1),h(`td`,Ze,n(e.finalAmount?u(T)(e.finalAmount):`—`),1),h(`td`,null,[l(Q,{status:e.status},null,8,[`status`])]),h(`td`,Qe,n(u(C)(e.createdAt)),1),h(`td`,null,[h(`div`,$e,[h(`button`,{type:`button`,class:`orders-table__action`,onClick:t=>c(`select`,e.id)},` مشاهده `,8,et),h(`button`,tt,[l(H,{size:18})])])])]))),128))])])]),h(`div`,$,[h(`span`,nt,` نمایش `+n(u(T)(e.paginationRange.start))+` تا `+n(u(T)(e.paginationRange.end))+` از `+n(u(T)(e.filteredOrders.length))+` سفارش `,1),h(`div`,rt,[h(`button`,{type:`button`,class:`orders-pagination__arrow`,disabled:e.currentPage<=1,"aria-label":`صفحه قبل`,onClick:p[4]||=t=>c(`setPage`,e.currentPage-1)},[l(N,{size:16,class:`orders-pagination__arrow-icon--prev`})],8,it),(d(!0),s(o,null,f(e.visiblePages,(r,i)=>(d(),s(o,{key:`${r}-${i}`},[r===`ellipsis`?(d(),s(`span`,at,`…`)):(d(),s(`button`,{key:1,type:`button`,class:t([`orders-pagination__page`,{"orders-pagination__page--active":r===e.currentPage}]),onClick:e=>c(`setPage`,r)},n(u(T)(r)),11,ot))],64))),128)),h(`button`,{type:`button`,class:`orders-pagination__arrow`,disabled:e.currentPage>=e.totalPages,"aria-label":`صفحه بعد`,onClick:p[5]||=t=>c(`setPage`,e.currentPage+1)},[l(N,{size:16,class:`orders-pagination__arrow-icon--next`})],8,st)])])])):(d(),i(P,{key:1,variant:`orders`,message:`هنوز سفارشی ثبت نکرده‌اید`},{default:y(()=>[l(M,{onClick:p[6]||=e=>c(`newOrder`)},{default:y(()=>[...p[13]||=[r(`ثبت سفارش جدید`,-1)]]),_:1})]),_:1}))]))}}),lt={class:`orders-view`},ut={key:0,class:`orders-view__success`,role:`status`},dt=_(S({__name:`OrdersView`,setup(e){let t=p(),{tab:r,desktopFilter:i,stats:o,filteredOrdersMobile:c,filteredOrdersDesktop:f,paginatedOrders:m,paginatedOrdersMobile:h,totalPages:g,mobileTotalPages:_,paginationRange:v,mobilePaginationRange:y,visiblePages:b,mobileVisiblePages:x,currentPage:S,mobilePage:C,companySlug:w,iconVariant:T,submitSuccessMessage:E,goToOrder:D,setPage:O,setMobilePage:k,setDesktopFilter:A,viewStatFilter:j}=X(),M=[{id:`all`,label:`همه`},{id:`active`,label:`در جریان`},{id:`done`,label:`تکمیل شده`},{id:`cancelled`,label:`لغو شده`}],N=[{id:`review`,label:`در انتظار بررسی`},{id:`in_progress`,label:`در حال انجام`},{id:`shipped`,label:`ارسال شده`},{id:`delivered`,label:`تحویل شده`},{id:`cancelled`,label:`لغو شده`}];return(e,p)=>(d(),s(`div`,lt,[u(E)?(d(),s(`p`,ut,n(u(E)),1)):a(``,!0),l(xe,{class:`mobile-only`,tab:u(r),tabs:M,orders:u(h),"total-count":u(c).length,"current-page":u(C),"total-pages":u(_),"pagination-range":u(y),"visible-pages":u(x),"company-slug":u(w),"icon-variant":u(T),"onUpdate:tab":p[0]||=e=>r.value=e,onSelect:u(D),onBack:p[1]||=e=>u(t).push(`/`),onSetPage:u(k)},null,8,[`tab`,`orders`,`total-count`,`current-page`,`total-pages`,`pagination-range`,`visible-pages`,`company-slug`,`icon-variant`,`onSelect`,`onSetPage`]),l(ct,{class:`desktop-only`,stats:u(o),"desktop-filter":u(i),"desktop-filter-tabs":N,"filtered-orders":u(f),"paginated-orders":u(m),"pagination-range":u(v),"visible-pages":u(b),"current-page":u(S),"total-pages":u(g),onViewStatFilter:u(j),onSetDesktopFilter:u(A),onSelect:u(D),onSetPage:u(O),onNewOrder:p[2]||=e=>u(t).push(`/catalogs`)},null,8,[`stats`,`desktop-filter`,`filtered-orders`,`paginated-orders`,`pagination-range`,`visible-pages`,`current-page`,`total-pages`,`onViewStatFilter`,`onSetDesktopFilter`,`onSelect`,`onSetPage`])]))}}),[[`__scopeId`,`data-v-9dcaa78d`]]);export{dt as default}; \ No newline at end of file diff --git a/dist/assets/OtpView-GOSd36OA.js b/dist/assets/OtpView-kAUoSCAD.js similarity index 98% rename from dist/assets/OtpView-GOSd36OA.js rename to dist/assets/OtpView-kAUoSCAD.js index ddf62d0..bf3055d 100644 --- a/dist/assets/OtpView-GOSd36OA.js +++ b/dist/assets/OtpView-kAUoSCAD.js @@ -1 +1 @@ -import{A as e,Ct as t,D as n,Et as r,G as i,L as a,N as o,O as s,P as c,R as l,St as u,Y as d,Z as f,_ as ee,g as te,j as p,mt as m,n as h,q as g,z as _}from"./BasicIcon-C6boaehV.js";import{l as ne}from"./dist-CUUvbY4x.js";import{c as re,t as v,u as y}from"./format-BHJptHdF.js";import{_ as ie,c as ae,h as oe,o as se}from"./index-spodxsRN.js";import{t as ce}from"./IconChevronBack-DORV2H0q.js";import{t as le}from"./FormErrorBanner-CjdBfIQT.js";import{n as ue,r as b,t as de}from"./formErrors-DglFjYkZ.js";import{t as x}from"./login-fabric-CzrIXTnD.js";import{t as fe}from"./IconEditPen-DLV3_yq2.js";var pe={class:`page otp-page`},me=[`src`],he={class:`otp-page__scroll`},ge={class:`otp-page__stage`},S={class:`otp-top`},C={class:`otp-brand`},w={class:`otp-card__lead`},T={dir:`ltr`},E={class:`otp-row`,dir:`ltr`,role:`group`,"aria-label":`کد تأیید`},D=[`id`,`value`,`aria-label`,`onInput`,`onKeydown`,`onPaste`],O={key:0,class:`otp-card__error`},k=[`disabled`],A={key:0,class:`otp-submit__spinner`,"aria-hidden":`true`},j={class:`otp-submit__chevron`,"aria-hidden":`true`},M=[`disabled`],N={dir:`ltr`},P=4,F=60,I=h(_({__name:`OtpView`,setup(h){let _=te(),I=ee(),L=ae(),R=e(()=>{let e=_.query.phone,t=Array.isArray(e)?e[0]:e;return re(typeof t==`string`?t:``)}),z=e(()=>_.query.mode===`register`),B=m(Array.from({length:P},()=>``)),V=m([]),H=m({}),U=m(``),W=m(F),G=e(()=>B.value.join(``)),K=e(()=>W.value<=0&&!L.loading),_e=e(()=>{let e=Math.floor(W.value/60),t=W.value%60,n=`${String(e).padStart(2,`0`)}:${String(t).padStart(2,`0`)}`;return y(n)}),{pause:ve,resume:ye}=ne(()=>{if(W.value<=1){W.value=0,ve();return}--W.value},1e3,{immediate:!1});function q(){H.value=ue(H.value,`code`),b(H.value)||(U.value=``)}function be(e,t){V.value[t]=e}function J(e){let t=Math.max(0,Math.min(3,e));i(()=>V.value[t]?.focus())}function Y(){W.value=F,ye()}function X(e,t=0){let n=v(e).slice(0,P-t);if(!n)return t;let r=[...B.value],i=t;for(let e of n){if(i>=P)break;r[i]=e,i+=1}return B.value=r,q(),Math.min(i,3)}function Z(){G.value.length===P&&!L.loading&&$()}function Q(e,t){let n=t.target,r=v(n.value);if(r.length>1){let t=X(r,e);n.value=B.value[e]??``,J(t),Z();return}let i=r.slice(-1);B.value[e]=i,n.value=i,q(),i&&e<3?J(e+1):i&&Z()}function xe(e,t){if(t.key===`Backspace`){if(B.value[e]){B.value[e]=``,q();return}e>0&&(B.value[e-1]=``,q(),J(e-1));return}if(t.key===`ArrowLeft`){t.preventDefault(),J(e-1);return}t.key===`ArrowRight`&&(t.preventDefault(),J(e+1))}function Se(e,t){t.preventDefault(),J(X(t.clipboardData?.getData(`text`)??``,e)),Z()}function Ce(e){return e?y(e):``}async function $(){if(L.loading)return;H.value={},U.value=``;let e={};if(G.value.length``),J(0))}async function we(){if(!K.value)return;U.value=``,H.value={};let e=z.value?oe():null;if(z.value&&!e){U.value=`برای ارسال مجدد کد، نام و نام خانوادگی لازم است. لطفاً دوباره ثبت‌نام را شروع کنید.`;return}let t=await L.requestOtp(R.value,{isRegister:z.value,firstName:e?.firstName,lastName:e?.lastName});t.success?(B.value=Array.from({length:P},()=>``),Y(),J(0)):U.value=t.message??`خطا در ارسال مجدد کد.`}function Te(){I.replace({name:z.value?`register`:`login`})}return g(()=>{if(!R.value){I.replace({name:`login`});return}Y(),J(0)}),(e,i)=>(d(),c(`div`,pe,[p(`img`,{class:`otp-page__bg`,src:u(x),alt:``},null,8,me),p(`div`,he,[p(`div`,ge,[p(`header`,S,[p(`button`,{type:`button`,class:`otp-top__back`,"aria-label":`بازگشت`,onClick:i[0]||=e=>u(I).push(z.value?`/register`:`/login`)},[l(ce,{size:20})])]),p(`div`,C,[l(ie,{size:72}),i[1]||=p(`h1`,{class:`otp-brand__fa`},`نادمی تکس`,-1),i[2]||=p(`p`,{class:`otp-brand__en`},`NADEMITEX`,-1)]),p(`form`,{class:`otp-card`,onSubmit:n($,[`prevent`])},[i[7]||=p(`h2`,{class:`otp-card__title`},`تأیید موبایل`,-1),p(`p`,w,[i[3]||=a(` کد ارسال‌شده به `,-1),p(`span`,T,r(u(y)(R.value)),1),i[4]||=a(` را وارد کنید. `,-1)]),l(le,{message:U.value},null,8,[`message`]),p(`div`,E,[(d(!0),c(s,null,f(B.value,(e,n)=>(d(),c(`input`,{id:`otp-${n}`,key:n,ref_for:!0,ref:e=>be(e,n),class:t([`otp-box`,{"otp-box--error":H.value.code}]),type:`text`,inputmode:`numeric`,autocomplete:`one-time-code`,maxlength:`1`,value:Ce(e),"aria-label":`رقم ${u(y)(String(n+1))}`,onInput:e=>Q(n,e),onKeydown:e=>xe(n,e),onPaste:e=>Se(n,e)},null,42,D))),128))]),H.value.code?(d(),c(`p`,O,r(H.value.code),1)):o(``,!0),p(`button`,{class:`otp-submit`,type:`submit`,disabled:u(L).loading},[u(L).loading?(d(),c(`span`,A)):o(``,!0),p(`span`,j,[l(se,{size:18,color:`#F4EDE4`})]),i[5]||=p(`span`,null,`تأیید و ورود`,-1)],8,k),p(`button`,{class:`otp-resend`,type:`button`,disabled:!K.value,onClick:we},[K.value?(d(),c(s,{key:0},[a(`ارسال مجدد کد`)],64)):(d(),c(s,{key:1},[a(`ارسال مجدد کد (`+r(_e.value)+`)`,1)],64))],8,M),p(`button`,{type:`button`,class:`otp-edit`,onClick:Te},[p(`span`,N,r(u(y)(R.value)),1),i[6]||=p(`span`,null,`ویرایش شماره`,-1),l(fe,{size:16,"stroke-width":1.5})])],32),i[8]||=p(`div`,{class:`otp-spacer`,"aria-hidden":`true`},null,-1),i[9]||=p(`p`,{class:`otp-watermark`},[a(`MORE`),p(`br`),a(`THAN`),p(`br`),a(`FABRIC`)],-1)])])]))}}),[[`__scopeId`,`data-v-ca2f5cfe`]]);export{I as default}; \ No newline at end of file +import{A as e,Ct as t,D as n,Et as r,G as i,L as a,N as o,O as s,P as c,R as l,St as u,Y as d,Z as f,_ as ee,g as te,j as p,mt as m,n as h,q as g,z as _}from"./BasicIcon-C6boaehV.js";import{l as ne}from"./dist-CUUvbY4x.js";import{c as re,t as v,u as y}from"./format-BHJptHdF.js";import{_ as ie,c as ae,h as oe,o as se}from"./index-B6MlTGUp.js";import{t as ce}from"./IconChevronBack-DORV2H0q.js";import{t as le}from"./FormErrorBanner-CjdBfIQT.js";import{n as ue,r as b,t as de}from"./formErrors-DglFjYkZ.js";import{t as x}from"./login-fabric-CzrIXTnD.js";import{t as fe}from"./IconEditPen-DLV3_yq2.js";var pe={class:`page otp-page`},me=[`src`],he={class:`otp-page__scroll`},ge={class:`otp-page__stage`},S={class:`otp-top`},C={class:`otp-brand`},w={class:`otp-card__lead`},T={dir:`ltr`},E={class:`otp-row`,dir:`ltr`,role:`group`,"aria-label":`کد تأیید`},D=[`id`,`value`,`aria-label`,`onInput`,`onKeydown`,`onPaste`],O={key:0,class:`otp-card__error`},k=[`disabled`],A={key:0,class:`otp-submit__spinner`,"aria-hidden":`true`},j={class:`otp-submit__chevron`,"aria-hidden":`true`},M=[`disabled`],N={dir:`ltr`},P=4,F=60,I=h(_({__name:`OtpView`,setup(h){let _=te(),I=ee(),L=ae(),R=e(()=>{let e=_.query.phone,t=Array.isArray(e)?e[0]:e;return re(typeof t==`string`?t:``)}),z=e(()=>_.query.mode===`register`),B=m(Array.from({length:P},()=>``)),V=m([]),H=m({}),U=m(``),W=m(F),G=e(()=>B.value.join(``)),K=e(()=>W.value<=0&&!L.loading),_e=e(()=>{let e=Math.floor(W.value/60),t=W.value%60,n=`${String(e).padStart(2,`0`)}:${String(t).padStart(2,`0`)}`;return y(n)}),{pause:ve,resume:ye}=ne(()=>{if(W.value<=1){W.value=0,ve();return}--W.value},1e3,{immediate:!1});function q(){H.value=ue(H.value,`code`),b(H.value)||(U.value=``)}function be(e,t){V.value[t]=e}function J(e){let t=Math.max(0,Math.min(3,e));i(()=>V.value[t]?.focus())}function Y(){W.value=F,ye()}function X(e,t=0){let n=v(e).slice(0,P-t);if(!n)return t;let r=[...B.value],i=t;for(let e of n){if(i>=P)break;r[i]=e,i+=1}return B.value=r,q(),Math.min(i,3)}function Z(){G.value.length===P&&!L.loading&&$()}function Q(e,t){let n=t.target,r=v(n.value);if(r.length>1){let t=X(r,e);n.value=B.value[e]??``,J(t),Z();return}let i=r.slice(-1);B.value[e]=i,n.value=i,q(),i&&e<3?J(e+1):i&&Z()}function xe(e,t){if(t.key===`Backspace`){if(B.value[e]){B.value[e]=``,q();return}e>0&&(B.value[e-1]=``,q(),J(e-1));return}if(t.key===`ArrowLeft`){t.preventDefault(),J(e-1);return}t.key===`ArrowRight`&&(t.preventDefault(),J(e+1))}function Se(e,t){t.preventDefault(),J(X(t.clipboardData?.getData(`text`)??``,e)),Z()}function Ce(e){return e?y(e):``}async function $(){if(L.loading)return;H.value={},U.value=``;let e={};if(G.value.length``),J(0))}async function we(){if(!K.value)return;U.value=``,H.value={};let e=z.value?oe():null;if(z.value&&!e){U.value=`برای ارسال مجدد کد، نام و نام خانوادگی لازم است. لطفاً دوباره ثبت‌نام را شروع کنید.`;return}let t=await L.requestOtp(R.value,{isRegister:z.value,firstName:e?.firstName,lastName:e?.lastName});t.success?(B.value=Array.from({length:P},()=>``),Y(),J(0)):U.value=t.message??`خطا در ارسال مجدد کد.`}function Te(){I.replace({name:z.value?`register`:`login`})}return g(()=>{if(!R.value){I.replace({name:`login`});return}Y(),J(0)}),(e,i)=>(d(),c(`div`,pe,[p(`img`,{class:`otp-page__bg`,src:u(x),alt:``},null,8,me),p(`div`,he,[p(`div`,ge,[p(`header`,S,[p(`button`,{type:`button`,class:`otp-top__back`,"aria-label":`بازگشت`,onClick:i[0]||=e=>u(I).push(z.value?`/register`:`/login`)},[l(ce,{size:20})])]),p(`div`,C,[l(ie,{size:72}),i[1]||=p(`h1`,{class:`otp-brand__fa`},`نادمی تکس`,-1),i[2]||=p(`p`,{class:`otp-brand__en`},`NADEMITEX`,-1)]),p(`form`,{class:`otp-card`,onSubmit:n($,[`prevent`])},[i[7]||=p(`h2`,{class:`otp-card__title`},`تأیید موبایل`,-1),p(`p`,w,[i[3]||=a(` کد ارسال‌شده به `,-1),p(`span`,T,r(u(y)(R.value)),1),i[4]||=a(` را وارد کنید. `,-1)]),l(le,{message:U.value},null,8,[`message`]),p(`div`,E,[(d(!0),c(s,null,f(B.value,(e,n)=>(d(),c(`input`,{id:`otp-${n}`,key:n,ref_for:!0,ref:e=>be(e,n),class:t([`otp-box`,{"otp-box--error":H.value.code}]),type:`text`,inputmode:`numeric`,autocomplete:`one-time-code`,maxlength:`1`,value:Ce(e),"aria-label":`رقم ${u(y)(String(n+1))}`,onInput:e=>Q(n,e),onKeydown:e=>xe(n,e),onPaste:e=>Se(n,e)},null,42,D))),128))]),H.value.code?(d(),c(`p`,O,r(H.value.code),1)):o(``,!0),p(`button`,{class:`otp-submit`,type:`submit`,disabled:u(L).loading},[u(L).loading?(d(),c(`span`,A)):o(``,!0),p(`span`,j,[l(se,{size:18,color:`#F4EDE4`})]),i[5]||=p(`span`,null,`تأیید و ورود`,-1)],8,k),p(`button`,{class:`otp-resend`,type:`button`,disabled:!K.value,onClick:we},[K.value?(d(),c(s,{key:0},[a(`ارسال مجدد کد`)],64)):(d(),c(s,{key:1},[a(`ارسال مجدد کد (`+r(_e.value)+`)`,1)],64))],8,M),p(`button`,{type:`button`,class:`otp-edit`,onClick:Te},[p(`span`,N,r(u(y)(R.value)),1),i[6]||=p(`span`,null,`ویرایش شماره`,-1),l(fe,{size:16,"stroke-width":1.5})])],32),i[8]||=p(`div`,{class:`otp-spacer`,"aria-hidden":`true`},null,-1),i[9]||=p(`p`,{class:`otp-watermark`},[a(`MORE`),p(`br`),a(`THAN`),p(`br`),a(`FABRIC`)],-1)])])]))}}),[[`__scopeId`,`data-v-ca2f5cfe`]]);export{I as default}; \ No newline at end of file diff --git a/dist/assets/PageHeader-BaJqBjIW.js b/dist/assets/PageHeader-CDQMUtCp.js similarity index 95% rename from dist/assets/PageHeader-BaJqBjIW.js rename to dist/assets/PageHeader-CDQMUtCp.js index 73f796a..87cb2cf 100644 --- a/dist/assets/PageHeader-BaJqBjIW.js +++ b/dist/assets/PageHeader-CDQMUtCp.js @@ -1 +1 @@ -import{Et as e,N as t,O as n,P as r,Q as i,R as a,Y as o,j as s,n as c,z as l}from"./BasicIcon-C6boaehV.js";import{i as u}from"./index-spodxsRN.js";import{t as d}from"./IconChevronBack-DORV2H0q.js";var f={class:`page-nav`},p={key:1,class:`nav-btn`},m={class:`page-nav__title`},h={class:`page-nav__trailing`},g={key:0,class:`page-nav__subtitle`},_={key:1,class:`page-header`},v={class:`header-text`},y={class:`page-title`},b={key:0,class:`page-subtitle`},x={class:`page-header__trailing`},S=c(l({__name:`PageHeader`,props:{title:{},subtitle:{},showBack:{type:Boolean},centered:{type:Boolean}},emits:[`back`],setup(c){return(l,S)=>c.centered?(o(),r(n,{key:0},[s(`header`,f,[c.showBack?(o(),r(`button`,{key:0,type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:S[0]||=e=>l.$emit(`back`)},[a(d,{size:20})])):(o(),r(`span`,p)),s(`h1`,m,e(c.title),1),s(`div`,h,[i(l.$slots,`trailing`,{},void 0,!0),a(u,{variant:`inline`,class:`mobile-only`})])]),c.subtitle?(o(),r(`p`,g,e(c.subtitle),1)):t(``,!0)],64)):(o(),r(`header`,_,[c.showBack?(o(),r(`button`,{key:0,type:`button`,class:`back-btn`,"aria-label":`بازگشت`,onClick:S[1]||=e=>l.$emit(`back`)},[a(d,{size:20})])):t(``,!0),s(`div`,v,[s(`h1`,y,e(c.title),1),c.subtitle?(o(),r(`p`,b,e(c.subtitle),1)):t(``,!0)]),s(`div`,x,[i(l.$slots,`trailing`,{},void 0,!0),a(u,{variant:`inline`,class:`mobile-only`})])]))}}),[[`__scopeId`,`data-v-dd86426f`]]);export{S as t}; \ No newline at end of file +import{Et as e,N as t,O as n,P as r,Q as i,R as a,Y as o,j as s,n as c,z as l}from"./BasicIcon-C6boaehV.js";import{i as u}from"./index-B6MlTGUp.js";import{t as d}from"./IconChevronBack-DORV2H0q.js";var f={class:`page-nav`},p={key:1,class:`nav-btn`},m={class:`page-nav__title`},h={class:`page-nav__trailing`},g={key:0,class:`page-nav__subtitle`},_={key:1,class:`page-header`},v={class:`header-text`},y={class:`page-title`},b={key:0,class:`page-subtitle`},x={class:`page-header__trailing`},S=c(l({__name:`PageHeader`,props:{title:{},subtitle:{},showBack:{type:Boolean},centered:{type:Boolean}},emits:[`back`],setup(c){return(l,S)=>c.centered?(o(),r(n,{key:0},[s(`header`,f,[c.showBack?(o(),r(`button`,{key:0,type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:S[0]||=e=>l.$emit(`back`)},[a(d,{size:20})])):(o(),r(`span`,p)),s(`h1`,m,e(c.title),1),s(`div`,h,[i(l.$slots,`trailing`,{},void 0,!0),a(u,{variant:`inline`,class:`mobile-only`})])]),c.subtitle?(o(),r(`p`,g,e(c.subtitle),1)):t(``,!0)],64)):(o(),r(`header`,_,[c.showBack?(o(),r(`button`,{key:0,type:`button`,class:`back-btn`,"aria-label":`بازگشت`,onClick:S[1]||=e=>l.$emit(`back`)},[a(d,{size:20})])):t(``,!0),s(`div`,v,[s(`h1`,y,e(c.title),1),c.subtitle?(o(),r(`p`,b,e(c.subtitle),1)):t(``,!0)]),s(`div`,x,[i(l.$slots,`trailing`,{},void 0,!0),a(u,{variant:`inline`,class:`mobile-only`})])]))}}),[[`__scopeId`,`data-v-dd86426f`]]);export{S as t}; \ No newline at end of file diff --git a/dist/assets/ProductDetailView-D1OzQiiN.js b/dist/assets/ProductDetailView-CTZ8B8Qk.js similarity index 99% rename from dist/assets/ProductDetailView-D1OzQiiN.js rename to dist/assets/ProductDetailView-CTZ8B8Qk.js index 627180f..cac641a 100644 --- a/dist/assets/ProductDetailView-D1OzQiiN.js +++ b/dist/assets/ProductDetailView-CTZ8B8Qk.js @@ -1 +1 @@ -import{A as e,Ct as t,Et as n,L as r,N as i,O as a,P as o,R as s,St as c,Tt as l,Y as u,Z as d,_ as f,g as ee,j as p,mt as m,n as te,q as ne,tt as re,z as h}from"./BasicIcon-C6boaehV.js";import{o as g}from"./format-BHJptHdF.js";import{t as ie}from"./catalog-s7nVUdlj.js";import{C as ae,T as oe,b as se,l as ce}from"./index-spodxsRN.js";import{t as le}from"./IconChevronBack-DORV2H0q.js";import{t as ue}from"./PageSkeleton-uO-jhbNm.js";import{t as de}from"./IconShare-1kao-fAR.js";import{a as fe,i as pe,t as me}from"./crm-CtglbPsN.js";import{t as he}from"./useGoBack-CgNp0uP9.js";import{n as _,t as ge}from"./colorSwatch-BgOH1LE5.js";import{t as _e}from"./IconShoppingBag-Bq21_Txe.js";import{t as ve}from"./IconHeart-CZMe29Nz.js";var v={key:0,class:`page product-detail`},y={class:`pd-header`},b={class:`pd-header__actions`},x=[`aria-label`,`aria-pressed`],S={class:`page__scroll pd-scroll`},C={class:`gallery`},w={class:`gallery__count`},T={class:`gallery__thumbs`},E=[`onClick`],D={class:`pd-body`},O={class:`title-row`},k={key:0,class:`new-badge`},A={class:`code`},j={class:`specs`},M={class:`spec-cell`},N={class:`spec-cell`},P={class:`spec-cell`},F={class:`spec-icon`,"aria-hidden":`true`},ye={class:`spec-cell`},be={key:0,class:`specs-extra`},xe={class:`pd-section pd-section--boxed`},Se={class:`section-head`},Ce={class:`colors`},we=[`onClick`],Te={class:`pd-section`},Ee={class:`tags`,role:`list`},De=[`onClick`],Oe={class:`pd-section`},I={class:`roll-field`},ke={class:`pd-footer`},Ae={class:`pd-footer__primary`},je=[`disabled`],Me={class:`min-note`},Ne={key:1,class:`page empty`},Pe={key:2,class:`page empty`},L=te(h({__name:`ProductDetailView`,setup(te){let h={suit:`پارچه کت‌شلواری`,trousers:`پارچه شلواری`,shirt:`پارچه پیراهنی`},L={summer:`پارچه تابستانه`,winter:`پارچه زمستانه`,all_season:`پارچه چهارفصل`},Fe=ee(),R=f(),{goBack:z}=he(`/products`),Ie=me(),B=ce(),Le=oe(),Re=ie(),V=e(()=>String(Fe.query.id??``)),H=m(null),U=m(!0),W=m(null),G=m(0),K=m(1),q=m(!1),J=m(!1),Y=e(()=>H.value?.rollMeters??50),X=e(()=>{let e=H.value;return e?ge(e.colors,e.colorImages,e.imageUrls,G.value,e.imageUrl):``}),ze=e(()=>H.value?.colors[G.value]??``),Z=e(()=>K.value*Y.value),Be=e(()=>{let e=H.value?.minMeterage;return e&&e>0?e:Y.value}),Q=e(()=>Math.max(1,Math.ceil(Be.value/Y.value))),Ve=e(()=>h[H.value?.categoryId??``]||`—`),He=e(()=>L[H.value?.season??``]||`—`),Ue=e(()=>{let e=H.value;if(!e)return[];let t=[],n=fe.some(t=>t.id===e.categoryId)?e.categoryId:``,r=n?h[n]:``;r&&t.push({key:`usage-${n}`,label:r,to:{path:`/products`,query:{categoryId:n}}});let i=pe.some(t=>t.id===e.season)?e.season:``,a=i?L[i]:``;a&&t.push({key:`season-${i}`,label:a,to:{path:`/products`,query:{season:i}}});let o=new Set(t.flatMap(e=>[e.label,e.label.replace(/^پارچه\s*/,``)]));for(let n of e.tags){let e=n.replace(/^پارچه‌?های?\s*/,``).trim();if(!e||o.has(e)||t.some(t=>t.label.includes(e)))continue;let r=n.startsWith(`پارچه`)?n:`پارچه ${e}`;o.add(e),t.push({key:`tag-${n}`,label:r})}return t});async function $(){if(!V.value){H.value=null,U.value=!1;return}U.value=!0,W.value=null;try{await Promise.all([B.hydrate(),Re.loadCompanies()]),H.value=await Ie.loadProductById(V.value),G.value=0,K.value=Q.value}catch(e){H.value=null,W.value=e instanceof Error?e.message:`محصول یافت نشد.`}finally{U.value=!1}}ne($),re(V,$);function We(e){let t=e.rollMeters||50,n=e.orderMultiplier&&e.orderMultiplier>0?e.orderMultiplier:t,r=e.minMeterage&&e.minMeterage>0?e.minMeterage:t;return{id:e.id,companyId:e.companyId||``,catalogId:e.catalogId||``,name:e.name,code:e.code,color:e.color||e.colors[G.value]||`—`,minMeterage:r,orderMultiplier:n,basePrice:e.basePrice,isActive:!0}}function Ge(e,t,n){let r=t>0?t:1,i=Math.ceil(e/r)*r,a=Math.ceil(n/r)*r;return Math.max(i,a)}async function Ke(){if(!H.value)return;let e=We(H.value);q.value=!0;try{let t=Ge(Z.value,e.orderMultiplier,e.minMeterage);await Le.addItem(e,H.value.catalogCode||H.value.code,t)}finally{q.value=!1}}function qe(){H.value&&B.toggle(H.value.id)}function Je(){let e=window.location.href;if(navigator.share){navigator.share({title:H.value?.name,url:e}).catch(()=>void 0);return}navigator.clipboard?.writeText(e)}return(e,f)=>H.value?(u(),o(`div`,v,[p(`header`,y,[p(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:f[0]||=(...e)=>c(z)&&c(z)(...e)},[s(le,{size:20})]),p(`div`,b,[p(`button`,{type:`button`,class:`icon-btn`,"aria-label":c(B).isFavorite(H.value.id)?`حذف از علاقه‌مندی‌ها`:`افزودن به علاقه‌مندی‌ها`,"aria-pressed":c(B).isFavorite(H.value.id),onClick:qe},[s(ve,{size:20,filled:c(B).isFavorite(H.value.id),color:c(B).isFavorite(H.value.id)?`#0a353c`:void 0},null,8,[`filled`,`color`])],8,x),p(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اشتراک‌گذاری`,onClick:Je},[s(de,{size:20})])])]),p(`div`,S,[p(`div`,C,[p(`div`,{class:`gallery__main`,style:l(X.value?{backgroundImage:`url(${X.value})`,backgroundSize:`cover`,backgroundPosition:`center`}:c(_)(ze.value))},[p(`span`,w,n(c(g)(G.value+1))+`/`+n(c(g)(Math.max(H.value.colors.length,1))),1)],4),p(`div`,T,[(u(!0),o(a,null,d(H.value.colors,(e,n)=>(u(),o(`button`,{key:n,type:`button`,class:t([`thumb`,{"thumb--active":G.value===n}]),onClick:e=>G.value=n},[p(`span`,{class:`thumb__swatch`,style:l(c(_)(e,H.value.colorImages?.[n]||H.value.imageUrls?.[n]))},null,4)],10,E))),128))])]),p(`div`,D,[p(`div`,O,[p(`h1`,null,n(H.value.name),1),H.value.isNew?(u(),o(`span`,k,`جدید`)):i(``,!0)]),p(`p`,A,`کد محصول: `+n(H.value.code),1),p(`div`,j,[p(`div`,M,[f[4]||=p(`span`,{class:`spec-icon`,"aria-hidden":`true`},[p(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`},[p(`rect`,{x:`4`,y:`8`,width:`16`,height:`8`,rx:`2`})])],-1),f[5]||=p(`span`,null,`عرض`,-1),p(`strong`,null,n(c(g)(H.value.widthCm))+` سانتی‌متر`,1)]),p(`div`,N,[f[6]||=p(`span`,{class:`spec-icon`,"aria-hidden":`true`},[p(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`},[p(`path`,{d:`M12 3.5 20 8v8l-8 4.5L4 16V8l8-4.5Z`})])],-1),f[7]||=p(`span`,null,`جنس`,-1),p(`strong`,null,n(H.value.composition||`—`),1)]),p(`div`,P,[p(`span`,F,[s(_e,{size:22,color:`#98a2ad`})]),f[8]||=p(`span`,null,`وزن`,-1),p(`strong`,null,n(H.value.weightGrams?`${c(g)(H.value.weightGrams)} گرم`:`—`),1)]),p(`div`,ye,[f[9]||=p(`span`,{class:`spec-icon`,"aria-hidden":`true`},[p(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`},[p(`circle`,{cx:`12`,cy:`12`,r:`8`}),p(`path`,{d:`M12 8a6 6 0 0 1 0 8`})])],-1),f[10]||=p(`span`,null,`نوع بافت`,-1),p(`strong`,null,n(H.value.weaveType||`—`),1)])]),p(`button`,{type:`button`,class:`specs-more`,onClick:f[1]||=e=>J.value=!J.value},[r(n(J.value?`بستن مشخصات`:`مشاهده همه مشخصات`)+` `,1),(u(),o(`svg`,{class:t([`specs-more__chevron`,{"is-open":J.value}]),viewBox:`0 0 12 12`,"aria-hidden":`true`},[...f[11]||=[p(`path`,{d:`M3 4.5 6 8l3-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`},null,-1)]],2))]),J.value?(u(),o(`div`,be,[p(`p`,null,`فصل: `+n(He.value),1),p(`p`,null,`دسته: `+n(Ve.value),1),p(`p`,null,`جمع سفارش: `+n(c(g)(Z.value))+` متر`,1)])):i(``,!0),p(`section`,xe,[p(`div`,Se,[f[12]||=p(`h2`,null,`رنگ‌بندی`,-1),p(`span`,null,`(`+n(c(g)(H.value.colors.length))+` رنگ موجود)`,1)]),p(`div`,Ce,[(u(!0),o(a,null,d(H.value.colors,(e,n)=>(u(),o(`button`,{key:n,type:`button`,class:t([`color-dot`,{"color-dot--active":G.value===n}]),style:l(c(_)(e,H.value.colorImages?.[n]||H.value.imageUrls?.[n])),onClick:e=>G.value=n},null,14,we))),128))])]),p(`section`,Te,[f[13]||=p(`h2`,{class:`section-title`},`دسته‌بندی`,-1),p(`div`,Ee,[(u(!0),o(a,null,d(Ue.value,e=>(u(),o(`button`,{key:e.key,type:`button`,class:t([`tag`,{"tag--link":!!e.to}]),role:`listitem`,onClick:t=>e.to&&c(R).push(e.to)},n(e.label),11,De))),128))])]),p(`section`,Oe,[f[14]||=p(`h2`,{class:`section-title`},`متراژ هر ساقه (طاقه)`,-1),p(`div`,I,n(c(g)(H.value.rollMeters))+` متر`,1)])])]),p(`footer`,ke,[p(`div`,Ae,[p(`button`,{type:`button`,class:`btn-primary`,disabled:q.value,onClick:Ke},[s(ae,{size:18,color:`#ffffff`}),r(` `+n(q.value?`در حال افزودن...`:`افزودن به سفارش`),1)],8,je),p(`p`,Me,`حداقل سفارش: `+n(c(g)(Q.value))+` طاقه`,1)]),p(`button`,{type:`button`,class:`btn-secondary`,onClick:f[2]||=e=>c(R).push({path:`/catalog-request`,query:{productId:H.value.id}})},[s(se,{size:18}),f[15]||=r(` درخواست کالیته `,-1)])])])):U.value?(u(),o(`div`,Ne,[s(ue,{variant:`detail`})])):(u(),o(`div`,Pe,[p(`p`,null,n(W.value||`محصول یافت نشد.`),1),p(`button`,{type:`button`,onClick:f[3]||=e=>c(R).push(`/products`)},`بازگشت به لیست`)]))}}),[[`__scopeId`,`data-v-f892ab0d`]]);export{L as default}; \ No newline at end of file +import{A as e,Ct as t,Et as n,L as r,N as i,O as a,P as o,R as s,St as c,Tt as l,Y as u,Z as d,_ as f,g as ee,j as p,mt as m,n as te,q as ne,tt as re,z as h}from"./BasicIcon-C6boaehV.js";import{o as g}from"./format-BHJptHdF.js";import{t as ie}from"./catalog-s7nVUdlj.js";import{C as ae,T as oe,b as se,l as ce}from"./index-B6MlTGUp.js";import{t as le}from"./IconChevronBack-DORV2H0q.js";import{t as ue}from"./PageSkeleton-uO-jhbNm.js";import{t as de}from"./IconShare-1kao-fAR.js";import{a as fe,i as pe,t as me}from"./crm-CtglbPsN.js";import{t as he}from"./useGoBack-CgNp0uP9.js";import{n as _,t as ge}from"./colorSwatch-BgOH1LE5.js";import{t as _e}from"./IconShoppingBag-Bq21_Txe.js";import{t as ve}from"./IconHeart-CZMe29Nz.js";var v={key:0,class:`page product-detail`},y={class:`pd-header`},b={class:`pd-header__actions`},x=[`aria-label`,`aria-pressed`],S={class:`page__scroll pd-scroll`},C={class:`gallery`},w={class:`gallery__count`},T={class:`gallery__thumbs`},E=[`onClick`],D={class:`pd-body`},O={class:`title-row`},k={key:0,class:`new-badge`},A={class:`code`},j={class:`specs`},M={class:`spec-cell`},N={class:`spec-cell`},P={class:`spec-cell`},F={class:`spec-icon`,"aria-hidden":`true`},ye={class:`spec-cell`},be={key:0,class:`specs-extra`},xe={class:`pd-section pd-section--boxed`},Se={class:`section-head`},Ce={class:`colors`},we=[`onClick`],Te={class:`pd-section`},Ee={class:`tags`,role:`list`},De=[`onClick`],Oe={class:`pd-section`},I={class:`roll-field`},ke={class:`pd-footer`},Ae={class:`pd-footer__primary`},je=[`disabled`],Me={class:`min-note`},Ne={key:1,class:`page empty`},Pe={key:2,class:`page empty`},L=te(h({__name:`ProductDetailView`,setup(te){let h={suit:`پارچه کت‌شلواری`,trousers:`پارچه شلواری`,shirt:`پارچه پیراهنی`},L={summer:`پارچه تابستانه`,winter:`پارچه زمستانه`,all_season:`پارچه چهارفصل`},Fe=ee(),R=f(),{goBack:z}=he(`/products`),Ie=me(),B=ce(),Le=oe(),Re=ie(),V=e(()=>String(Fe.query.id??``)),H=m(null),U=m(!0),W=m(null),G=m(0),K=m(1),q=m(!1),J=m(!1),Y=e(()=>H.value?.rollMeters??50),X=e(()=>{let e=H.value;return e?ge(e.colors,e.colorImages,e.imageUrls,G.value,e.imageUrl):``}),ze=e(()=>H.value?.colors[G.value]??``),Z=e(()=>K.value*Y.value),Be=e(()=>{let e=H.value?.minMeterage;return e&&e>0?e:Y.value}),Q=e(()=>Math.max(1,Math.ceil(Be.value/Y.value))),Ve=e(()=>h[H.value?.categoryId??``]||`—`),He=e(()=>L[H.value?.season??``]||`—`),Ue=e(()=>{let e=H.value;if(!e)return[];let t=[],n=fe.some(t=>t.id===e.categoryId)?e.categoryId:``,r=n?h[n]:``;r&&t.push({key:`usage-${n}`,label:r,to:{path:`/products`,query:{categoryId:n}}});let i=pe.some(t=>t.id===e.season)?e.season:``,a=i?L[i]:``;a&&t.push({key:`season-${i}`,label:a,to:{path:`/products`,query:{season:i}}});let o=new Set(t.flatMap(e=>[e.label,e.label.replace(/^پارچه\s*/,``)]));for(let n of e.tags){let e=n.replace(/^پارچه‌?های?\s*/,``).trim();if(!e||o.has(e)||t.some(t=>t.label.includes(e)))continue;let r=n.startsWith(`پارچه`)?n:`پارچه ${e}`;o.add(e),t.push({key:`tag-${n}`,label:r})}return t});async function $(){if(!V.value){H.value=null,U.value=!1;return}U.value=!0,W.value=null;try{await Promise.all([B.hydrate(),Re.loadCompanies()]),H.value=await Ie.loadProductById(V.value),G.value=0,K.value=Q.value}catch(e){H.value=null,W.value=e instanceof Error?e.message:`محصول یافت نشد.`}finally{U.value=!1}}ne($),re(V,$);function We(e){let t=e.rollMeters||50,n=e.orderMultiplier&&e.orderMultiplier>0?e.orderMultiplier:t,r=e.minMeterage&&e.minMeterage>0?e.minMeterage:t;return{id:e.id,companyId:e.companyId||``,catalogId:e.catalogId||``,name:e.name,code:e.code,color:e.color||e.colors[G.value]||`—`,minMeterage:r,orderMultiplier:n,basePrice:e.basePrice,isActive:!0}}function Ge(e,t,n){let r=t>0?t:1,i=Math.ceil(e/r)*r,a=Math.ceil(n/r)*r;return Math.max(i,a)}async function Ke(){if(!H.value)return;let e=We(H.value);q.value=!0;try{let t=Ge(Z.value,e.orderMultiplier,e.minMeterage);await Le.addItem(e,H.value.catalogCode||H.value.code,t)}finally{q.value=!1}}function qe(){H.value&&B.toggle(H.value.id)}function Je(){let e=window.location.href;if(navigator.share){navigator.share({title:H.value?.name,url:e}).catch(()=>void 0);return}navigator.clipboard?.writeText(e)}return(e,f)=>H.value?(u(),o(`div`,v,[p(`header`,y,[p(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:f[0]||=(...e)=>c(z)&&c(z)(...e)},[s(le,{size:20})]),p(`div`,b,[p(`button`,{type:`button`,class:`icon-btn`,"aria-label":c(B).isFavorite(H.value.id)?`حذف از علاقه‌مندی‌ها`:`افزودن به علاقه‌مندی‌ها`,"aria-pressed":c(B).isFavorite(H.value.id),onClick:qe},[s(ve,{size:20,filled:c(B).isFavorite(H.value.id),color:c(B).isFavorite(H.value.id)?`#0a353c`:void 0},null,8,[`filled`,`color`])],8,x),p(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اشتراک‌گذاری`,onClick:Je},[s(de,{size:20})])])]),p(`div`,S,[p(`div`,C,[p(`div`,{class:`gallery__main`,style:l(X.value?{backgroundImage:`url(${X.value})`,backgroundSize:`cover`,backgroundPosition:`center`}:c(_)(ze.value))},[p(`span`,w,n(c(g)(G.value+1))+`/`+n(c(g)(Math.max(H.value.colors.length,1))),1)],4),p(`div`,T,[(u(!0),o(a,null,d(H.value.colors,(e,n)=>(u(),o(`button`,{key:n,type:`button`,class:t([`thumb`,{"thumb--active":G.value===n}]),onClick:e=>G.value=n},[p(`span`,{class:`thumb__swatch`,style:l(c(_)(e,H.value.colorImages?.[n]||H.value.imageUrls?.[n]))},null,4)],10,E))),128))])]),p(`div`,D,[p(`div`,O,[p(`h1`,null,n(H.value.name),1),H.value.isNew?(u(),o(`span`,k,`جدید`)):i(``,!0)]),p(`p`,A,`کد محصول: `+n(H.value.code),1),p(`div`,j,[p(`div`,M,[f[4]||=p(`span`,{class:`spec-icon`,"aria-hidden":`true`},[p(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`},[p(`rect`,{x:`4`,y:`8`,width:`16`,height:`8`,rx:`2`})])],-1),f[5]||=p(`span`,null,`عرض`,-1),p(`strong`,null,n(c(g)(H.value.widthCm))+` سانتی‌متر`,1)]),p(`div`,N,[f[6]||=p(`span`,{class:`spec-icon`,"aria-hidden":`true`},[p(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`},[p(`path`,{d:`M12 3.5 20 8v8l-8 4.5L4 16V8l8-4.5Z`})])],-1),f[7]||=p(`span`,null,`جنس`,-1),p(`strong`,null,n(H.value.composition||`—`),1)]),p(`div`,P,[p(`span`,F,[s(_e,{size:22,color:`#98a2ad`})]),f[8]||=p(`span`,null,`وزن`,-1),p(`strong`,null,n(H.value.weightGrams?`${c(g)(H.value.weightGrams)} گرم`:`—`),1)]),p(`div`,ye,[f[9]||=p(`span`,{class:`spec-icon`,"aria-hidden":`true`},[p(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`},[p(`circle`,{cx:`12`,cy:`12`,r:`8`}),p(`path`,{d:`M12 8a6 6 0 0 1 0 8`})])],-1),f[10]||=p(`span`,null,`نوع بافت`,-1),p(`strong`,null,n(H.value.weaveType||`—`),1)])]),p(`button`,{type:`button`,class:`specs-more`,onClick:f[1]||=e=>J.value=!J.value},[r(n(J.value?`بستن مشخصات`:`مشاهده همه مشخصات`)+` `,1),(u(),o(`svg`,{class:t([`specs-more__chevron`,{"is-open":J.value}]),viewBox:`0 0 12 12`,"aria-hidden":`true`},[...f[11]||=[p(`path`,{d:`M3 4.5 6 8l3-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`},null,-1)]],2))]),J.value?(u(),o(`div`,be,[p(`p`,null,`فصل: `+n(He.value),1),p(`p`,null,`دسته: `+n(Ve.value),1),p(`p`,null,`جمع سفارش: `+n(c(g)(Z.value))+` متر`,1)])):i(``,!0),p(`section`,xe,[p(`div`,Se,[f[12]||=p(`h2`,null,`رنگ‌بندی`,-1),p(`span`,null,`(`+n(c(g)(H.value.colors.length))+` رنگ موجود)`,1)]),p(`div`,Ce,[(u(!0),o(a,null,d(H.value.colors,(e,n)=>(u(),o(`button`,{key:n,type:`button`,class:t([`color-dot`,{"color-dot--active":G.value===n}]),style:l(c(_)(e,H.value.colorImages?.[n]||H.value.imageUrls?.[n])),onClick:e=>G.value=n},null,14,we))),128))])]),p(`section`,Te,[f[13]||=p(`h2`,{class:`section-title`},`دسته‌بندی`,-1),p(`div`,Ee,[(u(!0),o(a,null,d(Ue.value,e=>(u(),o(`button`,{key:e.key,type:`button`,class:t([`tag`,{"tag--link":!!e.to}]),role:`listitem`,onClick:t=>e.to&&c(R).push(e.to)},n(e.label),11,De))),128))])]),p(`section`,Oe,[f[14]||=p(`h2`,{class:`section-title`},`متراژ هر ساقه (طاقه)`,-1),p(`div`,I,n(c(g)(H.value.rollMeters))+` متر`,1)])])]),p(`footer`,ke,[p(`div`,Ae,[p(`button`,{type:`button`,class:`btn-primary`,disabled:q.value,onClick:Ke},[s(ae,{size:18,color:`#ffffff`}),r(` `+n(q.value?`در حال افزودن...`:`افزودن به سفارش`),1)],8,je),p(`p`,Me,`حداقل سفارش: `+n(c(g)(Q.value))+` طاقه`,1)]),p(`button`,{type:`button`,class:`btn-secondary`,onClick:f[2]||=e=>c(R).push({path:`/catalog-request`,query:{productId:H.value.id}})},[s(se,{size:18}),f[15]||=r(` درخواست کالیته `,-1)])])])):U.value?(u(),o(`div`,Ne,[s(ue,{variant:`detail`})])):(u(),o(`div`,Pe,[p(`p`,null,n(W.value||`محصول یافت نشد.`),1),p(`button`,{type:`button`,onClick:f[3]||=e=>c(R).push(`/products`)},`بازگشت به لیست`)]))}}),[[`__scopeId`,`data-v-f892ab0d`]]);export{L as default}; \ No newline at end of file diff --git a/dist/assets/ProductsView-B4EcZOo9.js b/dist/assets/ProductsView-FPfFjubT.js similarity index 97% rename from dist/assets/ProductsView-B4EcZOo9.js rename to dist/assets/ProductsView-FPfFjubT.js index 83cf5ad..e020a80 100644 --- a/dist/assets/ProductsView-B4EcZOo9.js +++ b/dist/assets/ProductsView-FPfFjubT.js @@ -1 +1 @@ -import{A as e,Ct as t,D as n,Et as r,L as i,M as a,N as o,O as s,P as c,R as l,St as u,Tt as d,Y as f,Z as p,_ as m,g as h,j as g,mt as _,n as v,q as ee,rt as te,tt as y,z as b}from"./BasicIcon-C6boaehV.js";import{l as ne,o as re}from"./index-spodxsRN.js";import{t as ie}from"./IconFilter-D9NdLZ7w.js";import{t as ae}from"./PageSkeleton-uO-jhbNm.js";import{t as oe}from"./crm-CtglbPsN.js";import{n as x}from"./colorSwatch-BgOH1LE5.js";import{t as S}from"./PageHeader-BaJqBjIW.js";import{t as C}from"./SearchField-Dx2PcshV.js";import{t as se}from"./IconHeart-CZMe29Nz.js";var ce={class:`page products-page`},le={class:`page__scroll page__scroll--with-nav products-scroll`},ue={key:1},de={class:`cat-banner`},fe={class:`chips`,role:`tablist`,"aria-label":`فصل`},pe=[`onClick`],me={class:`list-meta`},he=[`onClick`],w={class:`product-item__body`},T={class:`product-item__head`},E={class:`product-item__title`},D={key:0,class:`new-tag`},O=[`aria-label`,`aria-pressed`,`onClick`],k={class:`product-item__specs`},A={class:`swatches`},j=[`onClick`],M={key:0,class:`empty-list`},N=v(b({__name:`ProductsView`,setup(v){let b=h(),N=m(),P=oe(),F=ne(),I=e(()=>String(b.query.categoryId??``)),L=e(()=>String(b.query.catalogId??``)),R=e(()=>String(b.query.companyId??``)),z=e(()=>String(b.query.season??``)),B=e(()=>String(b.query.q??``)),V=_(String(b.query.q??``)),H=_([]),U=_([]),W=_(``),G=_(!0),K=_(null),q=_(`newest`),J=e(()=>L.value&&W.value?W.value:I.value?P.usageCategories.find(e=>e.id===I.value)?.title??`محصولات`:z.value?U.value.find(e=>e.id===z.value)?.title??`محصولات`:B.value?`جستجو: ${B.value}`:`همه محصولات`),ge=e(()=>L.value?`انتخاب محصول از کالیته`:I.value===`suit`?`شیک، بادوام و رسمی`:I.value===`trousers`?`مناسب شلوار و مصارف روزانه`:I.value===`shirt`?`سبک و مناسب پیراهن`:z.value?`فیلتر شده بر اساس فصل`:`مشاهده و ثبت سفارش`),_e=e(()=>!I.value&&!L.value),Y=e(()=>{let e=B.value.trim().toLowerCase(),t=[...H.value];return e&&(t=t.filter(t=>t.name.toLowerCase().includes(e)||t.code.toLowerCase().includes(e)||(t.composition||``).toLowerCase().includes(e))),q.value===`name`?t.sort((e,t)=>e.name.localeCompare(t.name,`fa`)):t.sort((e,t)=>Number(t.isNew)-Number(e.isNew)||e.name.localeCompare(t.name,`fa`))});function X(){q.value=q.value===`newest`?`name`:`newest`}function ve(e){V.value=e,N.replace({path:`/products`,query:{...I.value?{categoryId:I.value}:{},...L.value?{catalogId:L.value}:{},...R.value?{companyId:R.value}:{},...z.value?{season:z.value}:{},...e.trim()?{q:e.trim()}:{}}})}async function Z(){G.value=!0,K.value=null;try{if(!P.usageCategories.length||!U.value.length){let e=await P.loadCategories();U.value=e.seasons}H.value=await P.loadBrowseProducts({categoryId:I.value||void 0,season:z.value||void 0,catalogId:L.value||void 0,companyId:R.value||void 0});let e=H.value[0];W.value=e?.catalogName||e?.catalogCode||``}catch(e){K.value=e instanceof Error?e.message:`بارگذاری محصولات ناموفق بود.`,H.value=[]}finally{G.value=!1}}ee(async()=>{await F.hydrate(),await Z()}),y([I,z,L,R],Z),y(B,e=>{V.value=e});function Q(e){N.replace({path:`/products`,query:{...I.value?{categoryId:I.value}:{},...L.value?{catalogId:L.value}:{},...R.value?{companyId:R.value}:{},...e?{season:e}:{},...B.value?{q:B.value}:{}}})}function $(e){N.push({path:`/product`,query:{id:e}})}function ye(e){return U.value.find(t=>t.id===e)?.title??e}function be(e){F.toggle(e)}return(e,m)=>(f(),c(`div`,ce,[l(S,{title:J.value,"show-back":``,centered:``,onBack:m[1]||=e=>u(N).back()},{trailing:te(()=>[g(`button`,{type:`button`,class:`nav-filter`,"aria-label":`فیلتر`,onClick:m[0]||=e=>u(N).push(`/categories`)},[l(ie,{size:18})])]),_:1},8,[`title`]),g(`div`,le,[_e.value?(f(),a(C,{key:0,"model-value":V.value,placeholder:`جستجو نام یا کد محصول...`,"onUpdate:modelValue":ve},null,8,[`model-value`])):o(``,!0),K.value?(f(),c(`p`,ue,r(K.value),1)):G.value?(f(),a(ae,{key:2,variant:`grid`})):(f(),c(s,{key:3},[g(`section`,de,[m[3]||=g(`div`,{class:`cat-banner__icon`,"aria-hidden":`true`},null,-1),g(`div`,null,[g(`h2`,null,r(J.value),1),g(`p`,null,r(ge.value),1)])]),g(`div`,fe,[g(`button`,{type:`button`,class:t([`chip`,{"chip--active":!z.value}]),onClick:m[2]||=e=>Q(``)},` همه `,2),(f(!0),c(s,null,p(U.value,e=>(f(),c(`button`,{key:e.id,type:`button`,class:t([`chip`,{"chip--active":z.value===e.id}]),onClick:t=>Q(e.id)},r(e.title),11,pe))),128))]),g(`div`,me,[g(`span`,null,`تعداد محصولات: `+r(Y.value.length.toLocaleString(`fa-IR`)),1),g(`button`,{type:`button`,class:`list-meta__sort`,onClick:X},` مرتب‌سازی: `+r(q.value===`newest`?`جدیدترین`:`نام`),1)]),(f(!0),c(s,null,p(Y.value,e=>(f(),c(`article`,{key:e.id,class:`product-item`,onClick:t=>$(e.id)},[g(`div`,{class:`product-item__image`,style:d(e.imageUrl?{backgroundImage:`url(${e.imageUrl})`}:void 0)},null,4),g(`div`,w,[g(`div`,T,[g(`div`,E,[g(`strong`,null,r(e.name),1),e.isNew?(f(),c(`span`,D,`جدید`)):o(``,!0)]),g(`button`,{type:`button`,class:`bookmark`,"aria-label":u(F).isFavorite(e.id)?`حذف از علاقه‌مندی‌ها`:`افزودن به علاقه‌مندی‌ها`,"aria-pressed":u(F).isFavorite(e.id),onClick:n(t=>be(e.id),[`stop`])},[l(se,{size:18,filled:u(F).isFavorite(e.id),color:u(F).isFavorite(e.id)?`#0a353c`:`#9ca3af`},null,8,[`filled`,`color`])],8,O)]),g(`ul`,k,[g(`li`,null,`عرض: `+r(e.widthCm.toLocaleString(`fa-IR`))+` سانتی‌متر`,1),g(`li`,null,`ترکیب: `+r(e.composition||`—`),1),g(`li`,null,`مناسب: `+r(ye(e.season)),1)]),g(`div`,A,[(f(!0),c(s,null,p(e.colors.slice(0,6),(t,n)=>(f(),c(`span`,{key:n,class:`swatch`,style:d(u(x)(t,e.colorImages?.[n]||e.imageUrls?.[n]))},null,4))),128))]),g(`button`,{type:`button`,class:`details-link`,onClick:n(t=>$(e.id),[`stop`])},[m[4]||=i(` مشاهده جزئیات `,-1),l(re,{size:14})],8,j)])],8,he))),128)),Y.value.length?o(``,!0):(f(),c(`p`,M,`محصولی در این دسته یافت نشد.`))],64))])]))}}),[[`__scopeId`,`data-v-ea9e9c36`]]);export{N as default}; \ No newline at end of file +import{A as e,Ct as t,D as n,Et as r,L as i,M as a,N as o,O as s,P as c,R as l,St as u,Tt as d,Y as f,Z as p,_ as m,g as h,j as g,mt as _,n as v,q as ee,rt as te,tt as y,z as b}from"./BasicIcon-C6boaehV.js";import{l as ne,o as re}from"./index-B6MlTGUp.js";import{t as ie}from"./IconFilter-D9NdLZ7w.js";import{t as ae}from"./PageSkeleton-uO-jhbNm.js";import{t as oe}from"./crm-CtglbPsN.js";import{n as x}from"./colorSwatch-BgOH1LE5.js";import{t as S}from"./PageHeader-CDQMUtCp.js";import{t as C}from"./SearchField-Dx2PcshV.js";import{t as se}from"./IconHeart-CZMe29Nz.js";var ce={class:`page products-page`},le={class:`page__scroll page__scroll--with-nav products-scroll`},ue={key:1},de={class:`cat-banner`},fe={class:`chips`,role:`tablist`,"aria-label":`فصل`},pe=[`onClick`],me={class:`list-meta`},he=[`onClick`],w={class:`product-item__body`},T={class:`product-item__head`},E={class:`product-item__title`},D={key:0,class:`new-tag`},O=[`aria-label`,`aria-pressed`,`onClick`],k={class:`product-item__specs`},A={class:`swatches`},j=[`onClick`],M={key:0,class:`empty-list`},N=v(b({__name:`ProductsView`,setup(v){let b=h(),N=m(),P=oe(),F=ne(),I=e(()=>String(b.query.categoryId??``)),L=e(()=>String(b.query.catalogId??``)),R=e(()=>String(b.query.companyId??``)),z=e(()=>String(b.query.season??``)),B=e(()=>String(b.query.q??``)),V=_(String(b.query.q??``)),H=_([]),U=_([]),W=_(``),G=_(!0),K=_(null),q=_(`newest`),J=e(()=>L.value&&W.value?W.value:I.value?P.usageCategories.find(e=>e.id===I.value)?.title??`محصولات`:z.value?U.value.find(e=>e.id===z.value)?.title??`محصولات`:B.value?`جستجو: ${B.value}`:`همه محصولات`),ge=e(()=>L.value?`انتخاب محصول از کالیته`:I.value===`suit`?`شیک، بادوام و رسمی`:I.value===`trousers`?`مناسب شلوار و مصارف روزانه`:I.value===`shirt`?`سبک و مناسب پیراهن`:z.value?`فیلتر شده بر اساس فصل`:`مشاهده و ثبت سفارش`),_e=e(()=>!I.value&&!L.value),Y=e(()=>{let e=B.value.trim().toLowerCase(),t=[...H.value];return e&&(t=t.filter(t=>t.name.toLowerCase().includes(e)||t.code.toLowerCase().includes(e)||(t.composition||``).toLowerCase().includes(e))),q.value===`name`?t.sort((e,t)=>e.name.localeCompare(t.name,`fa`)):t.sort((e,t)=>Number(t.isNew)-Number(e.isNew)||e.name.localeCompare(t.name,`fa`))});function X(){q.value=q.value===`newest`?`name`:`newest`}function ve(e){V.value=e,N.replace({path:`/products`,query:{...I.value?{categoryId:I.value}:{},...L.value?{catalogId:L.value}:{},...R.value?{companyId:R.value}:{},...z.value?{season:z.value}:{},...e.trim()?{q:e.trim()}:{}}})}async function Z(){G.value=!0,K.value=null;try{if(!P.usageCategories.length||!U.value.length){let e=await P.loadCategories();U.value=e.seasons}H.value=await P.loadBrowseProducts({categoryId:I.value||void 0,season:z.value||void 0,catalogId:L.value||void 0,companyId:R.value||void 0});let e=H.value[0];W.value=e?.catalogName||e?.catalogCode||``}catch(e){K.value=e instanceof Error?e.message:`بارگذاری محصولات ناموفق بود.`,H.value=[]}finally{G.value=!1}}ee(async()=>{await F.hydrate(),await Z()}),y([I,z,L,R],Z),y(B,e=>{V.value=e});function Q(e){N.replace({path:`/products`,query:{...I.value?{categoryId:I.value}:{},...L.value?{catalogId:L.value}:{},...R.value?{companyId:R.value}:{},...e?{season:e}:{},...B.value?{q:B.value}:{}}})}function $(e){N.push({path:`/product`,query:{id:e}})}function ye(e){return U.value.find(t=>t.id===e)?.title??e}function be(e){F.toggle(e)}return(e,m)=>(f(),c(`div`,ce,[l(S,{title:J.value,"show-back":``,centered:``,onBack:m[1]||=e=>u(N).back()},{trailing:te(()=>[g(`button`,{type:`button`,class:`nav-filter`,"aria-label":`فیلتر`,onClick:m[0]||=e=>u(N).push(`/categories`)},[l(ie,{size:18})])]),_:1},8,[`title`]),g(`div`,le,[_e.value?(f(),a(C,{key:0,"model-value":V.value,placeholder:`جستجو نام یا کد محصول...`,"onUpdate:modelValue":ve},null,8,[`model-value`])):o(``,!0),K.value?(f(),c(`p`,ue,r(K.value),1)):G.value?(f(),a(ae,{key:2,variant:`grid`})):(f(),c(s,{key:3},[g(`section`,de,[m[3]||=g(`div`,{class:`cat-banner__icon`,"aria-hidden":`true`},null,-1),g(`div`,null,[g(`h2`,null,r(J.value),1),g(`p`,null,r(ge.value),1)])]),g(`div`,fe,[g(`button`,{type:`button`,class:t([`chip`,{"chip--active":!z.value}]),onClick:m[2]||=e=>Q(``)},` همه `,2),(f(!0),c(s,null,p(U.value,e=>(f(),c(`button`,{key:e.id,type:`button`,class:t([`chip`,{"chip--active":z.value===e.id}]),onClick:t=>Q(e.id)},r(e.title),11,pe))),128))]),g(`div`,me,[g(`span`,null,`تعداد محصولات: `+r(Y.value.length.toLocaleString(`fa-IR`)),1),g(`button`,{type:`button`,class:`list-meta__sort`,onClick:X},` مرتب‌سازی: `+r(q.value===`newest`?`جدیدترین`:`نام`),1)]),(f(!0),c(s,null,p(Y.value,e=>(f(),c(`article`,{key:e.id,class:`product-item`,onClick:t=>$(e.id)},[g(`div`,{class:`product-item__image`,style:d(e.imageUrl?{backgroundImage:`url(${e.imageUrl})`}:void 0)},null,4),g(`div`,w,[g(`div`,T,[g(`div`,E,[g(`strong`,null,r(e.name),1),e.isNew?(f(),c(`span`,D,`جدید`)):o(``,!0)]),g(`button`,{type:`button`,class:`bookmark`,"aria-label":u(F).isFavorite(e.id)?`حذف از علاقه‌مندی‌ها`:`افزودن به علاقه‌مندی‌ها`,"aria-pressed":u(F).isFavorite(e.id),onClick:n(t=>be(e.id),[`stop`])},[l(se,{size:18,filled:u(F).isFavorite(e.id),color:u(F).isFavorite(e.id)?`#0a353c`:`#9ca3af`},null,8,[`filled`,`color`])],8,O)]),g(`ul`,k,[g(`li`,null,`عرض: `+r(e.widthCm.toLocaleString(`fa-IR`))+` سانتی‌متر`,1),g(`li`,null,`ترکیب: `+r(e.composition||`—`),1),g(`li`,null,`مناسب: `+r(ye(e.season)),1)]),g(`div`,A,[(f(!0),c(s,null,p(e.colors.slice(0,6),(t,n)=>(f(),c(`span`,{key:n,class:`swatch`,style:d(u(x)(t,e.colorImages?.[n]||e.imageUrls?.[n]))},null,4))),128))]),g(`button`,{type:`button`,class:`details-link`,onClick:n(t=>$(e.id),[`stop`])},[m[4]||=i(` مشاهده جزئیات `,-1),l(re,{size:14})],8,j)])],8,he))),128)),Y.value.length?o(``,!0):(f(),c(`p`,M,`محصولی در این دسته یافت نشد.`))],64))])]))}}),[[`__scopeId`,`data-v-ea9e9c36`]]);export{N as default}; \ No newline at end of file diff --git a/dist/assets/ProfileChecksView-wOLfVfr3.js b/dist/assets/ProfileChecksView-Bdf27K3J.js similarity index 67% rename from dist/assets/ProfileChecksView-wOLfVfr3.js rename to dist/assets/ProfileChecksView-Bdf27K3J.js index b56124a..8005ea9 100644 --- a/dist/assets/ProfileChecksView-wOLfVfr3.js +++ b/dist/assets/ProfileChecksView-Bdf27K3J.js @@ -1 +1 @@ -import{t as e}from"./CheckListView-DkR4Ltru.js";import{M as t,Y as n,z as r}from"./BasicIcon-C6boaehV.js";var i=r({__name:`ProfileChecksView`,setup(r){return(r,i)=>(n(),t(e))}});export{i as default}; \ No newline at end of file +import{t as e}from"./CheckListView-Bq44NHdA.js";import{M as t,Y as n,z as r}from"./BasicIcon-C6boaehV.js";var i=r({__name:`ProfileChecksView`,setup(r){return(r,i)=>(n(),t(e))}});export{i as default}; \ No newline at end of file diff --git a/dist/assets/ProfileDisplayView-ufvTk2u8.js b/dist/assets/ProfileDisplayView-BLWLfE9O.js similarity index 98% rename from dist/assets/ProfileDisplayView-ufvTk2u8.js rename to dist/assets/ProfileDisplayView-BLWLfE9O.js index 3957077..ca19bfb 100644 --- a/dist/assets/ProfileDisplayView-ufvTk2u8.js +++ b/dist/assets/ProfileDisplayView-BLWLfE9O.js @@ -1 +1 @@ -import{A as e,Ct as t,Et as n,L as r,M as i,N as a,O as o,P as s,R as c,St as l,Y as u,Z as d,_ as f,j as p,mt as m,n as h,rt as g,t as _,z as v}from"./BasicIcon-C6boaehV.js";import{u as y}from"./dist-CUUvbY4x.js";import{a as b,c as x,d as S,n as C}from"./index-spodxsRN.js";import{t as w}from"./ProfileSubpageLayout-PN2YWH-s.js";var T={class:`settings-page`},E={class:`settings-links`,"aria-label":`حساب کاربری`},D={class:`settings-link__icon`,"aria-hidden":`true`},O={class:`settings-link__icon`,"aria-hidden":`true`},k={class:`settings-link__label`},A={key:0},j={class:`display-fieldset`},M={class:`display-grid`,role:`radiogroup`,"aria-label":`حالت نمایش`},N=[`aria-checked`,`onClick`],P={class:`theme-card__icon`,"aria-hidden":`true`},F={class:`theme-card__body`},I={class:`theme-card__label`},L={class:`theme-card__desc`},R={class:`theme-card__check`,"aria-hidden":`true`},z={key:0,class:`display-saved`},B=h(v({__name:`ProfileDisplayView`,setup(h){let v=f(),B=x(),V=S(),H=b(),U=m(!1),{start:W}=y(()=>{U.value=!1},2e3),G=[{value:`light`,label:`روشن`,description:`پس‌زمینه روشن و کنتراست بالا`,icon:`vuesax-linear:sun-1`},{value:`dark`,label:`تاریک`,description:`مناسب استفاده در شب`,icon:`vuesax-linear:moon`},{value:`system`,label:`سیستم`,description:`هم‌تراز با تنظیمات دستگاه`,icon:`vuesax-linear:mobile`}],K=e(()=>V.draftChecks.length);function q(){U.value=!0,W()}function J(){B.logout(),v.replace(`/welcome`)}return(e,f)=>(u(),i(w,{title:`تنظیمات`,subtitle:`نمایش، حساب کاربری و خروج`},{default:g(()=>[p(`div`,T,[p(`nav`,E,[p(`button`,{type:`button`,class:`settings-link`,onClick:f[0]||=e=>l(v).push(`/profile/edit`)},[p(`span`,D,[c(_,{icon:`vuesax-linear:profile-circle`,size:20,"stroke-width":1.5})]),f[2]||=p(`span`,{class:`settings-link__label`},`اطلاعات کاربری`,-1),c(_,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})]),p(`button`,{type:`button`,class:`settings-link`,onClick:f[1]||=e=>l(v).push(`/profile/checks`)},[p(`span`,O,[c(_,{icon:`vuesax-linear:card`,size:20,"stroke-width":1.5})]),p(`span`,k,[f[3]||=r(` لیست چک‌ها `,-1),K.value?(u(),s(`em`,A,`(`+n(K.value)+`)`,1)):a(``,!0)]),c(_,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})])]),p(`fieldset`,j,[f[4]||=p(`legend`,{class:`display-fieldset__legend`},`حالت نمایش`,-1),p(`div`,M,[(u(),s(o,null,d(G,e=>p(`button`,{key:e.value,type:`button`,class:t([`theme-card`,{"theme-card--active":l(H).preference===e.value}]),role:`radio`,"aria-checked":l(H).preference===e.value,onClick:t=>l(H).preference=e.value},[p(`span`,P,[c(_,{icon:e.icon,size:26,"stroke-width":1.5},null,8,[`icon`])]),p(`span`,F,[p(`strong`,I,n(e.label),1),p(`span`,L,n(e.description),1)]),p(`span`,R,[l(H).preference===e.value?(u(),i(_,{key:0,icon:`vuesax-linear:tick-circle`,size:20,"stroke-width":1.75})):a(``,!0)])],10,N)),64))])]),c(C,{block:``,onClick:q},{default:g(()=>[...f[5]||=[r(`ذخیره تنظیمات`,-1)]]),_:1}),U.value?(u(),s(`p`,z,`تنظیمات نمایش ذخیره شد ✓`)):a(``,!0),p(`button`,{type:`button`,class:`settings-logout`,onClick:J},`خروج`)])]),_:1}))}}),[[`__scopeId`,`data-v-f16dc950`]]);export{B as default}; \ No newline at end of file +import{A as e,Ct as t,Et as n,L as r,M as i,N as a,O as o,P as s,R as c,St as l,Y as u,Z as d,_ as f,j as p,mt as m,n as h,rt as g,t as _,z as v}from"./BasicIcon-C6boaehV.js";import{u as y}from"./dist-CUUvbY4x.js";import{a as b,c as x,d as S,n as C}from"./index-B6MlTGUp.js";import{t as w}from"./ProfileSubpageLayout-PN2YWH-s.js";var T={class:`settings-page`},E={class:`settings-links`,"aria-label":`حساب کاربری`},D={class:`settings-link__icon`,"aria-hidden":`true`},O={class:`settings-link__icon`,"aria-hidden":`true`},k={class:`settings-link__label`},A={key:0},j={class:`display-fieldset`},M={class:`display-grid`,role:`radiogroup`,"aria-label":`حالت نمایش`},N=[`aria-checked`,`onClick`],P={class:`theme-card__icon`,"aria-hidden":`true`},F={class:`theme-card__body`},I={class:`theme-card__label`},L={class:`theme-card__desc`},R={class:`theme-card__check`,"aria-hidden":`true`},z={key:0,class:`display-saved`},B=h(v({__name:`ProfileDisplayView`,setup(h){let v=f(),B=x(),V=S(),H=b(),U=m(!1),{start:W}=y(()=>{U.value=!1},2e3),G=[{value:`light`,label:`روشن`,description:`پس‌زمینه روشن و کنتراست بالا`,icon:`vuesax-linear:sun-1`},{value:`dark`,label:`تاریک`,description:`مناسب استفاده در شب`,icon:`vuesax-linear:moon`},{value:`system`,label:`سیستم`,description:`هم‌تراز با تنظیمات دستگاه`,icon:`vuesax-linear:mobile`}],K=e(()=>V.draftChecks.length);function q(){U.value=!0,W()}function J(){B.logout(),v.replace(`/welcome`)}return(e,f)=>(u(),i(w,{title:`تنظیمات`,subtitle:`نمایش، حساب کاربری و خروج`},{default:g(()=>[p(`div`,T,[p(`nav`,E,[p(`button`,{type:`button`,class:`settings-link`,onClick:f[0]||=e=>l(v).push(`/profile/edit`)},[p(`span`,D,[c(_,{icon:`vuesax-linear:profile-circle`,size:20,"stroke-width":1.5})]),f[2]||=p(`span`,{class:`settings-link__label`},`اطلاعات کاربری`,-1),c(_,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})]),p(`button`,{type:`button`,class:`settings-link`,onClick:f[1]||=e=>l(v).push(`/profile/checks`)},[p(`span`,O,[c(_,{icon:`vuesax-linear:card`,size:20,"stroke-width":1.5})]),p(`span`,k,[f[3]||=r(` لیست چک‌ها `,-1),K.value?(u(),s(`em`,A,`(`+n(K.value)+`)`,1)):a(``,!0)]),c(_,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})])]),p(`fieldset`,j,[f[4]||=p(`legend`,{class:`display-fieldset__legend`},`حالت نمایش`,-1),p(`div`,M,[(u(),s(o,null,d(G,e=>p(`button`,{key:e.value,type:`button`,class:t([`theme-card`,{"theme-card--active":l(H).preference===e.value}]),role:`radio`,"aria-checked":l(H).preference===e.value,onClick:t=>l(H).preference=e.value},[p(`span`,P,[c(_,{icon:e.icon,size:26,"stroke-width":1.5},null,8,[`icon`])]),p(`span`,F,[p(`strong`,I,n(e.label),1),p(`span`,L,n(e.description),1)]),p(`span`,R,[l(H).preference===e.value?(u(),i(_,{key:0,icon:`vuesax-linear:tick-circle`,size:20,"stroke-width":1.75})):a(``,!0)])],10,N)),64))])]),c(C,{block:``,onClick:q},{default:g(()=>[...f[5]||=[r(`ذخیره تنظیمات`,-1)]]),_:1}),U.value?(u(),s(`p`,z,`تنظیمات نمایش ذخیره شد ✓`)):a(``,!0),p(`button`,{type:`button`,class:`settings-logout`,onClick:J},`خروج`)])]),_:1}))}}),[[`__scopeId`,`data-v-f16dc950`]]);export{B as default}; \ No newline at end of file diff --git a/dist/assets/ProfileEditView-dnVuGX6w.js b/dist/assets/ProfileEditView-C6fQ0UNn.js similarity index 98% rename from dist/assets/ProfileEditView-dnVuGX6w.js rename to dist/assets/ProfileEditView-C6fQ0UNn.js index b6a44d9..4b6b197 100644 --- a/dist/assets/ProfileEditView-dnVuGX6w.js +++ b/dist/assets/ProfileEditView-C6fQ0UNn.js @@ -1 +1 @@ -import{A as e,Et as t,L as n,M as r,N as i,P as a,R as o,Y as s,j as c,mt as l,n as u,rt as d,t as f,z as p}from"./BasicIcon-C6boaehV.js";import{c as m,n as h,r as g}from"./index-spodxsRN.js";import{t as _}from"./FormErrorBanner-CjdBfIQT.js";import{n as v,r as y,t as b}from"./formErrors-DglFjYkZ.js";import{t as x}from"./BaseInput-qoEXOHCQ.js";import{t as S}from"./ProfileSubpageLayout-PN2YWH-s.js";var C=512,w=.82;async function T(e){if(!e.type.startsWith(`image/`))throw Error(`فقط فایل تصویری مجاز است.`);if(e.size>8388608)throw Error(`حجم تصویر نباید بیشتر از ۸ مگابایت باشد.`);return D(await E(e))}function E(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result??``)),r.onerror=()=>n(Error(`خواندن تصویر ناموفق بود.`)),r.readAsDataURL(e)})}function D(e){return new Promise((t,n)=>{let r=new Image;r.onload=()=>{let e=Math.min(1,C/Math.max(r.width,r.height)),i=Math.max(1,Math.round(r.width*e)),a=Math.max(1,Math.round(r.height*e)),o=document.createElement(`canvas`);o.width=i,o.height=a;let s=o.getContext(`2d`);if(!s){n(Error(`پردازش تصویر ناموفق بود.`));return}s.drawImage(r,0,0,i,a),t(o.toDataURL(`image/jpeg`,w))},r.onerror=()=>n(Error(`تصویر نامعتبر است.`)),r.src=e})}var O={class:`profile-edit`},k={class:`avatar-editor`},A={class:`avatar-editor__actions`},j={class:`avatar-editor__btns`},M=[`disabled`],N=[`disabled`],P={class:`profile-edit__intro`},F={class:`profile-edit__intro-icon`,"aria-hidden":`true`},I={class:`profile-edit__grid`},L={class:`profile-edit__actions`},R={key:0,class:`profile-edit__saved`},z=u(p({__name:`ProfileEditView`,setup(u){let p=m(),C=l(p.user?.firstName??``),w=l(p.user?.lastName??``),E=l(p.user?.nationalId??``),D=l(p.user?.avatarUrl??null),z=l(null),B=l({}),V=l(``),H=l(!1),U=l(!1),W=e(()=>`${C.value.trim().charAt(0)}${w.value.trim().charAt(0)}`||`؟`);function G(e){B.value=v(B.value,e),y(B.value)||(V.value=``)}function K(){z.value?.click()}async function q(e){U.value=!0,V.value=``;try{let t=await p.updateProfile({avatarUrl:e??``});t?D.value=t.avatarUrl??null:D.value=e}catch(e){V.value=e instanceof Error?e.message:`ذخیره تصویر ناموفق بود.`}finally{U.value=!1}}async function J(e){let t=e.target,n=t.files?.[0];if(t.value=``,n){U.value=!0,V.value=``;try{let e=await T(n);D.value=e,await q(e)}catch(e){V.value=e instanceof Error?e.message:`بارگذاری تصویر ناموفق بود.`,U.value=!1}}}async function Y(){D.value=null,await q(null)}async function X(){B.value={},V.value=``,H.value=!1;let e={};if(C.value.trim()||(e.firstName=`نام الزامی است.`),w.value.trim()||(e.lastName=`نام خانوادگی الزامی است.`),E.value&&E.value.length!==10&&(e.nationalId=`کد ملی باید ۱۰ رقم باشد.`),y(e)){B.value=e,V.value=b;return}if(!await p.updateProfile({firstName:C.value.trim(),lastName:w.value.trim(),nationalId:E.value||void 0,avatarUrl:D.value??``})){V.value=`ذخیره پروفایل ناموفق بود.`;return}H.value=!0,setTimeout(()=>{H.value=!1},2e3)}return(e,l)=>(s(),r(S,{title:`اطلاعات کاربری`,subtitle:`ویرایش تصویر، نام و کد ملی حساب کاربری`},{default:d(()=>[o(_,{message:V.value},null,8,[`message`]),c(`div`,O,[c(`div`,k,[o(g,{src:D.value,initials:W.value,size:96,class:`avatar-editor__photo`},null,8,[`src`,`initials`]),c(`div`,A,[l[6]||=c(`p`,{class:`avatar-editor__title`},`تصویر پروفایل`,-1),l[7]||=c(`p`,{class:`avatar-editor__hint`},`افزودن، تغییر یا حذف عکس نمایش‌داده‌شده در پروفایل`,-1),c(`div`,j,[c(`button`,{type:`button`,class:`avatar-btn`,disabled:U.value,onClick:K},t(D.value?`تغییر تصویر`:`افزودن تصویر`),9,M),D.value?(s(),a(`button`,{key:0,type:`button`,class:`avatar-btn avatar-btn--danger`,disabled:U.value,onClick:Y},` حذف تصویر `,8,N)):i(``,!0)])]),c(`input`,{ref_key:`fileInput`,ref:z,type:`file`,accept:`image/*`,class:`avatar-editor__file`,onChange:J},null,544)]),c(`div`,P,[c(`span`,F,[o(f,{icon:`vuesax-linear:profile-circle`,size:22,"stroke-width":1.5})]),l[8]||=c(`div`,{class:`profile-edit__intro-text`},[c(`strong`,null,`مشخصات فردی`),c(`p`,null,`این اطلاعات روی سفارش‌ها و چک‌های ثبت‌شده نمایش داده می‌شود.`)],-1)]),c(`div`,I,[o(x,{modelValue:C.value,"onUpdate:modelValue":[l[0]||=e=>C.value=e,l[1]||=e=>G(`firstName`)],label:`نام`,error:B.value.firstName},null,8,[`modelValue`,`error`]),o(x,{modelValue:w.value,"onUpdate:modelValue":[l[2]||=e=>w.value=e,l[3]||=e=>G(`lastName`)],label:`نام خانوادگی`,error:B.value.lastName},null,8,[`modelValue`,`error`]),o(x,{modelValue:E.value,"onUpdate:modelValue":[l[4]||=e=>E.value=e,l[5]||=e=>G(`nationalId`)],class:`profile-edit__full`,label:`کد ملی`,maxlength:`10`,inputmode:`numeric`,dir:`ltr`,hint:`برای ثبت چک الزامی است`,error:B.value.nationalId},null,8,[`modelValue`,`error`])]),c(`div`,L,[o(h,{class:`profile-edit__save`,onClick:X},{default:d(()=>[...l[9]||=[n(`ذخیره تغییرات`,-1)]]),_:1}),H.value?(s(),a(`p`,R,`ذخیره شد ✓`)):i(``,!0)])])]),_:1}))}}),[[`__scopeId`,`data-v-bd0a4276`]]);export{z as default}; \ No newline at end of file +import{A as e,Et as t,L as n,M as r,N as i,P as a,R as o,Y as s,j as c,mt as l,n as u,rt as d,t as f,z as p}from"./BasicIcon-C6boaehV.js";import{c as m,n as h,r as g}from"./index-B6MlTGUp.js";import{t as _}from"./FormErrorBanner-CjdBfIQT.js";import{n as v,r as y,t as b}from"./formErrors-DglFjYkZ.js";import{t as x}from"./BaseInput-qoEXOHCQ.js";import{t as S}from"./ProfileSubpageLayout-PN2YWH-s.js";var C=512,w=.82;async function T(e){if(!e.type.startsWith(`image/`))throw Error(`فقط فایل تصویری مجاز است.`);if(e.size>8388608)throw Error(`حجم تصویر نباید بیشتر از ۸ مگابایت باشد.`);return D(await E(e))}function E(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result??``)),r.onerror=()=>n(Error(`خواندن تصویر ناموفق بود.`)),r.readAsDataURL(e)})}function D(e){return new Promise((t,n)=>{let r=new Image;r.onload=()=>{let e=Math.min(1,C/Math.max(r.width,r.height)),i=Math.max(1,Math.round(r.width*e)),a=Math.max(1,Math.round(r.height*e)),o=document.createElement(`canvas`);o.width=i,o.height=a;let s=o.getContext(`2d`);if(!s){n(Error(`پردازش تصویر ناموفق بود.`));return}s.drawImage(r,0,0,i,a),t(o.toDataURL(`image/jpeg`,w))},r.onerror=()=>n(Error(`تصویر نامعتبر است.`)),r.src=e})}var O={class:`profile-edit`},k={class:`avatar-editor`},A={class:`avatar-editor__actions`},j={class:`avatar-editor__btns`},M=[`disabled`],N=[`disabled`],P={class:`profile-edit__intro`},F={class:`profile-edit__intro-icon`,"aria-hidden":`true`},I={class:`profile-edit__grid`},L={class:`profile-edit__actions`},R={key:0,class:`profile-edit__saved`},z=u(p({__name:`ProfileEditView`,setup(u){let p=m(),C=l(p.user?.firstName??``),w=l(p.user?.lastName??``),E=l(p.user?.nationalId??``),D=l(p.user?.avatarUrl??null),z=l(null),B=l({}),V=l(``),H=l(!1),U=l(!1),W=e(()=>`${C.value.trim().charAt(0)}${w.value.trim().charAt(0)}`||`؟`);function G(e){B.value=v(B.value,e),y(B.value)||(V.value=``)}function K(){z.value?.click()}async function q(e){U.value=!0,V.value=``;try{let t=await p.updateProfile({avatarUrl:e??``});t?D.value=t.avatarUrl??null:D.value=e}catch(e){V.value=e instanceof Error?e.message:`ذخیره تصویر ناموفق بود.`}finally{U.value=!1}}async function J(e){let t=e.target,n=t.files?.[0];if(t.value=``,n){U.value=!0,V.value=``;try{let e=await T(n);D.value=e,await q(e)}catch(e){V.value=e instanceof Error?e.message:`بارگذاری تصویر ناموفق بود.`,U.value=!1}}}async function Y(){D.value=null,await q(null)}async function X(){B.value={},V.value=``,H.value=!1;let e={};if(C.value.trim()||(e.firstName=`نام الزامی است.`),w.value.trim()||(e.lastName=`نام خانوادگی الزامی است.`),E.value&&E.value.length!==10&&(e.nationalId=`کد ملی باید ۱۰ رقم باشد.`),y(e)){B.value=e,V.value=b;return}if(!await p.updateProfile({firstName:C.value.trim(),lastName:w.value.trim(),nationalId:E.value||void 0,avatarUrl:D.value??``})){V.value=`ذخیره پروفایل ناموفق بود.`;return}H.value=!0,setTimeout(()=>{H.value=!1},2e3)}return(e,l)=>(s(),r(S,{title:`اطلاعات کاربری`,subtitle:`ویرایش تصویر، نام و کد ملی حساب کاربری`},{default:d(()=>[o(_,{message:V.value},null,8,[`message`]),c(`div`,O,[c(`div`,k,[o(g,{src:D.value,initials:W.value,size:96,class:`avatar-editor__photo`},null,8,[`src`,`initials`]),c(`div`,A,[l[6]||=c(`p`,{class:`avatar-editor__title`},`تصویر پروفایل`,-1),l[7]||=c(`p`,{class:`avatar-editor__hint`},`افزودن، تغییر یا حذف عکس نمایش‌داده‌شده در پروفایل`,-1),c(`div`,j,[c(`button`,{type:`button`,class:`avatar-btn`,disabled:U.value,onClick:K},t(D.value?`تغییر تصویر`:`افزودن تصویر`),9,M),D.value?(s(),a(`button`,{key:0,type:`button`,class:`avatar-btn avatar-btn--danger`,disabled:U.value,onClick:Y},` حذف تصویر `,8,N)):i(``,!0)])]),c(`input`,{ref_key:`fileInput`,ref:z,type:`file`,accept:`image/*`,class:`avatar-editor__file`,onChange:J},null,544)]),c(`div`,P,[c(`span`,F,[o(f,{icon:`vuesax-linear:profile-circle`,size:22,"stroke-width":1.5})]),l[8]||=c(`div`,{class:`profile-edit__intro-text`},[c(`strong`,null,`مشخصات فردی`),c(`p`,null,`این اطلاعات روی سفارش‌ها و چک‌های ثبت‌شده نمایش داده می‌شود.`)],-1)]),c(`div`,I,[o(x,{modelValue:C.value,"onUpdate:modelValue":[l[0]||=e=>C.value=e,l[1]||=e=>G(`firstName`)],label:`نام`,error:B.value.firstName},null,8,[`modelValue`,`error`]),o(x,{modelValue:w.value,"onUpdate:modelValue":[l[2]||=e=>w.value=e,l[3]||=e=>G(`lastName`)],label:`نام خانوادگی`,error:B.value.lastName},null,8,[`modelValue`,`error`]),o(x,{modelValue:E.value,"onUpdate:modelValue":[l[4]||=e=>E.value=e,l[5]||=e=>G(`nationalId`)],class:`profile-edit__full`,label:`کد ملی`,maxlength:`10`,inputmode:`numeric`,dir:`ltr`,hint:`برای ثبت چک الزامی است`,error:B.value.nationalId},null,8,[`modelValue`,`error`])]),c(`div`,L,[o(h,{class:`profile-edit__save`,onClick:X},{default:d(()=>[...l[9]||=[n(`ذخیره تغییرات`,-1)]]),_:1}),H.value?(s(),a(`p`,R,`ذخیره شد ✓`)):i(``,!0)])])]),_:1}))}}),[[`__scopeId`,`data-v-bd0a4276`]]);export{z as default}; \ No newline at end of file diff --git a/dist/assets/ProfileNotificationsView-BDtqUYZj.js b/dist/assets/ProfileNotificationsView-CftqndvR.js similarity index 94% rename from dist/assets/ProfileNotificationsView-BDtqUYZj.js rename to dist/assets/ProfileNotificationsView-CftqndvR.js index 4828f27..dda1f05 100644 --- a/dist/assets/ProfileNotificationsView-BDtqUYZj.js +++ b/dist/assets/ProfileNotificationsView-CftqndvR.js @@ -1 +1 @@ -import{A as e,Ct as t,Et as n,L as r,M as i,N as a,O as o,P as s,R as c,St as l,Y as u,Z as d,_ as f,j as p,n as m,q as h,rt as g,t as _,z as v}from"./BasicIcon-C6boaehV.js";import{i as y}from"./format-BHJptHdF.js";import{n as b,u as x}from"./index-spodxsRN.js";import{t as S}from"./EmptyState-C_QQeA_h.js";import{t as C}from"./ProfileSubpageLayout-PN2YWH-s.js";var w={key:0,class:`notif-box`},T={class:`notif-box__head`},E={class:`notif-box__count`},D=[`onClick`],O={class:`notif-row__icon`,"aria-hidden":`true`},k={class:`notif-row__body`},A={class:`notif-row__title-row`},j={class:`notif-row__title`},M={key:0,class:`notif-row__dot`,"aria-label":`خوانده‌نشده`},N={class:`notif-row__text`},P={class:`notif-row__time`},F=m(v({__name:`ProfileNotificationsView`,setup(m){let v=f(),F=x(),I=e(()=>F.items),L=e(()=>F.hasUnread),R={info:`vuesax-linear:information`,success:`vuesax-linear:tick-circle`,warning:`vuesax-linear:timer`,danger:`vuesax-linear:close-circle`};h(()=>{F.hydrate()});async function z(e){await F.markRead(e.id),e.link&&v.push(e.link)}return(e,f)=>(u(),i(C,{title:`اعلان‌ها`,subtitle:`آخرین خبرهای سفارش‌های شما`},{default:g(()=>[I.value.length?(u(),s(`div`,w,[p(`div`,T,[p(`span`,E,n(L.value?`${l(F).unreadCount} اعلان خوانده‌نشده`:`همه خوانده شده`),1),L.value?(u(),i(b,{key:0,variant:`outline`,class:`notif-box__mark`,onClick:f[0]||=e=>l(F).markAllRead()},{default:g(()=>[...f[2]||=[r(` خواندن همه `,-1)]]),_:1})):a(``,!0)]),(u(!0),s(o,null,d(I.value,e=>(u(),s(`button`,{key:e.id,type:`button`,class:t([`notif-row`,[`notif-row--${e.tone}`,{"notif-row--unread":!e.isRead}]]),onClick:t=>z(e)},[p(`span`,O,[c(_,{icon:R[e.tone],size:22,"stroke-width":1.5},null,8,[`icon`])]),p(`span`,k,[p(`span`,A,[p(`strong`,j,n(e.title),1),e.isRead?a(``,!0):(u(),s(`span`,M))]),p(`span`,N,n(e.body),1),p(`span`,P,n(l(y)(e.sentAt)),1)])],10,D))),128))])):(u(),i(S,{key:1,icon:`vuesax-linear:notification-bing`,title:`اعلانی ندارید`,message:`وقتی فاکتور سفارشتان صادر شود یا وضعیت چک و پرداخت تغییر کند، همین‌جا خبردار می‌شوید.`},{default:g(()=>[c(b,{variant:`outline`,onClick:f[1]||=e=>l(v).push(`/orders`)},{default:g(()=>[...f[3]||=[r(`سفارش‌های من`,-1)]]),_:1})]),_:1}))]),_:1}))}}),[[`__scopeId`,`data-v-57190756`]]);export{F as default}; \ No newline at end of file +import{A as e,Ct as t,Et as n,L as r,M as i,N as a,O as o,P as s,R as c,St as l,Y as u,Z as d,_ as f,j as p,n as m,q as h,rt as g,t as _,z as v}from"./BasicIcon-C6boaehV.js";import{i as y}from"./format-BHJptHdF.js";import{n as b,u as x}from"./index-B6MlTGUp.js";import{t as S}from"./EmptyState-C_QQeA_h.js";import{t as C}from"./ProfileSubpageLayout-PN2YWH-s.js";var w={key:0,class:`notif-box`},T={class:`notif-box__head`},E={class:`notif-box__count`},D=[`onClick`],O={class:`notif-row__icon`,"aria-hidden":`true`},k={class:`notif-row__body`},A={class:`notif-row__title-row`},j={class:`notif-row__title`},M={key:0,class:`notif-row__dot`,"aria-label":`خوانده‌نشده`},N={class:`notif-row__text`},P={class:`notif-row__time`},F=m(v({__name:`ProfileNotificationsView`,setup(m){let v=f(),F=x(),I=e(()=>F.items),L=e(()=>F.hasUnread),R={info:`vuesax-linear:information`,success:`vuesax-linear:tick-circle`,warning:`vuesax-linear:timer`,danger:`vuesax-linear:close-circle`};h(()=>{F.hydrate()});async function z(e){await F.markRead(e.id),e.link&&v.push(e.link)}return(e,f)=>(u(),i(C,{title:`اعلان‌ها`,subtitle:`آخرین خبرهای سفارش‌های شما`},{default:g(()=>[I.value.length?(u(),s(`div`,w,[p(`div`,T,[p(`span`,E,n(L.value?`${l(F).unreadCount} اعلان خوانده‌نشده`:`همه خوانده شده`),1),L.value?(u(),i(b,{key:0,variant:`outline`,class:`notif-box__mark`,onClick:f[0]||=e=>l(F).markAllRead()},{default:g(()=>[...f[2]||=[r(` خواندن همه `,-1)]]),_:1})):a(``,!0)]),(u(!0),s(o,null,d(I.value,e=>(u(),s(`button`,{key:e.id,type:`button`,class:t([`notif-row`,[`notif-row--${e.tone}`,{"notif-row--unread":!e.isRead}]]),onClick:t=>z(e)},[p(`span`,O,[c(_,{icon:R[e.tone],size:22,"stroke-width":1.5},null,8,[`icon`])]),p(`span`,k,[p(`span`,A,[p(`strong`,j,n(e.title),1),e.isRead?a(``,!0):(u(),s(`span`,M))]),p(`span`,N,n(e.body),1),p(`span`,P,n(l(y)(e.sentAt)),1)])],10,D))),128))])):(u(),i(S,{key:1,icon:`vuesax-linear:notification-bing`,title:`اعلانی ندارید`,message:`وقتی فاکتور سفارشتان صادر شود یا وضعیت چک و پرداخت تغییر کند، همین‌جا خبردار می‌شوید.`},{default:g(()=>[c(b,{variant:`outline`,onClick:f[1]||=e=>l(v).push(`/orders`)},{default:g(()=>[...f[3]||=[r(`سفارش‌های من`,-1)]]),_:1})]),_:1}))]),_:1}))}}),[[`__scopeId`,`data-v-57190756`]]);export{F as default}; \ No newline at end of file diff --git a/dist/assets/ProfileSecurityView-KJcwzopX.js b/dist/assets/ProfileSecurityView-SPYpAs_D.js similarity index 96% rename from dist/assets/ProfileSecurityView-KJcwzopX.js rename to dist/assets/ProfileSecurityView-SPYpAs_D.js index ba16a4e..d317505 100644 --- a/dist/assets/ProfileSecurityView-KJcwzopX.js +++ b/dist/assets/ProfileSecurityView-SPYpAs_D.js @@ -1 +1 @@ -import{L as e,M as t,N as n,P as r,R as i,Y as a,j as o,mt as s,n as c,rt as l,z as u}from"./BasicIcon-C6boaehV.js";import{n as d}from"./index-spodxsRN.js";import{t as f}from"./FormErrorBanner-CjdBfIQT.js";import{n as p,r as m,t as h}from"./formErrors-DglFjYkZ.js";import{t as g}from"./BaseInput-qoEXOHCQ.js";import{t as _}from"./ProfileSubpageLayout-PN2YWH-s.js";var v={class:`settings-form`},y={key:0,class:`settings-form__saved`},b=c(u({__name:`ProfileSecurityView`,setup(c){let u=s(``),b=s(``),x=s(``),S=s({}),C=s(``),w=s(!1);function T(e){S.value=p(S.value,e),m(S.value)||(C.value=``)}function E(){S.value={},C.value=``,w.value=!1;let e={};if(u.value||(e.currentPassword=`رمز فعلی الزامی است.`),b.value.length<6&&(e.newPassword=`رمز جدید باید حداقل ۶ کاراکتر باشد.`),x.value!==b.value&&(e.confirmPassword=`تکرار رمز با رمز جدید یکسان نیست.`),m(e)){S.value=e,C.value=h;return}u.value=``,b.value=``,x.value=``,w.value=!0,setTimeout(()=>{w.value=!1},2e3)}return(s,c)=>(a(),t(_,{title:`امنیت حساب`,subtitle:`تغییر رمز عبور و تنظیمات ورود`},{default:l(()=>[i(f,{message:C.value},null,8,[`message`]),o(`div`,v,[i(g,{modelValue:u.value,"onUpdate:modelValue":[c[0]||=e=>u.value=e,c[1]||=e=>T(`currentPassword`)],type:`password`,label:`رمز عبور فعلی`,error:S.value.currentPassword},null,8,[`modelValue`,`error`]),i(g,{modelValue:b.value,"onUpdate:modelValue":[c[2]||=e=>b.value=e,c[3]||=e=>T(`newPassword`)],type:`password`,label:`رمز عبور جدید`,error:S.value.newPassword},null,8,[`modelValue`,`error`]),i(g,{modelValue:x.value,"onUpdate:modelValue":[c[4]||=e=>x.value=e,c[5]||=e=>T(`confirmPassword`)],type:`password`,label:`تکرار رمز عبور جدید`,error:S.value.confirmPassword},null,8,[`modelValue`,`error`]),i(d,{block:``,onClick:E},{default:l(()=>[...c[6]||=[e(`ذخیره رمز جدید`,-1)]]),_:1}),w.value?(a(),r(`p`,y,`رمز عبور با موفقیت تغییر کرد ✓`)):n(``,!0)])]),_:1}))}}),[[`__scopeId`,`data-v-074827a2`]]);export{b as default}; \ No newline at end of file +import{L as e,M as t,N as n,P as r,R as i,Y as a,j as o,mt as s,n as c,rt as l,z as u}from"./BasicIcon-C6boaehV.js";import{n as d}from"./index-B6MlTGUp.js";import{t as f}from"./FormErrorBanner-CjdBfIQT.js";import{n as p,r as m,t as h}from"./formErrors-DglFjYkZ.js";import{t as g}from"./BaseInput-qoEXOHCQ.js";import{t as _}from"./ProfileSubpageLayout-PN2YWH-s.js";var v={class:`settings-form`},y={key:0,class:`settings-form__saved`},b=c(u({__name:`ProfileSecurityView`,setup(c){let u=s(``),b=s(``),x=s(``),S=s({}),C=s(``),w=s(!1);function T(e){S.value=p(S.value,e),m(S.value)||(C.value=``)}function E(){S.value={},C.value=``,w.value=!1;let e={};if(u.value||(e.currentPassword=`رمز فعلی الزامی است.`),b.value.length<6&&(e.newPassword=`رمز جدید باید حداقل ۶ کاراکتر باشد.`),x.value!==b.value&&(e.confirmPassword=`تکرار رمز با رمز جدید یکسان نیست.`),m(e)){S.value=e,C.value=h;return}u.value=``,b.value=``,x.value=``,w.value=!0,setTimeout(()=>{w.value=!1},2e3)}return(s,c)=>(a(),t(_,{title:`امنیت حساب`,subtitle:`تغییر رمز عبور و تنظیمات ورود`},{default:l(()=>[i(f,{message:C.value},null,8,[`message`]),o(`div`,v,[i(g,{modelValue:u.value,"onUpdate:modelValue":[c[0]||=e=>u.value=e,c[1]||=e=>T(`currentPassword`)],type:`password`,label:`رمز عبور فعلی`,error:S.value.currentPassword},null,8,[`modelValue`,`error`]),i(g,{modelValue:b.value,"onUpdate:modelValue":[c[2]||=e=>b.value=e,c[3]||=e=>T(`newPassword`)],type:`password`,label:`رمز عبور جدید`,error:S.value.newPassword},null,8,[`modelValue`,`error`]),i(g,{modelValue:x.value,"onUpdate:modelValue":[c[4]||=e=>x.value=e,c[5]||=e=>T(`confirmPassword`)],type:`password`,label:`تکرار رمز عبور جدید`,error:S.value.confirmPassword},null,8,[`modelValue`,`error`]),i(d,{block:``,onClick:E},{default:l(()=>[...c[6]||=[e(`ذخیره رمز جدید`,-1)]]),_:1}),w.value?(a(),r(`p`,y,`رمز عبور با موفقیت تغییر کرد ✓`)):n(``,!0)])]),_:1}))}}),[[`__scopeId`,`data-v-074827a2`]]);export{b as default}; \ No newline at end of file diff --git a/dist/assets/ProfileView-DAXufKBC.js b/dist/assets/ProfileView-CqjEPEPK.js similarity index 99% rename from dist/assets/ProfileView-DAXufKBC.js rename to dist/assets/ProfileView-CqjEPEPK.js index fdfeebe..a54582b 100644 --- a/dist/assets/ProfileView-DAXufKBC.js +++ b/dist/assets/ProfileView-CqjEPEPK.js @@ -1 +1 @@ -import{A as e,Ct as t,E as n,Et as r,I as ee,L as i,M as a,N as o,O as s,P as c,R as l,St as u,Tt as d,Y as f,Z as p,_ as m,j as h,mt as g,n as te,q as ne,t as _,z as v}from"./BasicIcon-C6boaehV.js";import{o as y,r as re}from"./format-BHJptHdF.js";import{C as ie,c as ae,d as oe,o as se,r as ce,s as le,u as ue}from"./index-spodxsRN.js";import{r as b,t as x}from"./constants-DXXK14Zz.js";import{t as S}from"./PageSkeleton-uO-jhbNm.js";import{n as C,t as w}from"./crm-CtglbPsN.js";var T=v({__name:`IconSettings`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(f(),a(_,{icon:`vuesax-linear:setting-2`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),E={class:`page profile-page`},D={class:`page__scroll page__scroll--with-nav profile-scroll`},O={class:`hero`},k={class:`hero__pin`},A={class:`hero__top mobile-only`},j=[`aria-label`],M={class:`hero__meta`},N={class:`level-pill`},P={class:`hero__desk-actions desktop-only-flex`},F={class:`profile-sheet`},I={class:`panel`},L={class:`panel__head`},R={class:`panel__period`},z={class:`stats`},B={class:`stat-card`},V={class:`stat-card__text`},H={class:`stat-card__value`},U={class:`stat-card__icon stat-card__icon--orders`},de={class:`stat-card`},fe={class:`stat-card__text`},pe={class:`stat-card__value`},me={class:`stat-card__icon stat-card__icon--customers`},he={class:`stat-card`},ge={class:`stat-card__text`},_e={class:`stat-card__value`},ve={class:`stat-card__icon stat-card__icon--profit`},ye={class:`stat-card`},be={class:`stat-card__text`},xe={class:`stat-card__value`},Se={class:`stat-card__icon stat-card__icon--sales`},Ce={class:`loyalty`},W={class:`loyalty__row`},we={class:`loyalty__text`},Te={class:`loyalty__bar`},Ee={class:`quick-section`},De={class:`quick-grid`},Oe=[`onClick`],ke={class:`quick-item__icon`},Ae={class:`orders-box`},je={class:`section-head`},Me=[`onClick`,`onKeydown`],Ne={class:`order-row__meta`},Pe={class:`order-row__date`},Fe={class:`order-row__title`},Ie={key:0,class:`order-row__customer`},Le={class:`price-section`},Re={class:`price-card`},ze={class:`price-card__body`},Be={class:`price-card__info`},G=te(v({__name:`MobileProfilePage`,setup(te){let v={id:`sample-base-price`,name:`پارچه فاستونی ایتالیایی`,code:`DF-1204`,categoryId:``,season:`all_season`,widthCm:160,composition:``,colors:[`1`,`2`,`3`,`4`,`5`,`6`],tags:[],isNew:!1,rollMeters:0,basePrice:38e4},G=m(),K=ae(),q=oe(),Ve=w(),J=ue(),Y=g(null),X=g(v),Z=g(!1),He=[{label:`ثبت مشتری جدید`,to:`/customers`,icon:`vuesax-linear:add`},{label:`سفارش‌ها`,to:`/orders`,icon:`vuesax-linear:document-text`},{label:`مشتریان من`,to:`/customers`,icon:`vuesax-linear:people`},{label:`گزارش‌ها`,to:`/reminders`,icon:`vuesax-linear:chart-2`},{label:`درخواست کالیته`,to:`/catalog-request`,icon:`vuesax-linear:category`},{label:`قیمت‌گذاری`,to:`/categories`,icon:`vuesax-linear:money-4`}],Ue=e(()=>[...q.orders].sort((e,t)=>String(t.createdAt).localeCompare(String(e.createdAt))).slice(0,3).map(e=>{let t=b[e.status]??`info`,n=t===`danger`||t===`neutral`?`danger`:t===`success`?`success`:t===`warning`?`warning`:`info`;return{id:e.id,title:`سفارش #${e.orderNumber}`,date:e.createdAt?re(e.createdAt):``,customer:e.companyName||``,statusLabel:x[e.status]||e.status,statusTone:n}})),Q=e(()=>K.fullName||`کاربر`),We=e(()=>Y.value?.code||K.user?.agentCode||`—`),$=e(()=>Y.value?.levelLabel||K.user?.levelLabel||`برنزی`),Ge=e(()=>Y.value?.nextLevelLabel||K.user?.nextLevelLabel||`نقره‌ای`),Ke=e(()=>Y.value?.pointsToNext??K.user?.pointsToNext??0),qe=e(()=>Y.value?.periodLabel||`۳۰ روز اخیر`),Je=e(()=>Y.value?.customersCount??0),Ye=e(()=>Y.value?.ordersCount??q.orders.length),Xe=e(()=>Y.value?.salesVolumeToman??0),Ze=e(()=>Y.value?.profitToman??0),Qe=e(()=>Y.value?.levelProgress??K.user?.levelProgress??72),$e=e(()=>J.unreadCount>9?`9+`:String(J.unreadCount)),et=e(()=>X.value.basePrice??v.basePrice??0);return ne(async()=>{Z.value=!0;try{J.hydrate();try{Y.value=await C()}catch{Y.value=null}try{let e=(await Ve.loadBrowseProducts())[0];X.value=e?{...v,...e,basePrice:e.basePrice??v.basePrice}:v}catch{X.value=v}q.orders.length||await q.hydrate()}finally{Z.value=!1}}),(e,m)=>(f(),c(`div`,E,[h(`div`,D,[h(`header`,O,[h(`div`,k,[h(`div`,A,[h(`button`,{type:`button`,class:`icon-btn`,"aria-label":`تنظیمات`,onClick:m[0]||=e=>u(G).push(`/profile/display`)},[l(T,{size:20,color:`#ffffff`})]),m[7]||=h(`h1`,null,`پروفایل من`,-1),h(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اعلان‌ها`,onClick:m[1]||=e=>u(G).push(`/profile/notifications`)},[l(le,{size:20,color:`#ffffff`}),u(J).hasUnread?(f(),c(`span`,{key:0,class:`icon-btn__badge`,"aria-label":`${u(J).unreadCount} اعلان خوانده‌نشده`},r($e.value),9,j)):o(``,!0)])]),l(ce,{class:`hero__avatar`,src:u(K).user?.avatarUrl,initials:Q.value.charAt(0),size:84},null,8,[`src`,`initials`])]),h(`div`,M,[h(`h2`,null,r(Q.value),1),h(`p`,null,`کد واسطه: `+r(We.value),1),h(`span`,N,[m[8]||=h(`svg`,{class:`level-pill__crown`,viewBox:`0 0 24 24`,"aria-hidden":`true`},[h(`path`,{fill:`currentColor`,d:`M3.5 17.5h17l-1.2-8.2a1 1 0 0 0-1.5-.7L14 11l-2.5-5.2a1 1 0 0 0-1.8 0L7.2 11 4.2 8.6a1 1 0 0 0-1.5.7L3.5 17.5Zm1.7 1.5h13.6v1.2H5.2V19Z`})],-1),i(` سطح: `+r($.value),1)])]),h(`div`,P,[h(`button`,{type:`button`,class:`hero__desk-btn`,onClick:m[2]||=e=>u(G).push(`/profile/edit`)},` ویرایش اطلاعات `),h(`button`,{type:`button`,class:`hero__desk-btn`,onClick:m[3]||=e=>u(G).push(`/profile/checks`)},` لیست چک‌ها `),h(`button`,{type:`button`,class:`hero__desk-btn`,onClick:m[4]||=e=>u(G).push(`/profile/display`)},` تنظیمات `)])]),h(`div`,F,[Z.value?(f(),a(S,{key:0,variant:`profile`})):(f(),c(s,{key:1},[h(`section`,I,[h(`div`,L,[m[9]||=h(`h3`,null,`خلاصه عملکرد`,-1),h(`span`,R,[i(r(qe.value)+` `,1),l(_,{icon:`vuesax-linear:arrow-down`,size:14,"stroke-width":1.5})])]),h(`div`,z,[h(`div`,B,[h(`div`,V,[m[10]||=h(`span`,{class:`stat-card__label`},`سفارش‌ها`,-1),h(`strong`,H,r(u(y)(Ye.value)),1),m[11]||=h(`em`,{class:`stat-card__hint`},`سفارش`,-1)]),h(`span`,U,[l(ie,{size:18})])]),h(`div`,de,[h(`div`,fe,[m[12]||=h(`span`,{class:`stat-card__label`},`مشتریان من`,-1),h(`strong`,pe,r(u(y)(Je.value)),1),m[13]||=h(`em`,{class:`stat-card__hint`},`مشتری فعال`,-1)]),h(`span`,me,[l(_,{icon:`vuesax-linear:people`,size:18,"stroke-width":1.5})])]),h(`div`,he,[h(`div`,ge,[m[14]||=h(`span`,{class:`stat-card__label`},`سود شما (ریال)`,-1),h(`strong`,_e,r(u(y)(Ze.value)),1),m[15]||=h(`em`,{class:`stat-card__hint`},`تومان`,-1)]),h(`span`,ve,[l(_,{icon:`vuesax-linear:chart-2`,size:18,"stroke-width":1.5})])]),h(`div`,ye,[h(`div`,be,[m[16]||=h(`span`,{class:`stat-card__label`},`حجم فروش (ریال)`,-1),h(`strong`,xe,r(u(y)(Xe.value)),1),m[17]||=h(`em`,{class:`stat-card__hint`},`تومان`,-1)]),h(`span`,Se,[l(_,{icon:`vuesax-linear:wallet`,size:18,"stroke-width":1.5})])])])]),h(`section`,Ce,[h(`div`,W,[m[18]||=ee(``,1),h(`p`,we,` شما در سطح `+r($.value)+` قرار دارید. تا سطح `+r(Ge.value)+` فقط `+r(u(y)(Ke.value))+` تومان فروش دیگر نیاز دارید. `,1)]),h(`div`,Te,[h(`span`,{style:d({width:`${Math.min(100,Math.max(0,Qe.value))}%`})},null,4)])]),h(`section`,Ee,[m[19]||=h(`h3`,{class:`section-title`},`دسترسی سریع`,-1),h(`div`,De,[(f(),c(s,null,p(He,e=>h(`button`,{key:e.label,type:`button`,class:`quick-item`,onClick:t=>u(G).push(e.to)},[h(`span`,ke,[l(_,{icon:e.icon,size:22,"stroke-width":1.5},null,8,[`icon`])]),i(` `+r(e.label),1)],8,Oe)),64))])]),h(`section`,Ae,[h(`div`,je,[m[20]||=h(`h3`,null,`آخرین سفارش‌ها`,-1),h(`button`,{type:`button`,class:`link`,onClick:m[5]||=e=>u(G).push(`/orders`)},`مشاهده همه`)]),(f(!0),c(s,null,p(Ue.value,e=>(f(),c(`article`,{key:e.id,class:`order-row`,role:`button`,tabindex:`0`,onClick:t=>u(G).push({path:`/order`,query:{id:e.id}}),onKeydown:n(t=>u(G).push({path:`/order`,query:{id:e.id}}),[`enter`])},[h(`div`,Ne,[h(`span`,Pe,r(e.date),1),h(`strong`,Fe,r(e.title),1),e.customer?(f(),c(`p`,Ie,`مشتری: `+r(e.customer),1)):o(``,!0)]),h(`span`,{class:t([`tone`,`tone--${e.statusTone}`])},r(e.statusLabel),3),l(se,{size:16,class:`order-row__chevron`})],40,Me))),128)),h(`button`,{type:`button`,class:`orders-all`,onClick:m[6]||=e=>u(G).push(`/orders`)},` مشاهده همه سفارش‌ها `)]),h(`section`,Le,[m[21]||=h(`h3`,{class:`section-title`},`قیمت‌های پایه (نمونه)`,-1),h(`div`,Re,[h(`div`,ze,[h(`div`,Be,[h(`strong`,null,r(X.value.name),1),h(`p`,null,`کد: `+r(X.value.code),1),h(`p`,null,`عرض: `+r(u(y)(X.value.widthCm))+` سانتی‌متر`,1),h(`p`,null,`رنگ‌ها: `+r(u(y)(X.value.colors.length))+` رنگ`,1)]),h(`div`,{class:`price-card__image`,style:d(X.value.imageUrl?{backgroundImage:`url(${X.value.imageUrl})`}:void 0)},null,4)]),h(`footer`,null,`قیمت پایه به شما: `+r(u(y)(et.value))+` تومان / متر`,1)])])],64))])])]))}}),[[`__scopeId`,`data-v-7cfe559f`]]),K=v({__name:`ProfileView`,setup(e){return(e,t)=>(f(),a(G))}});export{K as default}; \ No newline at end of file +import{A as e,Ct as t,E as n,Et as r,I as ee,L as i,M as a,N as o,O as s,P as c,R as l,St as u,Tt as d,Y as f,Z as p,_ as m,j as h,mt as g,n as te,q as ne,t as _,z as v}from"./BasicIcon-C6boaehV.js";import{o as y,r as re}from"./format-BHJptHdF.js";import{C as ie,c as ae,d as oe,o as se,r as ce,s as le,u as ue}from"./index-B6MlTGUp.js";import{r as b,t as x}from"./constants-DXXK14Zz.js";import{t as S}from"./PageSkeleton-uO-jhbNm.js";import{n as C,t as w}from"./crm-CtglbPsN.js";var T=v({__name:`IconSettings`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(f(),a(_,{icon:`vuesax-linear:setting-2`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),E={class:`page profile-page`},D={class:`page__scroll page__scroll--with-nav profile-scroll`},O={class:`hero`},k={class:`hero__pin`},A={class:`hero__top mobile-only`},j=[`aria-label`],M={class:`hero__meta`},N={class:`level-pill`},P={class:`hero__desk-actions desktop-only-flex`},F={class:`profile-sheet`},I={class:`panel`},L={class:`panel__head`},R={class:`panel__period`},z={class:`stats`},B={class:`stat-card`},V={class:`stat-card__text`},H={class:`stat-card__value`},U={class:`stat-card__icon stat-card__icon--orders`},de={class:`stat-card`},fe={class:`stat-card__text`},pe={class:`stat-card__value`},me={class:`stat-card__icon stat-card__icon--customers`},he={class:`stat-card`},ge={class:`stat-card__text`},_e={class:`stat-card__value`},ve={class:`stat-card__icon stat-card__icon--profit`},ye={class:`stat-card`},be={class:`stat-card__text`},xe={class:`stat-card__value`},Se={class:`stat-card__icon stat-card__icon--sales`},Ce={class:`loyalty`},W={class:`loyalty__row`},we={class:`loyalty__text`},Te={class:`loyalty__bar`},Ee={class:`quick-section`},De={class:`quick-grid`},Oe=[`onClick`],ke={class:`quick-item__icon`},Ae={class:`orders-box`},je={class:`section-head`},Me=[`onClick`,`onKeydown`],Ne={class:`order-row__meta`},Pe={class:`order-row__date`},Fe={class:`order-row__title`},Ie={key:0,class:`order-row__customer`},Le={class:`price-section`},Re={class:`price-card`},ze={class:`price-card__body`},Be={class:`price-card__info`},G=te(v({__name:`MobileProfilePage`,setup(te){let v={id:`sample-base-price`,name:`پارچه فاستونی ایتالیایی`,code:`DF-1204`,categoryId:``,season:`all_season`,widthCm:160,composition:``,colors:[`1`,`2`,`3`,`4`,`5`,`6`],tags:[],isNew:!1,rollMeters:0,basePrice:38e4},G=m(),K=ae(),q=oe(),Ve=w(),J=ue(),Y=g(null),X=g(v),Z=g(!1),He=[{label:`ثبت مشتری جدید`,to:`/customers`,icon:`vuesax-linear:add`},{label:`سفارش‌ها`,to:`/orders`,icon:`vuesax-linear:document-text`},{label:`مشتریان من`,to:`/customers`,icon:`vuesax-linear:people`},{label:`گزارش‌ها`,to:`/reminders`,icon:`vuesax-linear:chart-2`},{label:`درخواست کالیته`,to:`/catalog-request`,icon:`vuesax-linear:category`},{label:`قیمت‌گذاری`,to:`/categories`,icon:`vuesax-linear:money-4`}],Ue=e(()=>[...q.orders].sort((e,t)=>String(t.createdAt).localeCompare(String(e.createdAt))).slice(0,3).map(e=>{let t=b[e.status]??`info`,n=t===`danger`||t===`neutral`?`danger`:t===`success`?`success`:t===`warning`?`warning`:`info`;return{id:e.id,title:`سفارش #${e.orderNumber}`,date:e.createdAt?re(e.createdAt):``,customer:e.companyName||``,statusLabel:x[e.status]||e.status,statusTone:n}})),Q=e(()=>K.fullName||`کاربر`),We=e(()=>Y.value?.code||K.user?.agentCode||`—`),$=e(()=>Y.value?.levelLabel||K.user?.levelLabel||`برنزی`),Ge=e(()=>Y.value?.nextLevelLabel||K.user?.nextLevelLabel||`نقره‌ای`),Ke=e(()=>Y.value?.pointsToNext??K.user?.pointsToNext??0),qe=e(()=>Y.value?.periodLabel||`۳۰ روز اخیر`),Je=e(()=>Y.value?.customersCount??0),Ye=e(()=>Y.value?.ordersCount??q.orders.length),Xe=e(()=>Y.value?.salesVolumeToman??0),Ze=e(()=>Y.value?.profitToman??0),Qe=e(()=>Y.value?.levelProgress??K.user?.levelProgress??72),$e=e(()=>J.unreadCount>9?`9+`:String(J.unreadCount)),et=e(()=>X.value.basePrice??v.basePrice??0);return ne(async()=>{Z.value=!0;try{J.hydrate();try{Y.value=await C()}catch{Y.value=null}try{let e=(await Ve.loadBrowseProducts())[0];X.value=e?{...v,...e,basePrice:e.basePrice??v.basePrice}:v}catch{X.value=v}q.orders.length||await q.hydrate()}finally{Z.value=!1}}),(e,m)=>(f(),c(`div`,E,[h(`div`,D,[h(`header`,O,[h(`div`,k,[h(`div`,A,[h(`button`,{type:`button`,class:`icon-btn`,"aria-label":`تنظیمات`,onClick:m[0]||=e=>u(G).push(`/profile/display`)},[l(T,{size:20,color:`#ffffff`})]),m[7]||=h(`h1`,null,`پروفایل من`,-1),h(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اعلان‌ها`,onClick:m[1]||=e=>u(G).push(`/profile/notifications`)},[l(le,{size:20,color:`#ffffff`}),u(J).hasUnread?(f(),c(`span`,{key:0,class:`icon-btn__badge`,"aria-label":`${u(J).unreadCount} اعلان خوانده‌نشده`},r($e.value),9,j)):o(``,!0)])]),l(ce,{class:`hero__avatar`,src:u(K).user?.avatarUrl,initials:Q.value.charAt(0),size:84},null,8,[`src`,`initials`])]),h(`div`,M,[h(`h2`,null,r(Q.value),1),h(`p`,null,`کد واسطه: `+r(We.value),1),h(`span`,N,[m[8]||=h(`svg`,{class:`level-pill__crown`,viewBox:`0 0 24 24`,"aria-hidden":`true`},[h(`path`,{fill:`currentColor`,d:`M3.5 17.5h17l-1.2-8.2a1 1 0 0 0-1.5-.7L14 11l-2.5-5.2a1 1 0 0 0-1.8 0L7.2 11 4.2 8.6a1 1 0 0 0-1.5.7L3.5 17.5Zm1.7 1.5h13.6v1.2H5.2V19Z`})],-1),i(` سطح: `+r($.value),1)])]),h(`div`,P,[h(`button`,{type:`button`,class:`hero__desk-btn`,onClick:m[2]||=e=>u(G).push(`/profile/edit`)},` ویرایش اطلاعات `),h(`button`,{type:`button`,class:`hero__desk-btn`,onClick:m[3]||=e=>u(G).push(`/profile/checks`)},` لیست چک‌ها `),h(`button`,{type:`button`,class:`hero__desk-btn`,onClick:m[4]||=e=>u(G).push(`/profile/display`)},` تنظیمات `)])]),h(`div`,F,[Z.value?(f(),a(S,{key:0,variant:`profile`})):(f(),c(s,{key:1},[h(`section`,I,[h(`div`,L,[m[9]||=h(`h3`,null,`خلاصه عملکرد`,-1),h(`span`,R,[i(r(qe.value)+` `,1),l(_,{icon:`vuesax-linear:arrow-down`,size:14,"stroke-width":1.5})])]),h(`div`,z,[h(`div`,B,[h(`div`,V,[m[10]||=h(`span`,{class:`stat-card__label`},`سفارش‌ها`,-1),h(`strong`,H,r(u(y)(Ye.value)),1),m[11]||=h(`em`,{class:`stat-card__hint`},`سفارش`,-1)]),h(`span`,U,[l(ie,{size:18})])]),h(`div`,de,[h(`div`,fe,[m[12]||=h(`span`,{class:`stat-card__label`},`مشتریان من`,-1),h(`strong`,pe,r(u(y)(Je.value)),1),m[13]||=h(`em`,{class:`stat-card__hint`},`مشتری فعال`,-1)]),h(`span`,me,[l(_,{icon:`vuesax-linear:people`,size:18,"stroke-width":1.5})])]),h(`div`,he,[h(`div`,ge,[m[14]||=h(`span`,{class:`stat-card__label`},`سود شما (ریال)`,-1),h(`strong`,_e,r(u(y)(Ze.value)),1),m[15]||=h(`em`,{class:`stat-card__hint`},`تومان`,-1)]),h(`span`,ve,[l(_,{icon:`vuesax-linear:chart-2`,size:18,"stroke-width":1.5})])]),h(`div`,ye,[h(`div`,be,[m[16]||=h(`span`,{class:`stat-card__label`},`حجم فروش (ریال)`,-1),h(`strong`,xe,r(u(y)(Xe.value)),1),m[17]||=h(`em`,{class:`stat-card__hint`},`تومان`,-1)]),h(`span`,Se,[l(_,{icon:`vuesax-linear:wallet`,size:18,"stroke-width":1.5})])])])]),h(`section`,Ce,[h(`div`,W,[m[18]||=ee(``,1),h(`p`,we,` شما در سطح `+r($.value)+` قرار دارید. تا سطح `+r(Ge.value)+` فقط `+r(u(y)(Ke.value))+` تومان فروش دیگر نیاز دارید. `,1)]),h(`div`,Te,[h(`span`,{style:d({width:`${Math.min(100,Math.max(0,Qe.value))}%`})},null,4)])]),h(`section`,Ee,[m[19]||=h(`h3`,{class:`section-title`},`دسترسی سریع`,-1),h(`div`,De,[(f(),c(s,null,p(He,e=>h(`button`,{key:e.label,type:`button`,class:`quick-item`,onClick:t=>u(G).push(e.to)},[h(`span`,ke,[l(_,{icon:e.icon,size:22,"stroke-width":1.5},null,8,[`icon`])]),i(` `+r(e.label),1)],8,Oe)),64))])]),h(`section`,Ae,[h(`div`,je,[m[20]||=h(`h3`,null,`آخرین سفارش‌ها`,-1),h(`button`,{type:`button`,class:`link`,onClick:m[5]||=e=>u(G).push(`/orders`)},`مشاهده همه`)]),(f(!0),c(s,null,p(Ue.value,e=>(f(),c(`article`,{key:e.id,class:`order-row`,role:`button`,tabindex:`0`,onClick:t=>u(G).push({path:`/order`,query:{id:e.id}}),onKeydown:n(t=>u(G).push({path:`/order`,query:{id:e.id}}),[`enter`])},[h(`div`,Ne,[h(`span`,Pe,r(e.date),1),h(`strong`,Fe,r(e.title),1),e.customer?(f(),c(`p`,Ie,`مشتری: `+r(e.customer),1)):o(``,!0)]),h(`span`,{class:t([`tone`,`tone--${e.statusTone}`])},r(e.statusLabel),3),l(se,{size:16,class:`order-row__chevron`})],40,Me))),128)),h(`button`,{type:`button`,class:`orders-all`,onClick:m[6]||=e=>u(G).push(`/orders`)},` مشاهده همه سفارش‌ها `)]),h(`section`,Le,[m[21]||=h(`h3`,{class:`section-title`},`قیمت‌های پایه (نمونه)`,-1),h(`div`,Re,[h(`div`,ze,[h(`div`,Be,[h(`strong`,null,r(X.value.name),1),h(`p`,null,`کد: `+r(X.value.code),1),h(`p`,null,`عرض: `+r(u(y)(X.value.widthCm))+` سانتی‌متر`,1),h(`p`,null,`رنگ‌ها: `+r(u(y)(X.value.colors.length))+` رنگ`,1)]),h(`div`,{class:`price-card__image`,style:d(X.value.imageUrl?{backgroundImage:`url(${X.value.imageUrl})`}:void 0)},null,4)]),h(`footer`,null,`قیمت پایه به شما: `+r(u(y)(et.value))+` تومان / متر`,1)])])],64))])])]))}}),[[`__scopeId`,`data-v-7cfe559f`]]),K=v({__name:`ProfileView`,setup(e){return(e,t)=>(f(),a(G))}});export{K as default}; \ No newline at end of file diff --git a/dist/assets/RegisterView-Cjx6Gvgv.js b/dist/assets/RegisterView-DBnd0mpE.js similarity index 99% rename from dist/assets/RegisterView-Cjx6Gvgv.js rename to dist/assets/RegisterView-DBnd0mpE.js index fff154c..e6a1fd5 100644 --- a/dist/assets/RegisterView-Cjx6Gvgv.js +++ b/dist/assets/RegisterView-DBnd0mpE.js @@ -1 +1 @@ -import{A as e,Ct as t,D as n,Et as r,I as ee,L as i,M as a,N as o,O as te,P as s,R as c,S as ne,St as l,Y as u,Z as re,_ as d,it as f,j as p,mt as m,n as h,t as g,w as _,z as v}from"./BasicIcon-C6boaehV.js";import{t as ie}from"./dist-B7sUlTMM.js";import{c as y,u as ae}from"./format-BHJptHdF.js";import{a as b}from"./validation-BD7oi-2I.js";import{c as oe,g as se,m as x,o as S,x as C}from"./index-spodxsRN.js";import{t as ce}from"./FormErrorBanner-CjdBfIQT.js";import{t as le}from"./IconPhone-C0bnM4fV.js";import{n as ue,r as w,t as T}from"./formErrors-DglFjYkZ.js";import{t as E}from"./IconDiamond-Bgv1zgqc.js";var D=v({__name:`IconVerified`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(u(),a(g,{icon:`vuesax-linear:verify`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),O=`/assets/register-card-D_GOfNUU.jpg`,k={class:`page register-page`},A={class:`register-page__scroll`},j={class:`register-page__stage`},M={class:`register-top`},N={key:0,class:`reg-field__error`},P={key:1,class:`reg-field__error`},F={class:`reg-field__phone`,dir:`ltr`},I=[`value`],L={key:2,class:`reg-field__error`},R=[`aria-expanded`],z={class:`reg-field__meta`},B={key:0,class:`job-menu`,role:`listbox`},V=[`aria-selected`,`onClick`],H={key:1,class:`reg-field__error`},de=[`disabled`],fe={key:0,class:`register-submit__spinner`,"aria-hidden":`true`},pe={class:`register-submit__chevron`,"aria-hidden":`true`},me={class:`register-terms`},he={key:0,viewBox:`0 0 12 12`,fill:`none`},ge={key:3,class:`reg-field__error`},_e={class:`register-perks`,"aria-label":`مزایا`},ve={class:`register-perk`},ye={class:`register-perk`},be={class:`register-perk`},xe={class:`register-foot`},Se=[`src`],U=h(v({__name:`RegisterView`,setup(a){let h=d(),v=oe(),U=m(``),W=m(``),G=m(``),K=m(``),q=m(!0),J=m(!1),Y=m(null),X=m({}),Z=m(``),Ce=e(()=>G.value?ae(G.value):``),we=e(()=>x.find(e=>e.id===K.value)?.label??`دسته‌بندی شغلی`);ie(Y,()=>{J.value=!1});function Q(e){K.value=e,J.value=!1,$(`jobCategory`)}function $(e){X.value=ue(X.value,e),w(X.value)||(Z.value=``)}function Te(e){G.value=y(e),$(`phone`)}async function Ee(){X.value={},Z.value=``;let e=y(G.value),t={};if(U.value.trim()||(t.firstName=`نام الزامی است.`),W.value.trim()||(t.lastName=`نام خانوادگی الزامی است.`),b(e)||(t.phone=`شماره موبایل معتبر نیست.`),K.value||(t.jobCategory=`دسته‌بندی شغلی الزامی است.`),q.value||(t.terms=`پذیرش قوانین برای ثبت‌نام لازم است.`),w(t)){X.value=t,Z.value=T;return}let n={firstName:U.value.trim(),lastName:W.value.trim(),jobCategory:K.value};se(n);let r=await v.requestOtp(e,{isRegister:!0,firstName:n.firstName,lastName:n.lastName});r.success?h.push({name:`otp`,query:{phone:e,mode:`register`}}):Z.value=r.message??`خطا در ارسال کد تأیید.`}return(e,a)=>(u(),s(`div`,k,[p(`div`,A,[p(`div`,j,[p(`header`,M,[a[8]||=p(`p`,{class:`register-top__welcome`},`همراه ما باشید`,-1),p(`button`,{type:`button`,class:`register-top__back`,"aria-label":`بازگشت`,onClick:a[0]||=e=>l(h).push(`/login`)},[c(S,{size:20,color:`#2A2622`})])]),a[18]||=p(`h1`,{class:`register-title`},`ثبت‌نام در نادمی تکس`,-1),a[19]||=p(`p`,{class:`register-lead`},`با چند مرحله ساده، عضوی از خانواده ما شوید.`,-1),p(`form`,{class:`register-form`,onSubmit:n(Ee,[`prevent`])},[c(ce,{message:Z.value},null,8,[`message`]),p(`label`,{class:t([`reg-field`,{"is-invalid":!!X.value.firstName}])},[c(C,{size:18,color:`#8A847C`}),f(p(`input`,{"onUpdate:modelValue":a[1]||=e=>U.value=e,class:`reg-field__input`,type:`text`,autocomplete:`given-name`,onInput:a[2]||=e=>$(`firstName`),placeholder:`نام`},null,544),[[_,U.value]])],2),X.value.firstName?(u(),s(`p`,N,r(X.value.firstName),1)):o(``,!0),p(`label`,{class:t([`reg-field`,{"is-invalid":!!X.value.lastName}])},[c(C,{size:18,color:`#8A847C`}),f(p(`input`,{"onUpdate:modelValue":a[3]||=e=>W.value=e,class:`reg-field__input`,type:`text`,dir:`rtl`,autocomplete:`family-name`,onInput:a[4]||=e=>$(`lastName`),placeholder:`نام خانوادگی`},null,544),[[_,W.value]])],2),X.value.lastName?(u(),s(`p`,P,r(X.value.lastName),1)):o(``,!0),p(`label`,{class:t([`reg-field`,{"is-invalid":!!X.value.phone}])},[c(le,{size:18,color:`#8A847C`}),p(`span`,F,[a[9]||=ee(``,1),p(`input`,{class:`reg-field__input reg-field__input--phone`,value:Ce.value,type:`tel`,inputmode:`numeric`,autocomplete:`tel`,dir:`rtl`,maxlength:`11`,placeholder:`شماره موبایل`,onInput:a[5]||=e=>Te(e.target.value)},null,40,I)])],2),X.value.phone?(u(),s(`p`,L,r(X.value.phone),1)):o(``,!0),p(`div`,{ref_key:`jobRoot`,ref:Y,class:`job-wrap`},[p(`button`,{type:`button`,class:t([`reg-field job-trigger`,{"is-open":J.value,"is-invalid":!!X.value.jobCategory}]),"aria-haspopup":`listbox`,"aria-expanded":J.value,onClick:a[6]||=e=>J.value=!J.value},[p(`span`,z,[c(g,{icon:`vuesax-linear:category`,size:18,color:`#8A847C`}),p(`span`,{class:t({"is-placeholder":!K.value})},r(we.value),3)]),a[10]||=p(`svg`,{class:`job-chevron`,viewBox:`0 0 12 12`,"aria-hidden":`true`},[p(`path`,{d:`M2.5 4.5 6 8l3.5-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`})],-1)],10,R),J.value?(u(),s(`ul`,B,[(u(!0),s(te,null,re(l(x),e=>(u(),s(`li`,{key:e.id},[p(`button`,{type:`button`,role:`option`,class:t([`job-option`,{"is-active":K.value===e.id}]),"aria-selected":K.value===e.id,onClick:t=>Q(e.id)},r(e.label),11,V)]))),128))])):o(``,!0),X.value.jobCategory?(u(),s(`p`,H,r(X.value.jobCategory),1)):o(``,!0)],512),p(`button`,{class:`register-submit`,type:`submit`,disabled:l(v).loading},[l(v).loading?(u(),s(`span`,fe)):o(``,!0),p(`span`,pe,[c(S,{size:18,color:`#F4EDE4`})]),a[11]||=p(`span`,null,`دریافت کد تأیید`,-1)],8,de),p(`label`,me,[f(p(`input`,{"onUpdate:modelValue":a[7]||=e=>q.value=e,class:`register-terms__native`,type:`checkbox`},null,512),[[ne,q.value]]),p(`span`,{class:t([`register-terms__box`,{"is-on":q.value}]),"aria-hidden":`true`},[q.value?(u(),s(`svg`,he,[...a[12]||=[p(`path`,{d:`M2.2 6.2 4.7 8.7 9.8 3.4`,stroke:`#fff`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):o(``,!0)],2),a[13]||=p(`span`,null,[i(` با ثبت‌نام، `),p(`strong`,null,`قوانین و شرایط`),i(` استفاده از سرویس را می‌پذیرم. `)],-1)]),X.value.terms?(u(),s(`p`,ge,r(X.value.terms),1)):o(``,!0)],32),p(`section`,_e,[p(`article`,ve,[c(D,{size:22,color:`#6F6B66`}),a[14]||=p(`strong`,null,`اطمینان از اصالت محصولات`,-1)]),p(`article`,ye,[c(g,{icon:`vuesax-linear:truck-time`,size:22,color:`#6F6B66`}),a[15]||=p(`strong`,null,`دسترسی سریع به کالیته‌های جدید`,-1)]),p(`article`,be,[c(E,{size:22,color:`#6F6B66`}),a[16]||=p(`strong`,null,`تجربه خرید ویژه مشتریان`,-1)])]),p(`div`,xe,[p(`img`,{class:`register-foot__bg`,src:l(O),alt:``},null,8,Se),a[17]||=p(`p`,{class:`register-foot__copy`},[i(`همراه حرفه‌ای`),p(`br`),i(`کسب‌وکار شما`)],-1)])])])]))}}),[[`__scopeId`,`data-v-2a0cf12d`]]);export{U as default}; \ No newline at end of file +import{A as e,Ct as t,D as n,Et as r,I as ee,L as i,M as a,N as o,O as te,P as s,R as c,S as ne,St as l,Y as u,Z as re,_ as d,it as f,j as p,mt as m,n as h,t as g,w as _,z as v}from"./BasicIcon-C6boaehV.js";import{t as ie}from"./dist-B7sUlTMM.js";import{c as y,u as ae}from"./format-BHJptHdF.js";import{a as b}from"./validation-BD7oi-2I.js";import{c as oe,g as se,m as x,o as S,x as C}from"./index-B6MlTGUp.js";import{t as ce}from"./FormErrorBanner-CjdBfIQT.js";import{t as le}from"./IconPhone-C0bnM4fV.js";import{n as ue,r as w,t as T}from"./formErrors-DglFjYkZ.js";import{t as E}from"./IconDiamond-Bgv1zgqc.js";var D=v({__name:`IconVerified`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(u(),a(g,{icon:`vuesax-linear:verify`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),O=`/assets/register-card-D_GOfNUU.jpg`,k={class:`page register-page`},A={class:`register-page__scroll`},j={class:`register-page__stage`},M={class:`register-top`},N={key:0,class:`reg-field__error`},P={key:1,class:`reg-field__error`},F={class:`reg-field__phone`,dir:`ltr`},I=[`value`],L={key:2,class:`reg-field__error`},R=[`aria-expanded`],z={class:`reg-field__meta`},B={key:0,class:`job-menu`,role:`listbox`},V=[`aria-selected`,`onClick`],H={key:1,class:`reg-field__error`},de=[`disabled`],fe={key:0,class:`register-submit__spinner`,"aria-hidden":`true`},pe={class:`register-submit__chevron`,"aria-hidden":`true`},me={class:`register-terms`},he={key:0,viewBox:`0 0 12 12`,fill:`none`},ge={key:3,class:`reg-field__error`},_e={class:`register-perks`,"aria-label":`مزایا`},ve={class:`register-perk`},ye={class:`register-perk`},be={class:`register-perk`},xe={class:`register-foot`},Se=[`src`],U=h(v({__name:`RegisterView`,setup(a){let h=d(),v=oe(),U=m(``),W=m(``),G=m(``),K=m(``),q=m(!0),J=m(!1),Y=m(null),X=m({}),Z=m(``),Ce=e(()=>G.value?ae(G.value):``),we=e(()=>x.find(e=>e.id===K.value)?.label??`دسته‌بندی شغلی`);ie(Y,()=>{J.value=!1});function Q(e){K.value=e,J.value=!1,$(`jobCategory`)}function $(e){X.value=ue(X.value,e),w(X.value)||(Z.value=``)}function Te(e){G.value=y(e),$(`phone`)}async function Ee(){X.value={},Z.value=``;let e=y(G.value),t={};if(U.value.trim()||(t.firstName=`نام الزامی است.`),W.value.trim()||(t.lastName=`نام خانوادگی الزامی است.`),b(e)||(t.phone=`شماره موبایل معتبر نیست.`),K.value||(t.jobCategory=`دسته‌بندی شغلی الزامی است.`),q.value||(t.terms=`پذیرش قوانین برای ثبت‌نام لازم است.`),w(t)){X.value=t,Z.value=T;return}let n={firstName:U.value.trim(),lastName:W.value.trim(),jobCategory:K.value};se(n);let r=await v.requestOtp(e,{isRegister:!0,firstName:n.firstName,lastName:n.lastName});r.success?h.push({name:`otp`,query:{phone:e,mode:`register`}}):Z.value=r.message??`خطا در ارسال کد تأیید.`}return(e,a)=>(u(),s(`div`,k,[p(`div`,A,[p(`div`,j,[p(`header`,M,[a[8]||=p(`p`,{class:`register-top__welcome`},`همراه ما باشید`,-1),p(`button`,{type:`button`,class:`register-top__back`,"aria-label":`بازگشت`,onClick:a[0]||=e=>l(h).push(`/login`)},[c(S,{size:20,color:`#2A2622`})])]),a[18]||=p(`h1`,{class:`register-title`},`ثبت‌نام در نادمی تکس`,-1),a[19]||=p(`p`,{class:`register-lead`},`با چند مرحله ساده، عضوی از خانواده ما شوید.`,-1),p(`form`,{class:`register-form`,onSubmit:n(Ee,[`prevent`])},[c(ce,{message:Z.value},null,8,[`message`]),p(`label`,{class:t([`reg-field`,{"is-invalid":!!X.value.firstName}])},[c(C,{size:18,color:`#8A847C`}),f(p(`input`,{"onUpdate:modelValue":a[1]||=e=>U.value=e,class:`reg-field__input`,type:`text`,autocomplete:`given-name`,onInput:a[2]||=e=>$(`firstName`),placeholder:`نام`},null,544),[[_,U.value]])],2),X.value.firstName?(u(),s(`p`,N,r(X.value.firstName),1)):o(``,!0),p(`label`,{class:t([`reg-field`,{"is-invalid":!!X.value.lastName}])},[c(C,{size:18,color:`#8A847C`}),f(p(`input`,{"onUpdate:modelValue":a[3]||=e=>W.value=e,class:`reg-field__input`,type:`text`,dir:`rtl`,autocomplete:`family-name`,onInput:a[4]||=e=>$(`lastName`),placeholder:`نام خانوادگی`},null,544),[[_,W.value]])],2),X.value.lastName?(u(),s(`p`,P,r(X.value.lastName),1)):o(``,!0),p(`label`,{class:t([`reg-field`,{"is-invalid":!!X.value.phone}])},[c(le,{size:18,color:`#8A847C`}),p(`span`,F,[a[9]||=ee(``,1),p(`input`,{class:`reg-field__input reg-field__input--phone`,value:Ce.value,type:`tel`,inputmode:`numeric`,autocomplete:`tel`,dir:`rtl`,maxlength:`11`,placeholder:`شماره موبایل`,onInput:a[5]||=e=>Te(e.target.value)},null,40,I)])],2),X.value.phone?(u(),s(`p`,L,r(X.value.phone),1)):o(``,!0),p(`div`,{ref_key:`jobRoot`,ref:Y,class:`job-wrap`},[p(`button`,{type:`button`,class:t([`reg-field job-trigger`,{"is-open":J.value,"is-invalid":!!X.value.jobCategory}]),"aria-haspopup":`listbox`,"aria-expanded":J.value,onClick:a[6]||=e=>J.value=!J.value},[p(`span`,z,[c(g,{icon:`vuesax-linear:category`,size:18,color:`#8A847C`}),p(`span`,{class:t({"is-placeholder":!K.value})},r(we.value),3)]),a[10]||=p(`svg`,{class:`job-chevron`,viewBox:`0 0 12 12`,"aria-hidden":`true`},[p(`path`,{d:`M2.5 4.5 6 8l3.5-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`})],-1)],10,R),J.value?(u(),s(`ul`,B,[(u(!0),s(te,null,re(l(x),e=>(u(),s(`li`,{key:e.id},[p(`button`,{type:`button`,role:`option`,class:t([`job-option`,{"is-active":K.value===e.id}]),"aria-selected":K.value===e.id,onClick:t=>Q(e.id)},r(e.label),11,V)]))),128))])):o(``,!0),X.value.jobCategory?(u(),s(`p`,H,r(X.value.jobCategory),1)):o(``,!0)],512),p(`button`,{class:`register-submit`,type:`submit`,disabled:l(v).loading},[l(v).loading?(u(),s(`span`,fe)):o(``,!0),p(`span`,pe,[c(S,{size:18,color:`#F4EDE4`})]),a[11]||=p(`span`,null,`دریافت کد تأیید`,-1)],8,de),p(`label`,me,[f(p(`input`,{"onUpdate:modelValue":a[7]||=e=>q.value=e,class:`register-terms__native`,type:`checkbox`},null,512),[[ne,q.value]]),p(`span`,{class:t([`register-terms__box`,{"is-on":q.value}]),"aria-hidden":`true`},[q.value?(u(),s(`svg`,he,[...a[12]||=[p(`path`,{d:`M2.2 6.2 4.7 8.7 9.8 3.4`,stroke:`#fff`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):o(``,!0)],2),a[13]||=p(`span`,null,[i(` با ثبت‌نام، `),p(`strong`,null,`قوانین و شرایط`),i(` استفاده از سرویس را می‌پذیرم. `)],-1)]),X.value.terms?(u(),s(`p`,ge,r(X.value.terms),1)):o(``,!0)],32),p(`section`,_e,[p(`article`,ve,[c(D,{size:22,color:`#6F6B66`}),a[14]||=p(`strong`,null,`اطمینان از اصالت محصولات`,-1)]),p(`article`,ye,[c(g,{icon:`vuesax-linear:truck-time`,size:22,color:`#6F6B66`}),a[15]||=p(`strong`,null,`دسترسی سریع به کالیته‌های جدید`,-1)]),p(`article`,be,[c(E,{size:22,color:`#6F6B66`}),a[16]||=p(`strong`,null,`تجربه خرید ویژه مشتریان`,-1)])]),p(`div`,xe,[p(`img`,{class:`register-foot__bg`,src:l(O),alt:``},null,8,Se),a[17]||=p(`p`,{class:`register-foot__copy`},[i(`همراه حرفه‌ای`),p(`br`),i(`کسب‌وکار شما`)],-1)])])])]))}}),[[`__scopeId`,`data-v-2a0cf12d`]]);export{U as default}; \ No newline at end of file diff --git a/dist/assets/ReminderDetailView-CQX6_0TU.js b/dist/assets/ReminderDetailView-D-AYmeKn.js similarity index 97% rename from dist/assets/ReminderDetailView-CQX6_0TU.js rename to dist/assets/ReminderDetailView-D-AYmeKn.js index 8f8b375..9bd6ff6 100644 --- a/dist/assets/ReminderDetailView-CQX6_0TU.js +++ b/dist/assets/ReminderDetailView-D-AYmeKn.js @@ -1 +1 @@ -import{A as e,Et as t,N as n,O as r,P as i,R as a,St as o,Tt as s,Y as c,Z as l,_ as u,g as d,j as f,mt as p,n as m,q as h,tt as g,z as _}from"./BasicIcon-C6boaehV.js";import{c as v}from"./index-spodxsRN.js";import{t as y}from"./PageSkeleton-uO-jhbNm.js";import{t as b}from"./crm-CtglbPsN.js";import{t as x}from"./PageHeader-BaJqBjIW.js";var S={key:0,class:`page reminder-detail`},C={class:`page__scroll detail-scroll`},w={key:0,class:`form-error`},T={class:`layout`},ee={class:`panel`},E={class:`field`},D={class:`field`},O={class:`customer-line`},k={class:`field`},A={class:`field`},j={class:`field`},M={class:`actions`},N=[`disabled`],P={class:`panel`},F={class:`panel chart-panel`},I={class:`bars`},L={class:`stats-grid`},R={key:1,class:`page empty`},z={key:2,class:`page empty`},B=m(_({__name:`ReminderDetailView`,setup(m){let _=d(),B=u(),V=b(),H=v(),U=e(()=>String(_.query.id??``)),W=p(null),G=p(null),K=p([]),q=p(!0),J=p(!1),Y=p(null);async function X(){if(!U.value){W.value=null,q.value=!1;return}q.value=!0,Y.value=null;try{let e=await V.loadReminderDetail(U.value);W.value=e.reminder,G.value=e.customer,K.value=e.history}catch(e){W.value=null,Y.value=e instanceof Error?e.message:`یادآور یافت نشد.`}finally{q.value=!1}}h(X),g(U,X);function Z(e){return e===`in_person`?`ملاقات حضوری`:e===`call`?`تماس تلفنی`:e===`message`?`پیام`:`یادداشت`}async function Q(){if(!(!W.value||W.value.completed)){J.value=!0,Y.value=null;try{await V.markReminderComplete(W.value.id),W.value={...W.value,completed:!0},B.push(`/reminders?filter=today`)}catch(e){Y.value=e instanceof Error?e.message:`تکمیل یادآور ناموفق بود.`}finally{J.value=!1}}}let te=e(()=>H.fullName||`واسطه`),$=e(()=>{let e=K.value;return{total:e.length,inPerson:e.filter(e=>e.type===`in_person`).length,call:e.filter(e=>e.type===`call`).length,other:e.filter(e=>e.type===`message`||e.type===`note`).length}}),ne=e(()=>{let e=Array.from({length:6},()=>({a:0,b:0,c:0}));K.value.forEach((t,n)=>{let r=e[n%6];r&&(t.type===`in_person`?r.a+=1:t.type===`call`?r.b+=1:r.c+=1)});let t=Math.max(1,...e.map(e=>e.a+e.b+e.c));return e.map(e=>({a:`${e.a/t*100}%`,b:`${e.b/t*100}%`,c:`${e.c/t*100}%`}))});return(e,u)=>W.value&&G.value?(c(),i(`div`,S,[a(x,{title:`جزئیات یادآور`,"show-back":``,centered:``,onBack:u[0]||=e=>o(B).back()}),f(`div`,C,[Y.value?(c(),i(`p`,w,t(Y.value),1)):n(``,!0),f(`div`,T,[f(`section`,ee,[u[8]||=f(`h2`,null,`جزئیات یادآور`,-1),f(`div`,E,[u[3]||=f(`span`,null,`عنوان`,-1),f(`strong`,null,t(W.value.title)+` — `+t(W.value.description),1)]),f(`div`,D,[u[4]||=f(`span`,null,`مشتری`,-1),f(`div`,O,[f(`div`,{class:`avatar`,style:s({background:G.value.avatarColor})},t(G.value.avatarLetter),5),f(`div`,null,[f(`strong`,null,t(G.value.name),1),f(`p`,null,t(G.value.contactName),1)])])]),f(`div`,k,[u[5]||=f(`span`,null,`فروشنده حامل حضوری`,-1),f(`strong`,null,t(te.value),1)]),f(`div`,A,[u[6]||=f(`span`,null,`تاریخ و زمان`,-1),f(`strong`,null,t(W.value.date)+` — `+t(W.value.time),1)]),f(`div`,j,[u[7]||=f(`span`,null,`یادداشت`,-1),f(`strong`,null,t(W.value.note||`—`),1)]),f(`div`,M,[f(`button`,{type:`button`,class:`btn-outline`,onClick:u[1]||=e=>o(B).back()},`ویرایش`),f(`button`,{type:`button`,class:`btn-primary`,disabled:J.value||W.value.completed,onClick:Q},t(W.value.completed?`تکمیل‌شده`:J.value?`...`:`تکمیل شد`),9,N)])]),f(`section`,P,[u[9]||=f(`h2`,null,`تاریخچه تعاملات`,-1),(c(!0),i(r,null,l(K.value,e=>(c(),i(`article`,{key:e.id,class:`history-row`},[f(`div`,null,[f(`strong`,null,t(Z(e.type)),1),f(`p`,null,t(e.description),1)]),f(`span`,null,t(e.date),1)]))),128)),f(`button`,{type:`button`,class:`see-all`,onClick:u[2]||=e=>o(B).push({path:`/customer`,query:{id:G.value.id,tab:`reports`}})},` مشاهده همه `)]),f(`section`,F,[u[14]||=f(`div`,{class:`chart-panel__head`},[f(`h2`,null,`نمودار فعالیت`),f(`span`,null,`تعاملات ثبت‌شده`)],-1),f(`div`,I,[(c(!0),i(r,null,l(ne.value,(e,t)=>(c(),i(`div`,{key:t,class:`bar`},[e.c===`0%`?n(``,!0):(c(),i(`span`,{key:0,class:`seg seg--c`,style:s({height:e.c})},null,4)),e.b===`0%`?n(``,!0):(c(),i(`span`,{key:1,class:`seg seg--b`,style:s({height:e.b})},null,4)),e.a===`0%`?n(``,!0):(c(),i(`span`,{key:2,class:`seg seg--a`,style:s({height:e.a})},null,4))]))),128))]),f(`div`,L,[f(`div`,null,[u[10]||=f(`span`,null,`کل تعاملات`,-1),f(`strong`,null,t($.value.total.toLocaleString(`fa-IR`))+` مورد`,1)]),f(`div`,null,[u[11]||=f(`span`,null,`ملاقات حضوری`,-1),f(`strong`,null,t($.value.inPerson.toLocaleString(`fa-IR`))+` مورد`,1)]),f(`div`,null,[u[12]||=f(`span`,null,`تماس تلفنی`,-1),f(`strong`,null,t($.value.call.toLocaleString(`fa-IR`))+` مورد`,1)]),f(`div`,null,[u[13]||=f(`span`,null,`یادداشت و پیام`,-1),f(`strong`,null,t($.value.other.toLocaleString(`fa-IR`))+` مورد`,1)])])])])])])):q.value?(c(),i(`div`,R,[a(y,{variant:`detail`})])):(c(),i(`div`,z,[f(`p`,null,t(Y.value||`یادآور یافت نشد.`),1)]))}}),[[`__scopeId`,`data-v-9fc8e0f1`]]);export{B as default}; \ No newline at end of file +import{A as e,Et as t,N as n,O as r,P as i,R as a,St as o,Tt as s,Y as c,Z as l,_ as u,g as d,j as f,mt as p,n as m,q as h,tt as g,z as _}from"./BasicIcon-C6boaehV.js";import{c as v}from"./index-B6MlTGUp.js";import{t as y}from"./PageSkeleton-uO-jhbNm.js";import{t as b}from"./crm-CtglbPsN.js";import{t as x}from"./PageHeader-CDQMUtCp.js";var S={key:0,class:`page reminder-detail`},C={class:`page__scroll detail-scroll`},w={key:0,class:`form-error`},T={class:`layout`},ee={class:`panel`},E={class:`field`},D={class:`field`},O={class:`customer-line`},k={class:`field`},A={class:`field`},j={class:`field`},M={class:`actions`},N=[`disabled`],P={class:`panel`},F={class:`panel chart-panel`},I={class:`bars`},L={class:`stats-grid`},R={key:1,class:`page empty`},z={key:2,class:`page empty`},B=m(_({__name:`ReminderDetailView`,setup(m){let _=d(),B=u(),V=b(),H=v(),U=e(()=>String(_.query.id??``)),W=p(null),G=p(null),K=p([]),q=p(!0),J=p(!1),Y=p(null);async function X(){if(!U.value){W.value=null,q.value=!1;return}q.value=!0,Y.value=null;try{let e=await V.loadReminderDetail(U.value);W.value=e.reminder,G.value=e.customer,K.value=e.history}catch(e){W.value=null,Y.value=e instanceof Error?e.message:`یادآور یافت نشد.`}finally{q.value=!1}}h(X),g(U,X);function Z(e){return e===`in_person`?`ملاقات حضوری`:e===`call`?`تماس تلفنی`:e===`message`?`پیام`:`یادداشت`}async function Q(){if(!(!W.value||W.value.completed)){J.value=!0,Y.value=null;try{await V.markReminderComplete(W.value.id),W.value={...W.value,completed:!0},B.push(`/reminders?filter=today`)}catch(e){Y.value=e instanceof Error?e.message:`تکمیل یادآور ناموفق بود.`}finally{J.value=!1}}}let te=e(()=>H.fullName||`واسطه`),$=e(()=>{let e=K.value;return{total:e.length,inPerson:e.filter(e=>e.type===`in_person`).length,call:e.filter(e=>e.type===`call`).length,other:e.filter(e=>e.type===`message`||e.type===`note`).length}}),ne=e(()=>{let e=Array.from({length:6},()=>({a:0,b:0,c:0}));K.value.forEach((t,n)=>{let r=e[n%6];r&&(t.type===`in_person`?r.a+=1:t.type===`call`?r.b+=1:r.c+=1)});let t=Math.max(1,...e.map(e=>e.a+e.b+e.c));return e.map(e=>({a:`${e.a/t*100}%`,b:`${e.b/t*100}%`,c:`${e.c/t*100}%`}))});return(e,u)=>W.value&&G.value?(c(),i(`div`,S,[a(x,{title:`جزئیات یادآور`,"show-back":``,centered:``,onBack:u[0]||=e=>o(B).back()}),f(`div`,C,[Y.value?(c(),i(`p`,w,t(Y.value),1)):n(``,!0),f(`div`,T,[f(`section`,ee,[u[8]||=f(`h2`,null,`جزئیات یادآور`,-1),f(`div`,E,[u[3]||=f(`span`,null,`عنوان`,-1),f(`strong`,null,t(W.value.title)+` — `+t(W.value.description),1)]),f(`div`,D,[u[4]||=f(`span`,null,`مشتری`,-1),f(`div`,O,[f(`div`,{class:`avatar`,style:s({background:G.value.avatarColor})},t(G.value.avatarLetter),5),f(`div`,null,[f(`strong`,null,t(G.value.name),1),f(`p`,null,t(G.value.contactName),1)])])]),f(`div`,k,[u[5]||=f(`span`,null,`فروشنده حامل حضوری`,-1),f(`strong`,null,t(te.value),1)]),f(`div`,A,[u[6]||=f(`span`,null,`تاریخ و زمان`,-1),f(`strong`,null,t(W.value.date)+` — `+t(W.value.time),1)]),f(`div`,j,[u[7]||=f(`span`,null,`یادداشت`,-1),f(`strong`,null,t(W.value.note||`—`),1)]),f(`div`,M,[f(`button`,{type:`button`,class:`btn-outline`,onClick:u[1]||=e=>o(B).back()},`ویرایش`),f(`button`,{type:`button`,class:`btn-primary`,disabled:J.value||W.value.completed,onClick:Q},t(W.value.completed?`تکمیل‌شده`:J.value?`...`:`تکمیل شد`),9,N)])]),f(`section`,P,[u[9]||=f(`h2`,null,`تاریخچه تعاملات`,-1),(c(!0),i(r,null,l(K.value,e=>(c(),i(`article`,{key:e.id,class:`history-row`},[f(`div`,null,[f(`strong`,null,t(Z(e.type)),1),f(`p`,null,t(e.description),1)]),f(`span`,null,t(e.date),1)]))),128)),f(`button`,{type:`button`,class:`see-all`,onClick:u[2]||=e=>o(B).push({path:`/customer`,query:{id:G.value.id,tab:`reports`}})},` مشاهده همه `)]),f(`section`,F,[u[14]||=f(`div`,{class:`chart-panel__head`},[f(`h2`,null,`نمودار فعالیت`),f(`span`,null,`تعاملات ثبت‌شده`)],-1),f(`div`,I,[(c(!0),i(r,null,l(ne.value,(e,t)=>(c(),i(`div`,{key:t,class:`bar`},[e.c===`0%`?n(``,!0):(c(),i(`span`,{key:0,class:`seg seg--c`,style:s({height:e.c})},null,4)),e.b===`0%`?n(``,!0):(c(),i(`span`,{key:1,class:`seg seg--b`,style:s({height:e.b})},null,4)),e.a===`0%`?n(``,!0):(c(),i(`span`,{key:2,class:`seg seg--a`,style:s({height:e.a})},null,4))]))),128))]),f(`div`,L,[f(`div`,null,[u[10]||=f(`span`,null,`کل تعاملات`,-1),f(`strong`,null,t($.value.total.toLocaleString(`fa-IR`))+` مورد`,1)]),f(`div`,null,[u[11]||=f(`span`,null,`ملاقات حضوری`,-1),f(`strong`,null,t($.value.inPerson.toLocaleString(`fa-IR`))+` مورد`,1)]),f(`div`,null,[u[12]||=f(`span`,null,`تماس تلفنی`,-1),f(`strong`,null,t($.value.call.toLocaleString(`fa-IR`))+` مورد`,1)]),f(`div`,null,[u[13]||=f(`span`,null,`یادداشت و پیام`,-1),f(`strong`,null,t($.value.other.toLocaleString(`fa-IR`))+` مورد`,1)])])])])])])):q.value?(c(),i(`div`,R,[a(y,{variant:`detail`})])):(c(),i(`div`,z,[f(`p`,null,t(Y.value||`یادآور یافت نشد.`),1)]))}}),[[`__scopeId`,`data-v-9fc8e0f1`]]);export{B as default}; \ No newline at end of file diff --git a/dist/assets/RemindersView-DIKKpasp.js b/dist/assets/RemindersView-B1HBhehQ.js similarity index 99% rename from dist/assets/RemindersView-DIKKpasp.js rename to dist/assets/RemindersView-B1HBhehQ.js index e86d7c1..048c8d8 100644 --- a/dist/assets/RemindersView-DIKKpasp.js +++ b/dist/assets/RemindersView-B1HBhehQ.js @@ -1 +1 @@ -import{A as e,C as ee,Ct as t,D as te,Et as n,L as r,M as ne,N as i,O as a,P as o,R as s,St as c,Tt as re,Y as l,Z as u,_ as d,g as ie,it as f,j as p,mt as m,n as ae,q as oe,tt as se,w as h,z as g}from"./BasicIcon-C6boaehV.js";import{o as _}from"./format-BHJptHdF.js";import{i as ce,s as le,y as ue}from"./index-spodxsRN.js";import{t as de}from"./IconChevronBack-DORV2H0q.js";import{t as fe}from"./IconMoreVertical-BPkOm_2U.js";import{t as pe}from"./PageSkeleton-uO-jhbNm.js";import{t as me}from"./crm-CtglbPsN.js";import{t as he}from"./useGoBack-CgNp0uP9.js";var ge={class:`page reminders-page`},_e={class:`top`},v={class:`top__actions`},y={class:`page__scroll page__scroll--with-nav reminders-scroll`},b={class:`filters`},x=[`onClick`],S={key:0,class:`count-badge`},C={key:1},w={key:2,class:`create-panel`},T={key:0,class:`create-error`},E=[`value`],D={class:`create-row`},O={class:`create-actions`},k=[`disabled`],A={key:3,class:`summary`},j={class:`summary__head`},M={class:`summary__label`},N={class:`summary__count`},P=[`onClick`],F={class:`time`},I=[`onClick`],L={class:`reminder-card__body`},ve={class:`reminder-card__top`},ye={class:`customer`},be={class:`contact`},xe={class:`desc`},R=ae(g({__name:`RemindersView`,setup(ae){let g=ie(),R=d(),{goBack:z}=he(`/`),B=me(),V=e(()=>String(g.query.filter??`today`)),H=m([]),U=m([]),W=m(!0),G=m(null),K=m(!1),q=m(!1),J=m({customerId:``,title:``,date:``,time:`10:00`,note:``}),Se=[{id:`all`,label:`همه`},{id:`today`,label:`امروز`},{id:`week`,label:`هفته آینده`},{id:`past`,label:`گذشته`}],Y=e(()=>H.value.filter(e=>!e.completed)),X=e(()=>H.value.filter(e=>e.completed)),Ce=e(()=>Y.value.length),Z=e(()=>X.value.length);async function Q(){W.value=!0,G.value=null;try{H.value=await B.loadReminders(V.value)}catch(e){G.value=e instanceof Error?e.message:`بارگذاری یادآورها ناموفق بود.`,H.value=[]}finally{W.value=!1}}oe(Q),se(V,Q);function $(e){R.replace({path:`/reminders`,query:{filter:e}})}async function we(e){try{await B.markReminderComplete(e),await Q()}catch(e){G.value=e instanceof Error?e.message:`تکمیل یادآور ناموفق بود.`}}function Te(e){return e===`in_person`?`ملاقات حضوری`:e===`call`?`تماس تلفنی`:e===`message`?`پیام`:`یادداشت`}function Ee(e){return e===`in_person`?`tag--green`:e===`call`?`tag--blue`:`tag--purple`}let De=e(()=>V.value===`today`?`پیگیری‌های امروز`:V.value===`week`?`پیگیری‌های هفته آینده`:V.value===`past`?`پیگیری‌های گذشته`:`پیگیری‌های باز`);async function Oe(){K.value=!0,G.value=null;try{if(U.value=await B.loadCustomers(),!J.value.customerId&&U.value[0]&&(J.value.customerId=U.value[0].id),!J.value.date){let e=new Date;J.value.date=`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}}catch(e){G.value=e instanceof Error?e.message:`بارگذاری مشتریان ناموفق بود.`}}async function ke(){if(!J.value.customerId||!J.value.title.trim()||!J.value.date||!J.value.time){G.value=`مشتری، عنوان، تاریخ و ساعت الزامی است.`;return}q.value=!0,G.value=null;try{await B.createReminder({customerId:J.value.customerId,title:J.value.title.trim(),date:J.value.date,time:J.value.time,note:J.value.note.trim()||void 0,description:J.value.note.trim()||void 0}),K.value=!1,J.value.title=``,J.value.note=``,await Q()}catch(e){G.value=e instanceof Error?e.message:`ثبت یادآور ناموفق بود.`}finally{q.value=!1}}return(e,d)=>(l(),o(`div`,ge,[p(`header`,_e,[p(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:d[0]||=(...e)=>c(z)&&c(z)(...e)},[s(de,{size:20})]),d[9]||=p(`h1`,null,`یادآورها`,-1),p(`div`,v,[s(ce,{variant:`inline`}),p(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اعلان‌ها`,onClick:d[1]||=e=>c(R).push(`/profile/notifications`)},[s(le,{size:18})])])]),p(`div`,y,[p(`div`,b,[(l(),o(a,null,u(Se,e=>p(`button`,{key:e.id,type:`button`,class:t([`filter`,{"filter--active":V.value===e.id}]),onClick:ee=>$(e.id)},[r(n(e.label)+` `,1),e.id===`past`&&Z.value?(l(),o(`span`,S,n(Z.value.toLocaleString(`fa-IR`)),1)):i(``,!0)],10,x)),64))]),W.value?(l(),ne(pe,{key:0,variant:`list`})):G.value&&!K.value?(l(),o(`p`,C,n(G.value),1)):i(``,!0),K.value?(l(),o(`section`,w,[d[16]||=p(`h3`,null,`یادآور جدید`,-1),G.value?(l(),o(`p`,T,n(G.value),1)):i(``,!0),p(`label`,null,[d[11]||=r(` مشتری `,-1),f(p(`select`,{"onUpdate:modelValue":d[2]||=e=>J.value.customerId=e},[d[10]||=p(`option`,{disabled:``,value:``},`انتخاب مشتری`,-1),(l(!0),o(a,null,u(U.value,e=>(l(),o(`option`,{key:e.id,value:e.id},n(e.name||e.contactName),9,E))),128))],512),[[ee,J.value.customerId]])]),p(`label`,null,[d[12]||=r(` عنوان `,-1),f(p(`input`,{"onUpdate:modelValue":d[3]||=e=>J.value.title=e,type:`text`,placeholder:`مثلاً پیگیری نمونه`},null,512),[[h,J.value.title]])]),p(`div`,D,[p(`label`,null,[d[13]||=r(` تاریخ `,-1),f(p(`input`,{"onUpdate:modelValue":d[4]||=e=>J.value.date=e,type:`date`},null,512),[[h,J.value.date]])]),p(`label`,null,[d[14]||=r(` ساعت `,-1),f(p(`input`,{"onUpdate:modelValue":d[5]||=e=>J.value.time=e,type:`time`},null,512),[[h,J.value.time]])])]),p(`label`,null,[d[15]||=r(` یادداشت `,-1),f(p(`textarea`,{"onUpdate:modelValue":d[6]||=e=>J.value.note=e,rows:`2`,placeholder:`اختیاری`},null,512),[[h,J.value.note]])]),p(`div`,O,[p(`button`,{type:`button`,class:`btn-cancel`,onClick:d[7]||=e=>K.value=!1},`انصراف`),p(`button`,{type:`button`,class:`btn-save`,disabled:q.value,onClick:ke},n(q.value?`در حال ثبت...`:`ثبت یادآور`),9,k)])])):!W.value&&!G.value?(l(),o(`section`,A,[p(`div`,j,[p(`span`,M,n(De.value),1)]),p(`div`,N,[p(`strong`,null,n(c(_)(Ce.value)),1),d[17]||=p(`span`,null,`مورد`,-1)]),d[18]||=p(`p`,{class:`summary__sub`},`یادآورهای شما برای پیگیری مشتریان`,-1)])):i(``,!0),(l(!0),o(a,null,u(Y.value,e=>(l(),o(`article`,{key:e.id,class:`reminder-card`,onClick:ee=>c(R).push({path:`/reminder`,query:{id:e.id}})},[p(`span`,F,n(e.time),1),p(`button`,{type:`button`,class:`check`,"aria-label":`تکمیل`,onClick:te(ee=>we(e.id),[`stop`])},null,8,I),p(`div`,L,[p(`div`,ve,[p(`strong`,null,n(e.title),1),s(fe,{size:16})]),p(`span`,{class:t([`tag`,Ee(e.interactionType)])},n(Te(e.interactionType)),3),p(`p`,ye,n(e.customerName),1),p(`p`,be,n(e.contactName),1),p(`p`,xe,n(e.description),1)]),p(`div`,{class:`avatar`,style:re({background:e.avatarColor})},n(e.avatarLetter),5)],8,P))),128)),p(`button`,{type:`button`,class:`completed-bar`,onClick:d[8]||=e=>$(`past`)},[d[19]||=r(` یادآورهای تکمیل‌شده `,-1),p(`span`,null,n(c(_)(X.value.length)),1)]),p(`button`,{type:`button`,class:`new-btn`,onClick:Oe},[s(ue,{size:20,color:`#fff`}),d[20]||=r(` یادآور جدید `,-1)])])]))}}),[[`__scopeId`,`data-v-89857cb4`]]);export{R as default}; \ No newline at end of file +import{A as e,C as ee,Ct as t,D as te,Et as n,L as r,M as ne,N as i,O as a,P as o,R as s,St as c,Tt as re,Y as l,Z as u,_ as d,g as ie,it as f,j as p,mt as m,n as ae,q as oe,tt as se,w as h,z as g}from"./BasicIcon-C6boaehV.js";import{o as _}from"./format-BHJptHdF.js";import{i as ce,s as le,y as ue}from"./index-B6MlTGUp.js";import{t as de}from"./IconChevronBack-DORV2H0q.js";import{t as fe}from"./IconMoreVertical-BPkOm_2U.js";import{t as pe}from"./PageSkeleton-uO-jhbNm.js";import{t as me}from"./crm-CtglbPsN.js";import{t as he}from"./useGoBack-CgNp0uP9.js";var ge={class:`page reminders-page`},_e={class:`top`},v={class:`top__actions`},y={class:`page__scroll page__scroll--with-nav reminders-scroll`},b={class:`filters`},x=[`onClick`],S={key:0,class:`count-badge`},C={key:1},w={key:2,class:`create-panel`},T={key:0,class:`create-error`},E=[`value`],D={class:`create-row`},O={class:`create-actions`},k=[`disabled`],A={key:3,class:`summary`},j={class:`summary__head`},M={class:`summary__label`},N={class:`summary__count`},P=[`onClick`],F={class:`time`},I=[`onClick`],L={class:`reminder-card__body`},ve={class:`reminder-card__top`},ye={class:`customer`},be={class:`contact`},xe={class:`desc`},R=ae(g({__name:`RemindersView`,setup(ae){let g=ie(),R=d(),{goBack:z}=he(`/`),B=me(),V=e(()=>String(g.query.filter??`today`)),H=m([]),U=m([]),W=m(!0),G=m(null),K=m(!1),q=m(!1),J=m({customerId:``,title:``,date:``,time:`10:00`,note:``}),Se=[{id:`all`,label:`همه`},{id:`today`,label:`امروز`},{id:`week`,label:`هفته آینده`},{id:`past`,label:`گذشته`}],Y=e(()=>H.value.filter(e=>!e.completed)),X=e(()=>H.value.filter(e=>e.completed)),Ce=e(()=>Y.value.length),Z=e(()=>X.value.length);async function Q(){W.value=!0,G.value=null;try{H.value=await B.loadReminders(V.value)}catch(e){G.value=e instanceof Error?e.message:`بارگذاری یادآورها ناموفق بود.`,H.value=[]}finally{W.value=!1}}oe(Q),se(V,Q);function $(e){R.replace({path:`/reminders`,query:{filter:e}})}async function we(e){try{await B.markReminderComplete(e),await Q()}catch(e){G.value=e instanceof Error?e.message:`تکمیل یادآور ناموفق بود.`}}function Te(e){return e===`in_person`?`ملاقات حضوری`:e===`call`?`تماس تلفنی`:e===`message`?`پیام`:`یادداشت`}function Ee(e){return e===`in_person`?`tag--green`:e===`call`?`tag--blue`:`tag--purple`}let De=e(()=>V.value===`today`?`پیگیری‌های امروز`:V.value===`week`?`پیگیری‌های هفته آینده`:V.value===`past`?`پیگیری‌های گذشته`:`پیگیری‌های باز`);async function Oe(){K.value=!0,G.value=null;try{if(U.value=await B.loadCustomers(),!J.value.customerId&&U.value[0]&&(J.value.customerId=U.value[0].id),!J.value.date){let e=new Date;J.value.date=`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}}catch(e){G.value=e instanceof Error?e.message:`بارگذاری مشتریان ناموفق بود.`}}async function ke(){if(!J.value.customerId||!J.value.title.trim()||!J.value.date||!J.value.time){G.value=`مشتری، عنوان، تاریخ و ساعت الزامی است.`;return}q.value=!0,G.value=null;try{await B.createReminder({customerId:J.value.customerId,title:J.value.title.trim(),date:J.value.date,time:J.value.time,note:J.value.note.trim()||void 0,description:J.value.note.trim()||void 0}),K.value=!1,J.value.title=``,J.value.note=``,await Q()}catch(e){G.value=e instanceof Error?e.message:`ثبت یادآور ناموفق بود.`}finally{q.value=!1}}return(e,d)=>(l(),o(`div`,ge,[p(`header`,_e,[p(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:d[0]||=(...e)=>c(z)&&c(z)(...e)},[s(de,{size:20})]),d[9]||=p(`h1`,null,`یادآورها`,-1),p(`div`,v,[s(ce,{variant:`inline`}),p(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اعلان‌ها`,onClick:d[1]||=e=>c(R).push(`/profile/notifications`)},[s(le,{size:18})])])]),p(`div`,y,[p(`div`,b,[(l(),o(a,null,u(Se,e=>p(`button`,{key:e.id,type:`button`,class:t([`filter`,{"filter--active":V.value===e.id}]),onClick:ee=>$(e.id)},[r(n(e.label)+` `,1),e.id===`past`&&Z.value?(l(),o(`span`,S,n(Z.value.toLocaleString(`fa-IR`)),1)):i(``,!0)],10,x)),64))]),W.value?(l(),ne(pe,{key:0,variant:`list`})):G.value&&!K.value?(l(),o(`p`,C,n(G.value),1)):i(``,!0),K.value?(l(),o(`section`,w,[d[16]||=p(`h3`,null,`یادآور جدید`,-1),G.value?(l(),o(`p`,T,n(G.value),1)):i(``,!0),p(`label`,null,[d[11]||=r(` مشتری `,-1),f(p(`select`,{"onUpdate:modelValue":d[2]||=e=>J.value.customerId=e},[d[10]||=p(`option`,{disabled:``,value:``},`انتخاب مشتری`,-1),(l(!0),o(a,null,u(U.value,e=>(l(),o(`option`,{key:e.id,value:e.id},n(e.name||e.contactName),9,E))),128))],512),[[ee,J.value.customerId]])]),p(`label`,null,[d[12]||=r(` عنوان `,-1),f(p(`input`,{"onUpdate:modelValue":d[3]||=e=>J.value.title=e,type:`text`,placeholder:`مثلاً پیگیری نمونه`},null,512),[[h,J.value.title]])]),p(`div`,D,[p(`label`,null,[d[13]||=r(` تاریخ `,-1),f(p(`input`,{"onUpdate:modelValue":d[4]||=e=>J.value.date=e,type:`date`},null,512),[[h,J.value.date]])]),p(`label`,null,[d[14]||=r(` ساعت `,-1),f(p(`input`,{"onUpdate:modelValue":d[5]||=e=>J.value.time=e,type:`time`},null,512),[[h,J.value.time]])])]),p(`label`,null,[d[15]||=r(` یادداشت `,-1),f(p(`textarea`,{"onUpdate:modelValue":d[6]||=e=>J.value.note=e,rows:`2`,placeholder:`اختیاری`},null,512),[[h,J.value.note]])]),p(`div`,O,[p(`button`,{type:`button`,class:`btn-cancel`,onClick:d[7]||=e=>K.value=!1},`انصراف`),p(`button`,{type:`button`,class:`btn-save`,disabled:q.value,onClick:ke},n(q.value?`در حال ثبت...`:`ثبت یادآور`),9,k)])])):!W.value&&!G.value?(l(),o(`section`,A,[p(`div`,j,[p(`span`,M,n(De.value),1)]),p(`div`,N,[p(`strong`,null,n(c(_)(Ce.value)),1),d[17]||=p(`span`,null,`مورد`,-1)]),d[18]||=p(`p`,{class:`summary__sub`},`یادآورهای شما برای پیگیری مشتریان`,-1)])):i(``,!0),(l(!0),o(a,null,u(Y.value,e=>(l(),o(`article`,{key:e.id,class:`reminder-card`,onClick:ee=>c(R).push({path:`/reminder`,query:{id:e.id}})},[p(`span`,F,n(e.time),1),p(`button`,{type:`button`,class:`check`,"aria-label":`تکمیل`,onClick:te(ee=>we(e.id),[`stop`])},null,8,I),p(`div`,L,[p(`div`,ve,[p(`strong`,null,n(e.title),1),s(fe,{size:16})]),p(`span`,{class:t([`tag`,Ee(e.interactionType)])},n(Te(e.interactionType)),3),p(`p`,ye,n(e.customerName),1),p(`p`,be,n(e.contactName),1),p(`p`,xe,n(e.description),1)]),p(`div`,{class:`avatar`,style:re({background:e.avatarColor})},n(e.avatarLetter),5)],8,P))),128)),p(`button`,{type:`button`,class:`completed-bar`,onClick:d[8]||=e=>$(`past`)},[d[19]||=r(` یادآورهای تکمیل‌شده `,-1),p(`span`,null,n(c(_)(X.value.length)),1)]),p(`button`,{type:`button`,class:`new-btn`,onClick:Oe},[s(ue,{size:20,color:`#fff`}),d[20]||=r(` یادآور جدید `,-1)])])]))}}),[[`__scopeId`,`data-v-89857cb4`]]);export{R as default}; \ No newline at end of file diff --git a/dist/assets/SettlementTypeView-CNPLLs4b.js b/dist/assets/SettlementTypeView-003zaZPC.js similarity index 96% rename from dist/assets/SettlementTypeView-CNPLLs4b.js rename to dist/assets/SettlementTypeView-003zaZPC.js index 2103fb5..965cd14 100644 --- a/dist/assets/SettlementTypeView-CNPLLs4b.js +++ b/dist/assets/SettlementTypeView-003zaZPC.js @@ -1 +1 @@ -import{A as e,Et as t,L as n,M as r,N as i,O as a,P as o,R as s,St as c,Y as l,_ as u,j as d,mt as f,n as p,rt as m,t as h,tt as g,z as _}from"./BasicIcon-C6boaehV.js";import{n as v}from"./format-BHJptHdF.js";import{d as y,n as b}from"./index-spodxsRN.js";import{t as x}from"./FormErrorBanner-CjdBfIQT.js";import{t as S}from"./CheckoutStepper-CqUviuW7.js";import{t as C}from"./PageHeader-BaJqBjIW.js";import{n as w}from"./orderInvoice-B0L1Aeuk.js";import{t as T}from"./useRequirePricedOrder-BBPnO4DF.js";import{t as E}from"./IconCheckBook-DwIUojJc.js";var D=_({__name:`IconCashSettlement`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(l(),r(h,{icon:`vuesax-linear:card`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),O={class:`page settlement-mobile-page mobile-only`},k={class:`page__scroll`},A={key:0,class:`settlement-waiting`},j={class:`settlement-invoice`},M={class:`settlement-invoice__value`},N={key:0,class:`settlement-invoice__meta`},P={class:`settlement-mobile-options`},F=[`disabled`],I={class:`settlement-card__icon settlement-card__icon--cash`},L=[`disabled`],R={class:`settlement-card__icon settlement-card__icon--check`},z={class:`desktop-checkout-shell desktop-only`},B={class:`desktop-page__head`},V={class:`desktop-page__subtitle`},H={key:0,class:`settlement-waiting settlement-waiting--desktop`},U={key:1,class:`desktop-settlement-grid`},W=[`disabled`],G={class:`settlement-card__icon settlement-card__icon--cash`},K=[`disabled`],q={class:`settlement-card__icon settlement-card__icon--check`},J=p(_({__name:`SettlementTypeView`,setup(r){let p=u(),h=y(),{orderId:_,order:J,invoiceReady:Y}=T(),X=f(!1),Z=f(``);g(_,async e=>{e&&!h.getOrderById(e)&&await h.fetchOrder(e)},{immediate:!0});let Q=e(()=>J.value?.finalAmount?v(J.value.finalAmount):`—`);async function $(e){if(X.value||!w(J.value)){Z.value=`تا قبل از قیمت‌گذاری مدیریت، امکان انتخاب روش تسویه وجود ندارد.`;return}X.value=!0,Z.value=``;try{await h.chooseSettlement(_.value,e),e===`cash`?p.replace(`/orders/${_.value}/cash`):(h.startCheckDraft(_.value),p.replace(`/orders/${_.value}/check-mode`))}catch(e){Z.value=e instanceof Error?e.message:`ثبت روش تسویه ناموفق بود.`}finally{X.value=!1}}return(e,r)=>(l(),o(a,null,[d(`div`,O,[s(C,{title:`انتخاب نوع تسویه`,subtitle:`پس از صدور فاکتور، نوع تسویه را انتخاب کنید`,"show-back":``,centered:``,onBack:r[0]||=e=>c(p).push(`/orders/${c(_)}`)}),d(`div`,k,[s(x,{message:Z.value},null,8,[`message`]),c(Y)?(l(),o(a,{key:1},[d(`div`,j,[r[10]||=d(`span`,{class:`settlement-invoice__label`},`مبلغ فاکتور`,-1),d(`strong`,M,t(Q.value),1),c(J)?(l(),o(`span`,N,`سفارش `+t(c(J).orderNumber),1)):i(``,!0)]),d(`div`,P,[d(`button`,{type:`button`,class:`settlement-card`,disabled:X.value,onClick:r[2]||=e=>$(`cash`)},[d(`span`,I,[s(D,{size:36})]),r[11]||=d(`h3`,null,`تسویه نقدی`,-1),r[12]||=d(`p`,null,`پرداخت از طریق واریز به حساب شرکت`,-1)],8,F),d(`button`,{type:`button`,class:`settlement-card`,disabled:X.value,onClick:r[3]||=e=>$(`check`)},[d(`span`,R,[s(E,{size:36})]),r[13]||=d(`h3`,null,`تسویه چکی`,-1),r[14]||=d(`p`,null,`پرداخت بر اساس مبلغ فاکتور با ثبت چک`,-1)],8,L)])],64)):(l(),o(`div`,A,[r[8]||=d(`h3`,{class:`settlement-waiting__title`},`در انتظار قیمت‌گذاری`,-1),r[9]||=d(`p`,{class:`settlement-waiting__text`},` پیش‌سفارش ثبت شده است. پس از تعیین قیمت توسط مدیریت و صدور فاکتور، از این صفحه روش تسویه (نقد یا چک) را انتخاب کنید. `,-1),s(b,{block:``,variant:`outline`,onClick:r[1]||=e=>c(p).push(`/orders/${c(_)}`)},{default:m(()=>[...r[7]||=[n(` بازگشت به جزئیات سفارش `,-1)]]),_:1})]))])]),d(`div`,z,[s(S,{"current-step":4}),d(`header`,B,[r[15]||=d(`h1`,{class:`desktop-page__title`},`انتخاب نوع تسویه`,-1),d(`p`,V,[c(Y)?(l(),o(a,{key:0},[n(` مبلغ فاکتور `+t(Q.value)+t(c(J)?` · سفارش ${c(J).orderNumber}`:``),1)],64)):(l(),o(a,{key:1},[n(`پس از قیمت‌گذاری مدیریت فعال می‌شود`)],64))])]),s(x,{message:Z.value},null,8,[`message`]),c(Y)?(l(),o(`div`,U,[d(`button`,{type:`button`,class:`settlement-card settlement-card--desktop`,disabled:X.value,onClick:r[5]||=e=>$(`cash`)},[d(`span`,G,[s(D,{size:40})]),r[19]||=d(`h3`,null,`تسویه نقدی`,-1),r[20]||=d(`p`,null,`پرداخت از طریق واریز به حساب شرکت`,-1)],8,W),d(`button`,{type:`button`,class:`settlement-card settlement-card--desktop`,disabled:X.value,onClick:r[6]||=e=>$(`check`)},[d(`span`,q,[s(E,{size:40})]),r[21]||=d(`h3`,null,`تسویه چکی`,-1),r[22]||=d(`p`,null,`پرداخت بر اساس مبلغ فاکتور با ثبت چک`,-1)],8,K)])):(l(),o(`div`,H,[r[17]||=d(`h3`,{class:`settlement-waiting__title`},`در انتظار قیمت‌گذاری`,-1),r[18]||=d(`p`,{class:`settlement-waiting__text`},` پیش‌سفارش ثبت شده است. پس از صدور فاکتور می‌توانید روش تسویه را انتخاب کنید. `,-1),s(b,{variant:`outline`,onClick:r[4]||=e=>c(p).push(`/orders/${c(_)}`)},{default:m(()=>[...r[16]||=[n(` بازگشت به جزئیات سفارش `,-1)]]),_:1})]))])],64))}}),[[`__scopeId`,`data-v-6b697aeb`]]);export{J as default}; \ No newline at end of file +import{A as e,Et as t,L as n,M as r,N as i,O as a,P as o,R as s,St as c,Y as l,_ as u,j as d,mt as f,n as p,rt as m,t as h,tt as g,z as _}from"./BasicIcon-C6boaehV.js";import{n as v}from"./format-BHJptHdF.js";import{d as y,n as b}from"./index-B6MlTGUp.js";import{t as x}from"./FormErrorBanner-CjdBfIQT.js";import{t as S}from"./CheckoutStepper-CqUviuW7.js";import{t as C}from"./PageHeader-CDQMUtCp.js";import{n as w}from"./orderInvoice-B0L1Aeuk.js";import{t as T}from"./useRequirePricedOrder-zO2gkEXW.js";import{t as E}from"./IconCheckBook-DwIUojJc.js";var D=_({__name:`IconCashSettlement`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(l(),r(h,{icon:`vuesax-linear:card`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),O={class:`page settlement-mobile-page mobile-only`},k={class:`page__scroll`},A={key:0,class:`settlement-waiting`},j={class:`settlement-invoice`},M={class:`settlement-invoice__value`},N={key:0,class:`settlement-invoice__meta`},P={class:`settlement-mobile-options`},F=[`disabled`],I={class:`settlement-card__icon settlement-card__icon--cash`},L=[`disabled`],R={class:`settlement-card__icon settlement-card__icon--check`},z={class:`desktop-checkout-shell desktop-only`},B={class:`desktop-page__head`},V={class:`desktop-page__subtitle`},H={key:0,class:`settlement-waiting settlement-waiting--desktop`},U={key:1,class:`desktop-settlement-grid`},W=[`disabled`],G={class:`settlement-card__icon settlement-card__icon--cash`},K=[`disabled`],q={class:`settlement-card__icon settlement-card__icon--check`},J=p(_({__name:`SettlementTypeView`,setup(r){let p=u(),h=y(),{orderId:_,order:J,invoiceReady:Y}=T(),X=f(!1),Z=f(``);g(_,async e=>{e&&!h.getOrderById(e)&&await h.fetchOrder(e)},{immediate:!0});let Q=e(()=>J.value?.finalAmount?v(J.value.finalAmount):`—`);async function $(e){if(X.value||!w(J.value)){Z.value=`تا قبل از قیمت‌گذاری مدیریت، امکان انتخاب روش تسویه وجود ندارد.`;return}X.value=!0,Z.value=``;try{await h.chooseSettlement(_.value,e),e===`cash`?p.replace(`/orders/${_.value}/cash`):(h.startCheckDraft(_.value),p.replace(`/orders/${_.value}/check-mode`))}catch(e){Z.value=e instanceof Error?e.message:`ثبت روش تسویه ناموفق بود.`}finally{X.value=!1}}return(e,r)=>(l(),o(a,null,[d(`div`,O,[s(C,{title:`انتخاب نوع تسویه`,subtitle:`پس از صدور فاکتور، نوع تسویه را انتخاب کنید`,"show-back":``,centered:``,onBack:r[0]||=e=>c(p).push(`/orders/${c(_)}`)}),d(`div`,k,[s(x,{message:Z.value},null,8,[`message`]),c(Y)?(l(),o(a,{key:1},[d(`div`,j,[r[10]||=d(`span`,{class:`settlement-invoice__label`},`مبلغ فاکتور`,-1),d(`strong`,M,t(Q.value),1),c(J)?(l(),o(`span`,N,`سفارش `+t(c(J).orderNumber),1)):i(``,!0)]),d(`div`,P,[d(`button`,{type:`button`,class:`settlement-card`,disabled:X.value,onClick:r[2]||=e=>$(`cash`)},[d(`span`,I,[s(D,{size:36})]),r[11]||=d(`h3`,null,`تسویه نقدی`,-1),r[12]||=d(`p`,null,`پرداخت از طریق واریز به حساب شرکت`,-1)],8,F),d(`button`,{type:`button`,class:`settlement-card`,disabled:X.value,onClick:r[3]||=e=>$(`check`)},[d(`span`,R,[s(E,{size:36})]),r[13]||=d(`h3`,null,`تسویه چکی`,-1),r[14]||=d(`p`,null,`پرداخت بر اساس مبلغ فاکتور با ثبت چک`,-1)],8,L)])],64)):(l(),o(`div`,A,[r[8]||=d(`h3`,{class:`settlement-waiting__title`},`در انتظار قیمت‌گذاری`,-1),r[9]||=d(`p`,{class:`settlement-waiting__text`},` پیش‌سفارش ثبت شده است. پس از تعیین قیمت توسط مدیریت و صدور فاکتور، از این صفحه روش تسویه (نقد یا چک) را انتخاب کنید. `,-1),s(b,{block:``,variant:`outline`,onClick:r[1]||=e=>c(p).push(`/orders/${c(_)}`)},{default:m(()=>[...r[7]||=[n(` بازگشت به جزئیات سفارش `,-1)]]),_:1})]))])]),d(`div`,z,[s(S,{"current-step":4}),d(`header`,B,[r[15]||=d(`h1`,{class:`desktop-page__title`},`انتخاب نوع تسویه`,-1),d(`p`,V,[c(Y)?(l(),o(a,{key:0},[n(` مبلغ فاکتور `+t(Q.value)+t(c(J)?` · سفارش ${c(J).orderNumber}`:``),1)],64)):(l(),o(a,{key:1},[n(`پس از قیمت‌گذاری مدیریت فعال می‌شود`)],64))])]),s(x,{message:Z.value},null,8,[`message`]),c(Y)?(l(),o(`div`,U,[d(`button`,{type:`button`,class:`settlement-card settlement-card--desktop`,disabled:X.value,onClick:r[5]||=e=>$(`cash`)},[d(`span`,G,[s(D,{size:40})]),r[19]||=d(`h3`,null,`تسویه نقدی`,-1),r[20]||=d(`p`,null,`پرداخت از طریق واریز به حساب شرکت`,-1)],8,W),d(`button`,{type:`button`,class:`settlement-card settlement-card--desktop`,disabled:X.value,onClick:r[6]||=e=>$(`check`)},[d(`span`,q,[s(E,{size:40})]),r[21]||=d(`h3`,null,`تسویه چکی`,-1),r[22]||=d(`p`,null,`پرداخت بر اساس مبلغ فاکتور با ثبت چک`,-1)],8,K)])):(l(),o(`div`,H,[r[17]||=d(`h3`,{class:`settlement-waiting__title`},`در انتظار قیمت‌گذاری`,-1),r[18]||=d(`p`,{class:`settlement-waiting__text`},` پیش‌سفارش ثبت شده است. پس از صدور فاکتور می‌توانید روش تسویه را انتخاب کنید. `,-1),s(b,{variant:`outline`,onClick:r[4]||=e=>c(p).push(`/orders/${c(_)}`)},{default:m(()=>[...r[16]||=[n(` بازگشت به جزئیات سفارش `,-1)]]),_:1})]))])],64))}}),[[`__scopeId`,`data-v-6b697aeb`]]);export{J as default}; \ No newline at end of file diff --git a/dist/assets/WelcomeView-CIX4mZos.js b/dist/assets/WelcomeView-qGaUzjJM.js similarity index 97% rename from dist/assets/WelcomeView-CIX4mZos.js rename to dist/assets/WelcomeView-qGaUzjJM.js index ab02bff..8d58c7e 100644 --- a/dist/assets/WelcomeView-CIX4mZos.js +++ b/dist/assets/WelcomeView-qGaUzjJM.js @@ -1 +1 @@ -import{Et as e,M as t,O as n,P as r,R as i,St as a,Y as o,Z as s,_ as c,j as l,n as u,t as d,z as f}from"./BasicIcon-C6boaehV.js";import{_ as p,o as m}from"./index-spodxsRN.js";import{t as h}from"./login-fabric-CzrIXTnD.js";var g={class:`page welcome-page`},_=[`src`],v={class:`welcome-page__scroll`},y={class:`welcome-page__stage`},b={class:`welcome-brand`},x={class:`welcome-features`},S={class:`welcome-feature__icon`,"aria-hidden":`true`},C={key:0,class:`welcome-feature__star`,viewBox:`0 0 24 24`,fill:`none`},w={class:`welcome-cta__chevron`,"aria-hidden":`true`},T=u(f({__name:`WelcomeView`,setup(u){let f=c(),T=[{icon:`star`,title:`همراه همیشگی کسب‌وکارتان`,subtitle:`با خدمات ویژه مشتریان`},{icon:`vuesax-linear:truck-time`,title:`سفارش عمده`,subtitle:`مستقیم از تولیدکننده`},{icon:`vuesax-linear:element-3`,title:`تنوع بی‌نظیر محصولات`,subtitle:`از کلاسیک تا مدرن`}];function E(){let e=typeof f.currentRoute.value.query.redirect==`string`?f.currentRoute.value.query.redirect:void 0;f.push({name:`login`,query:e?{redirect:e}:void 0})}return(c,u)=>(o(),r(`div`,g,[l(`img`,{class:`welcome-page__bg`,src:a(h),alt:``},null,8,_),u[7]||=l(`div`,{class:`welcome-page__veil`,"aria-hidden":`true`},null,-1),l(`div`,v,[l(`div`,y,[l(`header`,{class:`welcome-top`},[l(`button`,{type:`button`,class:`welcome-skip`,onClick:E},`رد شدن`)]),l(`div`,b,[i(p,{size:88}),u[0]||=l(`h1`,{class:`welcome-brand__fa`},`نادمی تکس`,-1),u[1]||=l(`p`,{class:`welcome-brand__tag`},`انتخاب حرفه‌ای، شروع یک همکاری ماندگار`,-1),u[2]||=l(`span`,{class:`welcome-brand__rule`,"aria-hidden":`true`},null,-1)]),l(`ul`,x,[(o(),r(n,null,s(T,n=>l(`li`,{key:n.title,class:`welcome-feature`},[l(`span`,S,[n.icon===`star`?(o(),r(`svg`,C,[...u[3]||=[l(`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,stroke:`#fff`,"stroke-width":`1.5`,"stroke-linejoin":`round`},null,-1)]])):(o(),t(d,{key:1,icon:n.icon,size:22,color:`#ffffff`},null,8,[`icon`]))]),l(`strong`,null,e(n.title),1),l(`span`,null,e(n.subtitle),1)])),64))]),u[5]||=l(`div`,{class:`welcome-spacer`,"aria-hidden":`true`},null,-1),u[6]||=l(`div`,{class:`welcome-dots`,"aria-hidden":`true`},[l(`i`,{class:`is-on`}),l(`i`),l(`i`),l(`i`)],-1),l(`button`,{type:`button`,class:`welcome-cta`,onClick:E},[u[4]||=l(`span`,null,`ورود / ثبت‌نام`,-1),l(`span`,w,[i(m,{size:18,color:`#ffffff`})])])])])]))}}),[[`__scopeId`,`data-v-66f13882`]]);export{T as default}; \ No newline at end of file +import{Et as e,M as t,O as n,P as r,R as i,St as a,Y as o,Z as s,_ as c,j as l,n as u,t as d,z as f}from"./BasicIcon-C6boaehV.js";import{_ as p,o as m}from"./index-B6MlTGUp.js";import{t as h}from"./login-fabric-CzrIXTnD.js";var g={class:`page welcome-page`},_=[`src`],v={class:`welcome-page__scroll`},y={class:`welcome-page__stage`},b={class:`welcome-brand`},x={class:`welcome-features`},S={class:`welcome-feature__icon`,"aria-hidden":`true`},C={key:0,class:`welcome-feature__star`,viewBox:`0 0 24 24`,fill:`none`},w={class:`welcome-cta__chevron`,"aria-hidden":`true`},T=u(f({__name:`WelcomeView`,setup(u){let f=c(),T=[{icon:`star`,title:`همراه همیشگی کسب‌وکارتان`,subtitle:`با خدمات ویژه مشتریان`},{icon:`vuesax-linear:truck-time`,title:`سفارش عمده`,subtitle:`مستقیم از تولیدکننده`},{icon:`vuesax-linear:element-3`,title:`تنوع بی‌نظیر محصولات`,subtitle:`از کلاسیک تا مدرن`}];function E(){let e=typeof f.currentRoute.value.query.redirect==`string`?f.currentRoute.value.query.redirect:void 0;f.push({name:`login`,query:e?{redirect:e}:void 0})}return(c,u)=>(o(),r(`div`,g,[l(`img`,{class:`welcome-page__bg`,src:a(h),alt:``},null,8,_),u[7]||=l(`div`,{class:`welcome-page__veil`,"aria-hidden":`true`},null,-1),l(`div`,v,[l(`div`,y,[l(`header`,{class:`welcome-top`},[l(`button`,{type:`button`,class:`welcome-skip`,onClick:E},`رد شدن`)]),l(`div`,b,[i(p,{size:88}),u[0]||=l(`h1`,{class:`welcome-brand__fa`},`نادمی تکس`,-1),u[1]||=l(`p`,{class:`welcome-brand__tag`},`انتخاب حرفه‌ای، شروع یک همکاری ماندگار`,-1),u[2]||=l(`span`,{class:`welcome-brand__rule`,"aria-hidden":`true`},null,-1)]),l(`ul`,x,[(o(),r(n,null,s(T,n=>l(`li`,{key:n.title,class:`welcome-feature`},[l(`span`,S,[n.icon===`star`?(o(),r(`svg`,C,[...u[3]||=[l(`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,stroke:`#fff`,"stroke-width":`1.5`,"stroke-linejoin":`round`},null,-1)]])):(o(),t(d,{key:1,icon:n.icon,size:22,color:`#ffffff`},null,8,[`icon`]))]),l(`strong`,null,e(n.title),1),l(`span`,null,e(n.subtitle),1)])),64))]),u[5]||=l(`div`,{class:`welcome-spacer`,"aria-hidden":`true`},null,-1),u[6]||=l(`div`,{class:`welcome-dots`,"aria-hidden":`true`},[l(`i`,{class:`is-on`}),l(`i`),l(`i`),l(`i`)],-1),l(`button`,{type:`button`,class:`welcome-cta`,onClick:E},[u[4]||=l(`span`,null,`ورود / ثبت‌نام`,-1),l(`span`,w,[i(m,{size:18,color:`#ffffff`})])])])])]))}}),[[`__scopeId`,`data-v-66f13882`]]);export{T as default}; \ No newline at end of file diff --git a/dist/assets/index-spodxsRN.js b/dist/assets/index-B6MlTGUp.js similarity index 91% rename from dist/assets/index-spodxsRN.js rename to dist/assets/index-B6MlTGUp.js index 52c7273..82567ff 100644 --- a/dist/assets/index-spodxsRN.js +++ b/dist/assets/index-B6MlTGUp.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/WelcomeView-CIX4mZos.js","assets/BasicIcon-C6boaehV.js","assets/BasicIcon-QF_b9Svq.css","assets/login-fabric-CzrIXTnD.js","assets/WelcomeView-Bue6hk9x.css","assets/LoginView-D2VsOVrb.js","assets/http-BC1hNfZ4.js","assets/format-BHJptHdF.js","assets/validation-BD7oi-2I.js","assets/FormErrorBanner-CjdBfIQT.js","assets/FormErrorBanner-Hje8L-00.css","assets/IconPhone-C0bnM4fV.js","assets/formErrors-DglFjYkZ.js","assets/LoginView-a5WOmvO4.css","assets/RegisterView-Cjx6Gvgv.js","assets/dist-B7sUlTMM.js","assets/dist-CUUvbY4x.js","assets/IconDiamond-Bgv1zgqc.js","assets/RegisterView-CTzyNknX.css","assets/OtpView-GOSd36OA.js","assets/IconChevronBack-DORV2H0q.js","assets/IconEditPen-DLV3_yq2.js","assets/OtpView-D50bP3mT.css","assets/HomeView-DKOvriis.js","assets/PageSkeleton-uO-jhbNm.js","assets/PageSkeleton-BAjL8n2H.css","assets/crm-CtglbPsN.js","assets/useGoBack-CgNp0uP9.js","assets/IconHeart-CZMe29Nz.js","assets/HomeView-EA-z_Eo2.css","assets/CompanySelectView-BTxwZIWf.js","assets/catalog-s7nVUdlj.js","assets/IconFamBaftLogo-BaP40Dff.js","assets/IconFamBaftLogo-BaDEschB.css","assets/CompanySelectView-wH7uHLvB.css","assets/CategoriesView-CmgGNUmK.js","assets/IconLayoutGrid-E-Q8Z5rF.js","assets/IconSearch-DOnq8ybc.js","assets/IconShoppingBag-Bq21_Txe.js","assets/CategoriesView-DsmvNfMp.css","assets/ProductsView-B4EcZOo9.js","assets/IconFilter-D9NdLZ7w.js","assets/colorSwatch-BgOH1LE5.js","assets/PageHeader-BaJqBjIW.js","assets/PageHeader-CDhs0XKF.css","assets/SearchField-Dx2PcshV.js","assets/SearchField-BGmIHecn.css","assets/ProductsView-MAdd0_sK.css","assets/ProductDetailView-D1OzQiiN.js","assets/IconShare-1kao-fAR.js","assets/ProductDetailView-xdAl3zfq.css","assets/CatalogsHubView-CNo_eP3-.js","assets/catalogGallery-DMNB35I1.js","assets/CatalogsHubView-Cnl22g6I.css","assets/CatalogDetailView-BL7FIVct.js","assets/CatalogDetailView-jzLLMDJe.css","assets/CatalogRequestView-DJSH6bVf.js","assets/catalogRequests-D1kBtGqL.js","assets/CatalogRequestView-BZ3G_4yn.css","assets/CatalogRequestsView-DKI4qAxI.js","assets/CatalogRequestsView-DUzaL-Pf.css","assets/FavoritesView-BMYycFs8.js","assets/FavoritesView-C_rd5Wxy.css","assets/CustomersView-C8PSBTXL.js","assets/CustomersView-CmCf2GQT.css","assets/CustomerCreateView-jg0OBdWH.js","assets/BaseInput-qoEXOHCQ.js","assets/BaseInput-Dxl7Obd8.css","assets/CustomerCreateView-xAy0nFXT.css","assets/CustomerDetailView-Br6csGlE.js","assets/constants-DXXK14Zz.js","assets/IconClipboardEmpty-5Av_Gh0W.js","assets/IconMail-wulYTzHn.js","assets/CustomerDetailView-Baj8nbYX.css","assets/MeetingReportView-WBp3aKwI.js","assets/IconCheckCircleOutline-Bx3NxSDX.js","assets/MeetingReportView-clcxg22r.css","assets/RemindersView-DIKKpasp.js","assets/IconMoreVertical-BPkOm_2U.js","assets/RemindersView-DX3323vn.css","assets/ReminderDetailView-CQX6_0TU.js","assets/ReminderDetailView-CRDCge09.css","assets/CatalogListView-C_xOF3_z.js","assets/EmptyState-C_QQeA_h.js","assets/EmptyState-D6A5GmrP.css","assets/CatalogListView-ClQNdMb8.css","assets/CartView-C0jwRPr9.js","assets/CheckoutStepper-CqUviuW7.js","assets/CheckoutStepper-hqk-kVCz.css","assets/CartView-7hxFuJin.css","assets/OrdersView-DAbh5y-5.js","assets/OrdersView-Te_tCICZ.css","assets/OrderDetailView-BG1gJZnJ.js","assets/orderInvoice-B0L1Aeuk.js","assets/PersianDateInput-5iA_raeL.js","assets/PersianDateInput-MG7uK7zm.css","assets/OrderDetailView-DfQWMJF8.css","assets/OrderSuccessView-DAGntLe0.js","assets/OrderSuccessView-D_odiYNR.css","assets/SettlementTypeView-CNPLLs4b.js","assets/useRequirePricedOrder-BBPnO4DF.js","assets/IconCheckBook-DwIUojJc.js","assets/SettlementTypeView-C3wqclvS.css","assets/CashSettlementView-Clk-HI89.js","assets/CashSettlementView-C8IRazOR.css","assets/CheckModeSelectView-C8EtFh3p.js","assets/CheckModeSelectView-BZlKzxFL.css","assets/CheckFormView-CVv1VLYW.js","assets/CheckFormView-Cgp6kUZ2.css","assets/CheckListView-DkR4Ltru.js","assets/CheckListView-B_ogsKeK.css","assets/ProfileView-DAXufKBC.js","assets/ProfileView-D8tUQfUl.css","assets/ProfileEditView-dnVuGX6w.js","assets/ProfileSubpageLayout-PN2YWH-s.js","assets/ProfileSubpageLayout-W3vfIprY.css","assets/ProfileEditView-Cqvr3yiG.css","assets/ProfileSecurityView-KJcwzopX.js","assets/ProfileSecurityView-BjbybMSz.css","assets/ProfileNotificationsView-BDtqUYZj.js","assets/ProfileNotificationsView-CTp2kqLW.css","assets/ProfileDisplayView-ufvTk2u8.js","assets/ProfileDisplayView-CDaE5E6F.css","assets/ProfileChecksView-wOLfVfr3.js"])))=>i.map(i=>d[i]); -import{A as e,Ct as t,D as n,Et as r,G as i,H as a,L as o,M as s,N as c,O as l,P as u,Q as d,R as f,St as p,Tt as m,W as h,X as g,Y as _,Z as v,_ as y,_t as ee,a as b,c as x,d as S,et as C,f as w,ft as T,g as te,h as ne,ht as re,i as E,j as D,l as O,m as ie,mt as k,n as A,nt as ae,o as j,p as oe,q as se,r as ce,rt as M,s as N,t as P,tt as le,u as ue,v as F,x as de,y as fe,z as I}from"./BasicIcon-C6boaehV.js";import{a as pe,i as L,n as R,o as z,r as B,s as V,t as H}from"./http-BC1hNfZ4.js";import{l as me}from"./dist-CUUvbY4x.js";import{i as he,r as ge}from"./dist-B7sUlTMM.js";import{_ as _e,c as ve,s as ye,t as be,u as xe,v as Se}from"./format-BHJptHdF.js";import{r as Ce}from"./validation-BD7oi-2I.js";import{t as U}from"./catalog-s7nVUdlj.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var W=typeof document<`u`,we=/#/g,Te=/&/g,Ee=/\//g,De=/=/g,Oe=/\?/g,ke=/\+/g,Ae=/%5B/g,je=/%5D/g,Me=/%5E/g,Ne=/%60/g,Pe=/%7B/g,Fe=/%7C/g,Ie=/%7D/g,Le=/%20/g;function Re(e){return e==null?``:encodeURI(``+e).replace(Fe,`|`).replace(Ae,`[`).replace(je,`]`)}function ze(e){return Re(e).replace(Pe,`{`).replace(Ie,`}`).replace(Me,`^`)}function Be(e){return Re(e).replace(ke,`%2B`).replace(Le,`+`).replace(we,`%23`).replace(Te,`%26`).replace(Ne,"`").replace(Pe,`{`).replace(Ie,`}`).replace(Me,`^`)}function Ve(e){return Be(e).replace(De,`%3D`)}function He(e){return Re(e).replace(we,`%23`).replace(Oe,`%3F`)}function Ue(e){return He(e).replace(Ee,`%2F`)}function We(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var Ge=/\/$/,Ke=e=>e.replace(Ge,``);function qe(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=et(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:We(o)}}function Je(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function Ye(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function Xe(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&G(t.matched[r],n.matched[i])&&Ze(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function G(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Ze(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Qe(e[n],t[n]))return!1;return!0}function Qe(e,t){return j(e)?$e(e,t):j(t)?$e(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function $e(e,t){return j(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function et(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var K={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function tt(e){if(!e)if(W){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),Ke(e)}var nt=/^[^#]+#/;function rt(e,t){return e.replace(nt,`#`)+t}function it(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var at=()=>({left:window.scrollX,top:window.scrollY});function ot(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=it(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function st(e,t){return(history.state?history.state.position-t:-1)+e}var ct=new Map;function lt(e,t){ct.set(e,t)}function ut(e){let t=ct.get(e);return ct.delete(e),t}function dt(e){return typeof e==`string`||e&&typeof e==`object`}function ft(e){return typeof e==`string`||typeof e==`symbol`}function pt(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&Be(e)):[r&&Be(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function ht(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=j(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function q(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function J(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(b(4,{from:n,to:t})):e instanceof Error?c(e):dt(e)?c(b(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function gt(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(O(s)){let c=(s.__vccOpts||s)[t];c&&a.push(J(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=N(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&J(c,n,r,o,e,i)()}))}}return a}function _t(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;oG(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>G(e,s))||i.push(s))}return[n,r,i]}var vt=()=>location.protocol+`//`+location.host;function yt(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),Ye(n,``)}return Ye(n,e)+r+i}function bt(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=yt(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(E({},e.state,{scroll:at()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function xt(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?at():null}}function St(e){let{history:t,location:n}=window,r={value:yt(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:vt()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,E({},t.state,xt(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=E({},i.value,t.state,{forward:e,scroll:at()});a(o.current,o,!0),a(e,E({},xt(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function Ct(e){e=tt(e);let t=St(e),n=bt(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=E({location:``,base:e,go:r,createHref:rt.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}var wt={type:0,value:``},Tt=/[a-zA-Z0-9_]/;function Et(e){if(!e)return[[]];if(e===`/`)return[[wt]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;st.length?t.length===1&&t[0]===80?1:-1:0}function Mt(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var Pt={strict:!1,end:!0,sensitive:!1};function Ft(e,t,n){let r=At(Et(e.path),n),i=E(r,{record:e,parent:t,children:[],alias:[]});return t&&!i.record.aliasOf==!t.record.aliasOf&&t.children.push(i),i}function It(e,t){let n=[],r=new Map;t=S(Pt,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=Rt(e);s.aliasOf=r&&r.record;let l=S(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(Rt(E({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=Ft(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!Bt(d)&&o(e.name)),Wt(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:w}function o(e){if(ft(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=Ht(e,n);n.splice(t,0,e),e.record.name&&!Bt(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw b(1,{location:e});s=i.record.name,a=E(Lt(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&Lt(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw b(1,{location:e,currentLocation:t});s=i.record.name,a=E({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:Vt(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function Lt(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Rt(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:zt(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function zt(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function Bt(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Vt(e){return e.reduce((e,t)=>E(e,t.meta),{})}function Ht(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;Mt(e,t[i])<0?r=i:n=i+1}let i=Ut(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function Ut(e){let t=e;for(;t=t.parent;)if(Wt(t)&&Mt(e,t)===0)return t}function Wt({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Gt(t){let n=h(ie),r=h(oe),i=e(()=>{let e=p(t.to);return n.resolve(e)}),a=e(()=>{let{matched:e}=i.value,{length:t}=e,n=e[t-1],a=r.matched;if(!n||!a.length)return-1;let o=a.findIndex(G.bind(null,n));if(o>-1)return o;let s=Xt(e[t-2]);return t>1&&Xt(n)===s&&a[a.length-1].path!==s?a.findIndex(G.bind(null,e[t-2])):o}),o=e(()=>a.value>-1&&Yt(r.params,i.value.params)),s=e(()=>a.value>-1&&a.value===r.matched.length-1&&Ze(r.params,i.value.params));function c(e={}){if(Jt(e)){let e=n[p(t.replace)?`replace`:`push`](p(t.to)).catch(w);return t.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>e),e}return Promise.resolve()}return{route:i,href:e(()=>i.value.href),isActive:o,isExactActive:s,navigate:c}}function Kt(e){return e.length===1?e[0]:e}var qt=I({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:Gt,setup(t,{slots:n}){let r=T(Gt(t)),{options:i}=h(ie),o=e(()=>({[Zt(t.activeClass,i.linkActiveClass,`router-link-active`)]:r.isActive,[Zt(t.exactActiveClass,i.linkExactActiveClass,`router-link-exact-active`)]:r.isExactActive}));return()=>{let e=n.default&&Kt(n.default(r));return t.custom?e:a(`a`,{"aria-current":r.isExactActive?t.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:o.value},e)}}});function Jt(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(e.button===void 0||e.button===0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Yt(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!j(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function Xt(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var Zt=(e,t,n)=>e??t??n,Qt=I({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(t,{attrs:n,slots:r}){let i=h(ne),o=e(()=>t.route||i.value),s=h(F,0),c=e(()=>{let e=p(s),{matched:t}=o.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),l=e(()=>o.value.matched[c.value]);g(F,e(()=>c.value+1)),g(ue,l),g(ne,o);let u=k();return le(()=>[u.value,l.value,t.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!G(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let e=o.value,i=t.name,s=l.value,c=s&&s.components[i];if(!c)return $t(r.default,{Component:c,route:e});let d=s.props[i],f=d?d===!0?e.params:typeof d==`function`?d(e):d:null,p=a(c,E({},f,n,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(s.instances[i]=null)},ref:u}));return $t(r.default,{Component:p,route:e})||p}}});function $t(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var en=Qt;function tn(e){let t=It(e.routes,e),n=e.parseQuery||pt,r=e.stringifyQuery||mt,a=e.history,o=q(),s=q(),c=q(),l=ee(K),u=K;W&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let d=ce.bind(null,e=>``+e),f=ce.bind(null,Ue),m=ce.bind(null,We);function h(e,n){let r,i;return ft(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function g(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function _(){return t.getRoutes().map(e=>e.record)}function v(e){return!!t.getRecordMatcher(e)}function y(e,i){if(i=E({},i||l.value),typeof e==`string`){let r=qe(n,e,i.path),o=t.resolve({path:r.path},i),s=a.createHref(r.fullPath);return E(r,o,{params:m(o.params),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=E({},e,{path:qe(n,e.path,i.path).path});else{let t=E({},e.params);for(let e in t)t[e]??delete t[e];o=E({},e,{params:f(t)}),i.params=f(i.params)}let s=t.resolve(o,i),c=e.hash||``;s.params=d(m(s.params));let u=Je(r,E({},e,{hash:ze(c),path:s.path})),p=a.createHref(u);return E({fullPath:u,hash:c,query:r===mt?ht(e.query):e.query||{}},s,{redirectedFrom:void 0,href:p})}function S(e){return typeof e==`string`?qe(n,e,l.value.path):E({},e)}function C(e,t){if(u!==e)return b(8,{from:t,to:e})}function T(e){return O(e)}function te(e){return T(E(S(e),{replace:!0}))}function D(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=S(i):{path:i},i.params={}),E({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function O(e,t){let n=u=y(e),i=l.value,a=e.state,o=e.force,s=e.replace===!0,c=D(n,i);if(c)return O(E(S(c),{state:typeof c==`object`?E({},a,c.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&Xe(r,i,n)&&(f=b(16,{to:d,from:i}),pe(i,i,!0,!1)),(f?Promise.resolve(f):ae(d,i)).catch(e=>x(e)?x(e,2)?e:I(e):de(e,d,i)).then(e=>{if(e){if(x(e,2))return O(E({replace:s},S(e.to),{state:typeof e.to==`object`?E({},a,e.to.state):a,force:o}),t||d)}else e=M(d,i,!0,s,a);return se(d,i,e),e})}function k(e,t){let n=C(e,t);return n?Promise.reject(n):Promise.resolve()}function A(e){let t=z.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function ae(e,t){let n,[r,i,a]=_t(e,t);n=gt(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(J(r,e,t))});let c=k.bind(null,e,t);return n.push(c),V(n).then(()=>{n=[];for(let r of o.list())n.push(J(r,e,t));return n.push(c),V(n)}).then(()=>{n=gt(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(J(r,e,t))});return n.push(c),V(n)}).then(()=>{n=[];for(let r of a)if(r.beforeEnter)if(j(r.beforeEnter))for(let i of r.beforeEnter)n.push(J(i,e,t));else n.push(J(r.beforeEnter,e,t));return n.push(c),V(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=gt(a,`beforeRouteEnter`,e,t,A),n.push(c),V(n))).then(()=>{n=[];for(let r of s.list())n.push(J(r,e,t));return n.push(c),V(n)}).catch(e=>x(e,8)?e:Promise.reject(e))}function se(e,t,n){c.list().forEach(r=>A(()=>r(e,t,n)))}function M(e,t,n,r,i){let o=C(e,t);if(o)return o;let s=t===K,c=W?history.state:{};n&&(r||s?a.replace(e.fullPath,E({scroll:s&&c&&c.scroll},i)):a.push(e.fullPath,i)),l.value=e,pe(e,t,n,s),I()}let N;function P(){N||=a.listen((e,t,n)=>{if(!B.listening)return;let r=y(e),i=D(r,B.currentRoute.value);if(i){O(E(i,{replace:!0,force:!0}),r).catch(w);return}u=r;let o=l.value;W&<(st(o.fullPath,n.delta),at()),ae(r,o).catch(e=>x(e,12)?e:x(e,2)?(O(E(S(e.to),{force:!0}),r).then(e=>{x(e,20)&&!n.delta&&n.type===`pop`&&a.go(-1,!1)}).catch(w),Promise.reject()):(n.delta&&a.go(-n.delta,!1),de(e,r,o))).then(e=>{e||=M(r,o,!1),e&&(n.delta&&!x(e,8)?a.go(-n.delta,!1):n.type===`pop`&&x(e,20)&&a.go(-1,!1)),se(r,o,e)}).catch(w)})}let le=q(),ue=q(),F;function de(e,t,n){I(e);let r=ue.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function fe(){return F&&l.value!==K?Promise.resolve():new Promise((e,t)=>{le.add([e,t])})}function I(e){return F||(F=!e,P(),le.list().forEach(([t,n])=>e?n(e):t()),le.reset()),e}function pe(t,n,r,a){let{scrollBehavior:o}=e;if(!W||!o)return Promise.resolve();let s=!r&&ut(st(t.fullPath,0))||(a||!r)&&history.state&&history.state.scroll||null;return i().then(()=>o(t,n,s)).then(e=>t===l.value&&e&&ot(e)).catch(e=>t===l.value&&de(e,t,n))}let L=e=>a.go(e),R,z=new Set,B={currentRoute:l,listening:!0,addRoute:h,removeRoute:g,clearRoutes:t.clearRoutes,hasRoute:v,getRoutes:_,resolve:y,options:e,push:T,replace:te,go:L,back:()=>L(-1),forward:()=>L(1),beforeEach:o.add,beforeResolve:s.add,afterEach:c.add,onError:ue.add,isReady:fe,install(e){e.component(`RouterLink`,qt),e.component(`RouterView`,en),e.config.globalProperties.$router=B,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>p(l)}),W&&!R&&l.value===K&&(R=!0,T(a.location).catch(e=>{}));let t={};for(let e in K)Object.defineProperty(t,e,{get:()=>l.value[e],enumerable:!0});e.provide(ie,B),e.provide(oe,re(t)),e.provide(ne,l);let n=e.unmount;z.add(e),e.unmount=function(){z.delete(e),z.size<1&&(u=K,N&&N(),N=null,l.value=K,R=!1,F=!1),n()}}};function V(e){return e.reduce((e,t)=>e.then(()=>A(t)),Promise.resolve())}return B}var nn=typeof global==`object`&&global&&global.Object===Object&&global,rn=typeof self==`object`&&self&&self.Object===Object&&self,an=(nn||rn||Function(`return this`)()).Symbol,on=Object.prototype,sn=on.hasOwnProperty,cn=on.toString,Y=an?an.toStringTag:void 0;function ln(e){var t=sn.call(e,Y),n=e[Y];try{e[Y]=void 0;var r=!0}catch{}var i=cn.call(e);return r&&(t?e[Y]=n:delete e[Y]),i}var un=Object.prototype.toString;function dn(e){return un.call(e)}var fn=`[object Null]`,pn=`[object Undefined]`,mn=an?an.toStringTag:void 0;function hn(e){return e==null?e===void 0?pn:fn:mn&&mn in Object(e)?ln(e):dn(e)}function gn(e){return typeof e==`object`&&!!e}var _n=`[object Symbol]`;function vn(e){return typeof e==`symbol`||gn(e)&&hn(e)==_n}var yn=/\s/;function bn(e){for(var t=e.length;t--&&yn.test(e.charAt(t)););return t}var xn=/^\s+/;function Sn(e){return e&&e.slice(0,bn(e)+1).replace(xn,``)}function Cn(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}var wn=NaN,Tn=/^[-+]0x[0-9a-f]+$/i,En=/^0b[01]+$/i,Dn=/^0o[0-7]+$/i,On=parseInt;function kn(e){if(typeof e==`number`)return e;if(vn(e))return wn;if(Cn(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=Cn(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=Sn(e);var n=En.test(e);return n||Dn.test(e)?On(e.slice(2),n?2:8):Tn.test(e)?wn:+e}function An(e,t,n){return e===e&&(n!==void 0&&(e=e<=n?e:n),t!==void 0&&(e=e>=t?e:t)),e}function jn(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=kn(n),n=n===n?n:0),t!==void 0&&(t=kn(t),t=t===t?t:0),An(kn(e),t,n)}var Mn=5e3;function Nn(){return{id:`local`,companyId:``,companyName:``,items:[]}}function X(){return!1}function Pn(e){return[...new Set(e.map(e=>e.companyName).filter(Boolean))].join(`، `)}function Fn(e,t){return e.items.filter(e=>e.companyId===t).reduce((e,t)=>e+t.meterage,0)}var Z=z(`cart`,()=>{let t=k([Nn()]),n=k(`local`),r=k(null),i=k(!1),a=e(()=>t.value.find(e=>e.id===n.value)??t.value[0]??null),o=e(()=>a.value?.items.reduce((e,t)=>e+t.meterage,0)??0),s=e(()=>a.value?.items.length??0),c=U(),l=e(()=>a.value?.items.length?Pn(a.value.items):``),u=e(()=>{let e=a.value;if(!e?.items.length)return[];let t=new Map;for(let n of e.items){let e=t.get(n.companyId);e?e.meterage+=n.meterage:t.set(n.companyId,{companyName:n.companyName||`شرکت`,meterage:n.meterage})}return[...t.entries()].map(([e,t])=>{let n=c.getCompany(e)?.maxMeteragePerInvoice??Mn;return{companyId:e,companyName:t.companyName,meterage:t.meterage,maxMeterage:n,remaining:Math.max(0,n-t.meterage)}})}),d=e(()=>u.value.length?u.value.reduce((e,t)=>e+t.maxMeterage,0):(r.value?c.getCompany(r.value):null)?.maxMeteragePerInvoice??Mn),f=e(()=>u.value.length?u.value.reduce((e,t)=>e+t.remaining,0):Math.max(0,d.value-o.value)),p=e(()=>u.value.some(e=>e.meterage>=e.maxMeterage));function m(e){let i={id:e.id,companyId:e.companyId||``,companyName:e.companyName||Pn(e.items),items:e.items??[],notes:e.notes};t.value=[i],n.value=i.id,i.companyId&&(r.value=i.companyId)}function h(e){t.value=[{...e,items:e.items.map(e=>({...e}))}],n.value=t.value[0].id}async function g(){if(!B()){_();return}if(X()){i.value=!1;return}i.value=!0;try{m(await R(`/carts`))}catch{_()}finally{i.value=!1}}function _(){t.value=[Nn()],n.value=t.value[0].id,r.value=null}function v(e){r.value=e.id,a.value&&!a.value.items.length&&(a.value.companyId=e.id,a.value.companyName=e.name)}function y(e){return v(e),a.value??Nn()}function ee(e){return e&&v(e),a.value??Nn()}async function b(){if(X())return _(),a.value;try{return m(await R(`/carts`,{method:`DELETE`})),a.value}catch(e){return console.error(e),null}}function x(e,t,n,i){let a=ee(i),o=a.items.find(t=>t.productId===e.id),s=[...a.items];if(o){let e=s.findIndex(e=>e.id===o.id);s[e]={...o,meterage:n}}else{let r={id:`local-item-${e.id}-${Date.now()}`,productId:e.id,catalogCode:t,productName:e.name,productCode:e.code,color:e.color,meterage:n,companyId:i.id,companyName:i.name};s.push(r)}return h({id:a.id||`local`,companyId:s[0]?.companyId||i.id,companyName:Pn(s)||i.name,items:s,notes:a.notes}),r.value=i.id,{success:!0}}async function S(e,t,n){c.companies.length||await c.loadCompanies();let i=c.getCompany(e.companyId),o=a.value??Nn(),s=i?.maxMeteragePerInvoice??Mn,l=e.companyId?Fn(o,e.companyId):0,u=o.items.find(t=>t.productId===e.id),d=u?.meterage??0,f=Ce(n,e,l,s,d);if(!f.valid)return{success:!1,message:f.message};if(X())return i?x(e,t,n,i):{success:!1,message:`شرکت محصول یافت نشد.`};try{let t;return t=u?await R(`/carts/items/${u.id}`,{method:`PATCH`,body:{meterage:n}}):await R(`/carts/items`,{method:`POST`,body:{productId:e.id,meterage:n}}),m(t),r.value=i?.id||e.companyId||r.value,{success:!0}}catch(e){return{success:!1,message:e instanceof H?e.message:`افزودن به سبد ناموفق بود.`}}}async function C(e,t,n){if(!a.value)return{success:!1,message:`سبد خرید یافت نشد.`};let r=a.value.items.find(t=>t.id===e);if(!r)return{success:!1,message:`آیتم یافت نشد.`};let i=c.getCompany(r.companyId||n.companyId)?.maxMeteragePerInvoice??Mn,o=Fn(a.value,r.companyId),s=Ce(t,n,o,i,r.meterage);if(!s.valid)return{success:!1,message:s.message};if(X()){let n=a.value.items.map(n=>n.id===e?{...n,meterage:t}:n);return h({...a.value,items:n}),{success:!0}}try{return m(await R(`/carts/items/${e}`,{method:`PATCH`,body:{meterage:t}})),{success:!0}}catch(e){return{success:!1,message:e instanceof H?e.message:`به‌روزرسانی متراژ ناموفق بود.`}}}async function w(e){if(X()){if(!a.value)return;let t=a.value.items.filter(t=>t.id!==e);h({...a.value,items:t});return}try{m(await R(`/carts/items/${e}`,{method:`DELETE`}))}catch(e){console.error(e)}}async function T(e){if(X()){if(!a.value)return;h({...a.value,notes:e});return}try{m(await R(`/carts/notes`,{method:`PATCH`,body:{notes:e}}))}catch(e){console.error(e)}}async function te(){if(X()){_();return}try{m(await R(`/carts`,{method:`DELETE`}))}catch{_()}}function ne(){}return{carts:t,activeCartId:n,selectedCompanyId:r,syncing:i,activeCart:a,totalMeterage:o,itemCount:s,companyNamesLabel:l,companySummaries:u,maxMeterage:d,remainingCapacity:f,isFull:p,initCartForCompany:y,selectCompany:v,createNewCartForSameCompany:b,addItem:S,updateItemMeterage:C,removeItem:w,setNotes:T,clearActiveCart:te,ensureActiveCartForCartPage:ne,hydrate:g,resetLocal:_}}),In=I({__name:`IconHome`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(_(),s(P,{icon:`vuesax-linear:home`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Ln=I({__name:`IconCart`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(_(),s(P,{icon:`vuesax-linear:bag-2`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Rn=I({__name:`IconOrders`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(_(),s(P,{icon:`vuesax-linear:document-text`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),zn=I({__name:`IconProfile`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(_(),s(P,{icon:`vuesax-linear:profile-circle`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Bn=I({__name:`IconCatalog`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(_(),s(P,{icon:`vuesax-linear:category`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Vn=I({__name:`IconPlus`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(_(),s(P,{icon:`vuesax-linear:add`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Hn=[{name:`home`,path:`/`,label:`خانه`,icon:In},{name:`catalogs`,path:`/catalogs`,label:`کالیته‌ها`,icon:Bn},{name:`order-fab`,path:`/cart`,label:`ثبت سفارش`,icon:Vn},{name:`orders`,path:`/orders`,label:`سفارش‌ها`,icon:Rn},{name:`profile`,path:`/profile`,label:`پروفایل`,icon:zn}],Un=[{name:`home`,path:`/`,label:`خانه`,icon:In},{name:`catalogs`,path:`/catalogs`,label:`کالیته‌ها`,icon:Bn},{name:`cart`,path:`/cart`,label:`ثبت سفارش`,icon:Ln},{name:`orders`,path:`/orders`,label:`سفارش‌ها`,icon:Rn},{name:`profile`,path:`/profile`,label:`پروفایل`,icon:zn}],Wn=[`/catalogs`,`/catalog-request`,`/catalog-requests`,`/categories`,`/products`,`/product`,`/favorites`];function Gn(e,t,n){return e===`home`?n===`/`:e===`catalogs`?Wn.some(e=>n===e||n.startsWith(`${e}/`)):e===`order-fab`||e===`cart`?n===`/cart`||n.startsWith(`/cart/`):e===`profile`?n===`/profile`||n.startsWith(`/profile/`):t===`/`?n===`/`:n.startsWith(t)}function Kn(e,t){return e.path}function qn(e){return e===0?`/catalogs`:`/cart`}var Jn={class:`bottom-nav`,"aria-label":`ناوبری اصلی`},Yn=[`aria-current`,`aria-label`,`onClick`],Xn={key:0,class:`nav-badge`},Zn={key:0,class:`nav-label`},Qn={key:1,class:`nav-label nav-label--fab`},$n=A(I({__name:`BottomNav`,setup(n){let i=te(),a=y(),o=Z(),d=e(()=>o.itemCount);function f(e,t){let n=t.currentTarget;if(n instanceof HTMLElement&&n.blur(),e===`/cart`){a.push(qn(o.itemCount));return}a.push(e)}return(e,n)=>(_(),u(`nav`,Jn,[(_(!0),u(l,null,v(p(Hn),e=>(_(),u(`button`,{key:e.name,type:`button`,class:t([`nav-item`,{active:p(Gn)(e.name,e.path,p(i).path),"nav-item--fab":e.name===`order-fab`}]),"aria-current":p(Gn)(e.name,e.path,p(i).path)?`page`:void 0,"aria-label":e.label,onClick:t=>f(e.path,t)},[D(`span`,{class:t([`nav-icon`,{"nav-icon--fab":e.name===`order-fab`}])},[(_(),s(C(e.icon),{size:e.name===`order-fab`?26:22,"stroke-width":e.name===`order-fab`?1.8:1.5,color:e.name===`order-fab`?`#ffffff`:void 0},null,8,[`size`,`stroke-width`,`color`])),e.name===`order-fab`&&d.value>0?(_(),u(`span`,Xn,r(d.value),1)):c(``,!0)],2),e.name===`order-fab`?(_(),u(`span`,Qn,r(e.label),1)):(_(),u(`span`,Zn,r(e.label),1))],10,Yn))),128))]))}}),[[`__scopeId`,`data-v-3b391510`]]),er=I({__name:`IconHeadset`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(_(),s(P,{icon:`vuesax-linear:headphone`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),tr=`/assets/nademitex-logo-BJLexNm4.png`,nr=[`src`],rr=A(I({__name:`IconQemashMark`,props:{size:{default:72}},setup(e){return(t,n)=>(_(),u(`img`,{class:`brand-logo`,src:p(tr),alt:``,style:m({height:`${e.size}px`}),draggable:`false`},null,12,nr))}}),[[`__scopeId`,`data-v-b211450b`]]),ir={class:`desktop-sidebar`,"aria-label":`ناوبری اصلی`},ar={class:`desktop-sidebar__brand`},or={class:`desktop-sidebar__nav`},sr=[`aria-current`,`aria-label`,`title`,`onClick`],cr={class:`desktop-sidebar__icon`},lr={class:`desktop-sidebar__label`},ur={key:0,class:`desktop-sidebar__badge`},dr={class:`desktop-sidebar__support`},fr={class:`desktop-sidebar__support-icon`,"aria-hidden":`true`},pr=A(I({__name:`DesktopSidebar`,setup(n){let i=te(),a=y(),o=Z(),d=e(()=>o.itemCount),m=e(()=>o.selectedCompanyId||o.activeCart?.companyId||null);function h(e){if(e.name===`cart`){a.push(qn(o.itemCount));return}a.push(Kn(e,m.value))}return(e,n)=>(_(),u(`aside`,ir,[D(`div`,ar,[f(rr,{size:36}),n[0]||=D(`strong`,{class:`desktop-sidebar__title`},`نادمی تکس`,-1)]),D(`nav`,or,[(_(!0),u(l,null,v(p(Un),e=>(_(),u(`button`,{key:e.name,type:`button`,class:t([`desktop-sidebar__item`,{active:p(Gn)(e.name,e.path,p(i).path)}]),"aria-current":p(Gn)(e.name,e.path,p(i).path)?`page`:void 0,"aria-label":e.label,title:e.label,onClick:t=>h(e)},[D(`span`,cr,[(_(),s(C(e.icon),{size:20}))]),D(`span`,lr,r(e.label),1),e.name===`cart`&&d.value>0?(_(),u(`span`,ur,r(d.value),1)):c(``,!0)],10,sr))),128))]),D(`div`,dr,[D(`span`,fr,[f(er,{size:22})]),n[1]||=D(`strong`,{class:`desktop-sidebar__support-title`},`پشتیبانی و راهنما`,-1),n[2]||=D(`p`,{class:`desktop-sidebar__support-text`},` در صورت نیاز به راهنمایی یا گزارش مشکل با تیم پشتیبانی تماس بگیرید. `,-1),n[3]||=D(`a`,{href:`tel:02112345678`,class:`desktop-sidebar__support-btn`},`تماس با پشتیبانی`,-1)])]))}}),[[`__scopeId`,`data-v-16152195`]]),mr=`ft_user`,hr=`ft_pending_otp`;function Q(e){e?localStorage.setItem(mr,JSON.stringify(e)):localStorage.removeItem(mr)}function gr(){try{let e=localStorage.getItem(mr);return e?JSON.parse(e):null}catch{return null}}function _r(){return B()?gr():null}function vr(){return!!B()}function yr(e){try{e?sessionStorage.setItem(hr,JSON.stringify(e)):sessionStorage.removeItem(hr)}catch{}}async function br(e,t){let n=ve(e);if(!/^09\d{9}$/.test(n))return{success:!1,message:`شماره موبایل معتبر نیست.`};if(t.isRegister&&(!t.firstName?.trim()||!t.lastName?.trim()))return{success:!1,message:`نام و نام خانوادگی الزامی است.`};try{yr({phone:n,isRegister:t.isRegister,firstName:t.firstName,lastName:t.lastName});let e=await R(`/auth/otp/request`,{method:`POST`,auth:!1,body:{phone:n,firstName:t.firstName,lastName:t.lastName,isRegister:t.isRegister}}),r=e.debugCode?` (کد: ${e.debugCode})`:``;return{success:!0,message:`${e.message}${r}`}}catch(e){return{success:!1,message:e instanceof H?e.message:`ارسال کد ناموفق بود.`}}}async function xr(e,t){let n=ve(e);try{let e=await R(`/auth/otp/verify`,{method:`POST`,auth:!1,body:{phone:n,code:be(t)}});return L(e.accessToken),Q(e.user),yr(null),{success:!0,message:`ورود موفق.`,user:e.user}}catch(e){return{success:!1,message:e instanceof H?e.message:`تأیید کد ناموفق بود.`}}}function Sr(){L(null),Q(null),yr(null)}async function Cr(){if(!B())return Q(null),null;try{let e=await R(`/auth/me`);return Q(e),e}catch{return gr()}}async function wr(e){try{let t=await R(`/auth/profile`,{method:`PATCH`,body:e});return Q(t),t}catch(t){let n=e.avatarUrl!==void 0&&e.firstName===void 0&&e.lastName===void 0&&e.nationalId===void 0,r=gr();if(!n||!r)throw t;let i={...r};return e.avatarUrl?i.avatarUrl=e.avatarUrl:delete i.avatarUrl,Q(i),i}}var Tr=`ft_pending_register`,Er=[{id:`garment_producer`,label:`تولیدکننده پوشاک عمده`},{id:`atelier`,label:`مزون`},{id:`fabric_wholesaler`,label:`عمده‌فروش پارچه`}];function Dr(){try{let e=sessionStorage.getItem(Tr);if(!e)return null;let t=JSON.parse(e);return!t?.firstName?.trim()||!t?.lastName?.trim()?null:{firstName:t.firstName.trim(),lastName:t.lastName.trim(),jobCategory:t.jobCategory}}catch{return null}}function Or(e){if(e?.firstName?.trim()&&e?.lastName?.trim()){sessionStorage.setItem(Tr,JSON.stringify({firstName:e.firstName.trim(),lastName:e.lastName.trim(),jobCategory:e.jobCategory}));return}sessionStorage.removeItem(Tr)}function kr(){return{checkCount:0,totalAmount:0,nearestDueDate:null,farthestDueDate:null,rassDays:0,rassDate:null}}function Ar(e,t=new Date){if(e.length===0)return kr();let n=new Date(t);n.setHours(0,0,0,0);let r=0,i=0,a=[];for(let t of e){if(!t.dueDate){r+=t.amount;continue}let e=_e(t.dueDate);if(Number.isNaN(e.getTime())){r+=t.amount;continue}e.setHours(0,0,0,0),a.push(e);let o=e.getTime()-n.getTime(),s=Math.max(0,Math.round(o/864e5));r+=t.amount,i+=t.amount*s}let o=r>0?Math.round(i/r):0,s=new Date(n);return s.setDate(s.getDate()+o),a.sort((e,t)=>e.getTime()-t.getTime()),{checkCount:e.length,totalAmount:r,nearestDueDate:a[0]?Se(a[0]):null,farthestDueDate:a.length?Se(a[a.length-1]):null,rassDays:o,rassDate:Se(s)}}function jr(e){let t=new Date;t.setHours(0,0,0,0);let n=_e(e);return Number.isNaN(n.getTime())?0:(n.setHours(0,0,0,0),Math.max(0,Math.round((n.getTime()-t.getTime())/864e5)))}var Mr=z(`order`,()=>{let t=k([]),n=k([]),r=k(null),i=k(null),a=k(null),o=k(!1),s=e(()=>e=>[...t.value].sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime()));function c(e){return t.value.find(t=>t.id===e)}function l(e,t){a.value=e,r.value=`check`,n.value=[],i.value=t??null}function u(e){a.value=e.id,r.value=`check`,i.value=e.checkMode??`full`,n.value=(e.checks??[]).map(e=>({...e}))}function d(){a.value=null,n.value=[],i.value=null,r.value=null}function f(e){i.value=e}function p(e){n.value.push({...e,id:ye()})}function m(e,t){let r=n.value.findIndex(t=>t.id===e);r>=0&&(n.value[r]={...n.value[r],...t})}function h(e){n.value=n.value.filter(t=>t.id!==e)}function g(e){return Ar(n.value,e??new Date)}async function _(){if(!B()){t.value=[];return}o.value=!0;try{t.value=await R(`/orders`)}catch{t.value=[]}finally{o.value=!1}}function v(){t.value=[],d()}function y(e){let n=t.value.findIndex(t=>t.id===e.id);n>=0?t.value[n]=e:t.value.unshift(e)}async function ee(e){try{let t=await R(`/orders/${e}`);return y(t),t}catch{return null}}async function b(e){if(!e.items.length)throw Error(`سبد خرید خالی است.`);if(e.id===`local`||e.items.some(e=>e.id.startsWith(`local-item-`)))throw Error(`سبد خرید با سرور همگام نیست. لطفاً دوباره محصولات را به سبد اضافه کنید.`);let n=[...new Set(e.items.map(e=>e.companyId).filter(Boolean))];if(!n.length)throw Error(`شرکت سبد مشخص نیست. سبد را خالی کنید و دوباره اضافه کنید.`);try{let r=await R(`/orders`,{method:`POST`,body:{companyId:n[0],notes:e.notes,items:e.items.map(e=>({productId:e.productId,meterage:Number(e.meterage),notes:e.notes}))}});return t.value.unshift(r),d(),r}catch(e){throw Error(e instanceof H?e.message:`ثبت سفارش ناموفق بود.`)}}async function x(e,t,n){try{let r=await R(`/orders/${e}/settlement`,{method:`POST`,body:{settlementType:t,checkMode:t===`check`?n??`full`:void 0}});return y(r),r}catch(e){throw Error(e instanceof H?e.message:`ثبت روش تسویه ناموفق بود.`)}}async function S(e,t){try{await R(`/orders/${e}/cash-receipt`,{method:`POST`,body:{amount:t.amount,transferDate:t.transferDate,transferTime:t.transferTime,trackingNumber:t.trackingNumber,destinationAccountId:t.destinationAccountId,receiptImage:t.receiptImage,notes:t.notes}});let n=await ee(e);if(!n)throw Error(`رسید ثبت شد ولی دریافت سفارش ناموفق بود.`);return n}catch(e){throw Error(e instanceof H?e.message:`ثبت رسید ناموفق بود.`)}}async function C(e,t,n){try{let r=await R(`/orders/${e}/checks`,{method:`PATCH`,body:{checkMode:n,checks:t.map(e=>({amount:e.amount,dueDate:e.dueDate,sayadId:e.sayadId,checkNumber:e.checkNumber,ownerNationalId:e.ownerNationalId,ownerFirstName:e.ownerFirstName,ownerLastName:e.ownerLastName,bankName:e.bankName,branchName:e.branchName,frontImage:e.frontImage,backImage:e.backImage,notes:e.notes,mode:e.mode}))}});return y(r),d(),r}catch(e){throw Error(e instanceof H?e.message:`ثبت چک‌ها ناموفق بود.`)}}async function w(e){let t=[...new Set([e.companyId,...e.items.map(e=>e.companyId).filter(Boolean)].filter(Boolean))],n=U(),r=await Promise.all(t.map(e=>n.loadBankAccounts(e))),i=new Map;for(let e of r)for(let t of e)i.set(t.id,t);return[...i.values()]}async function T(e){return U().loadBankAccounts(e)}return{orders:t,draftChecks:n,draftSettlementType:r,draftCheckMode:i,draftOrderId:a,loading:o,userOrders:s,getOrderById:c,startCheckDraft:l,loadChecksIntoDraft:u,clearCheckDraft:d,setCheckMode:f,addDraftCheck:p,updateDraftCheck:m,removeDraftCheck:h,getDraftRass:g,submitOrder:b,chooseSettlement:x,submitCashReceipt:S,updateOrderChecks:C,hydrate:_,resetLocal:v,fetchOrder:ee,getBankAccountsForOrder:w,getBankAccountsForCompany:T}}),Nr=z(`notification`,()=>{let t=k([]),n=k(0),r=k(!1),i=e(()=>n.value>0);async function a(){if(!B()){t.value=[],n.value=0;return}r.value=!0;try{t.value=await R(`/notifications`),n.value=t.value.filter(e=>!e.isRead).length}catch{t.value=[],n.value=0}finally{r.value=!1}}async function o(){if(!B()){n.value=0;return}try{let e=await R(`/notifications/unread-count`);n.value=e.count}catch{}}async function s(e){let r=t.value.find(t=>t.id===e);if(!(!r||r.isRead)){r.isRead=!0,n.value=Math.max(0,n.value-1);try{await R(`/notifications/${e}/read`,{method:`PATCH`})}catch{await a()}}}async function c(){if(n.value){t.value=t.value.map(e=>({...e,isRead:!0})),n.value=0;try{await R(`/notifications/read-all`,{method:`PATCH`})}catch{await a()}}}function l(){t.value=[],n.value=0}return{items:t,unreadCount:n,loading:r,hasUnread:i,hydrate:a,refreshUnreadCount:o,markRead:s,markAllRead:c,resetLocal:l}}),Pr=`ft_favorites`;function Fr(){try{let e=localStorage.getItem(Pr);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function Ir(e){localStorage.setItem(Pr,JSON.stringify(e))}var Lr=z(`favorites`,()=>{let t=k(Fr()),n=k(!1),r=k({}),i=e(()=>new Set(t.value));function a(e){return i.value.has(e)}async function o(){try{let e=await R(`/products/favorites/ids`);t.value=e,Ir(e)}catch{t.value=Fr()}finally{n.value=!0}}async function s(e){if(!e||r.value[e])return;r.value={...r.value,[e]:!0};let n=a(e);t.value=n?t.value.filter(t=>t!==e):[...t.value,e],Ir(t.value);try{let n=await R(`/products/${e}/favorite`,{method:`POST`});t.value=n.favorited?[...new Set([...t.value.filter(t=>t!==e),e])]:t.value.filter(t=>t!==e),Ir(t.value)}catch(r){if(!(r instanceof H&&r.status===404))throw t.value=n?[...new Set([...t.value,e])]:t.value.filter(t=>t!==e),Ir(t.value),r}finally{let t={...r.value};delete t[e],r.value=t}}function c(){t.value=[],Ir([]),n.value=!1}return{ids:t,loaded:n,pending:r,isFavorite:a,hydrate:o,toggle:s,resetLocal:c}}),Rr=z(`auth`,()=>{let t=k(_r()),n=k(!1),r=k(null),i=k(Dr()),a=e(()=>!!t.value),o=e(()=>t.value?`${t.value.firstName} ${t.value.lastName}`:``),s=e(()=>t.value?.appRole===`agent`),c=e(()=>!!t.value&&t.value.appRole!==`agent`);function l(){r.value=null}function u(){i.value=null,Or(null)}async function d(e,t){n.value=!0,r.value=null;try{let n=Dr();i.value=n;let a=t.firstName?.trim()||n?.firstName,o=t.lastName?.trim()||n?.lastName;t.isRegister&&a&&o&&(i.value={firstName:a,lastName:o},Or(i.value));let s=await br(e,{isRegister:t.isRegister,firstName:a,lastName:o});return s.success||(r.value=s.message),s}finally{n.value=!1}}async function f(e,i){n.value=!0,r.value=null;let a=await xr(e,i);return n.value=!1,a.success&&a.user?(t.value=a.user,u(),await Promise.all([U().loadCompanies(),Z().hydrate(),Mr().hydrate(),Nr().hydrate(),Lr().hydrate()])):r.value=a.message,a}function p(){Sr(),t.value=null,u(),Z().resetLocal(),Mr().resetLocal(),Nr().resetLocal(),Lr().resetLocal()}async function m(e){if(!t.value)return null;let n=await wr(e);return n&&(t.value=n),n}async function h(){if(t.value=_r(),!t.value)return;let e=await Cr();t.value=e}return{user:t,loading:n,error:r,isAuthenticated:a,fullName:o,isAgent:s,isCustomerOnly:c,clearError:l,requestOtp:d,confirmOtp:f,logout:p,updateProfile:m,hydrate:h}}),zr=I({__name:`IconBell`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(_(),s(P,{icon:`vuesax-linear:notification`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Br=I({__name:`IconChevronLeft`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(_(),s(P,{icon:`vuesax-linear:arrow-left-1`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Vr=z(`theme`,()=>{let t=he(`ft_theme`,`system`),n=ge(),r=e(()=>t.value===`system`?n.value?`dark`:`light`:t.value),i=e(()=>r.value===`dark`);ae(()=>{let e=document.documentElement;e.classList.toggle(`dark`,i.value),e.style.colorScheme=r.value});function a(e){t.value=e}function o(){let e=[`light`,`dark`,`system`],n=e.indexOf(t.value);t.value=e[(n+1)%e.length]}function s(){t.value=i.value?`light`:`dark`}return{preference:t,resolved:r,isDark:i,setPreference:a,cyclePreference:o,toggleLightDark:s}}),Hr=[`aria-label`,`title`],Ur=A(I({__name:`AuthThemeToggle`,props:{variant:{default:`floating`}},setup(n){let r=Vr(),{isDark:i}=V(r),a=e(()=>i.value?`vuesax-linear:sun-1`:`vuesax-linear:moon`),o=e(()=>i.value?`تغییر به تم روشن`:`تغییر به تم تاریک`);return(e,i)=>(_(),u(`button`,{type:`button`,class:t([`auth-theme-toggle`,n.variant===`inline`?`auth-theme-toggle--inline`:`auth-theme-toggle--floating`]),"aria-label":o.value,title:o.value,onClick:i[0]||=e=>p(r).toggleLightDark()},[f(P,{icon:a.value,size:18,"stroke-width":1.5},null,8,[`icon`])],10,Hr))}}),[[`__scopeId`,`data-v-3a58cb84`]]),Wr=[`src`],Gr={key:1},Kr=A(I({__name:`UserAvatar`,props:{src:{},initials:{},size:{default:72}},setup(e){return(t,n)=>(_(),u(`span`,{class:`user-avatar`,style:m({width:`${e.size}px`,height:`${e.size}px`,fontSize:`${Math.round(e.size*.38)}px`})},[e.src?(_(),u(`img`,{key:0,class:`user-avatar__img`,src:e.src,alt:``},null,8,Wr)):(_(),u(`span`,Gr,r(e.initials),1))],4))}}),[[`__scopeId`,`data-v-5c562bf0`]]),qr={class:`desktop-header`},Jr={class:`desktop-header__actions`},Yr={key:0,class:`desktop-header__company`},Xr=[`aria-label`],Zr={class:`desktop-header__user-wrap`},Qr=[`aria-expanded`],$r={class:`desktop-header__user-name`},ei={key:0,class:`desktop-header__menu`},ti=A(I({__name:`DesktopHeader`,setup(t){let n=y(),i=Rr(),a=Z(),o=Nr(),s=k(!1),l=e(()=>xe(o.unreadCount>9?`9+`:String(o.unreadCount))),d=e(()=>`${i.user?.firstName?.[0]??``}${i.user?.lastName?.[0]??``}`||`؟`),m=e(()=>a.companyNamesLabel||a.activeCart?.companyName||``);function h(){s.value=!s.value}function g(){s.value=!1,n.push(`/profile`)}function v(){s.value=!1,i.logout(),n.replace(`/welcome`)}return(e,t)=>(_(),u(`header`,qr,[t[1]||=D(`div`,{class:`desktop-header__spacer`,"aria-hidden":`true`},null,-1),D(`div`,Jr,[m.value?(_(),u(`span`,Yr,r(m.value),1)):c(``,!0),f(Ur,{variant:`inline`}),D(`button`,{type:`button`,class:`desktop-header__icon-btn`,"aria-label":`اعلان‌ها`,onClick:t[0]||=e=>p(n).push(`/profile/notifications`)},[f(zr,{size:20}),p(o).hasUnread?(_(),u(`span`,{key:0,class:`desktop-header__notif-badge`,"aria-label":`${p(o).unreadCount} اعلان خوانده‌نشده`},r(l.value),9,Xr)):c(``,!0)]),D(`div`,Zr,[D(`button`,{type:`button`,class:`desktop-header__user`,"aria-expanded":s.value,onClick:h},[f(Kr,{class:`desktop-header__avatar`,src:p(i).user?.avatarUrl,initials:d.value,size:32},null,8,[`src`,`initials`]),D(`span`,$r,r(p(i).fullName),1),f(Br,{size:16,class:`desktop-header__chevron`})],8,Qr),s.value?(_(),u(`div`,ei,[D(`button`,{type:`button`,onClick:g},`پروفایل`),D(`button`,{type:`button`,class:`desktop-header__menu-logout`,onClick:v},`خروج`)])):c(``,!0)])])]))}}),[[`__scopeId`,`data-v-5f322d95`]]),ni={class:`app-layout`},ri={class:`app-frame`},ii={class:`app-main`},ai={class:`app-main__content`},oi={class:`app-content`},si=I({__name:`DefaultLayout`,setup(n){let r=te(),i=e(()=>![`welcome`,`login`,`register`,`otp`,`settlement`,`check-mode`,`check-form`,`check-list`,`cash-settlement`,`order-success`].includes(r.name)&&!r.meta.hideNav),a=e(()=>[`settlement`,`check-mode`,`check-form`,`check-list`,`cash-settlement`].includes(r.name)),o=e(()=>r.name===`welcome`||r.name===`login`||r.name===`register`||r.name===`otp`);return(e,n)=>(_(),u(`div`,{class:t([`app-shell`,{"app-shell--no-nav":!i.value,"app-shell--wide":a.value,"app-shell--with-nav":i.value,"app-shell--immersive":o.value}])},[D(`div`,ni,[i.value?(_(),s(pr,{key:0})):c(``,!0),D(`div`,ri,[i.value?(_(),s(ti,{key:0})):c(``,!0),D(`main`,ii,[D(`div`,ai,[D(`div`,oi,[d(e.$slots,`default`)])])]),i.value?(_(),s($n,{key:1})):c(``,!0)])])],2))}}),ci=[`type`,`disabled`],li={key:0,class:`btn-spinner`},ui=A(I({__name:`BaseButton`,props:{variant:{},size:{},block:{type:Boolean},disabled:{type:Boolean},loading:{type:Boolean},type:{}},setup(e){return(n,r)=>(_(),u(`button`,{type:e.type??`button`,class:t([`btn`,[`btn-${e.variant??`primary`}`,`btn-${e.size??`md`}`,{"btn-block":e.block}]]),disabled:e.disabled||e.loading},[e.loading?(_(),u(`span`,li)):c(``,!0),d(n.$slots,`default`,{},void 0,!0)],10,ci))}}),[[`__scopeId`,`data-v-3628a8bb`]]),di=T({open:!1,title:``,message:``,confirmLabel:`حذف`,cancelLabel:`انصراف`,tone:`danger`,resolve:null});function fi(){return di}function pi(e){return new Promise(t=>{Object.assign(di,{open:!0,title:e.title,message:e.message,confirmLabel:e.confirmLabel??`حذف`,cancelLabel:e.cancelLabel??`انصراف`,tone:e.tone??`danger`,resolve:t})})}function mi(e){di.resolve?.(e),di.open=!1,di.resolve=null}var hi={class:`dialog card confirm-dialog`},gi={id:`confirm-dialog-title`,class:`confirm-dialog__title`},_i={class:`confirm-dialog__message`},vi={class:`dialog-actions confirm-dialog__actions`},yi=A(I({__name:`ConfirmDialog`,setup(e){let t=fi();function i(){mi(!1)}function a(){mi(!0)}return(e,s)=>p(t).open?(_(),u(`div`,{key:0,class:`dialog-overlay confirm-dialog-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`confirm-dialog-title`,onClick:n(i,[`self`])},[D(`div`,hi,[D(`h3`,gi,r(p(t).title),1),D(`p`,_i,r(p(t).message),1),D(`div`,vi,[f(ui,{variant:`outline`,onClick:i},{default:M(()=>[o(r(p(t).cancelLabel),1)]),_:1}),f(ui,{variant:p(t).tone===`danger`?`danger`:`primary`,onClick:a},{default:M(()=>[o(r(p(t).confirmLabel),1)]),_:1},8,[`variant`])])])])):c(``,!0)}}),[[`__scopeId`,`data-v-2e50e2a7`]]),bi=I({__name:`App`,setup(e){let t=Rr(),n=Z(),r=Mr(),i=U(),a=Nr(),o=y(),c=k(`page-fade`);function d(e){return e.split(`/`).filter(Boolean).length}return o.beforeEach((e,t)=>{if(!t.name){c.value=`page-fade`;return}let n=jn(d(e.path)-d(t.path),-1,1);n>0?c.value=`page-forward`:n<0?c.value=`page-back`:c.value=`page-fade`}),se(async()=>{await t.hydrate(),t.isAuthenticated&&await Promise.all([i.loadCompanies(),n.hydrate(),r.hydrate(),a.hydrate()])}),me(()=>{t.isAuthenticated&&a.refreshUnreadCount()},6e4,{immediate:!1}),(e,t)=>(_(),u(l,null,[f(si,null,{default:M(()=>[f(p(en),null,{default:M(({Component:e,route:t})=>[f(fe,{name:c.value,mode:`out-in`},{default:M(()=>[(_(),u(`div`,{key:t.path,class:`page-transition page-shell`},[(_(),s(C(e)))]))]),_:2},1032,[`name`])]),_:1})]),_:1}),f(yi)],64))}}),xi=`modulepreload`,Si=function(e){return`/`+e},Ci={},$=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=Si(t,n),t=s(t),t in Ci)return;Ci[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:xi,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},wi=tn({history:Ct(`/`),routes:[{path:`/welcome`,name:`welcome`,component:()=>$(()=>import(`./WelcomeView-CIX4mZos.js`),__vite__mapDeps([0,1,2,3,4])),meta:{guest:!0,hideNav:!0}},{path:`/login`,name:`login`,component:()=>$(()=>import(`./LoginView-D2VsOVrb.js`),__vite__mapDeps([5,1,2,6,7,8,9,10,11,12,3,13])),meta:{guest:!0,hideNav:!0}},{path:`/register`,name:`register`,component:()=>$(()=>import(`./RegisterView-Cjx6Gvgv.js`),__vite__mapDeps([14,1,2,15,16,7,8,9,10,11,12,17,18])),meta:{guest:!0,hideNav:!0}},{path:`/otp`,name:`otp`,component:()=>$(()=>import(`./OtpView-GOSd36OA.js`),__vite__mapDeps([19,1,2,16,7,20,9,10,12,3,21,22])),meta:{guest:!0,hideNav:!0}},{path:`/`,name:`home`,component:()=>$(()=>import(`./HomeView-DKOvriis.js`),__vite__mapDeps([23,1,2,7,20,24,25,26,6,27,28,29])),meta:{requiresAuth:!0}},{path:`/companies`,name:`companies`,component:()=>$(()=>import(`./CompanySelectView-BTxwZIWf.js`),__vite__mapDeps([30,1,2,31,6,20,32,33,24,25,27,34])),meta:{requiresAuth:!0}},{path:`/categories`,name:`categories`,component:()=>$(()=>import(`./CategoriesView-CmgGNUmK.js`),__vite__mapDeps([35,1,2,20,17,36,24,25,26,6,27,37,38,39])),meta:{requiresAuth:!0}},{path:`/products`,name:`products`,component:()=>$(()=>import(`./ProductsView-B4EcZOo9.js`),__vite__mapDeps([40,1,2,41,24,25,26,6,42,43,20,44,45,46,28,47])),meta:{requiresAuth:!0}},{path:`/product`,name:`product`,component:()=>$(()=>import(`./ProductDetailView-D1OzQiiN.js`),__vite__mapDeps([48,1,2,7,31,6,20,24,25,49,26,27,42,38,28,50])),meta:{requiresAuth:!0}},{path:`/catalogs`,name:`catalogs`,component:()=>$(()=>import(`./CatalogsHubView-CNo_eP3-.js`),__vite__mapDeps([51,1,2,7,31,6,20,24,25,26,27,52,45,46,37,53])),meta:{requiresAuth:!0}},{path:`/catalogs/:catalogId`,name:`catalog-detail`,component:()=>$(()=>import(`./CatalogDetailView-BL7FIVct.js`),__vite__mapDeps([54,1,2,7,31,6,20,24,25,49,26,27,52,42,55])),meta:{requiresAuth:!0}},{path:`/catalog-request`,name:`catalog-request`,component:()=>$(()=>import(`./CatalogRequestView-DJSH6bVf.js`),__vite__mapDeps([56,1,2,7,24,25,26,6,43,20,44,57,58])),meta:{requiresAuth:!0}},{path:`/catalog-requests`,name:`catalog-requests`,component:()=>$(()=>import(`./CatalogRequestsView-DKI4qAxI.js`),__vite__mapDeps([59,1,2,7,43,20,44,57,6,60])),meta:{requiresAuth:!0}},{path:`/favorites`,name:`favorites`,component:()=>$(()=>import(`./FavoritesView-BMYycFs8.js`),__vite__mapDeps([61,1,2,24,25,26,6,43,20,44,28,62])),meta:{requiresAuth:!0}},{path:`/customers`,name:`customers`,component:()=>$(()=>import(`./CustomersView-C8PSBTXL.js`),__vite__mapDeps([63,1,2,7,41,24,25,26,6,43,20,44,45,46,64])),meta:{requiresAuth:!0}},{path:`/customers/new`,name:`customer-new`,component:()=>$(()=>import(`./CustomerCreateView-jg0OBdWH.js`),__vite__mapDeps([65,1,2,6,7,8,9,10,12,26,27,43,20,44,66,67,68])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/customer`,name:`customer`,component:()=>$(()=>import(`./CustomerDetailView-Br6csGlE.js`),__vite__mapDeps([69,1,2,7,70,11,21,71,24,25,26,6,43,20,44,72,73])),meta:{requiresAuth:!0}},{path:`/meeting-report`,name:`meeting-report`,component:()=>$(()=>import(`./MeetingReportView-WBp3aKwI.js`),__vite__mapDeps([74,1,2,75,11,21,71,24,25,26,6,43,20,44,72,76])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/reminders`,name:`reminders`,component:()=>$(()=>import(`./RemindersView-DIKKpasp.js`),__vite__mapDeps([77,1,2,7,20,78,24,25,26,6,27,79])),meta:{requiresAuth:!0}},{path:`/reminder`,name:`reminder`,component:()=>$(()=>import(`./ReminderDetailView-CQX6_0TU.js`),__vite__mapDeps([80,1,2,24,25,26,6,43,20,44,81])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/companies/:companyId/catalogs`,name:`company-catalogs`,component:()=>$(()=>import(`./CatalogListView-C_xOF3_z.js`),__vite__mapDeps([82,1,2,31,6,83,84,24,25,43,20,44,45,46,85])),meta:{requiresAuth:!0}},{path:`/companies/:companyId/catalogs/:catalogId/products`,name:`company-products`,redirect:e=>({path:`/products`,query:{catalogId:String(e.params.catalogId??``),companyId:String(e.params.companyId??``)}})},{path:`/cart`,name:`cart`,component:()=>$(()=>import(`./CartView-C0jwRPr9.js`),__vite__mapDeps([86,1,2,7,83,84,20,9,10,17,87,88,71,36,89])),meta:{requiresAuth:!0}},{path:`/orders`,name:`orders`,component:()=>$(()=>import(`./OrdersView-DAbh5y-5.js`),__vite__mapDeps([90,1,2,7,31,6,83,84,70,20,32,33,75,41,78,91])),meta:{requiresAuth:!0}},{path:`/order`,name:`order-query`,redirect:e=>{let t=String(e.query.id??``);return t?{path:`/orders/${t}`}:{name:`orders`}}},{path:`/orders/:id`,name:`order-detail`,component:()=>$(()=>import(`./OrderDetailView-BG1gJZnJ.js`),__vite__mapDeps([92,1,2,15,16,7,8,70,20,9,10,12,93,66,67,94,95,96])),meta:{requiresAuth:!0}},{path:`/orders/:id/success`,name:`order-success`,component:()=>$(()=>import(`./OrderSuccessView-DAGntLe0.js`),__vite__mapDeps([97,1,2,7,27,43,20,44,98])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/orders/:id/settlement`,name:`settlement`,component:()=>$(()=>import(`./SettlementTypeView-CNPLLs4b.js`),__vite__mapDeps([99,1,2,7,9,10,87,88,43,20,44,93,100,101,102])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/orders/:id/cash`,name:`cash-settlement`,component:()=>$(()=>import(`./CashSettlementView-Clk-HI89.js`),__vite__mapDeps([103,1,2,7,31,6,43,20,44,100,93,104])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/orders/:id/check-mode`,name:`check-mode`,component:()=>$(()=>import(`./CheckModeSelectView-C8EtFh3p.js`),__vite__mapDeps([105,1,2,7,21,43,20,44,100,93,101,106])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/orders/:id/check-form`,name:`check-form`,component:()=>$(()=>import(`./CheckFormView-CVv1VLYW.js`),__vite__mapDeps([107,1,2,7,8,9,10,12,43,20,44,100,93,66,67,94,95,101,108])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/orders/:id/check-list`,name:`check-list`,component:()=>$(()=>import(`./CheckListView-DkR4Ltru.js`).then(e=>e.n),__vite__mapDeps([109,1,2,7,83,84,20,9,10,100,93,110])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/profile`,name:`profile`,component:()=>$(()=>import(`./ProfileView-DAXufKBC.js`),__vite__mapDeps([111,1,2,7,70,24,25,26,6,112])),meta:{requiresAuth:!0}},{path:`/profile/edit`,name:`profile-edit`,component:()=>$(()=>import(`./ProfileEditView-dnVuGX6w.js`),__vite__mapDeps([113,1,2,9,10,12,66,67,114,20,115,116])),meta:{requiresAuth:!0}},{path:`/profile/security`,name:`profile-security`,component:()=>$(()=>import(`./ProfileSecurityView-KJcwzopX.js`),__vite__mapDeps([117,1,2,9,10,12,66,67,114,20,115,118])),meta:{requiresAuth:!0}},{path:`/profile/notifications`,name:`profile-notifications`,component:()=>$(()=>import(`./ProfileNotificationsView-BDtqUYZj.js`),__vite__mapDeps([119,1,2,7,83,84,114,20,115,120])),meta:{requiresAuth:!0}},{path:`/profile/display`,name:`profile-display`,component:()=>$(()=>import(`./ProfileDisplayView-ufvTk2u8.js`),__vite__mapDeps([121,1,2,16,114,20,115,122])),meta:{requiresAuth:!0}},{path:`/profile/checks`,name:`profile-checks`,component:()=>$(()=>import(`./ProfileChecksView-wOLfVfr3.js`),__vite__mapDeps([123,109,1,2,7,83,84,20,9,10,100,93,110])),meta:{requiresAuth:!0}}],scrollBehavior(){return{top:0}}});wi.beforeEach(e=>{let t=vr();return e.meta.requiresAuth&&!t?e.name===`home`||e.path===`/`?{name:`welcome`}:{name:`welcome`,query:{redirect:e.fullPath}}:e.meta.guest&&t||e.meta.agentOnly&&gr()?.appRole!==`agent`?{name:`home`}:!0});var Ti=de(bi),Ei=pe();Ti.use(Ei),Ti.use(wi),Vr(Ei),Ti.mount(`#app`);export{Ln as C,Rn as S,Z as T,rr as _,Vr as a,Bn as b,Rr as c,Mr as d,Ar as f,Or as g,Dr as h,Ur as i,Lr as l,Er as m,ui as n,Br as o,jr as p,Kr as r,zr as s,pi as t,Nr as u,er as v,In as w,zn as x,Vn as y}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/WelcomeView-qGaUzjJM.js","assets/BasicIcon-C6boaehV.js","assets/BasicIcon-QF_b9Svq.css","assets/login-fabric-CzrIXTnD.js","assets/WelcomeView-Bue6hk9x.css","assets/LoginView-D9wWgmnO.js","assets/http-BC1hNfZ4.js","assets/format-BHJptHdF.js","assets/validation-BD7oi-2I.js","assets/FormErrorBanner-CjdBfIQT.js","assets/FormErrorBanner-Hje8L-00.css","assets/IconPhone-C0bnM4fV.js","assets/formErrors-DglFjYkZ.js","assets/LoginView-a5WOmvO4.css","assets/RegisterView-DBnd0mpE.js","assets/dist-B7sUlTMM.js","assets/dist-CUUvbY4x.js","assets/IconDiamond-Bgv1zgqc.js","assets/RegisterView-CTzyNknX.css","assets/OtpView-kAUoSCAD.js","assets/IconChevronBack-DORV2H0q.js","assets/IconEditPen-DLV3_yq2.js","assets/OtpView-D50bP3mT.css","assets/HomeView-wCye6_sU.js","assets/PageSkeleton-uO-jhbNm.js","assets/PageSkeleton-BAjL8n2H.css","assets/crm-CtglbPsN.js","assets/useGoBack-CgNp0uP9.js","assets/IconHeart-CZMe29Nz.js","assets/HomeView-X847j2xz.css","assets/CompanySelectView-ccmsnxvI.js","assets/catalog-s7nVUdlj.js","assets/IconFamBaftLogo-BaP40Dff.js","assets/IconFamBaftLogo-BaDEschB.css","assets/CompanySelectView-wH7uHLvB.css","assets/CategoriesView-DRmOX7Aw.js","assets/IconLayoutGrid-E-Q8Z5rF.js","assets/IconSearch-DOnq8ybc.js","assets/IconShoppingBag-Bq21_Txe.js","assets/CategoriesView-DsmvNfMp.css","assets/ProductsView-FPfFjubT.js","assets/IconFilter-D9NdLZ7w.js","assets/colorSwatch-BgOH1LE5.js","assets/PageHeader-CDQMUtCp.js","assets/PageHeader-CDhs0XKF.css","assets/SearchField-Dx2PcshV.js","assets/SearchField-BGmIHecn.css","assets/ProductsView-MAdd0_sK.css","assets/ProductDetailView-CTZ8B8Qk.js","assets/IconShare-1kao-fAR.js","assets/ProductDetailView-xdAl3zfq.css","assets/CatalogsHubView-u8MWedcL.js","assets/catalogGallery-DMNB35I1.js","assets/CatalogsHubView-Cnl22g6I.css","assets/CatalogDetailView-CMyOKjOQ.js","assets/CatalogDetailView-jzLLMDJe.css","assets/CatalogRequestView-BhFG7AuZ.js","assets/catalogRequests-D1kBtGqL.js","assets/CatalogRequestView-BZ3G_4yn.css","assets/CatalogRequestsView-fszvIs41.js","assets/CatalogRequestsView-DUzaL-Pf.css","assets/FavoritesView-U48rD2lS.js","assets/FavoritesView-C_rd5Wxy.css","assets/CustomersView-ByzAyCRf.js","assets/CustomersView-CmCf2GQT.css","assets/CustomerCreateView-y-BtY-8V.js","assets/BaseInput-qoEXOHCQ.js","assets/BaseInput-Dxl7Obd8.css","assets/CustomerCreateView-xAy0nFXT.css","assets/CustomerDetailView-DOkX1hBW.js","assets/constants-DXXK14Zz.js","assets/IconClipboardEmpty-5Av_Gh0W.js","assets/IconMail-wulYTzHn.js","assets/CustomerDetailView-Baj8nbYX.css","assets/MeetingReportView-D_xn_c9Q.js","assets/IconCheckCircleOutline-Bx3NxSDX.js","assets/MeetingReportView-clcxg22r.css","assets/RemindersView-B1HBhehQ.js","assets/IconMoreVertical-BPkOm_2U.js","assets/RemindersView-DX3323vn.css","assets/ReminderDetailView-D-AYmeKn.js","assets/ReminderDetailView-CRDCge09.css","assets/CatalogListView-SX8NH65z.js","assets/EmptyState-C_QQeA_h.js","assets/EmptyState-D6A5GmrP.css","assets/CatalogListView-ClQNdMb8.css","assets/CartView-2LBKVW4Y.js","assets/CheckoutStepper-CqUviuW7.js","assets/CheckoutStepper-hqk-kVCz.css","assets/CartView-7hxFuJin.css","assets/OrdersView-CRxlIUBm.js","assets/OrdersView-Te_tCICZ.css","assets/OrderDetailView-BuCDMdSf.js","assets/orderInvoice-B0L1Aeuk.js","assets/PersianDateInput-5iA_raeL.js","assets/PersianDateInput-MG7uK7zm.css","assets/OrderDetailView-DfQWMJF8.css","assets/OrderSuccessView-Ct5EheK8.js","assets/OrderSuccessView-D_odiYNR.css","assets/SettlementTypeView-003zaZPC.js","assets/useRequirePricedOrder-zO2gkEXW.js","assets/IconCheckBook-DwIUojJc.js","assets/SettlementTypeView-C3wqclvS.css","assets/CashSettlementView-CGpx1Nlw.js","assets/CashSettlementView-C8IRazOR.css","assets/CheckModeSelectView-Dh-I2toM.js","assets/CheckModeSelectView-BZlKzxFL.css","assets/CheckFormView-DqgBARCn.js","assets/CheckFormView-Cgp6kUZ2.css","assets/CheckListView-Bq44NHdA.js","assets/CheckListView-B_ogsKeK.css","assets/ProfileView-CqjEPEPK.js","assets/ProfileView-D8tUQfUl.css","assets/ProfileEditView-C6fQ0UNn.js","assets/ProfileSubpageLayout-PN2YWH-s.js","assets/ProfileSubpageLayout-W3vfIprY.css","assets/ProfileEditView-Cqvr3yiG.css","assets/ProfileSecurityView-SPYpAs_D.js","assets/ProfileSecurityView-BjbybMSz.css","assets/ProfileNotificationsView-CftqndvR.js","assets/ProfileNotificationsView-CTp2kqLW.css","assets/ProfileDisplayView-BLWLfE9O.js","assets/ProfileDisplayView-CDaE5E6F.css","assets/ProfileChecksView-Bdf27K3J.js"])))=>i.map(i=>d[i]); +import{A as e,Ct as t,D as n,Et as r,G as i,H as a,L as o,M as s,N as c,O as l,P as u,Q as d,R as f,St as p,Tt as m,W as h,X as g,Y as _,Z as v,_ as y,_t as ee,a as b,c as x,d as S,et as C,f as w,ft as T,g as te,h as ne,ht as re,i as E,j as D,l as O,m as ie,mt as k,n as A,nt as ae,o as j,p as oe,q as se,r as ce,rt as M,s as N,t as P,tt as le,u as ue,v as F,x as de,y as fe,z as I}from"./BasicIcon-C6boaehV.js";import{a as pe,i as L,n as R,o as z,r as B,s as V,t as H}from"./http-BC1hNfZ4.js";import{l as me}from"./dist-CUUvbY4x.js";import{i as he,r as ge}from"./dist-B7sUlTMM.js";import{_ as _e,c as ve,s as ye,t as be,u as xe,v as Se}from"./format-BHJptHdF.js";import{r as Ce}from"./validation-BD7oi-2I.js";import{t as U}from"./catalog-s7nVUdlj.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var W=typeof document<`u`,we=/#/g,Te=/&/g,Ee=/\//g,De=/=/g,Oe=/\?/g,ke=/\+/g,Ae=/%5B/g,je=/%5D/g,Me=/%5E/g,Ne=/%60/g,Pe=/%7B/g,Fe=/%7C/g,Ie=/%7D/g,Le=/%20/g;function Re(e){return e==null?``:encodeURI(``+e).replace(Fe,`|`).replace(Ae,`[`).replace(je,`]`)}function ze(e){return Re(e).replace(Pe,`{`).replace(Ie,`}`).replace(Me,`^`)}function Be(e){return Re(e).replace(ke,`%2B`).replace(Le,`+`).replace(we,`%23`).replace(Te,`%26`).replace(Ne,"`").replace(Pe,`{`).replace(Ie,`}`).replace(Me,`^`)}function Ve(e){return Be(e).replace(De,`%3D`)}function He(e){return Re(e).replace(we,`%23`).replace(Oe,`%3F`)}function Ue(e){return He(e).replace(Ee,`%2F`)}function We(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var Ge=/\/$/,Ke=e=>e.replace(Ge,``);function qe(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=et(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:We(o)}}function Je(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function Ye(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function Xe(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&G(t.matched[r],n.matched[i])&&Ze(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function G(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Ze(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Qe(e[n],t[n]))return!1;return!0}function Qe(e,t){return j(e)?$e(e,t):j(t)?$e(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function $e(e,t){return j(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function et(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var K={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function tt(e){if(!e)if(W){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),Ke(e)}var nt=/^[^#]+#/;function rt(e,t){return e.replace(nt,`#`)+t}function it(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var at=()=>({left:window.scrollX,top:window.scrollY});function ot(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=it(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function st(e,t){return(history.state?history.state.position-t:-1)+e}var ct=new Map;function lt(e,t){ct.set(e,t)}function ut(e){let t=ct.get(e);return ct.delete(e),t}function dt(e){return typeof e==`string`||e&&typeof e==`object`}function ft(e){return typeof e==`string`||typeof e==`symbol`}function pt(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&Be(e)):[r&&Be(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function ht(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=j(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function q(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function J(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(b(4,{from:n,to:t})):e instanceof Error?c(e):dt(e)?c(b(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function gt(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(O(s)){let c=(s.__vccOpts||s)[t];c&&a.push(J(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=N(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&J(c,n,r,o,e,i)()}))}}return a}function _t(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;oG(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>G(e,s))||i.push(s))}return[n,r,i]}var vt=()=>location.protocol+`//`+location.host;function yt(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),Ye(n,``)}return Ye(n,e)+r+i}function bt(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=yt(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(E({},e.state,{scroll:at()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function xt(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?at():null}}function St(e){let{history:t,location:n}=window,r={value:yt(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:vt()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,E({},t.state,xt(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=E({},i.value,t.state,{forward:e,scroll:at()});a(o.current,o,!0),a(e,E({},xt(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function Ct(e){e=tt(e);let t=St(e),n=bt(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=E({location:``,base:e,go:r,createHref:rt.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}var wt={type:0,value:``},Tt=/[a-zA-Z0-9_]/;function Et(e){if(!e)return[[]];if(e===`/`)return[[wt]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;st.length?t.length===1&&t[0]===80?1:-1:0}function Mt(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var Pt={strict:!1,end:!0,sensitive:!1};function Ft(e,t,n){let r=At(Et(e.path),n),i=E(r,{record:e,parent:t,children:[],alias:[]});return t&&!i.record.aliasOf==!t.record.aliasOf&&t.children.push(i),i}function It(e,t){let n=[],r=new Map;t=S(Pt,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=Rt(e);s.aliasOf=r&&r.record;let l=S(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(Rt(E({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=Ft(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!Bt(d)&&o(e.name)),Wt(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:w}function o(e){if(ft(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=Ht(e,n);n.splice(t,0,e),e.record.name&&!Bt(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw b(1,{location:e});s=i.record.name,a=E(Lt(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&Lt(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw b(1,{location:e,currentLocation:t});s=i.record.name,a=E({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:Vt(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function Lt(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Rt(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:zt(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function zt(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function Bt(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Vt(e){return e.reduce((e,t)=>E(e,t.meta),{})}function Ht(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;Mt(e,t[i])<0?r=i:n=i+1}let i=Ut(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function Ut(e){let t=e;for(;t=t.parent;)if(Wt(t)&&Mt(e,t)===0)return t}function Wt({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Gt(t){let n=h(ie),r=h(oe),i=e(()=>{let e=p(t.to);return n.resolve(e)}),a=e(()=>{let{matched:e}=i.value,{length:t}=e,n=e[t-1],a=r.matched;if(!n||!a.length)return-1;let o=a.findIndex(G.bind(null,n));if(o>-1)return o;let s=Xt(e[t-2]);return t>1&&Xt(n)===s&&a[a.length-1].path!==s?a.findIndex(G.bind(null,e[t-2])):o}),o=e(()=>a.value>-1&&Yt(r.params,i.value.params)),s=e(()=>a.value>-1&&a.value===r.matched.length-1&&Ze(r.params,i.value.params));function c(e={}){if(Jt(e)){let e=n[p(t.replace)?`replace`:`push`](p(t.to)).catch(w);return t.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>e),e}return Promise.resolve()}return{route:i,href:e(()=>i.value.href),isActive:o,isExactActive:s,navigate:c}}function Kt(e){return e.length===1?e[0]:e}var qt=I({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:Gt,setup(t,{slots:n}){let r=T(Gt(t)),{options:i}=h(ie),o=e(()=>({[Zt(t.activeClass,i.linkActiveClass,`router-link-active`)]:r.isActive,[Zt(t.exactActiveClass,i.linkExactActiveClass,`router-link-exact-active`)]:r.isExactActive}));return()=>{let e=n.default&&Kt(n.default(r));return t.custom?e:a(`a`,{"aria-current":r.isExactActive?t.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:o.value},e)}}});function Jt(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(e.button===void 0||e.button===0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Yt(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!j(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function Xt(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var Zt=(e,t,n)=>e??t??n,Qt=I({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(t,{attrs:n,slots:r}){let i=h(ne),o=e(()=>t.route||i.value),s=h(F,0),c=e(()=>{let e=p(s),{matched:t}=o.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),l=e(()=>o.value.matched[c.value]);g(F,e(()=>c.value+1)),g(ue,l),g(ne,o);let u=k();return le(()=>[u.value,l.value,t.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!G(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let e=o.value,i=t.name,s=l.value,c=s&&s.components[i];if(!c)return $t(r.default,{Component:c,route:e});let d=s.props[i],f=d?d===!0?e.params:typeof d==`function`?d(e):d:null,p=a(c,E({},f,n,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(s.instances[i]=null)},ref:u}));return $t(r.default,{Component:p,route:e})||p}}});function $t(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var en=Qt;function tn(e){let t=It(e.routes,e),n=e.parseQuery||pt,r=e.stringifyQuery||mt,a=e.history,o=q(),s=q(),c=q(),l=ee(K),u=K;W&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let d=ce.bind(null,e=>``+e),f=ce.bind(null,Ue),m=ce.bind(null,We);function h(e,n){let r,i;return ft(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function g(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function _(){return t.getRoutes().map(e=>e.record)}function v(e){return!!t.getRecordMatcher(e)}function y(e,i){if(i=E({},i||l.value),typeof e==`string`){let r=qe(n,e,i.path),o=t.resolve({path:r.path},i),s=a.createHref(r.fullPath);return E(r,o,{params:m(o.params),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=E({},e,{path:qe(n,e.path,i.path).path});else{let t=E({},e.params);for(let e in t)t[e]??delete t[e];o=E({},e,{params:f(t)}),i.params=f(i.params)}let s=t.resolve(o,i),c=e.hash||``;s.params=d(m(s.params));let u=Je(r,E({},e,{hash:ze(c),path:s.path})),p=a.createHref(u);return E({fullPath:u,hash:c,query:r===mt?ht(e.query):e.query||{}},s,{redirectedFrom:void 0,href:p})}function S(e){return typeof e==`string`?qe(n,e,l.value.path):E({},e)}function C(e,t){if(u!==e)return b(8,{from:t,to:e})}function T(e){return O(e)}function te(e){return T(E(S(e),{replace:!0}))}function D(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=S(i):{path:i},i.params={}),E({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function O(e,t){let n=u=y(e),i=l.value,a=e.state,o=e.force,s=e.replace===!0,c=D(n,i);if(c)return O(E(S(c),{state:typeof c==`object`?E({},a,c.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&Xe(r,i,n)&&(f=b(16,{to:d,from:i}),pe(i,i,!0,!1)),(f?Promise.resolve(f):ae(d,i)).catch(e=>x(e)?x(e,2)?e:I(e):de(e,d,i)).then(e=>{if(e){if(x(e,2))return O(E({replace:s},S(e.to),{state:typeof e.to==`object`?E({},a,e.to.state):a,force:o}),t||d)}else e=M(d,i,!0,s,a);return se(d,i,e),e})}function k(e,t){let n=C(e,t);return n?Promise.reject(n):Promise.resolve()}function A(e){let t=z.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function ae(e,t){let n,[r,i,a]=_t(e,t);n=gt(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(J(r,e,t))});let c=k.bind(null,e,t);return n.push(c),V(n).then(()=>{n=[];for(let r of o.list())n.push(J(r,e,t));return n.push(c),V(n)}).then(()=>{n=gt(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(J(r,e,t))});return n.push(c),V(n)}).then(()=>{n=[];for(let r of a)if(r.beforeEnter)if(j(r.beforeEnter))for(let i of r.beforeEnter)n.push(J(i,e,t));else n.push(J(r.beforeEnter,e,t));return n.push(c),V(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=gt(a,`beforeRouteEnter`,e,t,A),n.push(c),V(n))).then(()=>{n=[];for(let r of s.list())n.push(J(r,e,t));return n.push(c),V(n)}).catch(e=>x(e,8)?e:Promise.reject(e))}function se(e,t,n){c.list().forEach(r=>A(()=>r(e,t,n)))}function M(e,t,n,r,i){let o=C(e,t);if(o)return o;let s=t===K,c=W?history.state:{};n&&(r||s?a.replace(e.fullPath,E({scroll:s&&c&&c.scroll},i)):a.push(e.fullPath,i)),l.value=e,pe(e,t,n,s),I()}let N;function P(){N||=a.listen((e,t,n)=>{if(!B.listening)return;let r=y(e),i=D(r,B.currentRoute.value);if(i){O(E(i,{replace:!0,force:!0}),r).catch(w);return}u=r;let o=l.value;W&<(st(o.fullPath,n.delta),at()),ae(r,o).catch(e=>x(e,12)?e:x(e,2)?(O(E(S(e.to),{force:!0}),r).then(e=>{x(e,20)&&!n.delta&&n.type===`pop`&&a.go(-1,!1)}).catch(w),Promise.reject()):(n.delta&&a.go(-n.delta,!1),de(e,r,o))).then(e=>{e||=M(r,o,!1),e&&(n.delta&&!x(e,8)?a.go(-n.delta,!1):n.type===`pop`&&x(e,20)&&a.go(-1,!1)),se(r,o,e)}).catch(w)})}let le=q(),ue=q(),F;function de(e,t,n){I(e);let r=ue.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function fe(){return F&&l.value!==K?Promise.resolve():new Promise((e,t)=>{le.add([e,t])})}function I(e){return F||(F=!e,P(),le.list().forEach(([t,n])=>e?n(e):t()),le.reset()),e}function pe(t,n,r,a){let{scrollBehavior:o}=e;if(!W||!o)return Promise.resolve();let s=!r&&ut(st(t.fullPath,0))||(a||!r)&&history.state&&history.state.scroll||null;return i().then(()=>o(t,n,s)).then(e=>t===l.value&&e&&ot(e)).catch(e=>t===l.value&&de(e,t,n))}let L=e=>a.go(e),R,z=new Set,B={currentRoute:l,listening:!0,addRoute:h,removeRoute:g,clearRoutes:t.clearRoutes,hasRoute:v,getRoutes:_,resolve:y,options:e,push:T,replace:te,go:L,back:()=>L(-1),forward:()=>L(1),beforeEach:o.add,beforeResolve:s.add,afterEach:c.add,onError:ue.add,isReady:fe,install(e){e.component(`RouterLink`,qt),e.component(`RouterView`,en),e.config.globalProperties.$router=B,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>p(l)}),W&&!R&&l.value===K&&(R=!0,T(a.location).catch(e=>{}));let t={};for(let e in K)Object.defineProperty(t,e,{get:()=>l.value[e],enumerable:!0});e.provide(ie,B),e.provide(oe,re(t)),e.provide(ne,l);let n=e.unmount;z.add(e),e.unmount=function(){z.delete(e),z.size<1&&(u=K,N&&N(),N=null,l.value=K,R=!1,F=!1),n()}}};function V(e){return e.reduce((e,t)=>e.then(()=>A(t)),Promise.resolve())}return B}var nn=typeof global==`object`&&global&&global.Object===Object&&global,rn=typeof self==`object`&&self&&self.Object===Object&&self,an=(nn||rn||Function(`return this`)()).Symbol,on=Object.prototype,sn=on.hasOwnProperty,cn=on.toString,Y=an?an.toStringTag:void 0;function ln(e){var t=sn.call(e,Y),n=e[Y];try{e[Y]=void 0;var r=!0}catch{}var i=cn.call(e);return r&&(t?e[Y]=n:delete e[Y]),i}var un=Object.prototype.toString;function dn(e){return un.call(e)}var fn=`[object Null]`,pn=`[object Undefined]`,mn=an?an.toStringTag:void 0;function hn(e){return e==null?e===void 0?pn:fn:mn&&mn in Object(e)?ln(e):dn(e)}function gn(e){return typeof e==`object`&&!!e}var _n=`[object Symbol]`;function vn(e){return typeof e==`symbol`||gn(e)&&hn(e)==_n}var yn=/\s/;function bn(e){for(var t=e.length;t--&&yn.test(e.charAt(t)););return t}var xn=/^\s+/;function Sn(e){return e&&e.slice(0,bn(e)+1).replace(xn,``)}function Cn(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}var wn=NaN,Tn=/^[-+]0x[0-9a-f]+$/i,En=/^0b[01]+$/i,Dn=/^0o[0-7]+$/i,On=parseInt;function kn(e){if(typeof e==`number`)return e;if(vn(e))return wn;if(Cn(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=Cn(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=Sn(e);var n=En.test(e);return n||Dn.test(e)?On(e.slice(2),n?2:8):Tn.test(e)?wn:+e}function An(e,t,n){return e===e&&(n!==void 0&&(e=e<=n?e:n),t!==void 0&&(e=e>=t?e:t)),e}function jn(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=kn(n),n=n===n?n:0),t!==void 0&&(t=kn(t),t=t===t?t:0),An(kn(e),t,n)}var Mn=5e3;function Nn(){return{id:`local`,companyId:``,companyName:``,items:[]}}function X(){return!1}function Pn(e){return[...new Set(e.map(e=>e.companyName).filter(Boolean))].join(`، `)}function Fn(e,t){return e.items.filter(e=>e.companyId===t).reduce((e,t)=>e+t.meterage,0)}var Z=z(`cart`,()=>{let t=k([Nn()]),n=k(`local`),r=k(null),i=k(!1),a=e(()=>t.value.find(e=>e.id===n.value)??t.value[0]??null),o=e(()=>a.value?.items.reduce((e,t)=>e+t.meterage,0)??0),s=e(()=>a.value?.items.length??0),c=U(),l=e(()=>a.value?.items.length?Pn(a.value.items):``),u=e(()=>{let e=a.value;if(!e?.items.length)return[];let t=new Map;for(let n of e.items){let e=t.get(n.companyId);e?e.meterage+=n.meterage:t.set(n.companyId,{companyName:n.companyName||`شرکت`,meterage:n.meterage})}return[...t.entries()].map(([e,t])=>{let n=c.getCompany(e)?.maxMeteragePerInvoice??Mn;return{companyId:e,companyName:t.companyName,meterage:t.meterage,maxMeterage:n,remaining:Math.max(0,n-t.meterage)}})}),d=e(()=>u.value.length?u.value.reduce((e,t)=>e+t.maxMeterage,0):(r.value?c.getCompany(r.value):null)?.maxMeteragePerInvoice??Mn),f=e(()=>u.value.length?u.value.reduce((e,t)=>e+t.remaining,0):Math.max(0,d.value-o.value)),p=e(()=>u.value.some(e=>e.meterage>=e.maxMeterage));function m(e){let i={id:e.id,companyId:e.companyId||``,companyName:e.companyName||Pn(e.items),items:e.items??[],notes:e.notes};t.value=[i],n.value=i.id,i.companyId&&(r.value=i.companyId)}function h(e){t.value=[{...e,items:e.items.map(e=>({...e}))}],n.value=t.value[0].id}async function g(){if(!B()){_();return}if(X()){i.value=!1;return}i.value=!0;try{m(await R(`/carts`))}catch{_()}finally{i.value=!1}}function _(){t.value=[Nn()],n.value=t.value[0].id,r.value=null}function v(e){r.value=e.id,a.value&&!a.value.items.length&&(a.value.companyId=e.id,a.value.companyName=e.name)}function y(e){return v(e),a.value??Nn()}function ee(e){return e&&v(e),a.value??Nn()}async function b(){if(X())return _(),a.value;try{return m(await R(`/carts`,{method:`DELETE`})),a.value}catch(e){return console.error(e),null}}function x(e,t,n,i){let a=ee(i),o=a.items.find(t=>t.productId===e.id),s=[...a.items];if(o){let e=s.findIndex(e=>e.id===o.id);s[e]={...o,meterage:n}}else{let r={id:`local-item-${e.id}-${Date.now()}`,productId:e.id,catalogCode:t,productName:e.name,productCode:e.code,color:e.color,meterage:n,companyId:i.id,companyName:i.name};s.push(r)}return h({id:a.id||`local`,companyId:s[0]?.companyId||i.id,companyName:Pn(s)||i.name,items:s,notes:a.notes}),r.value=i.id,{success:!0}}async function S(e,t,n){c.companies.length||await c.loadCompanies();let i=c.getCompany(e.companyId),o=a.value??Nn(),s=i?.maxMeteragePerInvoice??Mn,l=e.companyId?Fn(o,e.companyId):0,u=o.items.find(t=>t.productId===e.id),d=u?.meterage??0,f=Ce(n,e,l,s,d);if(!f.valid)return{success:!1,message:f.message};if(X())return i?x(e,t,n,i):{success:!1,message:`شرکت محصول یافت نشد.`};try{let t;return t=u?await R(`/carts/items/${u.id}`,{method:`PATCH`,body:{meterage:n}}):await R(`/carts/items`,{method:`POST`,body:{productId:e.id,meterage:n}}),m(t),r.value=i?.id||e.companyId||r.value,{success:!0}}catch(e){return{success:!1,message:e instanceof H?e.message:`افزودن به سبد ناموفق بود.`}}}async function C(e,t,n){if(!a.value)return{success:!1,message:`سبد خرید یافت نشد.`};let r=a.value.items.find(t=>t.id===e);if(!r)return{success:!1,message:`آیتم یافت نشد.`};let i=c.getCompany(r.companyId||n.companyId)?.maxMeteragePerInvoice??Mn,o=Fn(a.value,r.companyId),s=Ce(t,n,o,i,r.meterage);if(!s.valid)return{success:!1,message:s.message};if(X()){let n=a.value.items.map(n=>n.id===e?{...n,meterage:t}:n);return h({...a.value,items:n}),{success:!0}}try{return m(await R(`/carts/items/${e}`,{method:`PATCH`,body:{meterage:t}})),{success:!0}}catch(e){return{success:!1,message:e instanceof H?e.message:`به‌روزرسانی متراژ ناموفق بود.`}}}async function w(e){if(X()){if(!a.value)return;let t=a.value.items.filter(t=>t.id!==e);h({...a.value,items:t});return}try{m(await R(`/carts/items/${e}`,{method:`DELETE`}))}catch(e){console.error(e)}}async function T(e){if(X()){if(!a.value)return;h({...a.value,notes:e});return}try{m(await R(`/carts/notes`,{method:`PATCH`,body:{notes:e}}))}catch(e){console.error(e)}}async function te(){if(X()){_();return}try{m(await R(`/carts`,{method:`DELETE`}))}catch{_()}}function ne(){}return{carts:t,activeCartId:n,selectedCompanyId:r,syncing:i,activeCart:a,totalMeterage:o,itemCount:s,companyNamesLabel:l,companySummaries:u,maxMeterage:d,remainingCapacity:f,isFull:p,initCartForCompany:y,selectCompany:v,createNewCartForSameCompany:b,addItem:S,updateItemMeterage:C,removeItem:w,setNotes:T,clearActiveCart:te,ensureActiveCartForCartPage:ne,hydrate:g,resetLocal:_}}),In=I({__name:`IconHome`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(_(),s(P,{icon:`vuesax-linear:home`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Ln=I({__name:`IconCart`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(_(),s(P,{icon:`vuesax-linear:bag-2`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Rn=I({__name:`IconOrders`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(_(),s(P,{icon:`vuesax-linear:document-text`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),zn=I({__name:`IconProfile`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(_(),s(P,{icon:`vuesax-linear:profile-circle`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Bn=I({__name:`IconCatalog`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(_(),s(P,{icon:`vuesax-linear:category`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Vn=I({__name:`IconPlus`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(_(),s(P,{icon:`vuesax-linear:add`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Hn=[{name:`home`,path:`/`,label:`خانه`,icon:In},{name:`catalogs`,path:`/catalogs`,label:`کالیته‌ها`,icon:Bn},{name:`order-fab`,path:`/cart`,label:`ثبت سفارش`,icon:Vn},{name:`orders`,path:`/orders`,label:`سفارش‌ها`,icon:Rn},{name:`profile`,path:`/profile`,label:`پروفایل`,icon:zn}],Un=[{name:`home`,path:`/`,label:`خانه`,icon:In},{name:`catalogs`,path:`/catalogs`,label:`کالیته‌ها`,icon:Bn},{name:`cart`,path:`/cart`,label:`ثبت سفارش`,icon:Ln},{name:`orders`,path:`/orders`,label:`سفارش‌ها`,icon:Rn},{name:`profile`,path:`/profile`,label:`پروفایل`,icon:zn}],Wn=[`/catalogs`,`/catalog-request`,`/catalog-requests`,`/categories`,`/products`,`/product`,`/favorites`];function Gn(e,t,n){return e===`home`?n===`/`:e===`catalogs`?Wn.some(e=>n===e||n.startsWith(`${e}/`)):e===`order-fab`||e===`cart`?n===`/cart`||n.startsWith(`/cart/`):e===`profile`?n===`/profile`||n.startsWith(`/profile/`):t===`/`?n===`/`:n.startsWith(t)}function Kn(e,t){return e.path}function qn(e){return e===0?`/catalogs`:`/cart`}var Jn={class:`bottom-nav`,"aria-label":`ناوبری اصلی`},Yn=[`aria-current`,`aria-label`,`onClick`],Xn={key:0,class:`nav-badge`},Zn={key:0,class:`nav-label`},Qn={key:1,class:`nav-label nav-label--fab`},$n=A(I({__name:`BottomNav`,setup(n){let i=te(),a=y(),o=Z(),d=e(()=>o.itemCount);function f(e,t){let n=t.currentTarget;if(n instanceof HTMLElement&&n.blur(),e===`/cart`){a.push(qn(o.itemCount));return}a.push(e)}return(e,n)=>(_(),u(`nav`,Jn,[(_(!0),u(l,null,v(p(Hn),e=>(_(),u(`button`,{key:e.name,type:`button`,class:t([`nav-item`,{active:p(Gn)(e.name,e.path,p(i).path),"nav-item--fab":e.name===`order-fab`}]),"aria-current":p(Gn)(e.name,e.path,p(i).path)?`page`:void 0,"aria-label":e.label,onClick:t=>f(e.path,t)},[D(`span`,{class:t([`nav-icon`,{"nav-icon--fab":e.name===`order-fab`}])},[(_(),s(C(e.icon),{size:e.name===`order-fab`?26:22,"stroke-width":e.name===`order-fab`?1.8:1.5,color:e.name===`order-fab`?`#ffffff`:void 0},null,8,[`size`,`stroke-width`,`color`])),e.name===`order-fab`&&d.value>0?(_(),u(`span`,Xn,r(d.value),1)):c(``,!0)],2),e.name===`order-fab`?(_(),u(`span`,Qn,r(e.label),1)):(_(),u(`span`,Zn,r(e.label),1))],10,Yn))),128))]))}}),[[`__scopeId`,`data-v-3b391510`]]),er=I({__name:`IconHeadset`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(_(),s(P,{icon:`vuesax-linear:headphone`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),tr=`/assets/nademitex-logo-BJLexNm4.png`,nr=[`src`],rr=A(I({__name:`IconQemashMark`,props:{size:{default:72}},setup(e){return(t,n)=>(_(),u(`img`,{class:`brand-logo`,src:p(tr),alt:``,style:m({height:`${e.size}px`}),draggable:`false`},null,12,nr))}}),[[`__scopeId`,`data-v-b211450b`]]),ir={class:`desktop-sidebar`,"aria-label":`ناوبری اصلی`},ar={class:`desktop-sidebar__brand`},or={class:`desktop-sidebar__nav`},sr=[`aria-current`,`aria-label`,`title`,`onClick`],cr={class:`desktop-sidebar__icon`},lr={class:`desktop-sidebar__label`},ur={key:0,class:`desktop-sidebar__badge`},dr={class:`desktop-sidebar__support`},fr={class:`desktop-sidebar__support-icon`,"aria-hidden":`true`},pr=A(I({__name:`DesktopSidebar`,setup(n){let i=te(),a=y(),o=Z(),d=e(()=>o.itemCount),m=e(()=>o.selectedCompanyId||o.activeCart?.companyId||null);function h(e){if(e.name===`cart`){a.push(qn(o.itemCount));return}a.push(Kn(e,m.value))}return(e,n)=>(_(),u(`aside`,ir,[D(`div`,ar,[f(rr,{size:36}),n[0]||=D(`strong`,{class:`desktop-sidebar__title`},`نادمی تکس`,-1)]),D(`nav`,or,[(_(!0),u(l,null,v(p(Un),e=>(_(),u(`button`,{key:e.name,type:`button`,class:t([`desktop-sidebar__item`,{active:p(Gn)(e.name,e.path,p(i).path)}]),"aria-current":p(Gn)(e.name,e.path,p(i).path)?`page`:void 0,"aria-label":e.label,title:e.label,onClick:t=>h(e)},[D(`span`,cr,[(_(),s(C(e.icon),{size:20}))]),D(`span`,lr,r(e.label),1),e.name===`cart`&&d.value>0?(_(),u(`span`,ur,r(d.value),1)):c(``,!0)],10,sr))),128))]),D(`div`,dr,[D(`span`,fr,[f(er,{size:22})]),n[1]||=D(`strong`,{class:`desktop-sidebar__support-title`},`پشتیبانی و راهنما`,-1),n[2]||=D(`p`,{class:`desktop-sidebar__support-text`},` در صورت نیاز به راهنمایی یا گزارش مشکل با تیم پشتیبانی تماس بگیرید. `,-1),n[3]||=D(`a`,{href:`tel:02112345678`,class:`desktop-sidebar__support-btn`},`تماس با پشتیبانی`,-1)])]))}}),[[`__scopeId`,`data-v-16152195`]]),mr=`ft_user`,hr=`ft_pending_otp`;function Q(e){e?localStorage.setItem(mr,JSON.stringify(e)):localStorage.removeItem(mr)}function gr(){try{let e=localStorage.getItem(mr);return e?JSON.parse(e):null}catch{return null}}function _r(){return B()?gr():null}function vr(){return!!B()}function yr(e){try{e?sessionStorage.setItem(hr,JSON.stringify(e)):sessionStorage.removeItem(hr)}catch{}}async function br(e,t){let n=ve(e);if(!/^09\d{9}$/.test(n))return{success:!1,message:`شماره موبایل معتبر نیست.`};if(t.isRegister&&(!t.firstName?.trim()||!t.lastName?.trim()))return{success:!1,message:`نام و نام خانوادگی الزامی است.`};try{yr({phone:n,isRegister:t.isRegister,firstName:t.firstName,lastName:t.lastName});let e=await R(`/auth/otp/request`,{method:`POST`,auth:!1,body:{phone:n,firstName:t.firstName,lastName:t.lastName,isRegister:t.isRegister}}),r=e.debugCode?` (کد: ${e.debugCode})`:``;return{success:!0,message:`${e.message}${r}`}}catch(e){return{success:!1,message:e instanceof H?e.message:`ارسال کد ناموفق بود.`}}}async function xr(e,t){let n=ve(e);try{let e=await R(`/auth/otp/verify`,{method:`POST`,auth:!1,body:{phone:n,code:be(t)}});return L(e.accessToken),Q(e.user),yr(null),{success:!0,message:`ورود موفق.`,user:e.user}}catch(e){return{success:!1,message:e instanceof H?e.message:`تأیید کد ناموفق بود.`}}}function Sr(){L(null),Q(null),yr(null)}async function Cr(){if(!B())return Q(null),null;try{let e=await R(`/auth/me`);return Q(e),e}catch{return gr()}}async function wr(e){try{let t=await R(`/auth/profile`,{method:`PATCH`,body:e});return Q(t),t}catch(t){let n=e.avatarUrl!==void 0&&e.firstName===void 0&&e.lastName===void 0&&e.nationalId===void 0,r=gr();if(!n||!r)throw t;let i={...r};return e.avatarUrl?i.avatarUrl=e.avatarUrl:delete i.avatarUrl,Q(i),i}}var Tr=`ft_pending_register`,Er=[{id:`garment_producer`,label:`تولیدکننده پوشاک عمده`},{id:`atelier`,label:`مزون`},{id:`fabric_wholesaler`,label:`عمده‌فروش پارچه`}];function Dr(){try{let e=sessionStorage.getItem(Tr);if(!e)return null;let t=JSON.parse(e);return!t?.firstName?.trim()||!t?.lastName?.trim()?null:{firstName:t.firstName.trim(),lastName:t.lastName.trim(),jobCategory:t.jobCategory}}catch{return null}}function Or(e){if(e?.firstName?.trim()&&e?.lastName?.trim()){sessionStorage.setItem(Tr,JSON.stringify({firstName:e.firstName.trim(),lastName:e.lastName.trim(),jobCategory:e.jobCategory}));return}sessionStorage.removeItem(Tr)}function kr(){return{checkCount:0,totalAmount:0,nearestDueDate:null,farthestDueDate:null,rassDays:0,rassDate:null}}function Ar(e,t=new Date){if(e.length===0)return kr();let n=new Date(t);n.setHours(0,0,0,0);let r=0,i=0,a=[];for(let t of e){if(!t.dueDate){r+=t.amount;continue}let e=_e(t.dueDate);if(Number.isNaN(e.getTime())){r+=t.amount;continue}e.setHours(0,0,0,0),a.push(e);let o=e.getTime()-n.getTime(),s=Math.max(0,Math.round(o/864e5));r+=t.amount,i+=t.amount*s}let o=r>0?Math.round(i/r):0,s=new Date(n);return s.setDate(s.getDate()+o),a.sort((e,t)=>e.getTime()-t.getTime()),{checkCount:e.length,totalAmount:r,nearestDueDate:a[0]?Se(a[0]):null,farthestDueDate:a.length?Se(a[a.length-1]):null,rassDays:o,rassDate:Se(s)}}function jr(e){let t=new Date;t.setHours(0,0,0,0);let n=_e(e);return Number.isNaN(n.getTime())?0:(n.setHours(0,0,0,0),Math.max(0,Math.round((n.getTime()-t.getTime())/864e5)))}var Mr=z(`order`,()=>{let t=k([]),n=k([]),r=k(null),i=k(null),a=k(null),o=k(!1),s=e(()=>e=>[...t.value].sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime()));function c(e){return t.value.find(t=>t.id===e)}function l(e,t){a.value=e,r.value=`check`,n.value=[],i.value=t??null}function u(e){a.value=e.id,r.value=`check`,i.value=e.checkMode??`full`,n.value=(e.checks??[]).map(e=>({...e}))}function d(){a.value=null,n.value=[],i.value=null,r.value=null}function f(e){i.value=e}function p(e){n.value.push({...e,id:ye()})}function m(e,t){let r=n.value.findIndex(t=>t.id===e);r>=0&&(n.value[r]={...n.value[r],...t})}function h(e){n.value=n.value.filter(t=>t.id!==e)}function g(e){return Ar(n.value,e??new Date)}async function _(){if(!B()){t.value=[];return}o.value=!0;try{t.value=await R(`/orders`)}catch{t.value=[]}finally{o.value=!1}}function v(){t.value=[],d()}function y(e){let n=t.value.findIndex(t=>t.id===e.id);n>=0?t.value[n]=e:t.value.unshift(e)}async function ee(e){try{let t=await R(`/orders/${e}`);return y(t),t}catch{return null}}async function b(e){if(!e.items.length)throw Error(`سبد خرید خالی است.`);if(e.id===`local`||e.items.some(e=>e.id.startsWith(`local-item-`)))throw Error(`سبد خرید با سرور همگام نیست. لطفاً دوباره محصولات را به سبد اضافه کنید.`);let n=[...new Set(e.items.map(e=>e.companyId).filter(Boolean))];if(!n.length)throw Error(`شرکت سبد مشخص نیست. سبد را خالی کنید و دوباره اضافه کنید.`);try{let r=await R(`/orders`,{method:`POST`,body:{companyId:n[0],notes:e.notes,items:e.items.map(e=>({productId:e.productId,meterage:Number(e.meterage),notes:e.notes}))}});return t.value.unshift(r),d(),r}catch(e){throw Error(e instanceof H?e.message:`ثبت سفارش ناموفق بود.`)}}async function x(e,t,n){try{let r=await R(`/orders/${e}/settlement`,{method:`POST`,body:{settlementType:t,checkMode:t===`check`?n??`full`:void 0}});return y(r),r}catch(e){throw Error(e instanceof H?e.message:`ثبت روش تسویه ناموفق بود.`)}}async function S(e,t){try{await R(`/orders/${e}/cash-receipt`,{method:`POST`,body:{amount:t.amount,transferDate:t.transferDate,transferTime:t.transferTime,trackingNumber:t.trackingNumber,destinationAccountId:t.destinationAccountId,receiptImage:t.receiptImage,notes:t.notes}});let n=await ee(e);if(!n)throw Error(`رسید ثبت شد ولی دریافت سفارش ناموفق بود.`);return n}catch(e){throw Error(e instanceof H?e.message:`ثبت رسید ناموفق بود.`)}}async function C(e,t,n){try{let r=await R(`/orders/${e}/checks`,{method:`PATCH`,body:{checkMode:n,checks:t.map(e=>({amount:e.amount,dueDate:e.dueDate,sayadId:e.sayadId,checkNumber:e.checkNumber,ownerNationalId:e.ownerNationalId,ownerFirstName:e.ownerFirstName,ownerLastName:e.ownerLastName,bankName:e.bankName,branchName:e.branchName,frontImage:e.frontImage,backImage:e.backImage,notes:e.notes,mode:e.mode}))}});return y(r),d(),r}catch(e){throw Error(e instanceof H?e.message:`ثبت چک‌ها ناموفق بود.`)}}async function w(e){let t=[...new Set([e.companyId,...e.items.map(e=>e.companyId).filter(Boolean)].filter(Boolean))],n=U(),r=await Promise.all(t.map(e=>n.loadBankAccounts(e))),i=new Map;for(let e of r)for(let t of e)i.set(t.id,t);return[...i.values()]}async function T(e){return U().loadBankAccounts(e)}return{orders:t,draftChecks:n,draftSettlementType:r,draftCheckMode:i,draftOrderId:a,loading:o,userOrders:s,getOrderById:c,startCheckDraft:l,loadChecksIntoDraft:u,clearCheckDraft:d,setCheckMode:f,addDraftCheck:p,updateDraftCheck:m,removeDraftCheck:h,getDraftRass:g,submitOrder:b,chooseSettlement:x,submitCashReceipt:S,updateOrderChecks:C,hydrate:_,resetLocal:v,fetchOrder:ee,getBankAccountsForOrder:w,getBankAccountsForCompany:T}}),Nr=z(`notification`,()=>{let t=k([]),n=k(0),r=k(!1),i=e(()=>n.value>0);async function a(){if(!B()){t.value=[],n.value=0;return}r.value=!0;try{t.value=await R(`/notifications`),n.value=t.value.filter(e=>!e.isRead).length}catch{t.value=[],n.value=0}finally{r.value=!1}}async function o(){if(!B()){n.value=0;return}try{let e=await R(`/notifications/unread-count`);n.value=e.count}catch{}}async function s(e){let r=t.value.find(t=>t.id===e);if(!(!r||r.isRead)){r.isRead=!0,n.value=Math.max(0,n.value-1);try{await R(`/notifications/${e}/read`,{method:`PATCH`})}catch{await a()}}}async function c(){if(n.value){t.value=t.value.map(e=>({...e,isRead:!0})),n.value=0;try{await R(`/notifications/read-all`,{method:`PATCH`})}catch{await a()}}}function l(){t.value=[],n.value=0}return{items:t,unreadCount:n,loading:r,hasUnread:i,hydrate:a,refreshUnreadCount:o,markRead:s,markAllRead:c,resetLocal:l}}),Pr=`ft_favorites`;function Fr(){try{let e=localStorage.getItem(Pr);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function Ir(e){localStorage.setItem(Pr,JSON.stringify(e))}var Lr=z(`favorites`,()=>{let t=k(Fr()),n=k(!1),r=k({}),i=e(()=>new Set(t.value));function a(e){return i.value.has(e)}async function o(){try{let e=await R(`/products/favorites/ids`);t.value=e,Ir(e)}catch{t.value=Fr()}finally{n.value=!0}}async function s(e){if(!e||r.value[e])return;r.value={...r.value,[e]:!0};let n=a(e);t.value=n?t.value.filter(t=>t!==e):[...t.value,e],Ir(t.value);try{let n=await R(`/products/${e}/favorite`,{method:`POST`});t.value=n.favorited?[...new Set([...t.value.filter(t=>t!==e),e])]:t.value.filter(t=>t!==e),Ir(t.value)}catch(r){if(!(r instanceof H&&r.status===404))throw t.value=n?[...new Set([...t.value,e])]:t.value.filter(t=>t!==e),Ir(t.value),r}finally{let t={...r.value};delete t[e],r.value=t}}function c(){t.value=[],Ir([]),n.value=!1}return{ids:t,loaded:n,pending:r,isFavorite:a,hydrate:o,toggle:s,resetLocal:c}}),Rr=z(`auth`,()=>{let t=k(_r()),n=k(!1),r=k(null),i=k(Dr()),a=e(()=>!!t.value),o=e(()=>t.value?`${t.value.firstName} ${t.value.lastName}`:``),s=e(()=>t.value?.appRole===`agent`),c=e(()=>!!t.value&&t.value.appRole!==`agent`);function l(){r.value=null}function u(){i.value=null,Or(null)}async function d(e,t){n.value=!0,r.value=null;try{let n=Dr();i.value=n;let a=t.firstName?.trim()||n?.firstName,o=t.lastName?.trim()||n?.lastName;t.isRegister&&a&&o&&(i.value={firstName:a,lastName:o},Or(i.value));let s=await br(e,{isRegister:t.isRegister,firstName:a,lastName:o});return s.success||(r.value=s.message),s}finally{n.value=!1}}async function f(e,i){n.value=!0,r.value=null;let a=await xr(e,i);return n.value=!1,a.success&&a.user?(t.value=a.user,u(),await Promise.all([U().loadCompanies(),Z().hydrate(),Mr().hydrate(),Nr().hydrate(),Lr().hydrate()])):r.value=a.message,a}function p(){Sr(),t.value=null,u(),Z().resetLocal(),Mr().resetLocal(),Nr().resetLocal(),Lr().resetLocal()}async function m(e){if(!t.value)return null;let n=await wr(e);return n&&(t.value=n),n}async function h(){if(t.value=_r(),!t.value)return;let e=await Cr();t.value=e}return{user:t,loading:n,error:r,isAuthenticated:a,fullName:o,isAgent:s,isCustomerOnly:c,clearError:l,requestOtp:d,confirmOtp:f,logout:p,updateProfile:m,hydrate:h}}),zr=I({__name:`IconBell`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(_(),s(P,{icon:`vuesax-linear:notification`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Br=I({__name:`IconChevronLeft`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(_(),s(P,{icon:`vuesax-linear:arrow-left-1`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Vr=z(`theme`,()=>{let t=he(`ft_theme`,`system`),n=ge(),r=e(()=>t.value===`system`?n.value?`dark`:`light`:t.value),i=e(()=>r.value===`dark`);ae(()=>{let e=document.documentElement;e.classList.toggle(`dark`,i.value),e.style.colorScheme=r.value});function a(e){t.value=e}function o(){let e=[`light`,`dark`,`system`],n=e.indexOf(t.value);t.value=e[(n+1)%e.length]}function s(){t.value=i.value?`light`:`dark`}return{preference:t,resolved:r,isDark:i,setPreference:a,cyclePreference:o,toggleLightDark:s}}),Hr=[`aria-label`,`title`],Ur=A(I({__name:`AuthThemeToggle`,props:{variant:{default:`floating`}},setup(n){let r=Vr(),{isDark:i}=V(r),a=e(()=>i.value?`vuesax-linear:sun-1`:`vuesax-linear:moon`),o=e(()=>i.value?`تغییر به تم روشن`:`تغییر به تم تاریک`);return(e,i)=>(_(),u(`button`,{type:`button`,class:t([`auth-theme-toggle`,n.variant===`inline`?`auth-theme-toggle--inline`:`auth-theme-toggle--floating`]),"aria-label":o.value,title:o.value,onClick:i[0]||=e=>p(r).toggleLightDark()},[f(P,{icon:a.value,size:18,"stroke-width":1.5},null,8,[`icon`])],10,Hr))}}),[[`__scopeId`,`data-v-3a58cb84`]]),Wr=[`src`],Gr={key:1},Kr=A(I({__name:`UserAvatar`,props:{src:{},initials:{},size:{default:72}},setup(e){return(t,n)=>(_(),u(`span`,{class:`user-avatar`,style:m({width:`${e.size}px`,height:`${e.size}px`,fontSize:`${Math.round(e.size*.38)}px`})},[e.src?(_(),u(`img`,{key:0,class:`user-avatar__img`,src:e.src,alt:``},null,8,Wr)):(_(),u(`span`,Gr,r(e.initials),1))],4))}}),[[`__scopeId`,`data-v-5c562bf0`]]),qr={class:`desktop-header`},Jr={class:`desktop-header__actions`},Yr={key:0,class:`desktop-header__company`},Xr=[`aria-label`],Zr={class:`desktop-header__user-wrap`},Qr=[`aria-expanded`],$r={class:`desktop-header__user-name`},ei={key:0,class:`desktop-header__menu`},ti=A(I({__name:`DesktopHeader`,setup(t){let n=y(),i=Rr(),a=Z(),o=Nr(),s=k(!1),l=e(()=>xe(o.unreadCount>9?`9+`:String(o.unreadCount))),d=e(()=>`${i.user?.firstName?.[0]??``}${i.user?.lastName?.[0]??``}`||`؟`),m=e(()=>a.companyNamesLabel||a.activeCart?.companyName||``);function h(){s.value=!s.value}function g(){s.value=!1,n.push(`/profile`)}function v(){s.value=!1,i.logout(),n.replace(`/welcome`)}return(e,t)=>(_(),u(`header`,qr,[t[1]||=D(`div`,{class:`desktop-header__spacer`,"aria-hidden":`true`},null,-1),D(`div`,Jr,[m.value?(_(),u(`span`,Yr,r(m.value),1)):c(``,!0),f(Ur,{variant:`inline`}),D(`button`,{type:`button`,class:`desktop-header__icon-btn`,"aria-label":`اعلان‌ها`,onClick:t[0]||=e=>p(n).push(`/profile/notifications`)},[f(zr,{size:20}),p(o).hasUnread?(_(),u(`span`,{key:0,class:`desktop-header__notif-badge`,"aria-label":`${p(o).unreadCount} اعلان خوانده‌نشده`},r(l.value),9,Xr)):c(``,!0)]),D(`div`,Zr,[D(`button`,{type:`button`,class:`desktop-header__user`,"aria-expanded":s.value,onClick:h},[f(Kr,{class:`desktop-header__avatar`,src:p(i).user?.avatarUrl,initials:d.value,size:32},null,8,[`src`,`initials`]),D(`span`,$r,r(p(i).fullName),1),f(Br,{size:16,class:`desktop-header__chevron`})],8,Qr),s.value?(_(),u(`div`,ei,[D(`button`,{type:`button`,onClick:g},`پروفایل`),D(`button`,{type:`button`,class:`desktop-header__menu-logout`,onClick:v},`خروج`)])):c(``,!0)])])]))}}),[[`__scopeId`,`data-v-5f322d95`]]),ni={class:`app-layout`},ri={class:`app-frame`},ii={class:`app-main`},ai={class:`app-main__content`},oi={class:`app-content`},si=I({__name:`DefaultLayout`,setup(n){let r=te(),i=e(()=>![`welcome`,`login`,`register`,`otp`,`settlement`,`check-mode`,`check-form`,`check-list`,`cash-settlement`,`order-success`].includes(r.name)&&!r.meta.hideNav),a=e(()=>[`settlement`,`check-mode`,`check-form`,`check-list`,`cash-settlement`].includes(r.name)),o=e(()=>r.name===`welcome`||r.name===`login`||r.name===`register`||r.name===`otp`);return(e,n)=>(_(),u(`div`,{class:t([`app-shell`,{"app-shell--no-nav":!i.value,"app-shell--wide":a.value,"app-shell--with-nav":i.value,"app-shell--immersive":o.value}])},[D(`div`,ni,[i.value?(_(),s(pr,{key:0})):c(``,!0),D(`div`,ri,[i.value?(_(),s(ti,{key:0})):c(``,!0),D(`main`,ii,[D(`div`,ai,[D(`div`,oi,[d(e.$slots,`default`)])])]),i.value?(_(),s($n,{key:1})):c(``,!0)])])],2))}}),ci=[`type`,`disabled`],li={key:0,class:`btn-spinner`},ui=A(I({__name:`BaseButton`,props:{variant:{},size:{},block:{type:Boolean},disabled:{type:Boolean},loading:{type:Boolean},type:{}},setup(e){return(n,r)=>(_(),u(`button`,{type:e.type??`button`,class:t([`btn`,[`btn-${e.variant??`primary`}`,`btn-${e.size??`md`}`,{"btn-block":e.block}]]),disabled:e.disabled||e.loading},[e.loading?(_(),u(`span`,li)):c(``,!0),d(n.$slots,`default`,{},void 0,!0)],10,ci))}}),[[`__scopeId`,`data-v-3628a8bb`]]),di=T({open:!1,title:``,message:``,confirmLabel:`حذف`,cancelLabel:`انصراف`,tone:`danger`,resolve:null});function fi(){return di}function pi(e){return new Promise(t=>{Object.assign(di,{open:!0,title:e.title,message:e.message,confirmLabel:e.confirmLabel??`حذف`,cancelLabel:e.cancelLabel??`انصراف`,tone:e.tone??`danger`,resolve:t})})}function mi(e){di.resolve?.(e),di.open=!1,di.resolve=null}var hi={class:`dialog card confirm-dialog`},gi={id:`confirm-dialog-title`,class:`confirm-dialog__title`},_i={class:`confirm-dialog__message`},vi={class:`dialog-actions confirm-dialog__actions`},yi=A(I({__name:`ConfirmDialog`,setup(e){let t=fi();function i(){mi(!1)}function a(){mi(!0)}return(e,s)=>p(t).open?(_(),u(`div`,{key:0,class:`dialog-overlay confirm-dialog-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`confirm-dialog-title`,onClick:n(i,[`self`])},[D(`div`,hi,[D(`h3`,gi,r(p(t).title),1),D(`p`,_i,r(p(t).message),1),D(`div`,vi,[f(ui,{variant:`outline`,onClick:i},{default:M(()=>[o(r(p(t).cancelLabel),1)]),_:1}),f(ui,{variant:p(t).tone===`danger`?`danger`:`primary`,onClick:a},{default:M(()=>[o(r(p(t).confirmLabel),1)]),_:1},8,[`variant`])])])])):c(``,!0)}}),[[`__scopeId`,`data-v-2e50e2a7`]]),bi=I({__name:`App`,setup(e){let t=Rr(),n=Z(),r=Mr(),i=U(),a=Nr(),o=y(),c=k(`page-fade`);function d(e){return e.split(`/`).filter(Boolean).length}return o.beforeEach((e,t)=>{if(!t.name){c.value=`page-fade`;return}let n=jn(d(e.path)-d(t.path),-1,1);n>0?c.value=`page-forward`:n<0?c.value=`page-back`:c.value=`page-fade`}),se(async()=>{await t.hydrate(),t.isAuthenticated&&await Promise.all([i.loadCompanies(),n.hydrate(),r.hydrate(),a.hydrate()])}),me(()=>{t.isAuthenticated&&a.refreshUnreadCount()},6e4,{immediate:!1}),(e,t)=>(_(),u(l,null,[f(si,null,{default:M(()=>[f(p(en),null,{default:M(({Component:e,route:t})=>[f(fe,{name:c.value,mode:`out-in`},{default:M(()=>[(_(),u(`div`,{key:t.path,class:`page-transition page-shell`},[(_(),s(C(e)))]))]),_:2},1032,[`name`])]),_:1})]),_:1}),f(yi)],64))}}),xi=`modulepreload`,Si=function(e){return`/`+e},Ci={},$=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=Si(t,n),t=s(t),t in Ci)return;Ci[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:xi,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},wi=tn({history:Ct(`/`),routes:[{path:`/welcome`,name:`welcome`,component:()=>$(()=>import(`./WelcomeView-qGaUzjJM.js`),__vite__mapDeps([0,1,2,3,4])),meta:{guest:!0,hideNav:!0}},{path:`/login`,name:`login`,component:()=>$(()=>import(`./LoginView-D9wWgmnO.js`),__vite__mapDeps([5,1,2,6,7,8,9,10,11,12,3,13])),meta:{guest:!0,hideNav:!0}},{path:`/register`,name:`register`,component:()=>$(()=>import(`./RegisterView-DBnd0mpE.js`),__vite__mapDeps([14,1,2,15,16,7,8,9,10,11,12,17,18])),meta:{guest:!0,hideNav:!0}},{path:`/otp`,name:`otp`,component:()=>$(()=>import(`./OtpView-kAUoSCAD.js`),__vite__mapDeps([19,1,2,16,7,20,9,10,12,3,21,22])),meta:{guest:!0,hideNav:!0}},{path:`/`,name:`home`,component:()=>$(()=>import(`./HomeView-wCye6_sU.js`),__vite__mapDeps([23,1,2,7,20,24,25,26,6,27,28,29])),meta:{requiresAuth:!0}},{path:`/companies`,name:`companies`,component:()=>$(()=>import(`./CompanySelectView-ccmsnxvI.js`),__vite__mapDeps([30,1,2,31,6,20,32,33,24,25,27,34])),meta:{requiresAuth:!0}},{path:`/categories`,name:`categories`,component:()=>$(()=>import(`./CategoriesView-DRmOX7Aw.js`),__vite__mapDeps([35,1,2,20,17,36,24,25,26,6,27,37,38,39])),meta:{requiresAuth:!0}},{path:`/products`,name:`products`,component:()=>$(()=>import(`./ProductsView-FPfFjubT.js`),__vite__mapDeps([40,1,2,41,24,25,26,6,42,43,20,44,45,46,28,47])),meta:{requiresAuth:!0}},{path:`/product`,name:`product`,component:()=>$(()=>import(`./ProductDetailView-CTZ8B8Qk.js`),__vite__mapDeps([48,1,2,7,31,6,20,24,25,49,26,27,42,38,28,50])),meta:{requiresAuth:!0}},{path:`/catalogs`,name:`catalogs`,component:()=>$(()=>import(`./CatalogsHubView-u8MWedcL.js`),__vite__mapDeps([51,1,2,7,31,6,20,24,25,26,27,52,45,46,37,53])),meta:{requiresAuth:!0}},{path:`/catalogs/:catalogId`,name:`catalog-detail`,component:()=>$(()=>import(`./CatalogDetailView-CMyOKjOQ.js`),__vite__mapDeps([54,1,2,7,31,6,20,24,25,49,26,27,52,42,55])),meta:{requiresAuth:!0}},{path:`/catalog-request`,name:`catalog-request`,component:()=>$(()=>import(`./CatalogRequestView-BhFG7AuZ.js`),__vite__mapDeps([56,1,2,7,24,25,26,6,43,20,44,57,58])),meta:{requiresAuth:!0}},{path:`/catalog-requests`,name:`catalog-requests`,component:()=>$(()=>import(`./CatalogRequestsView-fszvIs41.js`),__vite__mapDeps([59,1,2,7,43,20,44,57,6,60])),meta:{requiresAuth:!0}},{path:`/favorites`,name:`favorites`,component:()=>$(()=>import(`./FavoritesView-U48rD2lS.js`),__vite__mapDeps([61,1,2,24,25,26,6,43,20,44,28,62])),meta:{requiresAuth:!0}},{path:`/customers`,name:`customers`,component:()=>$(()=>import(`./CustomersView-ByzAyCRf.js`),__vite__mapDeps([63,1,2,7,41,24,25,26,6,43,20,44,45,46,64])),meta:{requiresAuth:!0}},{path:`/customers/new`,name:`customer-new`,component:()=>$(()=>import(`./CustomerCreateView-y-BtY-8V.js`),__vite__mapDeps([65,1,2,6,7,8,9,10,12,26,27,43,20,44,66,67,68])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/customer`,name:`customer`,component:()=>$(()=>import(`./CustomerDetailView-DOkX1hBW.js`),__vite__mapDeps([69,1,2,7,70,11,21,71,24,25,26,6,43,20,44,72,73])),meta:{requiresAuth:!0}},{path:`/meeting-report`,name:`meeting-report`,component:()=>$(()=>import(`./MeetingReportView-D_xn_c9Q.js`),__vite__mapDeps([74,1,2,75,11,21,71,24,25,26,6,43,20,44,72,76])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/reminders`,name:`reminders`,component:()=>$(()=>import(`./RemindersView-B1HBhehQ.js`),__vite__mapDeps([77,1,2,7,20,78,24,25,26,6,27,79])),meta:{requiresAuth:!0}},{path:`/reminder`,name:`reminder`,component:()=>$(()=>import(`./ReminderDetailView-D-AYmeKn.js`),__vite__mapDeps([80,1,2,24,25,26,6,43,20,44,81])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/companies/:companyId/catalogs`,name:`company-catalogs`,component:()=>$(()=>import(`./CatalogListView-SX8NH65z.js`),__vite__mapDeps([82,1,2,31,6,83,84,24,25,43,20,44,45,46,85])),meta:{requiresAuth:!0}},{path:`/companies/:companyId/catalogs/:catalogId/products`,name:`company-products`,redirect:e=>({path:`/products`,query:{catalogId:String(e.params.catalogId??``),companyId:String(e.params.companyId??``)}})},{path:`/cart`,name:`cart`,component:()=>$(()=>import(`./CartView-2LBKVW4Y.js`),__vite__mapDeps([86,1,2,7,83,84,20,9,10,17,87,88,71,36,89])),meta:{requiresAuth:!0}},{path:`/orders`,name:`orders`,component:()=>$(()=>import(`./OrdersView-CRxlIUBm.js`),__vite__mapDeps([90,1,2,7,31,6,83,84,70,20,32,33,75,41,78,91])),meta:{requiresAuth:!0}},{path:`/order`,name:`order-query`,redirect:e=>{let t=String(e.query.id??``);return t?{path:`/orders/${t}`}:{name:`orders`}}},{path:`/orders/:id`,name:`order-detail`,component:()=>$(()=>import(`./OrderDetailView-BuCDMdSf.js`),__vite__mapDeps([92,1,2,15,16,7,8,70,20,9,10,12,93,66,67,94,95,96])),meta:{requiresAuth:!0}},{path:`/orders/:id/success`,name:`order-success`,component:()=>$(()=>import(`./OrderSuccessView-Ct5EheK8.js`),__vite__mapDeps([97,1,2,7,27,43,20,44,98])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/orders/:id/settlement`,name:`settlement`,component:()=>$(()=>import(`./SettlementTypeView-003zaZPC.js`),__vite__mapDeps([99,1,2,7,9,10,87,88,43,20,44,93,100,101,102])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/orders/:id/cash`,name:`cash-settlement`,component:()=>$(()=>import(`./CashSettlementView-CGpx1Nlw.js`),__vite__mapDeps([103,1,2,7,31,6,43,20,44,100,93,104])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/orders/:id/check-mode`,name:`check-mode`,component:()=>$(()=>import(`./CheckModeSelectView-Dh-I2toM.js`),__vite__mapDeps([105,1,2,7,21,43,20,44,100,93,101,106])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/orders/:id/check-form`,name:`check-form`,component:()=>$(()=>import(`./CheckFormView-DqgBARCn.js`),__vite__mapDeps([107,1,2,7,8,9,10,12,43,20,44,100,93,66,67,94,95,101,108])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/orders/:id/check-list`,name:`check-list`,component:()=>$(()=>import(`./CheckListView-Bq44NHdA.js`).then(e=>e.n),__vite__mapDeps([109,1,2,7,83,84,20,9,10,100,93,110])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/profile`,name:`profile`,component:()=>$(()=>import(`./ProfileView-CqjEPEPK.js`),__vite__mapDeps([111,1,2,7,70,24,25,26,6,112])),meta:{requiresAuth:!0}},{path:`/profile/edit`,name:`profile-edit`,component:()=>$(()=>import(`./ProfileEditView-C6fQ0UNn.js`),__vite__mapDeps([113,1,2,9,10,12,66,67,114,20,115,116])),meta:{requiresAuth:!0}},{path:`/profile/security`,name:`profile-security`,component:()=>$(()=>import(`./ProfileSecurityView-SPYpAs_D.js`),__vite__mapDeps([117,1,2,9,10,12,66,67,114,20,115,118])),meta:{requiresAuth:!0}},{path:`/profile/notifications`,name:`profile-notifications`,component:()=>$(()=>import(`./ProfileNotificationsView-CftqndvR.js`),__vite__mapDeps([119,1,2,7,83,84,114,20,115,120])),meta:{requiresAuth:!0}},{path:`/profile/display`,name:`profile-display`,component:()=>$(()=>import(`./ProfileDisplayView-BLWLfE9O.js`),__vite__mapDeps([121,1,2,16,114,20,115,122])),meta:{requiresAuth:!0}},{path:`/profile/checks`,name:`profile-checks`,component:()=>$(()=>import(`./ProfileChecksView-Bdf27K3J.js`),__vite__mapDeps([123,109,1,2,7,83,84,20,9,10,100,93,110])),meta:{requiresAuth:!0}}],scrollBehavior(){return{top:0}}});wi.beforeEach(e=>{let t=vr();return e.meta.requiresAuth&&!t?e.name===`home`||e.path===`/`?{name:`welcome`}:{name:`welcome`,query:{redirect:e.fullPath}}:e.meta.guest&&t||e.meta.agentOnly&&gr()?.appRole!==`agent`?{name:`home`}:!0});var Ti=de(bi),Ei=pe();Ti.use(Ei),Ti.use(wi),Vr(Ei),Ti.mount(`#app`);export{Ln as C,Rn as S,Z as T,rr as _,Vr as a,Bn as b,Rr as c,Mr as d,Ar as f,Or as g,Dr as h,Ur as i,Lr as l,Er as m,ui as n,Br as o,jr as p,Kr as r,zr as s,pi as t,Nr as u,er as v,In as w,zn as x,Vn as y}; \ No newline at end of file diff --git a/dist/assets/level-medal-Avpe4Lqa.webp b/dist/assets/level-medal-Avpe4Lqa.webp new file mode 100644 index 0000000..e1a6223 Binary files /dev/null and b/dist/assets/level-medal-Avpe4Lqa.webp differ diff --git a/dist/assets/level-medal-yo6AWjPx.webp b/dist/assets/level-medal-yo6AWjPx.webp deleted file mode 100644 index dbdf3ad..0000000 Binary files a/dist/assets/level-medal-yo6AWjPx.webp and /dev/null differ diff --git a/dist/assets/useRequirePricedOrder-BBPnO4DF.js b/dist/assets/useRequirePricedOrder-zO2gkEXW.js similarity index 86% rename from dist/assets/useRequirePricedOrder-BBPnO4DF.js rename to dist/assets/useRequirePricedOrder-zO2gkEXW.js index c324855..4fa8d55 100644 --- a/dist/assets/useRequirePricedOrder-BBPnO4DF.js +++ b/dist/assets/useRequirePricedOrder-zO2gkEXW.js @@ -1 +1 @@ -import{A as e,_ as t,g as n,tt as r}from"./BasicIcon-C6boaehV.js";import{d as i}from"./index-spodxsRN.js";import{n as a}from"./orderInvoice-B0L1Aeuk.js";function o(){let o=n(),s=t(),c=i(),l=e(()=>o.params.id),u=e(()=>c.getOrderById(l.value)),d=e(()=>a(u.value));function f(e){e&&(a(e)||s.replace(`/orders/${e.id}`))}return r(l,async e=>{e&&f(c.getOrderById(e)??await c.fetchOrder(e))},{immediate:!0}),r(u,e=>{f(e)}),{orderId:l,order:u,invoiceReady:d}}export{o as t}; \ No newline at end of file +import{A as e,_ as t,g as n,tt as r}from"./BasicIcon-C6boaehV.js";import{d as i}from"./index-B6MlTGUp.js";import{n as a}from"./orderInvoice-B0L1Aeuk.js";function o(){let o=n(),s=t(),c=i(),l=e(()=>o.params.id),u=e(()=>c.getOrderById(l.value)),d=e(()=>a(u.value));function f(e){e&&(a(e)||s.replace(`/orders/${e.id}`))}return r(l,async e=>{e&&f(c.getOrderById(e)??await c.fetchOrder(e))},{immediate:!0}),r(u,e=>{f(e)}),{orderId:l,order:u,invoiceReady:d}}export{o as t}; \ No newline at end of file diff --git a/dist/index.html b/dist/index.html index 528d3ba..e5bab63 100644 --- a/dist/index.html +++ b/dist/index.html @@ -6,7 +6,7 @@ سامانه سفارش عمده پارچه - + diff --git a/src/assets/images/level-medal.webp b/src/assets/images/level-medal.webp index dbdf3ad..e1a6223 100644 Binary files a/src/assets/images/level-medal.webp and b/src/assets/images/level-medal.webp differ diff --git a/src/views/home/HomeView.vue b/src/views/home/HomeView.vue index 088d0cf..2da6216 100644 --- a/src/views/home/HomeView.vue +++ b/src/views/home/HomeView.vue @@ -82,6 +82,15 @@ let bannerTimer: number | undefined const banner = computed(() => banners.value[bannerIndex.value] ?? FALLBACK_BANNER) +const heroHasCopy = computed(() => { + const item = banner.value + return ( + (item.showTitle !== false && item.title) || + (item.showSubtitle !== false && item.subtitle) || + (item.showCta !== false && item.ctaLabel) + ) +}) + function slideStyle(item: AppBannerDto) { if (!item.imageUrl) return undefined return { '--hero-image': `url("${item.imageUrl}")` } @@ -231,7 +240,12 @@ async function toggleFavorite(productId: string) {