Commit 41146181 authored by 罗超's avatar 罗超

1

parent 8aea23e9
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
</view> </view>
</view> </view>
</view> </view>
<view class="submitBox"> <view class="submitBox" v-if="ExamStatus === 1">
<view class="submit" @click="savePaper">立即提交</view> <view class="submit" @click="savePaper">立即提交</view>
</view> </view>
<van-toast id="van-toast" /> <van-toast id="van-toast" />
...@@ -97,6 +97,7 @@ export default { ...@@ -97,6 +97,7 @@ export default {
ExamStuId: Number, ExamStuId: Number,
SubmitTimes: Number, SubmitTimes: Number,
StartTime: String, StartTime: String,
ExamStatus: Number,
}, },
setup(props, ctx) { setup(props, ctx) {
let Gid = uni.getStorageSync("userInfo").Id; let Gid = uni.getStorageSync("userInfo").Id;
...@@ -117,20 +118,22 @@ export default { ...@@ -117,20 +118,22 @@ export default {
back() { back() {
ctx.emit("hideAnswer"); ctx.emit("hideAnswer");
}, },
getNowTime(){ getNowTime() {
let dateTime let dateTime;
let yy = new Date().getFullYear() let yy = new Date().getFullYear();
let mm = new Date().getMonth() + 1 let mm = new Date().getMonth() + 1;
let dd = new Date().getDate() let dd = new Date().getDate();
let hh = new Date().getHours() let hh = new Date().getHours();
let mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes() let mf =
: new Date().getMinutes() < 10
new Date().getMinutes() ? "0" + new Date().getMinutes()
let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds() : new Date().getMinutes();
: let ss =
new Date().getSeconds() new Date().getSeconds() < 10
dateTime = yy + '-' + mm + '-' + dd + ' ' + hh + ':' + mf + ':' + ss; ? "0" + new Date().getSeconds()
return dateTime : new Date().getSeconds();
dateTime = yy + "-" + mm + "-" + dd + " " + hh + ":" + mf + ":" + ss;
return dateTime;
}, },
//交卷 //交卷
async savePaper() { async savePaper() {
...@@ -142,12 +145,12 @@ export default { ...@@ -142,12 +145,12 @@ export default {
var d1 = new Date(time1); var d1 = new Date(time1);
var d2 = new Date(time2); var d2 = new Date(time2);
let TimeDis = parseInt(d2 - d1) / 1000 / 60; let TimeDis = parseInt(d2 - d1) / 1000 / 60;
if(TimeDis<props.SubmitTimes){ if (TimeDis < props.SubmitTimes) {
uni.showToast({ uni.showToast({
title: `开场不足${props.SubmitTimes}分钟禁止交卷哦~`, title: `开场不足${props.SubmitTimes}分钟禁止交卷哦~`,
icon: "none", icon: "none",
}); });
return return;
} }
let res = await submitPaper(obj); let res = await submitPaper(obj);
if (res) { if (res) {
......
...@@ -7,151 +7,333 @@ ...@@ -7,151 +7,333 @@
</template> </template>
<template #title> <template #title>
<view class="flex" style="justify-content: center" @click="start"> <view class="flex" style="justify-content: center" @click="start">
<van-image width="30rpx" height="30rpx" fit="cover" <van-image
width="30rpx"
height="30rpx"
fit="cover"
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/clock.png" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/clock.png"
style="margin-right: 10rpx" /> style="margin-right: 10rpx"
<van-count-down :time="time" :auto-start="autoTimeStart" class="flex flex_center_center" />
ref="countdown" @finish="examFinish" /> <van-count-down
:time="time"
:auto-start="autoTimeStart"
class="flex flex_center_center"
ref="countdown"
@finish="examFinish"
/>
</view> </view>
</template> </template>
</van-nav-bar> </van-nav-bar>
<view class="exam-con" v-if="!isShowAnswer&&!isShowNotice"> <view class="exam-con" v-if="!isShowAnswer && !isShowNotice">
<i class="iconfont icon-caidanzu answerSheet" style=" <i
class="iconfont icon-caidanzu answerSheet"
style="
position: absolute; position: absolute;
right: 30rpx; right: 30rpx;
z-index: 999; z-index: 999;
margin-top: 26rpx; margin-top: 26rpx;
" :style="{ top: `calc(${statusBarHeight}px + 105rpx)` }" @click="showAnswerSheet"></i> "
:style="{ top: `calc(${statusBarHeight}px + 105rpx)` }"
@click="showAnswerSheet"
></i>
<view v-for="(item, index) in peaperDetail.Paper.GroupList" :key="index"> <view v-for="(item, index) in peaperDetail.Paper.GroupList" :key="index">
<!-- 数字单选题 --> <!-- 数字单选题 -->
<SingleChoiceNumber :startIndex="item.startIndex" :paperData="item" @getBeforeTopic="getBeforeTopic()" <SingleChoiceNumber
@getAfterTopic="getAfterTopic()" @answerChange="getAnswerChange($event, index)" :sort="index" :startIndex="item.startIndex"
:sortTotal="peaperDetail.Paper.GroupList.length" :isLast="isLast" :isOperate="isOperate" :paperData="item"
:ExamStatus="ExamStatus" v-if=" @getBeforeTopic="getBeforeTopic()"
@getAfterTopic="getAfterTopic()"
@answerChange="getAnswerChange($event, index)"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isLast="isLast"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
v-if="
item.QuestionTypeKey === 'single-number' && index === changeIndex item.QuestionTypeKey === 'single-number' && index === changeIndex
" /> "
/>
<!-- 多选题 --> <!-- 多选题 -->
<MultipleChoice :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index" <MultipleChoice
:sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus" :startIndex="item.startIndex"
@getBeforeTopic="getBeforeTopic()" @getAfterTopic="getAfterTopic()" :paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getBeforeTopic="getBeforeTopic()"
@getAfterTopic="getAfterTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
v-if="item.QuestionTypeKey === 'multiple' && index === changeIndex" /> v-if="item.QuestionTypeKey === 'multiple' && index === changeIndex"
/>
<!-- 单选题 --> <!-- 单选题 -->
<SingleChoice :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index" <SingleChoice
:sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus" :startIndex="item.startIndex"
@getBeforeTopic="getBeforeTopic()" @getAfterTopic="getAfterTopic()" :paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getBeforeTopic="getBeforeTopic()"
@getAfterTopic="getAfterTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
v-if="item.QuestionTypeKey === 'single' && index === changeIndex" /> v-if="item.QuestionTypeKey === 'single' && index === changeIndex"
/>
<!-- 听力题 --> <!-- 听力题 -->
<ListenTopic :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index" <ListenTopic
:sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus" :startIndex="item.startIndex"
@getBeforeTopic="getBeforeTopic()" @getAfterTopic="getAfterTopic()" :paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getBeforeTopic="getBeforeTopic()"
@getAfterTopic="getAfterTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
v-if="item.QuestionTypeKey === 'listening' && index === changeIndex" /> v-if="item.QuestionTypeKey === 'listening' && index === changeIndex"
/>
<!-- 填空题 --> <!-- 填空题 -->
<FillInTheBlanks :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index" <FillInTheBlanks
:sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus" :startIndex="item.startIndex"
@getBeforeTopic="getBeforeTopic()" @getAfterTopic="getAfterTopic()" :paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getBeforeTopic="getBeforeTopic()"
@getAfterTopic="getAfterTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
v-if="item.QuestionTypeKey === 'fill-in' && index === changeIndex" /> v-if="item.QuestionTypeKey === 'fill-in' && index === changeIndex"
/>
<!-- 阅读理解 --> <!-- 阅读理解 -->
<readingCompre :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index" <readingCompre
:sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus" :startIndex="item.startIndex"
@getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()" :paperData="item"
@answerChange="getAnswerChange($event, index)" v-if=" :isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)"
v-if="
item.QuestionTypeKey === 'reading-comprehensio' && item.QuestionTypeKey === 'reading-comprehensio' &&
index === changeIndex index === changeIndex
" /> "
/>
<!-- 判断题 --> <!-- 判断题 -->
<Judge :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index" <Judge
:sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus" :startIndex="item.startIndex"
@getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()" :paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
v-if="item.QuestionTypeKey === 'judge' && index === changeIndex" /> v-if="item.QuestionTypeKey === 'judge' && index === changeIndex"
/>
<!-- 简答题 --> <!-- 简答题 -->
<shortAnswer :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index" <shortAnswer
:sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus" :startIndex="item.startIndex"
@getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()" :paperData="item"
@answerChange="getAnswerChange($event, index)" v-if=" :isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)"
v-if="
item.QuestionTypeKey === 'short-answer' && index === changeIndex item.QuestionTypeKey === 'short-answer' && index === changeIndex
" /> "
/>
<!-- 名词解释 --> <!-- 名词解释 -->
<nounExplanation :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index" <nounExplanation
:sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus" :startIndex="item.startIndex"
@getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()" :paperData="item"
@answerChange="getAnswerChange($event, index)" v-if=" :isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)"
v-if="
item.QuestionTypeKey === 'noun-explanation' && index === changeIndex item.QuestionTypeKey === 'noun-explanation' && index === changeIndex
" /> "
/>
<!-- 论述题 --> <!-- 论述题 -->
<easyQuestion :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index" <easyQuestion
:sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus" :startIndex="item.startIndex"
@getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()" :paperData="item"
@answerChange="getAnswerChange($event, index)" v-if=" :isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)"
v-if="
item.QuestionTypeKey === 'essay-question' && index === changeIndex item.QuestionTypeKey === 'essay-question' && index === changeIndex
" /> "
/>
<!-- 计算题 --> <!-- 计算题 -->
<Calculation :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index" <Calculation
:sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus" :startIndex="item.startIndex"
@getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()" :paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
v-if="item.QuestionTypeKey === 'calculation' && index === changeIndex" /> v-if="item.QuestionTypeKey === 'calculation' && index === changeIndex"
/>
<!-- 分录题 --> <!-- 分录题 -->
<EntryProblem :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index" <EntryProblem
:sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus" :startIndex="item.startIndex"
@getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()" :paperData="item"
@answerChange="getAnswerChange($event, index)" v-if=" :isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)"
v-if="
item.QuestionTypeKey === 'entry-problem' && index === changeIndex item.QuestionTypeKey === 'entry-problem' && index === changeIndex
" /> "
/>
<!-- 口语题 --> <!-- 口语题 -->
<Spoken :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index" <Spoken
:sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus" :startIndex="item.startIndex"
@getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()" :paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
v-if="item.QuestionTypeKey === 'spoken' && index === changeIndex" /> v-if="item.QuestionTypeKey === 'spoken' && index === changeIndex"
/>
<!-- 其他 --> <!-- 其他 -->
<Other :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index" <Other
:sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus" :startIndex="item.startIndex"
@getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()" :paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
v-if="item.QuestionTypeKey === 'other' && index === changeIndex" /> v-if="item.QuestionTypeKey === 'other' && index === changeIndex"
/>
<!-- 完型填空 --> <!-- 完型填空 -->
<Cloze :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index" <Cloze
:sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus" :startIndex="item.startIndex"
@getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()" :paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
v-if="item.QuestionTypeKey === 'cloze' && index === changeIndex" /> v-if="item.QuestionTypeKey === 'cloze' && index === changeIndex"
/>
<!-- 资料题 --> <!-- 资料题 -->
<Dataquestion :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index" <Dataquestion
:sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus" :startIndex="item.startIndex"
@getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()" :paperData="item"
@answerChange="getAnswerChange($event, index)" v-if=" :isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)"
v-if="
item.QuestionTypeKey === 'data-question' && index === changeIndex item.QuestionTypeKey === 'data-question' && index === changeIndex
" /> "
/>
<!-- 公用选择题 --> <!-- 公用选择题 -->
<SharingChoose :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index" <SharingChoose
:sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus" :startIndex="item.startIndex"
@getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()" :paperData="item"
@answerChange="getAnswerChange($event, index)" v-if=" :isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)"
v-if="
item.QuestionTypeKey === 'sharing-choose' && index === changeIndex item.QuestionTypeKey === 'sharing-choose' && index === changeIndex
" /> "
/>
<!-- 排序题 --> <!-- 排序题 -->
<SortingProblem :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index" <SortingProblem
:sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus" :startIndex="item.startIndex"
@getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()" :paperData="item"
@answerChange="getAnswerChange($event, index)" v-if=" :isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)"
v-if="
item.QuestionTypeKey === 'sorting-problem' && index === changeIndex item.QuestionTypeKey === 'sorting-problem' && index === changeIndex
" /> "
/>
<!-- 连线题待完善 --> <!-- 连线题待完善 -->
<Connect :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index" <Connect
:sortTotal="peaperDetail.Paper.GroupList.length" @getAfterTopic="getAfterTopic()" :startIndex="item.startIndex"
@getBeforeTopic="getBeforeTopic()" @answerChange="getAnswerChange($event, index)" :paperData="item"
v-if="item.QuestionTypeKey === 'matching' && index === changeIndex" /> :isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)"
v-if="item.QuestionTypeKey === 'matching' && index === changeIndex"
/>
</view> </view>
</view> </view>
<view class="answer-con" v-if="isShowAnswer"> <view class="answer-con" v-if="isShowAnswer">
<answer :paperData="peaperDetail" :ExamStuId="Exam_Student_Id" :StartTime="StartTime" <answer
:SubmitTimes="SubmitTimes" @hideAnswer="hideAnswerSheet" @chooseTopic="jumpTopic" ref="answer" /> :paperData="peaperDetail"
:ExamStuId="Exam_Student_Id"
:StartTime="StartTime"
:ExamStatus="ExamStatus"
:SubmitTimes="SubmitTimes"
@hideAnswer="hideAnswerSheet"
@chooseTopic="jumpTopic"
ref="answer"
/>
</view> </view>
<view class="answer-con" v-if="isShowNotice"> <view class="answer-con" v-if="isShowNotice">
<examNotice :paperData="peaperDetail" @hideNotice="hideNotice" /> <examNotice :paperData="peaperDetail" @hideNotice="hideNotice" />
...@@ -161,7 +343,7 @@ ...@@ -161,7 +343,7 @@
</template> </template>
<script> <script>
import { import {
ref, ref,
reactive, reactive,
toRefs, toRefs,
...@@ -170,40 +352,33 @@ ...@@ -170,40 +352,33 @@
watch, watch,
computed, computed,
onMounted, onMounted,
} from "vue"; } from "vue";
import { import { getPaperDetail } from "../../api/exam";
getPaperDetail import { changeNumToHan } from "../../utils/index";
} from "../../api/exam"; import { submitPaper } from "../../api/exam";
import {
changeNumToHan
} from "../../utils/index";
import {
submitPaper
} from "../../api/exam";
import SingleChoiceNumber from "../../components/subject/SingleChoiceNumber.vue"; import SingleChoiceNumber from "../../components/subject/SingleChoiceNumber.vue";
import SingleChoice from "../../components/subject/SingleChoice.vue"; import SingleChoice from "../../components/subject/SingleChoice.vue";
import MultipleChoice from "../../components/subject/MultipleChoice.vue"; import MultipleChoice from "../../components/subject/MultipleChoice.vue";
import ListenTopic from "../../components/subject/ListenTopic.vue"; import ListenTopic from "../../components/subject/ListenTopic.vue";
import FillInTheBlanks from "../../components/subject/FillInTheBlanks"; import FillInTheBlanks from "../../components/subject/FillInTheBlanks";
import readingCompre from "../../components/subject/readingCompre"; import readingCompre from "../../components/subject/readingCompre";
import Judge from "../../components/subject/judge.vue"; import Judge from "../../components/subject/judge.vue";
import ShortAnswer from "../../components/subject/shortAnswer.vue"; import ShortAnswer from "../../components/subject/shortAnswer.vue";
import nounExplanation from "../../components/subject/nounExplanation.vue"; import nounExplanation from "../../components/subject/nounExplanation.vue";
import easyQuestion from "../../components/subject/easyQuestion.vue"; import easyQuestion from "../../components/subject/easyQuestion.vue";
import Calculation from "../../components/subject/Calculation.vue"; import Calculation from "../../components/subject/Calculation.vue";
import EntryProblem from "../../components/subject/EntryProblem.vue"; import EntryProblem from "../../components/subject/EntryProblem.vue";
import Spoken from "../../components/subject/Spoken.vue"; import Spoken from "../../components/subject/Spoken.vue";
import Other from "../../components/subject/Other.vue"; import Other from "../../components/subject/Other.vue";
import Cloze from "../../components/subject/Cloze.vue"; import Cloze from "../../components/subject/Cloze.vue";
import Dataquestion from "../../components/subject/Dataquestion.vue"; import Dataquestion from "../../components/subject/Dataquestion.vue";
import SortingProblem from "../../components/subject/SortingProblem.vue"; import SortingProblem from "../../components/subject/SortingProblem.vue";
import Connect from "../../components/subject/Connect.vue"; //"连线题" import Connect from "../../components/subject/Connect.vue"; //"连线题"
import SharingChoose from "../../components/subject/SharingChoose.vue"; import SharingChoose from "../../components/subject/SharingChoose.vue";
import answer from "../../components/subject/answer.vue"; //答题卡 import answer from "../../components/subject/answer.vue"; //答题卡
import examNotice from "../../components/subject/examNotice.vue"; //考前须知 import examNotice from "../../components/subject/examNotice.vue"; //考前须知
export default { export default {
components: { components: {
SingleChoiceNumber, SingleChoiceNumber,
SingleChoice, SingleChoice,
...@@ -225,12 +400,10 @@ ...@@ -225,12 +400,10 @@
SharingChoose, SharingChoose,
Connect, Connect,
answer, answer,
examNotice examNotice,
}, },
setup(props, context) { setup(props, context) {
let { let { refs } = getCurrentInstance();
refs
} = getCurrentInstance();
console.log(refs); console.log(refs);
let data = reactive({ let data = reactive({
time: 999, time: 999,
...@@ -238,7 +411,7 @@ ...@@ -238,7 +411,7 @@
msg: { msg: {
GuestId: 0, GuestId: 0,
PaperId: 0, PaperId: 0,
PublishId: 0 PublishId: 0,
}, },
peaperDetail: {}, peaperDetail: {},
...@@ -250,9 +423,9 @@ ...@@ -250,9 +423,9 @@
isOperate: false, //考试状态 判断是考试还是查看答案 isOperate: false, //考试状态 判断是考试还是查看答案
isAutoTime: false, isAutoTime: false,
ExamStatus: -2, ExamStatus: -2,
StartTime: '', //页面加载后的时间 StartTime: "", //页面加载后的时间
SubmitTimes: 0, //后台设置几分钟后可提交 SubmitTimes: 0, //后台设置几分钟后可提交
isShowNotice: false //是否显示考前须知 isShowNotice: false, //是否显示考前须知
}); });
let methods = { let methods = {
changeNumToHan, changeNumToHan,
...@@ -274,6 +447,7 @@ ...@@ -274,6 +447,7 @@
data.peaperDetail = res.Data; data.peaperDetail = res.Data;
//-1-缺考, 0-未开始,1-已开始,2-已考试,3-已阅卷 //-1-缺考, 0-未开始,1-已开始,2-已考试,3-已阅卷
this.ExamStatus = res.Data.ExamStatusTemp; this.ExamStatus = res.Data.ExamStatusTemp;
console.log(277, this.ExamStatus);
this.SubmitTimes = res.Data.Publish.SubmitTimes; this.SubmitTimes = res.Data.Publish.SubmitTimes;
//判断是答卷 //判断是答卷
if (res.Data.ExamStatusTemp == 1) { if (res.Data.ExamStatusTemp == 1) {
...@@ -304,8 +478,8 @@ ...@@ -304,8 +478,8 @@
data.isShowAnswer = false; data.isShowAnswer = false;
}, },
//隐藏考前提示 //隐藏考前提示
hideNotice(){ hideNotice() {
console.log('进入'); console.log("进入");
data.isShowNotice = false; data.isShowNotice = false;
}, },
//获取答案改变后的数据 //获取答案改变后的数据
...@@ -323,23 +497,27 @@ ...@@ -323,23 +497,27 @@
//倒计时完成考试结束 //倒计时完成考试结束
examFinish() { examFinish() {
uni.showToast({ uni.showToast({
title: '考试时间已到,系统将自动保存', title: "考试时间已到,系统将自动保存",
icon: "none", icon: "none",
}); });
methods.savePaper(); methods.savePaper();
}, },
getNowTime() { getNowTime() {
let dateTime let dateTime;
let yy = new Date().getFullYear() let yy = new Date().getFullYear();
let mm = new Date().getMonth() + 1 let mm = new Date().getMonth() + 1;
let dd = new Date().getDate() let dd = new Date().getDate();
let hh = new Date().getHours() let hh = new Date().getHours();
let mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes() : let mf =
new Date().getMinutes() new Date().getMinutes() < 10
let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds() : ? "0" + new Date().getMinutes()
new Date().getSeconds() : new Date().getMinutes();
dateTime = yy + '-' + mm + '-' + dd + ' ' + hh + ':' + mf + ':' + ss; let ss =
return dateTime new Date().getSeconds() < 10
? "0" + new Date().getSeconds()
: new Date().getSeconds();
dateTime = yy + "-" + mm + "-" + dd + " " + hh + ":" + mf + ":" + ss;
return dateTime;
}, },
//交卷 //交卷
async savePaper() { async savePaper() {
...@@ -356,7 +534,7 @@ ...@@ -356,7 +534,7 @@
title: `开场不足${data.SubmitTimes}分钟禁止交卷哦~`, title: `开场不足${data.SubmitTimes}分钟禁止交卷哦~`,
icon: "none", icon: "none",
}); });
return return;
} }
let res = await submitPaper(obj); let res = await submitPaper(obj);
if (res) { if (res) {
...@@ -376,16 +554,21 @@ ...@@ -376,16 +554,21 @@
}; };
onMounted(() => { onMounted(() => {
data.statusBarHeight = uni.getSystemInfoSync().statusBarHeight; data.statusBarHeight = uni.getSystemInfoSync().statusBarHeight;
let yy = new Date().getFullYear() let yy = new Date().getFullYear();
let mm = new Date().getMonth() + 1 let mm = new Date().getMonth() + 1;
let dd = new Date().getDate() let dd = new Date().getDate();
let hh = new Date().getHours() let hh = new Date().getHours();
let mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes() : let mf =
new Date().getMinutes() new Date().getMinutes() < 10
let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds() : ? "0" + new Date().getMinutes()
new Date().getSeconds() : new Date().getMinutes();
data.StartTime = yy + '-' + mm + '-' + dd + ' ' + hh + ':' + mf + ':' + ss; let ss =
console.log(data.StartTime, '11111111111111'); new Date().getSeconds() < 10
? "0" + new Date().getSeconds()
: new Date().getSeconds();
data.StartTime =
yy + "-" + mm + "-" + dd + " " + hh + ":" + mf + ":" + ss;
console.log(data.StartTime, "11111111111111");
}); });
return { return {
...toRefs(data), ...toRefs(data),
...@@ -405,22 +588,25 @@ ...@@ -405,22 +588,25 @@
if (options.Exam_Student_Id) { if (options.Exam_Student_Id) {
this.Exam_Student_Id = options.Exam_Student_Id; this.Exam_Student_Id = options.Exam_Student_Id;
} }
if (options.ExamStatus && (options.ExamStatus == 1 || options.ExamStatus == 3)) { if (
options.ExamStatus &&
(options.ExamStatus == 1 || options.ExamStatus == 3)
) {
this.msg.isShowAnswer = true; this.msg.isShowAnswer = true;
} }
this.getPaperDetail(); this.getPaperDetail();
}, },
}; };
</script> </script>
<style scoped> <style scoped>
.exam-con { .exam-con {
box-sizing: border-box; box-sizing: border-box;
} }
.answerSheet { .answerSheet {
font-size: 30rpx; font-size: 30rpx;
margin-left: 20rpx; margin-left: 20rpx;
color: #000; color: #000;
} }
</style> </style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment