import{_ as e,r as a,J as l,c,w as s,i as t,a as i,e as n,f as o,h as r,F as d,b as u,t as v,d as f,k as m,I as p,S as g,m as y,B as _,p as h,n as k,x as b}from"./index-DF3kK8Jo.js";const $=e({__name:"list",setup(e){const $=a(""),K=a("all"),C=[{value:"all",label:"全部"},{value:"covid",label:"新冠疫苗"},{value:"flu",label:"流感疫苗"},{value:"hpv",label:"HPV疫苗"},{value:"child",label:"儿童疫苗"}],w=a([{id:1,nameKey:"vaccine.list.covid.name",descKey:"vaccine.list.covid.desc",image:"/static/vaccine/covid.jpg",price:0,recommended:!0,category:"covid"},{id:2,nameKey:"vaccine.list.flu.name",descKey:"vaccine.list.flu.desc",image:"/static/vaccine/flu.jpg",price:180,seasonal:!0,category:"flu"},{id:3,nameKey:"vaccine.list.hpv.name",descKey:"vaccine.list.hpv.desc",image:"/static/vaccine/hpv.jpg",price:2800,recommended:!0,category:"hpv"}]),x=a(1),j=a(!0),V=a(!1),F=l(()=>{let e=w.value;if($.value){const a=$.value.toLowerCase();e=e.filter(e=>e.nameKey.toLowerCase().includes(a)||e.descKey.toLowerCase().includes(a))}return"all"!==K.value&&(e=e.filter(e=>e.category===K.value)),e}),L=()=>{V.value=!0,x.value=1,P(),setTimeout(()=>{V.value=!1},1e3)},I=()=>{j.value&&(x.value++,P())},P=()=>{setTimeout(()=>{x.value>=3&&(j.value=!1)},1e3)};return(e,a)=>{const l=m,w=p,x=t,P=g,S=y,T=b;return i(),c(x,{class:"vaccine-list-container"},{default:s(()=>[n(x,{class:"filter-bar"},{default:s(()=>[n(x,{class:"search-box"},{default:s(()=>[n(l,{class:"iconfont icon-search"}),n(w,{type:"text",placeholder:e.$t("vaccine.search.placeholder"),modelValue:$.value,"onUpdate:modelValue":a[0]||(a[0]=e=>$.value=e)},null,8,["placeholder","modelValue"])]),_:1}),n(P,{"scroll-x":"",class:"category-scroll","show-scrollbar":!1},{default:s(()=>[n(x,{class:"category-list"},{default:s(()=>[(i(),o(d,null,r(C,(a,c)=>n(l,{key:c,class:_({active:K.value===a.value}),onClick:e=>(e=>{K.value=e})(a.value)},{default:s(()=>[u(v(e.$t(`vaccine.category.${a.value}`)),1)]),_:2},1032,["class","onClick"])),64))]),_:1})]),_:1})]),_:1}),n(P,{"scroll-y":"",class:"vaccine-list","refresher-enabled":"","refresher-triggered":V.value,onRefresherrefresh:L,onScrolltolower:I},{default:s(()=>[(i(!0),o(d,null,r(F.value,(a,t)=>(i(),c(x,{class:"vaccine-item card",key:t,onClick:e=>(e=>{k({url:`/pages/vaccine/detail?id=${e.id}`})})(a)},{default:s(()=>[n(S,{src:a.image,mode:"aspectFill",class:"vaccine-image"},null,8,["src"]),n(x,{class:"info"},{default:s(()=>[n(x,{class:"name-wrap"},{default:s(()=>[n(l,{class:"name"},{default:s(()=>[u(v(e.$t(a.nameKey)),1)]),_:2},1024),n(x,{class:"tags"},{default:s(()=>[0===a.price?(i(),c(l,{key:0,class:"tag free"},{default:s(()=>[u(v(e.$t("vaccine.tag.free")),1)]),_:1})):f("",!0),a.recommended?(i(),c(l,{key:1,class:"tag recommended"},{default:s(()=>[u(v(e.$t("vaccine.tag.recommended")),1)]),_:1})):f("",!0),a.seasonal?(i(),c(l,{key:2,class:"tag seasonal"},{default:s(()=>[u(v(e.$t("vaccine.tag.seasonal")),1)]),_:1})):f("",!0)]),_:2},1024)]),_:2},1024),n(l,{class:"desc"},{default:s(()=>[u(v(e.$t(a.descKey)),1)]),_:2},1024),n(x,{class:"footer"},{default:s(()=>[n(x,{class:"price-info"},{default:s(()=>[a.price>0?(i(),c(l,{key:0,class:"price"},{default:s(()=>[u("MOP "+v(a.price),1)]),_:2},1024)):(i(),c(l,{key:1,class:"free"},{default:s(()=>[u(v(e.$t("vaccine.free")),1)]),_:1}))]),_:2},1024),n(T,{class:"book-btn primary-btn",onClick:h(e=>(e=>{k({url:`/pages/vaccine/book?id=${e.id}`})})(a),["stop"])},{default:s(()=>[u(v(e.$t("vaccine.book")),1)]),_:2},1032,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1032,["onClick"]))),128)),j.value?(i(),c(x,{key:0,class:"load-more"},{default:s(()=>[n(l,null,{default:s(()=>[u(v(e.$t("common.loading")),1)]),_:1})]),_:1})):f("",!0),0===F.value.length?(i(),c(x,{key:1,class:"empty-state"},{default:s(()=>[n(S,{src:"/static/empty/no-vaccine.png",mode:"aspectFit"}),n(l,null,{default:s(()=>[u("暂无相关疫苗")]),_:1})]),_:1})):f("",!0)]),_:1},8,["refresher-triggered"])]),_:1})}}},[["__scopeId","data-v-53648a05"]]);export{$ as default};
|