1 |
- import{ch as G,d as k,r as D,u as K,a as M,e as x,ab as O,n as I,f as t,k as n,c8 as Y,F as y,j as P,w as W,L as f,J,O as Q,Q as H,p as X,q as F,x as Z,C as tt}from"./index-f036f84d.js";import{g as et,s as at}from"./use-async-7ab49827.js";import{N as A,C as st}from"./index-860eb835.js";import{s as e}from"./index.module-00ed48f7.js";import{u as z}from"./useECharts-82af3a58.js";import{P as _}from"./index-c7053bb2.js";import{b as R,c as L,d as E,g as $,a as q}from"./dateFormat-72783090.js";import{j as it,s as lt,l as nt}from"./api-e91f19de.js";import{T as U}from"./index-9da7603f.js";import{g as N,s as S,a as rt,b as ot}from"./api-2cce1714.js";import"./index-a2fc1189.js";const ut="_listWrap_17ock_1",ct="_customTabs_17ock_7",pt="_searchBtn_17ock_28",dt="_resetBtn_17ock_37",B={listWrap:ut,customTabs:ct,searchBtn:pt,resetBtn:dt},gt=h=>G.post("/edu-app/lessonTraining/trainingStat",{data:h}),mt=h=>G.post("/edu-app/musicPracticeRecordStat/trainingStat",{data:h}),ft=k({name:"home-trainData",props:{timer:{type:Array,defaut:()=>[]}},setup(h,{expose:w}){const l=D(null),{setOptions:o}=z(l),u=D(!0),c=D(!0),g=K(),m=M(),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:[]}),d=D({qualifiedRate:0,qualifiedStudentCount:0,submitStudentCount:0,totalStudentCount:0,trainingCount:0,trainingRate:0}),a=x({loading:!1,pagination:{page:1,rows:10,pageTotal:4},tableList:[],goCourseVisiable:!1}),r=O(()=>h.timer),s=()=>[{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),n(" 进行中")]):t("div",{class:e.endDot},[t("span",null,null),n("已结束")])}},{title:"布置人数",key:"expectNum"},{title:"提交人数",key:"trainingNum"},{title:"合格人数",key:"standardNum"},{title:"提交率",key:"trainingRate",render(i){return t(y,null,[i.trainingRate,n("%")])}},{title:"合格率",key:"qualifiedRate",render(i){return t(y,null,[i.qualifiedRate,n("%")])}},{title:"操作",key:"id",render(i){return t(W,null,{default:()=>[t(P,{text:!0,type:"primary",onClick:()=>v(i)},{default:()=>[n("详情")]})]})}}],v=i=>{console.log(i),g.push({path:"/afterWorkDetail",query:{...m.query,teacherName:i.teacherName,trainingId:i.id,id:i.classGroupId,name:i.classGroupName}})},C=async()=>{try{const i=await gt({...R(r.value,["startTime","endTime"],"YYYY-MM-DD")});d.value={...i.data},p.dateList=i.data.trainingStatDetails.map(b=>b.date),p.payInfoList=i.data.trainingStatDetails.map(b=>b.qualifiedStudentCount),p.studentList=i.data.trainingStatDetails.map(b=>b.unqualifiedStudentCount),T()}catch(i){console.log(i)}try{const i=await it({...a.pagination,...R(r.value,["startTime","endTime"],"YYYY-MM-DD")});a.tableList=i.data.rows,a.pagination.pageTotal=i.data.total,a.loading=!1}catch(i){a.loading=!1,console.log(i)}};w({getList:C});const T=()=>{o({tooltip:{trigger:"axis",axisPointer:{lineStyle:{width:2,color:"#A9C7FF"}}},legend:{show:!1,selected:{合格人数:u.value,不合格人数:c.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(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(""):i})};return I(()=>{C()}),()=>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(A,{from:0,to:d.value.trainingCount},null)]),n("次")]),t("p",{class:e.TrainDataItemsubTitle},[n("作业次数")])]),t("div",{class:e.TrainDataItem},[t("p",{class:e.TrainDataItemTitle},[t("span",null,[t(A,{from:0,to:d.value.totalStudentCount},null)]),n("人次")]),t("p",{class:e.TrainDataItemsubTitle},[n("应交总人次")])]),t("div",{class:e.TrainDataItem},[t("p",{class:e.TrainDataItemTitle},[t("span",null,[t(A,{from:0,to:d.value.submitStudentCount},null)]),n("人次")]),t("p",{class:e.TrainDataItemsubTitle},[n("提交总人次")])]),t("div",{class:e.TrainDataItem},[t("p",{class:e.TrainDataItemTitle},[t("span",null,[" ",t(A,{from:0,to:d.value.qualifiedStudentCount},null)]),n("人次")]),t("p",{class:e.TrainDataItemsubTitle},[n("合格总人次")])]),t("div",{class:e.TrainDataItem},[t("p",{class:e.TrainDataItemTitle},[t("span",null,[t(A,{from:0,to:d.value.trainingRate},null),n("%")])]),t("p",{class:e.TrainDataItemsubTitle},[n("作业提交率")])]),t("div",{class:e.TrainDataItem},[t("p",{class:e.TrainDataItemTitle},[t("span",null,[t(A,{from:0,to:d.value.qualifiedRate},null),n("%")])]),t("p",{class:e.TrainDataItemsubTitle},[n("作业合格率")])])]),t("div",{class:e.TrainDataTopRight},[t("div",{onClick:()=>{u.value=!u.value,T()},class:[e.DataTopRightItem,u.value?"":e.DataTopRightItemDis]},[t("div",{class:e.DataTopRightDot},null),t("p",null,[n("合格人数")])]),t("div",{onClick:()=>{c.value=!c.value,T()},class:[e.DataTopRightItem,c.value?"":e.DataTopRightItemDis]},[t("div",{class:[e.DataTopRightDot,e.red]},null),t("p",null,[n("不合格人数")])])])]),t("div",{class:e.chatrs},[t("div",{ref:l,style:{height:p.height,width:p.width}},null)]),t("div",{class:e.tableWrap},[t(Y,{class:e.classTable,loading:a.loading,columns:s(),data:a.tableList},{empty:()=>t(U,null,null)}),t(_,{page:a.pagination.page,"onUpdate:page":i=>a.pagination.page=i,pageSize:a.pagination.rows,"onUpdate:pageSize":i=>a.pagination.rows=i,pageTotal:a.pagination.pageTotal,"onUpdate:pageTotal":i=>a.pagination.pageTotal=i,onList:C,sync:!0},null)])])])}}),yt=k({name:"home-practiceData",props:{timer:{type:Array,defaut:()=>[]}},setup(h,{expose:w}){const l=D(null),{setOptions:o}=z(l),u=D(!0),c=x({height:"360px",width:"100%",practiceUserCount:0,paymentAmount:0,practiceDurationAvg:0,practiceDays:0,practiceDurationTotal:0,dateList:[],timeList:[]}),g=x({loading:!1,pagination:{page:1,rows:10,pageTotal:4},tableList:[],goCourseVisiable:!1}),m=O(()=>h.timer),p=()=>[{title:"日期",key:"date"},{title:"练习人数",key:"practiceUserCount",render(r){return t(y,null,[r.practiceUserCount,n("人")])}},{title:"平均练习时长(分钟)",key:"practiceDuration",render(r){return t(y,null,[" ",t(y,null,[r.practiceDuration?L(r.practiceDuration)>0?L(r.practiceDuration)+"分"+E(r.practiceDuration)+"秒":E(r.practiceDuration)+"秒":"0分钟"])])}}],d=async()=>{try{const r=await lt({page:1,rows:999,...R(m.value,["startTime","endTime"],"YYYY-MM-DD")}),s=await mt({page:1,rows:999,...R(m.value,["startTime","endTime"],"YYYY-MM-DD")});g.tableList=r.data.rows,c.practiceDurationAvg=s.data.practiceDurationAvg,c.practiceUserCount=s.data.practiceUserCount,c.dateList=s.data.trainingStatDetailList.map(v=>v.date),c.timeList=s.data.trainingStatDetailList.map(v=>v.practiceUserCount),console.log("trainingStatDetailList",c.timeList),a()}catch(r){console.log(r)}};w({getList:d});const a=()=>{o({tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},legend:{show:!1,selected:{练习人数:u.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:r=>Array.isArray(r)?[r[0].axisValueLabel,...r.map(s=>"<br/>".concat(s.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(s.value,"人 </span>"))].join(""):r})};return I(()=>{d()}),()=>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(A,{from:0,to:c.practiceUserCount},null)]),n("人")]),t("p",{class:e.TrainDataItemsubTitle},[n("练习人数")])]),t("div",{class:e.TrainDataItem},[t("p",{class:e.TrainDataItemTitle},[L(c.practiceDurationAvg)>0?t("div",null,[t("span",null,[t(A,{from:0,to:L(c.practiceDurationAvg)},null)])," ",n("分")]):null,t("div",null,[t("span",null,[t(A,{from:0,to:E(c.practiceDurationAvg)},null)])," ",n("秒")])]),t("p",{class:e.TrainDataItemsubTitle},[n("平均练习时长")])])]),t("div",{class:e.TrainDataTopRight},[t("div",{class:[e.DataTopRightItem,u.value?"":e.DataTopRightItemDis]},[t("div",{class:[e.DataTopRightDot,e.DataTopRightDotBlue]},null),t("p",null,[n("练习人数")])])])]),t("div",{class:e.chatrs},[t("div",{ref:l,style:{height:c.height,width:c.width}},null)]),t("div",{class:e.tableWrap},[t(Y,{class:e.classTable,loading:g.loading,columns:p(),data:g.tableList},{empty:()=>t(U,null,null)})])])])}}),ht=k({name:"student-studentList",props:{timer:{type:Array,defaut:()=>[]}},setup(h,{emit:w,expose:l}){const o=x({searchWord:"",orchestraType:null,courseTypeCode:null,subjectId:null,classId:null,studentType:null,loading:!1,pagination:{page:1,rows:10,pageTotal:4},tableList:[]}),u=x({ase:0,sortType:1}),c=O(()=>(console.log("ranking===>"),h.timer)),g=async()=>{o.loading=!0;try{const s=await nt({...o.pagination,...u,...R(c.value,["startTime","endTime"],"YYYY-MM-DD")});o.tableList=s.data.rows,o.pagination.pageTotal=s.data.total,o.loading=!1}catch(s){o.loading=!1,console.log(s)}};l({getList:g}),I(()=>{g()});const m=s=>{if(!s)u.ase=0,u.sortType=1,p.sortOrder=!1,d.sortOrder=!1,a.sortOrder=!1;else{const v={practiceDuration:1,practiceDays:2,practiceDurationAvg:3};u.sortType=v[s.columnKey],s.columnKey=="practiceDuration"&&(d.sortOrder=s.order,p.sortOrder=!1,a.sortOrder=!1),s.columnKey=="practiceDays"&&(p.sortOrder=s.order,d.sortOrder=!1,a.sortOrder=!1),s.columnKey=="practiceDurationAvg"&&(a.sortOrder=s.order,p.sortOrder=!1,d.sortOrder=!1),u.ase=s.order=="ascend"?1:0}g()},p=x({title:"练习天数",key:"practiceDays",sorter:!0,sortOrder:!1,render(s){return t(y,null,[s.practiceDays?s.practiceDays:0,n("天")])}}),d=x({title:"练习总时长",key:"practiceDuration",sorter:!0,sortOrder:!1,render(s){return t(y,null,[s.practiceDuration?L(s.practiceDuration)>0?L(s.practiceDuration)+"分"+E(s.practiceDuration)+"秒":E(s.practiceDuration)+"秒":0])}}),a=x({title:"平均练习时长",key:"practiceDurationAvg",sorter:!0,sortOrder:!1,render(s){return t(y,null,[s.practiceDurationAvg?L(s.practiceDurationAvg)>0?L(s.practiceDurationAvg)+"分"+E(s.practiceDurationAvg)+"秒":E(s.practiceDurationAvg)+"秒":0])}}),r=()=>[{title:"姓名",key:"studentName"},{title:"手机号",key:"studentPhone"},p,d,a];return()=>t("div",{class:e.listWrap},[t("div",{class:e.tableWrap},[t(Y,{class:e.classTable,loading:o.loading,columns:r(),data:o.tableList,"onUpdate:sorter":m},{empty:()=>t(U,null,null)}),t(_,{page:o.pagination.page,"onUpdate:page":s=>o.pagination.page=s,pageSize:o.pagination.rows,"onUpdate:pageSize":s=>o.pagination.rows=s,pageTotal:o.pagination.pageTotal,"onUpdate:pageTotal":s=>o.pagination.pageTotal=s,onList:g,sync:!0},null)])])}}),Dt=k({name:"data-guide",emits:["close"],setup(h,{emit:w}){const l=x({box:{height:"0px"},show:!1,steps:[{ele:"",eleRect:{},img:N("data1.png"),handStyle:{top:"0.91rem"},imgStyle:{top:f(-4),left:f(-100),width:f(472),height:f(256)},btnsStyle:{bottom:f(30),left:f(-110)},boxStyle:{borderRadius:"25px"},eleRectPadding:{left:14,top:14,width:28,height:28}},{ele:"",img:N("data2.png"),imgStyle:{top:f(-4),left:f(-100),width:f(509),height:f(230)},btnsStyle:{bottom:f(30),left:f(-110)},boxStyle:{borderRadius:"25px"},eleRectPadding:{left:14,top:14,width:28,height:28}},{ele:"",img:N("data3.png"),imgStyle:{top:"100%",left:f(-105),width:f(438),height:f(230)},btnsStyle:{bottom:f(30),left:f(-115)},boxStyle:{borderRadius:"25px"},eleRectPadding:{left:14,top:14,width:28,height:28}}],step:0}),o=D(!1),u=D({});(async()=>{var a;try{const r=await rt({guideTag:"teacher-guideInfo"});r.data?u.value=JSON.parse((a=r.data)==null?void 0:a.guideValue)||null:u.value={},u.value&&u.value.dataGuide?o.value=!1:o.value=!0}catch(r){console.log(r)}})();const g=()=>{var r,s,v,C;const a=document.getElementById("data-".concat(l.step));if(a){const T=a.getBoundingClientRect(),i=((r=l.steps[l.step].eleRectPadding)==null?void 0:r.left)||0,b=((s=l.steps[l.step].eleRectPadding)==null?void 0:s.top)||0,V=((v=l.steps[l.step].eleRectPadding)==null?void 0:v.width)||0,j=((C=l.steps[l.step].eleRectPadding)==null?void 0:C.height)||0;l.box={left:T.x-i+"px",top:T.y-b+"px",width:T.width+V+"px",height:T.height+j+"px"},console.log("coai-".concat(l.step),l.box)}else p()};I(()=>{g(),window.addEventListener("resize",m)});const m=()=>{g()};J(()=>{window.removeEventListener("resize",m)});const p=()=>{if(l.step>=4){d();return}l.step=l.step+1,g()},d=async()=>{u.value?u.value.dataGuide=!0:u.value={dataGuide:!0};try{const a=await ot({guideTag:"teacher-guideInfo",guideValue:JSON.stringify(u.value)})}catch(a){console.log(a)}o.value=!1};return()=>t(y,null,[o.value?Q(t("div",{"onUpdate:show":a=>o.value=a,class:["n-modal-mask","n-modal-mask-guide"]},[t("div",{class:S.content,onClick:()=>p()},[t("div",{class:S.backBtn,onClick:a=>{a.stopPropagation(),d()}},[n("跳过")]),t("div",{class:S.box,style:{...l.box,...l.steps[l.step].boxStyle},id:"modeType-".concat(l.step)},[l.steps.map((a,r)=>{var s,v,C,T;return t("div",{onClick:i=>i.stopPropagation(),class:S.item,style:a.type=="bottom"?{display:r===l.step?"":"none",left:"".concat((s=a.eleRect)==null?void 0:s.left,"px"),top:"-".concat((v=a.imgStyle)==null?void 0:v.height)}:{display:r===l.step?"":"none",left:"".concat((C=a.eleRect)==null?void 0:C.left,"px"),top:"".concat((T=l.box)==null?void 0:T.height)}},[t("img",{class:S.img,style:a.imgStyle,src:a.img},null),t("div",{class:S.btns,style:a.btnsStyle},[l.step+1==l.steps.length?t(y,null,[t("div",{class:[S.endBtn],onClick:()=>d()},[n("完成")]),t("div",{class:S.nextBtn,onClick:()=>{l.step=0,g()}},[n("再看一遍")])]):t("div",{class:S.btn,onClick:()=>p()},[n("下一步 ("),l.step+1,n("/"),l.steps.length,n(")")])])])})])])]),[[H,o.value,"show"]]):null])}}),Rt=k({name:"data-module",setup(){const h=D("training"),w=M();et(a=>{a.form.tabName&&(h.value=a.form.tabName)});const l=D(),o=D(),u=D(),c=a=>{at(a,"tabName",w)},g=D(!1),m=D([$(new Date().getTime()),q(new Date().getTime())]),p=()=>{console.log(m.value),l.value&&l.value.getList(),o.value&&o.value.getList(),u.value&&u.value.getList()},d=()=>{console.log("点击重置"),m.value=[$(new Date().getTime()),q(new Date().getTime())],tt(()=>{p()})};return I(()=>{setTimeout(()=>{g.value=!0},500)}),()=>t("div",null,[t("div",{class:B.listWrap},[t(X,{"onUpdate:value":[a=>c(a),a=>h.value=a],class:B.customTabs,value:h.value,size:"large",animated:!1,"pane-wrapper-style":"margin: 0 -4px","pane-style":"padding-left: 4px; padding-right: 4px; box-sizing: border-box;"},{default:()=>[t(F,{name:"training",tab:"作业统计"},{default:()=>[t(ft,{ref:l,timer:m.value},null)],tab:()=>t("span",{id:"data-0"},[n("作业统计")])}),t(F,{name:"practice",tab:"学练数据"},{default:()=>[t(yt,{ref:o,timer:m.value},null)],tab:()=>t("span",{id:"data-1"},[n("学练数据")])}),t(F,{name:"ranking",tab:"学练排行"},{default:()=>[t(ht,{ref:u,timer:m.value},null)],tab:()=>t("span",{id:"data-2"},[n("学练排行")])})],suffix:()=>t(y,null,[t("div",{class:B.homeStudyInfoDate},[t(W,null,{default:()=>[t(st,Z({clearable:!1},{value:m.value,"onUpdate:value":a=>m.value=a,separator:"-",type:"daterange",timerValue:m.value}),null),t(P,{type:"primary",class:B.searchBtn,onClick:()=>p()},{default:()=>[n("搜索")]}),t(P,{type:"primary",onClick:()=>d(),ghost:!0,class:B.resetBtn},{default:()=>[n("重置")]})]})])])}),g.value?t(Dt,null,null):null])])}});export{Rt as default};
|