2 lines
3.5 KiB
JavaScript
2 lines
3.5 KiB
JavaScript
import{a as V,b as $}from"./case-C97jSxNP.js";import{P as z}from"./PortalBreadcrumb-BcLGJAMu.js";import{r as B}from"./media-BgGGvhcR.js";import{d as N,l as x,o as A,w as F,b as a,e as s,m as R,t as r,p as u,i as y,F as b,h as k,k as _,r as d,f as I,u as q,g as t,y as E,z as U,R as D,A as M,_ as T}from"./index-eVF4AHSu.js";import"./pagination-BgSlm-mj.js";import"./product-xndN8QNU.js";const Q={class:"case-list-page"},j={class:"cl-banner"},G={class:"container"},H={class:"title-lg"},J={class:"banner-desc"},K={class:"container"},O={class:"cl-chips"},W=["onClick"],X={key:0,class:"loading-state"},Y={key:1,class:"cl-grid"},ee={class:"case-card__image"},se=["src","alt"],te={key:1,class:"placeholder-cover"},ae={class:"case-card__info"},oe={class:"case-card__meta"},ce={key:0,class:"case-card__tag"},ne={key:1,class:"case-card__location"},re={class:"case-card__title"},le={key:0,class:"case-card__desc muted"},ie={key:2,class:"empty-state"},de={key:3,class:"pagination-bar"},ue=["disabled"],_e=["onClick"],ve=["disabled"],he=N({__name:"CaseListView",setup(pe){const{t:i}=x(),m=M(),Z=q(),f=d([]),l=d({records:[],total:0,current:1,pages:0}),v=d(!1),L=d(9),n=d(1),h=I(()=>{const o=m.query.categoryId;if(!o||Array.isArray(o))return;const c=Number.parseInt(String(o),10);return Number.isFinite(c)?c:void 0}),S=I(()=>[{label:i("nav.home"),to:"/"},{label:i("cases.title")}]);function C(o){return B(o.coverImage??void 0)}async function p(){v.value=!0;try{l.value=await $({categoryId:h.value,page:n.value,size:L.value})}catch(o){console.error("[CaseListView]",o),l.value={records:[],total:0,current:1,pages:0}}finally{v.value=!1}}function w(o){n.value=1,Z.push({path:"/cases",query:o?{categoryId:String(o)}:{}})}function g(o){n.value=o,p(),window.scrollTo({top:0,behavior:"smooth"})}return A(async()=>{f.value=await V(),await p()}),F(()=>m.query.categoryId,()=>{n.value=1,p()}),(o,c)=>(t(),a("div",Q,[s("section",j,[s("div",G,[R(z,{items:S.value},null,8,["items"]),c[3]||(c[3]=s("div",{class:"kicker-en"},"CASE STUDIES",-1)),s("h1",H,r(u(i)("cases.title")),1),s("p",J,r(u(i)("cases.subtitle")),1)])]),s("div",K,[s("div",O,[s("button",{type:"button",class:y(["chip-btn",{active:h.value===void 0}]),onClick:c[0]||(c[0]=e=>w())}," 全部 ",2),(t(!0),a(b,null,k(f.value,e=>(t(),a("button",{key:e.id,type:"button",class:y(["chip-btn",{active:h.value===e.id}]),onClick:P=>w(e.id)},r(e.nameZh),11,W))),128))]),v.value?(t(),a("div",X,"加载中...")):l.value.records.length?(t(),a("div",Y,[(t(!0),a(b,null,k(l.value.records,e=>(t(),E(u(D),{key:e.id,class:"case-card",to:`/cases/${e.id}`},{default:U(()=>[s("div",ee,[C(e)?(t(),a("img",{key:0,src:C(e),alt:e.titleZh,loading:"lazy"},null,8,se)):(t(),a("div",te)),c[4]||(c[4]=s("div",{class:"case-card__overlay"},[s("span",{class:"case-card__view"},"查看详情")],-1))]),s("div",ae,[s("div",oe,[e.categoryLabelZh?(t(),a("span",ce,r(e.categoryLabelZh),1)):_("",!0),e.locationZh?(t(),a("span",ne,r(e.locationZh),1)):_("",!0)]),s("h3",re,r(e.titleZh),1),e.subtitleZh?(t(),a("p",le,r(e.subtitleZh),1)):_("",!0)])]),_:2},1032,["to"]))),128))])):(t(),a("div",ie,r(u(i)("cases.empty")),1)),l.value.pages>1?(t(),a("div",de,[s("button",{class:"page-btn",disabled:n.value<=1,onClick:c[1]||(c[1]=e=>g(n.value-1))},"上一页",8,ue),(t(!0),a(b,null,k(l.value.pages,e=>(t(),a("button",{key:e,class:y(["page-btn",{active:e===n.value}]),onClick:P=>g(e)},r(e),11,_e))),128)),s("button",{class:"page-btn",disabled:n.value>=l.value.pages,onClick:c[2]||(c[2]=e=>g(n.value+1))},"下一页",8,ve)])):_("",!0)])]))}}),Ce=T(he,[["__scopeId","data-v-3b95a39e"]]);export{Ce as default};
|