mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-student.git
synced 2025-12-09 19:06:48 +08:00
Merge branch 'develop' of ssh://gitlab.dongwu-inc.com:10022/BOE/fe-stu into develop
This commit is contained in:
2
.env
2
.env
@@ -9,7 +9,7 @@ VITE_BOE_CASS_DETAIL_URL=https://u-pre.boe.com/pc/case/detail?id=
|
||||
VITE_BOE_TEST_DETAIL_URL=https://u-pre.boe.com/web/quizsummary?detailId=
|
||||
VITE_BOE_TEST_OUT_DETAIL_URL=https://u-pre.boe.com/api/b1/tale/do-quiz?quizKid=
|
||||
VITE_BOE_EXAM_DETAIL_URL=https://u-pre.boe.com/pc/exam/test?id=
|
||||
VITE_BOE_PATH_DETAIL_URL=http://u-pre.boe.com/pc/forward?to=/fe-student
|
||||
VITE_BOE_PATH_DETAIL_URL=https://u-pre.boe.com/pc/forward?to=/fe-student
|
||||
|
||||
VITE_BOE_API_URL=https://u-pre.boe.com
|
||||
|
||||
|
||||
@@ -7,6 +7,6 @@ VITE_BOE_CASS_DETAIL_URL=https://u.boe.com/pc-release/case/detail?id=
|
||||
VITE_BOE_TEST_DETAIL_URL=https://u.boe.com/web/quizsummary?detailId=
|
||||
VITE_BOE_TEST_OUT_DETAIL_URL=https://u.boe.com/api/b1/tale/do-quiz?quizKid=
|
||||
VITE_BOE_EXAM_DETAIL_URL=https://u.boe.com/pc-release/exam/test?id=
|
||||
VITE_BOE_PATH_DETAIL_URL=http://u.boe.com/pc/forward?to=/fe-student-release
|
||||
VITE_BOE_PATH_DETAIL_URL=https://u.boe.com/pc-release/forward?to=/fe-student-release
|
||||
|
||||
VITE_BOE_API_URL=https://u.boe.com
|
||||
@@ -36,7 +36,7 @@ import {useStore} from "vuex";
|
||||
import { onMounted } from "vue";
|
||||
import router from "@/router";
|
||||
|
||||
console.log("版本1.0.6------------");
|
||||
console.log("版本1.0.7------------");
|
||||
const store = useStore();
|
||||
onMounted(() => {
|
||||
getUserInfo();
|
||||
@@ -66,6 +66,7 @@ function getUserInfo() {
|
||||
width: 100%;
|
||||
min-height: 100%;
|
||||
background-color: rgba(242, 245, 247, 1);
|
||||
|
||||
// background-color: #ccc;
|
||||
#nav {
|
||||
width: 220px;
|
||||
|
||||
@@ -94,7 +94,7 @@ export async function request(_url, params) {
|
||||
}).then(resp => resp.data).then(response => {
|
||||
if (response.code !== 200 && response.code !== 0) {
|
||||
if (response.code === 1000) {
|
||||
import.meta.env.MODE === 'development' ? router.push({ path: '/login' }) : window.open(import.meta.env.VITE_BASE_LOGIN_URL)
|
||||
import.meta.env.MODE === 'development' ? router.push({ path: '/login' }) : window.open(import.meta.env.VITE_BASE_LOGIN_URL,'_top')
|
||||
}
|
||||
// if (import.meta.env.DEV && response.code === 1000) {
|
||||
// router.push({path: '/login'})
|
||||
|
||||
@@ -64,7 +64,7 @@ function toDetail(i) {
|
||||
`${import.meta.env.VITE_BOE_PATH_DETAIL_URL}/pathdetails¶ms=${encodeURIComponent(
|
||||
`routerId=${props.detail.routerId}&routerName=${props.detail.routerName}`
|
||||
)}`
|
||||
);
|
||||
,'_top');
|
||||
}
|
||||
|
||||
function close() {
|
||||
|
||||
@@ -324,8 +324,7 @@ function toSurvery() {
|
||||
query: {
|
||||
courseId: data.value.planDto.evaluateId,
|
||||
pName: "面授课",
|
||||
taskId: data.value.planDto.offcoursePlanId,
|
||||
taskIds: data.value.planDto.offcoursePlanId,
|
||||
infoId: data.value.offcourseDto.offcourseId,
|
||||
chapterOrStageId: 0,
|
||||
sName: data.value.planDto.name,
|
||||
type: 3
|
||||
@@ -349,8 +348,7 @@ function toWork() {
|
||||
query: {
|
||||
courseId: data.value.workDto.workId,
|
||||
id: taskId,
|
||||
taskId: taskId,
|
||||
taskIds: taskId,
|
||||
infoId: data.value.offcourseDto.offcourseId,
|
||||
chapterOrStageId: 0,
|
||||
type,
|
||||
pName: "面授课",
|
||||
@@ -369,7 +367,7 @@ function toExamItem(obj) {
|
||||
}
|
||||
}
|
||||
console.log("obj", obj.examinationTestId);
|
||||
window.open(import.meta.env.VITE_BOE_EXAM_DETAIL_URL + obj.examinationTestId); //测评
|
||||
window.open(import.meta.env.VITE_BOE_EXAM_DETAIL_URL + obj.examinationTestId,'_top'); //测评
|
||||
// router.push({ path: import.meta.env.VITE_BOE_EXAM_DETAIL_URL+ obj.examinationTestId });
|
||||
}
|
||||
|
||||
|
||||
@@ -61,7 +61,9 @@
|
||||
|
||||
<botton :style="{
|
||||
background: `${new Date(data.liveStartTime).getTime() > new Date().getTime() ? '#999' : data.isSurvery ? '#999' : 'rgb(57, 146, 249)'}`,
|
||||
}" class="btn" @click="commitClick" v-if="data.isEvaluate && data.isEvaluate == 1">{{ data.isSurvery ? "已评估": "评估"}}
|
||||
}" class="btn" @click="commitClick" v-if="data.isEvaluate && data.isEvaluate == 1">{{ data.isSurvery ? "已评估" :
|
||||
"评估"
|
||||
}}
|
||||
</botton>
|
||||
</div>
|
||||
</div>
|
||||
@@ -264,8 +266,7 @@ const commitClick = () => {
|
||||
path: "/surveydetail",
|
||||
query: {
|
||||
courseId: data.value.assessmentId,
|
||||
taskId: data.value.liveId,
|
||||
taskIds: data.value.liveId,
|
||||
infoId: data.value.liveId,
|
||||
chapterOrStageId: 0,
|
||||
pName: "直播",
|
||||
sName: data.value.liveName,
|
||||
@@ -283,7 +284,7 @@ function showClick() {
|
||||
return;
|
||||
}
|
||||
}
|
||||
window.open(data.value.liveLink);
|
||||
window.open(data.value.liveLink,'_top');
|
||||
}
|
||||
onUnmounted(() => {
|
||||
if (timer) {
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
|
||||
<div class="pdname">
|
||||
{{ data.name }}
|
||||
<el-popover v-if="data.remark" ref="popover" popper-class="jianjie" placement="right" trigger="hover" :width="300" :content="data.remark">
|
||||
<el-popover v-if="data.remark" ref="popover" popper-class="jianjie" placement="right" trigger="hover" :width="300"
|
||||
:content="data.remark">
|
||||
<template #reference><span style="font-size: 16px;font-weight: 600;">简介></span></template>
|
||||
</el-popover>
|
||||
</div>
|
||||
@@ -12,7 +13,8 @@
|
||||
<!-- 详细信息 -->
|
||||
<div class="detailinfo">
|
||||
<div class="detailL">
|
||||
<div v-for="(i, k) in data.stageProcessList" :key="k">
|
||||
<div v-if="data.stageProcessList" v-for="(i, k) in data.stageProcessList" :key="k">
|
||||
{{ loading.close() }}
|
||||
<div v-if="i.stageId == '0' && i.taskProcessList.length == 0"></div>
|
||||
<div v-else class="title">
|
||||
<div class="titleL">{{ i.stageName }}</div>
|
||||
@@ -81,7 +83,7 @@
|
||||
</div>
|
||||
<div class="goclass" @click="toFinish(value, i.stageName, i.stageId)">
|
||||
{{
|
||||
value.status === 100
|
||||
value.status === 1
|
||||
? "已完成"
|
||||
: types.path[value.type]
|
||||
? types.toName[value.type]
|
||||
@@ -101,6 +103,9 @@
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div ref="contentLoadingDom" id="loadings" v-else style="width:100%;height:400px;background:red;">
|
||||
|
||||
</div> -->
|
||||
<!-- <div class="tag1">必修</div>
|
||||
<div class="tag2">选修</div>
|
||||
<div class="tag3">测评</div>
|
||||
@@ -248,6 +253,7 @@
|
||||
</template>
|
||||
<script setup>
|
||||
import { computed, reactive, ref } from "vue";
|
||||
import { ElLoading } from 'element-plus'
|
||||
import word from "@/assets/image/file/word.png";
|
||||
import ppt from "@/assets/image/file/ppt.png";
|
||||
import pdf from "@/assets/image/file/pdf.png";
|
||||
@@ -279,6 +285,13 @@ const { data } = useRequest(PROJECT_PROCESS, {
|
||||
|
||||
console.log("datadata", data);
|
||||
|
||||
const loading = ref(false);
|
||||
loading.value = ElLoading.service({
|
||||
lock: true,
|
||||
text: 'Loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
})
|
||||
|
||||
// const { onlinedata } = useRequest(ONLINE_PROCESS, {
|
||||
// addView: false,
|
||||
// cid:"1042123882713739264"
|
||||
@@ -342,7 +355,7 @@ const types = ref({
|
||||
6: "/livebroadcast",
|
||||
7: ({ courseId }) =>
|
||||
request(LINK_DETAILS(courseId), {}).then(({ data: { linkAddress } }) =>
|
||||
window.open(linkAddress)
|
||||
window.open(linkAddress,'_top')
|
||||
), //外联
|
||||
8: "/discusspage",
|
||||
9: "/moreactive",
|
||||
@@ -351,7 +364,7 @@ const types = ref({
|
||||
(evaType == 0
|
||||
? import.meta.env.VITE_BOE_TEST_DETAIL_URL
|
||||
: import.meta.env.VITE_BOE_TEST_OUT_DETAIL_URL) + targetId
|
||||
), //测评
|
||||
,'_top'), //测评
|
||||
11: "/surveydetail",
|
||||
12: "/ballotpage",
|
||||
13: "/projectdetails",
|
||||
@@ -448,7 +461,7 @@ function toFinish(d, sName, chapterOrStageId) {
|
||||
if (typeof types.value.path[d.type] === "string") {
|
||||
types.value.path[d.type] &&
|
||||
types.value.path[d.type].startsWith("http") &&
|
||||
window.open(types.value.path[d.type] + d.targetId);
|
||||
window.open(types.value.path[d.type] + d.targetId,'_top');
|
||||
types.value.path[d.type] &&
|
||||
types.value.path[d.type].startsWith("/") &&
|
||||
router.push({
|
||||
@@ -456,8 +469,7 @@ function toFinish(d, sName, chapterOrStageId) {
|
||||
query: {
|
||||
id: d.projectTaskId,
|
||||
type: 2,
|
||||
taskId: data.value.projectId,
|
||||
taskIds: data.value.projectId,
|
||||
infoId: data.value.projectId,
|
||||
courseId: d.courseId,
|
||||
pName: data.value.name,
|
||||
sName,
|
||||
@@ -477,6 +489,7 @@ function whiteTypes(type) {
|
||||
.example-showcase .el-loading-mask {
|
||||
z-index: 9;
|
||||
}
|
||||
|
||||
.pathdetails {
|
||||
.el-dialog__header {
|
||||
display: none;
|
||||
|
||||
@@ -187,7 +187,7 @@ const goProjectDetails = (value) => {
|
||||
: window.open(
|
||||
`${import.meta.env.VITE_BOE_PATH_DETAIL_URL}/projectdetails¶ms=${encodeURIComponent(
|
||||
`projectId=${value.projectId}`
|
||||
)}`
|
||||
,'_top')}`
|
||||
);
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
: scope.row.taskStatus === 2
|
||||
? completed
|
||||
: scope.row.taskStatus === 0
|
||||
? nostarted
|
||||
? ongoing
|
||||
: null
|
||||
" style="width: 99px; height: 99px"/>
|
||||
</el-table-column>
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
|
||||
<div class="pdname">
|
||||
{{ data.name }}
|
||||
<el-popover v-if="data.remark" ref="popover" popper-class="jianjie" placement="right" trigger="hover" :width="300" :content="data.remark">
|
||||
<el-popover v-if="data.remark" ref="popover" popper-class="jianjie" placement="right" trigger="hover" :width="300"
|
||||
:content="data.remark">
|
||||
<template #reference><span style="font-size: 16px;font-weight: 600;">简介></span></template>
|
||||
</el-popover>
|
||||
</div>
|
||||
@@ -18,20 +19,15 @@
|
||||
<div class="title">
|
||||
<div class="titleL">{{ data.currentStageName }}</div>
|
||||
<div class="titleR" :style="{ display: 'flex' }">
|
||||
<img
|
||||
:src="data.currentChapterCnt?circle:circle2"/>
|
||||
<img :src="data.currentChapterCnt ? circle : circle2" />
|
||||
<div class="titleRT" :style="{ color: data.currentChapterCnt ? '' : 'rgba(102, 102, 102, 1)' }">
|
||||
{{ data.currentChapterCnt ? '进行中' : '未开始' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="course"
|
||||
v-for="(value, index) in data.taskBoList?.filter(
|
||||
<div class="course" v-for="(value, index) in data.taskBoList?.filter(
|
||||
(e) => !whiteTypes(e.type)
|
||||
)"
|
||||
:key="index"
|
||||
>
|
||||
)" :key="index">
|
||||
<div style="width: 70%">
|
||||
<div v-if="value.name.length > 50" class="coursename" :title="value.name">
|
||||
<el-popover ref="popover" placement="right" trigger="hover" :width="300" :content="value.name">
|
||||
@@ -43,18 +39,10 @@
|
||||
{{ value.name }}
|
||||
</div>
|
||||
<div class="coursetag">
|
||||
<div
|
||||
class="tag1"
|
||||
style="margin-right: 11px; margin-top: 16px"
|
||||
v-if="value.flag"
|
||||
>
|
||||
<div class="tag1" style="margin-right: 11px; margin-top: 16px" v-if="value.flag">
|
||||
必修
|
||||
</div>
|
||||
<div
|
||||
class="tag2"
|
||||
style="margin-right: 11px; margin-top: 16px"
|
||||
v-if="!value.flag"
|
||||
>
|
||||
<div class="tag2" style="margin-right: 11px; margin-top: 16px" v-if="!value.flag">
|
||||
选修
|
||||
</div>
|
||||
<div class="tag3" style="margin-right: 11px; margin-top: 16px">
|
||||
@@ -85,8 +73,7 @@
|
||||
}[parseInt(value.currentRatio / 20)]
|
||||
" />
|
||||
</div>
|
||||
<div style="font-size: 14px;font-weight: 500;color: #277aff;margin-left: 10px;"
|
||||
:style="{
|
||||
<div style="font-size: 14px;font-weight: 500;color: #277aff;margin-left: 10px;" :style="{
|
||||
color: {
|
||||
0: 'rgba(238, 112, 108, 1)',
|
||||
1: 'rgba(255, 151, 38, 1)',
|
||||
@@ -104,7 +91,7 @@
|
||||
<div class="goclass" :style="{
|
||||
background: `${types.path[value.type] ? '#2478ff' : '#999'}`,
|
||||
}" @click="toFinish(value)">
|
||||
{{ value.currentRatio === 100 ? "已完成" : types.path[value.type] ? types.toName[value.type] : "未开放" }}
|
||||
{{ value.status === 1 ? "已完成" : types.path[value.type] ? types.toName[value.type] : "未开放" }}
|
||||
</div>
|
||||
<!-- <div :style="{ display: value.status === 1 ? 'block' : 'none' }">-->
|
||||
<!-- <div-->
|
||||
@@ -356,7 +343,7 @@ const types = ref({
|
||||
6: "/livebroadcast",
|
||||
7: ({ courseId }) =>
|
||||
request(LINK_DETAILS(courseId), {}).then(({ data: { linkAddress } }) =>
|
||||
window.open(linkAddress)
|
||||
window.open(linkAddress, '_top')
|
||||
), //外联
|
||||
8: "/discusspage",
|
||||
9: "/moreactive",
|
||||
@@ -365,7 +352,7 @@ const types = ref({
|
||||
(evaType == 0
|
||||
? import.meta.env.VITE_BOE_TEST_DETAIL_URL
|
||||
: import.meta.env.VITE_BOE_TEST_OUT_DETAIL_URL) + targetId
|
||||
), //测评
|
||||
,'_top'), //测评
|
||||
11: "/surveydetail",
|
||||
12: "/ballotpage",
|
||||
13: "/projectdetails",
|
||||
@@ -457,17 +444,15 @@ function toFinish(d) {
|
||||
if (typeof types.value.path[d.type] === "string") {
|
||||
types.value.path[d.type] &&
|
||||
types.value.path[d.type].startsWith("http") &&
|
||||
window.open(types.value.path[d.type] + d.targetId);
|
||||
window.open(types.value.path[d.type] + d.targetId,'_top');
|
||||
types.value.path[d.type] &&
|
||||
types.value.path[d.type].startsWith("/") &&
|
||||
router.push({
|
||||
path: types.value.path[d.type],
|
||||
query: {
|
||||
id: d.routerTaskId,
|
||||
// id: routerId,
|
||||
type: 1,
|
||||
taskId: routerId,
|
||||
taskIds: routerId,
|
||||
infoId: routerId,
|
||||
courseId: d.courseId,
|
||||
pName: data.value.name,
|
||||
sName: data.value.currentStageName,
|
||||
@@ -508,6 +493,7 @@ function whiteTypes(type) {
|
||||
margin-top: 24px;
|
||||
display: flex;
|
||||
z-index: 2;
|
||||
|
||||
.detailL {
|
||||
flex: 1;
|
||||
margin-right: 20px;
|
||||
|
||||
@@ -334,7 +334,7 @@ import { ElMessage } from "element-plus";
|
||||
import { ref } from "vue";
|
||||
|
||||
const {
|
||||
query: { courseId, id: taskId, taskIds, type, pName, sName, chapterOrStageId },
|
||||
query: { courseId, id: taskId, infoId, type, pName, sName, chapterOrStageId },
|
||||
} = useRoute();
|
||||
const router = useRouter();
|
||||
const returnclick = () => {
|
||||
@@ -353,8 +353,8 @@ function formateArr(arr1) {
|
||||
return newarr
|
||||
}
|
||||
|
||||
const { data } = useRequest(ASSESSMENT_QUERY(courseId), { id: courseId, type, chapterOrStageId, targetId: taskIds ? taskIds : 0 });
|
||||
console.log('我是查询评估的参数', { id: courseId, type, chapterOrStageId, targetId: taskIds ? taskIds : 0 })
|
||||
const { data } = useRequest(ASSESSMENT_QUERY(courseId), { id: courseId, type, chapterOrStageId, targetId: infoId ? infoId : 0 });
|
||||
console.log('我是查询评估的参数', { id: courseId, type, chapterOrStageId, targetId: infoId ? infoId : 0 })
|
||||
console.log('我是需要排序得题目', data)
|
||||
|
||||
function goHome() {
|
||||
@@ -369,10 +369,10 @@ function submit() {
|
||||
if (1 > 0) {
|
||||
console.log(data)
|
||||
console.log('我是提交的数据', {
|
||||
targetId: taskId ? taskId : taskIds ? taskIds : 0, // 项目、路径图或开课的Id
|
||||
targetId: infoId ? infoId : 0, // 项目、路径图或开课的Id
|
||||
chapterOrStageId: chapterOrStageId ? chapterOrStageId : 0, // 关卡或者阶段Id 关卡Id不允许为空
|
||||
assessmentId: courseId,
|
||||
taskId: taskId ? taskId : taskIds ? taskIds : 0,
|
||||
taskId: taskId ? taskId : 0,
|
||||
type,
|
||||
result: JSON.stringify(data.value),
|
||||
})
|
||||
@@ -424,10 +424,10 @@ function submit() {
|
||||
|
||||
data.value.isSubmit = !data.value.isSubmit;
|
||||
request(ASSESSMENT_SUBMIT, {
|
||||
targetId: taskIds ? taskIds : 0, // 项目、路径图或开课的Id
|
||||
targetId: infoId ? infoId : 0, // 项目、路径图或开课的Id
|
||||
chapterOrStageId: chapterOrStageId ? chapterOrStageId : 0, // 关卡或者阶段Id 关卡Id不允许为空
|
||||
assessmentId: courseId,
|
||||
taskId: taskIds ? taskIds : 0,
|
||||
taskId: taskId ? taskId : 0,
|
||||
type,
|
||||
result: JSON.stringify(data.value),
|
||||
}).then(() => {
|
||||
|
||||
Reference in New Issue
Block a user