index-e6f1d519.js 17 KB

123456
  1. import{Y as M,d as k,r as T,u as j,a as W,e as b,R as P,q as N,f as t,k as r,ck as Y,F as y,j as q,X as _,Z as D,_ as V,$ as K,m as J,n as w,x as X,b3 as Z}from"./index-42a7007b.js";import{g as H,s as Q}from"./use-async-70062209.js";import{N as C,C as tt}from"./index-4dadd31e.js";import{s as e}from"./index.module-d0022fe4.js";import{u as z}from"./useECharts-48a5b4dd.js";import{P as G}from"./index-5136b309.js";import{b as I,c as S,d as E,g as U,a as $}from"./dateFormat-62af7b18.js";import{i as et,q as at,k as it}from"./api-40c47534.js";import{T as O}from"./index-24cecb23.js";import{g as F,s as x}from"./index-500ba9cd.js";import"./searchs-1f038725.js";import"./index-d329ea0e.js";const st="_listWrap_mgjem_1",nt="_customTabs_mgjem_7",lt="_searchBtn_mgjem_28",rt="_resetBtn_mgjem_37",L={listWrap:st,customTabs:nt,searchBtn:lt,resetBtn:rt},ot=h=>M.post("/edu-app/lessonTraining/trainingStat",{data:h}),ut=h=>M.post("/edu-app/musicPracticeRecordStat/trainingStat",{data:h}),ct=k({name:"home-trainData",props:{timer:{type:Array,defaut:()=>[]}},setup(h,{expose:R}){const s=T(null),{setOptions:o}=z(s),d=T(!0),c=T(!0),m=j(),g=W(),n=b({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:[]}),p=T({qualifiedRate:0,qualifiedStudentCount:0,submitStudentCount:0,totalStudentCount:0,trainingCount:0,trainingRate:0}),l=b({loading:!1,pagination:{page:1,rows:10,pageTotal:4},tableList:[],goCourseVisiable:!1}),u=P(()=>h.timer),a=()=>[{title:"布置老师",key:"teacherName"},{title:"布置时间",key:"createTime",render(i){return t(y,null,[i.createTime])}},{title:"截止时间",key:"expireDate",render(i){return t(y,null,[i.expireDate])}},{title:"训练状态",key:"status",render(i){return i.status==0?t("div",{class:e.indDot},[" ",t("span",null,null),r(" 进行中")]):t("div",{class:e.endDot},[t("span",null,null),r("已结束")])}},{title:"布置人数",key:"expectNum"},{title:"提交人数",key:"trainingNum"},{title:"合格人数",key:"standardNum"},{title:"提交率",key:"trainingRate",render(i){return t(y,null,[i.trainingRate,r("%")])}},{title:"合格率",key:"qualifiedRate",render(i){return t(y,null,[i.qualifiedRate,r("%")])}},{title:"操作",key:"id",render(i){return t(_,null,{default:()=>[t(q,{text:!0,type:"primary",onClick:()=>f(i)},{default:()=>[r("详情")]})]})}}],f=i=>{console.log(i),m.push({path:"/afterWorkDetail",query:{...g.query,teacherName:i.teacherName,trainingId:i.id,id:i.classGroupId,name:i.classGroupName}})},A=async()=>{try{const i=await ot({...I(u.value,["startTime","endTime"],"YYYY-MM-DD")});p.value={...i.data},n.dateList=i.data.trainingStatDetails.map(v=>v.date),n.payInfoList=i.data.trainingStatDetails.map(v=>v.qualifiedStudentCount),n.studentList=i.data.trainingStatDetails.map(v=>v.unqualifiedStudentCount),B()}catch(i){console.log(i)}try{const i=await et({...l.pagination,...I(u.value,["startTime","endTime"],"YYYY-MM-DD")});l.tableList=i.data.rows,l.pagination.pageTotal=i.data.total,l.loading=!1}catch(i){l.loading=!1,console.log(i)}};R({getList:A});const B=()=>{o({tooltip:{trigger:"axis",axisPointer:{lineStyle:{width:2,color:"#A9C7FF"}}},legend:{show:!1,selected:{合格人数:d.value,不合格人数:c.value}},xAxis:{type:"category",boundaryGap:!0,axisLabel:{show:!0,interval:0},data:n.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:n.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:n.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(v=>`<br/>${v.marker}<span style="margin-top:10px;margin-left:5px;font-size: 13px;font-weight: 500;
  2. color: #333333;
  3. line-height: 18px;">${v.seriesName}: ${v.value}人 </span>`)].join(""):i})};return N(()=>{A()}),()=>t(y,null,[t("div",{class:e.homeTrainData},[t("div",{class:e.TrainDataTop},[t("div",{class:e.TrainDataTopLeft},[t("div",{class:e.TrainDataItem},[t("p",{class:e.TrainDataItemTitle},[t("span",null,[t(C,{from:0,to:p.value.trainingCount},null)]),r("次")]),t("p",{class:e.TrainDataItemsubTitle},[r("训练次数")])]),t("div",{class:e.TrainDataItem},[t("p",{class:e.TrainDataItemTitle},[t("span",null,[t(C,{from:0,to:p.value.totalStudentCount},null)]),r("人次")]),t("p",{class:e.TrainDataItemsubTitle},[r("应交总人次")])]),t("div",{class:e.TrainDataItem},[t("p",{class:e.TrainDataItemTitle},[t("span",null,[t(C,{from:0,to:p.value.submitStudentCount},null)]),r("人次")]),t("p",{class:e.TrainDataItemsubTitle},[r("提交总人次")])]),t("div",{class:e.TrainDataItem},[t("p",{class:e.TrainDataItemTitle},[t("span",null,[" ",t(C,{from:0,to:p.value.qualifiedStudentCount},null)]),r("人次")]),t("p",{class:e.TrainDataItemsubTitle},[r("合格总人次")])]),t("div",{class:e.TrainDataItem},[t("p",{class:e.TrainDataItemTitle},[t("span",null,[t(C,{from:0,to:p.value.trainingRate},null),r("%")])]),t("p",{class:e.TrainDataItemsubTitle},[r("训练提交率")])]),t("div",{class:e.TrainDataItem},[t("p",{class:e.TrainDataItemTitle},[t("span",null,[t(C,{from:0,to:p.value.qualifiedRate},null),r("%")])]),t("p",{class:e.TrainDataItemsubTitle},[r("训练合格率")])])]),t("div",{class:e.TrainDataTopRight},[t("div",{onClick:()=>{d.value=!d.value,B()},class:[e.DataTopRightItem,d.value?"":e.DataTopRightItemDis]},[t("div",{class:e.DataTopRightDot},null),t("p",null,[r("合格人数")])]),t("div",{onClick:()=>{c.value=!c.value,B()},class:[e.DataTopRightItem,c.value?"":e.DataTopRightItemDis]},[t("div",{class:[e.DataTopRightDot,e.red]},null),t("p",null,[r("不合格人数")])])])]),t("div",{class:e.chatrs},[t("div",{ref:s,style:{height:n.height,width:n.width}},null)]),t("div",{class:e.tableWrap},[t(Y,{class:e.classTable,loading:l.loading,columns:a(),data:l.tableList},{empty:()=>t(O,null,null)}),t(G,{page:l.pagination.page,"onUpdate:page":i=>l.pagination.page=i,pageSize:l.pagination.rows,"onUpdate:pageSize":i=>l.pagination.rows=i,pageTotal:l.pagination.pageTotal,"onUpdate:pageTotal":i=>l.pagination.pageTotal=i,onList:A,sync:!0,saveKey:"orchestraRegistration-key"},null)])])])}}),pt=k({name:"home-practiceData",props:{timer:{type:Array,defaut:()=>[]}},setup(h,{expose:R}){const s=T(null),{setOptions:o}=z(s),d=T(!0),c=b({height:"360px",width:"100%",practiceUserCount:0,paymentAmount:0,practiceDurationAvg:0,practiceDays:0,practiceDurationTotal:0,dateList:[],timeList:[]}),m=b({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}),g=P(()=>h.timer),n=()=>[{title:"日期",key:"date"},{title:"练习人数",key:"practiceUserCount",render(u){return t(y,null,[u.practiceUserCount,r("人")])}},{title:"平均练习时长(分钟)",key:"practiceDuration",render(u){return t(y,null,[" ",t(y,null,[u.practiceDuration?S(u.practiceDuration)>0?S(u.practiceDuration)+"分"+E(u.practiceDuration)+"秒":E(u.practiceDuration)+"秒":"0分钟"])])}}],p=async()=>{try{const u=await at({page:1,rows:999,...I(g.value,["startTime","endTime"],"YYYY-MM-DD")}),a=await ut({page:1,rows:999,...I(g.value,["startTime","endTime"],"YYYY-MM-DD")});m.tableList=u.data.rows,c.practiceDurationAvg=a.data.practiceDurationAvg,c.practiceUserCount=a.data.practiceUserCount,c.dateList=a.data.trainingStatDetailList.map(f=>f.date),c.timeList=a.data.trainingStatDetailList.map(f=>f.practiceUserCount),console.log("trainingStatDetailList",c.timeList),l()}catch(u){console.log(u)}};R({getList:p});const l=()=>{o({tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},legend:{show:!1,selected:{练习人数:d.value}},xAxis:{type:"category",boundaryGap:!0,axisLabel:{show:!0,interval:0},data:c.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:c.timeList,type:"bar",barWidth:"48px",itemStyle:{normal:{barBorderRadius:[8,8,0,0],color:"#D5E9FF"},emphasis:{color:"#3583FA"}}}],formatter:u=>Array.isArray(u)?[u[0].axisValueLabel,...u.map(a=>`<br/>${a.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;">练习人数: ${a.value}人 </span>`)].join(""):u})};return N(()=>{p()}),()=>t(y,null,[t("div",{class:e.homeTrainData},[t("div",{class:e.TrainDataTop},[t("div",{class:e.TrainDataTopLeft},[t("div",{class:e.TrainDataItem},[t("p",{class:e.TrainDataItemTitle},[t("span",null,[t(C,{from:0,to:c.practiceUserCount},null)]),r("人")]),t("p",{class:e.TrainDataItemsubTitle},[r("练习人数")])]),t("div",{class:e.TrainDataItem},[t("p",{class:e.TrainDataItemTitle},[S(c.practiceDurationAvg)>0?t("div",null,[t("span",null,[t(C,{from:0,to:S(c.practiceDurationAvg)},null)])," ",r("分")]):null,t("div",null,[t("span",null,[t(C,{from:0,to:E(c.practiceDurationAvg)},null)])," ",r("秒")])]),t("p",{class:e.TrainDataItemsubTitle},[r("平均练习时长")])])]),t("div",{class:e.TrainDataTopRight},[t("div",{class:[e.DataTopRightItem,d.value?"":e.DataTopRightItemDis]},[t("div",{class:[e.DataTopRightDot,e.DataTopRightDotBlue]},null),t("p",null,[r("练习人数")])])])]),t("div",{class:e.chatrs},[t("div",{ref:s,style:{height:c.height,width:c.width}},null)]),t("div",{class:e.tableWrap},[t(Y,{class:e.classTable,loading:m.loading,columns:n(),data:m.tableList},{empty:()=>t(O,null,null)})])])])}}),dt=k({name:"student-studentList",props:{timer:{type:Array,defaut:()=>[]}},setup(h,{emit:R,expose:s}){const o=b({searchWord:"",orchestraType:null,courseTypeCode:null,subjectId:null,classId:null,studentType:null,loading:!1,pagination:{page:1,rows:10,pageTotal:4},tableList:[]}),d=b({ase:0,sortType:1}),c=P(()=>(console.log("ranking===>"),h.timer)),m=async()=>{o.loading=!0;try{const a=await it({...o.pagination,...d,...I(c.value,["startTime","endTime"],"YYYY-MM-DD")});o.tableList=a.data.rows,o.pagination.pageTotal=a.data.total,o.loading=!1}catch(a){o.loading=!1,console.log(a)}};s({getList:m}),N(()=>{m()});const g=a=>{if(!a)d.ase=0,d.sortType=1,n.sortOrder=!1,p.sortOrder=!1,l.sortOrder=!1;else{const f={practiceDuration:1,practiceDays:2,practiceDurationAvg:3};d.sortType=f[a.columnKey],a.columnKey=="practiceDuration"&&(p.sortOrder=a.order,n.sortOrder=!1,l.sortOrder=!1),a.columnKey=="practiceDays"&&(n.sortOrder=a.order,p.sortOrder=!1,l.sortOrder=!1),a.columnKey=="practiceDurationAvg"&&(l.sortOrder=a.order,n.sortOrder=!1,p.sortOrder=!1),d.ase=a.order=="ascend"?1:0}m()},n=b({title:"练习天数",key:"practiceDays",sorter:!0,sortOrder:!1,render(a){return t(y,null,[a.practiceDays?a.practiceDays:0,r("天")])}}),p=b({title:"练习总时长",key:"practiceDuration",sorter:!0,sortOrder:!1,render(a){return t(y,null,[a.practiceDuration?S(a.practiceDuration)>0?S(a.practiceDuration)+"分"+E(a.practiceDuration)+"秒":E(a.practiceDuration)+"秒":0])}}),l=b({title:"平均练习时长",key:"practiceDurationAvg",sorter:!0,sortOrder:!1,render(a){return t(y,null,[a.practiceDurationAvg?S(a.practiceDurationAvg)>0?S(a.practiceDurationAvg)+"分"+E(a.practiceDurationAvg)+"秒":E(a.practiceDurationAvg)+"秒":0])}}),u=()=>[{title:"姓名",key:"studentName"},{title:"手机号",key:"studentPhone"},n,p,l];return()=>t("div",{class:e.listWrap},[t("div",{class:e.tableWrap},[t(Y,{class:e.classTable,loading:o.loading,columns:u(),data:o.tableList,"onUpdate:sorter":g},{empty:()=>t(O,null,null)}),t(G,{page:o.pagination.page,"onUpdate:page":a=>o.pagination.page=a,pageSize:o.pagination.rows,"onUpdate:pageSize":a=>o.pagination.rows=a,pageTotal:o.pagination.pageTotal,"onUpdate:pageTotal":a=>o.pagination.pageTotal=a,onList:m,sync:!0,saveKey:"orchestraRegistration-key"},null)])])}}),gt=k({name:"data-guide",emits:["close"],setup(h,{emit:R}){const s=b({box:{height:"0px"},show:!1,steps:[{ele:"",eleRect:{},img:F("data1.png"),handStyle:{top:"0.91rem"},imgStyle:{left:D(-100),width:D(472),height:D(256)},btnsStyle:{bottom:D(30),left:D(-90)},boxStyle:{borderRadius:"25px"},eleRectPadding:{left:14,top:14,width:28,height:28}},{ele:"",img:F("data2.png"),imgStyle:{left:D(-100),width:D(509),height:D(230)},btnsStyle:{bottom:"30px",left:D(-90)},boxStyle:{borderRadius:"25px"},eleRectPadding:{left:14,top:14,width:28,height:28}},{ele:"",img:F("data3.png"),imgStyle:{top:"100%",left:D(-105),width:D(438),height:D(230)},btnsStyle:{bottom:D(30),left:D(-90)},boxStyle:{borderRadius:"25px"},eleRectPadding:{left:14,top:14,width:28,height:28}}],step:0}),o=T(!1),d=localStorage.getItem("teacher-guideInfo");d&&JSON.parse(d).dataGuide?o.value=!1:o.value=!0;const c=()=>{var p,l,u,a;const n=document.getElementById(`data-${s.step}`);if(n){const f=n.getBoundingClientRect(),A=((p=s.steps[s.step].eleRectPadding)==null?void 0:p.left)||0,B=((l=s.steps[s.step].eleRectPadding)==null?void 0:l.top)||0,i=((u=s.steps[s.step].eleRectPadding)==null?void 0:u.width)||0,v=((a=s.steps[s.step].eleRectPadding)==null?void 0:a.height)||0;s.box={left:f.x-A+"px",top:f.y-B+"px",width:f.width+i+"px",height:f.height+v+"px"},console.log(`coai-${s.step}`,s.box)}};N(()=>{c()});const m=()=>{if(s.step>=4){g();return}s.step=s.step+1,c()},g=()=>{let n=JSON.parse(localStorage.getItem("teacher-guideInfo")||"{}")||null;n?n.dataGuide=!0:n={dataGuide:!0},localStorage.setItem("teacher-guideInfo",JSON.stringify(n)),o.value=!1};return()=>t(y,null,[o.value?V(t("div",{"onUpdate:show":n=>o.value=n,class:["n-modal-mask","n-modal-mask-guide"]},[t("div",{class:x.content,onClick:()=>m()},[t("div",{class:x.backBtn,onClick:n=>{n.stopPropagation(),g()}},[r("跳过")]),t("div",{class:x.box,style:{...s.box,...s.steps[s.step].boxStyle},id:`modeType-${s.step}`},[s.steps.map((n,p)=>{var l,u,a,f;return t("div",{onClick:A=>A.stopPropagation(),class:x.item,style:n.type=="bottom"?{display:p===s.step?"":"none",left:`${(l=n.eleRect)==null?void 0:l.left}px`,top:`-${(u=n.imgStyle)==null?void 0:u.height}`}:{display:p===s.step?"":"none",left:`${(a=n.eleRect)==null?void 0:a.left}px`,top:`${(f=s.box)==null?void 0:f.height}`}},[t("img",{class:x.img,style:n.imgStyle,src:n.img},null),t("div",{class:x.btns,style:n.btnsStyle},[s.step+1==s.steps.length?t(y,null,[t("div",{class:[x.endBtn],onClick:()=>g()},[r("完成")]),t("div",{class:x.nextBtn,onClick:()=>{s.step=0,c()}},[r("再看一遍")])]):t("div",{class:x.btn,onClick:()=>m()},[r("下一步 ("),s.step+1,r("/"),s.steps.length,r(")")])])])})])])]),[[K,o.value,"show"]]):null])}}),At=k({name:"data-module",setup(){const h=T("training"),R=W();H(l=>{l.form.tabName&&(h.value=l.form.tabName)});const s=T(),o=T(),d=T(),c=l=>{Q(l,"tabName",R)},m=T(!1),g=T([U(new Date().getTime()),$(new Date().getTime())]),n=()=>{console.log(g.value),s.value&&s.value.getList(),o.value&&o.value.getList(),d.value&&d.value.getList()},p=()=>{console.log("点击重置"),g.value=[U(new Date().getTime()),$(new Date().getTime())],Z(()=>{n()})};return N(()=>{setTimeout(()=>{m.value=!0},500)}),()=>t("div",null,[t("div",{class:L.listWrap},[t(J,{"onUpdate:value":[l=>c(l),l=>h.value=l],class:L.customTabs,value:h.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(w,{name:"training",tab:"训练统计"},{default:()=>[t(ct,{ref:s,timer:g.value},null)],tab:()=>t("span",{id:"data-0"},[r("训练统计")])}),t(w,{name:"practice",tab:"练习数据"},{default:()=>[t(pt,{ref:o,timer:g.value},null)],tab:()=>t("span",{id:"data-1"},[r("练习数据")])}),t(w,{name:"ranking",tab:"练习排行"},{default:()=>[t(dt,{ref:d,timer:g.value},null)],tab:()=>t("span",{id:"data-2"},[r("练习排行")])})],suffix:()=>t(y,null,[t("div",{class:L.homeStudyInfoDate},[t(_,null,{default:()=>[t(tt,X({clearable:!1},{value:g.value,"onUpdate:value":l=>g.value=l,separator:"-",type:"daterange",timerValue:g.value}),null),t(q,{type:"primary",class:L.searchBtn,onClick:()=>n()},{default:()=>[r("搜索")]}),t(q,{type:"primary",onClick:()=>p(),ghost:!0,class:L.resetBtn},{default:()=>[r("重置")]})]})])])}),m.value?t(gt,null,null):null])])}});export{At as default};