index-ce192bfb.js 17 KB

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