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.
NewEduCoderBuild/p__Classrooms__Lists__Atten...

1 line
31 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[28435],{22845:function(e,t,s){var n=s(82242),a=s.n(n),i=(s(59301),s(19779)),o=s(3113),r=s(37712);t.Z=function(e){var t=e.img,s=e.buttonProps,n=void 0===s?{}:s,c=e.styles,l=void 0===c?{}:c,d=e.customText,u=e.ButtonText,m=e.ButtonClick,p=e.Buttonclass,h=e.ButtonTwo,f=e.imgStyles,x=e.loading,g=void 0!==x&&x;return(0,r.jsxs)("section",{className:"tc animated fadeIn",style:a()(a()({},{color:"#999",margin:"100px auto",visibility:g?"hidden":"visible"}),l),children:[(0,r.jsx)("img",{src:t||i,style:a()({width:288,height:200},f)}),(0,r.jsx)("p",{className:"mt20 font14",children:d||"暂时还没有相关数据哦!"}),u&&(0,r.jsx)(o.ZP,a()(a()({className:p,onClick:m},n),{},{children:u})),h&&h]})}},18221:function(e,t,s){s.r(t),s.d(t,{default:function(){return je}});var n=s(37205),a=s.n(n),i=s(7557),o=s.n(i),r=s(41498),c=s.n(r),l=s(82242),d=s.n(l),u=s(79800),m=s.n(u),p=s(59301),h=s(96707),f=s(24905),x=s(3113),g=s(8591),_=s(56511),j=s(95237),v=s(43604),y=s(6848),b=s(93948),Z=s(53864),L=s(57809),k=s(22845),C=s(42441),w={topStatistics:"topStatistics___AALo4",tooltip:"tooltip___jIywH",name:"name___Mx_XR",filter:"filter___FMp9h",daoke:"daoke___lZ8Ea",qingjia:"qingjia___z5rWW",kuangke:"kuangke___LxWOi"},N=s(37712),S=(0,h.connect)((function(e){var t=e.classroomList,s=e.loading,n=e.teachers;return{classroomList:t,globalSetting:e.globalSetting,teachers:n,loading:s.effects}}))((function(e){var t,s,n=e.classroomList,a=(e.globalSetting,e.loading,e.teachers,e.dispatch),i=(0,h.useParams)(),o=((0,h.useLocation)(),(0,p.useState)("0")),r=m()(o,2),c=(r[0],r[1],(0,p.useState)(null)),l=m()(c,2),u=l[0],f=l[1];i.id=i.coursesId;var x=n.detailAttendancesStatistic,g=n.courseGroups,_=function(){a({type:"classroomList/getClassroomAttendancesStatistic",payload:d()(d()({},i),{},{group_id:u})})};(0,p.useEffect)((function(){_()}),[i.categoryId]),console.log("groutid",u);var y,b,Z,S;return(0,N.jsxs)("section",{className:"mt20 pb30",children:[(0,N.jsxs)(j.Z,{className:w.topStatistics,justify:"space-between",children:[(0,N.jsx)(v.Z,{flex:"209px",children:Math.round((null==x?void 0:x.all_history_count)||0)}),(0,N.jsx)(v.Z,{flex:"209px",children:(0,N.jsxs)(N.Fragment,{children:[Math.round(100*((null==x?void 0:x.avg_normal_rate)||0)),"%"]})}),(0,N.jsx)(v.Z,{flex:"209px",children:(0,N.jsxs)(N.Fragment,{children:[Math.round(100*((null==x?void 0:x.avg_absence_rate)||0)),"%"]})}),(0,N.jsx)(v.Z,{flex:"209px",children:(0,N.jsxs)(N.Fragment,{children:[Math.round(100*((null==x?void 0:x.avg_leave_rate)||0)),"%"]})})]}),(0,N.jsxs)("section",{className:"bg-white pl30 pr30 pt30 mt20 pb20",children:[(0,N.jsxs)(j.Z,{gutter:[22,22],className:w.filter,children:[(0,N.jsxs)(v.Z,{flex:1,children:[(0,N.jsxs)("span",{children:[(0,N.jsx)("i",{className:[w.daoke,"mr10"].join(" ")}),"到课率"]}),(0,N.jsxs)("span",{className:"ml40",children:[(0,N.jsx)("i",{className:[w.kuangke,"mr10"].join(" ")}),"旷课率"]}),(0,N.jsxs)("span",{className:"ml40",children:[(0,N.jsx)("i",{className:[w.qingjia,"mr10"].join(" ")}),"请假率"]})]}),(0,N.jsxs)(v.Z,{children:[(0,N.jsx)("span",{className:"c-light-black mr5",children:"显示最近十次签到"}),(0,N.jsxs)(L.default,{size:"middle",defaultValue:"",onSelect:function(e){u=e,f(e),_()},children:[(0,N.jsx)(L.default.Option,{value:"",children:" 全部分班 "}),null==g||null===(t=g.course_groups)||void 0===t?void 0:t.map((function(e,t){return(0,N.jsxs)(L.default.Option,{value:e.id,children:[" ",e.name," "]})}))]})]})]}),null!=x&&null!==(s=x.history_attendances)&&void 0!==s&&s.length?(0,N.jsx)(C.Z,{option:{tooltip:{trigger:"axis",formatter:function(e){var t=e[0].dataIndex,s=null==x?void 0:x.history_attendances[t];return'<div class="'.concat(w.tooltip,'">\n <p><span><i class="name ').concat(w.name,'">').concat(s.name,"</i> ").concat(s.attendance_date," ").concat(s.start_time,"-").concat(s.end_time,'</span><p>\n <p><span><i class="').concat(w.daoke,'"></i>到课率:').concat(Math.round(e[0].value),'%</span><br/><p>\n <p><span><i class="').concat(w.kuangke,'"></i>旷课率:').concat(Math.round(e[1].value),'%</span><br/><p>\n <p><span><i class="').concat(w.qingjia,'"></i>请假率:').concat(Math.round(e[2].value),"%</span><br/><p>\n </div>")}},legend:{data:["到课率","旷课率","请假率"],show:!1},xAxis:{type:"category",nameRotate:45,data:null==x||null===(y=x.history_attendances)||void 0===y?void 0:y.map((function(e,t){var s=e.name;return s.length>6&&(s=s.substr(0,6)+"..."),s})),boundaryGap:!1,nameLocation:"start",axisLabel:{interval:0,rotate:"45",verticalAlign:"top",align:"left",margin:28,height:120,textStyle:{align:"center",color:"#999"}}},yAxis:{type:"value",axisLabel:{formatter:"{value}%"},splitLine:{lineStyle:{type:"dashed"}}},series:[{name:"到课率",data:null==x||null===(b=x.history_attendances)||void 0===b?void 0:b.map((function(e,t){return 100*e.normal_rate})),type:"line",smooth:!0,color:"#26C7C9"},{name:"旷课率",data:null==x||null===(Z=x.history_attendances)||void 0===Z?void 0:Z.map((function(e,t){return 100*e.absence_rate})),type:"line",smooth:!0,color:"#FF835C"},{name:"请假率",data:null==x||null===(S=x.history_attendances)||void 0===S?void 0:S.map((function(e,t){return 100*e.leave_rate})),type:"line",smooth:!0,color:"#EDBA6F"}]},style:{height:370},opts:{renderer:"svg"}}):(0,N.jsx)(k.Z,{styles:{marginTop:50,paddingBottom:50}})]})]})})),T=s(43418),I=s(51836),A=(0,h.connect)((function(e){return{classroomList:e.classroomList}}))((function(e){var t=e.classroomList,s=e.dispatch,n=(e.cb,(0,h.useParams)());return n.id=n.coursesId,(0,N.jsx)(T.Z,{centered:!0,title:"提示",open:"删除"===t.actionTabs.key,okText:"确定",cancelText:"取消",onOk:c()(o()().mark((function e(){var a;return o()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a="/api/weapps/attendances/".concat(t.actionTabs.selectArrs[0],".json"),e.next=3,(0,I.ZP)(a,{method:"delete"});case 3:0===e.sent.status&&(g.ZP.success("删除成功"),s({type:"classroomList/setActionTabs",payload:{}}),s({type:"classroomList/getClassroomAttendancesList",payload:d()({},t.actionTabs.params)}),s({type:"classroomList/getClassroomLeftMenus",payload:{id:n.coursesId}}));case 5:case"end":return e.stop()}}),e)}))),onCancel:function(){s({type:"classroomList/setActionTabs",payload:{}})},children:(0,N.jsx)("p",{children:"是否确认删除?"})})})),H=(0,h.connect)((function(e){return{classroomList:e.classroomList}}))((function(e){var t=e.classroomList,s=e.dispatch,n=(e.cb,(0,h.useParams)());return n.id=n.coursesId,(0,N.jsx)(T.Z,{centered:!0,title:"提示",open:"截止"===t.actionTabs.key,okText:"确定",cancelText:"取消",onOk:c()(o()().mark((function e(){return o()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=3,(0,I.ZP)("/api/weapps/attendances/".concat(t.actionTabs.selectArrs[0],"/end.json"),{method:"post"});case 3:0===e.sent.status&&(g.ZP.success("操作成功"),s({type:"classroomList/setActionTabs",payload:{}}),s({type:"classroomList/getClassroomAttendancesList",payload:d()({},t.actionTabs.params)}));case 5:case"end":return e.stop()}}),e)}))),onCancel:function(){s({type:"classroomList/setActionTabs",payload:{}})},children:(0,N.jsx)("p",{children:"是否确认截止?"})})})),M=s(85573),P=s.n(M),E=s(98228),D=s(78241),F=s(71418),B=s(98135),G=s(5112),z=s(84291),Y=s(70407),R=s(99232),q=s.n(R),O=s(76279),V="listItem___E6c2h",U="addForm___T9yJu",Q="GroupIds___KQ_iP",J="attendanceCode___OciEu",K="signInStatus___zJts9",W="colorE02020___PMh7T",X="color0152d9___rRMTC",$="colorFA6400___r3ujc",ee="attend___mY5tE",te="title___AzpMG",se="not_start___GFAXt",ne="ongoing___iFf_3",ae="history___uoHNV",ie=E.Z.TreeNode,oe=(0,h.connect)((function(e){return{classroomList:e.classroomList,loading:e.loading}}))((function(e){var t=e.classroomList,s=e.loading,n=e.dispatch,a=e.data,i=(0,p.useState)(!1),r=m()(i,2),l=r[0],u=r[1],f=(0,h.useParams)();f.id=f.coursesId,(0,p.useEffect)((function(){"编辑"===t.actionTabs.key&&(y.resetFields(),n({type:"classroomList/getCourseGroups",payload:{id:f.id,limit:1e4}}),a.id&&x())}),[t.actionTabs.key]);var x=function(){var e=c()(o()().mark((function e(){var t;return o()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n({type:"classroomList/getAttendanceDetail",payload:{id:a.id}});case 2:t=e.sent,y.setFieldsValue(P()(P()(P()(P()(P()(P()(P()({},"name",t.name),"mode","QRCODE"===t.mode?"":t.mode),"attendance_date",q()(t.attendance_date)),"group_ids",t.groups?t.groups.map((function(e){return e.id})):[]),"end_time",q()(t.end_time)),"start_time",q()(t.start_time)),"late_time",t.late_time?q()(t.late_time):null));case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),_=t.detailAttendancesDetail,j=t.courseGroups,v=D.Z.useForm(),y=m()(v,1)[0],b=[];t.courseGroups.course_groups&&t.courseGroups.course_groups.map((function(e){return b.push(e.id+"")}));return(0,N.jsxs)(T.Z,{centered:!0,title:"修改签到",open:"编辑"===t.actionTabs.key,okText:"立即修改",cancelText:"暂不修改",confirmLoading:l,afterClose:function(){return u(!1)},bodyStyle:{minHeight:200},onOk:c()(o()().mark((function e(){var s,i;return o()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.log(l,22),e.t0=d(),e.t1={},e.next=5,y.validateFields();case 5:if(e.t2=e.sent,(s=(0,e.t0)(e.t1,e.t2)).end_time=q()(s.end_time).format("HH:mm"),s.start_time=q()(s.start_time).format("HH:mm"),s.late_time=q()(s.late_time).format("HH:mm"),s.attendance_date=q()(s.attendance_date).format("YYYY-MM-DD"),!(s.end_time>=s.late_time)){e.next=14;break}return g.ZP.warning("迟到时间不能早于或等于结束时间"),e.abrupt("return");case 14:return u(!0),e.next=17,(0,I.ZP)("/api/attendances/".concat(a.id,".json"),{method:"put",body:d()({},s)});case 17:0===(i=e.sent).status&&(g.ZP.success("修改成功"),n({type:"classroomList/setActionTabs",payload:{}}),n({type:"classroomList/getClassroomAttendancesList",payload:d()({},t.actionTabs.params)})),-1===i.status&&u(!1);case 20:case"end":return e.stop()}}),e)}))),onCancel:function(){n({type:"classroomList/setActionTabs",payload:{}})},children:[s.effects["classroomList/getCourseGroups"]&&(0,N.jsx)("div",{className:"tc mt40",children:(0,N.jsx)(F.Z,{})}),_.groups&&(0,N.jsx)("section",{className:U,children:(0,N.jsxs)(D.Z,{form:y,children:[(0,N.jsx)(D.Z.Item,{label:"签到名称",name:"name",rules:[{required:!0,message:"请输入!"}],children:(0,N.jsx)(B.Z,{placeholder:"请输入签到名称",size:"middle"})}),(0,N.jsx)(D.Z.Item,{label:"签到方式",name:"mode",rules:[{required:!0,message:"请输入!"}],children:(0,N.jsxs)(G.ZP.Group,{size:"middle",children:[(0,N.jsx)(G.ZP,{value:"QUICK",children:"快捷签到"}),(0,N.jsx)(G.ZP,{value:"NUMBER",children:"签到码签到"})]})}),(0,N.jsx)(D.Z.Item,{label:"签到班级",name:"group_ids",children:(0,N.jsx)(E.Z,{showSearch:!0,style:{width:"100%"},dropdownStyle:{maxHeight:260,overflow:"auto"},placeholder:"已选择全部分班",treeDefaultExpandAll:!0,treeCheckable:!0,size:"middle",disabled:!0,children:j.course_groups&&j.course_groups.map((function(e,t){return(0,N.jsx)(ie,{value:e.id,title:e.name},t)}))})}),(0,N.jsx)(D.Z.Item,{label:"签到日期",name:"attendance_date",rules:[{required:!0,message:"请输入!"}],children:(0,N.jsx)(z.default,{placeholder:"请选择日期",size:"middle",format:"YYYY-MM-DD"})}),(0,N.jsx)(D.Z.Item,{label:"开始时间",name:"start_time",rules:[{required:!0,message:"请选择开始时间!"}],children:(0,N.jsx)(Y.Z,{className:"w100",size:"middle",minuteStep:1,format:"HH:mm",onChange:function(){y.setFieldsValue({end_time:"",late_time:""})}})}),(0,N.jsx)(D.Z.Item,{label:"结束时间",name:"end_time",rules:[{required:!0,message:"请选择结束时间!"}],children:(0,N.jsx)(Y.Z,{disabledHours:function(){var e=y.getFieldValue("start_time");if(e){var t=parseInt(q()(e).format("HH"));return(0,O.Sp)(0,23).splice(0,t)}},disabledMinutes:function(e){var t=y.getFieldValue("start_time");if(t){var s=parseInt(q()(t).format("mm"));return parseInt(q()(t).format("HH"))===e?(0,O.Sp)(0,59).splice(0,s):[]}},className:"w100",size:"middle",minuteStep:1,format:"HH:mm"})}),(0,N.jsx)(D.Z.Item,{label:"迟到时间",name:"late_time",style:{marginBottom:2},children:(0,N.jsx)(Y.Z,{className:"w100",size:"middle",minuteStep:1,format:"HH:mm"})}),(0,N.jsx)("div",{style:{paddingLeft:102,color:"#999"},children:"在结束时间至迟到时间签到的同学记为迟到"})]})})]})})),re=s(39324),ce=s(26724),le=s.n(ce),de=(L.default.TreeNode,(0,h.connect)((function(e){return{classroomList:e.classroomList}}))((function(e){var t=e.classroomList,s=e.dispatch,n=D.Z.useForm(),i=m()(n,1)[0],r=(0,h.useParams)();r.id=r.coursesId;var l=(0,p.useState)(1),u=m()(l,2),x=u[0],_=u[1],j=(0,p.useState)([]),v=m()(j,2),y=v[0],b=v[1],Z=(0,p.useState)(0),k=m()(Z,2),C=k[0],w=k[1],S=(0,p.useState)(20),A=m()(S,2),H=A[0],M=(A[1],(0,p.useState)(!0)),E=m()(M,2),R=E[0],V=E[1],J=(0,p.useState)(!1),K=m()(J,2),W=K[0],X=K[1],$=(0,p.useRef)([]),ee=(0,p.useState)(!1),te=m()(ee,2),se=te[0],ne=te[1];t.courseGroups;(0,p.useEffect)((function(){"新增签到"===t.actionTabs.key&&(document.body.setAttribute("style","height: 100%;"),ae(),i.resetFields())}),[t.actionTabs.key]),(0,p.useEffect)((function(){i.setFieldsValue(P()(P()(P()(P()(P()(P()({},"name","课程签到"+q()(new Date).format("YYYYMMDD")),"mode","QUICK"),"attendance_date",q()(new Date)),"start_time",q()(new Date)),"end_time",q()(new Date).add(5,"minutes")),"late_time",q()(new Date).add(15,"minutes")))}),[t.actionTabs.key]);var ae=function(){var e=c()(o()().mark((function e(t){var s;return o()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return V(!0),e.next=3,(0,re.qB)(d()(d()({},r),{},{page:t||x,limit:H}));case 3:(s=e.sent)&&(b([].concat(a()(y),a()(null==s?void 0:s.course_groups))),$.current=[].concat(a()(y),a()(null==s?void 0:s.course_groups)),w(null==s?void 0:s.group_count),V(!1));case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),ie=function(){var e=c()(o()().mark((function e(){var t,s,n=arguments;return o()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=n.length>0&&void 0!==n[0]&&n[0],!de||se){e.next=9;break}return ne(!0),_(t?1:x+1),e.next=6,(0,re.qB)(d()(d()({},r),{},{page:x+1,limit:H}));case 6:(s=e.sent)&&(b([].concat(a()(y),a()(null==s?void 0:s.course_groups))),$.current=[].concat(a()(y),a()(null==s?void 0:s.course_groups)),w(null==s?void 0:s.group_count)),ne(!1);case 9:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),oe=function(){document.body.removeAttribute("style"),_(1),b([])},ce=function(){var e=c()(o()().mark((function e(){var n,a,c,l,u;return o()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=d(),e.t1={},e.next=4,i.validateFields();case 4:if(e.t2=e.sent,n=(0,e.t0)(e.t1,e.t2),a=n.group_ids,c=void 0===a?[]:a,l=y.filter((function(e){return c.includes(e.name)})),n.end_time=q()(n.end_time).format("HH:mm"),n.start_time=q()(n.start_time).format("HH:mm"),n.late_time=q()(n.late_time).format("HH:mm"),n.attendance_date=q()(n.attendance_date).format("YYYY-MM-DD"),!(n.end_time>=n.late_time)){e.next=15;break}return g.ZP.warning("迟到时间不能早于或等于结束时间"),e.abrupt("return");case 15:return X(!0),e.next=18,(0,I.ZP)("/api/weapps/courses/".concat(r.id,"/attendances.json"),{method:"post",body:d()(d()({},n),{},{group_ids:l.map((function(e){return e.id}))})});case 18:0===(u=e.sent).status&&(oe(),(0,O.L9)(["教学课堂","签到","创建签到"]),g.ZP.success("添加成功"),s({type:"classroomList/setActionTabs",payload:{}}),s({type:"classroomList/getClassroomAttendancesList",payload:d()({},t.actionTabs.params)}),s({type:"classroomList/getClassroomLeftMenus",payload:{id:r.coursesId}})),-1===u.status&&X(!1);case 21:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),de=C>x*H;return(0,N.jsx)(T.Z,{centered:!0,title:"创建签到",open:"新增签到"===t.actionTabs.key,bodyStyle:{minHeight:200},onOk:ce,afterClose:function(){return X(!1)},confirmLoading:W,onCancel:function(){oe(),s({type:"classroomList/setActionTabs",payload:{}})},children:(0,N.jsx)("section",{className:U,children:(0,N.jsxs)(D.Z,{form:i,initialValues:{start_time:q()("09:00","HH:mm")},onChange:function(){},children:[(0,N.jsx)(D.Z.Item,{label:"签到名称",name:"name",rules:[{required:!0,message:"请输入签到名称!"}],children:(0,N.jsx)(B.Z,{size:"middle",placeholder:"请输入签到名称"})}),(0,N.jsx)(D.Z.Item,{label:"签到班级",name:"group_ids",className:Q,children:(0,N.jsx)(L.default,{showSearch:!1,mode:"multiple",showArrow:!0,style:{width:"100%"},dropdownStyle:{maxHeight:260},size:"middle",placeholder:null!=y&&y.length?"不选择分班时默认选择全部学生":"暂无分班,将默认选择课堂全部学生",dropdownRender:function(){return(0,N.jsx)("div",{style:{maxHeight:260,overflowY:"auto",overflowX:"hidden",padding:"16px 18px 0 18px"},children:(0,N.jsxs)(le(),{initialLoad:!1,pageStart:1,threshold:20,loadMore:function(e){ie()},hasMore:de,useWindow:!1,children:[(0,N.jsx)(D.Z.Item,{name:"group_ids",children:(0,N.jsx)(f.Z.Group,{children:y.map((function(e,t){return(0,N.jsx)("div",{children:(0,N.jsx)(f.Z,{onChange:function(e){},value:String(e.name),defaultChecked:!0,style:{width:430},className:"multi-ellipsis1 multi-ellipsis1-checkbox",children:(0,N.jsx)("span",{children:e.name})},t)},t)}))})}),R&&(0,N.jsx)("div",{style:{display:"flex",justifyContent:"center"},children:(0,N.jsx)(F.Z,{})})]})})}})}),(0,N.jsx)(D.Z.Item,{label:"签到方式",name:"mode",rules:[{required:!0,message:"请输入!"}],children:(0,N.jsxs)(G.ZP.Group,{size:"middle",children:[(0,N.jsx)(G.ZP,{value:"QUICK",children:"快捷签到"}),(0,N.jsx)(G.ZP,{value:"NUMBER",children:"签到码签到"})]})}),(0,N.jsx)(D.Z.Item,{label:"签到日期",name:"attendance_date",rules:[{required:!0,message:"请选择签到方式!"}],children:(0,N.jsx)(z.default,{disabledDate:function(e){return e&&e<q()().startOf("day")},placeholder:"请选择日期",className:"w100",size:"middle",format:"YYYY-MM-DD"})}),(0,N.jsx)(D.Z.Item,{label:"开始时间",name:"start_time",rules:[{required:!0,message:"请选择开始时间!"}],children:(0,N.jsx)(Y.Z,{className:"w100",size:"middle",minuteStep:1,format:"HH:mm",onChange:function(){i.setFieldsValue({end_time:"",late_time:""})}})}),(0,N.jsx)(D.Z.Item,{label:"结束时间",name:"end_time",rules:[{required:!0,message:"请选择结束时间!"}],children:(0,N.jsx)(Y.Z,{disabledHours:function(){var e=i.getFieldValue("start_time");if(e){var t=parseInt(q()(e).format("HH"));return(0,O.Sp)(0,23).splice(0,t)}},disabledMinutes:function(e){var t=i.getFieldValue("start_time");if(t){var s=parseInt(q()(t).format("mm"));return parseInt(q()(t).format("HH"))===e?(0,O.Sp)(0,59).splice(0,s):[]}},className:"w100",size:"middle",minuteStep:1,format:"HH:mm"})}),(0,N.jsx)(D.Z.Item,{label:"迟到时间",name:"late_time",style:{marginBottom:2},children:(0,N.jsx)(Y.Z,{className:"w100",size:"middle",minuteStep:1,format:"HH:mm"})}),(0,N.jsx)("div",{style:{paddingLeft:102,color:"#999"},children:"在结束时间至迟到时间签到的同学记为迟到"})]})})})}))),ue=s(90673),me=s(7276),pe=(0,h.connect)((function(e){return{classroomList:e.classroomList,loading:e.loading}}))((function(e){var t=e.classroomList,s=(e.loading,e.dispatch),n=(e.data,(0,h.useParams)(),(0,p.useState)(!1)),a=m()(n,2),i=a[0],r=a[1],l=(0,p.useState)(""),u=m()(l,2),f=u[0],x=u[1],_=(0,p.useState)(""),y=m()(_,2),b=y[0],Z=y[1],L=t.actionTabs.selectArrs;(0,p.useEffect)((function(){if("立即签到"===t.actionTabs.key){switch(null==L?void 0:L.mode){case"QUICK":x("快捷签到"),w();break;case"NUMBER":x("签到码签到"),r(!0);break;case"QRCODE":x("二维码签到"),ue.toDataURL((null==L?void 0:L.attendance_code)||"",{type:"terminal",margin:1,scale:16},(function(e,t){Z(t)})),r(!0)}C.resetFields()}else r(!1)}),[t.actionTabs.key]);t.detailAttendancesDetail,t.courseGroups;var k=D.Z.useForm(),C=m()(k,1)[0],w=function(){var e=c()(o()().mark((function e(){var n,a;return o()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,C.validateFields();case 2:return n=C.getFieldValue(),e.next=5,(0,re.ZX)({code:null==n?void 0:n.code,attendance_mode:null==L?void 0:L.mode,attendance_id:null==L?void 0:L.id});case 5:0===(null==(a=e.sent)?void 0:a.status)&&(g.ZP.success("签到成功"),S(),s({type:"classroomList/getClassroomAttendancesList",payload:d()({},t.actionTabs.params)})),-1===(null==a?void 0:a.status)&&S();case 8:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),S=function(){s({type:"classroomList/setActionTabs",payload:{}})};return(0,N.jsxs)(T.Z,{centered:!0,title:f,width:620,open:i,onOk:c()(o()().mark((function e(){return o()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:"QRCODE"===(null==L?void 0:L.mode)?S():w();case 1:case"end":return e.stop()}}),e)}))),onCancel:function(){S()},children:["QRCODE"===(null==L?void 0:L.mode)&&(0,N.jsxs)("aside",{className:"",children:[(0,N.jsxs)(j.Z,{align:"middle",justify:"center",children:[(0,N.jsxs)(v.Z,{span:10,className:"tc",children:[(0,N.jsx)("img",{width:200,src:b}),(0,N.jsx)("br",{}),"签到二维码"]}),(0,N.jsx)(v.Z,{span:4}),(0,N.jsxs)(v.Z,{span:10,className:"tc",children:[(0,N.jsx)("img",{width:200,src:me.f$}),(0,N.jsx)("br",{}),"EduCoder小程序二维码"]})]}),(0,N.jsxs)("div",{className:"c-black pl20 pr20 mt20",children:["二维码签到步骤:",(0,N.jsx)("br",{}),"1.打开EduCoder小程序2.进入对应的教学课堂3.进入签到模块4.找到正在进行的签到并点击签到5.扫码签到。"]})]}),"NUMBER"===(null==L?void 0:L.mode)&&(0,N.jsx)("aside",{className:"pt30 pb30",children:(0,N.jsx)(D.Z,{form:C,children:(0,N.jsx)(D.Z.Item,{name:"code",rules:[{required:!0,message:"请输入签到码"}],children:(0,N.jsx)(B.Z,{placeholder:"请输入签到码"})})})})]})})),he=s(22961),fe=s(57265),xe=s(56102),ge=s(53799),_e=f.Z.Group,je=(0,h.connect)((function(e){var t=e.classroomList,s=e.loading;return{classroomList:t,globalSetting:e.globalSetting,loading:s.effects}}))((function(e){var t=e.classroomList,s=e.loading,n=e.dispatch,i=(0,h.useSearchParams)(),r=m()(i,1)[0],l=(0,p.useState)(d()({},(0,h.useParams)())),u=m()(l,1)[0],L=((0,h.useLocation)(),(0,p.useState)("all")),C=m()(L,2),w=C[0],T=C[1],I=t.detailAttendancesList,M=(0,p.useState)({}),P=m()(M,2),E=P[0],D=P[1],F=(0,p.useState)(!1),B=m()(F,2),G=B[0],z=B[1],Y=(0,p.useState)([]),R=m()(Y,2),q=R[0],O=R[1],U=(0,p.useState)(!1),Q=m()(U,2),ie=Q[0];Q[1];u.id=u.coursesId,(0,p.useEffect)((function(){var e=r.get("tabId");e&&(T(e),u.status=e),n({type:"classroomList/getClassroomAttendancesList",payload:d()(d()({},u),{},{status:w,page:1})})}),[u.categoryId,r.get("tabId")]),(0,p.useEffect)((function(){"目录重命名成功"===t.actionTabs.key&&n({type:"classroomList/getClassroomAttendancesList",payload:d()({},u)})}),[t.actionTabs.key]);var re=[{name:"全部签到",id:"all",total:null==I?void 0:I.attendances_count},{name:"正在签到",id:"ongoing",total:null==I?void 0:I.attendances_ongoing_count},{name:"历史签到",id:"history",total:null==I?void 0:I.attendances_history_count},{name:"暂未开始",id:"not_start",total:null==I?void 0:I.attendances_not_start_count},{name:"签到统计",id:"signInStatistics"}].filter((function(e){return!!(0,he.GJ)()||"签到统计"!==e.name&&"暂未开始"!==e.name})),ce=["编辑","删除","截止"];return(0,N.jsxs)("section",{children:[(0,N.jsx)(ge.Z,{isLoading:s["classroomList/getClassroomAttendancesList"],tabDataSource:re,isAdmin:(0,he.GJ)(),buttonText:"创建签到",onButtonClick:function(){n({type:"classroomList/setActionTabs",payload:{key:"新增签到",params:u}})},showControlButton:(0,he.GJ)(),onTabMenuClick:function(e){console.log(e,22222222),T(e.key),u.status=e.key,u.page=1,console.log(u,"params"),n({type:"classroomList/getClassroomAttendancesList",payload:d()({},u)})},defaultSelectedKeys:[w]}),"signInStatistics"==w?(0,N.jsx)(S,{}):null,"signInStatistics"!==w&&(0,N.jsxs)("section",{children:["history"==w&&(0,he.GJ)()&&(0,N.jsxs)("div",{style:{background:"#fff",padding:"15px 20px",color:"#999",display:"flex",alignItems:"center",marginTop:20},children:[(0,N.jsxs)(f.Z,{checked:G,style:{flex:"1"},onChange:function(){var e;if((null==q?void 0:q.length)===(null==I||null===(e=I.attendances)||void 0===e?void 0:e.length))O([]),z(!1);else{var t=[];I.attendances.map((function(e){t.push(null==e?void 0:e.id)})),O([].concat(t)),z(!0)}},children:["已选择",(null==q?void 0:q.length)||0,"个(不支持跨页勾选)"]}),(0,N.jsx)(x.ZP,{style:{cursor:"pointer"},loading:ie,onClick:c()(o()().mark((function e(){return o()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u.attendance_ids=[],e.next=3,(0,fe.gh)(d()(d()({},u),{},{history:!0,type:1}));case 3:case"end":return e.stop()}}),e)}))),children:"导出全部签到"}),(0,N.jsx)(x.ZP,{style:{cursor:"pointer",marginLeft:10},loading:ie,onClick:c()(o()().mark((function e(){return o()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!((null==q?void 0:q.length)<=0)){e.next=3;break}return g.ZP.info("请选择要导出的签到"),e.abrupt("return");case 3:return u.attendance_ids=q,e.next=6,(0,fe.gh)(d()(d()({},u),{},{history:!0,type:1}));case 6:case"end":return e.stop()}}),e)}))),children:"导出选中签到"})]}),(0,N.jsxs)(_.Z,{loading:s["classroomList/getClassroomAttendancesList"],active:!0,avatar:{size:40},paragraph:{rows:5},className:"mt30",children:[0===I.attendances_count&&(0,N.jsx)(k.Z,{}),I.attendances&&I.attendances.map((function(e){return(0,N.jsx)(_e,{value:q,className:V,style:{display:"flex"},onChange:function(){},children:(0,N.jsxs)("div",{onClick:function(){return(0,he.GJ)()&&h.history.push("/classrooms/".concat(u.coursesId,"/attendance/").concat(e.id,"/").concat(w,"/detail"))},children:[(0,N.jsxs)(j.Z,{gutter:16,justify:"space-between",children:[(0,N.jsx)(v.Z,{span:20,children:(0,N.jsxs)(j.Z,{children:["history"==w&&(0,he.GJ)()&&(0,N.jsx)(f.Z,{className:"mr8",value:e.id,onClick:function(){var t=c()(o()().mark((function t(s){var n,i,r,c;return o()().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:s.stopPropagation(),(null==q?void 0:q.filter((function(t){return t===(null==e?void 0:e.id)})).length)>0?(n=a()(q),i=a()(n.filter((function(t){return t!=(null==e?void 0:e.id)}))),z(!1),O(i)):((c=q).push(null==e?void 0:e.id),z((null==c?void 0:c.length)===(null==I||null===(r=I.attendances)||void 0===r?void 0:r.length)),O(a()(c)));case 2:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),style:{marginTop:"4px"}},e.id),(0,N.jsx)(v.Z,{className:"c-blue font16 blod",children:(0,N.jsxs)("span",{className:ee,children:[(0,N.jsx)("span",{className:te,children:e.name}),"not_start"===e.status&&(0,N.jsx)("span",{className:se,children:"未开始"}),"ongoing"===e.status&&(0,N.jsx)("span",{className:ne,children:"进行中"}),"history"===e.status&&(0,N.jsx)("span",{className:ae,children:"已截止"})]})})]})}),(0,N.jsx)(v.Z,{className:"font14",children:"NUMBER"===e.mode&&(0,he.GJ)()&&(0,N.jsx)(xe.CopyToClipboard,{text:e.attendance_code,onCopy:function(){return g.ZP.success("复制成功")},children:(0,N.jsx)(y.Z,{placement:"top",title:"点击复制签到码",children:(0,N.jsxs)("span",{className:J,onClick:function(e){return e.stopPropagation()},children:["签到码:",e.attendance_code]})})})})]}),(0,N.jsxs)(j.Z,{className:"mt20 c-light-black",children:[(0,N.jsx)(v.Z,{children:"签到人数"}),(0,N.jsx)(v.Z,{flex:"200px",className:"ml20",children:(0,N.jsx)(b.Z,{showInfo:!1,percent:Math.ceil(e.normal_count/e.all_count*100)})}),(0,N.jsxs)(v.Z,{flex:1,className:"ml20 c-blue",children:["已签到 ",e.normal_count," / 应签到 ",e.all_count]})]}),"NORMAL"===e.attendance_status&&(0,he.dE)()&&(0,N.jsx)("div",{className:"".concat(K," ").concat(X),children:"正常"}),"LEAVE"===e.attendance_status&&(0,he.dE)()&&(0,N.jsx)("div",{className:"".concat(K," ").concat($),children:"请假"}),"ABSENCE"===e.attendance_status&&"history"==e.status&&("history"==w||"all"==w)&&(0,he.dE)()&&(0,N.jsx)("div",{className:"".concat(K," ").concat(W),children:"旷课"}),(0,N.jsxs)(j.Z,{className:"mt20 c-light-black",children:[(0,N.jsx)(v.Z,{flex:1,children:(0,N.jsxs)(j.Z,{children:[(0,N.jsxs)(v.Z,{flex:1,children:["签到发起人:",e.author.user_name]}),(0,N.jsxs)(v.Z,{flex:1,children:["签到方式:","QRCODE"===e.mode&&"二维码签到","NUMBER"===e.mode&&"签到码签到","QUICK"===e.mode&&"快捷签到"]}),(0,N.jsxs)(v.Z,{flex:1,children:["开始结束时间:",e.attendance_date," ",e.start_time,"~",e.end_time]}),(0,N.jsx)(v.Z,{children:"ABSENCE"===e.attendance_status&&("all"==w||"ongoing"==w)&&(0,he.dE)()&&(0,N.jsx)(x.ZP,{style:{width:100},size:"middle",type:"primary",onClick:function(){n({type:"classroomList/setActionTabs",payload:{key:"立即签到",selectArrs:e,params:d()({},u)}})},children:"签到"})})]})}),(0,N.jsx)(v.Z,{children:(0,he.GJ)()&&ce.filter((function(t){return e.edit_auth?t:"编辑"!=t})).filter((function(e){return"0"!=w?"截止"!=e:e})).map((function(t,s){return(0,N.jsx)("span",{className:"c-blue ml20",onClick:function(s){s.stopPropagation(),D(e),n({type:"classroomList/setActionTabs",payload:{key:t,selectArrs:[e.id],params:u}})},children:t},s)}))})]})]})})})),(0,N.jsx)("aside",{className:"tc mb50 mt30",children:(0,N.jsx)(Z.Z,{hideOnSinglePage:!0,pageSize:20,showSizeChanger:!1,onChange:function(e){u.page=e,n({type:"classroomList/getClassroomAttendancesList",payload:d()({},u)})},defaultCurrent:1,current:u.page||1,total:I.attendances_count})})]})]}),(0,N.jsx)(A,{}),(0,N.jsx)(pe,{}),(0,N.jsx)(oe,{data:E}),(0,N.jsx)(de,{}),(0,N.jsx)(H,{})]})}))},53799:function(e,t,s){s.d(t,{Z:function(){return l}});s(59301);var n=s(95237),a=s(43604),i=s(20834),o=s(38854),r={tabMenuContainer:"tabMenuContainer___uf5IP",control:"control___GheLs",iconH:"iconH___Wzw_r",selectBtn:"selectBtn___mfEnI"},c=s(37712),l=function(e){var t=e.isLoading,s=e.addText,l=e.tabDataSource,d=e.isAdmin,u=e.defaultSelectedKeys,m=e.onTabMenuClick,p=e.getDropdownMenu,h=e.showControlButton,f=e.buttonText,x=e.buttonIcon,g=void 0===x?"icon-tianjiadaohang":x,_=e.extraNode,j=e.onButtonClick,v=void 0===j?function(){}:j;return(0,c.jsx)("div",{className:r.tabMenuContainer,children:(0,c.jsxs)(n.Z,{children:[(0,c.jsx)(a.Z,{flex:"1",children:(0,c.jsx)(i.Z,{onSelect:function(e){return t?{}:m(e)},mode:"horizontal",selectedKeys:u,children:l.map((function(e){return(0,c.jsxs)(i.Z.Item,{children:[(0,c.jsx)("span",{className:"c-grey-666",children:e.name}),void 0!==e.total&&d&&(0,c.jsx)("span",{className:"c-grey-999 ml20",children:e.total||0})]},"number"==typeof e.index?e.index:e.id)}))})}),d&&(0,c.jsx)(a.Z,{className:"mr20",children:(0,c.jsxs)("div",{className:r.control,children:[(0,c.jsx)("div",{className:r.extra,children:_}),h&&(0,c.jsxs)("span",{onClick:v,style:{cursor:"pointer"},className:r.selectBtn,children:[(0,c.jsx)("span",{children:(0,c.jsx)("i",{className:"iconfont ".concat(g)})}),(0,c.jsx)("span",{children:f})]}),!!p&&(0,c.jsx)(o.Z,{className:"ml10",dropdownRender:p,children:(0,c.jsxs)("span",{className:r.selectBtn,children:[(0,c.jsx)("span",{children:(0,c.jsx)("i",{className:"iconfont icon-tianjiadaohang"})}),(0,c.jsx)("span",{children:s||"创建试卷"})]})})]})})]})})}}}]);