2 lines
3.5 KiB
JavaScript
2 lines
3.5 KiB
JavaScript
import{f as P,a as V}from"./news-Bx-JnXBe.js";import{P as z}from"./PortalBreadcrumb-BcLGJAMu.js";import{r as B}from"./media-BgGGvhcR.js";import{d as F,l as R,o as x,w as A,b as n,e as a,m as D,t as l,p as d,i as p,F as y,h as m,k as w,r as u,f as N,u as M,g as o,y as q,z as E,R as O,A as U,_ as Q}from"./index-eVF4AHSu.js";import"./pagination-BgSlm-mj.js";const T={class:"news-list-page"},W={class:"nl-banner"},Y={class:"container"},j={class:"title-lg"},G={class:"banner-desc"},H={class:"container"},J={class:"nl-chips"},K=["onClick"],X={key:0,class:"loading-state"},ee={key:1,class:"nl-list"},se={class:"news-thumb"},te=["src","alt"],ae={key:1,class:"placeholder-cover"},oe={class:"news-body"},ne={class:"news-meta"},re={key:0,class:"news-category"},le={class:"news-date"},ie={class:"news-title"},ce={key:0,class:"news-summary muted"},ue={key:2,class:"empty-state"},de={key:3,class:"pagination-bar"},ve=["disabled"],_e=["onClick"],he=["disabled"],ge=F({__name:"NewsListView",setup(pe){const{t:c}=R(),b=U(),I=M(),f=u([]),i=u({records:[],total:0,current:1,pages:0}),v=u(!1),$=u(10),r=u(1),_=N(()=>{const s=b.query.categoryId;if(!s||Array.isArray(s))return;const t=Number.parseInt(String(s),10);return Number.isFinite(t)?t:void 0}),S=N(()=>[{label:c("nav.home"),to:"/"},{label:c("news.title")}]);function k(s){return B(s??void 0)}function Z(s){if(!s)return"";const t=new Date(s);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}async function h(){v.value=!0;try{i.value=await V({categoryId:_.value,page:r.value,size:$.value})}catch(s){console.error("[NewsListView]",s),i.value={records:[],total:0,current:1,pages:0}}finally{v.value=!1}}function C(s){r.value=1,I.push({path:"/news",query:s?{categoryId:String(s)}:{}})}function g(s){r.value=s,h(),window.scrollTo({top:0,behavior:"smooth"})}return x(async()=>{f.value=await P(),await h()}),A(()=>b.query.categoryId,()=>{r.value=1,h()}),(s,t)=>(o(),n("div",T,[a("section",W,[a("div",Y,[D(z,{items:S.value},null,8,["items"]),t[3]||(t[3]=a("div",{class:"kicker-en"},"NEWSROOM",-1)),a("h1",j,l(d(c)("news.title")),1),a("p",G,l(d(c)("news.subtitle")),1)])]),a("div",H,[a("div",J,[a("button",{type:"button",class:p(["chip-btn",{active:_.value===void 0}]),onClick:t[0]||(t[0]=e=>C())},"全部",2),(o(!0),n(y,null,m(f.value,e=>(o(),n("button",{key:e.id,type:"button",class:p(["chip-btn",{active:_.value===e.id}]),onClick:L=>C(e.id)},l(e.nameZh),11,K))),128))]),v.value?(o(),n("div",X,"加载中...")):i.value.records.length?(o(),n("div",ee,[(o(!0),n(y,null,m(i.value.records,e=>(o(),q(d(O),{key:e.id,class:"news-item",to:`/news/${e.id}`},{default:E(()=>[a("div",se,[k(e.coverImage)?(o(),n("img",{key:0,src:k(e.coverImage),alt:e.titleZh,loading:"lazy"},null,8,te)):(o(),n("div",ae))]),a("div",oe,[a("div",ne,[e.categoryZh?(o(),n("span",re,l(e.categoryZh),1)):w("",!0),a("span",le,l(Z(e.publishedAt)),1)]),a("h3",ie,l(e.titleZh),1),e.summaryZh?(o(),n("p",ce,l(e.summaryZh),1)):w("",!0)])]),_:2},1032,["to"]))),128))])):(o(),n("div",ue,l(d(c)("news.empty")),1)),i.value.pages>1?(o(),n("div",de,[a("button",{class:"page-btn",disabled:r.value<=1,onClick:t[1]||(t[1]=e=>g(r.value-1))},"上一页",8,ve),(o(!0),n(y,null,m(i.value.pages,e=>(o(),n("button",{key:e,class:p(["page-btn",{active:e===r.value}]),onClick:L=>g(e)},l(e),11,_e))),128)),a("button",{class:"page-btn",disabled:r.value>=i.value.pages,onClick:t[2]||(t[2]=e=>g(r.value+1))},"下一页",8,he)])):w("",!0)])]))}}),ke=Q(ge,[["__scopeId","data-v-79354306"]]);export{ke as default};
|