| 1 |
- import{d as a,C as e,c as s,Q as l,o as t,R as u,a as o,b as r,w as c,i as n,g as i,f as d,h as m,j as f,k as v,m as p,F as g,n as _,z as y,t as k,u as b,y as h,v as C,T as j,s as x}from"./index-C1kRunFF.js";import{u as q}from"./usePaged.Duq9Ewgz.js";import{c as w,d as P,i as I,q as D,t as R,r as T}from"./cart.D6H4eANe.js";import{m as z,g as A,t as F}from"./format.D7Ah6vn5.js";import{P as M}from"./PackageCard.D16XCEv1.js";import{P as Q}from"./PageState.CBFV4zpS.js";import{_ as S}from"./_plugin-vue_export-helper.BCo6x5W8.js";const U=S(a({__name:"index",setup(a){const S=e("all"),U=s(()=>{var a;return(null==(a=B.value)?void 0:a.categories)??[{value:"all",label:"全部"}]}),{data:B,items:E,loading:G,error:H,hasMore:J,load:K}=q(async a=>await i("/packages",{page:a,category:"all"},!1));l(E,a=>T(a));const L=s(()=>"all"===S.value?E.value:E.value.filter(a=>a.category===S.value)),N=s(()=>w.items.length),O=s(()=>w.items.reduce((a,e)=>a+e.quantity,0)),V=s(()=>w.items.reduce((a,e)=>a+e.quantity*e.product.price_cents,0));function W(a){R(a)}function X(){j()}function Y(){var a;const e=null==(a=x.configuration)?void 0:a.purchase_agreement_url;e?A("/pages/common/web?url="+encodeURIComponent(e)):F("购买须知暂未配置")}return t(()=>{K(!0)}),u(()=>K()),o(()=>K(!0)),(a,e)=>{const s=n,l=v,t=h;return d(),r(s,{class:"page package-page"},{default:c(()=>[m(s,{class:"package-header"},{default:c(()=>[m(s,{class:"back-button","aria-label":"返回",onClick:X},{default:c(()=>[f("‹")]),_:1}),m(l,{class:"header-title"},{default:c(()=>[f("套餐专区")]),_:1}),m(s,{class:"purchase-link",onClick:Y},{default:c(()=>[f("购买须知")]),_:1})]),_:1}),m(s,{class:"category-tabs"},{default:c(()=>[(d(!0),p(g,null,_(U.value,a=>(d(),r(s,{key:a.value,class:y(["category-tab",{active:S.value===a.value}]),onClick:e=>{var s;(s=a.value)!==S.value&&(S.value=s)}},{default:c(()=>[f(k(a.label),1)]),_:2},1032,["class","onClick"]))),128))]),_:1}),m(s,{class:"selection-hint"},{default:c(()=>[m(l,{class:"hint-icon"},{default:c(()=>[f("✓")]),_:1}),m(l,null,{default:c(()=>[f("在列表直接勾选多个套餐,数量也可以马上调整;点击名称可查看详情")]),_:1})]),_:1}),(d(!0),p(g,null,_(L.value,(a,e)=>(d(),r(M,{key:a.id,item:a,featured:0===e,action:"",selected:b(D)(a.id)>0,quantity:b(D)(a.id),onToggle:W,onIncrease:b(I),onDecrease:b(P)},null,8,["item","featured","selected","quantity","onIncrease","onDecrease"]))),128)),m(Q,{loading:b(G),error:b(H),empty:!L.value.length,"empty-text":"暂无可购买套餐",onRetry:e[0]||(e[0]=a=>b(K)(!0))},null,8,["loading","error","empty"]),b(J)&&!b(G)?(d(),r(t,{key:0,class:"load-more",onClick:e[1]||(e[1]=a=>b(K)())},{default:c(()=>[f("加载更多")]),_:1})):C("",!0),m(s,{class:"fixed-action packages-footer"},{default:c(()=>[N.value?(d(),r(s,{key:0,class:"selection-note"},{default:c(()=>[f(" 已选 "+k(N.value)+" 种套餐,共 "+k(O.value)+" 件,可合并下单并一次支付 ",1)]),_:1})):C("",!0),m(s,{class:"summary-row"},{default:c(()=>[m(s,{class:"summary-total"},{default:c(()=>[m(s,{class:"summary-label"},{default:c(()=>[f(k(N.value)+"项合计",1)]),_:1}),m(s,{class:"summary-amount"},{default:c(()=>[f("¥"+k(b(z)(V.value)),1)]),_:1})]),_:1}),m(t,{class:y(["order-button",{disabled:!N.value}]),disabled:!N.value,onClick:e[2]||(e[2]=a=>b(A)("/pages/packages/cart"))},{default:c(()=>[f(" 查看订单 · "+k(N.value),1)]),_:1},8,["class","disabled"])]),_:1})]),_:1})]),_:1})}}}),[["__scopeId","data-v-f0d6cefe"]]);export{U as default};
|