index-2014007c.js 9.3 KB

1
  1. import{d as R,U as N,q as U,r as P,x as O,e as M,y as D,ag as Q,a as n,S as H,A as c,C as q,V as C,a1 as K,D as x,z as $,Z as z}from"./index-fac4d009.js";import{e as v,Q as p,C as g,D as V,K as j,P as F,i as W,A as Y,a as G,E as X,R as Z}from"./index-5a189fe4.js";import{M as m}from"./index-bc672952.js";import{b as J,u as ee,a as se}from"./index-5c4f5cd3.js";import{S as ne,a as te}from"./index-1701cc18.js";import{I as oe}from"./index-fdcc93f3.js";import"./index-3834f2c2.js";import"./index-a0c979fe.js";import"./index-5cba6af7.js";const ae="_unitDetail_11n89_1",ie="_unitSwipe_11n89_9",le="_questionTitle_11n89_12",ue="_questionNum_11n89_21",re="_questionType_11n89_24",ce="_wapList_11n89_42",de="_btnSection_11n89_48",pe="_prevBtn_11n89_53",fe="_nextBtn_11n89_54",ve="_activePrevBtn_11n89_55",we="_right_11n89_78",ye="_error_11n89_81",a={unitDetail:ae,unitSwipe:ie,questionTitle:le,questionNum:ue,questionType:re,wapList:ce,btnSection:de,prevBtn:pe,nextBtn:fe,activePrevBtn:ve,right:we,error:ye};function he(u){return typeof u=="function"||Object.prototype.toString.call(u)==="[object Object]"&&!K(u)}const Be=R({name:"unit-detail",setup(){const u=N(),h=U(),d=P(),e=O({type:u.query.type,knowledgePointIds:u.query.knowledgePointIds,lessonCoursewareId:u.query.lessonCoursewareId,background:"transparent",color:"#fff",visiableError:!1,visiableAnswer:!1,id:u.query.id,currentIndex:0,questionList:[],visiableInfo:{show:!1,operationType:"RESULT",type:"DEFAULT",content:"",showCancelButton:!1,confirmButtonText:"",cancelButtonText:"",title:""},nextStatus:!1,swipeHeight:"auto",answerAnalysis:"",questionTypeCode:"",overResult:{time:"00:00",questionLength:0,errorLength:0,rate:0}}),{counter:b,resume:be,pause:L}=J(1e3,{controls:!0}),B=async()=>{try{const{data:o}=await x.post("/edu-app/studentUnitExamination/queryPracticeModeExam",{data:{lessonCoursewareId:e.lessonCoursewareId}}),s=o||{};s.examinationQuestionAdds.forEach(t=>{t.showAnalysis=!1,t.analysis={message:t.answerAnalysis,topic:!0,userResult:!1},t.userAnswer=[]}),e.questionList=s.examinationQuestionAdds||[]}catch(o){}},_=async()=>{var o;try{const s=e.questionList||[];let t={};s.forEach((l,r)=>{r===e.currentIndex&&(t={questionId:l.id,details:l.userAnswer||[]})});const{data:i}=await x.post("/edu-app/studentUnitExamination/submitTrainingAnswer",{hideLoading:!0,data:t});if(s.forEach((l,r)=>{r===e.currentIndex&&(e.answerAnalysis=l.answerAnalysis,e.questionTypeCode=l.questionTypeCode,l.showAnalysis=!0,l.analysis.userResult=i)}),e.questionList.length===e.currentIndex+1){v.emit("unitAudioStop"),e.visiableInfo.show=!0,e.visiableInfo.title="练习完成",e.visiableInfo.showCancelButton=!0,e.visiableInfo.operationType="CONTINUE",e.visiableInfo.cancelButtonText="再等等",e.visiableInfo.confirmButtonText="确认完成",e.visiableInfo.content="确认本次练习的题目都完成了吗?";return}i?(o=d.value)==null||o.next():e.visiableError=!0}catch(s){}},I=M(()=>{const o=e.questionList||[];let s=0,t=0,i=0;return o.forEach(l=>{l.showAnalysis&&(s+=1,l.analysis.userResult?t+=1:i+=1)}),{count:s,passCount:t,noPassCount:i}});let w=0;const f=(o=!0)=>{$(()=>{o&&window.scrollTo(0,0),setTimeout(()=>{var r;const s=(r=document.querySelectorAll(".van-swipe-item")[e.currentIndex])==null?void 0:r.querySelector(".swipe-item-question"),t=s==null?void 0:s.querySelectorAll(".answerTitleImg img");let i=!0;t==null||t.forEach(A=>{console.log(A.complete),A.complete||(i=!1)}),!i&&w<3&&setTimeout(()=>{w+=1,f(o)},300),i&&(w=0);const l=z(s);e.swipeHeight=l.height},100)})},S=()=>{e.visiableInfo.operationType==="RESULT"?(e.visiableInfo.show=!1,h.back(),T()):e.visiableInfo.operationType==="BACK"?(e.visiableInfo.show=!1,T()):e.visiableInfo.operationType==="CONTINUE"&&k()},E=async()=>{e.visiableInfo.operationType==="RESULT"||(e.visiableInfo.operationType==="BACK"?(e.visiableInfo.show=!1,window.history.pushState(null,"",document.URL),window.addEventListener("popstate",y,!1)):e.visiableInfo.operationType==="CONTINUE"&&(e.visiableInfo.show=!1))},k=()=>{const o=I.value;let s=0;o.count>0&&(s=Math.floor(o.passCount/o.count*100));const t=b.value,i=Math.floor(t/60)>=10?Math.floor(t/60):"0"+Math.floor(t/60),l=t%60>=10?t%60:"0"+t%60;e.overResult={time:i+":"+l,questionLength:o.count,errorLength:o.noPassCount,rate:s},L(),b.value=0,e.visiableInfo.show=!0,e.visiableInfo.title="已完成",e.visiableInfo.showCancelButton=!1,e.visiableInfo.operationType="RESULT",e.visiableInfo.confirmButtonText="确认",e.visiableInfo.content=`<div>您已完成本次测试,答对<span class='${a.right}'>${o.passCount}</span>,答错<span class='${a.error}'>${o.count-o.passCount}</span>,正确率${s}%~</div>`},y=()=>{const o=I.value;e.visiableInfo.show=!0,e.visiableInfo.title="确认退出吗?",e.visiableInfo.showCancelButton=!0,e.visiableInfo.operationType="BACK",e.visiableInfo.cancelButtonText="取消",e.visiableInfo.confirmButtonText="确定",e.visiableInfo.content=`您已经完成${o.passCount+o.noPassCount}道题了,继续做题可以巩固所学知识哦~`,v.emit("unitAudioStop")},T=()=>{window.removeEventListener("popstate",y,!1),h.back()};return D(async()=>{ee(document,"scroll",()=>{const{y:o}=se();o.value>52?(e.background="#fff",e.color="#323333"):(e.background="transparent",e.color="#fff")}),await B(),f(),window.history.pushState(null,"",document.URL),window.addEventListener("popstate",y,!1)}),Q(()=>{v.emit("unitAudioStop")}),()=>{let o;return n("div",{class:a.unitDetail},[n(m,{position:"top"},{default:()=>[n(H,{border:!1,background:e.background,color:e.color},null)]}),n(ne,{loop:!1,showIndicators:!1,ref:d,duration:300,touchable:!1,class:a.unitSwipe,style:{paddingBottom:"12px"},lazyRender:!0,height:e.swipeHeight,onChange:s=>{v.emit("unitAudioStop"),e.currentIndex=s,f()}},he(o=e.questionList.map((s,t)=>n(te,null,{default:()=>[n("div",{class:"swipe-item-question"},[s.questionTypeCode===p.RADIO&&n(g,{value:s.userAnswer,"onUpdate:value":i=>s.userAnswer=i,index:t+1,data:s,type:"radio",showAnalysis:s.showAnalysis,analysis:s.analysis},{title:()=>n("div",{class:a.questionTitle},[n("div",{class:a.questionNum},[n("span",null,[e.currentIndex+1]),c("/"),e.questionList.length]),n("div",{class:a.questionType},[n("i",null,null),n("span",null,[s.knowledgePointName])])])}),s.questionTypeCode===p.CHECKBOX&&n(g,{value:s.userAnswer,"onUpdate:value":i=>s.userAnswer=i,index:t+1,data:s,type:"checkbox",showAnalysis:s.showAnalysis,analysis:s.analysis},{title:()=>n("div",{class:a.questionTitle},[n("div",{class:a.questionNum},[n("span",null,[e.currentIndex+1]),c("/"),e.questionList.length]),n("div",{class:a.questionType},[n("i",null,null),n("span",null,[s.knowledgePointName])])])}),s.questionTypeCode===p.SORT&&n(V,{value:s.userAnswer,"onUpdate:value":[i=>s.userAnswer=i,()=>{const i=!(s.userAnswer&&s.userAnswer.length>0);f(i)}],data:s,index:t+1,showAnalysis:s.showAnalysis,analysis:s.analysis},{title:()=>n("div",{class:a.questionTitle},[n("div",{class:a.questionNum},[n("span",null,[e.currentIndex+1]),c("/"),e.questionList.length]),n("div",{class:a.questionType},[n("i",null,null),n("span",null,[s.knowledgePointName])])])}),s.questionTypeCode===p.LINK&&n(j,{value:s.userAnswer,"onUpdate:value":i=>s.userAnswer=i,data:s,index:t+1,showAnalysis:s.showAnalysis,analysis:s.analysis},{title:()=>n("div",{class:a.questionTitle},[n("div",{class:a.questionNum},[n("span",null,[e.currentIndex+1]),c("/"),e.questionList.length]),n("div",{class:a.questionType},[n("i",null,null),n("span",null,[s.knowledgePointName])])])}),s.questionTypeCode===p.PLAY&&n(F,{value:s.userAnswer,"onUpdate:value":i=>s.userAnswer=i,data:s,index:t+1,unitId:e.id,showAnalysis:s.showAnalysis,analysis:s.analysis},{title:()=>n("div",{class:a.questionTitle},[n("div",{class:a.questionNum},[n("span",null,[e.currentIndex+1]),c("/"),e.questionList.length]),n("div",{class:a.questionType},[n("i",null,null),n("span",null,[s.knowledgePointName])])])})])]})))?o:{default:()=>[o]}),n(m,{position:"bottom"},{default:()=>[n("div",{class:["btnGroup btnMore",a.btnSection]},[n(q,{round:!0,block:!0,class:e.currentIndex>0?a.activePrevBtn:a.prevBtn,disabled:!(e.currentIndex>0),onClick:()=>{var s;(s=d.value)==null||s.prev()}},{default:()=>[c("上一题")]}),n(q,{block:!0,round:!0,class:a.nextBtn,onClick:_,loading:e.nextStatus,disabled:e.nextStatus},{default:()=>[e.questionList.length===e.currentIndex+1?"提交":"下一题"]}),n(oe,{src:W,class:[a.wapList,"van-haptics-feedback"],onClick:()=>e.visiableAnswer=!0},null)])]}),n(Y,{show:e.visiableAnswer,"onUpdate:show":s=>e.visiableAnswer=s,title:"题目列表",safeAreaInsetBottom:!0},{default:()=>[n(G,{value:e.questionList,onSelect:s=>{var t;(t=d.value)==null||t.swipeTo(s,{immediate:!0}),e.visiableAnswer=!1}},null)]}),n(C,{show:e.visiableError,"onUpdate:show":s=>e.visiableError=s,style:{width:"90%"},round:!0,closeOnClickOverlay:!1},{default:()=>[n(X,{onClose:()=>e.visiableError=!1,answerAnalysis:e.answerAnalysis,questionTypeCode:e.questionTypeCode,onConform:()=>{var s;(s=d.value)==null||s.next(),e.answerAnalysis=""}},null)]}),n(C,{show:e.visiableInfo.show,"onUpdate:show":s=>e.visiableInfo.show=s,closeOnClickOverlay:!1,style:{background:"transparent",width:"100%",maxWidth:"100%",transform:"translateY(-55%)"}},{default:()=>[n(Z,{title:e.visiableInfo.title,showCancelButton:e.visiableInfo.showCancelButton,cancelButtonText:e.visiableInfo.cancelButtonText,confirmButtonText:e.visiableInfo.confirmButtonText,status:e.visiableInfo.type,content:e.visiableInfo.content,contentHtml:!0,onConform:S,onClose:E},null)]})])}}});export{Be as default};