mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/student-h5.git
synced 2025-12-06 17:36:45 +08:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -27,7 +27,7 @@ import { GET_USER_INFO } from "@/api/ThirdApi";
|
|||||||
import { getCookie } from "@/api/utils";
|
import { getCookie } from "@/api/utils";
|
||||||
|
|
||||||
import { USER_INFO } from "@/api/api";
|
import { USER_INFO } from "@/api/api";
|
||||||
console.log("版本2.1.1------------");
|
console.log("版本2.1.2------------");
|
||||||
const store = useStore();
|
const store = useStore();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* @Author: lixg lixg@dongwu-inc.com
|
* @Author: lixg lixg@dongwu-inc.com
|
||||||
* @Date: 2022-12-19 11:35:37
|
* @Date: 2022-12-19 11:35:37
|
||||||
* @LastEditors: lixg lixg@dongwu-inc.com
|
* @LastEditors: lixg lixg@dongwu-inc.com
|
||||||
* @LastEditTime: 2023-03-04 17:42:01
|
* @LastEditTime: 2023-03-10 03:44:17
|
||||||
* @FilePath: /fe-stu/src/views/project/method.js
|
* @FilePath: /fe-stu/src/views/project/method.js
|
||||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
*/
|
*/
|
||||||
@@ -35,6 +35,18 @@ function toDate(number, format) {
|
|||||||
return format;
|
return format;
|
||||||
}
|
}
|
||||||
// 修改时间格式---------end-----------------------------
|
// 修改时间格式---------end-----------------------------
|
||||||
export {
|
|
||||||
toDate
|
|
||||||
|
// 修改时间格式
|
||||||
|
function changeTime(time) {
|
||||||
|
// console.log('time', time)
|
||||||
|
if (time) {
|
||||||
|
let newtime = time.replaceAll("-", "/")
|
||||||
|
return newtime
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
export {
|
||||||
|
toDate,
|
||||||
|
changeTime
|
||||||
}
|
}
|
||||||
@@ -76,7 +76,7 @@
|
|||||||
style="position: relative"
|
style="position: relative"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="v.url"
|
:src="fielPath + v.url"
|
||||||
style="width: 66px; height: 66px; margin-left: 5px"
|
style="width: 66px; height: 66px; margin-left: 5px"
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
@@ -100,7 +100,14 @@
|
|||||||
<div class="rescon clearfix">
|
<div class="rescon clearfix">
|
||||||
<div class="head">
|
<div class="head">
|
||||||
<div>
|
<div>
|
||||||
<img class="headavator" :src="item.studentAvatar" />
|
<img
|
||||||
|
class="headavator"
|
||||||
|
:src="
|
||||||
|
item.studentAvatar.includes('upload')
|
||||||
|
? item.studentAvatar
|
||||||
|
: fielPath + item.studentAvatar
|
||||||
|
"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="namehead">
|
<div class="namehead">
|
||||||
{{ item.createName }}
|
{{ item.createName }}
|
||||||
@@ -120,7 +127,7 @@
|
|||||||
<img
|
<img
|
||||||
class="image"
|
class="image"
|
||||||
style="width: 55px; height: 55px; border-radius: 4px"
|
style="width: 55px; height: 55px; border-radius: 4px"
|
||||||
:src="rowimg"
|
:src="fielPath + rowimg"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -159,7 +166,14 @@
|
|||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<div class="ava">
|
<div class="ava">
|
||||||
<img class="avainner" :src="itemc.studentAvatar" />
|
<img
|
||||||
|
class="avainner"
|
||||||
|
:src="
|
||||||
|
itemc.studentAvatar.includes('upload')
|
||||||
|
? itemc.studentAvatar
|
||||||
|
: fielPath + itemc.studentAvatar
|
||||||
|
"
|
||||||
|
/>
|
||||||
<div class="rename">{{ itemc.studentName }}</div>
|
<div class="rename">{{ itemc.studentName }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="redetail">
|
<div class="redetail">
|
||||||
@@ -176,7 +190,7 @@
|
|||||||
<img
|
<img
|
||||||
class="image"
|
class="image"
|
||||||
style="width: 55px; height: 55px; border-radius: 4px"
|
style="width: 55px; height: 55px; border-radius: 4px"
|
||||||
:src="rowimg"
|
:src="fielPath + rowimg"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -275,6 +289,7 @@ const props = defineProps({
|
|||||||
default: null,
|
default: null,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
const fielPath = ref(import.meta.env.VITE_FILE_PATH);
|
||||||
const userInfo = computed(() => store.state.userInfo);
|
const userInfo = computed(() => store.state.userInfo);
|
||||||
|
|
||||||
const disDetail = ref({});
|
const disDetail = ref({});
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* @Author: lixg lixg@dongwu-inc.com
|
* @Author: lixg lixg@dongwu-inc.com
|
||||||
* @Date: 2023-01-16 17:26:39
|
* @Date: 2023-01-16 17:26:39
|
||||||
* @LastEditors: lixg lixg@dongwu-inc.com
|
* @LastEditors: lixg lixg@dongwu-inc.com
|
||||||
* @LastEditTime: 2023-03-09 18:35:30
|
* @LastEditTime: 2023-03-10 15:20:30
|
||||||
* @FilePath: /stu_h5/src/components/ReturnHead.vue
|
* @FilePath: /stu_h5/src/components/ReturnHead.vue
|
||||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
-->
|
-->
|
||||||
@@ -98,9 +98,13 @@ export default {
|
|||||||
window.location.protocol + import.meta.env.VITE_BOE_STUDY,
|
window.location.protocol + import.meta.env.VITE_BOE_STUDY,
|
||||||
"_top"
|
"_top"
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
if (window.history.length <= 1) {
|
||||||
|
window.open(import.meta.env.VITE_BOE_STUDY, "_top");
|
||||||
} else {
|
} else {
|
||||||
router.back(-1);
|
router.back(-1);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
const publishClick = () => {
|
const publishClick = () => {
|
||||||
if (props.postAdd) {
|
if (props.postAdd) {
|
||||||
|
|||||||
@@ -44,7 +44,8 @@
|
|||||||
<div
|
<div
|
||||||
v-if="
|
v-if="
|
||||||
projectStatus !== '3' &&
|
projectStatus !== '3' &&
|
||||||
new Date(projectEndTime).getTime() > new Date().getTime()
|
new Date(changeTime(projectEndTime)).getTime() >
|
||||||
|
new Date().getTime()
|
||||||
"
|
"
|
||||||
class="sign"
|
class="sign"
|
||||||
>
|
>
|
||||||
@@ -153,6 +154,7 @@ import { useRoute } from "vue-router/dist/vue-router";
|
|||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
import { reactive, onUnmounted, toRefs, watch } from "vue";
|
import { reactive, onUnmounted, toRefs, watch } from "vue";
|
||||||
import ReturnHead from "@/components/ReturnHead.vue";
|
import ReturnHead from "@/components/ReturnHead.vue";
|
||||||
|
import { changeTime } from "@/api/method";
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const returnclick = () => {
|
const returnclick = () => {
|
||||||
router.back();
|
router.back();
|
||||||
@@ -204,10 +206,19 @@ let timer = null;
|
|||||||
//判断能否签到
|
//判断能否签到
|
||||||
function isSignClick() {
|
function isSignClick() {
|
||||||
// timer = setInterval(() => {
|
// timer = setInterval(() => {
|
||||||
let beginTime = new Date(data.value.activityStartTime).getTime();
|
if (
|
||||||
|
data &&
|
||||||
|
data.value &&
|
||||||
|
data.value.activityStartTime &&
|
||||||
|
data.value.activityEndTime
|
||||||
|
) {
|
||||||
|
let newStartTime = changeTime(data.value.activityStartTime);
|
||||||
|
let newEndTime = changeTime(data.value.activityEndTime);
|
||||||
|
console.log("newStartTime", newStartTime, newEndTime);
|
||||||
|
let beginTime = new Date(newStartTime).getTime();
|
||||||
let endTime = !data.value.afterSignIn
|
let endTime = !data.value.afterSignIn
|
||||||
? new Date(data.value.activityEndTime).getTime()
|
? new Date(newEndTime).getTime()
|
||||||
: new Date(data.value.activityStartTime).getTime();
|
: new Date(newStartTime).getTime();
|
||||||
let nowTime = new Date().getTime();
|
let nowTime = new Date().getTime();
|
||||||
if (
|
if (
|
||||||
data.value.beforeSignIn &&
|
data.value.beforeSignIn &&
|
||||||
@@ -247,6 +258,8 @@ function isSignClick() {
|
|||||||
} else {
|
} else {
|
||||||
state.isAllowSign = false;
|
state.isAllowSign = false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// console.log(
|
// console.log(
|
||||||
// "isAllowSign",
|
// "isAllowSign",
|
||||||
// state.isAllowSign,
|
// state.isAllowSign,
|
||||||
|
|||||||
@@ -150,9 +150,9 @@
|
|||||||
:style="{
|
:style="{
|
||||||
background:
|
background:
|
||||||
new Date().getTime() >
|
new Date().getTime() >
|
||||||
new Date(data.voteEndTime).getTime() ||
|
new Date(changeTime(data?.voteEndTime)).getTime() ||
|
||||||
new Date().getTime() <
|
new Date().getTime() <
|
||||||
new Date(data.voteStartTime).getTime()
|
new Date(changeTime(data?.voteStartTime)).getTime()
|
||||||
? '#ccc'
|
? '#ccc'
|
||||||
: data.isSubmit
|
: data.isSubmit
|
||||||
? '#ccc'
|
? '#ccc'
|
||||||
@@ -186,6 +186,7 @@ import dayjs from "dayjs";
|
|||||||
import store from "@/store";
|
import store from "@/store";
|
||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
import { useRoute, useRouter } from "vue-router/dist/vue-router";
|
import { useRoute, useRouter } from "vue-router/dist/vue-router";
|
||||||
|
import { changeTime } from "@/api/method";
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const {
|
const {
|
||||||
query: { courseId, chapterOrStageId, infoId, id, btype, type },
|
query: { courseId, chapterOrStageId, infoId, id, btype, type },
|
||||||
@@ -217,19 +218,16 @@ console.log("投票基本信息", data);
|
|||||||
let hour = ref(0);
|
let hour = ref(0);
|
||||||
let minute = ref(0);
|
let minute = ref(0);
|
||||||
let seconds = ref(0);
|
let seconds = ref(0);
|
||||||
let timer = setInterval(() => {
|
let timer = setInterval(function () {
|
||||||
if (data && data.value && data.value.voteEndTime) {
|
if (data && data.value && data.value.voteEndTime) {
|
||||||
let endTime = parseInt(new Date(data.value.voteEndTime).getTime() / 1000);
|
let newEndTime = changeTime(data.value.voteEndTime);
|
||||||
|
let endTime = parseInt(new Date(newEndTime).getTime() / 1000);
|
||||||
let nowTime = parseInt(new Date().getTime() / 1000);
|
let nowTime = parseInt(new Date().getTime() / 1000);
|
||||||
if (endTime > nowTime) {
|
if (endTime > nowTime) {
|
||||||
hour.value = parseInt(
|
hour.value = parseInt(dayjs(newEndTime).diff(dayjs(), "minute") / 60);
|
||||||
dayjs(data.value.voteEndTime).diff(dayjs(), "minute") / 60
|
minute.value = parseInt(dayjs(newEndTime).diff(dayjs(), "minute") % 60);
|
||||||
);
|
|
||||||
minute.value = parseInt(
|
|
||||||
dayjs(data.value.voteEndTime).diff(dayjs(), "minute") % 60
|
|
||||||
);
|
|
||||||
seconds.value = parseInt(
|
seconds.value = parseInt(
|
||||||
dayjs(data.value.voteEndTime).diff(dayjs(), "seconds") -
|
dayjs(newEndTime).diff(dayjs(), "seconds") -
|
||||||
(hour.value * 60 + minute.value) * 60
|
(hour.value * 60 + minute.value) * 60
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
@@ -254,8 +252,8 @@ const choiceQuestion = (item, value) => {
|
|||||||
const submitVote = () => {
|
const submitVote = () => {
|
||||||
console.log("投票详情", data.value);
|
console.log("投票详情", data.value);
|
||||||
let nowTime = new Date().getTime();
|
let nowTime = new Date().getTime();
|
||||||
let maxTime = new Date(data.value.voteEndTime).getTime();
|
let maxTime = new Date(changeTime(data.value.voteEndTime)).getTime();
|
||||||
let minTime = new Date(data.value.voteStartTime).getTime();
|
let minTime = new Date(changeTime(data.value.voteStartTime)).getTime();
|
||||||
console.log(nowTime, maxTime, minTime);
|
console.log(nowTime, maxTime, minTime);
|
||||||
// 当未到开始时间
|
// 当未到开始时间
|
||||||
if (nowTime < minTime || nowTime > maxTime) {
|
if (nowTime < minTime || nowTime > maxTime) {
|
||||||
|
|||||||
@@ -117,7 +117,7 @@
|
|||||||
style="position: relative"
|
style="position: relative"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="v.url"
|
:src="fielPath + v.url"
|
||||||
style="width: 66px; height: 66px; margin-left: 5px"
|
style="width: 66px; height: 66px; margin-left: 5px"
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
@@ -141,7 +141,14 @@
|
|||||||
<div class="rescon clearfix">
|
<div class="rescon clearfix">
|
||||||
<div class="head">
|
<div class="head">
|
||||||
<div>
|
<div>
|
||||||
<img class="headavator" :src="item.studentAvatar" />
|
<img
|
||||||
|
class="headavator"
|
||||||
|
:src="
|
||||||
|
item.studentAvatar.includes('upload')
|
||||||
|
? item.studentAvatar
|
||||||
|
: fielPath + item.studentAvatar
|
||||||
|
"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="namehead">
|
<div class="namehead">
|
||||||
{{ item.createName }}
|
{{ item.createName }}
|
||||||
@@ -161,7 +168,7 @@
|
|||||||
<img
|
<img
|
||||||
class="image"
|
class="image"
|
||||||
style="width: 55px; height: 55px; border-radius: 4px"
|
style="width: 55px; height: 55px; border-radius: 4px"
|
||||||
:src="rowimg"
|
:src="fielPath + rowimg"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -203,7 +210,14 @@
|
|||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<div class="ava">
|
<div class="ava">
|
||||||
<img class="avainner" :src="itemc.studentAvatar" />
|
<img
|
||||||
|
class="avainner"
|
||||||
|
:src="
|
||||||
|
itemc.studentAvatar.includes('upload')
|
||||||
|
? itemc.studentAvatar
|
||||||
|
: fielPath + itemc.studentAvatar
|
||||||
|
"
|
||||||
|
/>
|
||||||
<div class="rename">{{ itemc.studentName }}</div>
|
<div class="rename">{{ itemc.studentName }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="redetail">
|
<div class="redetail">
|
||||||
@@ -220,7 +234,7 @@
|
|||||||
<img
|
<img
|
||||||
class="image"
|
class="image"
|
||||||
style="width: 55px; height: 55px; border-radius: 4px"
|
style="width: 55px; height: 55px; border-radius: 4px"
|
||||||
:src="rowimg"
|
:src="fielPath + rowimg"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -354,6 +368,7 @@ const newrestore = ref([
|
|||||||
head: px,
|
head: px,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
const fielPath = ref(import.meta.env.VITE_FILE_PATH);
|
||||||
const disDetail = ref({});
|
const disDetail = ref({});
|
||||||
const commontList = ref([]);
|
const commontList = ref([]);
|
||||||
const spreadReply = ref(-1);
|
const spreadReply = ref(-1);
|
||||||
|
|||||||
@@ -168,6 +168,9 @@ onBeforeUnmount(() => {
|
|||||||
// 发表帖子发布操作
|
// 发表帖子发布操作
|
||||||
const postAdd = () => {
|
const postAdd = () => {
|
||||||
console.log("用户信息", userInfo.value);
|
console.log("用户信息", userInfo.value);
|
||||||
|
if (titleName.value == "") {
|
||||||
|
return ElMessage.warning("评论标题为空");
|
||||||
|
}
|
||||||
let obj = {
|
let obj = {
|
||||||
collectionNum: 0,
|
collectionNum: 0,
|
||||||
commentNum: 0,
|
commentNum: 0,
|
||||||
|
|||||||
@@ -83,6 +83,7 @@ import { useUserInfo } from "@/api/utils";
|
|||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import store from "@/store";
|
import store from "@/store";
|
||||||
|
import { changeTime } from "@/api/method";
|
||||||
const {
|
const {
|
||||||
query: {
|
query: {
|
||||||
courseId: evaluationId,
|
courseId: evaluationId,
|
||||||
@@ -115,21 +116,16 @@ const userInfo = computed(() => store.state.userInfo);
|
|||||||
let hour = ref(0);
|
let hour = ref(0);
|
||||||
let minute = ref(0);
|
let minute = ref(0);
|
||||||
let seconds = ref(0);
|
let seconds = ref(0);
|
||||||
let timer = setInterval(() => {
|
let timer = setInterval(function () {
|
||||||
if (data && data.value && data.value.evaluationEndTime) {
|
if (data && data.value && data.value.evaluationEndTime) {
|
||||||
let endTime = parseInt(
|
let newEndTime = changeTime(data.value.evaluationEndTime);
|
||||||
new Date(data.value.evaluationEndTime).getTime() / 1000
|
let endTime = parseInt(new Date(newEndTime).getTime() / 1000);
|
||||||
);
|
|
||||||
let nowTime = parseInt(new Date().getTime() / 1000);
|
let nowTime = parseInt(new Date().getTime() / 1000);
|
||||||
if (endTime > nowTime) {
|
if (endTime > nowTime) {
|
||||||
hour.value = parseInt(
|
hour.value = parseInt(dayjs(newEndTime).diff(dayjs(), "minute") / 60);
|
||||||
dayjs(data.value.evaluationEndTime).diff(dayjs(), "minute") / 60
|
minute.value = parseInt(dayjs(newEndTime).diff(dayjs(), "minute") % 60);
|
||||||
);
|
|
||||||
minute.value = parseInt(
|
|
||||||
dayjs(data.value.evaluationEndTime).diff(dayjs(), "minute") % 60
|
|
||||||
);
|
|
||||||
seconds.value = parseInt(
|
seconds.value = parseInt(
|
||||||
dayjs(data.value.evaluationEndTime).diff(dayjs(), "seconds") -
|
dayjs(newEndTime).diff(dayjs(), "seconds") -
|
||||||
(hour.value * 60 + minute.value) * 60
|
(hour.value * 60 + minute.value) * 60
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -35,7 +35,8 @@
|
|||||||
<div
|
<div
|
||||||
v-if="
|
v-if="
|
||||||
projectStatus !== '3' &&
|
projectStatus !== '3' &&
|
||||||
new Date(projectEndTime).getTime() > new Date().getTime()
|
new Date(changeTime(projectEndTime)).getTime() >
|
||||||
|
new Date().getTime()
|
||||||
"
|
"
|
||||||
style="display: flex"
|
style="display: flex"
|
||||||
>
|
>
|
||||||
@@ -59,7 +60,7 @@
|
|||||||
v-if="data.planDto?.evalFlag !== 0"
|
v-if="data.planDto?.evalFlag !== 0"
|
||||||
:style="{
|
:style="{
|
||||||
background: `${
|
background: `${
|
||||||
new Date(data.planDto?.beginTime).getTime() >
|
new Date(changeTime(data.planDto?.beginTime)).getTime() >
|
||||||
new Date().getTime()
|
new Date().getTime()
|
||||||
? '#999'
|
? '#999'
|
||||||
: data.isSurvery
|
: data.isSurvery
|
||||||
@@ -95,7 +96,7 @@
|
|||||||
v-if="data.planDto?.evalFlag !== 0"
|
v-if="data.planDto?.evalFlag !== 0"
|
||||||
:style="{
|
:style="{
|
||||||
background: `${
|
background: `${
|
||||||
new Date(data.planDto?.beginTime).getTime() >
|
new Date(changeTime(data.planDto?.beginTime)).getTime() >
|
||||||
new Date().getTime()
|
new Date().getTime()
|
||||||
? '#999'
|
? '#999'
|
||||||
: data.isSurvery
|
: data.isSurvery
|
||||||
@@ -140,7 +141,14 @@
|
|||||||
<div class="box" style="width: 80px; right: 0px"></div>
|
<div class="box" style="width: 80px; right: 0px"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="teachermain">
|
<div class="teachermain">
|
||||||
<img class="teacherAvatar" :src="teacherInfo.avatar" />
|
<img
|
||||||
|
class="teacherAvatar"
|
||||||
|
:src="
|
||||||
|
teacherInfo?.avatar?.includes('upload')
|
||||||
|
? teacherInfo?.avatar
|
||||||
|
: fielPath + teacherInfo?.avatar
|
||||||
|
"
|
||||||
|
/>
|
||||||
<div style="flex: 1; margin-left: 11px; margin-right: 13px">
|
<div style="flex: 1; margin-left: 11px; margin-right: 13px">
|
||||||
<div class="teacherName">{{ data.planDto?.teacher }}</div>
|
<div class="teacherName">{{ data.planDto?.teacher }}</div>
|
||||||
<div class="teacherIntro">
|
<div class="teacherIntro">
|
||||||
@@ -221,8 +229,9 @@
|
|||||||
<div>
|
<div>
|
||||||
<div
|
<div
|
||||||
v-if="
|
v-if="
|
||||||
new Date(data.planDto.beginTime).getTime() >
|
new Date(
|
||||||
new Date().getTime()
|
changeTime(data.planDto?.beginTime)
|
||||||
|
).getTime() > new Date().getTime()
|
||||||
"
|
"
|
||||||
class="download"
|
class="download"
|
||||||
>
|
>
|
||||||
@@ -281,8 +290,9 @@
|
|||||||
<div
|
<div
|
||||||
:style="{
|
:style="{
|
||||||
background:
|
background:
|
||||||
new Date(data.planDto?.beginTime).getTime() >
|
new Date(
|
||||||
new Date().getTime()
|
changeTime(data.planDto?.beginTime)
|
||||||
|
).getTime() > new Date().getTime()
|
||||||
? '#999'
|
? '#999'
|
||||||
: '',
|
: '',
|
||||||
}"
|
}"
|
||||||
@@ -343,8 +353,9 @@
|
|||||||
<div
|
<div
|
||||||
:style="{
|
:style="{
|
||||||
background:
|
background:
|
||||||
new Date(data.planDto?.beginTime).getTime() >
|
new Date(
|
||||||
new Date().getTime()
|
changeTime(data.planDto?.beginTime)
|
||||||
|
).getTime() > new Date().getTime()
|
||||||
? '#999'
|
? '#999'
|
||||||
: '',
|
: '',
|
||||||
}"
|
}"
|
||||||
@@ -380,7 +391,7 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import TitleHead from "@/components/TitleHead.vue";
|
import TitleHead from "@/components/TitleHead.vue";
|
||||||
import ReturnHead from "@/components/ReturnHead.vue";
|
import ReturnHead from "@/components/ReturnHead.vue";
|
||||||
import { computed, reactive, toRefs, watch, onUnmounted } from "vue";
|
import { computed, reactive, toRefs, watch, onUnmounted, ref } from "vue";
|
||||||
import FileTypeImg from "@/components/FileTypeImg.vue";
|
import FileTypeImg from "@/components/FileTypeImg.vue";
|
||||||
import { request, useRequest } from "@/api/request";
|
import { request, useRequest } from "@/api/request";
|
||||||
import {
|
import {
|
||||||
@@ -393,6 +404,8 @@ import { useRoute, useRouter } from "vue-router";
|
|||||||
import { useUserInfo } from "@/api/utils";
|
import { useUserInfo } from "@/api/utils";
|
||||||
import { ElMessage, messageConfig } from "element-plus";
|
import { ElMessage, messageConfig } from "element-plus";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
|
import { changeTime } from "@/api/method";
|
||||||
|
const fielPath = ref(import.meta.env.VITE_FILE_PATH);
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const returnclick = () => {
|
const returnclick = () => {
|
||||||
router.back();
|
router.back();
|
||||||
@@ -451,10 +464,18 @@ let timer = null;
|
|||||||
//判断能否签到
|
//判断能否签到
|
||||||
function isSignClick() {
|
function isSignClick() {
|
||||||
// timer = setInterval(() => {
|
// timer = setInterval(() => {
|
||||||
let beginTime = new Date(data.value.planDto?.beginTime).getTime();
|
if (
|
||||||
|
data &&
|
||||||
|
data.value &&
|
||||||
|
data.value.planDto?.beginTime &&
|
||||||
|
data.value.planDto?.afterStart
|
||||||
|
) {
|
||||||
|
let newStartTime = changeTime(data.value.planDto?.beginTime);
|
||||||
|
let newEndTime = data.value.planDto?.endTime.replaceAll("-", "/");
|
||||||
|
let beginTime = new Date(newStartTime).getTime();
|
||||||
let endTime = !data.value.planDto?.afterStart
|
let endTime = !data.value.planDto?.afterStart
|
||||||
? new Date(data.value.planDto?.endTime).getTime()
|
? new Date(newEndTime).getTime()
|
||||||
: new Date(data.value.planDto?.beginTime).getTime();
|
: new Date(newStartTime).getTime();
|
||||||
let nowTime = new Date().getTime();
|
let nowTime = new Date().getTime();
|
||||||
if (data.value.planDto?.beforeStart && data.value.planDto?.afterStart) {
|
if (data.value.planDto?.beforeStart && data.value.planDto?.afterStart) {
|
||||||
//有开始前有开始后
|
//有开始前有开始后
|
||||||
@@ -481,6 +502,8 @@ function isSignClick() {
|
|||||||
} else {
|
} else {
|
||||||
state.isAllowSign = false;
|
state.isAllowSign = false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// console.log(
|
// console.log(
|
||||||
// "isAllowSign",
|
// "isAllowSign",
|
||||||
// state.isAllowSign,
|
// state.isAllowSign,
|
||||||
@@ -562,7 +585,7 @@ function toSurvery() {
|
|||||||
|
|
||||||
function toWork() {
|
function toWork() {
|
||||||
if (data.value.planDto.beginTime) {
|
if (data.value.planDto.beginTime) {
|
||||||
let date1 = new Date(data.value.planDto.beginTime).getTime();
|
let date1 = new Date(changeTime(data.value.planDto.beginTime)).getTime();
|
||||||
let date2 = new Date().getTime();
|
let date2 = new Date().getTime();
|
||||||
if (date1 > date2) {
|
if (date1 > date2) {
|
||||||
ElMessage.warning("未到开始时间,请耐心等待!");
|
ElMessage.warning("未到开始时间,请耐心等待!");
|
||||||
@@ -585,7 +608,7 @@ function toWork() {
|
|||||||
|
|
||||||
function toExamItem(obj) {
|
function toExamItem(obj) {
|
||||||
if (data.value.planDto.beginTime) {
|
if (data.value.planDto.beginTime) {
|
||||||
let date1 = new Date(data.value.planDto.beginTime).getTime();
|
let date1 = new Date(changeTime(data.value.planDto.beginTime)).getTime();
|
||||||
let date2 = new Date().getTime();
|
let date2 = new Date().getTime();
|
||||||
if (date1 > date2) {
|
if (date1 > date2) {
|
||||||
ElMessage.warning("未到开始时间,请耐心等待!");
|
ElMessage.warning("未到开始时间,请耐心等待!");
|
||||||
|
|||||||
@@ -50,7 +50,14 @@
|
|||||||
<div class="box" style="width: 80px; right: 0px"></div>
|
<div class="box" style="width: 80px; right: 0px"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="teachermain">
|
<div class="teachermain">
|
||||||
<img class="teacherAvatar" :src="teacherInfo.avatar" />
|
<img
|
||||||
|
class="teacherAvatar"
|
||||||
|
:src="
|
||||||
|
teacherInfo?.avatar?.includes('upload')
|
||||||
|
? teacherInfo?.avatar
|
||||||
|
: fielPath + teacherInfo?.avatar
|
||||||
|
"
|
||||||
|
/>
|
||||||
<div style="flex: 1; margin-left: 11px; margin-right: 13px">
|
<div style="flex: 1; margin-left: 11px; margin-right: 13px">
|
||||||
<div class="teacherName">{{ data.planDto?.teacher }}</div>
|
<div class="teacherName">{{ data.planDto?.teacher }}</div>
|
||||||
<div class="teacherIntro">
|
<div class="teacherIntro">
|
||||||
@@ -165,6 +172,7 @@ import { ElMessage, messageConfig, ElLoading } from "element-plus";
|
|||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import UploadPostImg from "@/components/img/UploadPostImg.vue";
|
import UploadPostImg from "@/components/img/UploadPostImg.vue";
|
||||||
import CommentReply from "@/components/CommentReply.vue";
|
import CommentReply from "@/components/CommentReply.vue";
|
||||||
|
const fielPath = ref(import.meta.env.VITE_FILE_PATH);
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const returnclick = () => {
|
const returnclick = () => {
|
||||||
router.back();
|
router.back();
|
||||||
|
|||||||
@@ -55,7 +55,14 @@
|
|||||||
<div class="box" style="width: 80px; right: 0px"></div>
|
<div class="box" style="width: 80px; right: 0px"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="teachermain">
|
<div class="teachermain">
|
||||||
<img class="teacherAvatar" :src="teacherInfo.avatar" />
|
<img
|
||||||
|
class="teacherAvatar"
|
||||||
|
:src="
|
||||||
|
teacherInfo?.avatar?.includes('upload')
|
||||||
|
? teacherInfo?.avatar
|
||||||
|
: fielPath + teacherInfo?.avatar
|
||||||
|
"
|
||||||
|
/>
|
||||||
<div style="flex: 1; margin-left: 11px; margin-right: 13px">
|
<div style="flex: 1; margin-left: 11px; margin-right: 13px">
|
||||||
<div class="teacherName">{{ data.planDto?.teacher }}</div>
|
<div class="teacherName">{{ data.planDto?.teacher }}</div>
|
||||||
<div class="teacherIntro">
|
<div class="teacherIntro">
|
||||||
@@ -161,6 +168,7 @@ import { useRoute, useRouter } from "vue-router";
|
|||||||
import { useUserInfo } from "@/api/utils";
|
import { useUserInfo } from "@/api/utils";
|
||||||
import { ElMessage, messageConfig, ElLoading } from "element-plus";
|
import { ElMessage, messageConfig, ElLoading } from "element-plus";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
|
const fielPath = ref(import.meta.env.VITE_FILE_PATH);
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const returnclick = () => {
|
const returnclick = () => {
|
||||||
router.back();
|
router.back();
|
||||||
|
|||||||
@@ -82,7 +82,14 @@
|
|||||||
<div class="box" style="width: 80px; right: 0px"></div>
|
<div class="box" style="width: 80px; right: 0px"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="teachermain">
|
<div class="teachermain">
|
||||||
<img class="teacherAvatar" :src="teacherInfo.avatar" />
|
<img
|
||||||
|
class="teacherAvatar"
|
||||||
|
:src="
|
||||||
|
teacherInfo?.avatar?.includes('upload')
|
||||||
|
? teacherInfo?.avatar
|
||||||
|
: fielPath + teacherInfo?.avatar
|
||||||
|
"
|
||||||
|
/>
|
||||||
<div style="flex: 1; margin-left: 11px; margin-right: 13px">
|
<div style="flex: 1; margin-left: 11px; margin-right: 13px">
|
||||||
<div class="teacherName">{{ data.planDto?.teacher }}</div>
|
<div class="teacherName">{{ data.planDto?.teacher }}</div>
|
||||||
<div class="teacherIntro">
|
<div class="teacherIntro">
|
||||||
@@ -200,6 +207,8 @@ import { useUserInfo } from "@/api/utils";
|
|||||||
import { ElMessage, messageConfig, ElLoading } from "element-plus";
|
import { ElMessage, messageConfig, ElLoading } from "element-plus";
|
||||||
import CommentReply from "@/components/CommentReply.vue";
|
import CommentReply from "@/components/CommentReply.vue";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
|
import { changeTime } from "@/api/method";
|
||||||
|
const fielPath = ref(import.meta.env.VITE_FILE_PATH);
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const returnclick = () => {
|
const returnclick = () => {
|
||||||
router.back();
|
router.back();
|
||||||
@@ -246,7 +255,7 @@ const download = (url) => {
|
|||||||
|
|
||||||
//判断能否报名 (TODO-大于面授课截止时间就不能报名了,其余均可以)
|
//判断能否报名 (TODO-大于面授课截止时间就不能报名了,其余均可以)
|
||||||
function isSignClick() {
|
function isSignClick() {
|
||||||
let endTime = new Date(data.value.planDto?.endTime).getTime();
|
let endTime = new Date(changeTime(data.value.planDto?.endTime)).getTime();
|
||||||
let nowTime = new Date().getTime();
|
let nowTime = new Date().getTime();
|
||||||
if (nowTime < endTime) {
|
if (nowTime < endTime) {
|
||||||
state.isAllowSign = true;
|
state.isAllowSign = true;
|
||||||
|
|||||||
@@ -188,7 +188,8 @@
|
|||||||
<div
|
<div
|
||||||
v-if="
|
v-if="
|
||||||
projectStatus !== '3' &&
|
projectStatus !== '3' &&
|
||||||
new Date(projectEndTime).getTime() > new Date().getTime()
|
new Date(changeTime(projectEndTime)).getTime() >
|
||||||
|
new Date().getTime()
|
||||||
"
|
"
|
||||||
class="submit"
|
class="submit"
|
||||||
@click="submit"
|
@click="submit"
|
||||||
@@ -226,6 +227,7 @@ import { ASSESSMENT_QUERY, ASSESSMENT_SUBMIT } from "@/api/api";
|
|||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
import ReturnHead from "@/components/ReturnHead.vue";
|
import ReturnHead from "@/components/ReturnHead.vue";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
|
import { changeTime } from "@/api/method";
|
||||||
const fielPath = ref(import.meta.env.VITE_FILE_PATH);
|
const fielPath = ref(import.meta.env.VITE_FILE_PATH);
|
||||||
const {
|
const {
|
||||||
query: {
|
query: {
|
||||||
|
|||||||
@@ -34,7 +34,8 @@
|
|||||||
<div
|
<div
|
||||||
v-if="
|
v-if="
|
||||||
projectStatus !== '3' &&
|
projectStatus !== '3' &&
|
||||||
new Date(projectEndTime).getTime() > new Date().getTime()
|
new Date(changeTime(projectEndTime)).getTime() >
|
||||||
|
new Date().getTime()
|
||||||
"
|
"
|
||||||
class="allbtn"
|
class="allbtn"
|
||||||
>
|
>
|
||||||
@@ -42,7 +43,7 @@
|
|||||||
class="samebtn btno"
|
class="samebtn btno"
|
||||||
:style="{
|
:style="{
|
||||||
background: `${
|
background: `${
|
||||||
new Date(data.liveStartTime).getTime() >
|
new Date(changeTime(data.liveStartTime)).getTime() >
|
||||||
new Date().getTime()
|
new Date().getTime()
|
||||||
? '#999'
|
? '#999'
|
||||||
: 'rgb(59, 191, 252)'
|
: 'rgb(59, 191, 252)'
|
||||||
@@ -70,7 +71,7 @@
|
|||||||
<botton
|
<botton
|
||||||
:style="{
|
:style="{
|
||||||
background: `${
|
background: `${
|
||||||
new Date(data.liveStartTime).getTime() >
|
new Date(changeTime(data.liveStartTime)).getTime() >
|
||||||
new Date().getTime()
|
new Date().getTime()
|
||||||
? '#999'
|
? '#999'
|
||||||
: data.isSurvery
|
: data.isSurvery
|
||||||
@@ -88,7 +89,7 @@
|
|||||||
<botton
|
<botton
|
||||||
:style="{
|
:style="{
|
||||||
background: `${
|
background: `${
|
||||||
new Date(data.liveStartTime).getTime() >
|
new Date(changeTime(data.liveStartTime)).getTime() >
|
||||||
new Date().getTime()
|
new Date().getTime()
|
||||||
? '#999'
|
? '#999'
|
||||||
: data.isSurvery
|
: data.isSurvery
|
||||||
@@ -109,7 +110,7 @@
|
|||||||
class="samebtn btno"
|
class="samebtn btno"
|
||||||
:style="{
|
:style="{
|
||||||
background: `${
|
background: `${
|
||||||
new Date(data.liveStartTime).getTime() >
|
new Date(changeTime(data.liveStartTime)).getTime() >
|
||||||
new Date().getTime()
|
new Date().getTime()
|
||||||
? '#999'
|
? '#999'
|
||||||
: 'rgb(59, 191, 252)'
|
: 'rgb(59, 191, 252)'
|
||||||
@@ -137,7 +138,7 @@
|
|||||||
<botton
|
<botton
|
||||||
:style="{
|
:style="{
|
||||||
background: `${
|
background: `${
|
||||||
new Date(data.liveStartTime).getTime() >
|
new Date(changeTime(data.liveStartTime)).getTime() >
|
||||||
new Date().getTime()
|
new Date().getTime()
|
||||||
? '#999'
|
? '#999'
|
||||||
: data.isSurvery
|
: data.isSurvery
|
||||||
@@ -205,7 +206,7 @@ import { useRouter } from "vue-router";
|
|||||||
import { useUserInfo } from "@/api/utils";
|
import { useUserInfo } from "@/api/utils";
|
||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
|
import { changeTime } from "@/api/method";
|
||||||
const {
|
const {
|
||||||
query: {
|
query: {
|
||||||
courseId: liveId,
|
courseId: liveId,
|
||||||
@@ -215,6 +216,7 @@ const {
|
|||||||
sName,
|
sName,
|
||||||
projectStatus,
|
projectStatus,
|
||||||
projectEndTime,
|
projectEndTime,
|
||||||
|
targetId,
|
||||||
},
|
},
|
||||||
} = useRoute();
|
} = useRoute();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
@@ -261,10 +263,18 @@ let timer = null;
|
|||||||
//判断能否签到
|
//判断能否签到
|
||||||
function isSignClick() {
|
function isSignClick() {
|
||||||
// timer = setInterval(() => {
|
// timer = setInterval(() => {
|
||||||
let beginTime = new Date(data.value.liveStartTime).getTime();
|
if (
|
||||||
|
data &&
|
||||||
|
data.value &&
|
||||||
|
data.value.liveStartTime &&
|
||||||
|
data.value.liveEndTime
|
||||||
|
) {
|
||||||
|
let newStartTime = data.value.liveStartTime.replaceAll("-", "/");
|
||||||
|
let newEndTime = data.value.liveEndTime.replaceAll("-", "/");
|
||||||
|
let beginTime = new Date(newStartTime).getTime();
|
||||||
let endTime = !data.value.afterSignIn
|
let endTime = !data.value.afterSignIn
|
||||||
? new Date(data.value.liveEndTime).getTime()
|
? new Date(newEndTime).getTime()
|
||||||
: new Date(data.value.liveStartTime).getTime();
|
: new Date(newStartTime).getTime();
|
||||||
let nowTime = new Date().getTime();
|
let nowTime = new Date().getTime();
|
||||||
if (data.value.beforeSignIn && data.value.afterSignIn) {
|
if (data.value.beforeSignIn && data.value.afterSignIn) {
|
||||||
//有开始前有开始后
|
//有开始前有开始后
|
||||||
@@ -285,6 +295,8 @@ function isSignClick() {
|
|||||||
} else {
|
} else {
|
||||||
state.isAllowSign = false;
|
state.isAllowSign = false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// console.log(
|
// console.log(
|
||||||
// "isAllowSign",
|
// "isAllowSign",
|
||||||
// state.isAllowSign,
|
// state.isAllowSign,
|
||||||
@@ -301,7 +313,8 @@ watch(data, () => {
|
|||||||
});
|
});
|
||||||
const commitClick = () => {
|
const commitClick = () => {
|
||||||
if (data.value.liveStartTime) {
|
if (data.value.liveStartTime) {
|
||||||
let date1 = new Date(data.value.liveStartTime).getTime();
|
let newStartTime = data.value.liveStartTime.replaceAll("-", "/");
|
||||||
|
let date1 = new Date(newStartTime).getTime();
|
||||||
let date2 = new Date().getTime();
|
let date2 = new Date().getTime();
|
||||||
if (date1 > date2) {
|
if (date1 > date2) {
|
||||||
ElMessage.warning("未到时间,请耐心等待!");
|
ElMessage.warning("未到时间,请耐心等待!");
|
||||||
@@ -323,13 +336,14 @@ const commitClick = () => {
|
|||||||
pName: "直播",
|
pName: "直播",
|
||||||
sName: data.value.liveName,
|
sName: data.value.liveName,
|
||||||
type: 4,
|
type: 4,
|
||||||
|
targetId: targetId,
|
||||||
});
|
});
|
||||||
|
|
||||||
router.push({
|
router.push({
|
||||||
path: "/investigatpage",
|
path: "/investigatpage",
|
||||||
query: {
|
query: {
|
||||||
courseId: data.value.assessmentId,
|
courseId: data.value.assessmentId,
|
||||||
infoId: data.value.liveId,
|
infoId: liveId,
|
||||||
chapterOrStageId: 0,
|
chapterOrStageId: 0,
|
||||||
pName: "直播",
|
pName: "直播",
|
||||||
sName: data.value.liveName,
|
sName: data.value.liveName,
|
||||||
@@ -340,7 +354,8 @@ const commitClick = () => {
|
|||||||
|
|
||||||
function showClick() {
|
function showClick() {
|
||||||
if (data.value.liveStartTime) {
|
if (data.value.liveStartTime) {
|
||||||
let date1 = new Date(data.value.liveStartTime).getTime();
|
let newStartTime = data.value.liveStartTime.replaceAll("-", "/");
|
||||||
|
let date1 = new Date(newStartTime).getTime();
|
||||||
let date2 = new Date().getTime();
|
let date2 = new Date().getTime();
|
||||||
if (date1 > date2) {
|
if (date1 > date2) {
|
||||||
ElMessage.warning("未到开始时间,请耐心等待!");
|
ElMessage.warning("未到开始时间,请耐心等待!");
|
||||||
|
|||||||
@@ -182,6 +182,7 @@ import store from "@/store";
|
|||||||
import { ROUTER, TASK_TYPES } from "@/api/CONST";
|
import { ROUTER, TASK_TYPES } from "@/api/CONST";
|
||||||
import ReturnHead from "@/components/ReturnHead.vue";
|
import ReturnHead from "@/components/ReturnHead.vue";
|
||||||
import { useStore } from "vuex";
|
import { useStore } from "vuex";
|
||||||
|
import { changeTime } from "@/api/method";
|
||||||
const {
|
const {
|
||||||
query: { routerId, routerName, chapterId, isStudy },
|
query: { routerId, routerName, chapterId, isStudy },
|
||||||
} = useRoute();
|
} = useRoute();
|
||||||
@@ -275,10 +276,10 @@ const types = ref({
|
|||||||
// 判断当前任务已结束及时间意义上的结束 提示用户
|
// 判断当前任务已结束及时间意义上的结束 提示用户
|
||||||
function judgeTaskIsEnd(type, endTimes, status) {
|
function judgeTaskIsEnd(type, endTimes, status) {
|
||||||
// type 任务类型 endTime 结束时间 status 任务状态 (状态 0 未完成 1 已完成 2 未开始 -1 已结束)
|
// type 任务类型 endTime 结束时间 status 任务状态 (状态 0 未完成 1 已完成 2 未开始 -1 已结束)
|
||||||
console.log(type, endTimes, status);
|
console.log("judgeTaskIsEnd", type, endTimes, status);
|
||||||
let isEnd = false;
|
let isEnd = false;
|
||||||
let nowTime = new Date().getTime();
|
let nowTime = new Date().getTime();
|
||||||
let endTime = new Date().getTime(endTimes);
|
let endTime = new Date().getTime(changeTime(endTimes));
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 1:
|
case 1:
|
||||||
status == -1
|
status == -1
|
||||||
@@ -344,7 +345,7 @@ function toFinish(d) {
|
|||||||
ElMessage.warning("该任务无法学习,请联系管理员进行替换!");
|
ElMessage.warning("该任务无法学习,请联系管理员进行替换!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let date1 = new Date(d.endTime).getTime();
|
let date1 = new Date(changeTime(d.endTime)).getTime();
|
||||||
let date2 = new Date().getTime();
|
let date2 = new Date().getTime();
|
||||||
if (date1 < date2) {
|
if (date1 < date2) {
|
||||||
ElMessage.warning("当前面授课已结束");
|
ElMessage.warning("当前面授课已结束");
|
||||||
@@ -357,7 +358,7 @@ function toFinish(d) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (d.type == 4) {
|
if (d.type == 4) {
|
||||||
let date1 = new Date(d.endTime).getTime();
|
let date1 = new Date(changeTime(d.endTime)).getTime();
|
||||||
let date2 = new Date().getTime();
|
let date2 = new Date().getTime();
|
||||||
if (date1 < date2) {
|
if (date1 < date2) {
|
||||||
ElMessage.warning("当前作业已结束");
|
ElMessage.warning("当前作业已结束");
|
||||||
@@ -398,7 +399,7 @@ function toFinish(d) {
|
|||||||
}
|
}
|
||||||
// 直播结束时间
|
// 直播结束时间
|
||||||
if (d.type == 6) {
|
if (d.type == 6) {
|
||||||
let date1 = new Date(d.endTime).getTime();
|
let date1 = new Date(changeTime(d.endTime)).getTime();
|
||||||
let date2 = new Date().getTime();
|
let date2 = new Date().getTime();
|
||||||
if (date1 < date2) {
|
if (date1 < date2) {
|
||||||
ElMessage.warning("当前直播已结束");
|
ElMessage.warning("当前直播已结束");
|
||||||
@@ -407,7 +408,7 @@ function toFinish(d) {
|
|||||||
}
|
}
|
||||||
// 其他活动 结束时间
|
// 其他活动 结束时间
|
||||||
if (d.type == 9) {
|
if (d.type == 9) {
|
||||||
let date1 = new Date(d.endTime).getTime();
|
let date1 = new Date(changeTime(d.endTime)).getTime();
|
||||||
let date2 = new Date().getTime();
|
let date2 = new Date().getTime();
|
||||||
if (date1 < date2) {
|
if (date1 < date2) {
|
||||||
ElMessage.warning("当前活动已结束");
|
ElMessage.warning("当前活动已结束");
|
||||||
|
|||||||
@@ -221,6 +221,7 @@ import ReturnHead from "@/components/ReturnHead.vue";
|
|||||||
import { PROJECT, TASK_TYPES } from "@/api/CONST";
|
import { PROJECT, TASK_TYPES } from "@/api/CONST";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import { useStore } from "vuex";
|
import { useStore } from "vuex";
|
||||||
|
import { changeTime } from "@/api/method";
|
||||||
const {
|
const {
|
||||||
query: { courseId, projectId, type },
|
query: { courseId, projectId, type },
|
||||||
} = useRoute();
|
} = useRoute();
|
||||||
@@ -368,10 +369,11 @@ const dialogVisibleTip = ref("该任务无法学习,请联系管理员进行
|
|||||||
// 判断当前任务已结束及时间意义上的结束 提示用户
|
// 判断当前任务已结束及时间意义上的结束 提示用户
|
||||||
function judgeTaskIsEnd(type, endTimes, status) {
|
function judgeTaskIsEnd(type, endTimes, status) {
|
||||||
// type 任务类型 endTime 结束时间 status 任务状态 (状态 0 未完成 1 已完成 2 未开始 3 已结束)
|
// type 任务类型 endTime 结束时间 status 任务状态 (状态 0 未完成 1 已完成 2 未开始 3 已结束)
|
||||||
console.log(type, endTimes, status);
|
console.log("judgeTaskIsEnd", type, endTimes, status);
|
||||||
let isEnd = false;
|
let isEnd = false;
|
||||||
let nowTime = new Date().getTime();
|
let nowTime = new Date().getTime();
|
||||||
let endTime = new Date().getTime(endTimes);
|
let endTime = new Date().getTime(changeTime(endTimes));
|
||||||
|
console.log("endTime---------", endTime);
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 1:
|
case 1:
|
||||||
status == -1
|
status == -1
|
||||||
@@ -424,7 +426,7 @@ function toFinish(d, sName, chapterOrStageId) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (d.type == 2) {
|
if (d.type == 2) {
|
||||||
let date1 = new Date(d.endTime).getTime();
|
let date1 = new Date(changeTime(d.endTime)).getTime();
|
||||||
let date2 = new Date().getTime();
|
let date2 = new Date().getTime();
|
||||||
if (date1 < date2) {
|
if (date1 < date2) {
|
||||||
ElMessage.warning("当前面授课已结束");
|
ElMessage.warning("当前面授课已结束");
|
||||||
@@ -434,7 +436,7 @@ function toFinish(d, sName, chapterOrStageId) {
|
|||||||
}
|
}
|
||||||
// 作业过期判断
|
// 作业过期判断
|
||||||
if (d.type == 4) {
|
if (d.type == 4) {
|
||||||
let date1 = new Date(d.endTime).getTime();
|
let date1 = new Date(changeTime(d.endTime)).getTime();
|
||||||
let date2 = new Date().getTime();
|
let date2 = new Date().getTime();
|
||||||
if (date1 < date2) {
|
if (date1 < date2) {
|
||||||
ElMessage.warning("当前作业已结束");
|
ElMessage.warning("当前作业已结束");
|
||||||
@@ -443,7 +445,7 @@ function toFinish(d, sName, chapterOrStageId) {
|
|||||||
}
|
}
|
||||||
// 直播结束时间
|
// 直播结束时间
|
||||||
if (d.type == 6) {
|
if (d.type == 6) {
|
||||||
let date1 = new Date(d.endTime).getTime();
|
let date1 = new Date(changeTime(d.endTime)).getTime();
|
||||||
let date2 = new Date().getTime();
|
let date2 = new Date().getTime();
|
||||||
if (date1 < date2) {
|
if (date1 < date2) {
|
||||||
ElMessage.warning("当前直播已结束");
|
ElMessage.warning("当前直播已结束");
|
||||||
@@ -492,7 +494,7 @@ function toFinish(d, sName, chapterOrStageId) {
|
|||||||
}
|
}
|
||||||
// 其他活动 结束时间
|
// 其他活动 结束时间
|
||||||
if (d.type == 9) {
|
if (d.type == 9) {
|
||||||
let date1 = new Date(d.endTime).getTime();
|
let date1 = new Date(changeTime(d.endTime)).getTime();
|
||||||
let date2 = new Date().getTime();
|
let date2 = new Date().getTime();
|
||||||
if (date1 < date2) {
|
if (date1 < date2) {
|
||||||
ElMessage.warning("当前活动已结束");
|
ElMessage.warning("当前活动已结束");
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* @Author: lixg lixg@dongwu-inc.com
|
* @Author: lixg lixg@dongwu-inc.com
|
||||||
* @Date: 2023-01-13 11:42:48
|
* @Date: 2023-01-13 11:42:48
|
||||||
* @LastEditors: lixg lixg@dongwu-inc.com
|
* @LastEditors: lixg lixg@dongwu-inc.com
|
||||||
* @LastEditTime: 2023-03-09 22:52:56
|
* @LastEditTime: 2023-03-10 11:42:51
|
||||||
* @FilePath: /stu_h5/vite.config.js
|
* @FilePath: /stu_h5/vite.config.js
|
||||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
*/
|
*/
|
||||||
@@ -164,6 +164,10 @@ export default defineConfig(({ command, mode }) =>
|
|||||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
},
|
},
|
||||||
|
'/voteSubmit': {
|
||||||
|
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||||
|
changeOrigin: true,
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user