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.
1 line
5.1 KiB
1 line
5.1 KiB
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6127],{78189:function(e,n,r){r.r(n);var t=r(7557),s=r.n(t),u=r(37205),o=r.n(u),i=r(41498),l=r.n(i),a=r(82242),c=r.n(a),d=r(79800),p=r.n(d),g=r(59301),f=r(33936),h=r(3113),x=r(8591),_=r(28103),v=r(24905),m=r(5112),j=r(51945),y=r(86859),k=r(30584),Z=r(60036),I=r(67444),w=r(40362),C=r(84666),S=r(78303),E=r(68010),b=r(16379),P=r(6154),G=r(54985),N=r(37712),R=[b.Z,P.Z,G.Z];n.default=(0,f.connect)((function(e){return{user:e.user}}))((function(e){var n,r,t=e.user,u=(0,g.useState)(c()(c()({},(0,f.useParams)()),{},{page:1,per_page:10,rank_type:1,course_group:(0,k.dE)()?[t.userInfo.course.course_group_id]:[]})),i=p()(u,2),a=i[0],d=i[1],b=(0,g.useState)([]),P=p()(b,2),G=P[0],z=P[1],A=(0,g.useState)([]),T=p()(A,2),V=T[0],B=T[1],D=(0,g.useState)([]),F=p()(D,2),J=F[0],L=F[1];function M(e){return O.apply(this,arguments)}function O(){return(O=l()(s()().mark((function e(n){var r,t;return s()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,I.ZP)("/api/courses/rank_list.json",{method:"get",params:c()(c()({},a),{},{id:a.coursesId})});case 2:r=e.sent,z(r),0===(null==r?void 0:r.status)&&((0,k.dE)()?(1===n&&B([null==r||null===(t=r.course_group)||void 0===t||null===(t=t[0])||void 0===t?void 0:t.id]),null!=r&&r.my_rank?L([null==r?void 0:r.my_rank].concat(o()(null==r?void 0:r.rank_list))):L(o()(null==r?void 0:r.rank_list))):L(o()(null==r?void 0:r.rank_list)));case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return(0,g.useEffect)((function(){var e;null!=t&&null!==(e=t.userInfo)&&void 0!==e&&e.course&&((0,k.dE)()&&(a.course_group=(0,k.dE)()?[t.userInfo.course.course_group_id]:[],d(c()({},a))),M(1))}),[null==t?void 0:t.userInfo]),(0,N.jsxs)("div",{style:{width:1200,margin:"0px auto"},children:[(0,N.jsxs)("aside",{className:[Z.Z.title,"mt20"].join(" "),children:[(0,N.jsx)(f.Link,{to:"/classrooms/".concat(a.coursesId,"/program_homework"),children:(0,N.jsx)(w.Z,{className:"font16 c-black"})}),(0,N.jsx)("strong",{className:"font20 ml5",children:"排行榜"}),(0,k.GJ)()&&(0,N.jsx)("span",{style:{color:"#0152d9",textAlign:"end",flex:1,cursor:"pointer"},children:(0,N.jsx)(h.ZP,{onClick:function(){-1!==(null==G?void 0:G.status)?(0,S.VY)(c()(c()({},a),{},{id:a.coursesId})):x.ZP.warning("当前暂无数据")},children:"导出"})})]}),(0,N.jsxs)("div",{style:{background:"#fff",marginTop:10,padding:40},children:[(0,N.jsx)("div",{children:(0,N.jsxs)("p",{style:{color:"#165DFF",fontSize:18,fontWeight:400},children:[(0,N.jsx)("img",{width:20,src:E.Z,style:{marginRight:5}})," 课堂排行榜 ",(0,N.jsx)("span",{style:{fontSize:14,color:"#B1BACD"},children:"本排行榜根据通过题数进行排名"})]})}),(0,N.jsx)(_.Z,{}),(0,N.jsxs)("div",{style:{display:"inline-flex"},children:[(0,N.jsx)("label",{children:"分班情况:"}),(0,k.GJ)()&&(0,N.jsx)("div",{style:{flex:1},children:(0,N.jsxs)(v.Z.Group,{className:Z.Z.checkboxgroup,value:V,onChange:function(e){if(1===a.type)B([]),a.course_group=[],a.page=1,d(c()({},a)),M();else if(2===a.type){var n;B(["全部"].concat()),a.course_group=null==G||null===(n=G.course_group)||void 0===n?void 0:n.map((function(e){return e.id})),a.page=1,d(c()({},a)),M()}else B(o()(e.filter((function(e){return"全部"!=e})))),a.course_group=e.filter((function(e){return"全部"!=e})),a.page=1,d(c()({},a)),M()},children:[(0,N.jsx)(v.Z,{value:"全部",onChange:function(e){e.target.checked?a.type=2:a.type=1},children:"全部分班"}),null==G||null===(n=G.course_group)||void 0===n?void 0:n.map((function(e,n){return(0,N.jsx)(v.Z,{onChange:function(e){a.type=3},value:e.id,children:null==e?void 0:e.name})}))]})}),(0,k.dE)()&&(0,N.jsxs)(m.ZP.Group,{style:{flex:"1"},onChange:function(e){"全部"===e.target.value?(a.course_group=[],a.page=1,d(c()({},a)),M()):(a.course_group=[e.target.value],a.page=1,d(c()({},a)),M())},defaultValue:t.userInfo.course.course_group_id,children:[(0,N.jsx)(m.ZP,{value:"全部",children:"全部分班"}),null==G||null===(r=G.course_group)||void 0===r?void 0:r.map((function(e,n){return(0,N.jsx)(m.ZP,{value:e.id,children:e.name})}))]})]}),(0,N.jsx)(j.Z,{style:{marginTop:10},pagination:!1,dataSource:J,rowClassName:function(e,n){return 0===n&&(0,k.dE)()&&Z.Z.tables},columns:[{title:"排行",dataIndex:"rank",render:function(e,n,r){return e<4?(0,N.jsx)("img",{src:R[e-1]}):e}},{title:"用户",dataIndex:"user_name",key:"user_name",render:function(e,n,r){return(0,N.jsxs)("div",{children:[(0,N.jsx)("img",{style:{width:30,height:30,borderRadius:"50%",marginRight:10},src:C.Z.IMG_SERVER+"/images/"+(null==n?void 0:n.image_url)}),e]})}},{title:"学号",dataIndex:"student_id",key:"student_id",render:function(e){return e||"- -"}},{title:"分班",dataIndex:"course_group",key:"course_group"},{title:"通过题数",dataIndex:"passed_count",key:"passed_count"},{title:"做题数",dataIndex:"do_count",key:"do_count"},{title:"通过率",dataIndex:"passed_rate",key:"passed_rate"}]}),(0,N.jsx)("div",{style:{width:"100%",textAlign:"center",marginTop:10},children:(0,N.jsx)(y.Z,{current:a.page,pageSize:a.per_page,total:null==G?void 0:G.count,hideOnSinglePage:!0,onChange:function(e,n){a.page=e,a.per_page=n,d(c()({},a)),M()}})})]})]})}))}}]); |