index.83e08c6e.js 4.2 KB

1
  1. import{d as x,$ as C,am as q,h as L,V as _,an as j,ao as A,a as t,I as m,G as D,H as B,j as u,E as F,x as U,C as w}from"./vendor.138103cd.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{i as h}from"./icon_teacher.40b6f077.js";import{r as b,s as E}from"./index.1773970e.js";const S="_headImg_l5yqu_1",T="_tabs_l5yqu_4",k="_tabContent_l5yqu_27",V="_itemContent_l5yqu_34",N="_item_l5yqu_34",R="_left_l5yqu_45",$="_center_l5yqu_50",M="_right_l5yqu_53",H="_fraction_l5yqu_57",O="_time_l5yqu_62",G="_user_l5yqu_73",P="_name_l5yqu_76",z="_tag_l5yqu_81",J="_activeUser_l5yqu_92",K="_avator_l5yqu_105",Q="_btn_l5yqu_110",W="_num_l5yqu_116";var e={headImg:S,tabs:T,tabContent:k,itemContent:V,item:N,left:R,center:$,right:M,fraction:H,time:O,user:G,name:P,tag:z,activeUser:J,avator:K,btn:Q,num:W},X="./assets/icon-trophy.61957a4c.png",Y="./assets/icon-emtry.76ea3a6a.png";function Z(o){return typeof o=="function"||Object.prototype.toString.call(o)==="[object Object]"&&!U(o)}var ct=x({name:"leaderboard",setup(){const o=C();q();const i=L({tabIndex:0,musicList:[]}),I=async()=>{try{const{data:{activityMusicVoList:s,shareUrl:a}}=await b.post(`/api-student/open/activity/info/${o.query.id}`);Array.isArray(s)&&(i.musicList=s.map(n=>(n.rankingList=[],n.loaded=!1,n))),y.value=a}catch{}},p=async()=>{if(!i.musicList[i.tabIndex].loaded)try{const{data:s}=await b.get("/api-student/open/activityEvaluationRecord/queryRankingList",{params:{activityPlanId:o.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{}},y=_(),g=_(!1),f=_(42);j(async()=>{await I(),await p()});const r=A(()=>{var l,d;if(!i.musicList[i.tabIndex])return{};const s=E.user.data;if(!s.userId)return{};const a=i.musicList[i.tabIndex],n=(l=a==null?void 0:a.rankingList)==null?void 0:l.find(v=>v.userId==s.userId);let c=(d=a==null?void 0:a.rankingList)==null?void 0:d.findIndex(v=>v.userId==s.userId);return c=c>-1?c+1:0,{join:a.join,score:a.score,isTop:!!n,heardUrl:s.heardUrl,username:s.username,userId:s.userId,step:c}});return()=>{let s;return t("div",{class:e.leaderboard},[t("div",{class:e.container},[t("div",{class:e.headImg},[t(m,{width:"100%",fit:"cover",src:y.value,onLoad:a=>{f.value=a.target.height,g.value=!0}},null)]),g.value&&t(D,{active:i.tabIndex,"onUpdate:active":a=>i.tabIndex=a,class:e.tabs,animated:!0,swipeable:!0,titleInactiveColor:"#fff",titleActiveColor:"rgba(224,146,144,1)",onChange:a=>p()},Z(s=i.musicList.map(a=>t(B,{title:a.musicSheetName},{default:()=>[t("div",{class:e.tabContent,style:{height:`calc(100vh - ${f.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,c)=>{const l=(c+1).toString().padStart(2,"0"),d=(n.joinDate+"").split(" ")[0];return t("div",{class:e.item},[t("div",{class:e.left},[c==0?t(m,{src:X},null):l]),t("div",{class:e.center},[t(m,{width:"34px",height:"34px",fit:"cover",round:!0,src:n.userAvatar||h},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},[d])])])}),!a.rankingList.length&&t(F,{image:Y,description:"\u8BE5\u66F2\u76EE\u6682\u65E0\u6392\u540D\u5594\uFF5E"},null)])])]})))?s:{default:()=>[s]}),r.value.userId&&t("div",{class:e.activeUser},[t(w,{center:!0,title:r.value.username},{icon:()=>t(m,{class:e.avator,fit:"cover",round:!0,src:r.value.heardUrl||h},null),label:()=>r.value.join?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")]):t("div",null,[u("\u60A8\u5C1A\u672A\u62A5\u540D\u53C2\u8D5B")]),value:()=>{if(r.value.join)return t("span",{class:e.num},[r.value.score,u("\u5206")])}})])])])}}});export{ct as default};