lohir
2024-10-17 ac6bbef6786c74e7a86852b1b8bff7f23e8592d8
1
import{_ as L,r as w,o as f,b as m,F as E,h as V,e as t,t as $,n as de,N as C,s as I,c as _e,g as b,d as n,T as ve,x as R,y as z,w as v,l as ee,U as M,V as fe,W as pe,I as U,X as me,O as te,Q as se,Y as xe,Z as O,D as we,$ as ne,f as Q,H as N,a as he,u as ge,M as be,A as ye,a0 as Ae,a1 as $e,a2 as Ie,a3 as Ce,a4 as ke,a5 as Le}from"./index-Daa5jh-U.js";/* empty css                  */import{E as j}from"./index-Qcw-6caP.js";/* empty css                 */import{s as Te}from"./exam-UOedbFbJ.js";import{u as qe}from"./useWebScoket-kRbyd4OX.js";import"./el-tooltip-l0sNRNKZ.js";/* empty css                  */import"./index-B3MU8m7V.js";const Qe={class:"tag-container flex flex-wrap"},Se={class:"tag-item flex items-center"},Ee={class:"label text-xs text-gray-500 mr-2"},Ve={__name:"index",setup(x){const l=w([{name:"已答",bgColor:"#3680fa",borderColor:"#3680fa"},{name:"当前",bgColor:"#ffffff",borderColor:"#3680fa"},{name:"未答",bgColor:"#ffffff",borderColor:"#DCDFE6"}]);return(u,d)=>(f(),m("div",Qe,[(f(!0),m(E,null,V(l.value,s=>(f(),m("div",Se,[t("div",Ee,$(s.name),1),t("div",{class:"tag flex-shrink-0",style:de({backgroundColor:s.bgColor,borderColor:s.borderColor})},null,4)]))),256))]))}},Ue=L(Ve,[["__scopeId","data-v-fa26e5a1"]]),De=x=>(R("data-v-b9392088"),x=x(),z(),x),je={class:"progress-container w-full px-3 py-4 bg-slate-50"},Me={class:"title-container flex justify-between items-center mb-3"},Fe=De(()=>t("div",{class:"title text-gray-600 text-base"},"答题进度",-1)),He={class:"title-num text-sm text-gray-500"},Oe={class:"progress-content mb-3"},Be={class:"exam-info text-sm text-gray-600"},Re={__name:"index",setup(x){const l=C(),{answerProgress:u}=I(l),d=w(l.getAnswerInfo.total),s=w(l.getAnswerInfo.grade),i=_e(()=>Number((u.value/d.value*100).toFixed(0)));return(r,p)=>{const _=ve;return f(),m("div",je,[t("div",Me,[Fe,t("div",He,$(b(u))+" / "+$(d.value),1)]),t("div",Oe,[n(_,{percentage:i.value,"stroke-width":10,"show-text":!1},null,8,["percentage"])]),t("div",Be," 共"+$(d.value)+"题,满分"+$(s.value)+"分 ",1)])}}},ze=L(Re,[["__scopeId","data-v-b9392088"]]),Ne={class:"sheet-container w-full h-full"},Pe={class:"sheet-list grid grid-cols-5 gap-4 justify-items-center"},We=["onClick"],Xe={__name:"index",setup(x){const l=C(),{examDetail:u,currentType:d,currentIndex:s}=I(l),i=w(u.value.map(e=>e.questionType)),r=(e,a,o)=>({answer:e.answer||_(e.answerList),active:d.value===a&&s.value===o}),p=(e,a)=>{d.value=e,s.value=a},_=e=>Array.isArray(e)&&e.length&&e.every(a=>a);return(e,a)=>{const o=fe,c=pe,A=U;return f(),m("div",Ne,[n(A,null,{default:v(()=>[n(c,{modelValue:i.value,"onUpdate:modelValue":a[0]||(a[0]=y=>i.value=y)},{default:v(()=>[(f(!0),m(E,null,V(b(u),y=>(f(),ee(o,{title:y.title,name:y.questionType},{default:v(()=>[t("div",Pe,[(f(!0),m(E,null,V(y.questionList,(S,T)=>(f(),m("div",{class:M(["sheet-item cursor-pointer flex justify-center items-center",r(S,y.questionType,T)]),onClick:P=>p(y.questionType,T)},$(T+1),11,We))),256))])]),_:2},1032,["title","name"]))),256))]),_:1},8,["modelValue"])]),_:1})])}}},Ye=L(Xe,[["__scopeId","data-v-305792cc"]]),Ze=x=>(R("data-v-0d816a90"),x=x(),z(),x),Ge={class:"time-container flex justify-center text-white items-center shadow-md"},Je=Ze(()=>t("div",{class:"label mr-1"},"剩余时间:",-1)),Ke={__name:"index",emits:["timeOut"],setup(x,{expose:l,emit:u}){const d=C(),{examInfo:s}=I(d),i=u,r=w(me().valueOf()+s.value.suggestTime*1e3*60),p=()=>{i("timeOut")};return l({addTime:e=>{r.value=r.value+e*1e3}}),(e,a)=>{const o=se,c=xe;return f(),m("div",Ge,[n(o,{class:"mr-1 text-xl",size:"24"},{default:v(()=>[n(b(te))]),_:1}),Je,n(c,{value:r.value,onFinish:p},null,8,["value"])])}}},et=L(Ke,[["__scopeId","data-v-0d816a90"]]),tt={class:"answer-container w-full h-full"},st={class:"answer-content"},nt=["onClick"],ot={class:"answer-icon flex flex-col justify-center items-center flex-shrink-0"},lt=["innerHTML"],at={__name:"index",setup(x){const l=C(),{currentType:u,currentIndex:d}=I(l),s=w(l.getActiveQuestion),i=e=>{if(e){e.isActive?e.isActive=!e.isActive:(p(),e.isActive=!0);const a=_();let o="";a&&(o=a.prefix),l.setQuestionAnswer(u.value,d.value,o)}},r=e=>(s.value.answer===e.prefix&&(e.isActive=!0),{active:e.isActive||e.prefix===s.value.answer}),p=()=>{s.value.questionItemList.forEach(e=>e.isActive=!1)},_=()=>s.value.questionItemList.find(e=>e.isActive);return(e,a)=>{const o=U;return f(),m("div",tt,[n(o,null,{default:v(()=>[n(j,{class:"mb-5",questionIndex:b(d),activeQuestion:s.value},null,8,["questionIndex","activeQuestion"]),t("div",st,[(f(!0),m(E,null,V(s.value.questionItemList,(c,A)=>(f(),m("div",{class:M(["answer-item flex",r(c)]),onClick:y=>i(c)},[t("div",ot,$(c.prefix),1),t("div",{class:"answer-text text-gray-700",innerHTML:c.content},null,8,lt)],10,nt))),256))])]),_:1})])}}},it=L(at,[["__scopeId","data-v-e861b91f"]]),rt={class:"answer-container w-full h-full"},ct={class:"answer-content"},ut=["onClick"],dt={class:"answer-icon flex flex-col justify-center items-center flex-shrink-0"},_t=["innerHTML"],vt={__name:"index",setup(x){const l=C(),{currentType:u,currentIndex:d}=I(l),s=w(l.getActiveQuestion),i=_=>{if(_){_.isActive=!_.isActive;const e=p();l.setQuestionAnswerList(u.value,d.value,e)}},r=_=>(Array.isArray(s.value.answerList)&&s.value.answerList.includes(_.prefix)&&(_.isActive=!0),{active:_.isActive}),p=()=>s.value.questionItemList.filter(_=>_.isActive).map(_=>_.prefix);return(_,e)=>{const a=U;return f(),m("div",rt,[n(a,null,{default:v(()=>[n(j,{class:"mb-5",questionIndex:b(d),activeQuestion:s.value},null,8,["questionIndex","activeQuestion"]),t("div",ct,[(f(!0),m(E,null,V(s.value.questionItemList,(o,c)=>(f(),m("div",{class:M(["answer-item flex",r(o)]),onClick:A=>i(o)},[t("div",dt,$(o.prefix),1),t("div",{class:"answer-text text-gray-700",innerHTML:o.content},null,8,_t)],10,ut))),256))])]),_:1})])}}},ft=L(vt,[["__scopeId","data-v-1455cbc7"]]),pt={class:"answer-container w-full h-full"},mt={class:"answer-content"},xt=["onClick"],wt={class:"answer-icon flex flex-col justify-center items-center flex-shrink-0"},ht=["innerHTML"],gt={__name:"index",setup(x){const l=C(),{currentType:u,currentIndex:d}=I(l),s=w(l.getActiveQuestion),i=e=>{if(e){e.isActive?e.isActive=!e.isActive:(p(),e.isActive=!0);const a=_();let o="";a&&(o=a.prefix),l.setQuestionAnswer(u.value,d.value,o)}},r=e=>(s.value.answer===e.prefix&&(e.isActive=!0),{active:e.isActive||e.prefix===s.value.answer}),p=()=>{s.value.questionItemList.forEach(e=>e.isActive=!1)},_=()=>s.value.questionItemList.find(e=>e.isActive);return(e,a)=>{const o=U;return f(),m("div",pt,[n(o,null,{default:v(()=>[n(j,{class:"mb-5",questionIndex:b(d),activeQuestion:s.value},null,8,["questionIndex","activeQuestion"]),t("div",mt,[(f(!0),m(E,null,V(s.value.questionItemList,(c,A)=>(f(),m("div",{class:M(["answer-item flex",r(c)]),onClick:y=>i(c)},[t("div",wt,$(c.prefix),1),t("div",{class:"answer-text text-gray-700",innerHTML:c.content},null,8,ht)],10,xt))),256))])]),_:1})])}}},bt=L(gt,[["__scopeId","data-v-50c3f1dc"]]),yt={class:"answer-container w-full h-full"},At={class:"answer-content"},$t={class:"answer-icon flex flex-col justify-center items-center flex-shrink-0"},It={class:"answer-text text-gray-700 grow"},Ct={__name:"index",setup(x){const l=C(),u=w([]),{currentType:d,currentIndex:s}=I(l),i=w(l.getActiveQuestion),r=a=>{a.isActive=!0},p=a=>{a.isActive=!1},_=(a,o)=>(Array.isArray(i.value.answerList)&&i.value.answerList[o]&&(a.isActive=!0),{active:a.isActive}),e=()=>{l.setQuestionAnswerList(d.value,s.value,u.value)};return O(()=>{i.value.questionItemList.forEach((a,o)=>{Array.isArray(i.value.answerList)?u.value[o]=i.value.answerList[o]:u.value[o]=""})}),(a,o)=>{const c=we,A=U;return f(),m("div",yt,[n(A,null,{default:v(()=>[n(j,{class:"mb-5",questionIndex:b(s),activeQuestion:i.value},null,8,["questionIndex","activeQuestion"]),t("div",At,[(f(!0),m(E,null,V(i.value.questionItemList,(y,S)=>(f(),m("div",{class:M(["answer-item flex",_(y,S)])},[t("div",$t,$(y.prefix),1),t("div",It,[n(c,{modelValue:u.value[S],"onUpdate:modelValue":T=>u.value[S]=T,maxlength:"30",placeholder:"请输入内容",class:"answer-input",onFocus:T=>r(y),onBlur:T=>p(y),onChange:T=>e(S)},null,8,["modelValue","onUpdate:modelValue","onFocus","onBlur","onChange"])])],2))),256))])]),_:1})])}}},kt=L(Ct,[["__scopeId","data-v-bc3697a4"]]),Lt={class:"answer-container w-full h-full"},Tt={class:"answer-content"},qt=["onClick"],Qt={class:"answer-icon flex flex-col justify-center items-center flex-shrink-0"},St=["innerHTML"],Et={__name:"index",setup(x){const l=C(),{currentType:u,currentIndex:d}=I(l),s=w(l.getActiveQuestion),i=e=>{if(e){e.isActive?e.isActive=!e.isActive:(p(),e.isActive=!0);const a=_();let o="";a&&(o=a.prefix),l.setQuestionAnswer(u.value,d.value,o)}},r=e=>(s.value.answer===e.prefix&&(e.isActive=!0),{active:e.isActive||e.prefix===s.value.answer}),p=()=>{s.value.questionItemList.forEach(e=>e.isActive=!1)},_=()=>s.value.questionItemList.find(e=>e.isActive);return(e,a)=>{const o=U;return f(),m("div",Lt,[n(o,null,{default:v(()=>[n(j,{class:"mb-5",questionIndex:b(d),activeQuestion:s.value},null,8,["questionIndex","activeQuestion"]),t("div",Tt,[(f(!0),m(E,null,V(s.value.questionItemList,(c,A)=>(f(),m("div",{class:M(["answer-item flex",r(c)]),onClick:y=>i(c)},[t("div",Qt,$(c.prefix),1),t("div",{class:"answer-text text-gray-700",innerHTML:c.content},null,8,St)],10,qt))),256))])]),_:1})])}}},Vt=L(Et,[["__scopeId","data-v-3dbff9d6"]]),Ut={class:"answer-container w-full h-full"},Dt={class:"answer-content"},K={__name:"index",setup(x){const l=C(),u={serverUrl:"/api/path/to/server",UEDITOR_HOME_URL:"/static/UEditorPlus/",UEDITOR_CORS_URL:"/static/UEditorPlus/",initialFrameWidth:"95%",initialFrameHeight:400,toolbars:[["fullscreen","undo","redo","|","fontfamily","fontsize","|","forecolor","backcolor","bold","italic","underline","strikethrough","|","removeformat","formatmatch","autotypeset","blockquote","pasteplain","|","inserttable","deletetable","insertparagraph","insertrow","deleterow","insertcol","deletecol","mergecells","mergerow","mergecol","splittocells","splittorows","splittocols","|","formula"]]},{currentType:d,currentIndex:s}=I(l),i=w(l.getActiveQuestion),r=w(i.value.answer),p=()=>{console.log(r.value)};return O(()=>{l.setQuestionAnswer(d.value,s.value,r.value)}),(_,e)=>{const a=ne("vue-ueditor-wrap"),o=N,c=U;return f(),m("div",Ut,[n(c,null,{default:v(()=>[n(j,{class:"mb-5",questionIndex:b(s),activeQuestion:i.value},null,8,["questionIndex","activeQuestion"]),t("div",Dt,[n(a,{modelValue:r.value,"onUpdate:modelValue":e[0]||(e[0]=A=>r.value=A),"editor-id":"editor",config:u,editorDependencies:["ueditor.config.js","ueditor.all.js"]},null,8,["modelValue"])]),n(o,{onClick:p},{default:v(()=>[Q("内容显示")]),_:1})]),_:1})])}}},jt={class:"answer-container w-full h-full"},Mt={class:"answer-content"},Ft={__name:"index",setup(x){const l=C(),u={serverUrl:"/api/path/to/server",UEDITOR_HOME_URL:"/static/UEditorPlus/",UEDITOR_CORS_URL:"/static/UEditorPlus/",initialFrameWidth:"95%",initialFrameHeight:400,toolbars:[["fullscreen","undo","redo","|","fontfamily","fontsize","|","forecolor","backcolor","bold","italic","underline","strikethrough","|","removeformat","formatmatch","autotypeset","blockquote","pasteplain","|","inserttable","deletetable","insertparagraph","insertrow","deleterow","insertcol","deletecol","mergecells","mergerow","mergecol","splittocells","splittorows","splittocols","|","formula"]]},{currentType:d,currentIndex:s}=I(l),i=w(l.getActiveQuestion),r=w(i.value.answer),p=()=>{console.log(r.value)};return O(()=>{l.setQuestionAnswer(d.value,s.value,r.value)}),(_,e)=>{const a=ne("vue-ueditor-wrap"),o=N,c=U;return f(),m("div",jt,[n(c,null,{default:v(()=>[n(j,{class:"mb-5",questionIndex:b(s),activeQuestion:i.value},null,8,["questionIndex","activeQuestion"]),t("div",Mt,[n(a,{modelValue:r.value,"onUpdate:modelValue":e[0]||(e[0]=A=>r.value=A),"editor-id":"editor",config:u,editorDependencies:["ueditor.config.js","ueditor.all.js"]},null,8,["modelValue"])]),n(o,{onClick:p},{default:v(()=>[Q("内容显示")]),_:1})]),_:1})])}}},F=x=>(R("data-v-8d4b5e74"),x=x(),z(),x),Ht={class:"exam-container w-screen h-screen bg-slate-50 relative overflow-hidden"},Ot=F(()=>t("div",{class:"top-bg bg-blue-500"},null,-1)),Bt={class:"exam-content"},Rt={class:"exam-wrapper container mx-auto h-full flex flex-col"},zt={class:"exam-header flex items-center mt-12 mb-10"},Nt={class:"title-container text-3xl font-semibold text-white mr-8"},Pt={class:"return-container grow flex justify-end"},Wt={class:"exam-main grow flex justify-between"},Xt={class:"answer-wrapper answer-left mr-8 shadow-xl p-4 box-border"},Yt={class:"wrapper h-full flex flex-col items-center"},Zt={class:"title-wrapper w-full flex justify-between items-center mb-5"},Gt=F(()=>t("div",{class:"title text-xl font-semibold"},"答题卡",-1)),Jt={class:"progress-wrapper w-full"},Kt={class:"sheet-wrapper w-full grow relative my-5"},es={class:"sheet-content absolute top-0 bottom-0 w-full"},ts={class:"submit-wrapper"},ss={class:"answer-wrapper answer-right grow shadow-xl p-4"},ns={class:"wrapper h-full flex flex-col"},os={class:"title-wrapper w-full flex mb-5"},ls={class:"title text-xl font-semibold"},as={class:"main-wrapper w-full grow relative my-5"},is={class:"main-content absolute top-0 bottom-0 w-full"},rs={class:"tool-wrapper flex justify-end"},cs={class:"button-container flex items-center"},us={class:"button-item"},ds={class:"button-item"},_s=F(()=>t("div",{class:"dialog-container"},[t("p",null,"请确认是否退出当前考试"),t("p",null,"当前试卷会自动提交,后续将无法继续作答")],-1)),vs={class:"dialog-footer"},fs=F(()=>t("div",{class:"dialog-container"},[t("p",null,"请确认是否提交试卷"),t("p",null,"一旦交卷将无法继续作答或修改答案")],-1)),ps={class:"dialog-footer"},ms={class:"dialog-container flex flex-col items-center"},xs={class:"icon-container"},ws=F(()=>t("div",{class:"dialog-info"},"考试结束,系统自动收卷中.......",-1)),hs={__name:"index",setup(x){const l=he(),u=C(),d=ge(),{userInfo:s}=I(d),{currentType:i,currentIndex:r,examDetail:p,examType:_,examInfo:e}=I(u),a={1:it,2:ft,3:Vt,4:kt,5:K,6:bt,7:Ft,8:K},o=w(!1),c=w(!1),A=w(!1),{status:y,message:S,error:T,connect:P,disconnect:oe,sendMessage:gs}=qe({url:"wss://42.193.1.25:8000/websocket/"+s.value.id,heartBeatData:"ping"}),le=()=>{r.value--,W()},ae=()=>{r.value++,W()},W=()=>{let g=0;const h=p.value.find((q,k)=>q.questionType===i.value?(g=k,q):!1);h&&(r.value>=h.questionList.length?(g++,p.value[g]?(i.value=p.value[g].questionType,r.value=0):(i.value=h.questionType,r.value=h.questionList.length-1)):r.value<0&&(g--,p.value[g]?(i.value=p.value[g].questionType,r.value=p.value[g].questionList.length-1):(i.value=h.questionType,r.value=0)))},ie=()=>{o.value=!0},re=()=>{H()},ce=()=>{c.value=!0},X=()=>{H()},ue=()=>{o.value=!1,c.value=!1},H=()=>{const g={...e.value,titleList:p.value};A.value=!0,ue(),oe(),Te(g).then(h=>{Y()}).catch(()=>{Y()})},Y=()=>{setTimeout(()=>{l.back()},2e3)};O(()=>{let g=0;p.value.forEach(h=>{h.questionList.forEach(q=>{(q.answer||Array.isArray(q.answerList)&&q.answerList.length)&&(g+=1)})}),u.setProgress(g)});const Z=w();be(()=>S.value,g=>{g.commend=="delayed"?Z.value.addTime(g.data.addTimeM):g.commend=="forceSubmit"&&X()});const G=w(0),J=()=>{document.visibilityState==="visible"||document.visibilityState==="hidden"&&(Ie.alert("考试过程中请勿离开考试页面!警告三次将强制收卷","警告",{confirmButtonText:"确定"}),G.value++,G.value==3&&H())};return ye(()=>{P(),document.addEventListener("visibilitychange",J)}),Ae(()=>{document.removeEventListener("visibilitychange",J)}),(g,h)=>{const q=se,k=N,B=Ce;return f(),m("div",Ht,[Ot,t("div",Bt,[t("div",Rt,[t("div",zt,[t("div",Nt,$(b(e).examName),1),n(et,{onTimeOut:H,ref_key:"answerTime",ref:Z},null,512),t("div",Pt,[n(k,{type:"danger",size:"large",circle:"",onClick:ie},{icon:v(()=>[n(q,{size:20},{default:v(()=>[n(b(ke))]),_:1})]),_:1})])]),t("div",Wt,[t("div",Xt,[t("div",Yt,[t("div",Zt,[Gt,n(Ue)]),t("div",Jt,[n(ze)]),t("div",Kt,[t("div",es,[n(Ye)])]),t("div",ts,[n(k,{type:"primary",class:"submit-button",onClick:ce},{default:v(()=>[Q("提交试卷")]),_:1})])])]),t("div",ss,[t("div",ns,[t("div",os,[t("div",ls,$(b(_)[b(i)])+" ("+$(b(u).getActiveQuestion.questionScore)+"分) ",1)]),t("div",as,[t("div",is,[n($e,{appear:"",name:"fade-transform",mode:"out-in"},{default:v(()=>[(f(),ee(Le(a[b(i)]),{key:b(r)}))]),_:1})])]),t("div",rs,[t("div",cs,[t("div",us,[n(k,{class:"tool-button",onClick:le},{default:v(()=>[Q("上一题")]),_:1})]),t("div",ds,[n(k,{class:"tool-button",type:"primary",onClick:ae},{default:v(()=>[Q("下一题")]),_:1})])])])])])])])]),n(B,{modelValue:o.value,"onUpdate:modelValue":h[1]||(h[1]=D=>o.value=D),title:"注意",width:"500"},{footer:v(()=>[t("div",vs,[n(k,{onClick:h[0]||(h[0]=D=>o.value=!1)},{default:v(()=>[Q("继续作答")]),_:1}),n(k,{type:"danger",onClick:re},{default:v(()=>[Q(" 确定退出 ")]),_:1})])]),default:v(()=>[_s]),_:1},8,["modelValue"]),n(B,{modelValue:c.value,"onUpdate:modelValue":h[3]||(h[3]=D=>c.value=D),title:"确认交卷?",width:"500"},{footer:v(()=>[t("div",ps,[n(k,{onClick:h[2]||(h[2]=D=>c.value=!1)},{default:v(()=>[Q("继续作答")]),_:1}),n(k,{type:"primary",onClick:X},{default:v(()=>[Q(" 确认提交 ")]),_:1})])]),default:v(()=>[fs]),_:1},8,["modelValue"]),n(B,{modelValue:A.value,"onUpdate:modelValue":h[4]||(h[4]=D=>A.value=D),"align-center":"",width:"500","close-on-click-modal":!1,"close-on-press-escape":!1,"show-close":!1},{default:v(()=>[t("div",ms,[t("div",xs,[n(q,{size:50,color:"#3680fa"},{default:v(()=>[n(b(te))]),_:1})]),ws])]),_:1},8,["modelValue"])])}}},qs=L(hs,[["__scopeId","data-v-8d4b5e74"]]);export{qs as default};