Files
tehran_taj/apps/user-app-v2/dist/assets/OrdersView-DjNcPS3O.js
T

2 lines
14 KiB
JavaScript

import{A as ce}from"./AppPullRefresh-D0jzzVYl.js";import{d as K,b as a,c as i,e,p as _,I as b,n as O,t as r,T as I,m as E,i as T,_ as q,$ as ee,a as te,l as de,w as _e,H as J,g as D,j as z,aV as ve,C as L,aW as Ee,a4 as fe,h as m,U as me,Y as pe,o as he,z as De,A as be,O as Se,v as ge,P as ye,F,r as B,K as ke,E as Ce,f as X}from"./index-Bykh8nbZ.js";import{P as Ae}from"./PageBar-CwAs_H2k.js";import{S as Re}from"./SearchInput-y9Zo-x9x.js";import{j as se,p as Le,a as Oe}from"./filters-DkaYCcJY.js";import{D as Z}from"./index-BNXQdVHk.js";import"./KeyCode-B4-nyHI0.js";import"./classCallCheck-zD9zMNqH.js";import"./raf-nDFcuFT6.js";const g={SUSPENDED:"معلق",PLACED:"ثبت سفارش",ADMIN_APPROVED:"تایید مدیر",SOURCING:"در حال تامین",PREPARING:"آماده‌سازی",DELIVERED_TO_AGENT:"تحویل نماینده",DELIVERED_TO_CUSTOMER:"تحویل مشتری",CANCELLED:"لغو شده"},Ie={SUSPENDED:"سفارش به‌دلیل سقف اعتبار معلق شد",PLACED:"سفارش ثبت و دریافت شد",ADMIN_APPROVED:"سفارش توسط مدیر تایید شد",SOURCING:"کالا در حال تامین است",PREPARING:"سفارش در حال آماده‌سازی است",DELIVERED_TO_AGENT:"تحویل به نماینده فروش انجام شد",DELIVERED_TO_CUSTOMER:"سفارش به مشتری تحویل شد",CANCELLED:"سفارش لغو شده است"},Ne={SUSPENDED:"vuesax-linear:bag-timer",PLACED:"vuesax-linear:bag-tick",ADMIN_APPROVED:"vuesax-linear:verify",SOURCING:"vuesax-linear:box-search",PREPARING:"vuesax-linear:box-1",DELIVERED_TO_AGENT:"vuesax-linear:truck-time",DELIVERED_TO_CUSTOMER:"vuesax-linear:location-tick",CANCELLED:"vuesax-linear:bag-cross"},M=["PLACED","ADMIN_APPROVED","SOURCING","PREPARING","DELIVERED_TO_AGENT","DELIVERED_TO_CUSTOMER"],Pe={SUSPENDED:{font:"#A16207",background:"#A162071F"},PLACED:{font:"#3B82F6",background:"#3B82F61F"},ADMIN_APPROVED:{font:"#6366F1",background:"#6366F11F"},SOURCING:{font:"#EAB308",background:"#EAB3081F"},PREPARING:{font:"#F97316",background:"#F973161F"},DELIVERED_TO_AGENT:{font:"#06B6D4",background:"#06B6D41F"},DELIVERED_TO_CUSTOMER:{font:"#22C55E",background:"#22C55E1F"},CANCELLED:{font:"#DC2626",background:"#DC26261F"}},Te={font:"#64748B",background:"#64748B1F"},xe="vuesax-linear:receipt-text";function P(n){return Pe[n]??Te}function j(n){return g[n]??n}function Ue(n){return Ie[n]??""}function we(n){return Ne[n]??xe}const Ve={class:"oc__main"},$e={class:"oc__head"},Ge={class:"oc__id"},Fe={class:"oc__figures"},Be={class:"oc__figure"},Me={class:"oc__figure"},ze={class:"oc__foot"},We={class:"oc__date"},je={class:"oc__more"},Ke=K({__name:"OrderCard",props:{value:{}},emits:["view"],setup(n,{emit:p}){const c=n,h=p,S=T(()=>j(c.value.status)),o=T(()=>P(c.value.status));return(A,d)=>(a(),i("article",{class:"oc",onClick:d[0]||(d[0]=f=>h("view",n.value))},[e("span",{class:"oc__mark",style:O({background:o.value.background,color:o.value.font}),"aria-hidden":"true"},[_(b,{icon:"vuesax-linear:receipt-text",size:"16"})],4),e("div",Ve,[e("div",$e,[e("p",Ge,r(n.value.orderNumber),1),e("span",{class:"oc__status",style:O({background:o.value.background,color:o.value.font})},r(S.value),5)]),e("div",Fe,[e("span",Be,[I(r(n.value.items.length)+" ",1),d[1]||(d[1]=e("i",null,"آیتم",-1))]),e("span",Me,[I(r(parseFloat(n.value.totalGoldWeightGrams).toFixed(2))+" ",1),d[2]||(d[2]=e("i",null,"گرم",-1))])]),e("div",ze,[e("span",We,r(E(se)(n.value.createdAt)),1),e("span",je,[d[3]||(d[3]=I(" جزئیات ",-1)),_(b,{icon:"vuesax-linear:arrow-left-1",size:"14"})])])])]))}}),qe=q(Ke,[["__scopeId","data-v-1be00ceb"]]);function Ye(n){var c;const p=n.productVariant;if(p)return{productTitle:p.product.title,variantTitle:p.title,imageUrl:(c=p.product.images[0])==null?void 0:c.url}}const He={class:"oi"},Qe=["alt"],Je={key:1,class:"oi__art oi__art--empty","aria-hidden":"true"},Xe={class:"oi__main"},Ze={class:"oi__head"},et={class:"oi__title"},tt={key:0,class:"oi__variant"},st={class:"oi__figures"},at={class:"oi__figure"},lt={class:"oi__figure"},ot={class:"oi__figure"},it=["src","alt"],nt=K({__name:"OrderItemCard",props:{value:{}},setup(n){const p=n,c=T(()=>Ye(p.value)),h=m(!1);return ee(h,S=>{document.body.style.overflow=S?"hidden":""}),te(()=>{h.value&&(document.body.style.overflow="")}),(S,o)=>{var d,f,N,y;const A=de("lazy");return a(),i("article",He,[(d=c.value)!=null&&d.imageUrl?(a(),i("button",{key:0,type:"button",class:"oi__art","aria-label":"بزرگ‌نمایی تصویر",onClick:o[0]||(o[0]=R=>h.value=!0)},[_e(e("img",{alt:((f=c.value)==null?void 0:f.productTitle)??""},null,8,Qe),[[A,E(J)(c.value.imageUrl,200)]])])):(a(),i("div",Je,[_(b,{icon:"vuesax-linear:diamonds",size:"18"})])),e("div",Xe,[e("div",Ze,[e("h4",et,r(((N=c.value)==null?void 0:N.productTitle)??"—"),1),(y=c.value)!=null&&y.variantTitle?(a(),i("span",tt,r(c.value.variantTitle),1)):D("",!0)]),e("div",st,[e("span",at,[I(r(n.value.quantity)+" ",1),o[3]||(o[3]=e("i",null,"عدد",-1))]),e("span",lt,[I(r(n.value.computedWeightGrams)+" ",1),o[4]||(o[4]=e("i",null,"گرم",-1))]),e("span",ot,[I(r(n.value.wagePercentSnapshot)+" ",1),o[5]||(o[5]=e("i",null,"٪ اجرت",-1))])])]),(a(),z(ve,{to:"body"},[_(fe,{name:"oi-preview"},{default:L(()=>{var R;return[h.value&&((R=c.value)!=null&&R.imageUrl)?(a(),i("div",{key:0,class:"oi__preview",role:"dialog","aria-modal":"true","aria-label":"پیش‌نمایش تصویر",onClick:o[2]||(o[2]=Ee(x=>h.value=!1,["self"]))},[e("button",{type:"button",class:"oi__previewClose","aria-label":"بستن",onClick:o[1]||(o[1]=x=>h.value=!1)},[_(b,{icon:"vuesax-linear:close-circle",size:"22"})]),e("img",{class:"oi__previewImg",src:E(J)(c.value.imageUrl,1600),alt:c.value.productTitle??""},null,8,it)])):D("",!0)]}),_:1})]))])}}}),rt=q(nt,[["__scopeId","data-v-441bdb1b"]]),ut={class:"ord"},ct={class:"ord__barExtra"},dt={class:"ord__chips no-scrollbar"},_t=["onClick"],vt={key:0,class:"ord__list"},Et={key:1,class:"ord__empty"},ft={key:2,class:"ord__empty"},mt={key:3,class:"ord__more"},pt={class:"detail"},ht={class:"detail__bar"},Dt={class:"detail__scroll"},bt={class:"detail__block"},St={class:"detail__headline"},gt={class:"detail__idBlock"},yt={class:"detail__number"},kt={class:"detail__specs"},Ct={class:"detail__spec"},At={class:"detail__spec"},Rt={key:0,class:"detail__spec"},Lt={class:"detail__spec"},Ot={class:"detail__block"},It={class:"detail__items"},Nt={class:"tlSheet"},Pt={class:"tlSheet__banner"},Tt={key:0,class:"tlSheet__rail"},xt={class:"tlSheet__axis","aria-hidden":"true"},Ut={class:"tlSheet__main"},wt={class:"tlSheet__row"},Vt={class:"tlSheet__copy"},$t={class:"tlSheet__status"},Gt={class:"tlSheet__blurb"},Ft=["datetime"],Bt={key:1,class:"tlSheet__when is-wait"},Mt={key:1,class:"tlSheet__empty"},zt=K({__name:"OrdersView",setup(n){const p=me(),c=pe(),h=[{title:"همه",key:"ALL"},{title:g.SUSPENDED,key:"SUSPENDED"},{title:g.PLACED,key:"PLACED"},{title:g.ADMIN_APPROVED,key:"ADMIN_APPROVED"},{title:g.SOURCING,key:"SOURCING"},{title:g.PREPARING,key:"PREPARING"},{title:g.DELIVERED_TO_AGENT,key:"DELIVERED_TO_AGENT"},{title:g.DELIVERED_TO_CUSTOMER,key:"DELIVERED_TO_CUSTOMER"},{title:g.CANCELLED,key:"CANCELLED"}],S=m("ALL"),o=m([]),A=m(1),d=m(!0),f=m(!1),N=m(!1),y=m(!1),R=m(void 0),x=m(null);let U=null,w=0;function ae(l){R.value=l}async function Y(){if(!p.isLoggedIn){o.value=[],d.value=!1;return}if(f.value||!d.value)return;const l=w;f.value=!0,y.value=!1;try{const t=await ge.getMyOrders({page:A.value,status:S.value,q:R.value});if(l!==w)return;const k=t.result??[];o.value=A.value===1?k:[...o.value,...k],k.length<(t.limit??20)?d.value=!1:A.value+=1}catch(t){if(l!==w)return;y.value=!0,d.value=!1,console.log(t)}finally{l===w&&(f.value=!1)}}function le(){o.value=[],A.value=1,d.value=!0,y.value=!1}async function V(){w+=1,f.value=!1,le(),await Y()}const u=ye({model:!1,item:null}),$=m(!1),H=T(()=>u.item?j(u.item.status):""),G=T(()=>u.item?P(u.item.status):P("PLACED"));function oe(l){if(l.state==="pending")return;const t=P(l.status);return{color:t.font,borderColor:t.font}}function ie(l){return{background:P(l).font}}const W=T(()=>{const l=u.item;if(!l)return[];const t=new Map;for(const v of l.statusEvents??[])t.has(v.toStatus)||t.set(v.toStatus,v.createdAt);if(t.has(l.status)||t.set(l.status,l.createdAt),l.status==="SUSPENDED")return[{status:"SUSPENDED",at:t.get("SUSPENDED")??l.createdAt,state:"current"},...M.map(v=>({status:v,at:null,state:"pending"}))];if(l.status==="CANCELLED")return[...M.filter(C=>t.has(C)).map(C=>({status:C,at:t.get(C)??null,state:"done"})),{status:"CANCELLED",at:t.get("CANCELLED")??l.createdAt,state:"current"}];const k=M.indexOf(l.status),s=k>=0?k:0;return M.map((v,C)=>({status:v,at:t.get(v)??(C===s?l.createdAt:null),state:C<s?"done":C===s?"current":"pending"}))});function ne(l){u.item=l,u.model=!0,$.value=!1}function re(){$.value=!1,u.model=!1}async function ue(){try{c.invalidate(ke.orders),await V()}finally{N.value=!1}}ee([S,R],()=>{V()}),he(async()=>{await V(),await De(),typeof IntersectionObserver<"u"&&(U=new IntersectionObserver(l=>{l.some(t=>t.isIntersecting)&&Y()}),x.value&&U.observe(x.value))});let Q=!1;return be(()=>{Q&&V(),Q=!0}),te(()=>U==null?void 0:U.disconnect()),(l,t)=>{const k=Ce("container");return a(),i("div",ut,[_(Ae,{title:"سفارشات","back-to":"home"},{below:L(()=>[e("div",ct,[_(Re,{onSearch:ae,"place-holder":"جستجوی شماره سفارش"}),e("div",dt,[(a(),i(F,null,B(h,s=>e("button",{key:s.key,type:"button",class:X(["ord__chip",{"is-on":S.value===s.key}]),onClick:v=>S.value=s.key},r(s.title),11,_t)),64))])])]),_:1}),_(Se,{spinning:f.value&&!o.value.length,tip:"درحال دریافت اطلاعات"},{default:L(()=>[_(ce,{modelValue:N.value,"onUpdate:modelValue":t[0]||(t[0]=s=>N.value=s),onRefresh:ue},{default:L(()=>[_(k,{class:"ord__body"},{default:L(()=>[o.value.length?(a(),i("div",vt,[(a(!0),i(F,null,B(o.value,s=>(a(),z(qe,{key:s.id,value:s,onView:ne},null,8,["value"]))),128))])):!f.value&&!y.value?(a(),i("section",Et,[_(b,{icon:"vuesax-linear:box",size:"26"}),t[4]||(t[4]=e("p",null,"سفارشی با این مشخصات پیدا نشد.",-1))])):D("",!0),y.value?(a(),i("section",ft,[_(b,{icon:"vuesax-linear:danger",size:"26"}),t[5]||(t[5]=e("p",null,"دریافت سفارش‌ها با خطا روبه‌رو شد.",-1)),e("button",{type:"button",class:"ord__retry",onClick:V},"تلاش دوباره")])):D("",!0),f.value&&o.value.length?(a(),i("div",mt,"در حال دریافت…")):D("",!0),e("div",{ref_key:"sentinel",ref:x,class:"ord__sentinel"},null,512)]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["spinning"]),u.item?(a(),z(E(Z),{key:0,visible:u.model,"onUpdate:visible":t[2]||(t[2]=s=>u.model=s),placement:"bottom",closable:!1,height:"100vh",class:"rtl",bodyStyle:{padding:0,position:"relative"}},{default:L(()=>[e("div",pt,[e("header",ht,[e("button",{type:"button",class:"detail__close","aria-label":"بستن",onClick:re},[_(b,{icon:"vuesax-linear:arrow-right-1",size:"20"})]),t[6]||(t[6]=e("h2",{class:"detail__title"},"جزئیات سفارش",-1)),e("button",{type:"button",class:"detail__trail","aria-label":"تاریخچه وضعیت",onClick:t[1]||(t[1]=s=>$.value=!0)},[_(b,{icon:"vuesax-linear:clock-1",size:"18"})])]),e("div",Dt,[e("section",bt,[e("div",St,[e("div",gt,[t[7]||(t[7]=e("div",{class:"detail__eyebrow"},"شماره سفارش",-1)),e("div",yt,r(u.item.orderNumber),1)]),e("span",{class:"detail__status",style:O({background:G.value.background,color:G.value.font})},r(H.value),5)]),e("dl",kt,[e("div",Ct,[t[8]||(t[8]=e("dt",null,"تعداد کالاها",-1)),e("dd",null,r(u.item.items.length)+" آیتم",1)]),e("div",At,[t[9]||(t[9]=e("dt",null,"وزن سفارش",-1)),e("dd",null,r(parseFloat(u.item.totalGoldWeightGrams).toFixed(2))+" گرم",1)]),parseFloat(u.item.flatRialCharge)>0?(a(),i("div",Rt,[t[10]||(t[10]=e("dt",null,"اجرت ریالی",-1)),e("dd",null,r(E(Le)(Math.round(parseFloat(u.item.flatRialCharge))))+" ریال",1)])):D("",!0),e("div",Lt,[t[11]||(t[11]=e("dt",null,"تاریخ سفارش",-1)),e("dd",null,r(E(se)(u.item.createdAt)),1)])])]),e("section",Ot,[t[12]||(t[12]=e("h3",{class:"detail__blockTitle"},"آیتم‌های سفارش",-1)),e("div",It,[(a(!0),i(F,null,B(u.item.items,s=>(a(),z(rt,{key:s.id,value:s},null,8,["value"]))),128))])])])])]),_:1},8,["visible"])):D("",!0),_(E(Z),{visible:$.value,"onUpdate:visible":t[3]||(t[3]=s=>$.value=s),placement:"bottom",closable:!1,zIndex:1100,height:"70%",class:"rtl island-sheet",bodyStyle:{padding:0}},{default:L(()=>[e("div",Nt,[e("header",Pt,[t[13]||(t[13]=e("span",{class:"tlSheet__chip"},"وضعیت",-1)),t[14]||(t[14]=e("span",{class:"tlSheet__dash","aria-hidden":"true"},null,-1)),u.item?(a(),i("span",{key:0,class:"tlSheet__badge",style:O({background:G.value.background,color:G.value.font})},[_(b,{icon:"vuesax-linear:tick-circle",size:"14"}),I(" "+r(H.value),1)],4)):D("",!0)]),W.value.length?(a(),i("ol",Tt,[(a(!0),i(F,null,B(W.value,(s,v)=>(a(),i("li",{key:s.status,class:X(["tlSheet__node",[`is-${s.state}`]])},[e("div",xt,[s.state==="current"?(a(),i("span",{key:0,class:"tlSheet__halo",style:O({color:E(P)(s.status).font})},null,4)):D("",!0),e("span",{class:"tlSheet__marker",style:O(oe(s))},[_(b,{icon:E(we)(s.status),size:"16"},null,8,["icon"])],4),v<W.value.length-1?(a(),i("span",{key:1,class:"tlSheet__stem",style:O(s.state==="pending"?void 0:ie(s.status))},null,4)):D("",!0)]),e("div",Ut,[e("div",wt,[e("div",Vt,[e("div",$t,r(E(j)(s.status)),1),e("p",Gt,r(E(Ue)(s.status)),1)]),s.at?(a(),i("time",{key:0,class:"tlSheet__when",datetime:s.at},r(E(Oe)(s.at)),9,Ft)):(a(),i("span",Bt,"در انتظار"))])])],2))),128))])):(a(),i("p",Mt,"مسیری برای این سفارش ثبت نشده است."))])]),_:1},8,["visible"])])}}}),Zt=q(zt,[["__scopeId","data-v-3b9944ba"]]);export{Zt as default};