Files
tehran_taj/apps/user-app-v2/dist/assets/CartView-DeG5lzF3.js
T

2 lines
12 KiB
JavaScript

import{d as Y,R as j,S as G,k as J,l as Z,b as n,c as i,e,m as o,w as tt,p as d,I as b,t as v,g as m,T as x,i as I,_ as X,U as et,o as at,z as st,V as ot,C as k,O as nt,j as z,W as O,D as lt,h as S,P as W,f as F,F as D,r as M,E as it,n as rt,X as Q,v as ut,Y as ct,K as N}from"./index-D8rImuYS.js";import{A as dt}from"./AppPullRefresh-CRlsXY5y.js";import{P as _t}from"./PageBar-D3jj0fpH.js";import{p as A}from"./filters-DFCzE8sv.js";import{u as vt}from"./catalogStore-Cm5jo55F.js";import{D as mt}from"./index-BZmou6Ct.js";import{F as pt,T as yt,a as bt}from"./index-B8iKPwZF.js";import"./KeyCode-C3zI_tcU.js";import"./classCallCheck-MbKOlzYJ.js";import"./raf-nDFcuFT6.js";import"./isEqual-jBSr9eVY.js";import"./FormItemContext-Ca2q87_9.js";const ft={class:"ci"},gt={class:"ci__art"},kt=["alt"],wt={key:1,class:"ci__artEmpty","aria-hidden":"true"},Ct={class:"ci__main"},ht={class:"ci__title"},xt={class:"ci__meta"},$t={class:"ci__weight"},Lt={key:0,class:"ci__wage"},It={key:1,class:"ci__wage"},qt={key:0,class:"ci__rialTotal"},Pt={class:"ci__row"},Rt={class:"ci__qty"},Tt=["disabled"],Vt={class:"ci__qtyValue"},zt={class:"ci__actions"},St={key:1,class:"ci__noteText"},Ft=Y({__name:"CartItem",props:{value:{},mode:{default:"cart"}},emits:["note","defer","toCart"],setup(p,{emit:q}){const l=p,c=q,u=j(),f=G(),g=I(()=>l.mode==="buyLater"?f.find_index(l.value):u.find_index(l.value)),w=I(()=>l.mode==="cart"?u.maxQty(l.value):null),_=I(()=>w.value===null||l.value.qty<w.value),$=()=>{if(_.value){if(l.mode==="buyLater"){f.updateQty(l.value,l.value.qty+1);return}u.updateFeild(l.value.qty+1,g.value,l.value,"qty")}},B=()=>{if(l.mode==="buyLater"){f.updateQty(l.value,l.value.qty-1);return}u.updateFeild(l.value.qty-1,g.value,l.value,"qty")},s=()=>{l.mode==="buyLater"?f.remove(l.value):u.remove(l.value)},y=l.mode==="buyLater"?l.value.product.variants.find(r=>r.id===l.value.vid):u.variant(l.value),{image:P,title:R,selectedVariant:T,wage:V}=J(l.value.product,y),C=I(()=>{var r;return Number(((r=T.value)==null?void 0:r.rial_pay)??0)||0}),U=I(()=>{const r=V.value;return r==null?"":r%1===0?String(r):r.toFixed(2)});return(r,t)=>{var L;const h=Z("lazy");return n(),i("article",ft,[e("div",gt,[o(P)?tt((n(),i("img",{key:0,alt:o(R)},null,8,kt)),[[h,o(P)]]):(n(),i("div",wt,[d(b,{icon:"vuesax-linear:diamonds",size:"20"})]))]),e("div",Ct,[e("h3",ht,v(o(R)),1),e("div",xt,[e("span",$t,v((L=o(T))==null?void 0:L.rashWeightGrams)+" گرم",1),o(V)!=null?(n(),i("span",Lt,"اجرت "+v(U.value)+"٪",1)):m("",!0),C.value>0?(n(),i("span",It,"اجرت ریالی "+v(o(A)(C.value))+" ریال",1)):m("",!0)]),C.value>0&&p.value.qty>1?(n(),i("p",qt," جمع اجرت "+v(o(A)(C.value*p.value.qty))+" ریال ",1)):m("",!0),e("div",Pt,[e("div",Rt,[e("button",{type:"button",class:"ci__qtyBtn","aria-label":"افزودن",disabled:!_.value,onClick:$},[d(b,{icon:"vuesax-linear:add",size:"16"})],8,Tt),e("span",Vt,v(p.value.qty),1),p.value.qty===1?(n(),i("button",{key:0,type:"button",class:"ci__qtyBtn ci__qtyBtn--danger","aria-label":"حذف",onClick:s},[d(b,{icon:"vuesax-linear:trash",size:"16"})])):(n(),i("button",{key:1,type:"button",class:"ci__qtyBtn","aria-label":"کاهش",onClick:B},[d(b,{icon:"vuesax-linear:minus",size:"16"})]))]),e("button",{type:"button",class:"ci__note",onClick:t[0]||(t[0]=a=>c("note",g.value))},[d(b,{icon:"vuesax-linear:note-text",size:"15"}),x(" "+v(!p.value.note||p.value.note===""?"توضیحات":"ویرایش توضیحات"),1)])]),e("div",zt,[p.mode==="cart"?(n(),i("button",{key:0,type:"button",class:"ci__move ci__move--quiet",onClick:t[1]||(t[1]=a=>c("defer"))},[d(b,{icon:"vuesax-linear:clock-1",size:"14"}),t[3]||(t[3]=x(" خرید بعدی ",-1))])):(n(),i("button",{key:1,type:"button",class:"ci__move ci__move--primary",onClick:t[2]||(t[2]=a=>c("toCart"))},[d(b,{icon:"vuesax-linear:bag-2",size:"15"}),t[4]||(t[4]=x(" افزودن به سبد ",-1))]))]),p.value.note?(n(),i("p",St,v(p.value.note),1)):m("",!0)])])}}}),K=X(Ft,[["__scopeId","data-v-f3dfdca4"]]),Dt={class:"cart"},Nt={class:"cart__tabs",role:"tablist","aria-label":"نوع سبد"},Bt=["aria-selected"],Ut={key:0,class:"cart__tabCount"},Et=["aria-selected"],Qt={key:0,class:"cart__tabCount"},At={key:1,class:"cart__empty"},Ht={key:0,class:"cart__emptyHint"},Ot={key:0,class:"cart__laterHint"},Wt={key:1,class:"cart__items is-revealed"},Mt={key:2,class:"cart__empty"},Kt={key:1,class:"cart__done"},Yt={class:"cart__doneIcon","aria-hidden":"true"},jt={class:"cart__doneSub"},Gt={key:0,class:"cart__bar"},Xt={class:"cart__barInner"},Jt={class:"cart__totals"},Zt={class:"cart__total"},te={class:"cart__totalValue"},ee={key:0,class:"cart__total"},ae={class:"cart__totalValue"},se={class:"sheet"},oe={class:"sheet__title"},ne=60,le=Y({__name:"CartView",setup(p){let q=!1;const l=lt(),c=j(),u=G(),f=et(),g=S(!1),w=S(!1),_=S("cart"),$=S(q);function B(r){return{"--reveal-delay":`${r*ne}ms`}}const s=W({loadingPage:!1,showPopUp:!1,step:1,notify:!1,orderID:"",tempRowIndex:-1,noteTarget:"cart",tempRow:{product:void 0}}),y=W({note:void 0}),P=()=>{const r=s.tempRow;s.noteTarget==="buyLater"?u.updateNote(r,y.note):c.updateFeild(y.note,s.tempRowIndex,r,"note"),s.showPopUp=!1,y.note=void 0,s.tempRow={product:void 0}};function R(r){u.moveFromCart(r),_.value="later",Q.success("به خرید بعدی منتقل شد")}function T(r){u.moveToCart(r)?(_.value="cart",Q.success("به سبد خرید اضافه شد")):Q.error("موجودی کافی نیست؛ در خرید بعدی ماند")}const V=async()=>{await l.push({name:"ordersList"}),s.step=1},C=async()=>{if(s.notify=!1,!f.isLoggedIn){g.value=!0;return}try{s.loadingPage=!0;const r=await ut.createOrder({customerId:f.customerId??void 0,items:c.items.map(t=>{const h=c.variant(t);return{productVariantId:t.vid,quantity:t.qty,wagePercent:h?parseFloat(h.defaultWagePercent):0}})});s.orderID=r.orderNumber,s.step=2,c.clear(),ct().invalidate(N.orders,N.balance,N.profile,N.ledger),vt().invalidate()}catch(r){console.log(r)}finally{s.loadingPage=!1}};async function U(){try{await Promise.all([c.init(!0),u.init()])}finally{w.value=!1}}return at(async()=>{await Promise.all([c.init(),u.init()]),!$.value&&(await st(),requestAnimationFrame(()=>{$.value=!0,q=!0}))}),(r,t)=>{var L;const h=it("container");return n(),i("div",Dt,[d(_t,{title:"سبد خرید","back-to":"home"},ot({_:2},[s.step===1?{name:"below",fn:k(()=>[e("div",Nt,[e("button",{type:"button",role:"tab",class:F(["cart__tab",{"is-on":_.value==="cart"}]),"aria-selected":_.value==="cart",onClick:t[0]||(t[0]=a=>_.value="cart")},[t[13]||(t[13]=e("span",{class:"cart__tabLabel"},"سبد خرید",-1)),o(c).items.length?(n(),i("span",Ut,v(o(c).items.length),1)):m("",!0)],10,Bt),e("button",{type:"button",role:"tab",class:F(["cart__tab",{"is-on":_.value==="later"}]),"aria-selected":_.value==="later",onClick:t[1]||(t[1]=a=>_.value="later")},[t[14]||(t[14]=e("span",{class:"cart__tabLabel"},"خرید بعدی",-1)),o(u).items.length?(n(),i("span",Qt,v(o(u).items.length),1)):m("",!0)],10,Et)])]),key:"0"}:void 0]),1024),d(nt,{spinning:s.loadingPage,tip:"درحال دریافت اطلاعات"},{default:k(()=>[d(h,{class:F(["cart__body",{"cart__body--tabs":s.step===1}])},{default:k(()=>[s.step===1?(n(),z(dt,{key:0,modelValue:w.value,"onUpdate:modelValue":t[6]||(t[6]=a=>w.value=a),onRefresh:U},{default:k(()=>[_.value==="cart"?(n(),i(D,{key:0},[o(c).items.length?(n(),i("div",{key:0,class:F(["cart__items",{"is-revealed":$.value}])},[(n(!0),i(D,null,M(o(c).items,(a,E)=>(n(),z(K,{key:"c-"+a.pid+a.vid,value:a,mode:"cart",class:"cart__row",style:rt(B(E)),onDefer:H=>R(a),onNote:H=>{s.noteTarget="cart",s.tempRow=a,s.showPopUp=!0,s.tempRowIndex=H,y.note=a.note??void 0}},null,8,["value","style","onDefer","onNote"]))),128))],2)):(n(),i("section",At,[d(b,{icon:"vuesax-linear:bag-2",size:"26"}),t[15]||(t[15]=e("p",null,"سبد خرید خالی است.",-1)),o(u).items.length?(n(),i("p",Ht,v(o(u).items.length)+" مورد در «خرید بعدی» دارید. ",1)):m("",!0),o(u).items.length?(n(),i("button",{key:1,type:"button",class:"cart__emptyCta cart__emptyCta--ghost",onClick:t[2]||(t[2]=a=>_.value="later")}," رفتن به خرید بعدی ")):m("",!0),e("button",{type:"button",class:"cart__emptyCta",onClick:t[3]||(t[3]=a=>o(l).push({name:"home"}))}," دیدن محصولات ")]))],64)):(n(),i(D,{key:1},[o(u).items.length?(n(),i("p",Ot," از موجودی کم نمی‌شود؛ هر وقت آماده بودید به سبد برگردانید. ")):m("",!0),o(u).items.length?(n(),i("div",Wt,[(n(!0),i(D,null,M(o(u).items,a=>(n(),z(K,{key:"l-"+a.pid+a.vid,value:a,mode:"buyLater",class:"cart__row is-static",onToCart:E=>T(a),onNote:E=>{s.noteTarget="buyLater",s.tempRow=a,s.showPopUp=!0,s.tempRowIndex=o(u).find_index(a),y.note=a.note??void 0}},null,8,["value","onToCart","onNote"]))),128))])):(n(),i("section",Mt,[d(b,{icon:"vuesax-linear:clock-1",size:"26"}),t[16]||(t[16]=e("p",null,"خرید بعدی خالی است.",-1)),t[17]||(t[17]=e("p",{class:"cart__emptyHint"},"از سبد خرید، «خرید بعدی» را بزنید تا اینجا نگه داشته شود.",-1)),o(c).items.length?(n(),i("button",{key:0,type:"button",class:"cart__emptyCta cart__emptyCta--ghost",onClick:t[4]||(t[4]=a=>_.value="cart")}," بازگشت به سبد ")):m("",!0),e("button",{type:"button",class:"cart__emptyCta",onClick:t[5]||(t[5]=a=>o(l).push({name:"home"}))}," دیدن محصولات ")]))],64))]),_:1},8,["modelValue"])):(n(),i("section",Kt,[e("div",Yt,[d(b,{icon:"vuesax-linear:tick-circle",size:"30"})]),t[19]||(t[19]=e("h2",{class:"cart__doneTitle"},"سفارش شما ثبت شد",-1)),e("p",jt,[t[18]||(t[18]=x(" شماره سفارش ",-1)),e("b",null,v(s.orderID),1)]),t[20]||(t[20]=e("p",{class:"cart__doneHint"},"برای پیگیری وضعیت، به فهرست سفارش‌ها مراجعه کنید.",-1)),e("button",{type:"button",class:"cart__doneCta",onClick:V},"فهرست سفارش‌ها")]))]),_:1},8,["class"])]),_:1},8,["spinning"]),_.value==="cart"&&o(c).items.length>0&&s.step===1?(n(),i("div",Gt,[e("div",Xt,[e("div",Jt,[e("div",Zt,[t[22]||(t[22]=e("span",{class:"cart__totalLabel"},"جمع وزن",-1)),e("span",te,[x(v(o(c).total())+" ",1),t[21]||(t[21]=e("i",null,"گرم",-1))])]),o(c).totalRial()>0?(n(),i("div",ee,[t[24]||(t[24]=e("span",{class:"cart__totalLabel"},"جمع اجرت ریالی",-1)),e("span",ae,[x(v(o(A)(o(c).totalRial()))+" ",1),t[23]||(t[23]=e("i",null,"ریال",-1))])])):m("",!0)]),e("button",{type:"button",class:"cart__submit",onClick:t[7]||(t[7]=a=>s.notify=!0)},"ثبت نهایی سفارش")])])):m("",!0),(L=s.tempRow)!=null&&L.product?(n(),z(o(mt),{key:1,visible:s.showPopUp,"onUpdate:visible":t[9]||(t[9]=a=>s.showPopUp=a),placement:"bottom",closable:!1,height:"300px",class:"rtl island-sheet",bodyStyle:{padding:0}},{default:k(()=>[e("div",se,[e("h3",oe,"توضیح برای "+v(s.tempRow.product.title),1),d(o(bt),{model:y,name:"noteForm",layout:"vertical",autocomplete:"off",onFinish:P},{default:k(()=>[d(o(pt),{"has-feedback":"",name:"note"},{default:k(()=>[d(o(yt),{value:y.note,"onUpdate:value":t[8]||(t[8]=a=>y.note=a),rows:4,placeholder:"مثلاً سایز یا جزئیات سفارش"},null,8,["value"])]),_:1}),t[25]||(t[25]=e("button",{type:"submit",class:"sheet__cta"},"ثبت توضیحات",-1))]),_:1},8,["model"])])]),_:1},8,["visible"])):m("",!0),d(O,{show:s.notify,"onUpdate:show":t[10]||(t[10]=a=>s.notify=a),art:"order",title:"آیا مطمئن به ثبت سفارش هستید؟",description:"پس از ثبت، وضعیت سفارش را می توانید از بخش سفارش ها پیگیری کنید.","confirm-text":"بله","cancel-text":"بی خیال",onConfirm:C},null,8,["show"]),d(O,{show:g.value,"onUpdate:show":t[11]||(t[11]=a=>g.value=a),art:"login",title:"برای ثبت سفارش وارد شوید",description:"برای ثبت سفارش ابتدا باید وارد حساب کاربری خود شوید. سبد خرید شما حفظ می شود.","confirm-text":"ورود/ثبت نام","cancel-text":"بیخیال",onConfirm:t[12]||(t[12]=a=>o(l).push({name:"login"}))},null,8,["show"])])}}}),ge=X(le,[["__scopeId","data-v-5377a4b6"]]);export{ge as default};