mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/student-h5.git
synced 2025-12-06 17:36:45 +08:00
feat:修改bug
This commit is contained in:
2
.env
2
.env
@@ -1,5 +1,5 @@
|
|||||||
VITE_BASE=/fe-student-h5
|
VITE_BASE=/fe-student-h5
|
||||||
VITE_BASE_API=/
|
VITE_BASE_API=
|
||||||
VITE_OUTPUT_DIR=./dist
|
VITE_OUTPUT_DIR=./dist
|
||||||
VITE_BASE_LOGIN_URL=//u-pre.boe.com/m/loginuser?returnUrl=
|
VITE_BASE_LOGIN_URL=//u-pre.boe.com/m/loginuser?returnUrl=
|
||||||
VITE_PROXY_URL=http://43.143.139.204/manageApi
|
VITE_PROXY_URL=http://43.143.139.204/manageApi
|
||||||
|
|||||||
@@ -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-06 21:08:50
|
* @LastEditTime: 2023-03-10 00:56:52
|
||||||
* @FilePath: /stu_h5/src/api/api.js
|
* @FilePath: /stu_h5/src/api/api.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
|
||||||
*/
|
*/
|
||||||
@@ -82,7 +82,7 @@ export const SubmitExternalExam = `/stu/externalExam/submitExternalExam post`
|
|||||||
export const UPDATE_CURRENT_TASK = `/admin/student/updateCurrentTask post`
|
export const UPDATE_CURRENT_TASK = `/admin/student/updateCurrentTask post`
|
||||||
// 测评任务去学习
|
// 测评任务去学习
|
||||||
export const EvaluationToLearn = '/evaluation/evaluationToLearn post'
|
export const EvaluationToLearn = '/evaluation/evaluationToLearn post'
|
||||||
export const FILE_UPLOAD_IMG = import.meta.env.VITE_BASE_API + 'file/img'
|
export const FILE_UPLOAD_IMG = import.meta.env.VITE_BASE_API + '/file/img'
|
||||||
// 查询单个测评的状态
|
// 查询单个测评的状态
|
||||||
export const QueryEvaluationTaskStatusOne = `/evaluation/queryEvaluationTaskStatusOne`
|
export const QueryEvaluationTaskStatusOne = `/evaluation/queryEvaluationTaskStatusOne`
|
||||||
// 投票浏览和参与数目
|
// 投票浏览和参与数目
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ export function useRequest(_url, params = {}, callback) {
|
|||||||
const state = reactive({
|
const state = reactive({
|
||||||
data: {},
|
data: {},
|
||||||
loading: false,
|
loading: false,
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
watch(params, () => {
|
watch(params, () => {
|
||||||
@@ -57,7 +58,7 @@ export function useRequest(_url, params = {}, callback) {
|
|||||||
request(_url, params).then(r => {
|
request(_url, params).then(r => {
|
||||||
state.data = r.data
|
state.data = r.data
|
||||||
state.loading = false
|
state.loading = false
|
||||||
callback?.(r)
|
callback && callback(r)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,20 +1,13 @@
|
|||||||
<!--
|
|
||||||
* @Author: lixg lixg@dongwu-inc.com
|
|
||||||
* @Date: 2023-01-18 14:40:26
|
|
||||||
* @LastEditors: lixg lixg@dongwu-inc.com
|
|
||||||
* @LastEditTime: 2023-03-09 16:13:17
|
|
||||||
* @FilePath: /stu_h5/src/components/img/UploadImg.vue
|
|
||||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
|
||||||
-->
|
|
||||||
<template>
|
<template>
|
||||||
<el-upload
|
<el-upload
|
||||||
:file-list="files"
|
|
||||||
:action="FILE_UPLOAD"
|
|
||||||
method="POST"
|
|
||||||
:show-file-list="false"
|
|
||||||
:on-change="handleChange"
|
|
||||||
:limit="1"
|
|
||||||
ref="imageRef"
|
ref="imageRef"
|
||||||
|
:file-list="files"
|
||||||
|
:show-file-list="false"
|
||||||
|
:limit="max"
|
||||||
|
:action="FILE_UPLOAD"
|
||||||
|
:auto-upload="false"
|
||||||
|
:on-exceed="exceed"
|
||||||
|
:on-change="handleChange"
|
||||||
>
|
>
|
||||||
<template #trigger>
|
<template #trigger>
|
||||||
<div>
|
<div>
|
||||||
@@ -24,20 +17,24 @@
|
|||||||
</el-upload>
|
</el-upload>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import { FILE_UPLOAD } from "@/api/api";
|
|
||||||
import { defineProps, ref, watch } from "vue";
|
import { defineProps, ref, watch } from "vue";
|
||||||
import { ElMessage, ElLoading } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
|
import { computed } from "vue";
|
||||||
|
import { useStore } from "vuex";
|
||||||
|
import { FILE_UPLOAD } from "@/api/api";
|
||||||
|
|
||||||
|
const store = useStore();
|
||||||
|
const userInfo = computed(() => store.state.userInfo);
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
fileList: [],
|
value: [],
|
||||||
max: {
|
max: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: 1,
|
default: 1,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
console.log("fileListfileList", props.fileList, props);
|
|
||||||
const emit = defineEmits();
|
|
||||||
|
|
||||||
|
const emit = defineEmits();
|
||||||
const files = ref([]);
|
const files = ref([]);
|
||||||
const imageRef = ref();
|
const imageRef = ref();
|
||||||
|
|
||||||
@@ -48,50 +45,43 @@ watch(props.value, () => {
|
|||||||
function exceed() {
|
function exceed() {
|
||||||
ElMessage.error(`只能上传${props.max}个附件`);
|
ElMessage.error(`只能上传${props.max}个附件`);
|
||||||
}
|
}
|
||||||
// 使用
|
|
||||||
const loading = ref(false); // loading
|
function handleChange(file) {
|
||||||
const openLoading = () => {
|
let fileName =
|
||||||
loading.value = ElLoading.service({
|
userInfo.value.realName + "-" + userInfo.value.userNo + "-" + file.name;
|
||||||
lock: true,
|
let f = new File([file.raw], fileName);
|
||||||
text: "Loading",
|
f.uid = file.uid;
|
||||||
background: "rgba(0, 0, 0, 0.7)",
|
file.raw = f;
|
||||||
});
|
console.log(file.raw);
|
||||||
};
|
if (file.raw.name.includes(".mp4") || file.raw.name.includes(".MP4")) {
|
||||||
const closeLoading = () => {
|
|
||||||
loading.value.close();
|
|
||||||
};
|
|
||||||
function handleChange(e) {
|
|
||||||
openLoading();
|
|
||||||
console.log("上传", e);
|
|
||||||
if (e.raw.name.includes(".mp4") || e.raw.name.includes(".MP4")) {
|
|
||||||
files.value = [];
|
files.value = [];
|
||||||
emit("update:value", files.value);
|
emit("update:fileList", files.value);
|
||||||
ElMessage.error(`暂不支持视频文件上传`);
|
ElMessage.error(`暂不支持视频文件上传`);
|
||||||
closeLoading();
|
|
||||||
return;
|
return;
|
||||||
} else if (e.raw.name.includes(".jpeg") || e.raw.name.includes(".JPEG")) {
|
} else if (
|
||||||
|
file.raw.name.includes(".jpeg") ||
|
||||||
|
file.raw.name.includes(".JPEG")
|
||||||
|
) {
|
||||||
files.value = [];
|
files.value = [];
|
||||||
emit("update:value", files.value);
|
emit("update:fileList", files.value);
|
||||||
ElMessage.error(`暂不支持jpeg格式图片文件上传`);
|
ElMessage.error(`暂不支持jpeg格式图片文件上传`);
|
||||||
closeLoading();
|
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
imageRef.value.submit();
|
imageRef.value.submit();
|
||||||
if (e.response && e.response.code === 200) {
|
|
||||||
e.url = e.response.data;
|
|
||||||
}
|
|
||||||
|
|
||||||
const index = files.value.findIndex((f) => f.uid === e.uid);
|
if (file.response && file.response.code === 200) {
|
||||||
|
file.url = file.response.data;
|
||||||
|
}
|
||||||
|
console.log("files.value", files.value);
|
||||||
|
const index = files.value.findIndex((f) => f.uid === file.uid);
|
||||||
if (index === -1) {
|
if (index === -1) {
|
||||||
files.value.unshift(e);
|
files.value.unshift(file);
|
||||||
} else {
|
} else {
|
||||||
files.value[index] = e;
|
files.value[index] = file;
|
||||||
}
|
}
|
||||||
|
console.log("files.value22", files.value);
|
||||||
emit("update:fileList", files.value);
|
emit("update:fileList", files.value);
|
||||||
files.value = [];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
closeLoading();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function remove(i) {
|
function remove(i) {
|
||||||
|
|||||||
@@ -203,47 +203,65 @@ const signClick = (tab, event) => {
|
|||||||
let timer = null;
|
let timer = null;
|
||||||
//判断能否签到
|
//判断能否签到
|
||||||
function isSignClick() {
|
function isSignClick() {
|
||||||
timer = setInterval(() => {
|
// timer = setInterval(() => {
|
||||||
let beginTime = new Date(data.value.activityStartTime).getTime();
|
let beginTime = new Date(data.value.activityStartTime).getTime();
|
||||||
let endTime = !data.value.afterSignIn
|
let endTime = !data.value.afterSignIn
|
||||||
? new Date(data.value.activityEndTime).getTime()
|
? new Date(data.value.activityEndTime).getTime()
|
||||||
: new Date(data.value.activityStartTime).getTime();
|
: new Date(data.value.activityStartTime).getTime();
|
||||||
let nowTime = new Date().getTime();
|
let nowTime = new Date().getTime();
|
||||||
if (data.value.beforeSignIn && data.value.afterSignIn) {
|
if (
|
||||||
//有开始前有开始后
|
data.value.beforeSignIn &&
|
||||||
beginTime = beginTime - data.value.beforeSignIn * 60 * 1000;
|
data.value.afterSignIn &&
|
||||||
endTime = endTime + data.value.afterSignIn * 60 * 1000;
|
data.value.beforeSignIn !== "0" &&
|
||||||
console.log("1111");
|
data.value.afterSignIn !== "0"
|
||||||
} else if (data.value.beforeSignIn && !data.value.afterSignIn) {
|
) {
|
||||||
//只有开始前无开始后
|
//有开始前有开始后
|
||||||
beginTime = beginTime - data.value.beforeSignIn * 60 * 1000;
|
beginTime = beginTime - data.value.beforeSignIn * 60 * 1000;
|
||||||
console.log("11112222");
|
endTime = endTime + data.value.afterSignIn * 60 * 1000;
|
||||||
} else if (!data.value.beforeSignIn && data.value.afterSignIn) {
|
console.log("1111");
|
||||||
//无开始前有开始后
|
} else if (
|
||||||
endTime = endTime + data.value.afterSignIn * 60 * 1000;
|
data.value.beforeSignIn &&
|
||||||
console.log("1111333");
|
!data.value.afterSignIn &&
|
||||||
}
|
data.value.beforeSignIn !== "0" &&
|
||||||
|
data.value.afterSignIn !== "0"
|
||||||
|
) {
|
||||||
|
//只有开始前无开始后
|
||||||
|
beginTime = beginTime - data.value.beforeSignIn * 60 * 1000;
|
||||||
|
console.log("11112222");
|
||||||
|
} else if (
|
||||||
|
!data.value.beforeSignIn &&
|
||||||
|
data.value.afterSignIn &&
|
||||||
|
data.value.beforeSignIn !== "0" &&
|
||||||
|
data.value.afterSignIn !== "0"
|
||||||
|
) {
|
||||||
|
//无开始前有开始后
|
||||||
|
endTime = endTime + data.value.afterSignIn * 60 * 1000;
|
||||||
|
console.log("1111333");
|
||||||
|
}
|
||||||
|
|
||||||
// console.log(nowTime, beginTime, endTime, data.value);
|
// console.log(nowTime, beginTime, endTime, data.value);
|
||||||
// console.log(nowTime < endTime, nowTime > beginTime);
|
// console.log(nowTime < endTime, nowTime > beginTime);
|
||||||
// console.log(state.isAllowSign);
|
// console.log(state.isAllowSign);
|
||||||
if (nowTime < endTime && nowTime > beginTime) {
|
if (nowTime < endTime && nowTime > beginTime) {
|
||||||
state.isAllowSign = true;
|
state.isAllowSign = true;
|
||||||
} else {
|
} else {
|
||||||
state.isAllowSign = false;
|
state.isAllowSign = false;
|
||||||
}
|
}
|
||||||
// console.log(
|
// console.log(
|
||||||
// "isAllowSign",
|
// "isAllowSign",
|
||||||
// state.isAllowSign,
|
// state.isAllowSign,
|
||||||
// nowTime,
|
// nowTime,
|
||||||
// endTime,
|
// endTime,
|
||||||
// beginTime,
|
// beginTime,
|
||||||
// nowTime < endTime,
|
// nowTime < endTime,
|
||||||
// nowTime > beginTime
|
// nowTime > beginTime
|
||||||
// );
|
// );
|
||||||
}, 1000);
|
// }, 1000);
|
||||||
}
|
}
|
||||||
isSignClick();
|
watch(data, () => {
|
||||||
|
isSignClick();
|
||||||
|
});
|
||||||
|
// isSignClick();
|
||||||
|
|
||||||
//是否显示头部公告
|
//是否显示头部公告
|
||||||
const isShowClose = () => {
|
const isShowClose = () => {
|
||||||
|
|||||||
@@ -116,28 +116,30 @@ 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(() => {
|
||||||
let endTime = parseInt(
|
if (data && data.value && data.value.evaluationEndTime) {
|
||||||
new Date(data.value.evaluationEndTime).getTime() / 1000
|
let endTime = parseInt(
|
||||||
);
|
new Date(data.value.evaluationEndTime).getTime() / 1000
|
||||||
let nowTime = parseInt(new Date().getTime() / 1000);
|
|
||||||
if (endTime > nowTime) {
|
|
||||||
hour.value = parseInt(
|
|
||||||
dayjs(data.value.evaluationEndTime).diff(dayjs(), "minute") / 60
|
|
||||||
);
|
);
|
||||||
minute.value = parseInt(
|
let nowTime = parseInt(new Date().getTime() / 1000);
|
||||||
dayjs(data.value.evaluationEndTime).diff(dayjs(), "minute") % 60
|
if (endTime > nowTime) {
|
||||||
);
|
hour.value = parseInt(
|
||||||
seconds.value = parseInt(
|
dayjs(data.value.evaluationEndTime).diff(dayjs(), "minute") / 60
|
||||||
dayjs(data.value.evaluationEndTime).diff(dayjs(), "seconds") -
|
);
|
||||||
(hour.value * 60 + minute.value) * 60
|
minute.value = parseInt(
|
||||||
);
|
dayjs(data.value.evaluationEndTime).diff(dayjs(), "minute") % 60
|
||||||
} else {
|
);
|
||||||
clearInterval(timer);
|
seconds.value = parseInt(
|
||||||
|
dayjs(data.value.evaluationEndTime).diff(dayjs(), "seconds") -
|
||||||
|
(hour.value * 60 + minute.value) * 60
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
clearInterval(timer);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}, 1000);
|
}, 1000);
|
||||||
|
|
||||||
const goOuterChain = () => {
|
const goOuterChain = () => {
|
||||||
console.log("点击去查看");
|
console.log("点击去查看", quizTaskId);
|
||||||
if (quizTaskId == null) {
|
if (quizTaskId == null) {
|
||||||
request(EvaluationToLearn, {
|
request(EvaluationToLearn, {
|
||||||
businessType: btype == 1 ? "project" : "learningpath",
|
businessType: btype == 1 ? "project" : "learningpath",
|
||||||
@@ -153,7 +155,7 @@ const goOuterChain = () => {
|
|||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
let jumpUrl = res.data.quizUrl;
|
let jumpUrl = res.data.quizUrl;
|
||||||
// 此处写跳转url
|
// 此处写跳转url
|
||||||
window.open(jumpUrl, "_top");
|
// window.open(jumpUrl, "_top");
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
@@ -182,7 +184,7 @@ const goOuterChain = () => {
|
|||||||
studentName: userInfo.value.realName,
|
studentName: userInfo.value.realName,
|
||||||
});
|
});
|
||||||
request(EvaluationToLearn, {
|
request(EvaluationToLearn, {
|
||||||
businessType: "learningpath",
|
businessType: btype == 1 ? "project" : "learningpath",
|
||||||
chapterId: chapterOrStageId,
|
chapterId: chapterOrStageId,
|
||||||
courseId: evaluationId,
|
courseId: evaluationId,
|
||||||
quizKid: data.value.evaluationTypeId,
|
quizKid: data.value.evaluationTypeId,
|
||||||
|
|||||||
@@ -450,49 +450,51 @@ function formateArr(strs) {
|
|||||||
let timer = null;
|
let timer = null;
|
||||||
//判断能否签到
|
//判断能否签到
|
||||||
function isSignClick() {
|
function isSignClick() {
|
||||||
timer = setInterval(() => {
|
// timer = setInterval(() => {
|
||||||
let beginTime = new Date(data.value.planDto?.beginTime).getTime();
|
let beginTime = new Date(data.value.planDto?.beginTime).getTime();
|
||||||
let endTime = !data.value.planDto?.afterStart
|
let endTime = !data.value.planDto?.afterStart
|
||||||
? new Date(data.value.planDto?.endTime).getTime()
|
? new Date(data.value.planDto?.endTime).getTime()
|
||||||
: new Date(data.value.planDto?.beginTime).getTime();
|
: new Date(data.value.planDto?.beginTime).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) {
|
||||||
//有开始前有开始后
|
//有开始前有开始后
|
||||||
beginTime = beginTime - data.value.planDto?.beforeStart * 60 * 1000;
|
beginTime = beginTime - data.value.planDto?.beforeStart * 60 * 1000;
|
||||||
endTime = endTime + data.value.planDto?.afterStart * 60 * 1000;
|
endTime = endTime + data.value.planDto?.afterStart * 60 * 1000;
|
||||||
console.log("1111");
|
console.log("1111");
|
||||||
} else if (
|
} else if (
|
||||||
data.value.planDto?.beforeStart &&
|
data.value.planDto?.beforeStart &&
|
||||||
!data.value.planDto?.afterStart
|
!data.value.planDto?.afterStart
|
||||||
) {
|
) {
|
||||||
//只有开始前无开始后
|
//只有开始前无开始后
|
||||||
beginTime = beginTime - data.value.planDto?.beforeStart * 60 * 1000;
|
beginTime = beginTime - data.value.planDto?.beforeStart * 60 * 1000;
|
||||||
console.log("11112222");
|
console.log("11112222");
|
||||||
} else if (
|
} else if (
|
||||||
!data.value.planDto?.beforeStart &&
|
!data.value.planDto?.beforeStart &&
|
||||||
data.value.planDto?.afterStart
|
data.value.planDto?.afterStart
|
||||||
) {
|
) {
|
||||||
//无开始前有开始后
|
//无开始前有开始后
|
||||||
endTime = endTime + data.value.planDto?.afterStart * 60 * 1000;
|
endTime = endTime + data.value.planDto?.afterStart * 60 * 1000;
|
||||||
console.log("1111333");
|
console.log("1111333");
|
||||||
}
|
}
|
||||||
if (nowTime < endTime && nowTime > beginTime) {
|
if (nowTime < endTime && nowTime > beginTime) {
|
||||||
state.isAllowSign = true;
|
state.isAllowSign = true;
|
||||||
} else {
|
} else {
|
||||||
state.isAllowSign = false;
|
state.isAllowSign = false;
|
||||||
}
|
}
|
||||||
// console.log(
|
// console.log(
|
||||||
// "isAllowSign",
|
// "isAllowSign",
|
||||||
// state.isAllowSign,
|
// state.isAllowSign,
|
||||||
// nowTime,
|
// nowTime,
|
||||||
// endTime,
|
// endTime,
|
||||||
// beginTime,
|
// beginTime,
|
||||||
// nowTime < endTime,
|
// nowTime < endTime,
|
||||||
// nowTime > beginTime
|
// nowTime > beginTime
|
||||||
// );
|
// );
|
||||||
}, 1000);
|
// }, 1000);
|
||||||
}
|
}
|
||||||
isSignClick();
|
watch(data, () => {
|
||||||
|
isSignClick();
|
||||||
|
});
|
||||||
|
|
||||||
//签到
|
//签到
|
||||||
const signClick = () => {
|
const signClick = () => {
|
||||||
|
|||||||
@@ -61,7 +61,9 @@
|
|||||||
<div class="itemtitle" :title="item.workUploadContent">
|
<div class="itemtitle" :title="item.workUploadContent">
|
||||||
{{ item.workUploadContent }}
|
{{ item.workUploadContent }}
|
||||||
{{
|
{{
|
||||||
item.workUploadAddress ? "-" + item.workUploadAddress : ""
|
item.workUploadAddress?.slice(
|
||||||
|
item.workUploadAddress.lastIndexOf("/") + 1
|
||||||
|
)
|
||||||
}}
|
}}
|
||||||
</div>
|
</div>
|
||||||
<img
|
<img
|
||||||
@@ -106,6 +108,7 @@ import FileTypeImg from "@/components/FileTypeImg.vue";
|
|||||||
import { useRoute } from "vue-router/dist/vue-router";
|
import { useRoute } from "vue-router/dist/vue-router";
|
||||||
import { ElMessage, ElLoading } from "element-plus";
|
import { ElMessage, ElLoading } from "element-plus";
|
||||||
import ReturnHead from "@/components/ReturnHead.vue";
|
import ReturnHead from "@/components/ReturnHead.vue";
|
||||||
|
import { toDate } from "@/api/method";
|
||||||
const fileList = ref([]);
|
const fileList = ref([]);
|
||||||
// const fielPath = ref(import.meta.env.VITE_FILE_PATH);
|
// const fielPath = ref(import.meta.env.VITE_FILE_PATH);
|
||||||
const uploadRef = ref();
|
const uploadRef = ref();
|
||||||
@@ -174,21 +177,17 @@ const state = reactive({
|
|||||||
});
|
});
|
||||||
const { hour, minute, seconds } = toRefs(state);
|
const { hour, minute, seconds } = toRefs(state);
|
||||||
|
|
||||||
let timer = setInterval(() => {
|
var timer = setInterval(function () {
|
||||||
// console.log("endTime", data.value.submitEndTime);
|
|
||||||
if (data && data.value && data.value.submitEndTime) {
|
if (data && data.value && data.value.submitEndTime) {
|
||||||
let endTime = parseInt(new Date(data.value.submitEndTime).getTime() / 1000);
|
let newEndTime = data.value.submitEndTime.replaceAll("-", "/");
|
||||||
|
let endTime = parseInt(new Date(newEndTime).getTime() / 1000);
|
||||||
let nowTime = parseInt(new Date().getTime() / 1000);
|
let nowTime = parseInt(new Date().getTime() / 1000);
|
||||||
console.log("endTime222", endTime, nowTime);
|
console.log("endTime222", endTime, nowTime, newEndTime);
|
||||||
if (endTime > nowTime) {
|
if (endTime > nowTime) {
|
||||||
state.hour = parseInt(
|
state.hour = parseInt(dayjs(newEndTime).diff(dayjs(), "minute") / 60);
|
||||||
dayjs(data.value.submitEndTime).diff(dayjs(), "minute") / 60
|
state.minute = parseInt(dayjs(newEndTime).diff(dayjs(), "minute") % 60);
|
||||||
);
|
|
||||||
state.minute = parseInt(
|
|
||||||
dayjs(data.value.submitEndTime).diff(dayjs(), "minute") % 60
|
|
||||||
);
|
|
||||||
state.seconds = parseInt(
|
state.seconds = parseInt(
|
||||||
dayjs(data.value.submitEndTime).diff(dayjs(), "seconds") -
|
dayjs(newEndTime).diff(dayjs(), "seconds") -
|
||||||
(state.hour * 60 + state.minute) * 60
|
(state.hour * 60 + state.minute) * 60
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
@@ -199,6 +198,7 @@ let timer = setInterval(() => {
|
|||||||
|
|
||||||
const { data: submitList } = useRequest(TASK_WORK_SUBMIT_LIST, {
|
const { data: submitList } = useRequest(TASK_WORK_SUBMIT_LIST, {
|
||||||
workerId: workId,
|
workerId: workId,
|
||||||
|
type,
|
||||||
});
|
});
|
||||||
console.log("submitList==----->", submitList);
|
console.log("submitList==----->", submitList);
|
||||||
//交作业
|
//交作业
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ export default {
|
|||||||
workUploadContent: textarea.value,
|
workUploadContent: textarea.value,
|
||||||
workUploadAddress:
|
workUploadAddress:
|
||||||
fileList.value && fileList.value.length !== 0
|
fileList.value && fileList.value.length !== 0
|
||||||
? fileList.value[0].name
|
? fileList.value[0].url
|
||||||
: "",
|
: "",
|
||||||
workId,
|
workId,
|
||||||
type,
|
type,
|
||||||
|
|||||||
@@ -260,43 +260,45 @@ const signClick = () => {
|
|||||||
let timer = null;
|
let timer = null;
|
||||||
//判断能否签到
|
//判断能否签到
|
||||||
function isSignClick() {
|
function isSignClick() {
|
||||||
timer = setInterval(() => {
|
// timer = setInterval(() => {
|
||||||
let beginTime = new Date(data.value.liveStartTime).getTime();
|
let beginTime = new Date(data.value.liveStartTime).getTime();
|
||||||
let endTime = !data.value.afterSignIn
|
let endTime = !data.value.afterSignIn
|
||||||
? new Date(data.value.liveEndTime).getTime()
|
? new Date(data.value.liveEndTime).getTime()
|
||||||
: new Date(data.value.liveStartTime).getTime();
|
: new Date(data.value.liveStartTime).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) {
|
||||||
//有开始前有开始后
|
//有开始前有开始后
|
||||||
beginTime = beginTime - data.value.beforeSignIn * 60 * 1000;
|
beginTime = beginTime - data.value.beforeSignIn * 60 * 1000;
|
||||||
endTime = endTime + data.value.afterSignIn * 60 * 1000;
|
endTime = endTime + data.value.afterSignIn * 60 * 1000;
|
||||||
console.log("1111");
|
console.log("1111");
|
||||||
} else if (data.value.beforeSignIn && !data.value.afterSignIn) {
|
} else if (data.value.beforeSignIn && !data.value.afterSignIn) {
|
||||||
//只有开始前无开始后
|
//只有开始前无开始后
|
||||||
beginTime = beginTime - data.value.beforeSignIn * 60 * 1000;
|
beginTime = beginTime - data.value.beforeSignIn * 60 * 1000;
|
||||||
console.log("11112222");
|
console.log("11112222");
|
||||||
} else if (!data.value.beforeSignIn && data.value.afterSignIn) {
|
} else if (!data.value.beforeSignIn && data.value.afterSignIn) {
|
||||||
//无开始前有开始后
|
//无开始前有开始后
|
||||||
endTime = endTime + data.value.afterSignIn * 60 * 1000;
|
endTime = endTime + data.value.afterSignIn * 60 * 1000;
|
||||||
console.log("1111333");
|
console.log("1111333");
|
||||||
}
|
}
|
||||||
if (nowTime < endTime && nowTime > beginTime) {
|
if (nowTime < endTime && nowTime > beginTime) {
|
||||||
state.isAllowSign = true;
|
state.isAllowSign = true;
|
||||||
} else {
|
} else {
|
||||||
state.isAllowSign = false;
|
state.isAllowSign = false;
|
||||||
}
|
}
|
||||||
// console.log(
|
// console.log(
|
||||||
// "isAllowSign",
|
// "isAllowSign",
|
||||||
// state.isAllowSign,
|
// state.isAllowSign,
|
||||||
// nowTime,
|
// nowTime,
|
||||||
// endTime,
|
// endTime,
|
||||||
// beginTime,
|
// beginTime,
|
||||||
// nowTime < endTime,
|
// nowTime < endTime,
|
||||||
// nowTime > beginTime
|
// nowTime > beginTime
|
||||||
// );
|
// );
|
||||||
}, 1000);
|
// }, 1000);
|
||||||
}
|
}
|
||||||
isSignClick();
|
watch(data, () => {
|
||||||
|
isSignClick();
|
||||||
|
});
|
||||||
const commitClick = () => {
|
const commitClick = () => {
|
||||||
if (data.value.liveStartTime) {
|
if (data.value.liveStartTime) {
|
||||||
let date1 = new Date(data.value.liveStartTime).getTime();
|
let date1 = new Date(data.value.liveStartTime).getTime();
|
||||||
|
|||||||
@@ -95,6 +95,8 @@ const goOuterChain = () => {
|
|||||||
logo: type,
|
logo: type,
|
||||||
stageOrChapterId: chapterOrStageId,
|
stageOrChapterId: chapterOrStageId,
|
||||||
taskId: taskId,
|
taskId: taskId,
|
||||||
|
type: type,
|
||||||
|
taskType: 7,
|
||||||
});
|
});
|
||||||
|
|
||||||
window.open(data.value.linkAddress, "_top");
|
window.open(data.value.linkAddress, "_top");
|
||||||
|
|||||||
@@ -526,7 +526,9 @@ function toFinish(d, sName, chapterOrStageId) {
|
|||||||
pid: projectId,
|
pid: projectId,
|
||||||
name: d.name,
|
name: d.name,
|
||||||
});
|
});
|
||||||
|
|
||||||
if (typeof TASK_TYPES.path[d.type] === "string") {
|
if (typeof TASK_TYPES.path[d.type] === "string") {
|
||||||
|
console.log("TASK_TYPES.path[d.type]", TASK_TYPES.path[d.type]);
|
||||||
TASK_TYPES.path[d.type] &&
|
TASK_TYPES.path[d.type] &&
|
||||||
TASK_TYPES.path[d.type].startsWith("http") &&
|
TASK_TYPES.path[d.type].startsWith("http") &&
|
||||||
window.open(TASK_TYPES.path[d.type] + d.targetId, "_top");
|
window.open(TASK_TYPES.path[d.type] + d.targetId, "_top");
|
||||||
@@ -547,10 +549,15 @@ function toFinish(d, sName, chapterOrStageId) {
|
|||||||
targetId: d.targetId,
|
targetId: d.targetId,
|
||||||
evaType: d.evaType,
|
evaType: d.evaType,
|
||||||
btype: 1,
|
btype: 1,
|
||||||
|
quizTaskId: d.quizTaskId,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
} else if (typeof TASK_TYPES.path[d.type] === "function") {
|
} else if (typeof TASK_TYPES.path[d.type] === "function") {
|
||||||
TASK_TYPES.path[d.type](d);
|
if (d.type == 5) {
|
||||||
|
window.open(TASK_TYPES.path[d.type](d) + d.targetId, "_top");
|
||||||
|
} else {
|
||||||
|
TASK_TYPES.path[d.type](d);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// if (typeof types.value.path[d.type] === "string") {
|
// if (typeof types.value.path[d.type] === "string") {
|
||||||
// types.value.path[d.type] &&
|
// types.value.path[d.type] &&
|
||||||
|
|||||||
@@ -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-02-22 14:53:41
|
* @LastEditTime: 2023-03-09 22:52:56
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@@ -117,6 +117,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,
|
||||||
},
|
},
|
||||||
|
'/evaluation/queryEvaluationTaskStatusOne': {
|
||||||
|
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||||
|
changeOrigin: true,
|
||||||
|
},
|
||||||
'/statement/add': {
|
'/statement/add': {
|
||||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
|
|||||||
Reference in New Issue
Block a user