This commit is contained in:
zhangsir
2024-06-26 09:05:10 +08:00
parent 4d96ad1b22
commit 8db79d599b
6 changed files with 600 additions and 3 deletions

View File

@@ -5,3 +5,7 @@ export const getList = (params) => ajax.get('/manageApi',`/stu/grow/getStuLearnI
export const taskList = (params) => ajax.get('/manageApi',`/stu/grow/taskList?growId=${params}`); export const taskList = (params) => ajax.get('/manageApi',`/stu/grow/taskList?growId=${params}`);
//全岗位路径 //全岗位路径
export const getFullJobPath = (params) => ajax.get('/manageApi',`/stu/grow/getFullJobPath`); export const getFullJobPath = (params) => ajax.get('/manageApi',`/stu/grow/getFullJobPath`);
//外部考试
export const queryExternalExam = (params) => ajax.get('/manageApi',`/external/exam/queryExternalExam?externalId=${params.externalId}&type=14`);
//外部考试点击调用
export const submitExternalExam = (params) => ajax.postJson('/manageApi',`/stu/externalExam/submitExternalExam`,params);

Binary file not shown.

After

Width:  |  Height:  |  Size: 818 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -124,6 +124,13 @@ export const constantRoutes = [{
name: 'growthpath', name: 'growthpath',
meta: { title: '成长路径图', keepAlive: true, icon: 'dashboard', noCache: true, affix: false }, meta: { title: '成长路径图', keepAlive: true, icon: 'dashboard', noCache: true, affix: false },
}, },
{
path: '/ExamScore',
hidden: true,
component: (resolve) => require(['@/views/study/ExamScore'], resolve),
name: 'ExamScore',
meta: { title: '成长路径图', keepAlive: true, icon: 'dashboard', noCache: true, affix: false },
},
{ {
path: '/courseRecommended', path: '/courseRecommended',
hidden: true, hidden: true,

View File

@@ -0,0 +1,567 @@
<template>
<div>
<div style="background-color: #0078fc;">
<portalHeader textColor="#fff" class="qa-nav" @emitInput="emitInput" @showClass="showClass"></portalHeader>
</div>
<div style=" background: #0078fc;height: 150px;width: 100%;position: absolute;top: 0;z-index:-9999;"></div>
<div class="moreactive" style="padding: 30px">
<!-- 面包屑导航 -->
<div class="crumb">
<div>学习任务</div>
<div style="margin-left: 6px; margin-right: 6px">/</div>
<div>外部考试</div>
<div style="margin-left: 6px; margin-right: 6px">/</div>
<div style="font-weight: 700; font-size: 16px">考试详情</div>
<div class="return">
<div style="background: #fff;display: flex;color:#0073FB;align-items: center;justify-content: center;border-radius: 6px;width: 92px;height: 32px;" @click="returnclick">
<!-- <div style="color:#0073FB;display: flex;align-items: center;"> -->
<img class="img2" style="margin-right:11px;cursor: pointer;" src="../../assets/images/growth/return.png" />
<span>返回</span>
<!-- </div> -->
</div>
</div>
</div>
<!-- 面包屑导航 -->
<!-- 详细信息 -->
<div class="detailinfo">
<div class="detail">
<div class="detailT">
<div class="left">
<div class="debateTitle" style="color:rgba(51, 51, 51, 1);font-size:20px;margin-top:46px;">考试{{ this.$route.query.pName }}</div>
<div class="title">
<img
style="width: 20px; height: 20px"
src="../../assets/images/growth/yuan.png"
/>
<div class="text">数据来源</div>
<div class="box"></div>
</div>
<div class="all" style="font-size:14px;color:rgba(51, 51, 48, 1);">
{{ datainfo.source ? datainfo.source : "-" }}
</div>
</div>
</div>
<div class="detailT" style="margin-top:20px;height:671px;">
<div class="left">
<div class="title">
<img
style="width: 20px; height: 20px"
src="../../assets/images/growth/yuan.png"
/>
<div class="text">考试说明</div>
<div class="box"></div>
</div>
<!-- <div style="display: flex; align-items: center"></div> -->
<div class="all" style="font-size:14px;color:rgba(51, 51, 48, 1);">
<div>
{{ datainfo.examinationExplain ? datainfo.examinationExplain : "暂无考试说明" }}
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 详细信息 -->
</div>
</div>
</template>
<script>
import portalHeader from '@/components/PortalHeader.vue';
import {queryExternalExam,submitExternalExam} from '@/api/growth/index'
export default {
name: "ExamScore",
components: { portalHeader },
data() {
return {
hasPrev: false,
hasNext: false,
exname: "",
datainfo: {},
};
},
mounted() {
queryExternalExam({
externalId: this.$route.query.courseId
}).then(res=>{
console.log(res,'res')
this.datainfo = res.data
})
},
methods: {
returnclick () {
this.$router.back();
},
emitInput(val) {
this.queryKeyWord = val;
this.isSeach = true;
this.search();
},
showClass(flag) {
if (flag) {
this.showUClass = flag;
}
},
},
}
</script>
<style scoped lang="scss">
.clearfix:before,
.clearfix:after {
content: "";
display: table;
clear: both;
}
.moreactive {
.crumb {
color: #fff;
display: flex;
font-size: 14px;
line-height: 24px;
position: relative;
}
.return{
position: absolute;
right: 1%;
.text{
text-align: center;
display: flex;
flex-direction: row;
align-items: center;
}
}
.preNext {
position: absolute;
right: 0px;
.content {
font-size: 14px;
color: #fff;
width: 43px;
height: 14px;
display: inline-block;
position: relative;
top: -6px;
cursor: pointer;
}
.btn {
width: 23px;
height: 23px;
border-radius: 50%;
border: 0;
cursor: pointer;
}
}
.debateTitle {
margin-top: 15px;
font-size: 20px;
line-height: 24px;
height: 24px;
font-weight: 600;
color: #fff;
margin-left: -10px;
}
.detailinfo {
width: 100%;
margin-top: 20px;
display: flex;
.detail {
flex: 1;
// margin-right: 20px;
.detailT {
min-height: 95px;
background: #ffffff;
border-radius: 8px;
color: rgba(51, 51, 51, 1);
display: flex;
padding-bottom: 20px;
.left {
margin-left: 48px;
flex: 1;
}
.right {
width: 417px;
margin-right: 48px;
.righttitle {
display: flex;
padding-top: 39px;
position: relative;
.text {
margin-left: 8px;
font-size: 16px;
color: rgba(51, 51, 51, 1);
font-weight: 800;
}
.box {
width: 75px;
height: 10px;
background-color: rgba(36, 120, 255, 0.15);
position: absolute;
left: 23px;
top: 53px;
}
}
.timebox {
width: 417px;
height: 149px;
background: linear-gradient(90deg, #b6c6e1 0%, #89aed6 100%);
border-radius: 4px;
margin-top: 42px;
}
.innertime {
margin-top: 17px;
margin-left: 55px;
font-size: 14px;
font-weight: 500;
color: #ffffff;
line-height: 24px;
}
.endtime {
margin-left: 10px;
margin-top: 16px;
width: 397px;
height: 81px;
background: #f2f5f7;
border-radius: 0px 8px 0px 8px;
.endtimetext {
margin-top: 25px;
margin-left: 46px;
.te {
font-size: 28px;
font-weight: 800;
color: #4a9cf8;
line-height: 24px;
}
}
}
.explain {
margin-top: 30px;
width: 416px;
padding-bottom: 50px;
background: #f2f5f7;
border-radius: 8px;
}
.explaincontent {
width: 368px;
font-size: 16px;
font-weight: 500;
color: #333330;
line-height: 24px;
margin-left: 24px;
margin-top: 47px;
}
}
.title {
display: flex;
align-items: center;
padding-top: 39px;
position: relative;
}
.title .text {
margin-left: 8px;
font-size: 16px;
color: rgba(51, 51, 51, 1);
font-weight: 800;
}
.title .box {
width: 75px;
height: 10px;
background-color: rgba(36, 120, 255, 0.15);
position: absolute;
left: 23px;
top: 53px;
}
.all {
display: flex;
justify-content: space-between;
// width: 1280px;
margin-right: 48px;
margin-top: 43px;
.allbox1 {
margin-right: 22px;
background: linear-gradient(
0deg,
rgba(160, 193, 230, 0) 0%,
rgba(161, 195, 231, 0.2) 100%
);
}
.allbox2 {
margin-right: 22px;
background: linear-gradient(
0deg,
rgba(177, 219, 229, 0) 0%,
rgba(172, 216, 227, 0.2) 100%
);
}
.allbox3 {
background: linear-gradient(
0deg,
rgba(195, 209, 234, 0) 0%,
rgba(191, 206, 231, 0.2) 100%
);
}
.item {
// width: 410px;
width: calc(100% - 44px);
height: 149px;
text-align: center;
border-radius: 4px;
.item1 {
color: #089dff;
font-size: 24px;
font-weight: bold;
margin-top: 36px;
}
.item2 {
color: #333330;
font-size: 14px;
margin-top: 29px;
}
}
}
.join {
// width: 1280px;
margin-right: 48px;
// min-height: 408px;
// background: #f5f6f7;
// border-radius: 8px;
margin-top: 32px;
margin-left: 21px;
flex: 1;
.stem {
display: flex;
font-size: 16px;
font-weight: 500;
color: #333330;
line-height: 38px;
}
.options {
display: flex;
align-items: center;
flex-wrap: wrap;
}
.radio {
margin-top: 14px;
margin-left: -16px;
position: relative;
}
.radio label {
line-height: 20px;
position: relative;
display: flex;
align-items: center;
font-weight: normal;
.opt-text {
font-size: 14px;
font-weight: bold;
color: #333330;
line-height: 18px;
margin-left: 10px;
}
}
.radio .option {
width: 19px;
height: 18px;
// position: absolute;
// top: 1px;
// // top: 32px;
// left: 0px;
background-size: cover;
// background: url(../../assets/image/noselect.png) no-repeat;
background-size: cover;
}
.radio input[type="radio"] {
display: inline-block;
margin-right: -3px;
opacity: 0;
}
.radio input[type="radio"]:checked + div {
// background: url(../../assets/image/select.png) no-repeat;
background-size: cover;
}
.imgcontent {
display: flex;
.imgone {
width: 140px;
height: 140px;
border-radius: 8px;
// background-image: url(../../assets/image/px.png);
background-size: 100% 100%;
background-position: center;
}
}
.ontitle {
margin-top: 27px;
font-size: 14px;
color: #333330;
}
}
}
.detailB {
min-height: 363px;
background: #ffffff;
border-radius: 8px;
margin-top: 20px;
.el-tabs__item {
height: 69px;
padding: 25px 7px 0px 52px;
font-size: 14px;
font-weight: 500;
}
.el-tabs__nav-wrap::after {
background-color: rgba(56, 125, 247, 0.2);
}
.enclosure {
height: 89px;
margin-left: 51px;
margin-right: 40px;
// border-bottom: 1px solid rgba(56, 125, 247, 0.2);
display: flex;
justify-content: space-between;
align-items: center;
.enclosureL {
display: flex;
align-items: center;
font-size: 14px;
font-weight: 400;
color: #677d86;
line-height: 24px;
}
.download {
display: flex;
align-items: center;
font-size: 16px;
font-weight: 400;
color: #2478ff;
line-height: 24px;
cursor: pointer;
}
}
.work {
margin-left: 51px;
margin-right: 40px;
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 37px;
}
.work .question {
font-size: 14px;
font-weight: 500;
color: #333330;
line-height: 18px;
}
.work .active {
width: 82px;
height: 28px;
background: linear-gradient(90deg, #a5d4e0 0%, #b4dce6 100%);
border-radius: 4px;
font-size: 14px;
font-weight: 500;
color: #ffffff;
line-height: 24px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
margin-right: 11px;
}
.work .unactive {
width: 80px;
height: 26px;
border: 1px solid #a5d4e0;
border-radius: 4px;
font-size: 14px;
font-weight: 500;
color: #a5d4e0;
line-height: 24px;
display: flex;
align-items: center;
justify-content: center;
margin-right: 11px;
cursor: pointer;
}
.work .btncolor {
background: linear-gradient(90deg, #84aad2 0%, #a4c5e9 100%);
}
.work .bordercolor {
border: 1px solid #85aad2;
}
.work .fontcolor {
color: rgba(133, 170, 210, 1);
}
.work .submit {
width: 126px;
height: 46px;
background: #2478ff;
box-shadow: 0px 1px 8px 0px rgba(56, 125, 247, 0.7);
border-radius: 4px;
font-size: 16px;
font-weight: 800;
color: #ffffff;
line-height: 24px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
}
}
}
}
}
</style>

View File

@@ -269,7 +269,7 @@
<script> <script>
import portalHeader from '@/components/PortalHeader.vue'; import portalHeader from '@/components/PortalHeader.vue';
import {taskList,getFullJobPath} from '@/api/growth'; import {taskList,getFullJobPath,submitExternalExam} from '@/api/growth';
import { scrollTo } from '@/utils/scroll-to' import { scrollTo } from '@/utils/scroll-to'
export default { export default {
name: 'GrowthPath', name: 'GrowthPath',
@@ -698,7 +698,26 @@ export default {
this.$router.push("/course/studyindex?id=" + item.targetId); this.$router.push("/course/studyindex?id=" + item.targetId);
}else if (item.type == 5) { }else if (item.type == 5) {
if(item.examType != 1){ if(item.examType != 1){
window.open(`${process.env.VUE_APP_BOE_WEB_URL}/fe-student/externalexamination?id=${item.id}&type=${item.type}&infoId=${item.id}&courseId=${item.id}&pName=${item.name}&exname=${item.name}&chapterOrStageId=${0}`) // window.open(`${process.env.VUE_APP_BOE_WEB_URL}/fe-student/externalexamination?id=${item.id}&type=${14}&infoId=${item.id}&courseId=${item.id}&pName=${item.name}&exname=${item.name}&chapterOrStageId=${0}`)
submitExternalExam({
"type": 14,
"externalId": item.courseId,
"externalName": item.title,
"targetId": this.$route.query.growId,
"studentNo": item.studentNo
}).then(res=>{
console.log(res,'res')
})
this.$router.push({
path: '/ExamScore',
query: {
id: item.id,
type: 14,
pName: item.title,
courseId: item.courseId,
studentNo: item.studentNo
}
})
return return
} }
console.log(item,'考试') console.log(item,'考试')