remove exam interval

This commit is contained in:
cxc
2022-06-15 17:33:57 +08:00
parent 686ed55a79
commit 57e3785445

View File

@ -67,18 +67,7 @@
<el-tab-pane label="考核" v-if="route.name === 'Meeting'"> <el-tab-pane label="考核" v-if="route.name === 'Meeting'">
<!-- // 签到、考试、问卷弹窗 --> <!-- // 签到、考试、问卷弹窗 -->
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :xs="24" :sm="24" :md="8" :lg="8" :xl="8" <el-col :span="12"
><el-button
type="primary"
:disabled="
!isDuringSignPeriod || store.state.joinUser.signSubmited
"
style="width: 100%"
@click="showSignDialog = true"
>签到</el-button
></el-col
>
<el-col :xs="24" :sm="24" :md="8" :lg="8" :xl="8"
><el-button ><el-button
type="primary" type="primary"
:disabled=" :disabled="
@ -89,7 +78,7 @@
>考试</el-button >考试</el-button
></el-col ></el-col
> >
<el-col :xs="24" :sm="24" :md="8" :lg="8" :xl="8" <el-col :span="12"
><el-button ><el-button
type="primary" type="primary"
style="width: 100%" style="width: 100%"
@ -213,25 +202,8 @@ const meetingConfig = reactive({
}); });
// 是否在签到时间段内 // 是否在签到时间段内
const now = ref(dayjs()); const isDuringExamPeriod = ref(false);
setInterval(() => { isDuringExamPeriod = (() => {
now.value = dayjs();
}, 1000);
const isDuringSignPeriod = computed(() => {
const signModelList = store.state.meeting.signModelList.map((el) => el);
if (signModelList.length === 0) {
return false;
} else {
return signModelList.some((el) => {
return (
now.value.isAfter(dayjs(el.signStartTime)) &&
now.value.isBefore(dayjs(el.signEndTime))
);
});
}
});
const isDuringExamPeriod = computed(() => {
const examStartTime = dayjs(store.state.meeting.examStartTime); const examStartTime = dayjs(store.state.meeting.examStartTime);
const meetingEndTime = dayjs(store.state.meeting.startTime).add( const meetingEndTime = dayjs(store.state.meeting.startTime).add(
store.state.meeting.duration, store.state.meeting.duration,
@ -240,11 +212,11 @@ const isDuringExamPeriod = computed(() => {
if (!examStartTime) { if (!examStartTime) {
return false; return false;
} else { } else {
return ( const now = dayjs();
now.value.isAfter(examStartTime) && now.value.isBefore(meetingEndTime) return now.isAfter(examStartTime) && now.isBefore(meetingEndTime);
);
} }
}); })();
const handleReOpenExam = () => { const handleReOpenExam = () => {
showExamDialog.value = true; showExamDialog.value = true;
}; };
@ -685,6 +657,7 @@ const initWebSocket = () => {
// 开始签到时 // 开始签到时
else if (data.type === "isStartSign" && route.name === "Meeting") { else if (data.type === "isStartSign" && route.name === "Meeting") {
showSignDialog.value = true; showSignDialog.value = true;
isDuringExamPeriod.value = true;
} }
// 签到结束时 // 签到结束时
else if (data.type === "isEndSign" && route.name === "Meeting") { else if (data.type === "isEndSign" && route.name === "Meeting") {
@ -702,6 +675,7 @@ const initWebSocket = () => {
else if (data.type === "isCloseMeeting") { else if (data.type === "isCloseMeeting") {
showExamDialog.value = false; showExamDialog.value = false;
showQuestionnaireDialog.value = false; showQuestionnaireDialog.value = false;
isDuringExamPeriod.value = false;
ElMessageBox.alert("会议已结束"); ElMessageBox.alert("会议已结束");
socket.close(); socket.close();
if (route.name === "Meeting") { if (route.name === "Meeting") {