|
@@ -4,22 +4,17 @@
|
|
<Transition :enter-active-class="proxy?.animate.dialog.enter" :leave-active-class="proxy?.animate.dialog.leave">
|
|
<Transition :enter-active-class="proxy?.animate.dialog.enter" :leave-active-class="proxy?.animate.dialog.leave">
|
|
<div class="time" v-show="[42].includes(examState)">
|
|
<div class="time" v-show="[42].includes(examState)">
|
|
{{
|
|
{{
|
|
- countdownNumFormat
|
|
|
|
|
|
+ countdownNumFormat
|
|
}}
|
|
}}
|
|
</div>
|
|
</div>
|
|
</Transition>
|
|
</Transition>
|
|
<div class="main">
|
|
<div class="main">
|
|
<template v-if="isLongRun">
|
|
<template v-if="isLongRun">
|
|
<!--长跑-->
|
|
<!--长跑-->
|
|
- <swiper
|
|
|
|
- :slides-per-view="testListArr.length >= 2 ? 2 : 1"
|
|
|
|
- :slides-per-group="testListArr.length >= 2 ? 2 : 1"
|
|
|
|
- :space-between="20"
|
|
|
|
- :speed="1200"
|
|
|
|
- :modules="[Navigation]"
|
|
|
|
- :navigation="{ prevEl: '.swiper-button-prev', nextEl: ' .swiper-button-next' }"
|
|
|
|
- >
|
|
|
|
- <swiper-slide v-for="(items, indexs) in testListArr " :key="indexs">
|
|
|
|
|
|
+ <swiper :slides-per-view="testListArr.length >= 2 ? 2 : 1" :slides-per-group="testListArr.length >= 2 ? 2 : 1"
|
|
|
|
+ :space-between="20" :speed="1200" :modules="[Navigation]"
|
|
|
|
+ :navigation="{ prevEl: '.swiper-button-prev', nextEl: ' .swiper-button-next' }">
|
|
|
|
+ <swiper-slide v-for="(items, indexs) in testListArr" :key="indexs">
|
|
<div class="main-left main-left2">
|
|
<div class="main-left main-left2">
|
|
<div class="trackItem">
|
|
<div class="trackItem">
|
|
<TransitionGroup :enter-active-class="proxy?.animate.run.enter">
|
|
<TransitionGroup :enter-active-class="proxy?.animate.run.enter">
|
|
@@ -41,16 +36,15 @@
|
|
{{ item.timeStr || "-" }}
|
|
{{ item.timeStr || "-" }}
|
|
</div>
|
|
</div>
|
|
<div v-if="item.student_id && [3, 42].includes(examState)" class="turns">
|
|
<div v-if="item.student_id && [3, 42].includes(examState)" class="turns">
|
|
- <span
|
|
|
|
- ><i>{{ item.times !=
|
|
|
|
- undefined ?
|
|
|
|
- item.times.length : 0 }}</i></span
|
|
|
|
- >圈
|
|
|
|
|
|
+ <span><i>{{ item.times !=
|
|
|
|
+ undefined ?
|
|
|
|
+ item.times.length : 0 }}</i></span>圈
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="menuBtn menuBtn2" v-if="examState == 43 && item.student_id">等待开始测试</div>
|
|
<div class="menuBtn menuBtn2" v-if="examState == 43 && item.student_id">等待开始测试</div>
|
|
<div class="menuBtn menuBtn2" v-if="examState == 42 && item.student_id && !item.isfinish">正在测试</div>
|
|
<div class="menuBtn menuBtn2" v-if="examState == 42 && item.student_id && !item.isfinish">正在测试</div>
|
|
- <div class="menuBtn" v-if="examState == 3 && !item.timeStr && item.isfinish && item.student_id">异常</div>
|
|
|
|
|
|
+ <div class="menuBtn" v-if="examState == 3 && !item.timeStr && item.isfinish && item.student_id">异常
|
|
|
|
+ </div>
|
|
<div class="close" @click="close(item)" v-if="examState == 41"></div>
|
|
<div class="close" @click="close(item)" v-if="examState == 41"></div>
|
|
</div>
|
|
</div>
|
|
</TransitionGroup>
|
|
</TransitionGroup>
|
|
@@ -59,8 +53,10 @@
|
|
</swiper-slide>
|
|
</swiper-slide>
|
|
</swiper>
|
|
</swiper>
|
|
<!-- 如果需要导航按钮 -->
|
|
<!-- 如果需要导航按钮 -->
|
|
- <div v-show="testListArr.length > 2" class="swiper-button-prev swiper-btn swiper-btn-left" slot="button-prev"></div>
|
|
|
|
- <div v-show="testListArr.length > 2" class="swiper-button-next swiper-btn swiper-btn-right" slot="button-next"></div>
|
|
|
|
|
|
+ <div v-show="testListArr.length > 2" class="swiper-button-prev swiper-btn swiper-btn-left" slot="button-prev">
|
|
|
|
+ </div>
|
|
|
|
+ <div v-show="testListArr.length > 2" class="swiper-button-next swiper-btn swiper-btn-right" slot="button-next">
|
|
|
|
+ </div>
|
|
</template>
|
|
</template>
|
|
<template v-else>
|
|
<template v-else>
|
|
<!--短跑-->
|
|
<!--短跑-->
|
|
@@ -85,14 +81,14 @@
|
|
{{ item.timeStr || "-" }}
|
|
{{ item.timeStr || "-" }}
|
|
</div>
|
|
</div>
|
|
<div v-if="isBackRun && item.student_id" class="turns">
|
|
<div v-if="isBackRun && item.student_id" class="turns">
|
|
- 往返次数:<span
|
|
|
|
- ><i>{{ item.turns || "0"
|
|
|
|
- }}</i></span
|
|
|
|
- >
|
|
|
|
|
|
+ 往返次数:<span><i>{{ item.turns || "0"
|
|
|
|
+ }}</i></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="menuBtn" v-if="(examState == 41 || examState == 43) && !item.student_id" @click="getChooseStudent(item.track)">检录</div>
|
|
|
|
- <div class="menuBtn" v-if="(examState == 41 || examState == 43) && item.student_id" @click="getRetestTrackFace(item.track)">
|
|
|
|
|
|
+ <div class="menuBtn" v-if="(examState == 41 || examState == 43) && !item.student_id"
|
|
|
|
+ @click="getChooseStudent(item.track)">检录</div>
|
|
|
|
+ <div class="menuBtn" v-if="(examState == 41 || examState == 43) && item.student_id"
|
|
|
|
+ @click="getRetestTrackFace(item.track)">
|
|
重新识别
|
|
重新识别
|
|
</div>
|
|
</div>
|
|
<div class="menuBtn menuBtn2" v-if="examState == 43 && item.student_id">等待开始测试</div>
|
|
<div class="menuBtn menuBtn2" v-if="examState == 43 && item.student_id">等待开始测试</div>
|
|
@@ -116,7 +112,8 @@
|
|
</template>
|
|
</template>
|
|
<template v-else> </template>
|
|
<template v-else> </template>
|
|
<div class="btn startBtn" @click="getStopFaceStartOneTest" v-if="examState == 41 || examState == 43">开始测试</div>
|
|
<div class="btn startBtn" @click="getStopFaceStartOneTest" v-if="examState == 41 || examState == 43">开始测试</div>
|
|
- <div class="btn" @click="getOpenOneTestAndStartFace" v-if="(examState == 3 || examState == 40) && resultId">下一组</div>
|
|
|
|
|
|
+ <div class="btn" @click="getOpenOneTestAndStartFace" v-if="(examState == 3 || examState == 40) && resultId">下一组
|
|
|
|
+ </div>
|
|
<div class="btn" @click="getConfirmEnd" v-if="examState == 42">结 束</div>
|
|
<div class="btn" @click="getConfirmEnd" v-if="examState == 42">结 束</div>
|
|
<div class="btn" @click="getAgain" v-if="showTestAgain">再测一次</div>
|
|
<div class="btn" @click="getAgain" v-if="showTestAgain">再测一次</div>
|
|
<div class="btn" @click="getRetestFace" v-if="examState == 43">重新识别</div>
|
|
<div class="btn" @click="getRetestFace" v-if="examState == 43">重新识别</div>
|
|
@@ -370,7 +367,7 @@ const getFaceConfirmOnly = (data?: any) => {
|
|
};
|
|
};
|
|
return obj;
|
|
return obj;
|
|
});
|
|
});
|
|
- faceConfirmOnly(list, () => {});
|
|
|
|
|
|
+ faceConfirmOnly(list, () => { });
|
|
return new Promise((resolve) => setTimeout(resolve, 200));
|
|
return new Promise((resolve) => setTimeout(resolve, 200));
|
|
};
|
|
};
|
|
|
|
|
|
@@ -396,7 +393,7 @@ const getRetestFace = () => {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|
|
})
|
|
- .finally(() => {});
|
|
|
|
|
|
+ .finally(() => { });
|
|
};
|
|
};
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -445,7 +442,7 @@ const getStartOneTest = () => {
|
|
let loading = ElLoading.service({ text: myText, background: 'rgba(0, 0, 0, 0.8)', customClass: `sports ${parameter.value.project}` });
|
|
let loading = ElLoading.service({ text: myText, background: 'rgba(0, 0, 0, 0.8)', customClass: `sports ${parameter.value.project}` });
|
|
speckText(myText);
|
|
speckText(myText);
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
- startOneTest(data == null, () => {});
|
|
|
|
|
|
+ startOneTest(data == null, () => { });
|
|
loading?.close();
|
|
loading?.close();
|
|
}, advanceTime);
|
|
}, advanceTime);
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
@@ -530,6 +527,11 @@ const getConfirmEnd = async () => {
|
|
getClearTimer(); //清除计时器
|
|
getClearTimer(); //清除计时器
|
|
speckCancel(); //停止播报;
|
|
speckCancel(); //停止播报;
|
|
let loading = ElLoading.service({ text: '请稍等...', background: 'rgba(0, 0, 0, 0.8)', customClass: `sports ${parameter.value.project}` });
|
|
let loading = ElLoading.service({ text: '请稍等...', background: 'rgba(0, 0, 0, 0.8)', customClass: `sports ${parameter.value.project}` });
|
|
|
|
+ let loadingTime = setTimeout(() => {
|
|
|
|
+ proxy?.$modal.msgWarning('操作超时');
|
|
|
|
+ loading?.close();
|
|
|
|
+ clearTimeout(loadingTime);
|
|
|
|
+ }, 10000);
|
|
showTestAgain.value = false;
|
|
showTestAgain.value = false;
|
|
//测试中
|
|
//测试中
|
|
if (examState.value == 42) {
|
|
if (examState.value == 42) {
|
|
@@ -544,10 +546,7 @@ const getConfirmEnd = async () => {
|
|
await startFace();
|
|
await startFace();
|
|
}
|
|
}
|
|
loading?.close();
|
|
loading?.close();
|
|
- let loadingTime = setTimeout(() => {
|
|
|
|
- loading?.close();
|
|
|
|
- clearTimeout(loadingTime);
|
|
|
|
- }, 10000);
|
|
|
|
|
|
+ clearTimeout(loadingTime);
|
|
};
|
|
};
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -559,7 +558,7 @@ const confirmExit = () => {
|
|
.then(() => {
|
|
.then(() => {
|
|
getExit();
|
|
getExit();
|
|
})
|
|
})
|
|
- .finally(() => {});
|
|
|
|
|
|
+ .finally(() => { });
|
|
};
|
|
};
|
|
|
|
|
|
/**
|
|
/**
|