Files
nademitex_user/dist/assets/ProductDetailView-C1qTrEYC.js
T

1 line
7.5 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{$ as e,Ct as t,E as n,F as r,G as i,I as a,L as ee,M as o,O as s,Y as c,_ as te,bt as l,ft as u,g as ne,j as d,k as f,n as p,q as m,wt as h,xt as g}from"./BasicIcon-CjTTsi6o.js";import{a as re,o as _}from"./format-BHJptHdF.js";import{t as ie}from"./catalog-Dd554brK.js";import{C as ae,T as oe,b as se,l as ce}from"./index-BQQA5ZX-.js";import{t as le}from"./IconChevronBack-B10eZjCQ.js";import{t as ue}from"./PageSkeleton-CyATkHE1.js";import{t as de}from"./crm-DPw1h61_.js";import{t as fe}from"./useGoBack-D3aJ73Q-.js";import{t as pe}from"./IconMail-B6_IInpi.js";import{t as me}from"./IconHeart-BmvFB3Xr.js";var he={key:0,class:`page product-detail`},ge={class:`pd-header`},_e={class:`pd-header__actions`},ve=[`aria-label`,`aria-pressed`],ye={class:`page__scroll pd-scroll`},be={class:`gallery`},v={class:`gallery__count`},y={class:`gallery__thumbs`},b=[`onClick`],x={class:`pd-body`},S={class:`title-row`},C={key:0,class:`new-badge`},w={class:`code`},T={class:`specs`},E={class:`spec-cell`},D={class:`spec-cell`},O={class:`spec-cell`},k={class:`spec-cell`},A={key:0,class:`specs-extra`},j={key:0},M={class:`section-label`},N={class:`colors`},xe=[`onClick`],Se={class:`tags`},Ce={key:0,class:`tag`},we={class:`roll-field`},Te={class:`roll-stepper`},Ee={class:`order-meters`},P={key:1,class:`action-msg`},De={class:`pd-footer`},Oe={class:`pd-footer__primary`},ke=[`disabled`],Ae={class:`min-note`},je={key:1,class:`page empty`},Me={key:2,class:`page empty`},F=p(ee({__name:`ProductDetailView`,setup(ee){let p=ne(),F=te(),{goBack:I}=fe(`/products`),Ne=de(),L=ce(),Pe=oe(),R=ie(),z=s(()=>String(p.query.id??``)),B=u(null),V=u(!0),H=u(null),U=u(0),W=u(1),G=u(!1),K=u(null),q=u(!1),J=s(()=>B.value?.rollMeters??50),Y=s(()=>W.value*J.value),X=s(()=>{let e=B.value?.minMeterage;return e&&e>0?e:J.value}),Z=s(()=>Math.max(1,Math.ceil(X.value/J.value)));async function Q(){if(!z.value){B.value=null,V.value=!1;return}V.value=!0,H.value=null,K.value=null;try{await Promise.all([L.hydrate(),R.loadCompanies()]),B.value=await Ne.loadProductById(z.value),U.value=0,W.value=Z.value}catch(e){B.value=null,H.value=e instanceof Error?e.message:`محصول یافت نشد.`}finally{V.value=!1}}i(Q),e(z,Q);function Fe(e){if(!e.companyId||!e.catalogId)return null;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[U.value]||`—`,minMeterage:r,orderMultiplier:n,basePrice:e.basePrice,isActive:!0}}function Ie(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 Le(){if(!B.value)return;let e=Fe(B.value);if(!e){K.value=`اطلاعات شرکت/کاتالوگ محصول ناقص است.`;return}R.getCompany(e.companyId)||await R.loadCompanies(),G.value=!0,K.value=null;try{let t=Ie(Y.value,e.orderMultiplier,e.minMeterage),n=await Pe.addItem(e,B.value.catalogCode||B.value.code,t);n.success?(K.value=`به سفارش اضافه شد.`,await F.push(`/cart`)):K.value=n.message||`افزودن به سفارش ناموفق بود.`}finally{G.value=!1}}function Re(){B.value&&L.toggle(B.value.id)}function $(e){W.value=Math.max(Z.value,W.value+e)}function ze(){let e=window.location.href;navigator.share?navigator.share({title:B.value?.name,url:e}).catch(()=>void 0):(navigator.clipboard?.writeText(e),K.value=`لینک محصول کپی شد.`)}return(e,i)=>B.value?(m(),o(`div`,he,[f(`header`,ge,[f(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:i[0]||=(...e)=>l(I)&&l(I)(...e)},[a(le,{size:20})]),f(`div`,_e,[f(`button`,{type:`button`,class:`icon-btn`,"aria-label":l(L).isFavorite(B.value.id)?`حذف از علاقه‌مندی‌ها`:`افزودن به علاقه‌مندی‌ها`,"aria-pressed":l(L).isFavorite(B.value.id),onClick:Re},[a(me,{size:20,filled:l(L).isFavorite(B.value.id),color:l(L).isFavorite(B.value.id)?`#0a353c`:void 0},null,8,[`filled`,`color`])],8,ve),f(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اشتراک‌گذاری`,onClick:ze},[a(pe,{size:20})])])]),f(`div`,ye,[f(`div`,be,[f(`div`,{class:`gallery__main`,style:t(B.value.imageUrl?{backgroundImage:`url(${B.value.imageUrl})`,backgroundSize:`cover`,backgroundPosition:`center`}:{background:B.value.colors[U.value]||`#6b7280`})},[f(`span`,v,h(l(_)(U.value+1))+`/`+h(l(_)(Math.max(B.value.colors.length,1))),1)],4),f(`div`,y,[(m(!0),o(n,null,c(B.value.colors,(e,n)=>(m(),o(`button`,{key:n,type:`button`,class:g([`thumb`,{"thumb--active":U.value===n}]),style:t({background:e}),onClick:e=>U.value=n},null,14,b))),128))])]),f(`div`,x,[f(`div`,S,[f(`h1`,null,h(B.value.name),1),B.value.isNew?(m(),o(`span`,C,`جدید`)):d(``,!0)]),f(`p`,w,`کد محصول: `+h(B.value.code),1),f(`div`,T,[f(`div`,E,[i[6]||=f(`span`,{class:`spec-cell__label`},`عرض`,-1),f(`strong`,null,h(l(_)(B.value.widthCm))+` سانتی متر`,1)]),f(`div`,D,[i[7]||=f(`span`,{class:`spec-cell__label`},`جنس`,-1),f(`strong`,null,h(B.value.composition||`—`),1)]),f(`div`,O,[i[8]||=f(`span`,{class:`spec-cell__label`},`وزن`,-1),f(`strong`,null,h(B.value.weightGrams?`${l(_)(B.value.weightGrams)} گرم`:`—`),1)]),f(`div`,k,[i[9]||=f(`span`,{class:`spec-cell__label`},`نوع بافت`,-1),f(`strong`,null,h(B.value.weaveType||`—`),1)])]),f(`button`,{type:`button`,class:`specs-more`,onClick:i[1]||=e=>q.value=!q.value},h(q.value?`بستن مشخصات`:`مشاهده همه مشخصات`),1),q.value?(m(),o(`div`,A,[f(`p`,null,`فصل: `+h(B.value.season),1),f(`p`,null,`دسته: `+h(B.value.categoryId),1),B.value.basePrice?(m(),o(`p`,j,`قیمت پایه: `+h(l(_)(B.value.basePrice))+` تومان`,1)):d(``,!0)])):d(``,!0),f(`section`,null,[f(`h2`,M,[i[10]||=r(` رنگ بندی `,-1),f(`span`,null,`(`+h(l(_)(B.value.colors.length))+` رنگ موجود)`,1)]),f(`div`,N,[(m(!0),o(n,null,c(B.value.colors,(e,n)=>(m(),o(`button`,{key:n,type:`button`,class:g([`color-dot`,{"color-dot--active":U.value===n}]),style:t({background:e}),onClick:e=>U.value=n},null,14,xe))),128))])]),f(`section`,null,[i[11]||=f(`h2`,{class:`section-label`},`دسته بندی`,-1),f(`div`,Se,[(m(!0),o(n,null,c(B.value.tags,e=>(m(),o(`span`,{key:e,class:`tag`},h(e),1))),128)),B.value.tags.length?d(``,!0):(m(),o(`span`,Ce,h(B.value.categoryId),1))])]),f(`section`,null,[i[12]||=f(`h2`,{class:`section-label`},`متراژ هر ساقه (طاقه)`,-1),f(`div`,we,h(l(_)(B.value.rollMeters))+` متر`,1)]),f(`section`,null,[i[13]||=f(`h2`,{class:`section-label`},`تعداد طاقه`,-1),f(`div`,Te,[f(`button`,{type:`button`,class:`step-btn`,onClick:i[2]||=e=>$(-1)},`−`),f(`strong`,null,h(l(_)(W.value)),1),f(`button`,{type:`button`,class:`step-btn`,onClick:i[3]||=e=>$(1)},`+`)]),f(`p`,Ee,`جمع متراژ سفارش: `+h(l(_)(Y.value))+` متر`,1)]),K.value?(m(),o(`p`,P,h(K.value),1)):d(``,!0)])]),f(`footer`,De,[f(`button`,{type:`button`,class:`btn-secondary`,onClick:i[4]||=e=>l(F).push({path:`/catalog-request`,query:{productId:B.value.id}})},[a(se,{size:18}),i[14]||=r(` درخواست کالیته `,-1)]),f(`div`,Oe,[f(`button`,{type:`button`,class:`btn-primary`,disabled:G.value,onClick:Le},[a(ae,{size:18,color:`#ffffff`}),r(` `+h(G.value?`در حال افزودن...`:`افزودن به سفارش`),1)],8,ke),f(`p`,Ae,`حداقل سفارش: `+h(l(re)(X.value)),1)])])])):V.value?(m(),o(`div`,je,[a(ue,{variant:`detail`})])):(m(),o(`div`,Me,[f(`p`,null,h(H.value||`محصول یافت نشد.`),1),f(`button`,{type:`button`,onClick:i[5]||=e=>l(F).push(`/products`)},`بازگشت به لیست`)]))}}),[[`__scopeId`,`data-v-9d82ace3`]]);export{F as default};