index-93c8d167.js 15 KB

123456
  1. import{X as O,d as x,r as D,u as _,a as U,e as h,Q as k,q,f as t,k as s,ci as w,F as g,j as I,W,m as z,n as E,Z as j,a$ as $}from"./index-e22e4121.js";import{g as V,s as K}from"./use-async-6a9ce07a.js";import{N as v,C as G}from"./index-420996bd.js";import{s as a}from"./index.module-e33062b6.js";import{u as M}from"./useECharts-92ae8302.js";import{P}from"./index-2253dec1.js";import{b as L,c as b,d as A,g as F,a as Y}from"./dateFormat-47e8bd71.js";import{i as Q,q as X,k as Z}from"./api-e15c7eb5.js";import"./searchs-1f038725.js";import"./index-650d132d.js";const H="_listWrap_mgjem_1",J="_customTabs_mgjem_7",tt="_searchBtn_mgjem_28",at="_resetBtn_mgjem_37",R={listWrap:H,customTabs:J,searchBtn:tt,resetBtn:at},et=d=>O.post("/edu-app/lessonTraining/trainingStat",{data:d}),it=d=>O.post("/edu-app/musicPracticeRecordStat/trainingStat",{data:d}),st=x({name:"home-trainData",props:{timer:{type:Array,defaut:()=>[]}},setup(d,{expose:C}){const T=D(null),{setOptions:n}=M(T),m=D(!0),l=D(!0),c=_(),y=U(),p=h({height:"360px",width:"100%",studentNum:0,paymentAmount:0,dateList:["2022-10-10","2022-10-11","2022-10-12","2022-10-13","2022-10-14","2022-10-15","2022-10-16"],studentList:[],payInfoList:[]}),r=D({qualifiedRate:0,qualifiedStudentCount:0,submitStudentCount:0,totalStudentCount:0,trainingCount:0,trainingRate:0}),u=h({loading:!1,pagination:{page:1,rows:10,pageTotal:4},tableList:[{teacherName:"孙忆枫",createTime:"2023-06-27",endTime:"2023-06-30",status:"ing",studentNum:100,submitNum:100,quantityNum:60,submitRate:100,quantityRate:60},{teacherName:"孙忆枫",createTime:"2023-06-27",endTime:"2023-06-30",status:"ing",studentNum:100,submitNum:100,quantityNum:60,submitRate:100,quantityRate:60},{teacherName:"孙忆枫",createTime:"2023-06-27",endTime:"2023-06-30",status:"ing",studentNum:100,submitNum:100,quantityNum:60,submitRate:100,quantityRate:60},{teacherName:"孙忆枫",createTime:"2023-06-25",endTime:"2023-06-26",status:"end",studentNum:100,submitNum:100,quantityNum:60,submitRate:100,quantityRate:60}],goCourseVisiable:!1}),o=k(()=>d.timer),e=()=>[{title:"布置老师",key:"teacherName"},{title:"布置时间",key:"createTime",render(i){return t(g,null,[i.createTime])}},{title:"截止时间",key:"expireDate",render(i){return t(g,null,[i.expireDate])}},{title:"训练状态",key:"status",render(i){return i.status==0?t("div",{class:a.indDot},[" ",t("span",null,null),s(" 进行中")]):t("div",{class:a.endDot},[t("span",null,null),s("已结束")])}},{title:"布置人数",key:"expectNum"},{title:"提交人数",key:"trainingNum"},{title:"合格人数",key:"standardNum"},{title:"提交率",key:"trainingRate",render(i){return t(g,null,[i.trainingRate,s("%")])}},{title:"合格率",key:"qualifiedRate",render(i){return t(g,null,[i.qualifiedRate,s("%")])}},{title:"操作",key:"id",render(i){return t(W,null,{default:()=>[t(I,{text:!0,type:"primary",onClick:()=>N(i)},{default:()=>[s("详情")]})]})}}],N=i=>{console.log(i),c.push({path:"/afterWorkDetail",query:{...y.query,teacherName:i.teacherName,trainingId:i.id,id:i.classGroupId,name:i.classGroupName}})},S=async()=>{try{const i=await et({...L(o.value,["startTime","endTime"],"YYYY-MM-DD")});r.value={...i.data},p.dateList=i.data.trainingStatDetails.map(f=>f.date),p.payInfoList=i.data.trainingStatDetails.map(f=>f.qualifiedStudentCount),p.studentList=i.data.trainingStatDetails.map(f=>f.unqualifiedStudentCount),B()}catch(i){console.log(i)}try{const i=await Q({...u.pagination,...L(o.value,["startTime","endTime"],"YYYY-MM-DD")});u.tableList=i.data.rows,u.pagination.pageTotal=i.data.total,u.loading=!1}catch(i){u.loading=!1,console.log(i)}};C({getList:S});const B=()=>{n({tooltip:{trigger:"axis",axisPointer:{lineStyle:{width:2,color:"#A9C7FF"}}},legend:{show:!1,selected:{合格人数:m.value,不合格人数:l.value}},xAxis:{type:"category",boundaryGap:!0,axisLabel:{show:!0,interval:0},data:p.dateList},yAxis:[{type:"value",axisLabel:{formatter:"{value}人"},axisTick:{show:!1},splitArea:{show:!1,areaStyle:{color:["rgba(255,255,255,0.2)"]}},minInterval:1,splitNumber:5}],grid:{left:"1%",right:"1%",top:"2 %",bottom:0,containLabel:!0},series:[{data:p.studentList,symbolSize:10,type:"line",name:"不合格人数",symbol:"circle",smooth:!0,itemStyle:{color:"#FF7AA7",borderColor:"#fff",borderWidth:3},lineStyle:{width:3},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(255, 243, 246, 1)"},{offset:1,color:"rgba(255, 246, 248, 0)"}]}},emphasis:{disabled:!0}},{data:p.payInfoList,type:"line",name:"合格人数",symbolSize:10,symbol:"circle",smooth:!0,itemStyle:{color:"#198CFE",borderColor:"#fff",borderWidth:3},lineStyle:{width:2},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(212, 231, 255, 1)"},{offset:1,color:"rgba(221, 235, 254, 0)"}]}},emphasis:{disabled:!0}}],formatter:i=>Array.isArray(i)?[i[0].axisValueLabel,...i.map(f=>`<br/>${f.marker}<span style="margin-top:10px;margin-left:5px;font-size: 13px;font-weight: 500;
  2. color: #333333;
  3. line-height: 18px;">${f.seriesName}: ${f.value}人 </span>`)].join(""):i})};return q(()=>{S()}),()=>t(g,null,[t("div",{class:a.homeTrainData},[t("div",{class:a.TrainDataTop},[t("div",{class:a.TrainDataTopLeft},[t("div",{class:a.TrainDataItem},[t("p",{class:a.TrainDataItemTitle},[t("span",null,[t(v,{from:0,to:r.value.trainingCount},null)]),s("次")]),t("p",{class:a.TrainDataItemsubTitle},[s("训练次数")])]),t("div",{class:a.TrainDataItem},[t("p",{class:a.TrainDataItemTitle},[t("span",null,[t(v,{from:0,to:r.value.totalStudentCount},null)]),s("人次")]),t("p",{class:a.TrainDataItemsubTitle},[s("应交总人次")])]),t("div",{class:a.TrainDataItem},[t("p",{class:a.TrainDataItemTitle},[t("span",null,[t(v,{from:0,to:r.value.submitStudentCount},null)]),s("人次")]),t("p",{class:a.TrainDataItemsubTitle},[s("提交总人次")])]),t("div",{class:a.TrainDataItem},[t("p",{class:a.TrainDataItemTitle},[t("span",null,[" ",t(v,{from:0,to:r.value.qualifiedStudentCount},null)]),s("人次")]),t("p",{class:a.TrainDataItemsubTitle},[s("合格总人次")])]),t("div",{class:a.TrainDataItem},[t("p",{class:a.TrainDataItemTitle},[t("span",null,[t(v,{from:0,to:r.value.trainingRate},null),s("%")])]),t("p",{class:a.TrainDataItemsubTitle},[s("训练提交率")])]),t("div",{class:a.TrainDataItem},[t("p",{class:a.TrainDataItemTitle},[t("span",null,[t(v,{from:0,to:r.value.qualifiedRate},null),s("%")])]),t("p",{class:a.TrainDataItemsubTitle},[s("训练合格率")])])]),t("div",{class:a.TrainDataTopRight},[t("div",{onClick:()=>{m.value=!m.value,B()},class:[a.DataTopRightItem,m.value?"":a.DataTopRightItemDis]},[t("div",{class:a.DataTopRightDot},null),t("p",null,[s("合格人数")])]),t("div",{onClick:()=>{l.value=!l.value,B()},class:[a.DataTopRightItem,l.value?"":a.DataTopRightItemDis]},[t("div",{class:[a.DataTopRightDot,a.red]},null),t("p",null,[s("不合格人数")])])])]),t("div",{class:a.chatrs},[t("div",{ref:T,style:{height:p.height,width:p.width}},null)]),t("div",{class:a.tableWrap},[t(w,{class:a.classTable,loading:u.loading,columns:e(),data:u.tableList},null),t(P,{page:u.pagination.page,"onUpdate:page":i=>u.pagination.page=i,pageSize:u.pagination.rows,"onUpdate:pageSize":i=>u.pagination.rows=i,pageTotal:u.pagination.pageTotal,"onUpdate:pageTotal":i=>u.pagination.pageTotal=i,onList:S,sync:!0,saveKey:"orchestraRegistration-key"},null)])])])}}),rt=x({name:"home-practiceData",props:{timer:{type:Array,defaut:()=>[]}},setup(d,{expose:C}){const T=D(null),{setOptions:n}=M(T),m=D(!0),l=h({height:"360px",width:"100%",practiceUserCount:0,paymentAmount:0,practiceDurationAvg:0,practiceDays:0,practiceDurationTotal:0,dateList:[],timeList:[]}),c=h({loading:!1,pagination:{page:1,rows:10,pageTotal:4},tableList:[{teacherName:"孙忆枫",createTime:"2023-06-27",endTime:"2023-06-30",status:"ing",studentNum:100,submitNum:100,quantityNum:60,submitRate:100,quantityRate:60},{teacherName:"孙忆枫",createTime:"2023-06-27",endTime:"2023-06-30",status:"ing",studentNum:100,submitNum:100,quantityNum:60,submitRate:100,quantityRate:60},{teacherName:"孙忆枫",createTime:"2023-06-27",endTime:"2023-06-30",status:"ing",studentNum:100,submitNum:100,quantityNum:60,submitRate:100,quantityRate:60},{teacherName:"孙忆枫",createTime:"2023-06-25",endTime:"2023-06-26",status:"end",studentNum:100,submitNum:100,quantityNum:60,submitRate:100,quantityRate:60}],goCourseVisiable:!1}),y=k(()=>d.timer),p=()=>[{title:"日期",key:"date"},{title:"练习人数",key:"practiceUserCount",render(o){return t(g,null,[o.practiceUserCount,s("人")])}},{title:"平均练习时长(分钟)",key:"practiceDuration",render(o){return t(g,null,[" ",t(g,null,[o.practiceDuration?b(o.practiceDuration)>0?b(o.practiceDuration)+"分"+A(o.practiceDuration)+"秒":A(o.practiceDuration)+"秒":"0分钟"])])}}],r=async()=>{try{const o=await X({page:1,rows:999,...L(y.value,["startTime","endTime"],"YYYY-MM-DD")}),e=await it({page:1,rows:999,...L(y.value,["startTime","endTime"],"YYYY-MM-DD")});c.tableList=o.data.rows,l.practiceDurationAvg=e.data.practiceDurationAvg,l.practiceUserCount=e.data.practiceUserCount,l.dateList=e.data.trainingStatDetailList.map(N=>N.date),l.timeList=e.data.trainingStatDetailList.map(N=>N.practiceUserCount),console.log("trainingStatDetailList",l.timeList),u()}catch(o){console.log(o)}};C({getList:r});const u=()=>{n({tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},legend:{show:!1,selected:{练习人数:m.value}},xAxis:{type:"category",boundaryGap:!0,axisLabel:{show:!0,interval:0},data:l.dateList},yAxis:[{type:"value",axisLabel:{formatter:"{value}人"},axisTick:{show:!1},splitArea:{show:!1,areaStyle:{color:["rgba(255,255,255,0.2)"]}},minInterval:1,splitNumber:5}],grid:{left:"1%",right:"1%",top:"2%",bottom:0,containLabel:!0},series:[{data:l.timeList,type:"bar",barWidth:"48px",itemStyle:{normal:{barBorderRadius:[8,8,0,0],color:"#D5E9FF"},emphasis:{color:"#3583FA"}}}],formatter:o=>Array.isArray(o)?[o[0].axisValueLabel,...o.map(e=>`<br/>${e.marker}<span style="margin-top:10px;margin-left:5px;font-size: 13px;font-weight: 500;
  4. color: #131415;font-weight: 600;
  5. margin-top:12px
  6. line-height: 18px;">练习人数: ${e.value}人 </span>`)].join(""):o})};return q(()=>{r()}),()=>t(g,null,[t("div",{class:a.homeTrainData},[t("div",{class:a.TrainDataTop},[t("div",{class:a.TrainDataTopLeft},[t("div",{class:a.TrainDataItem},[t("p",{class:a.TrainDataItemTitle},[t("span",null,[t(v,{from:0,to:l.practiceUserCount},null)]),s("人")]),t("p",{class:a.TrainDataItemsubTitle},[s("练习人数")])]),t("div",{class:a.TrainDataItem},[t("p",{class:a.TrainDataItemTitle},[b(l.practiceDurationAvg)>0?t("div",null,[t("span",null,[t(v,{from:0,to:b(l.practiceDurationAvg)},null)])," ",s("分")]):null,t("div",null,[t("span",null,[t(v,{from:0,to:A(l.practiceDurationAvg)},null)])," ",s("秒")])]),t("p",{class:a.TrainDataItemsubTitle},[s("平均练习时长")])])]),t("div",{class:a.TrainDataTopRight},[t("div",{class:[a.DataTopRightItem,m.value?"":a.DataTopRightItemDis]},[t("div",{class:[a.DataTopRightDot,a.DataTopRightDotBlue]},null),t("p",null,[s("练习人数")])])])]),t("div",{class:a.chatrs},[t("div",{ref:T,style:{height:l.height,width:l.width}},null)]),t("div",{class:a.tableWrap},[t(w,{class:a.classTable,loading:c.loading,columns:p(),data:c.tableList},null)])])])}}),nt=x({name:"student-studentList",props:{timer:{type:Array,defaut:()=>[]}},setup(d,{emit:C,expose:T}){const n=h({searchWord:"",orchestraType:null,courseTypeCode:null,subjectId:null,classId:null,studentType:null,loading:!1,pagination:{page:1,rows:10,pageTotal:4},tableList:[]}),m=h({ase:0,sortType:1}),l=k(()=>(console.log("ranking===>"),d.timer)),c=async()=>{n.loading=!0;try{const e=await Z({...n.pagination,...m,...L(l.value,["startTime","endTime"],"YYYY-MM-DD")});n.tableList=e.data.rows,n.pagination.pageTotal=e.data.total,n.loading=!1}catch(e){n.loading=!1,console.log(e)}};T({getList:c}),q(()=>{c()});const y=e=>{if(!e)m.ase=0,m.sortType=1,p.sortOrder=!1,r.sortOrder=!1,u.sortOrder=!1;else{const N={practiceDuration:1,practiceDays:2,practiceDurationAvg:3};m.sortType=N[e.columnKey],e.columnKey=="practiceDuration"&&(r.sortOrder=e.order,p.sortOrder=!1,u.sortOrder=!1),e.columnKey=="practiceDays"&&(p.sortOrder=e.order,r.sortOrder=!1,u.sortOrder=!1),e.columnKey=="practiceDurationAvg"&&(u.sortOrder=e.order,p.sortOrder=!1,r.sortOrder=!1),m.ase=e.order=="ascend"?1:0}c()},p=h({title:"练习天数",key:"practiceDays",sorter:!0,sortOrder:!1,render(e){return t(g,null,[e.practiceDays?e.practiceDays:0,s("天")])}}),r=h({title:"练习总时长",key:"practiceDuration",sorter:!0,sortOrder:!1,render(e){return t(g,null,[e.practiceDuration?b(e.practiceDuration)>0?b(e.practiceDuration)+"分"+A(e.practiceDuration)+"秒":A(e.practiceDuration)+"秒":0])}}),u=h({title:"平均练习时长",key:"practiceDurationAvg",sorter:!0,sortOrder:!1,render(e){return t(g,null,[e.practiceDurationAvg?b(e.practiceDurationAvg)>0?b(e.practiceDurationAvg)+"分"+A(e.practiceDurationAvg)+"秒":A(e.practiceDurationAvg)+"秒":0])}}),o=()=>[{title:"姓名",key:"studentName"},{title:"手机号",key:"studentPhone"},p,r,u];return()=>t("div",{class:a.listWrap},[t("div",{class:a.tableWrap},[t(w,{class:a.classTable,loading:n.loading,columns:o(),data:n.tableList,"onUpdate:sorter":y},null),t(P,{page:n.pagination.page,"onUpdate:page":e=>n.pagination.page=e,pageSize:n.pagination.rows,"onUpdate:pageSize":e=>n.pagination.rows=e,pageTotal:n.pagination.pageTotal,"onUpdate:pageTotal":e=>n.pagination.pageTotal=e,onList:c,sync:!0,saveKey:"orchestraRegistration-key"},null)])])}}),yt=x({name:"data-module",setup(){const d=D("training"),C=U();V(r=>{r.form.tabName&&(d.value=r.form.tabName)});const T=D(),n=D(),m=D(),l=r=>{K(r,"tabName",C)},c=D([F(new Date().getTime()),Y(new Date().getTime())]),y=()=>{console.log(c.value),T.value&&T.value.getList(),n.value&&n.value.getList(),m.value&&m.value.getList()},p=()=>{console.log("点击重置"),c.value=[F(new Date().getTime()),Y(new Date().getTime())],$(()=>{y()})};return()=>t("div",null,[t("div",{class:R.listWrap},[t(z,{"onUpdate:value":[r=>l(r),r=>d.value=r],class:R.customTabs,value:d.value,size:"large",animated:!0,"pane-wrapper-style":"margin: 0 -4px","pane-style":"padding-left: 4px; padding-right: 4px; box-sizing: border-box;"},{default:()=>[t(E,{name:"training ",tab:"训练统计"},{default:()=>[t(st,{ref:T,timer:c.value},null)]}),t(E,{name:"practice",tab:"练习数据"},{default:()=>[t(rt,{ref:n,timer:c.value},null)]}),t(E,{name:"ranking",tab:"练习排行"},{default:()=>[t(nt,{ref:m,timer:c.value},null)]})],suffix:()=>t(g,null,[t("div",{class:R.homeStudyInfoDate},[t(W,null,{default:()=>[t(G,j({clearable:!1},{value:c.value,"onUpdate:value":r=>c.value=r,separator:"-",type:"daterange",timerValue:c.value}),null),t(I,{type:"primary",class:R.searchBtn,onClick:()=>y()},{default:()=>[s("搜索")]}),t(I,{type:"primary",onClick:()=>p(),ghost:!0,class:R.resetBtn},{default:()=>[s("重置")]})]})])])})])])}});export{yt as default};