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