From 7aaa6eed08e0c579c9f15df679a68b380284e5f3 Mon Sep 17 00:00:00 2001 From: zhangyc Date: Sun, 25 Dec 2022 14:50:49 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=9C=AA=E5=88=B0=E7=82=B9=E7=9A=84?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=8F=90=E7=A4=BA=E6=9C=AA=E5=88=B0=E6=97=B6?= =?UTF-8?q?=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/project/ProjectDetails.vue | 9 ++-- src/views/project/ProjectManage.vue | 6 +-- src/views/roadmap/PathDetails.vue | 66 ++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+), 7 deletions(-) diff --git a/src/views/project/ProjectDetails.vue b/src/views/project/ProjectDetails.vue index 8b5f3bd..19abed3 100644 --- a/src/views/project/ProjectDetails.vue +++ b/src/views/project/ProjectDetails.vue @@ -286,9 +286,7 @@ const { query: { courseId, projectId }, } = useRoute(); const router = useRouter(); -const returnclick = () => { - router.back(); -}; + const { data } = useRequest(PROJECT_PROCESS, { projectId: projectId || courseId, }); @@ -387,7 +385,7 @@ function toFinish(d, sName, chapterOrStageId) { if (date1 < date2) { dialogVisibleTip.value = '当前作业已结束'; dialogVisible.value = true; - // ElMessage.error("当前作业已结束") + return } } @@ -490,6 +488,9 @@ function whiteTypes(type) { \ No newline at end of file diff --git a/src/views/faceteach/FaceTeach.vue b/src/views/faceteach/FaceTeach.vue index afee35f..035429e 100644 --- a/src/views/faceteach/FaceTeach.vue +++ b/src/views/faceteach/FaceTeach.vue @@ -24,7 +24,9 @@
- {{ dayjs(data.planDto?.beginTime).format('YYYY-MM-DD HH:MM') + " 至 " + dayjs(data.planDto?.endTime).format('YYYY-MM-DD HH:MM') }} + {{ dayjs(data.planDto?.beginTime).format('YYYY-MM-DD HH:MM') + " 至 " + + dayjs(data.planDto?.endTime).format('YYYY-MM-DD HH:MM') + }}
@@ -39,12 +41,12 @@ background: data.signFlag ? '#999' : 'rgb(57, 146, 249)', }" @click="signClick">{{ data.signFlag ? "已签到" : "签到" }} - + 评估 {{data.isSurvery ? "已评估" : "评估"}} + }" class="btn" @click="toSurvery" v-else>{{ data.isSurvery ? "已评估" : "评估" }}
@@ -65,33 +67,34 @@ - +
- + -
+
此课程无附件
-
- -
{{ el.name }}
+
{{ el.slice(el.indexOf('-') + 1) }}
-
+
下载
-
+
下载
@@ -99,8 +102,8 @@
- -
+ +
{{ data.workDto?.workName }}
@@ -109,19 +112,23 @@
-
已结束
-
未开始
+
已结束
+
未开始
+ :style="{ background: new Date(data.planDto.beginTime).getTime() > new Date().getTime() ? '#999' : '' }" + class="submit" @click="toWork" v-else> 交作业
-
+
此课程无作业
- - + +
@@ -134,15 +141,18 @@
考试
-
已结束
-
未开始
+
已结束
+
未开始
去考试
-
+
此课程无考试
@@ -207,7 +217,7 @@ const state = reactive({ }); const { activeName, enclosure, isAllowSign } = toRefs(state); const handleClick = (tab, event) => { - console.log("附件",tab, event); + console.log("附件", tab, event); }; const download = (url) => { window.open(url); @@ -215,6 +225,13 @@ const download = (url) => { const downloads = (url) => { ElMessage.warning("未到开始时间,请耐心等待!"); }; + +function formateArr(strs) { + let arrs = strs.split(',') + console.log('112233', arrs) + return arrs +} + let timer = null; //判断能否签到 function isSignClick() { @@ -491,11 +508,13 @@ onUnmounted(() => { background: #ffffff; border-radius: 8px; margin-top: 20px; - .wenxintishi{ + + .wenxintishi { display: flex; justify-content: stretch; padding: 72px; } + .el-tabs__item { height: 69px; padding: 25px 7px 0px 52px; @@ -609,7 +628,7 @@ onUnmounted(() => { padding: 25px 0px; display: flex; position: relative; - + // align-items: center; } @@ -620,40 +639,40 @@ onUnmounted(() => { } .teacheritem { - .nameSpan{ + .nameSpan { width: 190px; display: flex; align-items: center; justify-content: center; - + .teacherName { - font-size: 14px; - font-weight: bold; - color: #394145; - display: flex; - align-items: center; + font-size: 14px; + font-weight: bold; + color: #394145; + display: flex; + align-items: center; } } - - + + } - + .teacheritem { - .nameSpan{ + .nameSpan { width: 190px; display: flex; align-items: center; justify-content: center; - + .teacherName { - font-size: 14px; - font-weight: bold; - color: #394145; - display: flex; - align-items: center; + font-size: 14px; + font-weight: bold; + color: #394145; + display: flex; + align-items: center; } } - + } .teacheritem .introduce { diff --git a/src/views/faceteach/FaceTeachSignUp.vue b/src/views/faceteach/FaceTeachSignUp.vue new file mode 100644 index 0000000..a32d6be --- /dev/null +++ b/src/views/faceteach/FaceTeachSignUp.vue @@ -0,0 +1,496 @@ + + + + + + From 19002928836f2b84fd4d01bb3e8d54540c31db08 Mon Sep 17 00:00:00 2001 From: wuyx Date: Sun, 25 Dec 2022 18:29:24 +0800 Subject: [PATCH 4/5] =?UTF-8?q?feat:=E9=9D=A2=E6=8E=88=E8=AF=BE=E6=8A=A5?= =?UTF-8?q?=E5=90=8D=E6=8E=A5=E5=8F=A3=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/api.js | 4 +++- src/views/faceteach/FaceTeachSignUp.vue | 10 +++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/api/api.js b/src/api/api.js index 0188503..4c49774 100644 --- a/src/api/api.js +++ b/src/api/api.js @@ -57,4 +57,6 @@ export const ASSESSMENT_SUBMIT = '/stu/task/evaluate/commit post' export const ACTIVITY = '/activity' export const STUDY_RECORD = '/stu/task/thirdTask/submit post' -export const PROJECT_LIST = '/stu/project/list post' \ No newline at end of file +export const PROJECT_LIST = '/stu/project/list post' + +export const FACETEACH_SIGNUP = `/stu/project/stuFaceTeachSignUp` \ No newline at end of file diff --git a/src/views/faceteach/FaceTeachSignUp.vue b/src/views/faceteach/FaceTeachSignUp.vue index a32d6be..ce4d1a1 100644 --- a/src/views/faceteach/FaceTeachSignUp.vue +++ b/src/views/faceteach/FaceTeachSignUp.vue @@ -128,6 +128,7 @@ import { TASK_OFFCOURSE_NOTASK_SIGN, TASK_OFFCOURSE_SIGN, TASK_BROADCAST_SIGN, + FACETEACH_SIGNUP } from "@/api/api"; import { useRoute, useRouter } from "vue-router"; import { useUserInfo } from "@/api/utils"; @@ -166,7 +167,14 @@ let timer = null; // 报名 function onLineSignUp() { - alert('我是要报名的面授课') + request(FACETEACH_SIGNUP, { courseId }).then(res => { + console.log(res) + if (res.code == 200) { + ElMessage.success("报名成功"); + } + }).catch(err => { + console.log(err) + }); } function formateArr(strs) { From 765aa3d5a6ac39b29421f3157877e2f98a4692dc Mon Sep 17 00:00:00 2001 From: zhangyc Date: Sun, 25 Dec 2022 18:30:25 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E7=9B=B4=E6=92=AD=E7=AD=BE=E5=88=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/liveBroadcast/LiveBroadcast.vue | 4 +- src/views/moreActive/MoreActive.vue | 65 ++++++++++++++++++++--- 2 files changed, 61 insertions(+), 8 deletions(-) diff --git a/src/views/liveBroadcast/LiveBroadcast.vue b/src/views/liveBroadcast/LiveBroadcast.vue index aee4765..df36543 100644 --- a/src/views/liveBroadcast/LiveBroadcast.vue +++ b/src/views/liveBroadcast/LiveBroadcast.vue @@ -50,7 +50,9 @@ background: `${new Date(data.liveStartTime).getTime() > new Date().getTime() ? '#999' : 'rgb(59, 191, 252)'}`, }" @click="showClick">观看 - 签到 + + {{ data.signFlag ? "已签到" : "签到" }} diff --git a/src/views/moreActive/MoreActive.vue b/src/views/moreActive/MoreActive.vue index a6b9e2e..60cdf95 100644 --- a/src/views/moreActive/MoreActive.vue +++ b/src/views/moreActive/MoreActive.vue @@ -45,13 +45,9 @@
{{ data?.activityAddress }}
- {{ data.signFlag ? "已签到" : "签到" }} + 签到 + + {{ data.signFlag ? "已签到" : "签到" }}
@@ -147,6 +143,7 @@ import { request, useRequest } from "@/api/request"; import { useRouter } from "vue-router"; import { useRoute } from "vue-router/dist/vue-router"; import { ElMessage } from "element-plus"; +import { reactive, onUnmounted } from "vue"; const router = useRouter(); const returnclick = () => { router.back(); @@ -154,7 +151,10 @@ const returnclick = () => { const { query: { courseId: activityId, id: taskId, type, pName, sName }, } = useRoute(); +const state = reactive({ + isAllowSign: false, +}); const { data } = useRequest(ACTIVITY, { activityId }); const signClick = (tab, event) => { if (data.value.signFlag) { @@ -168,6 +168,57 @@ const signClick = (tab, event) => { type, }); }; +let timer = null; +//判断能否签到 +function isSignClick() { + timer = setInterval(() => { + let beginTime = new Date(data.activityStartTime).getTime(); + let endTime = !data.afterSignIn + ? new Date(data.activityEndTime).getTime() + : new Date(data.activityStartTime).getTime(); + let nowTime = new Date().getTime(); + if (data.beforeSignIn && data.afterSignIn) { + //有开始前有开始后 + beginTime = beginTime - data.beforeSignIn * 60 * 1000; + endTime = endTime + data.afterSignIn * 60 * 1000; + console.log("1111"); + } else if ( + data.beforeSignIn && + !data.afterSignIn + ) { + //只有开始前无开始后 + beginTime = beginTime - data.beforeSignIn * 60 * 1000; + console.log("11112222"); + } else if ( + !data.beforeSignIn && + data.afterSignIn + ) { + //无开始前有开始后 + endTime = endTime + data.afterSignIn * 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); +} +isSignClick(); +onUnmounted(() => { + if (timer) { + clearInterval(timer); + } +});