|
@@ -2,41 +2,25 @@
|
|
|
<div>
|
|
|
<Header @confirmExit="confirmExit" @setMusic="setMusic"></Header>
|
|
|
<Transition :enter-active-class="proxy?.animate.dialog.enter" :leave-active-class="proxy?.animate.dialog.leave">
|
|
|
- <div
|
|
|
- class="time"
|
|
|
+ <div class="time"
|
|
|
:class="{ 'time1': styleType == 1, 'time2': styleType == 2, 'time3': styleType == 3, 'time4': styleType == 4, }"
|
|
|
- v-show="(needStart && [42].includes(examState)) || (['jumprope', 'jumpingjack', 'highknees', 'situp'].includes(parameter.project) && [42].includes(examState))"
|
|
|
- >
|
|
|
+ v-show="(needStart && [42].includes(examState)) || (['jumprope', 'jumpingjack', 'highknees', 'situp'].includes(parameter.project) && [42].includes(examState))">
|
|
|
{{
|
|
|
time.countdownNum
|
|
|
}}
|
|
|
</div>
|
|
|
</Transition>
|
|
|
<div class="main">
|
|
|
- <div
|
|
|
- class="testBox"
|
|
|
- :class="{ 'testBox1': styleType == 1, 'testBox2': styleType == 2, 'testBox3': styleType == 3, 'testBox4': styleType == 4 }"
|
|
|
- >
|
|
|
- <div
|
|
|
- class="ul"
|
|
|
+ <div class="testBox"
|
|
|
+ :class="{ 'testBox1': styleType == 1, 'testBox2': styleType == 2, 'testBox3': styleType == 3, 'testBox4': styleType == 4 }">
|
|
|
+ <div class="ul"
|
|
|
:class="{ 'overlap': (examState == 43 && time.ready) || [42].includes(examState) || (showTestAgain && ![41].includes(examState)), 'ready': [41].includes(examState), 'hands': parameter.gesture }"
|
|
|
- v-for="(items, indexs) in testListArr "
|
|
|
- :key="indexs"
|
|
|
- >
|
|
|
- <MultipleItem
|
|
|
- :ref="(el: any) => { multipleItemRef(el, item.itemNumber, item.area) }"
|
|
|
- v-for="(item, index) in items"
|
|
|
- :query="parameter"
|
|
|
- :area="item.area"
|
|
|
- :key="index"
|
|
|
- @returnData="returnData"
|
|
|
- @getChooseStudent="getChooseStudent"
|
|
|
- :examState="examState"
|
|
|
- :needStart="needStart"
|
|
|
- :styleType="styleType"
|
|
|
+ v-for="(items, indexs) in testListArr" :key="indexs">
|
|
|
+ <MultipleItem :ref="(el: any) => { multipleItemRef(el, item.itemNumber, item.area) }"
|
|
|
+ v-for="(item, index) in items" :query="parameter" :area="item.area" :key="index" @returnData="returnData"
|
|
|
+ @getChooseStudent="getChooseStudent" :examState="examState" :needStart="needStart" :styleType="styleType"
|
|
|
:parentTrainWsMethod="{ initWs, examEnds, openOneTest, startFace, stopFace, faceConfirmOnly, startOneTest, finishOneTest, closeOneTest, suspendFaceRecognitionChannels, resumeFaceRecognitionChannels }"
|
|
|
- :parentSpeechMethod="{ initSpeech, speckText, playMusic, controlMusic, speckCancel, chineseNumber }"
|
|
|
- />
|
|
|
+ :parentSpeechMethod="{ initSpeech, speckText, playMusic, controlMusic, speckCancel, chineseNumber }" />
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -50,13 +34,15 @@
|
|
|
</template>
|
|
|
<template v-else>
|
|
|
<template v-if="examState == 43">
|
|
|
- <div class="btn startBtn" @click="getReady" v-if="['jumprope', 'jumpingjack', 'highknees', 'situp'].includes(parameter.project)">
|
|
|
+ <!-- <div class="btn startBtn" @click="getReady" v-if="['jumprope', 'jumpingjack', 'highknees', 'situp'].includes(parameter.project)">
|
|
|
开始测试
|
|
|
</div>
|
|
|
- <div class="btn startBtn" @click="getStartOneTest" v-else>开始测试</div>
|
|
|
+ <div class="btn startBtn" @click="getStartOneTest" v-else>开始测试</div> -->
|
|
|
+ <div class="btn startBtn" @click="getStartOneTest">开始测试</div>
|
|
|
</template>
|
|
|
</template>
|
|
|
- <div class="btn" :class="{ testRecordBtn: showReportList }" @click="getTestRecord" v-if="![43, 42].includes(examState)">
|
|
|
+ <div class="btn" :class="{ testRecordBtn: showReportList }" @click="getTestRecord"
|
|
|
+ v-if="![43, 42].includes(examState)">
|
|
|
{{ showReportList ? '关闭记录' : '测试记录' }}
|
|
|
</div>
|
|
|
<div class="btn exitBtn" @click="confirmExit">退 出</div>
|
|
@@ -306,7 +292,7 @@ const confirmExit = () => {
|
|
|
.then(() => {
|
|
|
getExit();
|
|
|
})
|
|
|
- .finally(() => {});
|
|
|
+ .finally(() => { });
|
|
|
};
|
|
|
|
|
|
/**
|
|
@@ -619,7 +605,7 @@ const getDevice = async () => {
|
|
|
startDevice({ deviceid: deviceid });
|
|
|
} else {
|
|
|
proxy?.$modal.msgError(`缺少设备信息请重新登录!`);
|
|
|
- await proxy?.$http.common.logout({}).then((res: any) => {});
|
|
|
+ await proxy?.$http.common.logout({}).then((res: any) => { });
|
|
|
proxy?.$modal?.closeLoading();
|
|
|
//清空缓存
|
|
|
// localStorage.clear();
|
|
@@ -932,8 +918,8 @@ onBeforeMount(() => {
|
|
|
styleType.value = 4;
|
|
|
}
|
|
|
//需要开始按钮的项目
|
|
|
- let myList = ['jumprope', 'jumpingjack', 'highknees', 'situp'];
|
|
|
- if (myList.includes(project) && styleType.value == 3) {
|
|
|
+ let myList = ['situp', 'jumprope', 'jumpingjack', 'highknees', 'verticaljump', 'pullup', 'sidepullup', 'squat', 'jumpleftright', 'crossjump', 'kneeupclap'];
|
|
|
+ if (myList.includes(project)) {
|
|
|
needStart.value = true;
|
|
|
}
|
|
|
//加载音乐
|
|
@@ -1315,6 +1301,7 @@ $waiPadding: 6.51rem;
|
|
|
}
|
|
|
|
|
|
.disable {
|
|
|
+
|
|
|
.userInfo,
|
|
|
.score {
|
|
|
opacity: 0.5;
|
|
@@ -1322,6 +1309,7 @@ $waiPadding: 6.51rem;
|
|
|
}
|
|
|
|
|
|
.wait {
|
|
|
+
|
|
|
.userInfo,
|
|
|
.score {
|
|
|
opacity: 0.5;
|
|
@@ -1930,6 +1918,7 @@ $waiPadding: 6.51rem;
|
|
|
}
|
|
|
|
|
|
.disable {
|
|
|
+
|
|
|
.userInfo,
|
|
|
.score {
|
|
|
opacity: 0.5;
|
|
@@ -1937,6 +1926,7 @@ $waiPadding: 6.51rem;
|
|
|
}
|
|
|
|
|
|
.wait {
|
|
|
+
|
|
|
.userInfo,
|
|
|
.score {
|
|
|
opacity: 0.5;
|