1import{_ as tt}from"./Cu3F01sb.js";import{d as st,f as ot,h as et,i as L,u as ct,k as at,l as f,o as v,m as e,e as n,t as l,F as N,x as M,p as O,q as T,B as nt,E as it,C as I,G as m,_ as rt}from"./rNMPrltl.js";/* empty css *//* empty css *//* empty css */import{_ as lt}from"./BlRCviZe.js";import{g as dt}from"./amgjlrLq.js";import{m as ut,p as A,e as ht,f as w,u as pt,h as _t}from"./CiocIsmi.js";import{m as mt}from"./DjFGz9xC.js";import{r as U,a as S}from"./reULBR4r.js";import{i as ft,a as vt,b as yt,h as kt,c as gt}from"./CYscabox.js";import{h as Nt}from"./nXLEEgK9.js";import{b as Mt,c as C,d as q,e as Y,f as F}from"./BoKaWBEY.js";import{u as Ot}from"./C-CKqwmZ.js";import{c as Ct,a as bt}from"./C2IpH1DR.js";import{u as Pt}from"./CUF8NFeV.js";const $t={class:"shop-cart-mobile-container"},Lt={class:"cart-header"},Tt={class:"cart-title"},It={key:0,class:"cart-points"},At={class:"points-label"},wt=["src"],Ut={class:"points-value"},St={key:1,class:"cart-points-placeholder"},qt={key:0,class:"cart-list-wrapper"},Yt={class:"list-header"},Ft=["src","onClick"],Et={class:"list-title"},Bt={class:"union-name"},Rt={class:"list-suffix"},Vt=["onClick"],Qt=["src"],Dt={class:"list-items"},Ht=["src","onClick"],Kt={class:"item-image"},zt={class:"item-info"},Gt={class:"item-name"},jt={class:"item-purchase-row"},Jt={class:"purchase-method-label"},Wt={class:"pay-option"},Xt=["src"],Zt={class:"item-price"},xt={class:"item-right-group"},ts={class:"quantity-modifier"},ss=["src","onClick"],os={class:"qty-value"},es=["src","onClick"],cs={class:"item-actions"},as=["onClick"],ns=["src"],is=["onClick"],rs=["src"],ls={class:"list-settlement"},ds={class:"settlement-left"},us={class:"selected-count"},hs={class:"count-num"},ps={class:"subtotal-row"},_s={class:"subtotal-label"},ms={class:"subtotal-amount"},fs=["onClick"],vs={key:1,class:"empty-cart"},ys=st({__name:"mobile",setup(ks){const{t:i}=ot(),{getPath:E}=Pt(),b=et(),{toggleFavorite:B}=Ot(),P=Mt(),g=L(null),u=L([]),R=[{value:"ONLY_AMOUNT",label:i("shop.paymentPurchase"),icon:ut},{value:"ONLY_POINT",label:i("shop.pointExchange"),icon:A},{value:"AMOUNT_POINT",label:i("shop.paymentPlusPoints"),icon:mt}];ct({title:i("shop.cart")});const V=c=>{const o=c.payMethod||"ONLY_AMOUNT",t=P.value;if(o==="ONLY_AMOUNT")return`$${C(t,c)}`;if(o==="ONLY_POINT")return`${q(t,c)} ${i("shop.points")}`;if(o==="AMOUNT_POINT"){const s=Y(t,c),a=F(t,c);return`$${s} + ${a} ${i("shop.points")}`}return`$${C(t,c)}`},Q=c=>c.items.filter(o=>o.checked!==!1).length,D=c=>{const o=c.items.filter(a=>a.checked!==!1);let t=0,s=0;return o.forEach(a=>{var d;const r=(d=a.quantity)!=null?d:1,p=a.payMethod||"ONLY_AMOUNT",h=P.value;p==="ONLY_AMOUNT"?t+=C(h,a)*r:p==="ONLY_POINT"?s+=q(h,a)*r:p==="AMOUNT_POINT"&&(t+=Y(h,a)*r,s+=F(h,a)*r)}),t>0&&s>0?`HK$${t} + ${s} ${i("shop.points")}`:s>0?`${s} ${i("shop.points")}`:`HK$${t}`},H=c=>{const o=u.value[c],t=!o.checked;o.checked=t,o.items.forEach(s=>s.checked=t)},K=(c,o)=>{const t=u.value[c].items[o];t.checked=!t.checked;const s=u.value[c];s.checked=s.items.every(a=>a.checked)},z=async c=>{var t;const o=u.value[c];if((t=o==null?void 0:o.items)!=null&&t.length)try{const s=o.items.map(r=>w({productId:r.productId||r.id||"",payMethod:r.payMethod||"ONLY_AMOUNT"}));(await Promise.all(s)).every(Boolean)?(m.success("æ¸
空æå"),await k()):m.error("æ¸
空失败")}catch{m.error("æ¸
空失败")}},G=async(c,o,t)=>{const s=u.value[c].items[o],a=s.productId||s.id,r=s.payMethod||"ONLY_AMOUNT";if(!(!a||t===r))try{await _t({productId:a,oldPayMethod:r,newPayMethod:t})?(m.success("ä¿®æ¹æå"),await k()):m.error("ä¿®æ¹å¤±è´¥")}catch{m.error("ä¿®æ¹å¤±è´¥")}},$=async(c,o,t)=>{const s=u.value[c].items[o],a=s.productId||s.id,r=s.payMethod||"ONLY_AMOUNT";if(a)try{await pt({productId:a,payMethod:r,quantity:t})?await k():m.error("ä¿®æ¹å¤±è´¥")}catch{m.error("ä¿®æ¹å¤±è´¥")}},j=(c,o)=>{var a,r;const t=u.value[c].items[o],s=Math.max(1,((a=t.quantity)!=null?a:1)-1);s!==((r=t.quantity)!=null?r:1)&&$(c,o,s)},J=(c,o)=>{var a;const s=((a=u.value[c].items[o].quantity)!=null?a:1)+1;$(c,o,s)},W=async(c,o)=>{const t=u.value[c].items[o],s=t.productId||t.id;if(!s)return;await B(String(s),!!t.favorite)&&(t.favorite=!t.favorite)},X=async(c,o)=>{const t=u.value[c].items[o],s=t.productId||t.id;if(s)try{await w({productId:s,payMethod:t.payMethod||"ONLY_AMOUNT"})?(m.success("å 餿å"),await k()):m.error("å é¤å¤±è´¥")}catch{m.error("å é¤å¤±è´¥")}},Z=c=>{const t=u.value[c].items.filter(s=>s.checked!==!1);if(t.length===0){m.warning(i("shop.checkoutSelectAtLeastOne"));return}Ct(),bt(t.map(s=>({productId:String(s.productId||s.id||""),payMethod:String(s.payMethod||"ONLY_AMOUNT")}
1))),b.push({path:E("/shop/checkout")})},x=async()=>{var c;try{const o=await dt();g.value=(c=o==null?void 0:o.availablePoint)!=null?c:0}catch{g.value=null}},k=async()=>{try{const c=await ht();if(!c||c.length===0){u.value=[];return}const o=new Map;c.forEach(t=>{const s=t.deptId||t.deptName||"default",a=t.deptName||"å·¥æ";o.has(s)||o.set(s,{unionId:s,unionName:a,checked:!0,items:[]}),o.get(s).items.push({...t,checked:!0,favorite:t.favoriteFlag==="1"})}),u.value=Array.from(o.values())}catch{u.value=[]}};return at(()=>{x(),k()}),(c,o)=>{var r;const t=tt,s=nt,a=it;return v(),f("div",$t,[e("div",Lt,[e("img",{src:lt,class:"back-icon",alt:"è¿å",onClick:o[0]||(o[0]=p=>n(b).back())}),e("h1",Tt,l(n(i)("shop.cart")),1),n(g)!==null?(v(),f("div",It,[e("span",At,l(n(i)("shop.userPoint")),1),e("img",{src:n(A),class:"points-icon",alt:""},null,8,wt),e("span",Ut,l(((r=n(g))!=null?r:0).toLocaleString()),1)])):(v(),f("div",St))]),n(u).length>0?(v(),f("div",qt,[(v(!0),f(N,null,M(n(u),(p,h)=>(v(),f("div",{key:h,class:"cart-list-card"},[e("div",Yt,[e("img",{src:p.checked?n(U):n(S),class:"radio-icon",alt:"",onClick:d=>H(h)},null,8,Ft),e("span",Et,[e("span",Bt,l(p.unionName),1),e("span",Rt,l(n(i)("shop.cartListSuffix")),1)]),e("button",{class:"clear-btn",onClick:d=>z(h)},[e("img",{src:n(ft),class:"clear-icon",alt:""},null,8,Qt),e("span",null,l(n(i)("shop.cartClear")),1)],8,Vt)]),e("div",Dt,[(v(!0),f(N,null,M(p.items,(d,y)=>(v(),f("div",{key:d.id||y,class:"cart-item"},[e("img",{src:d.checked?n(U):n(S),class:"radio-icon",alt:"",onClick:_=>K(h,y)},null,8,Ht),e("div",Kt,[O(t,{src:d.publicizeImage||d.image||d.productImage,class:"img",alt:""},null,8,["src"])]),e("div",zt,[e("div",Gt,l(d.productName||d.name||""),1),e("div",jt,[e("span",Jt,l(n(i)("shop.cartPurchaseMethod")),1),O(a,{"model-value":d.payMethod||"ONLY_AMOUNT",class:"pay-method-select","popper-class":"cart-pay-method-dropdown cart-pay-method-dropdown-mobile","onUpdate:modelValue":_=>G(h,y,_)},{default:T(()=>[(v(),f(N,null,M(R,_=>O(s,{key:_.value,label:_.label,value:_.value},{default:T(()=>[e("div",Wt,[e("img",{src:_.icon,class:"pay-option-icon",alt:""},null,8,Xt),e("span",null,l(_.label),1)])]),_:2},1032,["label","value"])),64))]),_:1},8,["model-value","onUpdate:modelValue"]),e("span",Zt,l(V(d)),1)])]),e("div",xt,[e("div",ts,[e("img",{src:n(vt),class:"qty-icon",alt:"",onClick:_=>j(h,y)},null,8,ss),e("span",os,l(d.quantity||1),1),e("img",{src:n(yt),class:"qty-icon",alt:"",onClick:_=>J(h,y)},null,8,es)]),e("div",cs,[e("div",{class:"action-btn",onClick:_=>W(h,y)},[e("img",{src:d.favorite?n(Nt):n(kt),class:"action-icon",alt:""},null,8,ns)],8,as),e("div",{class:"action-btn",onClick:_=>X(h,y)},[e("img",{src:n(gt),class:"action-icon",alt:""},null,8,rs)],8,is)])])]))),128))]),e("div",ls,[e("div",ds,[e("span",us,[I(l(n(i)("shop.cartSelectedBefore"))+" ",1),e("span",hs,l(Q(p)),1),I(" "+l(n(i)("shop.cartSelectedAfter")),1)]),e("span",ps,[e("span",_s,l(n(i)("shop.cartSubtotal")),1),e("span",ms,l(D(p)),1)])]),e("button",{class:"checkout-btn",onClick:d=>Z(h)},l(n(i)("shop.cartCheckout")),9,fs)])]))),128))])):(v(),f("div",vs,l(n(i)("common.noData")),1))])}}}),Ys=rt(ys,[["__scopeId","data-v-a542acfb"]]);export{Ys as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.