startTheExamViews-971c986a.js 12 KB

1
  1. import{r as i,g as Y,u as z,h as R,o as U,e as m}from"./vendor-ef68d560.js";import{u as G}from"./TestQuestionsServers-f1da1495.js";import{L as K}from"./LJFlexBox-90dbd0ba.js";import{T as W,a as X,b as Z}from"./TestQuestionOptions-aabfac73.js";import{n as P,$ as v}from"./index-87faf287.js";import{O as tt}from"./variable-b8ad4df6.js";/* empty css */const et={__name:"AutoSubmitDialog",emits:["confirm"],setup(g,{expose:s,emit:t}){const e=i(!1),a=i(!0),c=i("loading"),r=i({loading:"\u8003\u8BD5\u65F6\u95F4\u7ED3\u675F\uFF0C\u6B63\u5728\u81EA\u52A8\u4E3A\u60A8\u4EA4\u5377",success:"\u8003\u8BD5\u65F6\u95F4\u7ED3\u675F\uFF0C\u5DF2\u81EA\u52A8\u4EA4\u5377\u6210\u529F",error:"\u4EA4\u5377\u5931\u8D25\uFF0C\u8BF7\u5C1D\u8BD5\u91CD\u65B0\u4EA4\u5377"}),p=b=>{e.value=!0},d=(b=!1)=>{c.value="loading",e.value=!0,a.value=!0,setTimeout(()=>{c.value=b?"success":"error",a.value=!1},2e3)},y=()=>{d(!0)},f=()=>{e.value=!1,a.value=!1,t("confirm")};function C(){e.value=!1}return s({handleInit:p,handleHide:C}),{__sfc:!0,emits:t,dialogVisible:e,loading:a,submitStatus:c,submitTexts:r,handleInit:p,handleSubmit:d,handleRestSubmit:y,handleConfirm:f,handleHide:C}}};var st=function(){var s=this,t=s._self._c,e=s._self._setupProxy;return t("div",{staticClass:"auto-submit-dialog"},[t("el-dialog",{attrs:{visible:e.dialogVisible,"append-to-body":!0,width:"460px","show-close":!1,"close-on-press-escape":!1,"close-on-click-modal":!1},on:{"update:visible":function(a){e.dialogVisible=a}}},[t("div",{staticClass:"submit-content",class:{"is-loading":e.loading,["auto-submit-"+e.submitStatus]:e.submitStatus}},[e.loading?t("i",{staticClass:"el-icon-loading"}):s._e(),e.submitStatus==="success"?t("i",{staticClass:"el-icon-success"}):s._e(),e.submitStatus==="error"?t("i",{staticClass:"el-icon-error"}):s._e(),t("span",{staticClass:"submit-text"},[s._v(s._s(e.submitTexts[e.submitStatus]))])]),e.loading?s._e():t("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[e.submitStatus==="success"?t("el-button",{attrs:{type:"primary",icon:"el-icon-circle-check"},on:{click:e.handleConfirm}},[s._v(" \u786E \u5B9A ")]):s._e(),e.submitStatus==="error"?t("el-button",{attrs:{type:"primary",icon:"el-icon-refresh"},on:{click:e.handleRestSubmit}},[s._v(" \u91CD\u65B0\u4EA4\u5377 ")]):s._e()],1)])],1)},at=[],nt=P(et,st,at,!1,null,"dfb05ff2",null,null);const it=nt.exports;const ot={__name:"ExitRestDialog",emits:["confirm"],setup(g,{expose:s,emit:t}){const e=i(!1),a=()=>{e.value=!0},c=()=>{e.value=!1,t("confirm")};return s({handleInit:a}),{__sfc:!0,dialogVisible:e,emits:t,handleInit:a,handleConfirm:c}}};var lt=function(){var s=this,t=s._self._c,e=s._self._setupProxy;return t("div",{staticClass:"exit-rest-dialog"},[t("el-dialog",{attrs:{visible:e.dialogVisible,"append-to-body":!0,width:"460px","show-close":!1,"close-on-press-escape":!1,"close-on-click-modal":!1},on:{"update:visible":function(a){e.dialogVisible=a}}},[t("div",{staticClass:"content"},[t("i",{staticClass:"el-icon-warning-outline"}),t("span",[s._v("\u8003\u8BD5\u65F6\u95F4\u7ED3\u675F\uFF0C\u8BF7\u9000\u51FA\u91CD\u8003")])]),t("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[t("el-button",{attrs:{type:"primary",icon:"el-icon-refresh-left"},on:{click:e.handleConfirm}},[s._v(" \u786E \u5B9A ")])],1)])],1)},rt=[],ct=P(ot,lt,rt,!1,null,"073de021",null,null);const ut=ct.exports;const dt={__name:"startTheExamViews",setup(g){const s=Y(),t=z(),e=i(),a=i(),c=i(),r=i({}),p=i(!0),d=i(s.query.id||null),y=i({}),f=i(s.query.test_paper),C=i(s.query.status||0),b=R(()=>v.getters.is_taking_exam_ing),x=i(!1),w=i(!1),S=i(!1),D=i(0),u=i([]),F=R(()=>u.value.filter(n=>n.answer&&n.answer_status==="success").length),L=R(()=>u.value.length?Number((F.value/u.value.length*100).toFixed(2)):0);function E(){v.dispatch("startTakeExam");const n=r.value.answer_time;D.value=Date.now()+1e3*60*n}function V(){I(E)}function I(n=()=>{}){HTTP.get("test_question_record",{test_record:d.value,fields:"id,test_record,test_question,answer"}).then(l=>{l.code===0&&l.data.results.map(o=>{const _=u.value.findIndex(h=>h.id===o.test_question);_>-1&&(u.value[_].answer=o.answer,u.value[_].answer_status="success")}),n()}).catch(l=>{})}const H=()=>{const n=new Date(r.value.start_date).getTime();if(new Date().getTime()<n)return m.exports.Message.warning("\u8003\u8BD5\u65F6\u95F4\u672A\u5230");S.value=!0,HTTP.post("start_test",{test_id:f.value}).then(o=>{if(o.code!==0)return new Error(o);E()}).catch(o=>{m.exports.Message.error(o.msg||"\u5F00\u59CB\u8003\u8BD5\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5")}).finally(()=>{setTimeout(()=>S.value=!1,1e3)})},$=()=>{v.dispatch("endTakeExam")};function M(n,l,o){const _={test_record_id:d.value,question_id:l,answer:n,index:o};u.value[_.index].answer_status="loading",HTTP.post("answer_question",_).then(h=>{if(h.code!==0)return new Error(h);u.value[_.index].answer_status="success"}).catch(h=>{u.value[_.index].answer_status="error",m.exports.Message.error(`\u7B2C${_.index}\u9898\u63D0\u4EA4\u7B54\u6848\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u63D0\u4EA4`)})}const O=()=>{a.value.handleInit()},q=()=>{c.value.handleInit()};function B(){v.dispatch("endTakeExam").then(()=>{T()})}const T=()=>{t.back()},J=()=>e.value.tagFullScreen();function Q(){HTTP.getById("test_record",d.value).then(n=>{y.value=n.data,k()})}const k=()=>{if(!f.value)return m.exports.Message.error("\u6CA1\u6709\u8BD5\u5377ID");p.value=!0,HTTP.getReadById("test_paper",f.value).then(n=>{r.value=n.data;let l=n.data.test_paper_Questions.map(o=>(o.answer=null,o.answer_status="",o.options=JSON.parse(o.option),o));G(l,n.data.total_score),u.value=JSON.parse(JSON.stringify(l))}).catch(n=>{}).finally(()=>{setTimeout(()=>{p.value=!1},1e3)})};function N(){m.exports.MessageBox.confirm("\u60A8\u5373\u5C06\u4E3B\u52A8\u653E\u5F03\u672C\u6B21\u8003\u8BD5\uFF0C\u662F\u5426\u7EE7\u7EED?","\u653E\u5F03\u8003\u8BD5",{type:"warning"}).then(()=>{v.dispatch("endTakeExam").then(()=>{T()})})}function A(n=0){w.value||x.value||(n===0?w.value=!0:n===1&&(x.value=!0),HTTP.post("submit_test_paper",{test_record_id:d.value,is_overtime:n}).then(l=>{if(l.code!==0)return new Error(l);m.exports.Message.success("\u4EA4\u5377\u6210\u529F"),setTimeout(()=>{v.dispatch("endTakeExam").then(()=>{T()},1500)})}).catch(l=>{m.exports.Message.error(l.msg||"\u4EA4\u5377\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5")}).finally(()=>{setTimeout(()=>{x.value&&a.value.handleHide(),w.value=!1,x.value=!1},200)}))}function j(){b.value&&(r.value.overtime_type===1?q():A(1))}return U(()=>{$(),d.value?Q():k()}),{__sfc:!0,route:s,router:t,startTheExamRef:e,autoSubmitDialogRef:a,exitRestDialogRef:c,testPaper:r,testPaperLoading:p,testRecordId:d,testRecordObj:y,testPaperId:f,testRecordStatus:C,takingExamIng:b,autoSubmit:x,userSubmit:w,startLoading:S,deadline:D,test_questions_list:u,use_num:F,user_progress:L,updateStartTakeExam:E,continueAnswerQuestions:V,testQuestionRecord:I,handleStartTakeExam:H,handleEndTakeExam:$,handleAnswerQuestion:M,handleAutoSubmit:O,handleExitRest:q,handleConfirmExitRest:B,handleBack:T,handleFullScreen:J,getRestRecord:Q,getTestQuestions:k,handleAbandoningExams:N,handleSubmit:A,hilarity:j,LJFlexBox:K,TestQuestions:W,TestQuestionTitle:X,TestQuestionOptions:Z,AutoSubmitDialog:it,ExitRestDialog:ut,OVERTIME_TYPE:tt}}};var _t=function(){var s=this,t=s._self._c,e=s._self._setupProxy;return t("div",{directives:[{name:"fullscreen",rawName:"v-fullscreen"}],ref:"startTheExamRef",staticClass:"start-the-exam-views"},[e.takingExamIng?s._e():t("div",{directives:[{name:"loading",rawName:"v-loading",value:e.testPaperLoading,expression:"testPaperLoading"}],staticClass:"loading-test-paper",attrs:{"element-loading-text":"\u6B63\u5728\u52A0\u8F7D\u8003\u8BD5\u8BD5\u5377\u4E2D","element-loading-spinner":"el-icon-loading","element-loading-background":"rgba(0, 0, 0, 0.8)"},on:{click:function(a){return a.stopPropagation(),a.preventDefault(),(()=>{}).apply(null,arguments)}}},[e.testPaperLoading?s._e():t("div",{staticClass:"loading-test-paper-main"},[t("div",{staticClass:"table-name"},[s._v(s._s(e.testPaper.name))]),t("div",{staticClass:"table-list",staticStyle:{"border-bottom":"none","border-top":"none"}},[t("div",{staticClass:"table-title"},[s._v("\u9898\u6570")]),t("div",{staticClass:"table-cont"},[s._v(s._s(e.testPaper.total_num)+"\u9053")])]),t("div",{staticClass:"table-list",staticStyle:{"border-bottom":"none"}},[t("div",{staticClass:"table-title"},[s._v("\u603B\u5206")]),t("div",{staticClass:"table-cont"},[s._v(s._s(e.testPaper.total_score)+"\u5206")])]),t("div",{staticClass:"table-list",staticStyle:{"border-bottom":"none"}},[t("div",{staticClass:"table-title"},[s._v("\u8003\u8BD5\u65F6\u957F")]),t("div",{staticClass:"table-cont"},[s._v(s._s(e.testPaper.answer_time)+"\u5206\u949F")])]),t("div",{staticClass:"table-list",staticStyle:{"border-bottom":"none"}},[t("div",{staticClass:"table-title"},[s._v("\u8003\u8BD5\u65F6\u95F4\u7ED3\u675F")]),t("div",{staticClass:"table-cont"},[s._v(" "+s._s(e.OVERTIME_TYPE[e.testPaper.overtime_type])+" ")])]),t("div",{staticClass:"table-list",staticStyle:{"border-radius":"0 0 8px 8px"}},[t("div",{staticClass:"table-title"},[s._v("\u8003\u8BD5\u622A\u6B62\u65F6\u95F4")]),t("div",{staticClass:"table-cont"},[s._v(s._s(e.testPaper.end_date))])]),t("div",{staticClass:"but-list"},[t("el-button",{attrs:{type:"primary",plain:""},on:{click:e.handleBack}},[s._v(" \u8FD4 \u56DE ")]),t("el-button",{attrs:{type:"primary",loading:e.startLoading},on:{click:e.handleStartTakeExam}},[s._v(" \u5F00\u59CB\u7B54\u9898 ")])],1)])]),t("div",{staticClass:"start-the-exam-header"},[t("div",{staticClass:"fullscreen-but",on:{click:e.handleFullScreen}},[t("i",{staticClass:"iconfont icon-open-full-screen",attrs:{title:"\u70B9\u51FB\u8FDB\u5165\u5168\u5C4F\u8003\u8BD5"}}),t("i",{staticClass:"iconfont icon-close-full-screen",attrs:{title:"\u70B9\u51FB\u9000\u51FA\u5168\u5C4F\u8003\u8BD5"}})]),t("div",{staticClass:"name"},[s._v(" "+s._s(e.testPaper.name)+" ")]),t("div",{staticClass:"exam-bg",staticStyle:{"background-color":"#F9FAFC"}},[t(e.LJFlexBox,{staticClass:"exam-status",attrs:{"justify-content":"space-between"}},[t("div",{staticStyle:{display:"flex","justify-content":"space-between","align-items":"center"}},[t("div",{staticClass:"label",staticStyle:{"margin-left":"30px"}},[t("i",{staticClass:"el-icon-time",staticStyle:{color:"#2256e5"}}),t("span",{staticStyle:{"margin-left":"5px"}},[s._v("\u8003\u8BD5\u5012\u8BA1\u65F6")])]),t("div",{staticClass:"time",staticStyle:{"margin-left":"300px"}},[t("el-statistic",{ref:"statistic",attrs:{format:"HH:mm:ss",value:e.deadline,"time-indices":""},on:{finish:e.hilarity}})],1)]),t("div",{staticClass:"progress",staticStyle:{"margin-right":"60px"}},[t("el-slider",{attrs:{max:e.test_questions_list.length,disabled:""},model:{value:e.use_num,callback:function(a){e.use_num=a},expression:"use_num"}}),t(e.LJFlexBox,{attrs:{"justify-content":"space-between","margin-top":"6px"}},[t("div",{staticClass:"use-num"},[s._v("\u5DF2\u5B8C\u6210\uFF1A"+s._s(e.use_num)+" \u9898")]),t("div",{staticClass:"total-num"},[s._v("\u5171\uFF1A"+s._s(e.test_questions_list.length)+" \u9898")])])],1)])],1)]),t("div",{staticClass:"start-the-exam-main"},[t("div",{staticClass:"test-questions-lists"},s._l(e.test_questions_list,function(a,c){return t(e.TestQuestions,{key:a.id,attrs:{padding:"15px 0",item:c}},[t(e.TestQuestionTitle,{attrs:{type:"examination",score:a.score,index:c},model:{value:a.content,callback:function(r){s.$set(a,"content",r)},expression:"item.content"}}),t(e.TestQuestionOptions,{attrs:{type:"examination",options:a.options,"answer-status":a.answer_status,"show-answer":!1,padding:"5px 2em"},on:{changeAnswer:function(r){return e.handleAnswerQuestion(r,a.id,c)}},model:{value:a.answer,callback:function(r){s.$set(a,"answer",r)},expression:"item.answer"}})],1)}),1),t(e.LJFlexBox,{attrs:{"justify-content":"center","margin-top":"15px"}},[t("el-button",{attrs:{type:"info",plain:""},on:{click:e.handleAbandoningExams}},[s._v("\u653E\u5F03\u8003\u8BD5 ")]),t("el-button",{attrs:{type:"primary",loading:e.userSubmit},on:{click:function(a){return e.handleSubmit(0)}}},[s._v(" \u5B8C\u6210\u63D0\u4EA4 ")])],1)],1),t(e.AutoSubmitDialog,{ref:"autoSubmitDialogRef"}),t(e.ExitRestDialog,{ref:"exitRestDialogRef",on:{confirm:e.handleConfirmExitRest}})],1)},mt=[],pt=P(dt,_t,mt,!1,null,"e7e89482",null,null);const Ct=pt.exports;export{Ct as default};