| 1 |
- import{d as C,$ as L,am as j,h as A,V as d,an as D,ao as U,a as t,I as m,ap as B,G as E,H as F,j as o,E as w,x as k,C as S}from"./vendor.d01bfccb.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{I}from"./icon_teacher.cb128c00.js";import{r as y,s as T}from"./index.c43ced84.js";const R="_headImg_4ip46_1",V="_tabs_4ip46_4",q="_tabContent_4ip46_27",N="_itemContent_4ip46_34",$="_item_4ip46_34",H="_left_4ip46_46",M="_center_4ip46_51",O="_right_4ip46_54",G="_fraction_4ip46_58",P="_time_4ip46_63",z="_user_4ip46_74",J="_name_4ip46_77",K="_tag_4ip46_82",Q="_activeUser_4ip46_93",W="_avator_4ip46_107",X="_btn_4ip46_112",Y="_num_4ip46_118";var e={headImg:R,tabs:V,tabContent:q,itemContent:N,item:$,left:H,center:M,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=L();j();const i=A({tabIndex:0,musicList:[]}),x=async()=>{try{const{data:{activityMusicVoList:s,shareUrl:a,subjectUrl:n}}=await y.post(`/api-student/open/activity/info/${c.query.id}`);Array.isArray(s)&&(i.musicList=s.map(r=>(r.rankingList=[],r.loaded=!1,r))),_.value=n}catch{}},p=async()=>{if(!i.musicList[i.tabIndex].loaded)try{const{data:s}=await y.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{}},_=d(),f=d(!1),g=d(100);D(async()=>{await x(),await p()});const u=U(()=>{var l,h;if(!i.musicList[i.tabIndex])return{};const s=T.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 r=(h=a==null?void 0:a.rankingList)==null?void 0:h.findIndex(v=>v.userId==s.userId);return r=r>-1?r+1:0,{join:a.join,score:a.score,isTop:!!n,heardUrl:s.heardUrl,username:s.username,userId:s.userId,step:r}}),b=d();return()=>{let s;return t("div",{class:e.leaderboard},[t("div",{class:e.container},[t("div",{class:e.headImg,ref:b},[t(m,{width:"100%",fit:"cover",src:_.value,onLoad:a=>{B(()=>{var n;f.value=!0,g.value=((n=b.value)==null?void 0:n.offsetHeight)||100})},onError:a=>{console.log(a)}},null)]),f.value&&t(E,{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()},et(s=i.musicList.map(a=>t(F,{title:a.musicSheetName},{default:()=>[t("div",{class:e.tabContent,style:{height:`calc(100vh - ${g.value}px)`}},[t("div",{class:e.itemContent},[t("div",{class:e.item},[t("div",{class:e.left},[o("\u6392\u540D")]),t("div",{class:e.center},[o("\u6635\u79F0")]),t("div",{class:e.right},[o("\u8BC4\u5206")])]),a.rankingList.map((n,r)=>{const l=(r+1).toString().padStart(2,"0");return t("div",{class:e.item},[t("div",{class:e.left},[r==0?t(m,{src:Z},null):l]),t("div",{class:e.center},[t(m,{width:"34px",height:"34px",fit:"cover",round:!0,src:n.userAvatar||I},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,o("\u5206")]),t("div",{class:e.time},[n.joinDate])])])}),!a.rankingList.length&&t(w,{image:tt,description:"\u8BE5\u66F2\u76EE\u6682\u65E0\u6392\u540D\u5594\uFF5E"},null)])])]})))?s:{default:()=>[s]}),u.value.userId&&t("div",{class:[e.activeUser,"van-safe-area-bottom"]},[t(S,{center:!0,title:u.value.username},{icon:()=>t(m,{class:e.avator,fit:"cover",round:!0,src:u.value.heardUrl||I},null),label:()=>u.value.join?u.value.isTop?t("div",null,[o("\u60A8\u7684\u8BC4\u6D4B\u5DF2\u4E0A\u699C! \u5F53\u524D\u6392\u540D"),t("span",{style:{color:"#FA6400"}},[" ",u.value.step])]):t("div",null,[o("\u60A8\u7684\u8BC4\u6D4B\u6682\u672A\u4E0A\u699C\uFF0C\u5FEB\u53BB\u6311\u6218\u5427\uFF01")]):t("div",null,[o("\u60A8\u5C1A\u672A\u62A5\u540D\u53C2\u8D5B")]),value:()=>{if(u.value.join)return t("span",{class:e.num},[u.value.score,o("\u5206")])}})])])])}}});export{lt as default};
|