Commit 6a337486 authored by zhengke's avatar zhengke

修改

parent 6f41651b
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
<view class="flex flex_start_center item3" v-if="item2.QuestionKey === 'multiple'"> <view class="flex flex_start_center item3" v-if="item2.QuestionKey === 'multiple'">
<template v-if="isOperate"> <template v-if="isOperate">
<view class="chooseNum" :class="{ myAnswer: item3.IsAnswer }" <view class="chooseNum" :class="{ myAnswer: item3.IsAnswer }"
@click="multipleChange(item3)">{{ item3.Name }} @click="multipleChange(item2,item3)">{{ item3.Name }}
</view> </view>
<view class="chooseName" @click="multipleChange(item2, item3)" <view class="chooseName" @click="multipleChange(item2, item3)"
v-html="item3.Content"></view> v-html="item3.Content"></view>
......
<template> <template>
<!-- 计算题 --> <!-- 计算题 -->
<view> <view>
<view class="item" style="padding: 0 20px"> <view class="item">
<view class="name"> <view class="name" style="padding: 0 20px">
<view> <view>
{{ changeNumToHan(sortIndex) }}{{ data.GroupName }} {{ changeNumToHan(sortIndex) }}{{ data.GroupName }}
<text style="color: #999999" <text style="color: #999999"
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
> >
<swiper-item v-if="sortIndex != 1"></swiper-item> <swiper-item v-if="sortIndex != 1"></swiper-item>
<swiper-item v-for="(item1, index1) in data.DetailsList" :key="index1"> <swiper-item v-for="(item1, index1) in data.DetailsList" :key="index1">
<view class="item1"> <view class="item1" style="padding: 0 20px">
<view class="flex"> <view class="flex">
<view>{{ index1 + 1 }}</view> <view>{{ index1 + 1 }}</view>
<view class="num" v-html="item1.Title"></view>{{item1.Score}} <view class="num" v-html="item1.Title"></view>{{item1.Score}}
......
...@@ -97,21 +97,12 @@ export default { ...@@ -97,21 +97,12 @@ export default {
ExamStuId: Number, ExamStuId: Number,
SubmitTimes: Number, SubmitTimes: Number,
StartTime: String, StartTime: String,
isExamOver: Boolean
}, },
setup(props, ctx) { setup(props, ctx) {
let Gid = uni.getStorageSync("userInfo").Id; let Gid = uni.getStorageSync("userInfo").Id;
let data = reactive({ let data = reactive({
msg: { GuestId: Gid, PaperId: 5, PublishId: 1 }, msg: { GuestId: Gid, PaperId: 5, PublishId: 1 },
questionList: props.paperData.Paper.GroupList, questionList: props.paperData.Paper.GroupList,
isExamOver: props.isExamOver
});
watch(()=> props.isExamOver, (newVal, oldVal) => {
console.log(oldVal,'oldValoldVal');
console.log(newVal,'newVal');
if(newVal){
methods.savePaper();
}
}); });
let methods = { let methods = {
changeNumToHan, changeNumToHan,
...@@ -148,8 +139,6 @@ export default { ...@@ -148,8 +139,6 @@ export default {
obj.Exam_Student_Id = props.ExamStuId; obj.Exam_Student_Id = props.ExamStuId;
let time1 = props.StartTime; let time1 = props.StartTime;
let time2 = methods.getNowTime(); let time2 = methods.getNowTime();
console.log(time1,'time1');
console.log(time2,'time2');
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;
...@@ -160,11 +149,8 @@ export default { ...@@ -160,11 +149,8 @@ export default {
}); });
return return
} }
console.log('自动交卷了');
return;
let res = await submitPaper(obj); let res = await submitPaper(obj);
if (res) { if (res) {
console.log(119, res);
if (res.Code == 1) { if (res.Code == 1) {
uni.showToast({ uni.showToast({
title: res.Message, title: res.Message,
......
...@@ -7,340 +7,158 @@ ...@@ -7,340 +7,158 @@
</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 <van-image width="30rpx" height="30rpx" fit="cover"
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"
<van-count-down ref="countdown" @finish="examFinish" />
: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"> <view class="exam-con" v-if="!isShowAnswer">
<i <i class="iconfont icon-caidanzu answerSheet" style="
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 <SingleChoiceNumber :startIndex="item.startIndex" :paperData="item" @getBeforeTopic="getBeforeTopic()"
:startIndex="item.startIndex" @getAfterTopic="getAfterTopic()" @answerChange="getAnswerChange($event, index)" :sort="index"
:paperData="item" :sortTotal="peaperDetail.Paper.GroupList.length" :isLast="isLast" :isOperate="isOperate"
@getBeforeTopic="getBeforeTopic()" :ExamStatus="ExamStatus" v-if="
@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 <MultipleChoice :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index"
:startIndex="item.startIndex" :sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus"
:paperData="item" @getBeforeTopic="getBeforeTopic()" @getAfterTopic="getAfterTopic()"
: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 <SingleChoice :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index"
:startIndex="item.startIndex" :sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus"
:paperData="item" @getBeforeTopic="getBeforeTopic()" @getAfterTopic="getAfterTopic()"
: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 <ListenTopic :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index"
:startIndex="item.startIndex" :sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus"
:paperData="item" @getBeforeTopic="getBeforeTopic()" @getAfterTopic="getAfterTopic()"
: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 <FillInTheBlanks :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index"
:startIndex="item.startIndex" :sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus"
:paperData="item" @getBeforeTopic="getBeforeTopic()" @getAfterTopic="getAfterTopic()"
: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 <readingCompre :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index"
:startIndex="item.startIndex" :sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus"
:paperData="item" @getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()"
:isLast="isLast" @answerChange="getAnswerChange($event, index)" v-if="
: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 <Judge :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index"
:startIndex="item.startIndex" :sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus"
:paperData="item" @getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()"
: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 <shortAnswer :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index"
:startIndex="item.startIndex" :sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus"
:paperData="item" @getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()"
:isLast="isLast" @answerChange="getAnswerChange($event, index)" v-if="
: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 <nounExplanation :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index"
:startIndex="item.startIndex" :sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus"
:paperData="item" @getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()"
:isLast="isLast" @answerChange="getAnswerChange($event, index)" v-if="
: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 <easyQuestion :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index"
:startIndex="item.startIndex" :sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus"
:paperData="item" @getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()"
:isLast="isLast" @answerChange="getAnswerChange($event, index)" v-if="
: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 <Calculation :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index"
:startIndex="item.startIndex" :sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus"
:paperData="item" @getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()"
: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 <EntryProblem :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index"
:startIndex="item.startIndex" :sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus"
:paperData="item" @getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()"
:isLast="isLast" @answerChange="getAnswerChange($event, index)" v-if="
: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 <Spoken :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index"
:startIndex="item.startIndex" :sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus"
:paperData="item" @getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()"
: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 <Other :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index"
:startIndex="item.startIndex" :sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus"
:paperData="item" @getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()"
: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 <Cloze :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index"
:startIndex="item.startIndex" :sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus"
:paperData="item" @getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()"
: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 <Dataquestion :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index"
:startIndex="item.startIndex" :sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus"
:paperData="item" @getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()"
:isLast="isLast" @answerChange="getAnswerChange($event, index)" v-if="
: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 <SharingChoose :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index"
:startIndex="item.startIndex" :sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus"
:paperData="item" @getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()"
:isLast="isLast" @answerChange="getAnswerChange($event, index)" v-if="
: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 <SortingProblem :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index"
:startIndex="item.startIndex" :sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus"
:paperData="item" @getAfterTopic="getAfterTopic()" @getBeforeTopic="getBeforeTopic()"
:isLast="isLast" @answerChange="getAnswerChange($event, index)" v-if="
: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 <Connect :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index"
:startIndex="item.startIndex" :sortTotal="peaperDetail.Paper.GroupList.length" @getAfterTopic="getAfterTopic()"
:paperData="item" @getBeforeTopic="getBeforeTopic()" @answerChange="getAnswerChange($event, index)"
:isLast="isLast" v-if="item.QuestionTypeKey === 'matching' && index === changeIndex" />
: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 <answer :paperData="peaperDetail" :ExamStuId="Exam_Student_Id" :StartTime="StartTime"
:paperData="peaperDetail" :SubmitTimes="SubmitTimes" @hideAnswer="hideAnswerSheet" @chooseTopic="jumpTopic" ref="answer" />
:ExamStuId="Exam_Student_Id"
:StartTime="StartTime"
:SubmitTimes="SubmitTimes"
:isExamOver="isExamOver"
@hideAnswer="hideAnswerSheet"
@chooseTopic="jumpTopic"
ref="answer"
/>
</view> </view>
<van-toast id="van-toast" /> <van-toast id="van-toast" />
</view> </view>
</template> </template>
<script> <script>
import { import {
ref, ref,
reactive, reactive,
toRefs, toRefs,
...@@ -349,31 +167,39 @@ import { ...@@ -349,31 +167,39 @@ import {
watch, watch,
computed, computed,
onMounted, onMounted,
} from "vue"; } from "vue";
import { getPaperDetail } from "../../api/exam"; import {
import { changeNumToHan } from "../../utils/index"; getPaperDetail
} from "../../api/exam";
import {
changeNumToHan
} from "../../utils/index";
import {
submitPaper
} from "../../api/exam";
import SingleChoiceNumber from "../../components/subject/SingleChoiceNumber.vue";
import SingleChoice from "../../components/subject/SingleChoice.vue"; import SingleChoiceNumber from "../../components/subject/SingleChoiceNumber.vue";
import MultipleChoice from "../../components/subject/MultipleChoice.vue"; import SingleChoice from "../../components/subject/SingleChoice.vue";
import ListenTopic from "../../components/subject/ListenTopic.vue"; import MultipleChoice from "../../components/subject/MultipleChoice.vue";
import FillInTheBlanks from "../../components/subject/FillInTheBlanks"; import ListenTopic from "../../components/subject/ListenTopic.vue";
import readingCompre from "../../components/subject/readingCompre"; import FillInTheBlanks from "../../components/subject/FillInTheBlanks";
import Judge from "../../components/subject/judge.vue"; import readingCompre from "../../components/subject/readingCompre";
import ShortAnswer from "../../components/subject/shortAnswer.vue"; import Judge from "../../components/subject/judge.vue";
import nounExplanation from "../../components/subject/nounExplanation.vue"; import ShortAnswer from "../../components/subject/shortAnswer.vue";
import easyQuestion from "../../components/subject/easyQuestion.vue"; import nounExplanation from "../../components/subject/nounExplanation.vue";
import Calculation from "../../components/subject/Calculation.vue"; import easyQuestion from "../../components/subject/easyQuestion.vue";
import EntryProblem from "../../components/subject/EntryProblem.vue"; import Calculation from "../../components/subject/Calculation.vue";
import Spoken from "../../components/subject/Spoken.vue"; import EntryProblem from "../../components/subject/EntryProblem.vue";
import Other from "../../components/subject/Other.vue"; import Spoken from "../../components/subject/Spoken.vue";
import Cloze from "../../components/subject/Cloze.vue"; import Other from "../../components/subject/Other.vue";
import Dataquestion from "../../components/subject/Dataquestion.vue"; import Cloze from "../../components/subject/Cloze.vue";
import SortingProblem from "../../components/subject/SortingProblem.vue"; import Dataquestion from "../../components/subject/Dataquestion.vue";
import Connect from "../../components/subject/Connect.vue"; //"连线题" import SortingProblem from "../../components/subject/SortingProblem.vue";
import SharingChoose from "../../components/subject/SharingChoose.vue"; import Connect from "../../components/subject/Connect.vue"; //"连线题"
import answer from "../../components/subject/answer.vue"; //答题卡 import SharingChoose from "../../components/subject/SharingChoose.vue";
export default { import answer from "../../components/subject/answer.vue"; //答题卡
export default {
components: { components: {
SingleChoiceNumber, SingleChoiceNumber,
SingleChoice, SingleChoice,
...@@ -397,12 +223,18 @@ export default { ...@@ -397,12 +223,18 @@ export default {
answer, answer,
}, },
setup(props, context) { setup(props, context) {
let { refs } = getCurrentInstance(); let {
refs
} = getCurrentInstance();
console.log(refs); console.log(refs);
let data = reactive({ let data = reactive({
time: 999, time: 999,
statusBarHeight: 0, statusBarHeight: 0,
msg: { GuestId: 0, PaperId: 0, PublishId: 0 }, msg: {
GuestId: 0,
PaperId: 0,
PublishId: 0
},
peaperDetail: {}, peaperDetail: {},
changeIndex: 0, //大题序号 changeIndex: 0, //大题序号
...@@ -412,10 +244,9 @@ export default { ...@@ -412,10 +244,9 @@ export default {
autoTimeStart: false, autoTimeStart: false,
isOperate: false, //考试状态 判断是考试还是查看答案 isOperate: false, //考试状态 判断是考试还是查看答案
isAutoTime: false, isAutoTime: false,
ExamStatus:-2, ExamStatus: -2,
StartTime:'', //页面加载后的时间 StartTime: '', //页面加载后的时间
SubmitTimes: 0 ,//后台设置几分钟后可提交 SubmitTimes: 0, //后台设置几分钟后可提交
isExamOver:false
}); });
let methods = { let methods = {
changeNumToHan, changeNumToHan,
...@@ -439,11 +270,10 @@ export default { ...@@ -439,11 +270,10 @@ export default {
this.ExamStatus = res.Data.ExamStatusTemp; this.ExamStatus = res.Data.ExamStatusTemp;
this.SubmitTimes = res.Data.Publish.SubmitTimes; this.SubmitTimes = res.Data.Publish.SubmitTimes;
//判断是答卷 //判断是答卷
if(res.Data.ExamStatusTemp==1){ if (res.Data.ExamStatusTemp == 1) {
this.isOperate=true; this.isOperate = true;
data.autoTimeStart = true; data.autoTimeStart = true;
// data.time = res.Data.Publish.ExamTimes * 60 * 1000; data.time = res.Data.Publish.ExamTimes * 60 * 1000;
data.time = 5000
} }
} }
} }
...@@ -484,8 +314,52 @@ export default { ...@@ -484,8 +314,52 @@ export default {
title: '考试时间已到,系统将自动保存', title: '考试时间已到,系统将自动保存',
icon: "none", icon: "none",
}); });
data.isShowAnswer = true; methods.savePaper();
data.isExamOver = true; },
getNowTime() {
let dateTime
let yy = new Date().getFullYear()
let mm = new Date().getMonth() + 1
let dd = new Date().getDate()
let hh = new Date().getHours()
let mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes() :
new Date().getMinutes()
let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds() :
new Date().getSeconds()
dateTime = yy + '-' + mm + '-' + dd + ' ' + hh + ':' + mf + ':' + ss;
return dateTime
},
//交卷
async savePaper() {
let obj = JSON.parse(JSON.stringify(data.peaperDetail.Paper));
delete obj.Group_Id;
obj.Exam_Student_Id = parseInt(data.Exam_Student_Id);
let time1 = data.StartTime;
let time2 = methods.getNowTime();
var d1 = new Date(time1);
var d2 = new Date(time2);
let TimeDis = parseInt(d2 - d1) / 1000 / 60;
if (TimeDis < data.SubmitTimes) {
uni.showToast({
title: `开场不足${data.SubmitTimes}分钟禁止交卷哦~`,
icon: "none",
});
return
}
let res = await submitPaper(obj);
if (res) {
if (res.Code == 1) {
uni.showToast({
title: res.Message,
icon: "none",
});
setTimeout(() => {
uni.navigateTo({
url: "/pages/index/index",
});
}, 1000);
}
}
}, },
}; };
onMounted(() => { onMounted(() => {
...@@ -494,14 +368,12 @@ export default { ...@@ -494,14 +368,12 @@ export default {
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 ? '0' + new Date().getMinutes() :
:
new Date().getMinutes() new Date().getMinutes()
let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds() let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds() :
:
new Date().getSeconds() new Date().getSeconds()
data.StartTime = yy + '-' + mm + '-' + dd + ' ' + hh + ':' + mf + ':' + ss; data.StartTime = yy + '-' + mm + '-' + dd + ' ' + hh + ':' + mf + ':' + ss;
console.log(data.StartTime,'11111111111111'); console.log(data.StartTime, '11111111111111');
}); });
return { return {
...toRefs(data), ...toRefs(data),
...@@ -521,21 +393,22 @@ export default { ...@@ -521,21 +393,22 @@ export default {
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