fix:增加项目详情当项目结束时候任务得提示及跳转到对应任务页面隐藏判断

This commit is contained in:
wyx
2022-12-29 18:34:35 +08:00
parent 6f3347cc1f
commit 247f82a04b
6 changed files with 210 additions and 71 deletions

View File

@@ -274,6 +274,7 @@ import {
import { useRoute, useRouter } from "vue-router";
import store from "@/store";
import { ElMessage } from "element-plus";
const {
query: { courseId, projectId },
} = useRoute();
@@ -374,9 +375,39 @@ const types = ref({
const dialogVisible = ref(false);
const dialogVisibleTip = ref('该任务无法学习,请联系管理员进行替换!');
// 判断当前任务已结束及时间意义上的结束 提示用户
function judgeTaskIsEnd(type, endTimes, status) {
// type 任务类型 endTime 结束时间 status 任务状态 (状态 0 未完成 1 已完成 2 未开始 3 已结束)
console.log(type, endTimes, status);
let isEnd = false;
let nowTime = new Date().getTime();
let endTime = new Date().getTime(endTimes);
switch (type) {
case 1:
status == 3 ? isEnd = true : nowTime > endTime ? isEnd = true : isEnd = false;
break;
case 3:
status == 3 ? isEnd = true : nowTime > endTime ? isEnd = true : isEnd = false;
break;
case 5:
status == 3 ? isEnd = true : nowTime > endTime ? isEnd = true : isEnd = false;
break;
case 7:
status == 3 ? isEnd = true : nowTime > endTime ? isEnd = true : isEnd = false;
break;
case 10:
status == 3 ? isEnd = true : nowTime > endTime ? isEnd = true : isEnd = false;
break;
}
return isEnd;
}
function toFinish(d, sName, chapterOrStageId) {
console.log("dddddd", d, sName, chapterOrStageId);
if(judgeTaskIsEnd(d.type ,data.value.endTime, data.value.status)){
ElMessage.error("当前任务已结束")
return
}
if (d.type == 2) {
let date1 = new Date(d.endTime).getTime();
let date2 = new Date().getTime();
@@ -483,7 +514,9 @@ function toFinish(d, sName, chapterOrStageId) {
courseId: d.courseId,
pName: data.value.name,
sName,
chapterOrStageId
chapterOrStageId,
projectStatus: data.value.status?data.value.status:0, // 项目状态 -- 用于判断当前项目是否已经结束
projectEndTime: data.value.endTime?data.value.endTime:0 // 项目结束 -- 用于判断当前项目是否已经结束
},
});
} else if (typeof types.value.path[d.type] === "function") {