From 95200739de3e9922cb1297dee4def6cee25653e1 Mon Sep 17 00:00:00 2001 From: yuping <82253452@qq.com> Date: Fri, 17 Mar 2023 03:01:22 +0800 Subject: [PATCH 1/2] =?UTF-8?q?--demand=20=E9=9D=A2=E6=8E=88=E8=AF=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/faceteach/FaceTeach.vue | 245 ++++++---------------- src/views/faceteach/FaceTeachNoCommon.vue | 65 +----- src/views/faceteach/FaceTeachNoCourse.vue | 63 ++---- src/views/faceteach/FaceTeachSignUp.vue | 126 ++--------- 4 files changed, 103 insertions(+), 396 deletions(-) diff --git a/src/views/faceteach/FaceTeach.vue b/src/views/faceteach/FaceTeach.vue index 7c1f9cf..33192f5 100644 --- a/src/views/faceteach/FaceTeach.vue +++ b/src/views/faceteach/FaceTeach.vue @@ -33,8 +33,7 @@
new Date().getTime() " style="display: flex" @@ -42,19 +41,10 @@ {{ data.signFlag ? "已签到" : "签到" }} + >{{ data.signFlag ? "已签到" : "签到" }} - {{ data.isSurvery ? "已评估" : "评估" }} + >{{ data.isSurvery ? "已评估" : "评估" }}
@@ -86,11 +76,8 @@ : '#999', }" @click="signClick" - >{{ data.signFlag ? "已签到" : "签到" }} + >{{ data.signFlag ? "已签到" : "签到" }} - {{ data.isSurvery ? "已评估" : "评估" }} + >{{ data.isSurvery ? "已评估" : "评估" }} - -
@@ -140,14 +109,13 @@
- +
{{ data.planDto?.teacher }}
{{ data.planDto?.bandDesc }}
-
@@ -212,11 +180,9 @@ el.name ? el.name : el.slice(el.lastIndexOf("/") + 1, el.indexOf("-")) + - el.slice(el.lastIndexOf(".")) + el.slice(el.lastIndexOf(".")) }} -
import TitleHead from "@/components/TitleHead.vue"; import ReturnHead from "@/components/ReturnHead.vue"; -import { computed, reactive, toRefs, watch, onUnmounted } from "vue"; +import {computed, onBeforeMount} from "vue"; import FileTypeImg from "@/components/FileTypeImg.vue"; -import { request, useRequest } from "@/api/request"; -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, messageConfig } from "element-plus"; +import {request, useRequest} from "@/api/request"; +import {STU_OFFCOURSE_DETAIL, TASK_OFFCOURSE_NOTASK_SIGN,} from "@/api/api"; +import {useRoute, useRouter} from "vue-router"; +import {useUserInfo} from "@/api/utils"; +import {ElMessage} from "element-plus"; import dayjs from "dayjs"; +import isBetween from "dayjs/plugin/isBetween"; + const router = useRouter(); +onBeforeMount(() => dayjs.extend(isBetween)); const returnclick = () => { router.back(); }; const { query: { courseId, type, id: taskId, projectStatus, projectEndTime }, } = useRoute(); -onUnmounted(() => { - if (timer) { - clearInterval(timer); - } -}); + const { data } = useRequest(STU_OFFCOURSE_DETAIL, { courseId }); -console.log("datadatadatadatadatadatadata", data); -// console.log("项目状态字段传递", projectStatus, projectEndTime); const teacherInfo = useUserInfo(computed(() => data.value?.planDto?.teacherId)); +const isAllowSign = computed(() => dayjs().isBetween(dayjs(data.value.planDto?.beginTime).subtract(data.value.beforeStart || 0, "minute"), dayjs(data.value.afterStart ? data.value.planDto?.beginTime : data.value.planDto?.endTime).add(data.value.afterStart || 0, "minute"))); -const state = reactive({ - activeName: "first", - enclosure: "", - isAllowSign: false, -}); -const { activeName, enclosure, isAllowSign } = toRefs(state); +const activeName = ref("first"); const handleClick = (tab, event) => { console.log("附件", tab, event); }; -const download = (url) => { - console.log( - "url2", - import.meta.env.VITE_BOE_API_URL + import.meta.env.VITE_FILE_PATH + url - ); - window.open( - import.meta.env.VITE_BOE_API_URL + import.meta.env.VITE_FILE_PATH + url, - "_top" - ); -}; +const download = (url) => window.open(import.meta.env.VITE_BOE_API_URL + import.meta.env.VITE_FILE_PATH + url, "_top"); + const downloads = (url) => { ElMessage.warning("未到开始时间,请耐心等待!"); }; function formateArr(strs) { - console.log("strs", strs); - let newArr = []; + let newArr; try { newArr = JSON.parse(strs); } catch { newArr = strs ? strs.split(",") : []; } - console.log("112233", newArr); return newArr; } -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) { - //有开始前有开始后 - 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 - ) { - //只有开始前无开始后 - beginTime = beginTime - data.value.planDto?.beforeStart * 60 * 1000; - console.log("11112222"); - } else if ( - !data.value.planDto?.beforeStart && - data.value.planDto?.afterStart - ) { - //无开始前有开始后 - endTime = endTime + data.value.planDto?.afterStart * 60 * 1000; - console.log("1111333"); - } - 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); -} -watch(data, () => { - isSignClick(); -}); - //签到 const signClick = () => { if (data.value.signFlag) { return; } - // console.log( - // "data.signFlag", - // data.value.signFlag, - // state.isAllowSign, - // !state.isAllowSign - // ); - //if (data.value.planDto.beginTime) { - // let date1 = new Date(data.value.planDto.beginTime).getTime() - // let date2 = new Date().getTime() - // if (date1 > date2) { - // ElMessage.info("未到开始时间,请耐心等待!"); - // return; - // } - //} - if (!state.isAllowSign) { - // console.log("data.signFlag", data.value.signFlag, isAllowSign); - ElMessage.warning("未在允许签到时间范围内"); - return; + if (!isAllowSign.value) { + return ElMessage.warning("未在允许签到时间范围内"); } data.value.signFlag = 1; ElMessage.warning("签到成功"); - - if (taskId) { - request(TASK_OFFCOURSE_SIGN, { courseId: courseId, taskId, type }); - } else { - request(TASK_OFFCOURSE_NOTASK_SIGN, { courseId: courseId }); - } + request(TASK_OFFCOURSE_NOTASK_SIGN, { courseId: courseId,taskId:courseId,type:3 }); }; function toSurvery() { - if (data.value.isSurvery) { - // return; - } - if ( - data.value.planDto.beginTime && - dayjs().isBefore(data.value.planDto.beginTime) - ) { + if (dayjs().isBefore(data.value.planDto.beginTime)) { ElMessage.warning("课程未开始,请耐心等待!"); return; } - if (data.value.planDto.evalFlag == 0) { + if (!data.value.planDto.evalFlag) { ElMessage.warning("此课程无评估"); return; } @@ -561,13 +429,9 @@ function toSurvery() { } function toWork() { - if (data.value.planDto.beginTime) { - let date1 = new Date(data.value.planDto.beginTime).getTime(); - let date2 = new Date().getTime(); - if (date1 > date2) { - ElMessage.warning("未到开始时间,请耐心等待!"); - return; - } + if (dayjs().isBefore(data.value.planDto.beginTime)) { + ElMessage.warning("未到开始时间,请耐心等待!"); + return; } router.push({ path: "/homeworkpage", @@ -584,15 +448,10 @@ function toWork() { } function toExamItem(obj) { - if (data.value.planDto.beginTime) { - let date1 = new Date(data.value.planDto.beginTime).getTime(); - let date2 = new Date().getTime(); - if (date1 > date2) { - ElMessage.warning("未到开始时间,请耐心等待!"); - return; - } + if (dayjs().isBefore(data.value.planDto.beginTime)) { + ElMessage.warning("未到开始时间,请耐心等待!"); + return; } - console.log("obj", obj); if (obj.examType === 2) { router.push({ path: "/externalexam", @@ -601,30 +460,23 @@ function toExamItem(obj) { type: 3, }, }); - } else { - window.open( - window.location.protocol + - import.meta.env.VITE_BOE_EXAM_DETAIL_URL + - obj.id, - "_top" - ); - } + } else window.open(window.location.protocol + import.meta.env.VITE_BOE_EXAM_DETAIL_URL + obj.id, "_top"); - // router.push({ path: import.meta.env.VITE_BOE_EXAM_DETAIL_URL+ obj.examinationTestId }); } -