|
@@ -12,13 +12,13 @@
|
|
|
<div
|
|
|
:class="{
|
|
|
'exam-item-states': true,
|
|
|
- 'exam-item-states-yellow':
|
|
|
+ 'exam-item-states-gray':
|
|
|
item.examStatus === examStatesType.NOT_START,
|
|
|
'exam-item-states-green':
|
|
|
item.examStatus === examStatesType.STARTED,
|
|
|
'exam-item-states-red':
|
|
|
- item.examStatus === examStatesType.STARTEXAMING,
|
|
|
- 'exam-item-states-gray': item.examStatus === examStatesType.OVER
|
|
|
+ item.examStatus === examStatesType.EXAMOVER ||
|
|
|
+ item.examStatus === examStatesType.NOTEXAM,
|
|
|
}"
|
|
|
>
|
|
|
{{ item.examStatusTxt }}
|
|
@@ -40,21 +40,27 @@
|
|
|
|
|
|
<script>
|
|
|
import { Toast } from "vant";
|
|
|
+import { mapState } from "vuex";
|
|
|
export default {
|
|
|
name: "page-exam",
|
|
|
components: {},
|
|
|
data() {
|
|
|
return {
|
|
|
examStatesType: {
|
|
|
- NOT_START: 0, // 未开始
|
|
|
- STARTED: 1, // 已开始
|
|
|
+ NOT_START: 0, // 未开考
|
|
|
+ STARTED: 1, // 已开考
|
|
|
STARTEXAMING: 2, // 考试中
|
|
|
- OVER: 3 // 已结束
|
|
|
+ EXAMOVER: 3, // 已考完
|
|
|
+ NOTEXAM: 4 // 未参考
|
|
|
},
|
|
|
examList: []
|
|
|
};
|
|
|
},
|
|
|
- computed: {},
|
|
|
+ computed: {
|
|
|
+ ...mapState({
|
|
|
+ exam: state => state.exam
|
|
|
+ })
|
|
|
+ },
|
|
|
created() {
|
|
|
this.getExamListFun(); // 查询:考试的场次列表信息
|
|
|
},
|
|
@@ -70,10 +76,7 @@ export default {
|
|
|
let formateTimeDiff = this.formateTimeDiffFun(item.duration);
|
|
|
item.examTimeMins = formateTimeDiff.examTimeMins;
|
|
|
item.examTimeMinsTxt = formateTimeDiff.examTimeMinsTxt;
|
|
|
- let obj = this.formateExamStatesFun(
|
|
|
- item.startTime,
|
|
|
- item.deadline
|
|
|
- );
|
|
|
+ let obj = this.formateExamStatesFun(item);
|
|
|
item.examStatus = obj.status;
|
|
|
item.examStatusTxt = obj.statusTxt;
|
|
|
});
|
|
@@ -108,26 +111,35 @@ export default {
|
|
|
};
|
|
|
},
|
|
|
// 过滤考试状态
|
|
|
- formateExamStatesFun(startTime, endTime) {
|
|
|
+ formateExamStatesFun(exam) {
|
|
|
+ let startTime = exam.startTime;
|
|
|
+ let endTime = exam.deadline;
|
|
|
let curTime = Date.now();
|
|
|
let startTimesCeconds = new Date(startTime).getTime();
|
|
|
let endTimeCeconds = new Date(endTime).getTime();
|
|
|
if (curTime >= startTimesCeconds) {
|
|
|
- if (endTimeCeconds >= curTime) {
|
|
|
- return {
|
|
|
- status: this.examStatesType.OVER,
|
|
|
- statusTxt: "已结束"
|
|
|
- };
|
|
|
+ if (curTime >= endTimeCeconds) {
|
|
|
+ if (this.exam.examHistoryObj[exam.id]) {
|
|
|
+ return {
|
|
|
+ status: this.examStatesType.EXAMOVER,
|
|
|
+ statusTxt: "已考完"
|
|
|
+ };
|
|
|
+ } else {
|
|
|
+ return {
|
|
|
+ status: this.examStatesType.NOTEXAM,
|
|
|
+ statusTxt: "未参考"
|
|
|
+ };
|
|
|
+ }
|
|
|
} else {
|
|
|
return {
|
|
|
status: this.examStatesType.STARTED,
|
|
|
- statusTxt: "已开始"
|
|
|
+ statusTxt: "已开考"
|
|
|
};
|
|
|
}
|
|
|
} else {
|
|
|
return {
|
|
|
status: this.examStatesType.NOT_START,
|
|
|
- statusTxt: "未开始"
|
|
|
+ statusTxt: "未开考"
|
|
|
};
|
|
|
}
|
|
|
},
|