You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2 lines
2.8 KiB
2 lines
2.8 KiB
import{d as a,e as s,o as t,O as l,P as e,j as c,k as i,s as n,m as u,n as o,p as r,t as d,v as f,y as m,F as _,z as v,C as p,x as y,D as k,E as g,J as b,K as h}from"./index-BIuhrOm4.js";import{a as C,g as j}from"./content.CEXCli_J.js";import{P as w}from"./poster.DLiVsUXX.js";import{_ as x}from"./_plugin-vue_export-helper.BCo6x5W8.js";const P=x(a({__name:"index",setup(a){const x=s(!0),P=s([]);async function A(){x.value=!0;try{const[a,s]=await Promise.all([C(),j().catch(()=>null)]),t=Array.isArray(a)?a:[],l=function(a){const s={};for(const t of(null==a?void 0:a.district)??[]){const a=(t.value||"").trim();a&&(s[a]=(t.label||"").trim()||a)}return s}(s);P.value=function(a,s){return a.map(a=>{const t=(a.district||"").trim(),l=t?s[t]??t:"";return{id:a.id,name:a.name||"未命名场馆",district:l,cover_image:a.cover_image||null,liveCount:0}}).sort((a,s)=>s.liveCount-a.liveCount)}(t,l)}catch(a){n({title:(null==a?void 0:a.message)||"加载失败",icon:"none"}),P.value=[]}finally{x.value=!1}}return t(()=>{A()}),l(async()=>{try{await A()}finally{e()}}),(a,s)=>{const t=u,l=d,e=k;return o(),c(t,{class:"page"},{default:i(()=>[r(t,{class:"section-title"},{default:i(()=>[r(t,{class:"section-title-left"},{default:i(()=>[r(t,{class:"bar"}),r(l,{class:"title"},{default:i(()=>[f("今日客流量统计")]),_:1})]),_:1}),r(l,{class:"title-hint"},{default:i(()=>[f("纳入市科协人数统计系统场馆")]),_:1})]),_:1}),x.value&&!P.value.length?(o(),c(t,{key:0,class:"state"},{default:i(()=>[f("加载中…")]),_:1})):P.value.length?(o(),c(t,{key:2,class:"list"},{default:i(()=>[(o(!0),m(_,null,v(P.value,(a,s)=>(o(),c(t,{key:a.id,class:p(["row",{"is-top1":0===s,"is-top2":1===s,"is-top3":2===s}]),onClick:s=>{var t;(t=a.id)&&h({url:`/pages/venue/detail?id=${t}`})}},{default:i(()=>[r(t,{class:"rank-wrap"},{default:i(()=>[s<3?(o(),c(t,{key:0,class:p(["medal","m"+(s+1)])},{default:i(()=>[f(y(s+1),1)]),_:2},1032,["class"])):(o(),c(l,{key:1,class:"rank-num"},{default:i(()=>[f(y(s+1),1)]),_:2},1024))]),_:2},1024),r(e,{class:"thumb",src:a.cover_image||g(w),mode:"aspectFill"},null,8,["src"]),r(t,{class:"mid"},{default:i(()=>[r(l,{class:"name"},{default:i(()=>[f(y(a.name),1)]),_:2},1024),a.district?(o(),c(l,{key:0,class:"district"},{default:i(()=>[f(y(a.district),1)]),_:2},1024)):b("",!0)]),_:2},1024),r(t,{class:"count-block"},{default:i(()=>[r(l,{class:"count-label"},{default:i(()=>[f("实时人数")]),_:1}),r(t,{class:"count-row"},{default:i(()=>[r(l,{class:"count"},{default:i(()=>[f(y(a.liveCount.toLocaleString()),1)]),_:2},1024),r(l,{class:"unit"},{default:i(()=>[f("人")]),_:1})]),_:2},1024)]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))]),_:1})):(o(),c(t,{key:1,class:"state muted"},{default:i(()=>[f("暂无已上架场馆")]),_:1})),r(t,{class:"bottom-safe"})]),_:1})}}}),[["__scopeId","data-v-cfb8be68"]]);export{P as default};
|