Merge remote-tracking branch 'origin/master'

This commit is contained in:
yujicun
2023-03-10 17:45:41 +08:00
18 changed files with 298 additions and 170 deletions

View File

@@ -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();

View File

@@ -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
} }

View File

@@ -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({});

View File

@@ -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) {

View File

@@ -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,

View File

@@ -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) {

View File

@@ -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);

View File

@@ -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,

View File

@@ -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 {

View File

@@ -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("未到开始时间,请耐心等待!");

View File

@@ -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();

View File

@@ -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();

View File

@@ -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;

View File

@@ -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: {

View File

@@ -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("未到开始时间,请耐心等待!");

View File

@@ -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("当前活动已结束");

View File

@@ -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("当前活动已结束");

View File

@@ -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,
},
} }