mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-student.git
synced 2025-12-12 12:26:49 +08:00
Merge branch 'develop' of ssh://gitlab.dongwu-inc.com:10022/BOE/fe-stu into develop
This commit is contained in:
@@ -52,8 +52,7 @@
|
||||
class="btn"
|
||||
style="margin-right: 20px"
|
||||
:style="{
|
||||
background:
|
||||
data.signFlag || !isAllowSign ? '#999' : 'rgb(57, 146, 249)',
|
||||
background: data.signFlag ? '#999' : 'rgb(57, 146, 249)',
|
||||
}"
|
||||
@click="signClick"
|
||||
>{{ data.signFlag ? "已签到" : "签到" }}
|
||||
@@ -236,13 +235,18 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { computed, reactive, toRefs, watch } from "vue";
|
||||
import { computed, reactive, toRefs, watch, onUnmounted } from "vue";
|
||||
import FileTypeImg from "@/components/FileTypeImg.vue";
|
||||
import { request, useRequest } from "@/api/request";
|
||||
import { STU_OFFCOURSE_DETAIL } from "@/api/api";
|
||||
import {
|
||||
STU_OFFCOURSE_DETAIL,
|
||||
TASK_OFFCOURSE_NOTASK_SIGN,
|
||||
TASK_OFFCOURSE_SIGN,
|
||||
TASK_BROADCAST_SIGN,
|
||||
} from "@/api/api";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
import { useUserInfo } from "@/api/utils";
|
||||
|
||||
import { ElMessage } from "element-plus";
|
||||
const router = useRouter();
|
||||
const returnclick = () => {
|
||||
router.back();
|
||||
@@ -273,56 +277,45 @@ let timer = null;
|
||||
//判断能否签到
|
||||
function isSignClick() {
|
||||
timer = setInterval(() => {
|
||||
let beginTime = new Date(data.value.planDto.beginTime).getTime();
|
||||
let endTime = !data.value.planDto.afterStart
|
||||
? new Date(data.value.planDto.endTime).getTime()
|
||||
: new Date(data.value.planDto.beginTime).getTime();
|
||||
let nowTime = new Date().getTime();
|
||||
if (data.value.planDto.beforeStart && data.value.planDto.afterStart) {
|
||||
//有开始前有开始后
|
||||
let beginTime =
|
||||
new Date(data.value.planDto.beginTime).getTime() -
|
||||
data.value.planDto.beforeStart * 60 * 1000;
|
||||
let endTime =
|
||||
new Date(data.value.planDto.beginTime).getTime() +
|
||||
data.value.planDto.afterStart * 60 * 1000;
|
||||
let nowTime = new Date().getTime();
|
||||
if (nowTime < endTime && nowTime > beginTime) {
|
||||
state.isAllowSign = true;
|
||||
} else {
|
||||
state.isAllowSign = false;
|
||||
}
|
||||
} else if (
|
||||
!data.value.planDto.beforeStart &&
|
||||
!data.value.planDto.afterStart
|
||||
) {
|
||||
//开始前开始后都没有
|
||||
state.isAllowSign = true;
|
||||
beginTime = beginTime - data.value.planDto.beforeStart * 60 * 1000;
|
||||
endTime = endTime + data.value.planDto.afterStart * 60 * 1000;
|
||||
console.log("1111");
|
||||
} else if (
|
||||
data.value.planDto.beforeStart &&
|
||||
!data.value.planDto.afterStart
|
||||
) {
|
||||
//只有开始前无开始后
|
||||
let beginTime =
|
||||
new Date(data.value.planDto.beginTime).getTime() -
|
||||
data.value.planDto.beforeStart * 60 * 1000;
|
||||
let nowTime = new Date().getTime();
|
||||
if (nowTime > beginTime) {
|
||||
state.isAllowSign = true;
|
||||
} else {
|
||||
state.isAllowSign = false;
|
||||
}
|
||||
beginTime = beginTime - data.value.planDto.beforeStart * 60 * 1000;
|
||||
console.log("11112222");
|
||||
} else if (
|
||||
!data.value.planDto.beforeStart &&
|
||||
data.value.planDto.afterStart
|
||||
) {
|
||||
//无开始前有开始后
|
||||
let endTime =
|
||||
new Date(data.value.planDto.beginTime).getTime() +
|
||||
data.value.planDto.afterStart * 60 * 1000;
|
||||
let nowTime = new Date().getTime();
|
||||
if (nowTime < endTime) {
|
||||
state.isAllowSign = true;
|
||||
} else {
|
||||
state.isAllowSign = false;
|
||||
}
|
||||
endTime = endTime + data.value.planDto.afterStart * 60 * 1000;
|
||||
console.log("1111333");
|
||||
}
|
||||
console.log("isAllowSign", state.isAllowSign);
|
||||
if (nowTime < endTime && nowTime > beginTime) {
|
||||
state.isAllowSign = true;
|
||||
} else {
|
||||
state.isAllowSign = false;
|
||||
}
|
||||
// console.log(
|
||||
// "isAllowSign",
|
||||
// state.isAllowSign,
|
||||
// nowTime,
|
||||
// endTime,
|
||||
// beginTime,
|
||||
// nowTime < endTime,
|
||||
// nowTime > beginTime
|
||||
// );
|
||||
}, 1000);
|
||||
}
|
||||
isSignClick();
|
||||
@@ -332,14 +325,26 @@ const signClick = () => {
|
||||
if (data.value.signFlag) {
|
||||
return;
|
||||
}
|
||||
console.log("data.signFlag", data.value.signFlag);
|
||||
if (!isAllowSign) {
|
||||
// console.log(
|
||||
// "data.signFlag",
|
||||
// data.value.signFlag,
|
||||
// state.isAllowSign,
|
||||
// !state.isAllowSign
|
||||
// );
|
||||
if (!state.isAllowSign) {
|
||||
// console.log("data.signFlag", data.value.signFlag, isAllowSign);
|
||||
ElMessage.info("未在签到范围内");
|
||||
return;
|
||||
}
|
||||
2;
|
||||
data.value.signFlag = 1;
|
||||
ElMessage.info("签到成功");
|
||||
request(TASK_BROADCAST_SIGN, { courseId: courseId, taskId, type });
|
||||
|
||||
if (taskId) {
|
||||
request(TASK_OFFCOURSE_SIGN, { courseId: courseId, taskId, type });
|
||||
} else {
|
||||
request(TASK_OFFCOURSE_NOTASK_SIGN, { courseId: courseId });
|
||||
}
|
||||
};
|
||||
|
||||
function toSurvery() {
|
||||
@@ -378,6 +383,12 @@ function toExamItem(obj) {
|
||||
window.open(import.meta.env.VITE_BOE_EXAM_DETAIL_URL + obj.examinationTestId); //测评
|
||||
// router.push({ path: import.meta.env.VITE_BOE_EXAM_DETAIL_URL+ obj.examinationTestId });
|
||||
}
|
||||
|
||||
onUnmounted(() => {
|
||||
if (timer) {
|
||||
clearInterval(timer);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
||||
|
||||
Reference in New Issue
Block a user