2026-05-12
This commit is contained in:
1
training/codes/training-system-frontend/dist/assets/js/taking-BZf9dyec.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/taking-BZf9dyec.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{D as z,o as K,a8 as P,J as n,Q as f,U as o,a1 as s,W as A,F as w,al as V,R as I,S as r,K as y,$ as W,aZ as Z,a_ as H,r as c,e as M,at as k,a0 as m}from"./vue-vendor-BSww6V4k.js";import{E as T,d as O}from"./element-plus-DvNsnHjj.js";import{e as X}from"./exam-qzu6wP5U.js";import{s as Y}from"./studentExam-BmT_VHnw.js";import{_ as ee}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";const te={class:"exam-taking"},ae={class:"exam-header"},oe={class:"exam-title"},se={class:"exam-meta"},le={class:"exam-body"},ne={class:"answer-card"},ue={class:"question-dots"},re=["onClick"],ie={class:"question-area"},de={key:0,class:"question-card"},ve={class:"question-header"},ce={class:"question-index"},me={class:"question-score"},pe={class:"question-type"},_e={class:"question-content"},fe={class:"nav-buttons"},ye=z({__name:"taking",setup(ke){const S=Z(),C=H(),B=Number(S.params.examId),b=Number(S.query.recordId),$=c(""),E=c(0),U=c(0),p=c(0),_=c([]),u=c({}),g=c({}),v=c(0);let i=null;const a=M(()=>_.value[v.value]||null),D=M(()=>{const d=Math.floor(p.value/60),e=p.value%60;return`${String(d).padStart(2,"0")}:${String(e).padStart(2,"0")}`});async function L(){const e=(await X.getExamPaper(b)).data;$.value=e.examTitle,E.value=e.totalScore,U.value=e.duration,p.value=e.remainingSeconds??e.duration*60,_.value=e.questions||[];for(const l of _.value)l.userAnswer&&(u.value[l.questionId]=l.userAnswer,l.type==="MULTI"&&(g.value[l.questionId]=l.userAnswer.split(",").filter(Boolean)));R()}function R(){i&&clearInterval(i),i=setInterval(()=>{p.value>0?p.value--:(i&&clearInterval(i),T.warning("考试时间已到,自动交卷"),N())},1e3)}function F(d){u.value[d]=(g.value[d]||[]).join(",")}async function N(){await Y.submit(b,u.value),C.push(`/exam/result/${B}?recordId=${b}`)}async function G(){const d=_.value.filter(l=>!u.value[l.questionId]);let e="确定要交卷吗?";d.length>0&&(e+=` 还有 ${d.length} 道题未作答。`),await O.confirm(e,"交卷确认",{type:"warning"}),i&&clearInterval(i),await N()}return K(()=>{if(!b){T.error("考试记录ID缺失"),C.back();return}L()}),P(()=>{i&&clearInterval(i)}),(d,e)=>{const l=k("el-button"),x=k("el-radio"),h=k("el-radio-group"),J=k("el-checkbox"),Q=k("el-checkbox-group"),j=k("el-input");return n(),f("div",te,[o("div",ae,[o("div",oe,s($.value),1),o("div",se,[o("span",null,"总分:"+s(E.value)+"分",1),o("span",null,"时长:"+s(U.value)+"分钟",1),o("span",{class:A(["timer",{warning:p.value<=300}])},"剩余时间:"+s(D.value),3)])]),o("div",le,[o("div",ne,[e[8]||(e[8]=o("div",{class:"card-title"},"答题卡",-1)),o("div",ue,[(n(!0),f(w,null,V(_.value,(t,q)=>(n(),f("div",{key:t.questionId,class:A(["dot",{answered:!!u.value[t.questionId],current:v.value===q}]),onClick:Ie=>v.value=q},s(q+1),11,re))),128))]),I(l,{type:"primary",style:{width:"100%","margin-top":"16px"},onClick:G},{default:r(()=>[...e[7]||(e[7]=[m("交卷",-1)])]),_:1})]),o("div",ie,[a.value?(n(),f("div",de,[o("div",ve,[o("span",ce,"第 "+s(v.value+1)+" 题",1),o("span",me,"("+s(a.value.score)+"分)",1),o("span",pe,s(a.value.typeName||a.value.type),1)]),o("div",_e,s(a.value.content),1),a.value.type==="SINGLE"?(n(),y(h,{key:0,modelValue:u.value[a.value.questionId],"onUpdate:modelValue":e[0]||(e[0]=t=>u.value[a.value.questionId]=t),class:"option-group"},{default:r(()=>[(n(!0),f(w,null,V(a.value.options,t=>(n(),y(x,{key:t.key,label:t.key,border:""},{default:r(()=>[m(s(t.key)+". "+s(t.value),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])):a.value.type==="MULTI"?(n(),y(Q,{key:1,modelValue:g.value[a.value.questionId],"onUpdate:modelValue":e[1]||(e[1]=t=>g.value[a.value.questionId]=t),class:"option-group",onChange:e[2]||(e[2]=t=>F(a.value.questionId))},{default:r(()=>[(n(!0),f(w,null,V(a.value.options,t=>(n(),y(J,{key:t.key,label:t.key,border:""},{default:r(()=>[m(s(t.key)+". "+s(t.value),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])):a.value.type==="JUDGE"?(n(),y(h,{key:2,modelValue:u.value[a.value.questionId],"onUpdate:modelValue":e[3]||(e[3]=t=>u.value[a.value.questionId]=t),class:"option-group"},{default:r(()=>[I(x,{label:"true",border:""},{default:r(()=>[...e[9]||(e[9]=[m("正确",-1)])]),_:1}),I(x,{label:"false",border:""},{default:r(()=>[...e[10]||(e[10]=[m("错误",-1)])]),_:1})]),_:1},8,["modelValue"])):(n(),y(j,{key:3,modelValue:u.value[a.value.questionId],"onUpdate:modelValue":e[4]||(e[4]=t=>u.value[a.value.questionId]=t),type:"textarea",rows:6,placeholder:"请输入答案"},null,8,["modelValue"]))])):W("",!0),o("div",fe,[I(l,{disabled:v.value===0,onClick:e[5]||(e[5]=t=>v.value--)},{default:r(()=>[...e[11]||(e[11]=[m("上一题",-1)])]),_:1},8,["disabled"]),I(l,{disabled:v.value===_.value.length-1,onClick:e[6]||(e[6]=t=>v.value++)},{default:r(()=>[...e[12]||(e[12]=[m("下一题",-1)])]),_:1},8,["disabled"])])])])])}}}),Se=ee(ye,[["__scopeId","data-v-c63f20c7"]]);export{Se as default};
|
||||
Reference in New Issue
Block a user