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
|
||||
13
src/App.vue
13
src/App.vue
@@ -25,18 +25,18 @@
|
||||
</router-link>
|
||||
</div> -->
|
||||
<main style="z-index: 2">
|
||||
<router-view/>
|
||||
<router-view />
|
||||
</main>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import {boeRequest} from "@/api/request";
|
||||
import {GET_USER_INFO} from "@/api/ThirdApi";
|
||||
import {useStore} from "vuex";
|
||||
import {onMounted} from "vue";
|
||||
import { boeRequest } from "@/api/request";
|
||||
import { GET_USER_INFO } from "@/api/ThirdApi";
|
||||
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() {
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<div style="margin-left: 8px">
|
||||
{{ dayjs(data.planDto?.beginTime).format('YYYY-MM-DD HH:MM') + " 至 " +
|
||||
dayjs(data.planDto?.endTime).format('YYYY-MM-DD HH:MM')
|
||||
}}
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="data.planDto?.address" class="time" style="margin-top: 23px">
|
||||
@@ -38,14 +38,14 @@
|
||||
|
||||
<botton class="btn" style="margin-right: 20px" :style="{
|
||||
background: data.signFlag ? '#999' : 'rgb(57, 146, 249)',
|
||||
}" @click="signClick">{{ data.signFlag ? "已签到" : "签到" }}
|
||||
}" @click="signClick">{{ data.signFlag ? "已签到" : "签到" }}
|
||||
</botton>
|
||||
<botton style="background: #999" class="btn" @click="toSurvery" v-if="data.planDto?.evalFlag == 0">
|
||||
评估
|
||||
</botton>
|
||||
<botton :style="{
|
||||
background: `${new Date(data.planDto?.beginTime).getTime() > new Date().getTime() ? '#999' : data.isSurvery ? '#999' : 'rgb(57, 146, 249)'}`,
|
||||
}" class="btn" @click="toSurvery" v-else>{{ data.isSurvery ? "已评估" : "评估" }}
|
||||
}" class="btn" @click="toSurvery" v-else>{{ data.isSurvery ? "已评估" : "评估" }}
|
||||
</botton>
|
||||
</div>
|
||||
</div>
|
||||
@@ -82,7 +82,7 @@
|
||||
width: '22px',
|
||||
height: '26px',
|
||||
marginLeft: '10px',
|
||||
}"></FileTypeImg>
|
||||
}"></FileTypeImg>
|
||||
<div style="margin-left: 20px">{{ el.slice(el.indexOf('-') + 1) }}</div>
|
||||
</div>
|
||||
<div v-if="new Date(data.planDto.beginTime).getTime() > new Date().getTime()" class="download">
|
||||
@@ -114,7 +114,7 @@
|
||||
|
||||
<div
|
||||
:style="{ background: new Date(data.planDto?.beginTime).getTime() > new Date().getTime() ? '#999' : '' }"
|
||||
class="submit" @click="toWork" >
|
||||
class="submit" @click="toWork">
|
||||
交作业
|
||||
</div>
|
||||
</div>
|
||||
@@ -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 });
|
||||
}
|
||||
|
||||
|
||||
@@ -48,20 +48,22 @@
|
||||
<div class="threeBtn">
|
||||
<botton class="btn" :style="{
|
||||
background: `${new Date(data.liveStartTime).getTime() > new Date().getTime() ? '#999' : 'rgb(59, 191, 252)'}`,
|
||||
}" @click="showClick">观看
|
||||
}" @click="showClick">观看
|
||||
</botton>
|
||||
|
||||
<botton class="btn" :style="{
|
||||
background: `${new Date(data.liveStartTime).getTime() > new Date().getTime() ? '#999' : data.signFlag ? '#999' : 'rgb(57, 146, 249)'}`,
|
||||
}" @click="signClick">{{ data.signFlag ? "已签到" : "签到" }}
|
||||
}" @click="signClick">{{ data.signFlag ? "已签到" : "签到" }}
|
||||
</botton>
|
||||
<botton style="background: #999" class="btn" @click="commitClick" v-if="data.isEvaluate == 0 ">
|
||||
<botton style="background: #999" class="btn" @click="commitClick" v-if="data.isEvaluate == 0">
|
||||
评估
|
||||
</botton>
|
||||
|
||||
<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>
|
||||
@@ -138,7 +140,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { computed, reactive, toRefs,onUnmounted } from "vue";
|
||||
import { computed, reactive, toRefs, onUnmounted } from "vue";
|
||||
import img from "@/assets/image/uploadimg.png";
|
||||
import { request, useRequest } from "@/api/request";
|
||||
import { TASK_BROADCAST_DETAIL, TASK_BROADCAST_SIGN } from "@/api/api";
|
||||
@@ -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>
|
||||
@@ -30,7 +32,7 @@
|
||||
<div v-if="i.stageId == '0' && i.taskProcessList.length == 0"></div>
|
||||
<div v-else class="course" v-for="(value, index) in i.taskProcessList.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">
|
||||
@@ -71,7 +73,7 @@
|
||||
4: 'rgba(57, 219, 183, 1)',
|
||||
5: 'rgba(57, 219, 183, 1)',
|
||||
}[parseInt(value.currentRatio / 20)]
|
||||
" />
|
||||
" />
|
||||
</div>
|
||||
<div style="font-size: 14px;font-weight: 500;color: #277aff;margin-left: 10px;color:#677d86;">
|
||||
{{ value.currentRatio }}%
|
||||
@@ -81,12 +83,12 @@
|
||||
</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]
|
||||
: "未开放"
|
||||
}}
|
||||
}}
|
||||
</div>
|
||||
<!-- <div :style="{ display: value.status === 1 ? 'block' : 'none' }">-->
|
||||
<!-- <div-->
|
||||
@@ -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>
|
||||
@@ -193,7 +198,7 @@
|
||||
4: 'rgba(57, 219, 183, 1)',
|
||||
5: 'rgba(57, 219, 183, 1)',
|
||||
}[parseInt((data.totalProgress * 100) / 20)]
|
||||
" />
|
||||
" />
|
||||
</div>
|
||||
<div style="font-size: 14px; font-weight: 500; margin-left: 10px;color:#677d86;">
|
||||
{{ parseInt(data.totalProgress * 100) }}%
|
||||
@@ -216,7 +221,7 @@
|
||||
4: 'rgba(57, 219, 183, 1)',
|
||||
5: 'rgba(57, 219, 183, 1)',
|
||||
}[parseInt((data.compulsoryProgress * 100) / 20)]
|
||||
" />
|
||||
" />
|
||||
</div>
|
||||
<div style="
|
||||
font-size: 14px;
|
||||
@@ -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,22 +19,17 @@
|
||||
<div class="title">
|
||||
<div class="titleL">{{ data.currentStageName }}</div>
|
||||
<div class="titleR" :style="{ display: 'flex' }">
|
||||
<img
|
||||
:src="data.currentChapterCnt?circle:circle2"/>
|
||||
<div class="titleRT" :style="{color:data.currentChapterCnt?'':'rgba(102, 102, 102, 1)'}">
|
||||
<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">
|
||||
<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">
|
||||
<template #reference>{{ value.name }}</template>
|
||||
</el-popover>
|
||||
@@ -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">
|
||||
@@ -83,10 +71,9 @@
|
||||
4: 'rgba(57, 219, 183, 1)',
|
||||
5: 'rgba(57, 219, 183, 1)',
|
||||
}[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)',
|
||||
@@ -95,7 +82,7 @@
|
||||
4: 'rgba(57, 219, 183, 1)',
|
||||
5: 'rgba(57, 219, 183, 1)',
|
||||
}[parseInt(value.currentRatio / 20)],
|
||||
}">
|
||||
}">
|
||||
{{ value.currentRatio }}%
|
||||
</div>
|
||||
</div>
|
||||
@@ -103,8 +90,8 @@
|
||||
</div>
|
||||
<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] : "未开放" }}
|
||||
}" @click="toFinish(value)">
|
||||
{{ value.status === 1 ? "已完成" : types.path[value.type] ? types.toName[value.type] : "未开放" }}
|
||||
</div>
|
||||
<!-- <div :style="{ display: value.status === 1 ? 'block' : 'none' }">-->
|
||||
<!-- <div-->
|
||||
@@ -211,7 +198,7 @@
|
||||
4: 'rgba(57, 219, 183, 1)',
|
||||
5: 'rgba(57, 219, 183, 1)',
|
||||
}[(parseInt(data.currentChapterCnt / data.totalChapterCnt) * 100) / 20]
|
||||
" />
|
||||
" />
|
||||
</div>
|
||||
<div style="font-size: 14px; font-weight: 500; margin-left: 10px" :style="{
|
||||
color: {
|
||||
@@ -222,7 +209,7 @@
|
||||
4: 'rgba(57, 219, 183, 1)',
|
||||
5: 'rgba(57, 219, 183, 1)',
|
||||
}[parseInt((data.currentChapterCnt / data.totalChapterCnt * 100) / 20)],
|
||||
}">
|
||||
}">
|
||||
{{ parseInt(data.currentChapterCnt / data.totalChapterCnt * 100) }}%
|
||||
</div>
|
||||
</div>
|
||||
@@ -243,7 +230,7 @@
|
||||
4: 'rgba(57, 219, 183, 1)',
|
||||
5: 'rgba(57, 219, 183, 1)',
|
||||
}[parseInt((data.currentReqCnt / data.totalReqCnt * 100) / 20)]
|
||||
" />
|
||||
" />
|
||||
</div>
|
||||
<div style="
|
||||
font-size: 14px;
|
||||
@@ -259,7 +246,7 @@
|
||||
4: 'rgba(57, 219, 183, 1)',
|
||||
5: 'rgba(57, 219, 183, 1)',
|
||||
}[parseInt((data.currentReqCnt / data.totalReqCnt * 100) / 20)],
|
||||
}">
|
||||
}">
|
||||
{{ parseInt(data.currentReqCnt / data.totalReqCnt * 100) }}%
|
||||
</div>
|
||||
</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;
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
<div class="question" v-for="
|
||||
(value, index) in formateArr([data.assessmentEssayQuestionDtoList, data.assessmentMultipleChoiceDtoList, data.assessmentScoringQuestionDtoList, data.assessmentSingleChoiceDtoList]).sort((a, b) => {
|
||||
return a[0].orderNumber - b[0].orderNumber
|
||||
}) " :key="index" :style="{ 'margin-top': index === 0 ? '57px' : '41px' }">
|
||||
}) " :key="index" :style="{ 'margin-top': index === 0 ? '57px' : '41px' }">
|
||||
<div v-if="value[0].questionType == '4'">
|
||||
<div class="question" v-for="(value, index) in data.assessmentScoringQuestionDtoList" :key="index"
|
||||
:style="{ 'margin-top': index === 0 ? '57px' : '41px' }">
|
||||
@@ -58,7 +58,7 @@
|
||||
<div class="answerCitem" v-for="(item, key) in Array.from(
|
||||
{ length: value.assessmentMaxScore },
|
||||
(k, i) => i
|
||||
)" :key="key" :style="{
|
||||
)" :key="key" :style="{
|
||||
'margin-left': key === 0 ? '15px' : '10px',
|
||||
background:
|
||||
value.selectAnswer === item
|
||||
@@ -88,7 +88,7 @@
|
||||
<div class="question" style="margin-top: 41px" v-if="
|
||||
data.assessmentSingleChoiceDtoList &&
|
||||
data.assessmentSingleChoiceDtoList.length
|
||||
">
|
||||
">
|
||||
<div class="text">
|
||||
{{ data.assessmentSingleChoiceDtoList[0]?.singleStemName }}
|
||||
</div>
|
||||
@@ -96,7 +96,7 @@
|
||||
style="display: flex; align-items: center" :style="{
|
||||
'margin-top': index === 0 ? '29px' : '22px',
|
||||
cursor: 'pointer',
|
||||
}" @click="
|
||||
}" @click="
|
||||
() => {
|
||||
if (data.isSubmit) {
|
||||
return;
|
||||
@@ -117,7 +117,7 @@
|
||||
<div class="question" style="margin-top: 41px" v-if="
|
||||
data.assessmentMultipleChoiceDtoList &&
|
||||
data.assessmentMultipleChoiceDtoList.length
|
||||
">
|
||||
">
|
||||
<div class="text">
|
||||
{{ data.assessmentMultipleChoiceDtoList[0]?.multipleStemName }}
|
||||
</div>
|
||||
@@ -125,7 +125,7 @@
|
||||
style="display: flex; align-items: center" :style="{
|
||||
'margin-top': index === 0 ? '29px' : '22px',
|
||||
cursor: 'pointer',
|
||||
}" @click="
|
||||
}" @click="
|
||||
() => {
|
||||
if (data.isSubmit) {
|
||||
return;
|
||||
@@ -296,7 +296,7 @@
|
||||
data.assessmentMultipleChoiceDtoList?.length ||
|
||||
data.assessmentSingleChoiceDtoList?.length ||
|
||||
data.assessmentScoringQuestionDtoList?.length
|
||||
">
|
||||
">
|
||||
<div class="submit" @click="submit" :style="{ background: data.isSubmit ? '#999' : '#2478ff' }">
|
||||
提交
|
||||
</div>
|
||||
@@ -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