Commit 6e3075f9 authored by zhengke's avatar zhengke

修改

parent 0e1a402f
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
</view> </view>
<view <view
class="AnswerContent" class="AnswerContent"
v-if="!isOperate" v-if="!isOperate&&(ExamStatus==2||ExamStatus==3)"
style="margin-top: 30rpx" style="margin-top: 30rpx"
> >
<view> <view>
...@@ -102,6 +102,7 @@ export default { ...@@ -102,6 +102,7 @@ export default {
isLast: Boolean, isLast: Boolean,
startIndex: Number, startIndex: Number,
isOperate: Boolean, isOperate: Boolean,
ExamStatus: Number
}, },
setup(props, context) { setup(props, context) {
let { proxy } = getCurrentInstance(); let { proxy } = getCurrentInstance();
...@@ -117,6 +118,7 @@ export default { ...@@ -117,6 +118,7 @@ export default {
ExamIndex: 1, //第几题 ExamIndex: 1, //第几题
isOperate: props.isOperate, isOperate: props.isOperate,
statusBarHeight: 0, statusBarHeight: 0,
ExamStatus: props.ExamStatus
}); });
//判断是否是第一大题 //判断是否是第一大题
if (data.sortIndex === 1) { if (data.sortIndex === 1) {
...@@ -144,11 +146,13 @@ export default { ...@@ -144,11 +146,13 @@ export default {
}, },
onchange(e) { onchange(e) {
data.ExamIndex = e.detail.current; data.ExamIndex = e.detail.current;
if (data.sortIndex == 1) {
data.ExamIndex = e.detail.current + 1;
}
if (data.ExamIndex === data.data.DetailsList.length + 1) { if (data.ExamIndex === data.data.DetailsList.length + 1) {
console.log("进入");
this.$emit("getAfterTopic"); this.$emit("getAfterTopic");
} }
if (e.detail.current == 0) { if (e.detail.current == 0 && data.sortIndex != 1) {
this.$emit("getBeforeTopic"); this.$emit("getBeforeTopic");
} }
}, },
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
v-html="item3.Content"></view> v-html="item3.Content"></view>
</template> </template>
</view> </view>
<template v-if="!isOperate"> <template v-if="!isOperate&&(ExamStatus==2||ExamStatus==3)">
<view class="AnswerContent" style="margin-bottom:20px;"> <view class="AnswerContent" style="margin-bottom:20px;">
<view> <view>
<text style="color: #8c8a94">正确答案:</text> <text style="color: #8c8a94">正确答案:</text>
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
</template> </template>
</view> </view>
</view> </view>
<view class="AnswerContent" v-if="!isOperate&&item1.AnswerParse" style="margin-top:20px;"> <view class="AnswerContent" v-if="!isOperate&&item1.AnswerParse&&(ExamStatus==2||ExamStatus==3)" style="margin-top:20px;">
<view style="margin-top: 20rpx; word-wrap: break-word"> <view style="margin-top: 20rpx; word-wrap: break-word">
<text style="color: #8c8a94">解析:</text> <text style="color: #8c8a94">解析:</text>
<text style="color: #000">{{ item1.AnswerParse }}</text> <text style="color: #000">{{ item1.AnswerParse }}</text>
...@@ -106,6 +106,7 @@ ...@@ -106,6 +106,7 @@
isLast: Boolean, isLast: Boolean,
startIndex: Number, startIndex: Number,
isOperate: Boolean, isOperate: Boolean,
ExamStatus: Number
}, },
setup(props, context) { setup(props, context) {
let { let {
...@@ -120,6 +121,7 @@ ...@@ -120,6 +121,7 @@
ExamIndex: 1, //第几题 ExamIndex: 1, //第几题
isOperate: props.isOperate, isOperate: props.isOperate,
statusBarHeight: 0, statusBarHeight: 0,
ExamStatus: props.ExamStatus
}); });
//判断是否是第一大题 //判断是否是第一大题
if (data.sortIndex === 1) { if (data.sortIndex === 1) {
...@@ -147,11 +149,13 @@ ...@@ -147,11 +149,13 @@
}, },
onchange(e) { onchange(e) {
data.ExamIndex = e.detail.current; data.ExamIndex = e.detail.current;
if (data.sortIndex == 1) {
data.ExamIndex = e.detail.current + 1;
}
if (data.ExamIndex === data.data.DetailsList.length + 1) { if (data.ExamIndex === data.data.DetailsList.length + 1) {
console.log("进入");
this.$emit("getAfterTopic"); this.$emit("getAfterTopic");
} }
if (e.detail.current == 0) { if (e.detail.current == 0 && data.sortIndex != 1) {
this.$emit("getBeforeTopic"); this.$emit("getBeforeTopic");
} }
}, },
......
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
</template> </template>
</view> </view>
</view> </view>
<view class="AnswerContent" v-if="!isOperate"> <view class="AnswerContent" v-if="!isOperate&&(ExamStatus==2||ExamStatus==3)">
<view> <view>
您的答案: 您的答案:
<template v-if="item1.AnswerList && item1.AnswerList.length > 0"> <template v-if="item1.AnswerList && item1.AnswerList.length > 0">
...@@ -110,6 +110,7 @@ export default { ...@@ -110,6 +110,7 @@ export default {
isLast: Boolean, isLast: Boolean,
startIndex: Number, startIndex: Number,
isOperate: Boolean, isOperate: Boolean,
ExamStatus: Number
}, },
setup(props, context) { setup(props, context) {
let { ctx } = getCurrentInstance(); let { ctx } = getCurrentInstance();
...@@ -125,6 +126,7 @@ export default { ...@@ -125,6 +126,7 @@ export default {
ExamIndex: 1, //第几题 ExamIndex: 1, //第几题
isOperate: props.isOperate, isOperate: props.isOperate,
statusBarHeight: 0, statusBarHeight: 0,
ExamStatus: props.ExamStatus
}); });
//判断是否是第一大题 //判断是否是第一大题
if (data.sortIndex === 1) { if (data.sortIndex === 1) {
...@@ -152,11 +154,13 @@ export default { ...@@ -152,11 +154,13 @@ export default {
}, },
onchange(e) { onchange(e) {
data.ExamIndex = e.detail.current; data.ExamIndex = e.detail.current;
if (data.sortIndex == 1) {
data.ExamIndex = e.detail.current + 1;
}
if (data.ExamIndex === data.data.DetailsList.length + 1) { if (data.ExamIndex === data.data.DetailsList.length + 1) {
console.log("进入");
this.$emit("getAfterTopic"); this.$emit("getAfterTopic");
} }
if (e.detail.current == 0) { if (e.detail.current == 0 && data.sortIndex != 1) {
this.$emit("getBeforeTopic"); this.$emit("getBeforeTopic");
} }
}, },
......
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
</template> </template>
</view> </view>
</view> </view>
<view class="AnswerContent" v-if="!isOperate"> <view class="AnswerContent" v-if="!isOperate&&(ExamStatus==2||ExamStatus==3)">
<view> <view>
您的答案: 您的答案:
<template v-if="item1.AnswerList && item1.AnswerList.length > 0"> <template v-if="item1.AnswerList && item1.AnswerList.length > 0">
...@@ -110,6 +110,7 @@ export default { ...@@ -110,6 +110,7 @@ export default {
isLast: Boolean, isLast: Boolean,
startIndex: Number, startIndex: Number,
isOperate: Boolean, isOperate: Boolean,
ExamStatus: Number
}, },
setup(props, context) { setup(props, context) {
let { ctx } = getCurrentInstance(); let { ctx } = getCurrentInstance();
...@@ -125,6 +126,7 @@ export default { ...@@ -125,6 +126,7 @@ export default {
ExamIndex: 1, //第几题 ExamIndex: 1, //第几题
isOperate: props.isOperate, isOperate: props.isOperate,
statusBarHeight: 0, statusBarHeight: 0,
ExamStatus: props.ExamStatus
}); });
//判断是否是第一大题 //判断是否是第一大题
if (data.sortIndex === 1) { if (data.sortIndex === 1) {
...@@ -157,11 +159,13 @@ export default { ...@@ -157,11 +159,13 @@ export default {
}, },
onchange(e) { onchange(e) {
data.ExamIndex = e.detail.current; data.ExamIndex = e.detail.current;
if (data.sortIndex == 1) {
data.ExamIndex = e.detail.current + 1;
}
if (data.ExamIndex === data.data.DetailsList.length + 1) { if (data.ExamIndex === data.data.DetailsList.length + 1) {
console.log("进入");
this.$emit("getAfterTopic"); this.$emit("getAfterTopic");
} }
if (e.detail.current == 0) { if (e.detail.current == 0 && data.sortIndex != 1) {
this.$emit("getBeforeTopic"); this.$emit("getBeforeTopic");
} }
}, },
......
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
</template> </template>
</view> </view>
</view> </view>
<view class="AnswerContent" v-if="!isOperate"> <view class="AnswerContent" v-if="!isOperate&&(ExamStatus==2||ExamStatus==3)">
<view> <view>
您的答案: 您的答案:
<template v-if="item1.AnswerList && item1.AnswerList.length > 0"> <template v-if="item1.AnswerList && item1.AnswerList.length > 0">
...@@ -104,6 +104,7 @@ export default { ...@@ -104,6 +104,7 @@ export default {
sortTotal: Number, sortTotal: Number,
startIndex: Number, startIndex: Number,
isOperate: Boolean, isOperate: Boolean,
ExamStatus: Number
}, },
setup(props, context) { setup(props, context) {
let { ctx } = getCurrentInstance(); let { ctx } = getCurrentInstance();
...@@ -118,6 +119,7 @@ export default { ...@@ -118,6 +119,7 @@ export default {
ExamIndex: 1, //第几题 ExamIndex: 1, //第几题
isOperate: props.isOperate, isOperate: props.isOperate,
statusBarHeight: 0, statusBarHeight: 0,
ExamStatus: props.ExamStatus
}); });
//判断是否是第一大题 //判断是否是第一大题
if (data.sortIndex === 1) { if (data.sortIndex === 1) {
...@@ -143,11 +145,14 @@ export default { ...@@ -143,11 +145,14 @@ export default {
onchange(e) { onchange(e) {
context.emit("answerChange", data.data); context.emit("answerChange", data.data);
data.ExamIndex = e.detail.current; data.ExamIndex = e.detail.current;
if (data.sortIndex == 1) {
data.ExamIndex = e.detail.current + 1;
}
if (data.ExamIndex === data.data.DetailsList.length + 1) { if (data.ExamIndex === data.data.DetailsList.length + 1) {
console.log("进入"); console.log("进入");
this.$emit("getAfterTopic"); this.$emit("getAfterTopic");
} }
if (e.detail.current == 0) { if (e.detail.current == 0 && data.sortIndex != 1) {
this.$emit("getBeforeTopic"); this.$emit("getBeforeTopic");
} }
}, },
......
...@@ -92,7 +92,7 @@ ...@@ -92,7 +92,7 @@
</template> </template>
</view> </view>
</view> </view>
<template v-if="!isOperate"> <template v-if="!isOperate&&(ExamStatus==2||ExamStatus==3)">
<view class="AnswerContent"> <view class="AnswerContent">
<view> <view>
<text style="color: #8c8a94">正确答案:</text> <text style="color: #8c8a94">正确答案:</text>
...@@ -125,7 +125,7 @@ ...@@ -125,7 +125,7 @@
</view> </view>
</view> </view>
</view> </view>
<view class="AnswerContent" v-if="!isOperate&&item1.AnswerParse"> <view class="AnswerContent" v-if="!isOperate&&item1.AnswerParse&&(ExamStatus==2||ExamStatus==3)">
<view style="word-wrap: break-word"> <view style="word-wrap: break-word">
<text style="color: #8c8a94">解析:</text> <text style="color: #8c8a94">解析:</text>
<view <view
...@@ -166,7 +166,8 @@ ...@@ -166,7 +166,8 @@
sortTotal: Number, sortTotal: Number,
isLast: Boolean, isLast: Boolean,
startIndex: Number, startIndex: Number,
isOperate: Boolean isOperate: Boolean,
ExamStatus: Number
}, },
setup(props, context) { setup(props, context) {
let s = getCurrentInstance(); let s = getCurrentInstance();
...@@ -184,7 +185,8 @@ ...@@ -184,7 +185,8 @@
audioTime: 999, audioTime: 999,
isPlay: true, isPlay: true,
statusBarHeight: 0, statusBarHeight: 0,
isOperate: props.isOperate isOperate: props.isOperate,
ExamStatus: props.ExamStatus
}); });
data.data.DetailsList.map((item) => { data.data.DetailsList.map((item) => {
let arr = item.Title.split(" "); //按空格分段 let arr = item.Title.split(" "); //按空格分段
...@@ -298,8 +300,10 @@ ...@@ -298,8 +300,10 @@
}); });
data.isPlay = true; data.isPlay = true;
console.log(369, data.audioTime);
data.ExamIndex = e.detail.current; data.ExamIndex = e.detail.current;
if (data.sortIndex == 1) {
data.ExamIndex = e.detail.current + 1;
}
if (data.ExamIndex === data.data.DetailsList.length + 1) { if (data.ExamIndex === data.data.DetailsList.length + 1) {
this.$emit("getAfterTopic"); this.$emit("getAfterTopic");
} }
......
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
</template> </template>
</view> </view>
</view> </view>
<view class="AnswerContent" v-if="!isOperate"> <view class="AnswerContent" v-if="!isOperate&&(ExamStatus==2||ExamStatus==3)">
<view> <view>
<text style="color: #8c8a94">正确答案:</text> <text style="color: #8c8a94">正确答案:</text>
<text class="isTrueAnswer">{{ item1.Answer }}</text <text class="isTrueAnswer">{{ item1.Answer }}</text
...@@ -130,6 +130,7 @@ export default { ...@@ -130,6 +130,7 @@ export default {
sortTotal: Number, sortTotal: Number,
startIndex: Number, startIndex: Number,
isOperate: Boolean, isOperate: Boolean,
ExamStatus: Number
}, },
setup(props, context) { setup(props, context) {
let data = reactive({ let data = reactive({
...@@ -141,6 +142,7 @@ export default { ...@@ -141,6 +142,7 @@ export default {
ExamIndex: 1, //第几题 ExamIndex: 1, //第几题
isOperate: props.isOperate, isOperate: props.isOperate,
statusBarHeight: 0, statusBarHeight: 0,
ExamStatus: props.ExamStatus
}); });
//判断是否是第一大题 //判断是否是第一大题
if (data.sortIndex === 1) { if (data.sortIndex === 1) {
...@@ -174,7 +176,6 @@ export default { ...@@ -174,7 +176,6 @@ export default {
item1.IsRes = item1.QuestionContentObj.some((e) => { item1.IsRes = item1.QuestionContentObj.some((e) => {
return e.IsAnswer; return e.IsAnswer;
}); });
console.log(item1, "item1");
context.emit("answerChange", data.data); context.emit("answerChange", data.data);
}, },
onchange(e) { onchange(e) {
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
<view class="viewAnswerContent" style="margin-top:20px;" v-html="item1.Answer"></view> <view class="viewAnswerContent" style="margin-top:20px;" v-html="item1.Answer"></view>
</template> </template>
</view> </view>
<view class="AnswerContent" v-if="!isOperate"> <view class="AnswerContent" v-if="!isOperate&&(ExamStatus==2||ExamStatus==3)">
<view> <view>
<text style="color: #8c8a94">正确答案:</text> <text style="color: #8c8a94">正确答案:</text>
<text class="isTrueAnswer">{{ item1.Answer }}</text> <text class="isTrueAnswer">{{ item1.Answer }}</text>
...@@ -88,7 +88,8 @@ ...@@ -88,7 +88,8 @@
sortTotal: Number, sortTotal: Number,
isLast: Boolean, isLast: Boolean,
startIndex: Number, startIndex: Number,
isOperate: Boolean isOperate: Boolean,
ExamStatus: Number
}, },
setup(props, context) { setup(props, context) {
let { let {
...@@ -102,7 +103,8 @@ ...@@ -102,7 +103,8 @@
current: 1, //默认从第几个开始-用于从快捷菜单点入 current: 1, //默认从第几个开始-用于从快捷菜单点入
ExamIndex: 1, //第几题 ExamIndex: 1, //第几题
statusBarHeight: 0, statusBarHeight: 0,
isOperate: props.isOperate isOperate: props.isOperate,
ExamStatus: props.ExamStatus
}); });
//判断是否是第一大题 //判断是否是第一大题
if (data.sortIndex === 1) { if (data.sortIndex === 1) {
...@@ -130,11 +132,13 @@ ...@@ -130,11 +132,13 @@
}, },
onchange(e) { onchange(e) {
data.ExamIndex = e.detail.current; data.ExamIndex = e.detail.current;
if (data.sortIndex == 1) {
data.ExamIndex = e.detail.current + 1;
}
if (data.ExamIndex === data.data.DetailsList.length + 1) { if (data.ExamIndex === data.data.DetailsList.length + 1) {
console.log("进入");
this.$emit("getAfterTopic"); this.$emit("getAfterTopic");
} }
if (e.detail.current == 0) { if (e.detail.current == 0 && data.sortIndex != 1) {
this.$emit("getBeforeTopic"); this.$emit("getBeforeTopic");
} }
}, },
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
</template> </template>
</template> </template>
<template v-else> <template v-else>
<view class="AnswerContent"> <view class="AnswerContent" v-if="ExamStatus==2||ExamStatus==3">
<view> <view>
<text style="color: #8c8a94">正确答案:</text> <text style="color: #8c8a94">正确答案:</text>
<text class="isTrueAnswer">{{ item1.Answer }}</text> <text class="isTrueAnswer">{{ item1.Answer }}</text>
...@@ -108,6 +108,7 @@ ...@@ -108,6 +108,7 @@
isLast: Boolean, isLast: Boolean,
isOperate: Boolean, isOperate: Boolean,
startIndex: Number, startIndex: Number,
ExamStatus: Number
}, },
setup(props, context) { setup(props, context) {
let { let {
...@@ -130,6 +131,7 @@ ...@@ -130,6 +131,7 @@
ExamIndex: 1, //第几题 ExamIndex: 1, //第几题
isOperate: props.isOperate, isOperate: props.isOperate,
statusBarHeight: 0, statusBarHeight: 0,
ExamStatus: props.ExamStatus
}); });
//判断是否是第一大题 //判断是否是第一大题
if (data.sortIndex === 1) { if (data.sortIndex === 1) {
...@@ -157,11 +159,13 @@ ...@@ -157,11 +159,13 @@
}, },
onchange(e) { onchange(e) {
data.ExamIndex = e.detail.current; data.ExamIndex = e.detail.current;
if (data.sortIndex == 1) {
data.ExamIndex = e.detail.current + 1;
}
if (data.ExamIndex === data.data.DetailsList.length + 1) { if (data.ExamIndex === data.data.DetailsList.length + 1) {
console.log("进入");
this.$emit("getAfterTopic"); this.$emit("getAfterTopic");
} }
if (e.detail.current == 0) { if (e.detail.current == 0 && data.sortIndex != 1) {
this.$emit("getBeforeTopic"); this.$emit("getBeforeTopic");
} }
}, },
......
<template> <template>
<!-- 单选题 --> <!-- 单选题 -->
<view> <view>
<view class="item" style="padding: 0 20px"> <view class="item" style="padding: 0 20px">
<view class="name"> <view class="name">
<view class="grow"> <view class="grow">
{{ changeNumToHan(sortIndex) }}{{ data.GroupName }} {{ changeNumToHan(sortIndex) }}{{ data.GroupName }}
<text style="color: #999999" <text style="color: #999999">(共{{ data.DetailsList.length }}道,{{ data.GScore }}分)</text>
>(共{{ data.DetailsList.length }}道,{{ data.GScore }}分)</text </view>
> <view class="ExamIndex_Box">
</view> <text class="Single_Before">{{ ExamIndex }}</text>/<text
<view class="ExamIndex_Box"> class="Exam_Total">{{ data.DetailsList.length }}</text>
<text class="Single_Before">{{ ExamIndex }}</text </view>
>/<text class="Exam_Total">{{ data.DetailsList.length }}</text> </view>
</view> <swiper class="swiper-box" :style="{
</view>
<swiper
class="swiper-box"
:style="{
height: `calc(100vh - 300rpx - ${statusBarHeight}px)`, height: `calc(100vh - 300rpx - ${statusBarHeight}px)`,
}" }" :autoplay="autoplay" :current="current" @change="onchange" :skip-hidden-item-layout="true"
:autoplay="autoplay" :disable-programmatic-animation="true">
:current="current" <swiper-item v-if="sortIndex != 1"></swiper-item>
@change="onchange" <swiper-item v-for="(item1, index1) in data.DetailsList" :key="index1">
:skip-hidden-item-layout="true" <view class="item1">
:disable-programmatic-animation="true" <view class="flex flex_start_center">
> <view class="num" v-html="item1.Title"></view>{{item1.Score}}
<swiper-item v-if="sortIndex != 1"></swiper-item> </view>
<swiper-item v-for="(item1, index1) in data.DetailsList" :key="index1"> <view v-for="(item2, index2) in item1.QuestionContentObj" :key="index2"
<view class="item1"> class="flex item2 flex_start_center">
<view class="flex flex_start_center"> <template v-if="isOperate">
<view class="num" v-html="item1.Title"></view> <view class="chooseNum" :class="{ myAnswer: item2.IsAnswer }"
</view> @click="change(item1, item2)">{{ item2.ShowName }}
</view>
<view <view class="chooseName" @click="change(item1, item2)" v-html="item2.Content"></view>
v-for="(item2, index2) in item1.QuestionContentObj" </template>
:key="index2" <template v-else>
class="flex item2 flex_start_center" <view class="chooseNum" :class="{ isTrueAnswer: item2.IsAnswer }">{{ item2.Name }}
> </view>
<template v-if="isOperate"> <view class="chooseName" :class="{ isTrueAnswer: item2.IsAnswer }"
<view v-html="item2.Content">
class="chooseNum" </view>
:class="{ myAnswer: item2.IsAnswer }" </template>
@click="change(item1, item2)" </view>
>{{ item2.ShowName }} </view>
</view> <view class="AnswerContent" v-if="!isOperate&&(ExamStatus==2||ExamStatus==3)">
<view <view>
class="chooseName" <text style="color: #8c8a94">正确答案:</text>
@click="change(item1, item2)" <text class="isTrueAnswer">{{ item1.Answer }}</text>
v-html="item2.Content" <text>您的答案是:
></view> <template v-if="item1.StundetAnswer != ''">
</template> <text v-if="item1.Answer == item1.StundetAnswer" class="isTrueAnswer">
<template v-else> {{ item1.StundetAnswer }},回答正确
<view </text>
class="chooseNum" <text v-else class="isNotAnswer">{{ item1.StundetAnswer }},回答错误</text>
:class="{ isTrueAnswer: item2.IsAnswer }" </template>
>{{ item2.Name }} <template v-else>
</view> <text>未作答</text>
<view </template>
class="chooseName" </text>
:class="{ isTrueAnswer: item2.IsAnswer }" </view>
v-html="item2.Content" <view style="margin-top: 20rpx; word-wrap: break-word" class="flex" v-if="item1.AnswerParse">
> <text style="color: #8c8a94;flex-shrink: 0;">解析:</text>
</view> <view style="color: #000" v-html="item1.AnswerParse"></view>
</template> </view>
</view> </view>
</view> </swiper-item>
<view class="AnswerContent" v-if="!isOperate"> <swiper-item v-if="sortIndex != sortTotal">
<view> <!-- 最后一页 -->
<text style="color: #8c8a94">正确答案:</text> </swiper-item>
<text class="isTrueAnswer">{{ item1.Answer }}</text </swiper>
> </view>
<text <van-toast id="van-toast" />
>您的答案是: </view>
<template v-if="item1.StundetAnswer != ''">
<text
v-if="item1.Answer == item1.StundetAnswer"
class="isTrueAnswer"
>
{{ item1.StundetAnswer }},回答正确
</text>
<text v-else class="isNotAnswer"
>{{ item1.StundetAnswer }},回答错误</text
>
</template>
<template v-else>
<text>未作答</text>
</template>
</text>
</view>
<view
style="margin-top: 20rpx; word-wrap: break-word"
v-if="item1.AnswerParse"
>
<text style="color: #8c8a94">解析:</text>
<text style="color: #000">{{ item1.AnswerParse }}</text>
</view>
</view>
</swiper-item>
<swiper-item v-if="sortIndex != sortTotal">
<!-- 最后一页 -->
</swiper-item>
</swiper>
</view>
<van-toast id="van-toast" />
</view>
</template> </template>
<script> <script>
import { import {
ref, ref,
reactive, reactive,
toRefs, toRefs,
toRef, toRef,
getCurrentInstance, getCurrentInstance,
watch, watch,
computed, computed,
onMounted, onMounted,
} from "vue"; } from "vue";
import { changeNumToHan } from "../../utils/index"; import {
export default { changeNumToHan
props: { } from "../../utils/index";
paperData: Object, export default {
sort: Number, props: {
sortTotal: Number, paperData: Object,
isLast: Boolean, sort: Number,
startIndex: Number, sortTotal: Number,
isOperate: Boolean, isLast: Boolean,
}, startIndex: Number,
setup(props, context) { isOperate: Boolean,
let { ctx } = getCurrentInstance(); ExamStatus: Number
let data = reactive({ },
autoplay: false, setup(props, context) {
sortIndex: props.sort + 1, //大题序号 let {
sortTotal: props.sortTotal, //总共多少道大题 ctx
data: props.paperData, } = getCurrentInstance();
current: 1, //默认从第几个开始-用于从快捷菜单点入 let data = reactive({
ExamIndex: 1, //第几题 autoplay: false,
isOperate: props.isOperate, sortIndex: props.sort + 1, //大题序号
statusBarHeight: 0, sortTotal: props.sortTotal, //总共多少道大题
}); data: props.paperData,
//判断是否是第一大题 current: 1, //默认从第几个开始-用于从快捷菜单点入
if (data.sortIndex === 1) { ExamIndex: 1, //第几题
data.current = 0; isOperate: props.isOperate,
//从答题卡进入 statusBarHeight: 0,
if (props.startIndex) { ExamStatus: props.ExamStatus
data.current = props.startIndex - 1; });
data.ExamIndex = props.startIndex; //判断是否是第一大题
} if (data.sortIndex === 1) {
} else { data.current = 0;
if (props.startIndex) { //从答题卡进入
data.current = props.startIndex; if (props.startIndex) {
data.ExamIndex = props.startIndex; data.current = props.startIndex - 1;
} data.ExamIndex = props.startIndex;
} }
} else {
if (props.startIndex) {
data.current = props.startIndex;
data.ExamIndex = props.startIndex;
}
}
let methods = { let methods = {
changeNumToHan, changeNumToHan,
jumpPage() { jumpPage() {
uni.navigateTo({ uni.navigateTo({
url: "/pages/exam/examPaper", url: "/pages/exam/examPaper",
}); });
}, },
back() { back() {
uni.navigateBack(); uni.navigateBack();
}, },
//选题 //选题
change(item1, item2) { change(item1, item2) {
context.emit("answerChange", data.data); context.emit("answerChange", data.data);
item1.QuestionContentObj.map((e) => { item1.QuestionContentObj.map((e) => {
if (e.Name == item2.Name) { if (e.Name == item2.Name) {
e.IsAnswer = true; e.IsAnswer = true;
} else { } else {
e.IsAnswer = false; e.IsAnswer = false;
} }
if (e.IsAnswer) { if (e.IsAnswer) {
//标记已回答 //标记已回答
item1.IsRes = true; item1.IsRes = true;
} }
}); });
}, },
onchange(e) { onchange(e) {
data.ExamIndex = e.detail.current; data.ExamIndex = e.detail.current;
if (data.sortIndex == 1) { if (data.sortIndex == 1) {
data.ExamIndex = e.detail.current + 1; data.ExamIndex = e.detail.current + 1;
} }
if (data.ExamIndex === data.data.DetailsList.length + 1) { if (data.ExamIndex === data.data.DetailsList.length + 1) {
this.$emit("getAfterTopic"); this.$emit("getAfterTopic");
} }
if (e.detail.current == 0 && data.sortIndex != 1) { if (e.detail.current == 0 && data.sortIndex != 1) {
this.$emit("getBeforeTopic"); this.$emit("getBeforeTopic");
} }
}, },
jumpAnswerSheet() { jumpAnswerSheet() {
uni.navigateTo({ uni.navigateTo({
url: "/pages/exam/answerSheet", url: "/pages/exam/answerSheet",
}); });
}, },
}; };
onMounted(() => { onMounted(() => {
if (props.isLast) { if (props.isLast) {
if (data.sortIndex === 1) { if (data.sortIndex === 1) {
data.current = props.paperData.DetailsList.length - 1; data.current = props.paperData.DetailsList.length - 1;
} else { } else {
data.current = props.paperData.DetailsList.length; data.current = props.paperData.DetailsList.length;
} }
} }
data.statusBarHeight = uni.getSystemInfoSync().statusBarHeight; data.statusBarHeight = uni.getSystemInfoSync().statusBarHeight;
}); });
let that = methods; let that = methods;
return { return {
...toRefs(data), ...toRefs(data),
...methods, ...methods,
}; };
}, },
}; };
</script> </script>
<style scoped> <style scoped>
.name { .name {
height: 90rpx; height: 90rpx;
font-size: 28rpx; font-size: 28rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 800; font-weight: 800;
color: #111111; color: #111111;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
} }
.isTrueAnswer { .isTrueAnswer {
color: green !important; color: green !important;
} }
.isNotAnswer { .isNotAnswer {
color: red !important; color: red !important;
} }
.AnswerContent { .AnswerContent {
font-size: 28rpx; font-size: 28rpx;
padding: 25rpx; padding: 25rpx;
background-color: #f4f4f4; background-color: #f4f4f4;
border-radius: 5px; border-radius: 5px;
} }
.Single_Before { .Single_Before {
font-size: 28rpx; font-size: 28rpx;
font-weight: bold; font-weight: bold;
color: #da7878; color: #da7878;
} }
.ExamIndex_Box { .ExamIndex_Box {
margin-right: 20px; margin-right: 20px;
} }
.Exam_Total { .Exam_Total {
font-size: 25rpx; font-size: 25rpx;
color: gray; color: gray;
} }
.answerSheet { .answerSheet {
font-size: 30rpx; font-size: 30rpx;
margin-left: 20rpx; margin-left: 20rpx;
color: #000; color: #000;
} }
.swiper-box { .swiper-box {
box-sizing: border-box; box-sizing: border-box;
} }
.num { .num {
font-size: 28rpx; font-size: 28rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: bold; font-weight: bold;
color: #111111; color: #111111;
} }
.item { .item {
/* margin-bottom: 40rpx; */ /* margin-bottom: 40rpx; */
position: relative; position: relative;
} }
.item1 { .item1 {
/* margin: 25rpx 0; */ /* margin: 25rpx 0; */
align-items: center; align-items: center;
} }
.item2 { .item2 {
padding-left: 25rpx; padding-left: 25rpx;
margin: 30rpx 0; margin: 30rpx 0;
} }
.myAnswer { .myAnswer {
background-color: #00acf9 !important; background-color: #00acf9 !important;
color: #ffffff !important; color: #ffffff !important;
} }
.chooseNum { .chooseNum {
width: 40rpx; width: 40rpx;
height: 40rpx; height: 40rpx;
text-align: center; text-align: center;
line-height: 40rpx; line-height: 40rpx;
border-radius: 50%; border-radius: 50%;
border: 1px solid #e2e2e2; border: 1px solid #e2e2e2;
margin-right: 30rpx; margin-right: 30rpx;
font-size: 28rpx; font-size: 28rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: bold; font-weight: bold;
color: #111111; color: #111111;
} }
.chooseName { .chooseName {
font-size: 28rpx; font-size: 28rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 500; font-weight: 500;
color: #111111; color: #111111;
} }
</style> </style>
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
<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">
<view class="flex flex_start_center"> <view class="flex flex_start_center">
<view class="num" v-html="item1.Title"></view> <view class="num" v-html="item1.Title"></view>{{item1.Score}}
</view> </view>
<view <view
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
</template> </template>
</view> </view>
</view> </view>
<view class="AnswerContent" v-if="!isOperate"> <view class="AnswerContent" v-if="!isOperate&&(ExamStatus==2||ExamStatus==3)">
<view> <view>
<text style="color: #8c8a94">正确答案:</text> <text style="color: #8c8a94">正确答案:</text>
<text class="isTrueAnswer">{{ item1.Answer }}</text <text class="isTrueAnswer">{{ item1.Answer }}</text
...@@ -126,6 +126,7 @@ export default { ...@@ -126,6 +126,7 @@ export default {
isLast: Boolean, isLast: Boolean,
startIndex: Number, startIndex: Number,
isOperate: Boolean, isOperate: Boolean,
ExamStatus: Number
}, },
setup(props, context) { setup(props, context) {
let { ctx } = getCurrentInstance(); let { ctx } = getCurrentInstance();
...@@ -138,6 +139,7 @@ export default { ...@@ -138,6 +139,7 @@ export default {
ExamIndex: 1, //第几题 ExamIndex: 1, //第几题
isOperate: props.isOperate, isOperate: props.isOperate,
statusBarHeight: 0, statusBarHeight: 0,
ExamStatus: props.ExamStatus
}); });
//判断是否是第一大题 //判断是否是第一大题
if (data.sortIndex === 1) { if (data.sortIndex === 1) {
......
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
</template> </template>
</template> </template>
<template v-else> <template v-else>
<view class="AnswerContent"> <view class="AnswerContent" v-if="ExamStatus==2||ExamStatus==3">
<view> <view>
<text style="color: #8c8a94">正确答案:</text> <text style="color: #8c8a94">正确答案:</text>
<text class="isTrueAnswer">{{ item1.Answer }}</text <text class="isTrueAnswer">{{ item1.Answer }}</text
...@@ -146,6 +146,7 @@ export default { ...@@ -146,6 +146,7 @@ export default {
isLast: Boolean, isLast: Boolean,
startIndex: Number, startIndex: Number,
isOperate: Boolean, isOperate: Boolean,
ExamStatus: Number
}, },
setup(props, context) { setup(props, context) {
let { ctx } = getCurrentInstance(); let { ctx } = getCurrentInstance();
...@@ -165,6 +166,7 @@ export default { ...@@ -165,6 +166,7 @@ export default {
ExamIndex: 1, //第几题 ExamIndex: 1, //第几题
isOperate: props.isOperate, isOperate: props.isOperate,
statusBarHeight: 0, statusBarHeight: 0,
ExamStatus: props.ExamStatus
}); });
//判断是否是第一大题 //判断是否是第一大题
if (data.sortIndex === 1) { if (data.sortIndex === 1) {
...@@ -197,11 +199,13 @@ export default { ...@@ -197,11 +199,13 @@ export default {
}, },
onchange(e) { onchange(e) {
data.ExamIndex = e.detail.current; data.ExamIndex = e.detail.current;
if (data.sortIndex == 1) {
data.ExamIndex = e.detail.current + 1;
}
if (data.ExamIndex === data.data.DetailsList.length + 1) { if (data.ExamIndex === data.data.DetailsList.length + 1) {
console.log("进入");
this.$emit("getAfterTopic"); this.$emit("getAfterTopic");
} }
if (e.detail.current == 0) { if (e.detail.current == 0 && data.sortIndex != 1) {
this.$emit("getBeforeTopic"); this.$emit("getBeforeTopic");
} }
}, },
......
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
<view class="viewAnswerContent" style="margin-top:15px;" v-html="item1.Answer"></view> <view class="viewAnswerContent" style="margin-top:15px;" v-html="item1.Answer"></view>
</template> </template>
</view> </view>
<view class="AnswerContent" v-if="!isOperate"> <view class="AnswerContent" v-if="!isOperate&&(ExamStatus==2||ExamStatus==3)">
<view> <view>
您的答案: 您的答案:
<view class="viewAnswerContent" style="margin-top: 10px"> <view class="viewAnswerContent" style="margin-top: 10px">
...@@ -95,7 +95,8 @@ export default { ...@@ -95,7 +95,8 @@ export default {
sortTotal: Number, sortTotal: Number,
isLast: Boolean, isLast: Boolean,
startIndex: Number, startIndex: Number,
isOperate: Boolean isOperate: Boolean,
ExamStatus: Number
}, },
setup(props, context) { setup(props, context) {
let { ctx } = getCurrentInstance(); let { ctx } = getCurrentInstance();
...@@ -107,7 +108,8 @@ export default { ...@@ -107,7 +108,8 @@ export default {
current: 1, //默认从第几个开始-用于从快捷菜单点入 current: 1, //默认从第几个开始-用于从快捷菜单点入
ExamIndex: 1, //第几题 ExamIndex: 1, //第几题
statusBarHeight: 0, statusBarHeight: 0,
isOperate: props.isOperate isOperate: props.isOperate,
ExamStatus: props.ExamStatus
}); });
//判断是否是第一大题 //判断是否是第一大题
if (data.sortIndex === 1) { if (data.sortIndex === 1) {
...@@ -135,11 +137,13 @@ export default { ...@@ -135,11 +137,13 @@ export default {
}, },
onchange(e) { onchange(e) {
data.ExamIndex = e.detail.current; data.ExamIndex = e.detail.current;
if (data.sortIndex == 1) {
data.ExamIndex = e.detail.current + 1;
}
if (data.ExamIndex === data.data.DetailsList.length + 1) { if (data.ExamIndex === data.data.DetailsList.length + 1) {
console.log("进入");
this.$emit("getAfterTopic"); this.$emit("getAfterTopic");
} }
if (e.detail.current == 0) { if (e.detail.current == 0 && data.sortIndex != 1) {
this.$emit("getBeforeTopic"); this.$emit("getBeforeTopic");
} }
}, },
......
...@@ -95,6 +95,8 @@ export default { ...@@ -95,6 +95,8 @@ export default {
props: { props: {
paperData: Object, paperData: Object,
ExamStuId: Number, ExamStuId: Number,
SubmitTimes: Number,
StartTime: String
}, },
setup(props, ctx) { setup(props, ctx) {
let Gid = uni.getStorageSync("userInfo").Id; let Gid = uni.getStorageSync("userInfo").Id;
...@@ -115,11 +117,43 @@ export default { ...@@ -115,11 +117,43 @@ export default {
back() { back() {
ctx.emit("hideAnswer"); ctx.emit("hideAnswer");
}, },
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
},
getCeshi(){
console.log('测试来了');
},
//交卷 //交卷
async savePaper() { async savePaper() {
let obj = JSON.parse(JSON.stringify(props.paperData.Paper)); let obj = JSON.parse(JSON.stringify(props.paperData.Paper));
delete obj.Group_Id; delete obj.Group_Id;
obj.Exam_Student_Id = props.ExamStuId; obj.Exam_Student_Id = props.ExamStuId;
let time1 = props.StartTime;
let time2 = methods.getNowTime();
console.log(time1,'time1');
console.log(time2,'time2');
var d1 = new Date(time1);
var d2 = new Date(time2);
let TimeDis = parseInt(d2 - d1) / 1000 / 60;
if(TimeDis<props.SubmitTimes){
uni.showToast({
title: `开场不足${props.SubmitTimes}分钟禁止交卷哦~`,
icon: "none",
});
return
}
let res = await submitPaper(obj); let res = await submitPaper(obj);
if (res) { if (res) {
console.log(119, res); console.log(119, res);
......
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
</view> </view>
<view <view
class="AnswerContent" class="AnswerContent"
v-if="!isOperate" v-if="!isOperate&&(ExamStatus==2||ExamStatus==3)"
style="margin-top: 30rpx" style="margin-top: 30rpx"
> >
<view> <view>
...@@ -102,6 +102,7 @@ export default { ...@@ -102,6 +102,7 @@ export default {
isLast: Boolean, isLast: Boolean,
startIndex: Number, startIndex: Number,
isOperate: Boolean, isOperate: Boolean,
ExamStatus: Number
}, },
setup(props, context) { setup(props, context) {
let { ctx } = getCurrentInstance(); let { ctx } = getCurrentInstance();
...@@ -117,6 +118,7 @@ export default { ...@@ -117,6 +118,7 @@ export default {
ExamIndex: 1, //第几题 ExamIndex: 1, //第几题
isOperate: props.isOperate, isOperate: props.isOperate,
statusBarHeight: 0, statusBarHeight: 0,
ExamStatus: props.ExamStatus
}); });
//判断是否是第一大题 //判断是否是第一大题
if (data.sortIndex === 1) { if (data.sortIndex === 1) {
...@@ -144,11 +146,13 @@ export default { ...@@ -144,11 +146,13 @@ export default {
}, },
onchange(e) { onchange(e) {
data.ExamIndex = e.detail.current; data.ExamIndex = e.detail.current;
if (data.sortIndex == 1) {
data.ExamIndex = e.detail.current + 1;
}
if (data.ExamIndex === data.data.DetailsList.length + 1) { if (data.ExamIndex === data.data.DetailsList.length + 1) {
console.log("进入");
this.$emit("getAfterTopic"); this.$emit("getAfterTopic");
} }
if (e.detail.current == 0) { if (e.detail.current == 0 && data.sortIndex != 1) {
this.$emit("getBeforeTopic"); this.$emit("getBeforeTopic");
} }
}, },
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
</template> </template>
</view> </view>
</view> </view>
<view class="AnswerContent" v-if="!isOperate"> <view class="AnswerContent" v-if="!isOperate&&(ExamStatus==2||ExamStatus==3)">
<view> <view>
<text style="color: #8c8a94">正确答案:</text> <text style="color: #8c8a94">正确答案:</text>
<text class="isTrueAnswer">{{item1.Answer}}</text> <text class="isTrueAnswer">{{item1.Answer}}</text>
...@@ -94,6 +94,7 @@ ...@@ -94,6 +94,7 @@
isLast: Boolean, isLast: Boolean,
startIndex: Number, startIndex: Number,
isOperate: Boolean, isOperate: Boolean,
ExamStatus: Number
}, },
setup(props, context) { setup(props, context) {
let { let {
...@@ -108,6 +109,7 @@ ...@@ -108,6 +109,7 @@
ExamIndex: 1, //第几题 ExamIndex: 1, //第几题
isOperate: props.isOperate, isOperate: props.isOperate,
statusBarHeight: 0, statusBarHeight: 0,
ExamStatus: props.ExamStatus
}); });
//判断是否是第一大题 //判断是否是第一大题
if (data.sortIndex === 1) { if (data.sortIndex === 1) {
...@@ -147,10 +149,13 @@ ...@@ -147,10 +149,13 @@
onchange(e) { onchange(e) {
context.emit("answerChange", data.data); context.emit("answerChange", data.data);
data.ExamIndex = e.detail.current; data.ExamIndex = e.detail.current;
if (data.sortIndex == 1) {
data.ExamIndex = e.detail.current + 1;
}
if (data.ExamIndex === data.data.DetailsList.length + 1) { if (data.ExamIndex === data.data.DetailsList.length + 1) {
this.$emit("getAfterTopic"); this.$emit("getAfterTopic");
} }
if (e.detail.current == 0) { if (e.detail.current == 0 && data.sortIndex != 1) {
this.$emit("getBeforeTopic"); this.$emit("getBeforeTopic");
} }
} }
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</view> </view>
<view <view
class="AnswerContent" class="AnswerContent"
v-if="!isOperate" v-if="!isOperate&&(ExamStatus==2||ExamStatus==3)"
style="margin-top: 30rpx" style="margin-top: 30rpx"
> >
<view> <view>
...@@ -100,6 +100,7 @@ export default { ...@@ -100,6 +100,7 @@ export default {
isLast: Boolean, isLast: Boolean,
startIndex: Number, startIndex: Number,
isOperate: Boolean, isOperate: Boolean,
ExamStatus: Number
}, },
setup(props, context) { setup(props, context) {
let { ctx } = getCurrentInstance(); let { ctx } = getCurrentInstance();
...@@ -115,6 +116,7 @@ export default { ...@@ -115,6 +116,7 @@ export default {
ExamIndex: 1, //第几题 ExamIndex: 1, //第几题
isOperate: props.isOperate, isOperate: props.isOperate,
statusBarHeight: 0, statusBarHeight: 0,
ExamStatus: props.ExamStatus
}); });
//判断是否是第一大题 //判断是否是第一大题
if (data.sortIndex === 1) { if (data.sortIndex === 1) {
...@@ -142,11 +144,13 @@ export default { ...@@ -142,11 +144,13 @@ export default {
}, },
onchange(e) { onchange(e) {
data.ExamIndex = e.detail.current; data.ExamIndex = e.detail.current;
if (data.sortIndex == 1) {
data.ExamIndex = e.detail.current + 1;
}
if (data.ExamIndex === data.data.DetailsList.length + 1) { if (data.ExamIndex === data.data.DetailsList.length + 1) {
console.log("进入");
this.$emit("getAfterTopic"); this.$emit("getAfterTopic");
} }
if (e.detail.current == 0) { if (e.detail.current == 0 && data.sortIndex != 1) {
this.$emit("getBeforeTopic"); this.$emit("getBeforeTopic");
} }
}, },
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
<view style="white-space: nowrap">{{ index2 + 1 }}、({{ <view style="white-space: nowrap">{{ index2 + 1 }}、({{
item2.QuestionName.slice(0, 2) item2.QuestionName.slice(0, 2)
}})</view> }})</view>
<view v-html="item2.SubTitle" class="grow"></view> <view v-html="item2.SubTitle"></view>{{item2.SubScore}}
</view> </view>
<view v-for="(item3, index3) in item2.SubAnwser" :key="index3"> <view v-for="(item3, index3) in item2.SubAnwser" :key="index3">
<!-- 单选 、判断--> <!-- 单选 、判断-->
...@@ -114,12 +114,12 @@ ...@@ -114,12 +114,12 @@
<view v-html="item3.Content" class="chooseName"></view> <view v-html="item3.Content" class="chooseName"></view>
</view> </view>
</view> </view>
<view class="AnswerContent"> <view class="AnswerContent" v-if="ExamStatus==2||ExamStatus==3">
<view> <view>
<text style="color: #8c8a94">正确答案:</text> <text style="color: #8c8a94">正确答案:</text>
<text class="isTrueAnswer">{{item1.QuestionAnswerList[index2].SubAnswer}}</text> <text class="isTrueAnswer">{{item1.QuestionAnswerList[index2].SubAnswer}}</text>
<text>您的答案: <text>您的答案:
<template v-if="item2.StundetAnswer != ''"> <template v-if="item1.AnswerList && item1.AnswerList.length>0">
<text v-if="item1.QuestionAnswerList[index2].SubAnswer == item1.AnswerList[index2].SubAnswer" class="isTrueAnswer"> <text v-if="item1.QuestionAnswerList[index2].SubAnswer == item1.AnswerList[index2].SubAnswer" class="isTrueAnswer">
{{ item1.AnswerList[index2].SubAnswer }} {{ item1.AnswerList[index2].SubAnswer }}
</text> </text>
...@@ -138,7 +138,7 @@ ...@@ -138,7 +138,7 @@
</view> </view>
</view> </view>
<view style="word-wrap: break-word; margin: 0 30rpx 30rpx 30rpx" <view style="word-wrap: break-word; margin: 0 30rpx 30rpx 30rpx"
class="AnswerContent" v-if="item1.AnswerParse"> class="AnswerContent" v-if="item1.AnswerParse&&(ExamStatus==2||ExamStatus==3)">
<text style="color: #8c8a94">解析:</text> <text style="color: #8c8a94">解析:</text>
<text style="color: #000">{{ item1.AnswerParse }}</text> <text style="color: #000">{{ item1.AnswerParse }}</text>
</view> </view>
...@@ -176,6 +176,7 @@ ...@@ -176,6 +176,7 @@
isLast: Boolean, isLast: Boolean,
startIndex: Number, startIndex: Number,
isOperate: Boolean, isOperate: Boolean,
ExamStatus: Number
}, },
setup(props, context) { setup(props, context) {
let { let {
...@@ -194,6 +195,7 @@ ...@@ -194,6 +195,7 @@
timeOutEvent: false, timeOutEvent: false,
statusBarHeight: 0, statusBarHeight: 0,
isOperate: props.isOperate, isOperate: props.isOperate,
ExamStatus:props.ExamStatus
}); });
//判断是否是第一大题 //判断是否是第一大题
if (data.sortIndex === 1) { if (data.sortIndex === 1) {
...@@ -246,10 +248,13 @@ ...@@ -246,10 +248,13 @@
}, },
onchange(e) { onchange(e) {
data.ExamIndex = e.detail.current; data.ExamIndex = e.detail.current;
if (data.sortIndex == 1) {
data.ExamIndex = e.detail.current + 1;
}
if (data.ExamIndex === data.data.DetailsList.length + 1) { if (data.ExamIndex === data.data.DetailsList.length + 1) {
this.$emit("getAfterTopic"); this.$emit("getAfterTopic");
} }
if (e.detail.current == 0) { if (e.detail.current == 0 && data.sortIndex != 1) {
this.$emit("getBeforeTopic"); this.$emit("getBeforeTopic");
} }
}, },
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
</view> </view>
<view <view
class="AnswerContent" class="AnswerContent"
v-if="!isOperate" v-if="!isOperate&&(ExamStatus==2||ExamStatus==3)"
style="margin-top: 30rpx" style="margin-top: 30rpx"
> >
<view> <view>
...@@ -99,6 +99,7 @@ export default { ...@@ -99,6 +99,7 @@ export default {
isLast: Boolean, isLast: Boolean,
startIndex: Number, startIndex: Number,
isOperate: Boolean, isOperate: Boolean,
ExamStatus: Number
}, },
setup(props, context) { setup(props, context) {
let { ctx } = getCurrentInstance(); let { ctx } = getCurrentInstance();
...@@ -115,6 +116,7 @@ export default { ...@@ -115,6 +116,7 @@ export default {
ExamIndex: 1, //第几题 ExamIndex: 1, //第几题
isOperate: props.isOperate, isOperate: props.isOperate,
statusBarHeight: 0, statusBarHeight: 0,
ExamStatus: props.ExamStatus
}); });
if (props.startIndex) { if (props.startIndex) {
data.current = props.startIndex; data.current = props.startIndex;
...@@ -136,11 +138,13 @@ export default { ...@@ -136,11 +138,13 @@ export default {
}, },
onchange(e) { onchange(e) {
data.ExamIndex = e.detail.current; data.ExamIndex = e.detail.current;
if (data.sortIndex == 1) {
data.ExamIndex = e.detail.current + 1;
}
if (data.ExamIndex === data.data.DetailsList.length + 1) { if (data.ExamIndex === data.data.DetailsList.length + 1) {
console.log("进入");
this.$emit("getAfterTopic"); this.$emit("getAfterTopic");
} }
if (e.detail.current == 0) { if (e.detail.current == 0 && data.sortIndex != 1) {
this.$emit("getBeforeTopic"); this.$emit("getBeforeTopic");
} }
}, },
......
...@@ -48,6 +48,7 @@ ...@@ -48,6 +48,7 @@
:sortTotal="peaperDetail.Paper.GroupList.length" :sortTotal="peaperDetail.Paper.GroupList.length"
:isLast="isLast" :isLast="isLast"
:isOperate="isOperate" :isOperate="isOperate"
:ExamStatus="ExamStatus"
v-if=" v-if="
item.QuestionTypeKey === 'single-number' && index === changeIndex item.QuestionTypeKey === 'single-number' && index === changeIndex
" "
...@@ -60,6 +61,7 @@ ...@@ -60,6 +61,7 @@
:sort="index" :sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length" :sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate" :isOperate="isOperate"
:ExamStatus="ExamStatus"
@getBeforeTopic="getBeforeTopic()" @getBeforeTopic="getBeforeTopic()"
@getAfterTopic="getAfterTopic()" @getAfterTopic="getAfterTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
...@@ -73,6 +75,7 @@ ...@@ -73,6 +75,7 @@
:sort="index" :sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length" :sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate" :isOperate="isOperate"
:ExamStatus="ExamStatus"
@getBeforeTopic="getBeforeTopic()" @getBeforeTopic="getBeforeTopic()"
@getAfterTopic="getAfterTopic()" @getAfterTopic="getAfterTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
...@@ -86,6 +89,7 @@ ...@@ -86,6 +89,7 @@
:sort="index" :sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length" :sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate" :isOperate="isOperate"
:ExamStatus="ExamStatus"
@getBeforeTopic="getBeforeTopic()" @getBeforeTopic="getBeforeTopic()"
@getAfterTopic="getAfterTopic()" @getAfterTopic="getAfterTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
...@@ -99,6 +103,7 @@ ...@@ -99,6 +103,7 @@
:sort="index" :sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length" :sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate" :isOperate="isOperate"
:ExamStatus="ExamStatus"
@getBeforeTopic="getBeforeTopic()" @getBeforeTopic="getBeforeTopic()"
@getAfterTopic="getAfterTopic()" @getAfterTopic="getAfterTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
...@@ -113,6 +118,7 @@ ...@@ -113,6 +118,7 @@
:sort="index" :sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length" :sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate" :isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()" @getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()" @getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
...@@ -129,6 +135,7 @@ ...@@ -129,6 +135,7 @@
:sort="index" :sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length" :sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate" :isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()" @getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()" @getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
...@@ -142,6 +149,7 @@ ...@@ -142,6 +149,7 @@
:sort="index" :sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length" :sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate" :isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()" @getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()" @getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
...@@ -157,6 +165,7 @@ ...@@ -157,6 +165,7 @@
:sort="index" :sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length" :sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate" :isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()" @getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()" @getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
...@@ -172,6 +181,7 @@ ...@@ -172,6 +181,7 @@
:sort="index" :sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length" :sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate" :isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()" @getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()" @getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
...@@ -187,6 +197,7 @@ ...@@ -187,6 +197,7 @@
:sort="index" :sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length" :sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate" :isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()" @getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()" @getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
...@@ -200,6 +211,7 @@ ...@@ -200,6 +211,7 @@
:sort="index" :sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length" :sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate" :isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()" @getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()" @getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
...@@ -215,6 +227,7 @@ ...@@ -215,6 +227,7 @@
:sort="index" :sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length" :sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate" :isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()" @getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()" @getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
...@@ -228,6 +241,7 @@ ...@@ -228,6 +241,7 @@
:sort="index" :sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length" :sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate" :isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()" @getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()" @getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
...@@ -241,6 +255,7 @@ ...@@ -241,6 +255,7 @@
:sort="index" :sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length" :sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate" :isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()" @getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()" @getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
...@@ -254,6 +269,7 @@ ...@@ -254,6 +269,7 @@
:sort="index" :sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length" :sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate" :isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()" @getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()" @getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
...@@ -269,6 +285,7 @@ ...@@ -269,6 +285,7 @@
:sort="index" :sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length" :sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate" :isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()" @getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()" @getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
...@@ -284,6 +301,7 @@ ...@@ -284,6 +301,7 @@
:sort="index" :sort="index"
:sortTotal="peaperDetail.Paper.GroupList.length" :sortTotal="peaperDetail.Paper.GroupList.length"
:isOperate="isOperate" :isOperate="isOperate"
:ExamStatus="ExamStatus"
@getAfterTopic="getAfterTopic()" @getAfterTopic="getAfterTopic()"
@getBeforeTopic="getBeforeTopic()" @getBeforeTopic="getBeforeTopic()"
@answerChange="getAnswerChange($event, index)" @answerChange="getAnswerChange($event, index)"
...@@ -309,6 +327,8 @@ ...@@ -309,6 +327,8 @@
<Answer <Answer
:paperData="peaperDetail" :paperData="peaperDetail"
:ExamStuId="Exam_Student_Id" :ExamStuId="Exam_Student_Id"
:StartTime="StartTime"
:SubmitTimes="SubmitTimes"
@hideAnswer="hideAnswerSheet" @hideAnswer="hideAnswerSheet"
@chooseTopic="jumpTopic" @chooseTopic="jumpTopic"
ref="answer" ref="answer"
...@@ -388,8 +408,11 @@ export default { ...@@ -388,8 +408,11 @@ export default {
isShowAnswer: false, //是否显示答题卡 isShowAnswer: false, //是否显示答题卡
Exam_Student_Id: 0, Exam_Student_Id: 0,
autoTimeStart: false, autoTimeStart: false,
isOperate: true, //考试状态 判断是考试还是查看答案 isOperate: false, //考试状态 判断是考试还是查看答案
isAutoTime: true isAutoTime: false,
ExamStatus:-2,
StartTime:'', //页面加载后的时间
SubmitTimes: 0 //后台设置几分钟后可提交
}); });
let methods = { let methods = {
changeNumToHan, changeNumToHan,
...@@ -409,10 +432,15 @@ export default { ...@@ -409,10 +432,15 @@ export default {
if (res) { if (res) {
if (res.Code == 1) { if (res.Code == 1) {
data.peaperDetail = res.Data; data.peaperDetail = res.Data;
//判断是查看答题结果就不倒计时 //-1-缺考, 0-未开始,1-已开始,2-已考试,3-已阅卷
if(this.isAutoTime){ this.ExamStatus = res.Data.ExamStatusTemp;
data.autoTimeStart = true; this.SubmitTimes = res.Data.Publish.SubmitTimes;
data.time = res.Data.Publish.ExamTimes * 60 * 1000; //判断是答卷
if(res.Data.ExamStatusTemp==1){
this.isOperate=true;
data.autoTimeStart = true;
// data.time = res.Data.Publish.ExamTimes * 60 * 1000;
data.time = 60000
} }
} }
} }
...@@ -449,12 +477,24 @@ export default { ...@@ -449,12 +477,24 @@ export default {
}, },
//考试结束 //考试结束
examFinish() { examFinish() {
if (data.peaperDetail.Publish.IsAutoSubmit === 1) { console.log('进入');
} this.$refs.answer.getCeshi();
}, },
}; };
onMounted(() => { onMounted(() => {
data.statusBarHeight = uni.getSystemInfoSync().statusBarHeight; data.statusBarHeight = uni.getSystemInfoSync().statusBarHeight;
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()
data.StartTime = yy + '-' + mm + '-' + dd + ' ' + hh + ':' + mf + ':' + ss;
console.log(data.StartTime,'11111111111111');
}); });
return { return {
...toRefs(data), ...toRefs(data),
...@@ -474,10 +514,8 @@ export default { ...@@ -474,10 +514,8 @@ 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 == 2)) { if (options.ExamStatus && (options.ExamStatus == 1||options.ExamStatus == 3)) {
this.isOperate = false;
this.msg.isShowAnswer = true; this.msg.isShowAnswer = true;
this.isAutoTime = false;
} }
this.getPaperDetail(); this.getPaperDetail();
}, },
......
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