Commit f1a8b15d authored by 黄奎's avatar 黄奎

。。

parent c8cb8124
......@@ -48,7 +48,7 @@
props: {
paperData: Array,
saveId: Number,
isShowJx: Boolean
isShowJx: Boolean,
},
setup(props, ctx) {
let data = reactive({
......
......@@ -157,6 +157,7 @@
}
.chooseNum {
/* background: yellow; */
width: 50rpx;
height: 50rpx;
text-align: center;
......
......@@ -5,42 +5,27 @@
<view class="name">
<view> {{ changeNumToHan(sortIndex) }}{{ data.GroupName }} </view>
<view class="ExamIndex_Box">
<text class="Single_Before">{{ ExamIndex }}</text
>/<text class="Exam_Total">{{ data.DetailsList.length }}</text>
<text class="Single_Before">{{ ExamIndex }}</text>/<text class="Exam_Total">{{ data.DetailsList.length
}}</text>
</view>
</view>
<swiper
class="swiper-box"
:style="{
<swiper class="swiper-box" :style="{
height: `calc(100vh - 300rpx - ${statusBarHeight}px)`,
}"
:autoplay="autoplay"
:current="current"
@change="onchange"
>
}" :autoplay="autoplay" :current="current" @change="onchange">
<swiper-item v-if="sortIndex != 1"></swiper-item>
<swiper-item v-for="(item1, index1) in data.DetailsList" :key="index1">
<view class="item1" :style="{height: `calc(100vh - 390rpx - ${statusBarHeight}px)`}">
<view class="item1" :style="{ height: `calc(100vh - 390rpx - ${statusBarHeight}px)` }">
<view class="flex">
<view>{{ index1 + 1 }}</view>
<view class="num" v-html="item1.Title"></view><text class="Exam_Score">{{item1.Score}}</text>
<view class="num" v-html="item1.Title"></view><text class="Exam_Score">{{ item1.Score }}</text>
</view>
<view
v-for="(item2, index2) in item1.QuestionContentObj"
:key="index2"
class="flex item2"
style="align-items: center;"
>
<view v-for="(item2, index2) in item1.QuestionContentObj" :key="index2" class="flex item2"
style="align-items: center;">
<view class="chooseNum">{{ index2 + 1 }}</view>
<template v-if="isOperate">
<view class="chooseName">
<input
type="text"
v-model="item2.Content"
@input="getIsRes(item1)"
:placeholder="'请填写第 ' + (index2 + 1) + ' 空答案'"
class="input"
/>
<input type="text" v-model="item2.Content" @input="getIsRes(item1)"
:placeholder="'请填写第 ' + (index2 + 1) + ' 空答案'" class="input" />
</view>
</template>
<template v-else>
......@@ -51,11 +36,7 @@
<view>
您的答案:
<template v-if="item1.AnswerList && item1.AnswerList.length > 0">
<view
v-for="(cItem, cIndex) in item1.AnswerList"
class="flex"
style="margin-top: 20rpx"
>
<view v-for="(cItem, cIndex) in item1.AnswerList" class="flex" style="margin-top: 20rpx">
<view class="chooseNum">{{ cIndex + 1 }}</view>
<view class="viewAnswerContent">
{{ cItem == "" ? "未作答" : cItem }}
......@@ -63,22 +44,19 @@
</view>
</template>
</view>
<view style="margin:25rpx 0;" v-if="item1.StudentScore!=''||item1.StudentScore===0">
<view style="margin:25rpx 0;" v-if="item1.StudentScore != '' || item1.StudentScore === 0">
<text style="color:#8c8a94">您的得分:</text>
<text class="isTrueAnswer" v-if="item1.StudentScore>0">{{item1.StudentScore}}</text>
<text class="isNotAnswer" v-else>{{item1.StudentScore}}</text>
<text class="isTrueAnswer" v-if="item1.StudentScore > 0">{{ item1.StudentScore }}</text>
<text class="isNotAnswer" v-else>{{ item1.StudentScore }}</text>
</view>
<view style="word-wrap: break-word" v-if="item1.AnswerParse">
<text style="color: #8c8a94">解析:</text>
<view
style="color: #000; display: inline-block"
v-html="item1.AnswerParse"
></view>
<view style="color: #000; display: inline-block" v-html="item1.AnswerParse"></view>
</view>
</view>
</view>
<view class="AnswerBtn clear">
<view class="AnswerBtnFirst" @click="getBeforeExam()" v-if="ExamIndex!=1||sortIndex!=1">上一题</view>
<view class="AnswerBtnFirst" @click="getBeforeExam()" v-if="ExamIndex != 1 || sortIndex != 1">上一题</view>
<view class="AnswerBtnSecond" v-if="sortIndex != sortTotal" @click="getNextExam()">下一题</view>
</view>
</swiper-item>
......@@ -167,12 +145,12 @@ export default {
});
},
//点击上一题
getBeforeExam(){
data.current = data.current-1;
getBeforeExam() {
data.current = data.current - 1;
},
//点击下一题
getNextExam(){
data.current = data.current+1;
getNextExam() {
data.current = data.current + 1;
}
};
onMounted(() => {
......@@ -193,30 +171,36 @@ export default {
};
</script>
<style scoped>
.AnswerBtn{
.AnswerBtn {
margin-top: 20rpx;
}
.clear{ clear:both}
.AnswerBtnFirst{
width:250rpx;
height:60rpx;
.clear {
clear: both
}
.AnswerBtnFirst {
width: 250rpx;
height: 60rpx;
text-align: center;
line-height: 60rpx;
border-radius: 10rpx;
border:1px solid #00ACF9;
color:#00ACF9;
float:left;
border: 1px solid #00ACF9;
color: #00ACF9;
float: left;
}
.AnswerBtnSecond{
width:250rpx;
height:60rpx;
.AnswerBtnSecond {
width: 250rpx;
height: 60rpx;
text-align: center;
line-height: 60rpx;
border-radius: 10rpx;
background-color: #00ACF9;
color:#fff;
float:right;
color: #fff;
float: right;
}
.name {
height: 90rpx;
font-size: 30rpx;
......@@ -227,6 +211,7 @@ export default {
align-items: center;
justify-content: space-between;
}
.isTrueAnswer {
color: green !important;
}
......@@ -234,12 +219,14 @@ export default {
.isNotAnswer {
color: red !important;
}
.AnswerContent {
font-size: 30rpx;
padding: 25rpx;
background-color: #f4f4f4;
border-radius: 5px;
}
.ExamIndex_Box {
margin-right: 40rpx;
}
......@@ -254,7 +241,7 @@ export default {
width: 100%;
border-bottom: 1px solid #d1d1d1;
padding-bottom: 5px;
font-size:30rpx;
font-size: 30rpx;
}
.Exam_Total {
......@@ -307,17 +294,18 @@ export default {
font-family: PingFang SC;
font-weight: 500;
color: #111111;
width:100%;
width: 100%;
}
.input {
box-sizing: border-box;
border-bottom: 2rpx solid #000;
height:70rpx;
font-size:26rpx;
height: 70rpx;
font-size: 26rpx;
}
.Exam_Score{
color:#999999;
font-size:28rpx;
.Exam_Score {
color: #999999;
font-size: 28rpx;
}
</style>
......@@ -5,86 +5,56 @@
<view class="name">
<view>
{{ changeNumToHan(sortIndex) }}{{ data.GroupName }}
<text class="Exam_Score"
>(共{{ data.DetailsList.length }}道,{{ data.GScore }}分)</text
>
<text class="Exam_Score">{{ data.DetailsList.length }}道,{{ data.GScore }}分)</text>
</view>
<view class="ExamIndex_Box">
<text class="Single_Before">{{ ExamIndex }}</text
>/<text class="Exam_Total">{{ data.DetailsList.length }}</text>
<text class="Single_Before">{{ ExamIndex }}</text>/<text class="Exam_Total">{{ data.DetailsList.length
}}</text>
</view>
</view>
<swiper
class="swiper-box"
:style="{
<swiper class="swiper-box" :style="{
height: `calc(100vh - 300rpx - ${statusBarHeight}px)`,
}"
:autoplay="autoplay"
:current="current"
@change="onchange"
>
}" :autoplay="autoplay" :current="current" @change="onchange">
<swiper-item v-if="sortIndex != 1"></swiper-item>
<swiper-item v-for="(item1, index1) in data.DetailsList" :key="index1">
<view class="item1" :style="{height: `calc(100vh - 390rpx - ${statusBarHeight}px)`}">
<view class="item1" :style="{ height: `calc(100vh - 390rpx - ${statusBarHeight}px)` }">
<view class="flex">
<view class="num" v-html="item1.Title"></view><text class="Exam_Score">{{item1.Score}}</text>
<view class="num" v-html="item1.Title"></view><text class="Exam_Score">{{ item1.Score }}</text>
</view>
<view
v-for="(item2, index2) in item1.QuestionContentObj"
:key="index2"
class="item2 flex flex_start_center"
>
<view v-for="(item2, index2) in item1.QuestionContentObj" :key="index2"
class="item2 flex flex_start_center">
<template v-if="isOperate">
<view
class="chooseNum"
:class="{ myAnswer: item2.IsAnswer }"
@click="change(item1, item2)"
>{{ item2.ShowName }}
<view class="chooseNum" :class="{ myAnswer: item2.IsAnswer }" @click="change(item1, item2)">{{
item2.ShowName
}}
</view>
<view
class="chooseName"
@click="change(item1, item2)"
v-html="item2.Content"
></view>
<view class="chooseName" @click="change(item1, item2)" v-html="item2.Content"></view>
</template>
<template v-else>
<view
class="chooseNum"
:class="{ isTrueAnswer: item2.IsAnswer }"
>{{ item2.Name }}
<view class="chooseNum" :class="{ isTrueAnswer: item2.IsAnswer }">{{ item2.Name }}
</view>
<view
class="chooseName"
:class="{ isTrueAnswer: item2.IsAnswer }"
v-html="item2.Content"
>
<view class="chooseName" :class="{ isTrueAnswer: item2.IsAnswer }" v-html="item2.Content">
</view>
</template>
</view>
<view class="AnswerContent" v-if="!isOperate">
<view>
<text style="color: #8c8a94">正确答案:</text>
<text class="isTrueAnswer">{{ item1.Answer }}</text
>
<text class="isTrueAnswer">{{ item1.Answer }}</text>
<text>
您的答案:
<template v-if="item1.StundetAnswer != ''">
<text
v-if="item1.Answer == item1.StundetAnswer"
class="isTrueAnswer"
>
<text v-if="item1.Answer == item1.StundetAnswer" class="isTrueAnswer">
{{ item1.StundetAnswer }},回答正确
</text>
<text v-else class="isNotAnswer"
>{{ item1.StundetAnswer }},回答错误</text
>
<text v-else class="isNotAnswer">{{ item1.StundetAnswer }},回答错误</text>
</template>
<template v-else>
<text>未作答</text>
</template>
</text>
</view>
<view style="margin: 20rpx 0" v-if="item1.StudentScore!=''||item1.StudentScore===0">
<view style="margin: 20rpx 0" v-if="item1.StudentScore != '' || item1.StudentScore === 0">
<text style="color: #8c8a94">您的得分:</text>
<text class="isTrueAnswer" v-if="item1.StudentScore > 0">{{
item1.StudentScore
......@@ -93,15 +63,12 @@
</view>
<view style="word-wrap: break-word" v-if="item1.AnswerParse">
<text style="color: #8c8a94">解析:</text>
<view
style="color: #000; display: inline-block"
v-html="item1.AnswerParse"
></view>
<view style="color: #000; display: inline-block" v-html="item1.AnswerParse"></view>
</view>
</view>
</view>
<view class="AnswerBtn clear">
<view class="AnswerBtnFirst" @click="getBeforeExam()" v-if="ExamIndex!=1||sortIndex!=1">上一题</view>
<view class="AnswerBtnFirst" @click="getBeforeExam()" v-if="ExamIndex != 1 || sortIndex != 1">上一题</view>
<view class="AnswerBtnSecond" v-if="sortIndex != sortTotal" @click="getNextExam()">下一题</view>
</view>
</swiper-item>
......@@ -193,12 +160,12 @@ export default {
}
},
//点击上一题
getBeforeExam(){
data.current = data.current-1;
getBeforeExam() {
data.current = data.current - 1;
},
//点击下一题
getNextExam(){
data.current = data.current+1;
getNextExam() {
data.current = data.current + 1;
}
};
onMounted(() => {
......@@ -217,34 +184,40 @@ export default {
...methods,
};
},
onLoad() {},
onLoad() { },
};
</script>
<style scoped>
.AnswerBtn{
.AnswerBtn {
margin-top: 20rpx;
}
.clear{ clear:both}
.AnswerBtnFirst{
width:250rpx;
height:60rpx;
.clear {
clear: both
}
.AnswerBtnFirst {
width: 250rpx;
height: 60rpx;
text-align: center;
line-height: 60rpx;
border-radius: 10rpx;
border:1px solid #00ACF9;
color:#00ACF9;
float:left;
border: 1px solid #00ACF9;
color: #00ACF9;
float: left;
}
.AnswerBtnSecond{
width:250rpx;
height:60rpx;
.AnswerBtnSecond {
width: 250rpx;
height: 60rpx;
text-align: center;
line-height: 60rpx;
border-radius: 10rpx;
background-color: #00ACF9;
color:#fff;
float:right;
color: #fff;
float: right;
}
.name {
height: 90rpx;
font-size: 30rpx;
......@@ -336,8 +309,9 @@ export default {
font-weight: 500;
color: #111111;
}
.Exam_Score{
color:#999999;
font-size:28rpx;
.Exam_Score {
color: #999999;
font-size: 28rpx;
}
</style>
......@@ -8,17 +8,20 @@
<text class="Exam_Score">(共{{ data.DetailsList.length }}道,{{ data.GScore }}分)</text>
</view>
<view class="ExamIndex_Box">
<text class="Single_Before">{{ ExamIndex }}</text>/<text
class="Exam_Total">{{ data.DetailsList.length }}</text>
<text class="Single_Before">{{ ExamIndex }}</text>/<text class="Exam_Total">{{
data.DetailsList.length
}}</text>
</view>
</view>
<swiper class="swiper-box" :style="{height: `calc(100vh - 300rpx - ${statusBarHeight}px)`}" :autoplay="autoplay" :current="current" @change="onchange" :skip-hidden-item-layout="true"
<swiper class="swiper-box" :style="{ height: `calc(100vh - 300rpx - ${statusBarHeight}px)` }"
:autoplay="autoplay" :current="current" @change="onchange" :skip-hidden-item-layout="true"
:disable-programmatic-animation="true">
<swiper-item v-if="sortIndex != 1"></swiper-item>
<swiper-item v-for="(item1, index1) in data.DetailsList" :key="index1">
<view class="item1" :style="{height: `calc(100vh - 390rpx - ${statusBarHeight}px)`}">
<view class="item1" :style="{ height: `calc(100vh - 390rpx - ${statusBarHeight}px)` }">
<view class="flex flex_start_center">
<view class="num" v-html="item1.Title"></view><text class="Exam_Score">{{item1.Score}}</text>
<view class="num" v-html="item1.Title"></view><text class="Exam_Score">{{ item1.Score
}}</text>
</view>
<view v-for="(item2, index2) in item1.QuestionContentObj" :key="index2"
class="flex item2 flex_start_center">
......@@ -52,19 +55,22 @@
</template>
</text>
</view>
<view style="margin:20rpx 0;" v-if="item1.StudentScore!=''||item1.StudentScore===0">
<view style="margin:20rpx 0;" v-if="item1.StudentScore != '' || item1.StudentScore === 0">
<text style="color:#8c8a94">您的得分:</text>
<text class="isTrueAnswer" v-if="item1.StudentScore>0">{{item1.StudentScore}}</text>
<text class="isNotAnswer" v-else>{{item1.StudentScore}}</text>
<text class="isTrueAnswer" v-if="item1.StudentScore > 0">{{ item1.StudentScore }}</text>
<text class="isNotAnswer" v-else>{{ item1.StudentScore }}</text>
</view>
<view style="margin-top: 20rpx; word-wrap: break-word" class="flex" v-if="item1.AnswerParse">
<view style="margin-top: 20rpx; word-wrap: break-word" class="flex"
v-if="item1.AnswerParse">
<text style="color: #8c8a94;flex-shrink: 0;">解析:</text>
<view style="color: #000" v-html="item1.AnswerParse"></view>
</view>
</view>
</view>
<view class="AnswerBtn clear">
<view class="AnswerBtnFirst" @click="getBeforeExam()" v-if="ExamIndex!=1||sortIndex!=1">上一题</view>
<view class="AnswerBtnFirst" @click="getBeforeExam()" v-if="ExamIndex != 1 || sortIndex != 1">
上一题
</view>
<view class="AnswerBtnSecond" v-if="sortIndex != sortTotal" @click="getNextExam()">下一题</view>
</view>
</swiper-item>
......@@ -78,7 +84,7 @@
</template>
<script>
import {
import {
ref,
reactive,
toRefs,
......@@ -87,11 +93,11 @@
watch,
computed,
onMounted,
} from "vue";
import {
} from "vue";
import {
changeNumToHan
} from "../../utils/index";
export default {
} from "../../utils/index";
export default {
props: {
paperData: Object,
sort: Number,
......@@ -123,11 +129,13 @@
if (props.startIndex) {
data.current = props.startIndex - 1;
data.ExamIndex = props.startIndex;
console.log('666')
}
} else {
if (props.startIndex) {
data.current = props.startIndex;
data.ExamIndex = props.startIndex;
// console.log('77777777777777')
}
}
......@@ -175,12 +183,12 @@
});
},
//点击上一题
getBeforeExam(){
data.current = data.current-1;
getBeforeExam() {
data.current = data.current - 1;
},
//点击下一题
getNextExam(){
data.current = data.current+1;
getNextExam() {
data.current = data.current + 1;
}
};
onMounted(() => {
......@@ -199,34 +207,40 @@
...methods,
};
},
};
};
</script>
<style scoped>
.AnswerBtn{
.AnswerBtn {
margin-top: 20rpx;
}
.clear{ clear:both}
.AnswerBtnFirst{
width:250rpx;
height:60rpx;
}
.clear {
clear: both
}
.AnswerBtnFirst {
width: 250rpx;
height: 60rpx;
text-align: center;
line-height: 60rpx;
border-radius: 10rpx;
border:1px solid #00ACF9;
color:#00ACF9;
float:left;
}
.AnswerBtnSecond{
width:250rpx;
height:60rpx;
border: 1px solid #00ACF9;
color: #00ACF9;
float: left;
}
.AnswerBtnSecond {
width: 250rpx;
height: 60rpx;
text-align: center;
line-height: 60rpx;
border-radius: 10rpx;
background-color: #00ACF9;
color:#fff;
float:right;
}
.name {
color: #fff;
float: right;
}
.name {
height: 90rpx;
font-size: 30rpx;
font-family: PingFang SC;
......@@ -235,75 +249,75 @@
display: flex;
align-items: center;
justify-content: space-between;
}
}
.isTrueAnswer {
.isTrueAnswer {
color: green !important;
}
}
.isNotAnswer {
.isNotAnswer {
color: red !important;
}
}
.AnswerContent {
.AnswerContent {
font-size: 28rpx;
padding: 25rpx;
background-color: #f4f4f4;
border-radius: 5px;
}
}
.Single_Before {
.Single_Before {
font-size: 30rpx;
font-weight: bold;
color: #da7878;
}
}
.ExamIndex_Box {
.ExamIndex_Box {
margin-right: 40rpx;
}
}
.Exam_Total {
.Exam_Total {
font-size: 25rpx;
color: gray;
}
}
.answerSheet {
.answerSheet {
font-size: 30rpx;
margin-left: 20rpx;
color: #000;
}
}
.swiper-box {
.swiper-box {
box-sizing: border-box;
}
}
.num {
.num {
font-size: 30rpx;
font-family: PingFang SC;
color: #111111;
}
}
.item {
.item {
/* margin-bottom: 40rpx; */
position: relative;
}
}
.item1 {
.item1 {
/* margin: 25rpx 0; */
align-items: center;
}
}
.item2 {
.item2 {
padding-left: 25rpx;
margin: 30rpx 0;
}
}
.myAnswer {
.myAnswer {
background-color: #00acf9 !important;
color: #ffffff !important;
}
}
.chooseNum {
.chooseNum {
width: 50rpx;
height: 50rpx;
text-align: center;
......@@ -315,16 +329,17 @@
font-family: PingFang SC;
font-weight: bold;
color: #111111;
}
}
.chooseName {
.chooseName {
font-size: 30rpx;
font-family: PingFang SC;
font-weight: 500;
color: #111111;
}
.Exam_Score{
color:#999999;
font-size:28rpx;
}
}
.Exam_Score {
color: #999999;
font-size: 28rpx;
}
</style>
......@@ -2,69 +2,37 @@
<view>
<van-nav-bar fixed>
<template #left>
<van-icon
name="cross"
style="font-size: 32rpx; color: #111"
@click="back"
/>
<van-icon name="cross" style="font-size: 32rpx; color: #111" @click="back" />
</template>
<template #title>
<view
style="
<view style="
font-size: 32rpx;
color: #111;
font-family: PingFang SC;
font-weight: 800;
"
>答题卡</view
>
">答题卡</view>
</template>
</van-nav-bar>
<view class="answer-sheets">
<view v-for="(item, index) in questionList" :key="index" class="item">
<view class="name">
{{ changeNumToHan(index + 1) }}、{{ item.GroupName }}</view
>
{{ changeNumToHan(index + 1) }}、{{ item.GroupName }}</view>
<view class="flex flex_wrap">
<view
v-for="(item1, index1) in item.DetailsList"
:key="index1"
class="flex flex_wrap"
>
<view
class="item1-1"
v-if="
<view v-for="(item1, index1) in item.DetailsList" :key="index1" class="flex flex_wrap">
<view class="item1-1" v-if="
item1.QuestionTypeKey === 'reading-comprehensio' ||
item1.QuestionTypeKey === 'listening'
"
@click="chooseTopic(index, index1)"
>{{ index1 + 1 }}.</view
>
<view
class="item1"
:class="{ isRes: item1.IsRes }"
v-else
@click="chooseTopic(index, index1)"
>{{ index1 + 1 }}</view
>
" @click="chooseTopic(index, index1)">{{ index1 + 1 }}.</view>
<view class="item1" :class="{ isRes: item1.IsRes }" v-else @click="chooseTopic(index, index1)">{{ index1 + 1
}}</view>
<view
v-if="
<view v-if="
item1.QuestionTypeKey === 'reading-comprehensio' ||
item1.QuestionTypeKey === 'listening'
"
class="flex flex_wrap"
>
<view
v-for="(item2, index2) in item1.QuestionContentObj"
:key="index2"
>
<view
class="item1"
:class="{ isRes: item2.IsRes }"
@click="chooseTopic(index, index1)"
>{{ index2 + 1 }}</view
>
" class="flex flex_wrap">
<view v-for="(item2, index2) in item1.QuestionContentObj" :key="index2">
<view class="item1" :class="{ isRes: item2.IsRes }" @click="chooseTopic(index, index1)">{{ index2 + 1 }}
</view>
</view>
</view>
</view>
......@@ -182,6 +150,7 @@ export default {
height: calc(100vh - 300rpx);
overflow-y: auto;
}
.name,
.num {
font-size: 28rpx;
......@@ -189,13 +158,16 @@ export default {
font-weight: 800;
color: #111111;
}
.num {
width: 100rpx;
text-align: center;
}
.item {
margin-bottom: 20rpx;
}
.item1-1 {
width: 690rpx;
margin: 22rpx 0 0 0;
......@@ -204,6 +176,7 @@ export default {
font-weight: 600;
color: #111111;
}
.item1 {
width: 55rpx;
height: 55rpx;
......@@ -219,6 +192,7 @@ export default {
align-items: center;
box-sizing: border-box;
}
.item2 {
width: 44rpx;
height: 44rpx;
......@@ -232,10 +206,12 @@ export default {
font-weight: bold;
color: #111111;
}
.choose {
background-color: #00acf9 !important;
color: #ffffff !important;
}
.submitBox {
width: 750rpx;
height: 150rpx;
......@@ -246,6 +222,7 @@ export default {
box-sizing: border-box;
padding-top: 40rpx;
}
.submit {
width: 600rpx;
height: 70rpx;
......@@ -260,6 +237,7 @@ export default {
color: #fff;
margin: 0 auto;
}
.isRes {
background-color: #00acf9 !important;
color: #ffffff !important;
......
......@@ -6,6 +6,7 @@
},
"pages": [{
"path": "pages/index/index",
// "path": "pages/index/index2",//查看考试
"style": {
"navigationStyle": "custom"
}
......@@ -198,6 +199,7 @@
"borderStyle": "black",
"backgroundColor": "#ffffff",
"list": [{
// "pagePath": "pages/index/index2",//查看考试
"pagePath": "pages/index/index",
"iconPath": "static/image/index.png",
"selectedIconPath": "static/image/index_a.png",
......
......@@ -166,6 +166,7 @@
//获取答案改变后的数据
getAnswerChange(val, index) {
data.dataList[index] = val;
// console.log('kkkkkkkkkkkkk',val)
},
//获取单词错题
getWrongWord(){
......
......@@ -7,349 +7,160 @@
</template>
<template #title>
<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"
style="margin-right: 10rpx"
/>
<van-count-down
:time="time"
:auto-start="autoTimeStart"
class="flex flex_center_center"
ref="countdown"
@finish="examFinish"
/>
style="margin-right: 10rpx" />
<van-count-down :time="time" :auto-start="autoTimeStart" class="flex flex_center_center" ref="countdown"
@finish="examFinish" />
</view>
</template>
</van-nav-bar>
<view class="exam-con" v-if="!isShowAnswer && !isShowNotice">
<i
class="iconfont icon-caidanzu answerSheet"
style="
<i class="iconfont icon-caidanzu answerSheet" style="
position: absolute;
right: 30rpx;
z-index: 999;
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">
<!-- 数字单选题 -->
<SingleChoiceNumber
:startIndex="item.startIndex"
:paperData="item"
@getBeforeTopic="getBeforeTopic()"
@getAfterTopic="getAfterTopic()"
@answerChange="getAnswerChange($event, index)"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isLast="isLast"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
v-if="
<SingleChoiceNumber :startIndex="item.startIndex" :paperData="item" @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
"
/>
" />
<!-- 多选题 -->
<MultipleChoice
:startIndex="item.startIndex"
:paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getBeforeTopic="getBeforeTopic()"
@getAfterTopic="getAfterTopic()"
<MultipleChoice :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus"
@getBeforeTopic="getBeforeTopic()" @getAfterTopic="getAfterTopic()"
@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"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getBeforeTopic="getBeforeTopic()"
@getAfterTopic="getAfterTopic()"
<SingleChoice :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus"
@getBeforeTopic="getBeforeTopic()" @getAfterTopic="getAfterTopic()"
@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"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getBeforeTopic="getBeforeTopic()"
@getAfterTopic="getAfterTopic()"
<ListenTopic :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus"
@getBeforeTopic="getBeforeTopic()" @getAfterTopic="getAfterTopic()"
@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"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getBeforeTopic="getBeforeTopic()"
@getAfterTopic="getAfterTopic()"
<FillInTheBlanks :startIndex="item.startIndex" :paperData="item" :isLast="isLast" :sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length" :isOperate="isOperate" :ExamStatus="ExamStatus"
@getBeforeTopic="getBeforeTopic()" @getAfterTopic="getAfterTopic()"
@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"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)"
v-if="
<readingCompre :startIndex="item.startIndex" :paperData="item" :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' &&
index === changeIndex
"
/>
" />
<!-- 判断题 -->
<Judge
:startIndex="item.startIndex"
:paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
<Judge :startIndex="item.startIndex" :paperData="item" :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 === 'judge' && index === changeIndex"
/>
v-if="item.QuestionTypeKey === 'judge' && index === changeIndex" />
<!-- 简答题 -->
<shortAnswer
:startIndex="item.startIndex"
:paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)"
v-if="
<shortAnswer :startIndex="item.startIndex" :paperData="item" :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
"
/>
" />
<!-- 名词解释 -->
<nounExplanation
:startIndex="item.startIndex"
:paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)"
v-if="
<nounExplanation :startIndex="item.startIndex" :paperData="item" :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
"
/>
" />
<!-- 论述题 -->
<easyQuestion
:startIndex="item.startIndex"
:paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)"
v-if="
<easyQuestion :startIndex="item.startIndex" :paperData="item" :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
"
/>
" />
<!-- 计算题 -->
<Calculation
:startIndex="item.startIndex"
:paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
<Calculation :startIndex="item.startIndex" :paperData="item" :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 === 'calculation' && index === changeIndex"
/>
v-if="item.QuestionTypeKey === 'calculation' && index === changeIndex" />
<!-- 分录题 -->
<EntryProblem
:startIndex="item.startIndex"
:paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)"
v-if="
<EntryProblem :startIndex="item.startIndex" :paperData="item" :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
"
/>
" />
<!-- 口语题 -->
<Spoken
:startIndex="item.startIndex"
:paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
<Spoken :startIndex="item.startIndex" :paperData="item" :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 === 'spoken' && index === changeIndex"
/>
v-if="item.QuestionTypeKey === 'spoken' && index === changeIndex" />
<!-- 其他 -->
<Other
:startIndex="item.startIndex"
:paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
<Other :startIndex="item.startIndex" :paperData="item" :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 === 'other' && index === changeIndex"
/>
v-if="item.QuestionTypeKey === 'other' && index === changeIndex" />
<!-- 完型填空 -->
<Cloze
:startIndex="item.startIndex"
:paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
<Cloze :startIndex="item.startIndex" :paperData="item" :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 === 'cloze' && index === changeIndex"
/>
v-if="item.QuestionTypeKey === 'cloze' && index === changeIndex" />
<!-- 资料题 -->
<Dataquestion
:startIndex="item.startIndex"
:paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)"
v-if="
<Dataquestion :startIndex="item.startIndex" :paperData="item" :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
"
/>
" />
<!-- 公用选择题 -->
<SharingChoose
:startIndex="item.startIndex"
:paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)"
v-if="
<SharingChoose :startIndex="item.startIndex" :paperData="item" :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
"
/>
" />
<!-- 排序题 -->
<SortingProblem
:startIndex="item.startIndex"
:paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)"
v-if="
<SortingProblem :startIndex="item.startIndex" :paperData="item" :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
"
/>
" />
<!-- 连线题待完善 -->
<Connect
:startIndex="item.startIndex"
:paperData="item"
:isLast="isLast"
:sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length"
@getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)"
v-if="item.QuestionTypeKey === 'matching' && index === changeIndex"
/>
<Connect :startIndex="item.startIndex" :paperData="item" :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 v-if="isShowAnswer">
<view class="answer-con" v-if="!isShowAnswerSee">
<answer
:paperData="peaperDetail"
:ExamStuId="Exam_Student_Id"
:StartTime="StartTime"
:ExamStatus="ExamStatus"
:SubmitTimes="SubmitTimes"
@hideAnswer="hideAnswerSheet"
@chooseTopic="jumpTopic"
ref="answer"
/>
<answer :paperData="peaperDetail" :ExamStuId="Exam_Student_Id" :StartTime="StartTime" :ExamStatus="ExamStatus"
:SubmitTimes="SubmitTimes" @hideAnswer="hideAnswerSheet" @chooseTopic="jumpTopic" ref="answer" />
</view>
<!-- 答题卡查看对错 -->
<answerSee
:paperData="peaperDetail"
@hideAnswer="hideAnswerSheet"
@chooseTopic="jumpTopic"
v-if="isShowAnswerSee"
/>
<answerSee :paperData="peaperDetail" @hideAnswer="hideAnswerSheet" @chooseTopic="jumpTopic"
v-if="isShowAnswerSee" />
</view>
<view class="answer-con" v-if="isShowNotice">
<examNotice
:msg="msg"
:ExamStatus="ExamStatus"
@hideNotice="hideNotice"
/>
<examNotice :msg="msg" :ExamStatus="ExamStatus" @hideNotice="hideNotice" />
</view>
<van-toast id="van-toast" />
</view>
......@@ -470,11 +281,13 @@ export default {
getAfterTopic() {
this.changeIndex++;
this.isLast = false;
// console.log('滑动下一页', this.changeIndex)
},
//往前翻
getBeforeTopic() {
this.changeIndex--;
this.isLast = true;
// console.log('滑动上一页', this.changeIndex)
},
//显示答题卡
showAnswerSheet() {
......@@ -492,6 +305,7 @@ export default {
//获取答案改变后的数据
getAnswerChange(val, index) {
data.peaperDetail.Paper.GroupList[index] = val;
console.log('kkkkkkkkkkkkkkkk', val)
},
//跳转到指定题目
jumpTopic(val) {
......@@ -500,6 +314,7 @@ export default {
val.index1 + 1;
data.isShowAnswer = false;
data.isLast = false;
// console.log('跳转了', val)
},
//倒计时完成考试结束
examFinish() {
......
......@@ -95,6 +95,7 @@
jumpPage() {
uni.reLaunch({
url: "/pages/index/index",
// url: "/pages/index/index2",//跳转查看考试
});
clearTimeout();
},
......
<template>
<uni-shadow-root class="vant-icon-index"><view :class="computed.rootClass({ classPrefix, name })" :style="computed.rootStyle({ customStyle, color, size })" @click="onClick">
<uni-shadow-root class="vant-icon-index">
<view :class="computed.rootClass({ classPrefix, name })" :style="computed.rootStyle({ customStyle, color, size })"
@click="onClick">
<van-info v-if="info !== null || dot" :dot="dot" :info="info" custom-class="van-icon__info"></van-info>
<image v-if="computed.isImage(name)" :src="name" mode="aspectFit" class="van-icon__image"></image>
</view></uni-shadow-root>
</view>
</uni-shadow-root>
</template>
<wxs src="./index.wxs" module="computed"></wxs>
<script>
import VanInfo from '../info/index.vue'
global['__wxVueOptions'] = {components:{'van-info': VanInfo}}
global['__wxVueOptions'] = { components: { 'van-info': VanInfo } }
global['__wxRoute'] = 'vant/icon/index'
import { VantComponent } from '../common/component';
......@@ -1005,7 +1008,7 @@ export default global['__wxComponents']['vant/icon/index']
font-style: normal;
font-display: auto;
font-family: vant-icon;
src: url(https://at.alicdn.com/t/font_2553510_7cds497uxwn.woff2?t=1621320123079) format("woff2"),url(https://at.alicdn.com/t/font_2553510_7cds497uxwn.woff?t=1621320123079) format("woff"),url(https://at.alicdn.com/t/font_2553510_7cds497uxwn.ttf?t=1621320123079) format("truetype");
src: url(https://at.alicdn.com/t/font_2553510_7cds497uxwn.woff2?t=1621320123079) format("woff2"), url(https://at.alicdn.com/t/font_2553510_7cds497uxwn.woff?t=1621320123079) format("woff"), url(https://at.alicdn.com/t/font_2553510_7cds497uxwn.ttf?t=1621320123079) format("truetype");
}
.vant-icon-index {
......
......@@ -9,9 +9,9 @@ const defaultOptions = {
top: 0,
color: WHITE,
safeAreaInsetTop: false,
onClick: () => {},
onOpened: () => {},
onClose: () => {},
onClick: () => { },
onOpened: () => { },
onClose: () => { },
};
function parseOptions(message) {
if (message == null) {
......
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