import{d as C,U,q as k,r as D,x as N,af as R,D as d,y as O,a8 as P,a as n,S as M,A as l,C as A,V as Q,a2 as K,E as H,z as F,_ as $}from"./index-618de94a.js";import{e as p,Q as f,C as q,D as z,K as V,P as j,i as W,A as G,a as X,R as Y}from"./index-8eaad674.js";import{M as E}from"./index-3c640b6c.js";import{u as J,a as Z}from"./index-af130878.js";import{S as ee,a as te}from"./index-75eea76b.js";import{I as ne}from"./index-7812c01a.js";import"./index-93d23e9b.js";import"./index-d88dfb54.js";import"./index-a24f2213.js";const se="_unitDetail_13q27_1",ie="_unitSwipe_13q27_9",oe="_questionTitle_13q27_12",ae="_questionNum_13q27_21",ue="_questionType_13q27_24",le="_wapList_13q27_31",re="_btnSection_13q27_37",ce="_prevBtn_13q27_42",de="_nextBtn_13q27_43",pe="_activePrevBtn_13q27_44",fe="_right_13q27_67",ve="_error_13q27_70",we="_minutes_13q27_73",i={unitDetail:se,unitSwipe:ie,questionTitle:oe,questionNum:ae,questionType:ue,wapList:le,btnSection:re,prevBtn:ce,nextBtn:de,activePrevBtn:pe,right:fe,error:ve,minutes:we};function Ie(r){return typeof r=="function"||Object.prototype.toString.call(r)==="[object Object]"&&!K(r)}const ge=C({name:"unit-detail",setup(){const r=U(),y=k(),v=D(),e=N({type:r.query.type,knowledgePointIds:r.query.knowledgePointIds,lessonCoursewareId:r.query.lessonCoursewareId,studentUnitExaminationId:"",background:"transparent",color:"#fff",visiableAnswer:!1,examDetail:{},currentIndex:0,time:0,questionList:[],visiableInfo:{show:!1,operationType:"RESULT",type:"DEFAULT",content:"",showCancelButton:!1,confirmButtonText:"",cancelButtonText:"",title:""},nextStatus:!1,swipeHeight:"auto",countDownOver:!1}),u=R({time:e.time,onChange(s){if(3e5>=s.total&&!e.countDownOver){if(e.visiableInfo.show){e.countDownOver=!0;return}e.visiableInfo.show=!0,e.visiableInfo.title="倒计时5分钟",e.visiableInfo.showCancelButton=!1,e.visiableInfo.operationType="TIME",e.visiableInfo.type="COUNTDOWN",e.visiableInfo.confirmButtonText="确认",e.visiableInfo.content="距离交卷时间还剩五分钟哦,请尽快答题~",e.countDownOver=!0}},onFinish:async()=>{p.emit("unitAudioStop"),await m(),x()}}),g=async()=>{try{let s={};if(e.type==="ai"){const{data:t}=await d.post("/edu-app/studentUnitExamination/pointRandomSave",{data:{knowledgePointIds:e.knowledgePointIds}});s=t||{}}else{const{data:t}=await d.post("/edu-app/studentUnitExamination/mockExamination",{data:{lessonCoursewareId:e.lessonCoursewareId,knowledgePointIds:e.knowledgePointIds}});s=t||{}}s.examinationQuestionAdds.forEach(t=>{t.showAnalysis=!1,t.analysis={message:t.answerAnalysis,topic:!0,userResult:!1},t.userAnswer=[]}),e.questionList=s.examinationQuestionAdds||[],e.studentUnitExaminationId=s.unitExaminationId,e.examDetail=s||{},S()}catch(s){}},S=async()=>{const t=(e.examDetail||{}).timeMinutes||0;e.time=Math.ceil(t*60*1e3),setTimeout(()=>{u.reset(t*60*1e3),u.start()},10)},L=async()=>{var s,t;e.nextStatus=!0;try{const a=e.questionList||[],o=a[e.currentIndex];if(((s=o==null?void 0:o.userAnswer)==null?void 0:s.length)<=0){H("题目尚未做答"),e.nextStatus=!1;return}const h=[];if(a.forEach((c,T)=>{c.userAnswer&&c.userAnswer.length>0&&h.push({questionId:c.id,details:c.userAnswer})}),e.questionList.length===e.currentIndex+1){p.emit("unitAudioStop"),e.visiableInfo.show=!0,e.visiableInfo.title="测验完成",e.visiableInfo.showCancelButton=!0,e.visiableInfo.operationType="CONTINUE",e.visiableInfo.type="DEFAULT",e.visiableInfo.cancelButtonText="再等等",e.visiableInfo.confirmButtonText="确认完成",e.visiableInfo.content="确认本次测验的题目都完成了吗?",e.nextStatus=!1,x();return}await d.post("/edu-app/studentUnitExamination/submitAnswer",{hideLoading:!0,data:{answers:h,studentUnitExaminationId:e.studentUnitExaminationId}}),(t=v.value)==null||t.next()}catch(a){}e.nextStatus=!1};let b=0;const w=(s=!0)=>{F(()=>{s&&window.scrollTo(0,0),setTimeout(()=>{var c;const t=(c=document.querySelectorAll(".van-swipe-item")[e.currentIndex])==null?void 0:c.querySelector(".swipe-item-question"),a=t==null?void 0:t.querySelectorAll(".answerTitleImg img");let o=!0;a==null||a.forEach(T=>{T.complete||(o=!1)}),!o&&b<3&&setTimeout(()=>{b+=1,w(s)},300),o&&(b=0);const h=$(t);e.swipeHeight=h.height},100)})},_=()=>{e.visiableInfo.operationType==="RESULT"?(e.visiableInfo.show=!1,y.back(),y.back()):e.visiableInfo.operationType==="BACK"||e.visiableInfo.operationType==="CONTINUE"?m():e.visiableInfo.operationType==="TIME"&&(e.visiableInfo.show=!1)},B=async s=>{if(e.visiableInfo.operationType==="BACK"){if(s){e.visiableInfo.show=!1,window.history.pushState(null,"",document.URL),window.addEventListener("popstate",I,!1);return}try{await d.get("/edu-app/studentUnitExamination/dropExamination",{params:{studentUnitExaminationId:e.studentUnitExaminationId}}),e.visiableInfo.show=!1,x()}catch(t){}}else e.visiableInfo.operationType==="CONTINUE"&&(e.visiableInfo.show=!1,window.history.pushState(null,"",document.URL),window.addEventListener("popstate",I,!1))},m=async()=>{try{const s=e.questionList||[],t=[];s.forEach(o=>{o.userAnswer&&o.userAnswer.length>0&&t.push({questionId:o.id,details:o.userAnswer})});const{data:a}=await d.post("/edu-app/studentUnitExamination/completionExamination",{hideLoading:!1,data:{answers:t,studentUnitExaminationId:e.studentUnitExaminationId}});e.visiableInfo.show=!0,e.visiableInfo.title=a.score+"分",e.visiableInfo.showCancelButton=!1,e.visiableInfo.operationType="RESULT",e.visiableInfo.confirmButtonText="确认",a.status==="A_EXCELLENT"?(e.visiableInfo.type="GOOD",e.visiableInfo.content="
你很棒,题目掌握的非常不错,"):a.status==="B_PASS"?(e.visiableInfo.type="PASS",e.visiableInfo.content="
还需要加油哦,"):(e.visiableInfo.type="FAIL",e.visiableInfo.content="
别气馁,继续努力,"),e.visiableInfo.content+=`您本次获得了${a.score}分,正确率${a.rightRate}%,实际用时${Math.ceil(a.answerTime/60)}分钟~
`}catch(s){}},I=()=>{e.visiableInfo.show=!0,e.visiableInfo.title="确认要离开吗?",e.visiableInfo.showCancelButton=!0,e.visiableInfo.operationType="BACK",e.visiableInfo.type="DEFAULT",e.visiableInfo.cancelButtonText="弃考",e.visiableInfo.confirmButtonText="提交",e.visiableInfo.content="还有题目未完成哦,是否要提前交卷?",p.emit("unitAudioStop")},x=()=>{window.removeEventListener("popstate",I,!1),y.back()};return O(async()=>{J(document,"scroll",()=>{const{y:s}=Z();s.value>52?(e.background="#fff",e.color="#323333"):(e.background="transparent",e.color="#fff")}),await g(),w(),window.history.pushState(null,"",document.URL),window.addEventListener("popstate",I,!1)}),P(()=>{p.emit("unitAudioStop")}),()=>{let s;return n("div",{class:i.unitDetail},[n(E,{position:"top"},{default:()=>[n(M,{border:!1,background:e.background,color:e.color},null)]}),n(ee,{loop:!1,showIndicators:!1,ref:v,duration:300,touchable:!1,class:i.unitSwipe,style:{paddingBottom:"12px"},lazyRender:!0,height:e.swipeHeight,onChange:t=>{p.emit("unitAudioStop"),e.currentIndex=t,w()}},Ie(s=e.questionList.map((t,a)=>n(te,null,{default:()=>[n("div",{class:"swipe-item-question"},[t.questionTypeCode===f.RADIO&&n(q,{value:t.userAnswer,"onUpdate:value":o=>t.userAnswer=o,index:a+1,data:t,type:"radio",showAnalysis:t.showAnalysis,analysis:t.analysis},{title:()=>n("div",{class:i.questionTitle},[n("div",{class:i.questionNum},[n("span",null,[e.currentIndex+1]),l("/"),e.questionList.length]),n("div",{class:i.questionType},[u.current.value.minutes+u.current.value.hours*60,l(":"),u.current.value.seconds])])}),t.questionTypeCode===f.CHECKBOX&&n(q,{value:t.userAnswer,"onUpdate:value":o=>t.userAnswer=o,index:a+1,data:t,type:"checkbox",showAnalysis:t.showAnalysis,analysis:t.analysis},{title:()=>n("div",{class:i.questionTitle},[n("div",{class:i.questionNum},[n("span",null,[e.currentIndex+1]),l("/"),e.questionList.length]),n("div",{class:i.questionType},[u.current.value.minutes+u.current.value.hours*60,l(":"),u.current.value.seconds])])}),t.questionTypeCode===f.SORT&&n(z,{value:t.userAnswer,"onUpdate:value":[o=>t.userAnswer=o,()=>{const o=!(t.userAnswer&&t.userAnswer.length>0);w(o)}],data:t,index:a+1,showAnalysis:t.showAnalysis,analysis:t.analysis},{title:()=>n("div",{class:i.questionTitle},[n("div",{class:i.questionNum},[n("span",null,[e.currentIndex+1]),l("/"),e.questionList.length]),n("div",{class:i.questionType},[u.current.value.minutes+u.current.value.hours*60,l(":"),u.current.value.seconds])])}),t.questionTypeCode===f.LINK&&n(V,{value:t.userAnswer,"onUpdate:value":o=>t.userAnswer=o,data:t,index:a+1,showAnalysis:t.showAnalysis,analysis:t.analysis},{title:()=>n("div",{class:i.questionTitle},[n("div",{class:i.questionNum},[n("span",null,[e.currentIndex+1]),l("/"),e.questionList.length]),n("div",{class:i.questionType},[u.current.value.minutes+u.current.value.hours*60,l(":"),u.current.value.seconds])])}),t.questionTypeCode===f.PLAY&&n(j,{value:t.userAnswer,"onUpdate:value":o=>t.userAnswer=o,data:t,index:a+1,unitId:e.studentUnitExaminationId,showAnalysis:t.showAnalysis,analysis:t.analysis},{title:()=>n("div",{class:i.questionTitle},[n("div",{class:i.questionNum},[n("span",null,[e.currentIndex+1]),l("/"),e.questionList.length]),n("div",{class:i.questionType},[u.current.value.minutes+u.current.value.hours*60,l(":"),u.current.value.seconds])])})])]})))?s:{default:()=>[s]}),n(E,{position:"bottom"},{default:()=>[n("div",{class:["btnGroup btnMore",i.btnSection]},[n(A,{round:!0,block:!0,class:e.currentIndex>0?i.activePrevBtn:i.prevBtn,disabled:!(e.currentIndex>0),onClick:()=>{var t;(t=v.value)==null||t.prev()}},{default:()=>[l("上一题")]}),n(A,{block:!0,round:!0,class:i.nextBtn,onClick:L,loading:e.nextStatus,disabled:e.nextStatus},{default:()=>[e.questionList.length===e.currentIndex+1?"提交":"下一题"]}),n(ne,{src:W,class:[i.wapList,"van-haptics-feedback"],onClick:()=>e.visiableAnswer=!0},null)])]}),n(G,{show:e.visiableAnswer,"onUpdate:show":t=>e.visiableAnswer=t,title:"题目列表",safeAreaInsetBottom:!0},{default:()=>[n(X,{value:e.questionList,onSelect:t=>{var a;(a=v.value)==null||a.swipeTo(t,{immediate:!0}),e.visiableAnswer=!1}},null)]}),n(Q,{show:e.visiableInfo.show,"onUpdate:show":t=>e.visiableInfo.show=t,closeOnClickOverlay:!1,style:{background:"transparent",width:"100%",maxWidth:"100%",transform:"translateY(-55%)"}},{default:()=>[n(Y,{title:e.visiableInfo.title,showCancelButton:e.visiableInfo.showCancelButton,cancelButtonText:e.visiableInfo.cancelButtonText,confirmButtonText:e.visiableInfo.confirmButtonText,status:e.visiableInfo.type,content:e.visiableInfo.content,closeable:e.visiableInfo.operationType==="BACK",contentHtml:!0,onConform:_,onClose:B},null)]})])}}});export{ge as default};