index.f503f08a.js 4.4 KB

1
  1. import{d as C,$ as j,am as A,h as U,V as m,an as S,ao as E,a as t,I as l,ap as F,G as w,H as B,j as u,E as D,x as k,C as y}from"./vendor.e11273e1.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{I as _}from"./icon_teacher.cb128c00.js";import{r as x,s as T}from"./index.fafa2309.js";const V="_headImg_144mo_1",R="_tabs_144mo_4",q="_tabContent_144mo_27",M="_itemContent_144mo_34",N="_item_144mo_34",$="_left_144mo_47",H="_center_144mo_53",O="_right_144mo_56",G="_fraction_144mo_60",P="_time_144mo_65",z="_user_144mo_76",J="_name_144mo_79",K="_tag_144mo_84",Q="_activeUser_144mo_95",W="_avator_144mo_115",X="_btn_144mo_120",Y="_num_144mo_126";var e={headImg:V,tabs:R,tabContent:q,itemContent:M,item:N,left:$,center:H,right:O,fraction:G,time:P,user:z,name:J,tag:K,activeUser:Q,avator:W,btn:X,num:Y},Z="./assets/icon-trophy.61957a4c.png",tt="./assets/icon-emtry.76ea3a6a.png";function et(c){return typeof c=="function"||Object.prototype.toString.call(c)==="[object Object]"&&!k(c)}var lt=C({name:"leaderboard",setup(){const c=j();A();const i=U({tabIndex:0,musicList:[],isSignup:!1}),L=async()=>{try{const{data:s}=await x.post(`/api-student/open/activity/info/${c.query.id}`);Array.isArray(s.activityMusicVoList)&&(i.musicList=s.activityMusicVoList.map(a=>(a.rankingList=[],a.loaded=!1,a))),g.value=s.subjectUrl,i.isSignup=!!s.join}catch{}},f=async()=>{if(!i.musicList[i.tabIndex].loaded)try{const{data:s}=await x.get("/api-student/open/activityEvaluationRecord/queryRankingList",{params:{activityPlanId:c.query.id,activityEvaluationId:i.musicList[i.tabIndex].evaluationId,limit:10}});Array.isArray(s.rankingList)&&(i.musicList[i.tabIndex].rankingList=s.rankingList,i.musicList[i.tabIndex].loaded=!0)}catch{}},g=m(),p=m(!1),b=m(100);S(async()=>{await L(),await f()});const r=E(()=>{var d,I;if(!i.musicList[i.tabIndex])return{};const s=T.user.data;if(!s.userId)return{};const a=i.musicList[i.tabIndex],n=(d=a==null?void 0:a.rankingList)==null?void 0:d.find(v=>v.userId==s.userId);let o=(I=a==null?void 0:a.rankingList)==null?void 0:I.findIndex(v=>v.userId==s.userId);return o=o>-1?o+1:0,{join:a.join,score:a.score,isTop:!!n,heardUrl:s.heardUrl,username:s.username,userId:s.userId,step:o}}),h=m();return()=>{let s;return t("div",{class:e.leaderboard},[t("div",{class:e.container},[t("div",{class:e.headImg,ref:h},[t(l,{width:"100%",fit:"cover",src:g.value,onLoad:a=>{F(()=>{var n;p.value=!0,b.value=((n=h.value)==null?void 0:n.offsetHeight)||100})},onError:a=>{console.log(a)}},null)]),p.value&&t(w,{active:i.tabIndex,"onUpdate:active":a=>i.tabIndex=a,class:e.tabs,animated:!0,swipeable:!0,titleInactiveColor:"rgba(153,152,155,1)",titleActiveColor:"#fff",onChange:a=>f()},et(s=i.musicList.map(a=>t(B,{title:a.musicSheetName},{default:()=>[t("div",{class:e.tabContent,style:{height:`calc(100vh - ${b.value}px)`}},[t("div",{class:e.itemContent},[t("div",{class:e.item},[t("div",{class:e.left},[u("\u6392\u540D")]),t("div",{class:e.center},[u("\u6635\u79F0")]),t("div",{class:e.right},[u("\u8BC4\u5206")])]),a.rankingList.map((n,o)=>{const d=(o+1).toString().padStart(2,"0");return t("div",{class:e.item},[t("div",{class:e.left},[o==0?t(l,{src:Z},null):d]),t("div",{class:e.center},[t(l,{width:"34px",height:"34px",fit:"cover",round:!0,src:n.userAvatar||_},null),t("div",{class:e.user},[t("div",{class:e.name},[n.username]),t("div",{class:e.tag},[t("span",null,[n.userSubject])])])]),t("div",{class:e.right},[t("div",{class:e.fraction},[n.score,u("\u5206")]),t("div",{class:e.time},[n.joinDate])])])}),!a.rankingList.length&&t(D,{image:tt,description:"\u8BE5\u66F2\u76EE\u6682\u65E0\u6392\u540D\u5594\uFF5E"},null)])])]})))?s:{default:()=>[s]}),i.isSignup?r.value.join?t("div",{class:[e.activeUser,"van-safe-area-bottom"]},[t(y,{center:!0,title:r.value.username},{icon:()=>t(l,{class:e.avator,fit:"cover",round:!0,src:r.value.heardUrl||_},null),label:()=>r.value.isTop?t("div",null,[u("\u60A8\u7684\u8BC4\u6D4B\u5DF2\u4E0A\u699C! \u5F53\u524D\u6392\u540D"),t("span",{style:{color:"#FA6400"}},[" ",r.value.step])]):t("div",null,[u("\u60A8\u7684\u8BC4\u6D4B\u6682\u672A\u4E0A\u699C\uFF0C\u5FEB\u53BB\u6311\u6218\u5427\uFF01")]),value:()=>t("span",{class:e.num},[r.value.score,u("\u5206")])})]):null:t("div",{class:[e.activeUser,"van-safe-area-bottom"]},[t(y,{center:!0,title:r.value.username,label:"\u60A8\u5C1A\u672A\u62A5\u540D\u53C2\u8D5B"},{icon:()=>t(l,{class:e.avator,fit:"cover",round:!0,src:r.value.heardUrl||_},null)})])])])}}});export{lt as default};