- Rial wage and gram-debt arithmetic matched to the reference; order corrections keep debt in sync - Document confirm/un-confirm is a compare-and-swap (no double-applied cache under concurrency) - Settlement document and expert inputs validated (400 instead of 500) - Expert: edit / activate-deactivate own customers, adjust raw weights only - Made-to-order flow in the app, PreOrder.quantity migration - Order grids: customer column, sort keys; panel select search; pre-order quantity save - Rebuilt release artifacts Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2 lines
7.8 KiB
JavaScript
2 lines
7.8 KiB
JavaScript
import{d as B,Q as T,k as O,l as Q,b as n,c as l,e,m as s,w as M,p as i,I as f,t as u,g as h,R as V,i as q,_ as E,S as W,o as K,z as j,C as w,N as G,j as z,T as N,D as H,h as D,O as U,f as Y,F as J,r as X,E as Z,n as tt,v as et,U as at,K as P}from"./index-6E0fX61D.js";import{A as st}from"./AppPullRefresh-B0f-tYJA.js";import{P as ot}from"./PageBar-HEcoSwjE.js";import{p as L}from"./filters-CmtC5ctw.js";import{u as nt}from"./catalogStore-DqM2POWt.js";import{D as it}from"./index-BRKIhLwl.js";import{F as lt,T as rt,a as ct}from"./index-C6v9FxiB.js";import"./KeyCode-CJkaCAgc.js";import"./classCallCheck-BINKwNli.js";import"./raf-nDFcuFT6.js";import"./isEqual-4qLLVpCV.js";import"./FormItemContext-i27DxbTo.js";const ut={class:"ci"},dt={class:"ci__art"},_t=["alt"],mt={key:1,class:"ci__artEmpty","aria-hidden":"true"},pt={class:"ci__main"},vt={class:"ci__title"},yt={class:"ci__meta"},ft={class:"ci__weight"},bt={key:0,class:"ci__wage"},gt={key:1,class:"ci__wage"},wt={class:"ci__row"},ht={class:"ci__qty"},kt=["disabled"],xt={class:"ci__qtyValue"},Ct={key:0,class:"ci__noteText"},$t=B({__name:"CartItem",props:{value:{}},emits:["note"],setup(d,{emit:k}){const c=d,r=k,_=T(),y=_.find_index(c.value),b=q(()=>_.maxQty(c.value)),g=q(()=>b.value===null||c.value.qty<b.value),F=()=>{g.value&&_.updateFeild(c.value.qty+1,y,c.value,"qty")},a=()=>{_.updateFeild(c.value.qty-1,y,c.value,"qty")},{image:m,title:x,selectedVariant:C,wage:$}=O(c.value.product,_.variant(c.value)),I=q(()=>{var t;return Number(((t=C.value)==null?void 0:t.rial_pay)??0)||0}),v=q(()=>{const t=$.value;return t==null?"":t%1===0?String(t):t.toFixed(2)});return(t,p)=>{var o;const R=Q("lazy");return n(),l("article",ut,[e("div",dt,[s(m)?M((n(),l("img",{key:0,alt:s(x)},null,8,_t)),[[R,s(m)]]):(n(),l("div",mt,[i(f,{icon:"vuesax-linear:diamonds",size:"20"})]))]),e("div",pt,[e("h3",vt,u(s(x)),1),e("div",yt,[e("span",ft,u((o=s(C))==null?void 0:o.rashWeightGrams)+" گرم",1),s($)!=null?(n(),l("span",bt,"اجرت "+u(v.value)+"٪",1)):h("",!0),I.value>0?(n(),l("span",gt,"اجرت ریالی "+u(s(L)(I.value))+" ریال",1)):h("",!0)]),e("div",wt,[e("div",ht,[e("button",{type:"button",class:"ci__qtyBtn","aria-label":"افزودن",disabled:!g.value,onClick:F},[i(f,{icon:"vuesax-linear:add",size:"16"})],8,kt),e("span",xt,u(d.value.qty),1),d.value.qty===1?(n(),l("button",{key:0,type:"button",class:"ci__qtyBtn ci__qtyBtn--danger","aria-label":"حذف",onClick:p[0]||(p[0]=S=>s(_).remove(d.value))},[i(f,{icon:"vuesax-linear:trash",size:"16"})])):(n(),l("button",{key:1,type:"button",class:"ci__qtyBtn","aria-label":"کاهش",onClick:a},[i(f,{icon:"vuesax-linear:minus",size:"16"})]))]),e("button",{type:"button",class:"ci__note",onClick:p[1]||(p[1]=S=>r("note",s(y)))},[i(f,{icon:"vuesax-linear:note-text",size:"15"}),V(" "+u(!d.value.note||d.value.note===""?"توضیحات":"ویرایش توضیحات"),1)])]),d.value.note?(n(),l("p",Ct,u(d.value.note),1)):h("",!0)])])}}}),It=E($t,[["__scopeId","data-v-55149cf7"]]),Rt={class:"cart"},qt={key:1,class:"cart__empty"},Pt={key:1,class:"cart__done"},Vt={class:"cart__doneIcon","aria-hidden":"true"},Ft={class:"cart__doneSub"},St={key:0,class:"cart__bar"},zt={class:"cart__barInner"},Dt={class:"cart__total"},Nt={class:"cart__totalValue"},Ut={key:0,class:"cart__totalRial"},Bt={class:"sheet"},Tt={class:"sheet__title"},Et=60,Lt=B({__name:"CartView",setup(d){let k=!1;const c=H(),r=T(),_=W(),y=D(!1),b=D(!1),g=D(k);function F(v){return{"--reveal-delay":`${v*Et}ms`}}const a=U({loadingPage:!1,showPopUp:!1,step:1,notify:!1,orderID:"",tempRowIndex:-1,tempRow:{product:void 0}}),m=U({note:void 0}),x=()=>{r.updateFeild(m.note,a.tempRowIndex,a.tempRow,"note"),a.showPopUp=!1,m.note=void 0,a.tempRow={product:void 0}},C=async()=>{await c.push({name:"ordersList"}),a.step=1},$=async()=>{if(a.notify=!1,!_.isLoggedIn){y.value=!0;return}try{a.loadingPage=!0;const v=await et.createOrder({customerId:_.customerId??void 0,items:r.items.map(t=>{const p=r.variant(t);return{productVariantId:t.vid,quantity:t.qty,wagePercent:p?parseFloat(p.defaultWagePercent):0}})});a.orderID=v.orderNumber,a.step=2,r.clear(),at().invalidate(P.orders,P.balance,P.profile,P.ledger),nt().invalidate()}catch(v){console.log(v)}finally{a.loadingPage=!1}};async function I(){try{await r.init(!0)}finally{b.value=!1}}return K(async()=>{await r.init(),!g.value&&(await j(),requestAnimationFrame(()=>{g.value=!0,k=!0}))}),(v,t)=>{var R;const p=Z("container");return n(),l("div",Rt,[i(ot,{title:"سبد خرید",back:!1}),i(G,{spinning:a.loadingPage,tip:"درحال دریافت اطلاعات"},{default:w(()=>[i(p,{class:"cart__body"},{default:w(()=>[a.step===1?(n(),z(st,{key:0,modelValue:b.value,"onUpdate:modelValue":t[1]||(t[1]=o=>b.value=o),onRefresh:I},{default:w(()=>[s(r).items.length?(n(),l("div",{key:0,class:Y(["cart__items",{"is-revealed":g.value}])},[(n(!0),l(J,null,X(s(r).items,(o,S)=>(n(),z(It,{key:o.pid+o.vid,value:o,class:"cart__row",style:tt(F(S)),onNote:A=>{a.tempRow=o,a.showPopUp=!0,a.tempRowIndex=A,m.note=o.note??void 0}},null,8,["value","style","onNote"]))),128))],2)):(n(),l("section",qt,[i(f,{icon:"vuesax-linear:bag-2",size:"26"}),t[8]||(t[8]=e("p",null,"سبد خرید شما خالی است.",-1)),e("button",{type:"button",class:"cart__emptyCta",onClick:t[0]||(t[0]=o=>s(c).push({name:"home"}))}," دیدن محصولات ")]))]),_:1},8,["modelValue"])):(n(),l("section",Pt,[e("div",Vt,[i(f,{icon:"vuesax-linear:tick-circle",size:"30"})]),t[10]||(t[10]=e("h2",{class:"cart__doneTitle"},"سفارش شما ثبت شد",-1)),e("p",Ft,[t[9]||(t[9]=V(" شماره سفارش ",-1)),e("b",null,u(a.orderID),1)]),t[11]||(t[11]=e("p",{class:"cart__doneHint"},"برای پیگیری وضعیت، به فهرست سفارشها مراجعه کنید.",-1)),e("button",{type:"button",class:"cart__doneCta",onClick:C},"فهرست سفارشها")]))]),_:1})]),_:1},8,["spinning"]),s(r).items.length>0&&a.step===1?(n(),l("div",St,[e("div",zt,[e("div",Dt,[t[14]||(t[14]=e("span",{class:"cart__totalLabel"},"جمع وزن",-1)),e("span",Nt,[V(u(s(r).total())+" ",1),t[12]||(t[12]=e("i",null,"گرم",-1))]),s(r).totalRial()>0?(n(),l("span",Ut,[V(" + اجرت ریالی "+u(s(L)(s(r).totalRial()))+" ",1),t[13]||(t[13]=e("i",null,"ریال",-1))])):h("",!0)]),e("button",{type:"button",class:"cart__submit",onClick:t[2]||(t[2]=o=>a.notify=!0)},"ثبت نهایی سفارش")])])):h("",!0),(R=a.tempRow)!=null&&R.product?(n(),z(s(it),{key:1,visible:a.showPopUp,"onUpdate:visible":t[4]||(t[4]=o=>a.showPopUp=o),placement:"bottom",closable:!1,height:"300px",class:"rtl island-sheet",bodyStyle:{padding:0}},{default:w(()=>[e("div",Bt,[e("h3",Tt,"توضیح برای "+u(a.tempRow.product.title),1),i(s(ct),{model:m,name:"noteForm",layout:"vertical",autocomplete:"off",onFinish:x},{default:w(()=>[i(s(lt),{"has-feedback":"",name:"note"},{default:w(()=>[i(s(rt),{value:m.note,"onUpdate:value":t[3]||(t[3]=o=>m.note=o),rows:4,placeholder:"مثلاً سایز یا جزئیات سفارش"},null,8,["value"])]),_:1}),t[15]||(t[15]=e("button",{type:"submit",class:"sheet__cta"},"ثبت توضیحات",-1))]),_:1},8,["model"])])]),_:1},8,["visible"])):h("",!0),i(N,{show:a.notify,"onUpdate:show":t[5]||(t[5]=o=>a.notify=o),art:"order",title:"آیا مطمئن به ثبت سفارش هستید؟",description:"پس از ثبت، وضعیت سفارش را می توانید از بخش سفارش ها پیگیری کنید.","confirm-text":"بله","cancel-text":"بی خیال",onConfirm:$},null,8,["show"]),i(N,{show:y.value,"onUpdate:show":t[6]||(t[6]=o=>y.value=o),art:"login",title:"برای ثبت سفارش وارد شوید",description:"برای ثبت سفارش ابتدا باید وارد حساب کاربری خود شوید. سبد خرید شما حفظ می شود.","confirm-text":"ورود/ثبت نام","cancel-text":"بیخیال",onConfirm:t[7]||(t[7]=o=>s(c).push({name:"login"}))},null,8,["show"])])}}}),Zt=E(Lt,[["__scopeId","data-v-52605369"]]);export{Zt as default};
|