|
|
@ -49,7 +49,8 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="catalog"> |
|
|
|
<div class="catalog"> |
|
|
|
<div class="m-b-20"> |
|
|
|
<div class="m-b-20"> |
|
|
|
<el-button type="primary" @click="entry" style="width: 100%; height: 50px; font-size: 18px">进 入 实 验</el-button> |
|
|
|
<el-button v-if="!overdue" class="entry" type="primary" size="small" @click="showBuy">续费</el-button> |
|
|
|
|
|
|
|
<el-button v-else class="entry" type="primary" @click="entry">进 入 实 验</el-button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="list"> |
|
|
|
<div class="list"> |
|
|
|
<h4 class="title">{{ courseName }}</h4> |
|
|
|
<h4 class="title">{{ courseName }}</h4> |
|
|
@ -71,11 +72,11 @@ |
|
|
|
</el-card> |
|
|
|
</el-card> |
|
|
|
|
|
|
|
|
|
|
|
<el-card shadow="hover" class="m-b-20"> |
|
|
|
<el-card shadow="hover" class="m-b-20"> |
|
|
|
<h4 style="margin-bottom: 10px">课程简介</h4> |
|
|
|
<h4 style="margin-bottom: 10px;font-size: 16px;">课程简介</h4> |
|
|
|
<p>{{ briefIntroduction }}</p> |
|
|
|
<p>{{ briefIntroduction }}</p> |
|
|
|
</el-card> |
|
|
|
</el-card> |
|
|
|
<el-card shadow="hover" class="m-b-20"> |
|
|
|
<el-card shadow="hover" class="m-b-20"> |
|
|
|
<h4 style="margin-bottom: 10px">课程目标</h4> |
|
|
|
<h4 style="margin-bottom: 10px;font-size: 16px;">课程目标</h4> |
|
|
|
<p>{{ teachingObjectives }}</p> |
|
|
|
<p>{{ teachingObjectives }}</p> |
|
|
|
</el-card> |
|
|
|
</el-card> |
|
|
|
<el-dialog title="请选择项目" v-loading="loading" :visible.sync="projectVisible" width="828px" custom-class="project-dia" :close-on-click-modal="false"> |
|
|
|
<el-dialog title="请选择项目" v-loading="loading" :visible.sync="projectVisible" width="828px" custom-class="project-dia" :close-on-click-modal="false"> |
|
|
@ -91,6 +92,14 @@ |
|
|
|
<el-button size="small" type="primary" @click="toSub">确 定</el-button> |
|
|
|
<el-button size="small" type="primary" @click="toSub">确 定</el-button> |
|
|
|
</span> |
|
|
|
</span> |
|
|
|
</el-dialog> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 购买弹框 --> |
|
|
|
|
|
|
|
<el-dialog title="温馨提示" :visible.sync="buyVisible" width="420px" center :close-on-click-modal="false"> |
|
|
|
|
|
|
|
<div class="buy"> |
|
|
|
|
|
|
|
<p class="tips">该课程订阅期限已到期,若需要续费请扫码添加客服咨询</p> |
|
|
|
|
|
|
|
<img src="@/assets/img/wechat-code.jpeg" alt=""> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</el-dialog> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
|
@ -141,7 +150,9 @@ export default { |
|
|
|
projectVisible: false, |
|
|
|
projectVisible: false, |
|
|
|
projects: [], |
|
|
|
projects: [], |
|
|
|
loading: false, |
|
|
|
loading: false, |
|
|
|
curProject: '' |
|
|
|
curProject: '', |
|
|
|
|
|
|
|
overdue: 0, //是否过期 |
|
|
|
|
|
|
|
buyVisible: false |
|
|
|
}; |
|
|
|
}; |
|
|
|
}, |
|
|
|
}, |
|
|
|
computed: { |
|
|
|
computed: { |
|
|
@ -150,10 +161,9 @@ export default { |
|
|
|
]) |
|
|
|
]) |
|
|
|
}, |
|
|
|
}, |
|
|
|
mounted() { |
|
|
|
mounted() { |
|
|
|
bus.$emit("setBg", "none"); |
|
|
|
|
|
|
|
this.insertScript(); |
|
|
|
this.insertScript(); |
|
|
|
this.getData(); |
|
|
|
this.getData(); |
|
|
|
this.getChapter(); |
|
|
|
this.getStatus() |
|
|
|
}, |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
methods: { |
|
|
|
goBack() { |
|
|
|
goBack() { |
|
|
@ -168,12 +178,21 @@ export default { |
|
|
|
this.assessmentList = data.assessmentConfig; |
|
|
|
this.assessmentList = data.assessmentConfig; |
|
|
|
this.systemIds = data.systemIds |
|
|
|
this.systemIds = data.systemIds |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
// 查询是否过期 |
|
|
|
|
|
|
|
getStatus() { |
|
|
|
|
|
|
|
this.$get(this.api.whetherToRenewTheFee, { |
|
|
|
|
|
|
|
cid: this.courseId |
|
|
|
|
|
|
|
}).then(({ isRenew }) => { |
|
|
|
|
|
|
|
// 1正常显示资源,0显示续费 |
|
|
|
|
|
|
|
this.overdue = isRenew |
|
|
|
|
|
|
|
this.getChapter() |
|
|
|
|
|
|
|
}).catch(res => {}) |
|
|
|
|
|
|
|
}, |
|
|
|
async getChapter() { |
|
|
|
async getChapter() { |
|
|
|
let res = await this.$get(`${this.api.curriculumChapter}/${this.courseId}`); |
|
|
|
let res = await this.$get(`${this.api.curriculumChapter}/${this.courseId}`); |
|
|
|
this.chapterList = res.chapterList; |
|
|
|
this.chapterList = res.chapterList; |
|
|
|
if (this.chapterList.length && this.chapterList[0].subsectionList && this.chapterList[0].subsectionList.length) { |
|
|
|
if (this.chapterList.length && this.chapterList[0].subsectionList && this.chapterList[0].subsectionList.length) { |
|
|
|
// console.log(this.chapterList[0].subsectionList[0]); |
|
|
|
this.preview(this.chapterList[0].subsectionList[0], this.chapterList[0].name, 1); |
|
|
|
this.preview(this.chapterList[0].subsectionList[0], this.chapterList[0].name); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
// 插入阿里云播放器脚本 |
|
|
|
// 插入阿里云播放器脚本 |
|
|
@ -194,12 +213,18 @@ export default { |
|
|
|
document.body.removeChild(document.querySelector("#aliplayerScript")); |
|
|
|
document.body.removeChild(document.querySelector("#aliplayerScript")); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
// 显示咨询弹框 |
|
|
|
|
|
|
|
showBuy() { |
|
|
|
|
|
|
|
this.buyVisible = true |
|
|
|
|
|
|
|
}, |
|
|
|
transferType(ext) { |
|
|
|
transferType(ext) { |
|
|
|
if ("jpg,jpeg,png,gif,svg,psd".includes(ext)) return "图片"; |
|
|
|
if ("jpg,jpeg,png,gif,svg,psd".includes(ext)) return "图片"; |
|
|
|
if ("mp4,3gp,mov,m4v,avi,dat,mkv,flv,vob,rmvb,rm,qlv".includes(ext)) return "视频"; |
|
|
|
if ("mp4,3gp,mov,m4v,avi,dat,mkv,flv,vob,rmvb,rm,qlv".includes(ext)) return "视频"; |
|
|
|
return ext; |
|
|
|
return ext; |
|
|
|
}, |
|
|
|
}, |
|
|
|
preview(row, chapterName) { |
|
|
|
preview(row, chapterName, showDia = 0) { |
|
|
|
|
|
|
|
// 如果没过期,则正常预览,否则显示购买弹框 |
|
|
|
|
|
|
|
if (this.overdue || showDia) { |
|
|
|
this.curLink = `${chapterName}${row.name}`; // 章节名称+小节名称,小节名称有重复的情况,如果只用小节名称判断,会有同时选中多个的情况 |
|
|
|
this.curLink = `${chapterName}${row.name}`; // 章节名称+小节名称,小节名称有重复的情况,如果只用小节名称判断,会有同时选中多个的情况 |
|
|
|
this.playauth = ""; |
|
|
|
this.playauth = ""; |
|
|
|
this.coverUrl = ""; |
|
|
|
this.coverUrl = ""; |
|
|
@ -275,6 +300,9 @@ export default { |
|
|
|
this.iframeSrc = res.previewUrl; |
|
|
|
this.iframeSrc = res.previewUrl; |
|
|
|
}).catch(err => {}); |
|
|
|
}).catch(err => {}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
this.showBuy() |
|
|
|
|
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
closePlayer() { |
|
|
|
closePlayer() { |
|
|
|
this.playAuth = ""; |
|
|
|
this.playAuth = ""; |
|
|
@ -370,7 +398,10 @@ export default { |
|
|
|
|
|
|
|
|
|
|
|
if (systemId == 11) { |
|
|
|
if (systemId == 11) { |
|
|
|
// 银行系统 |
|
|
|
// 银行系统 |
|
|
|
location.href = `${Setting.bankPath}/#/index/list?curriculumName=${this.curriculumName}&token=${token}&cid=${this.courseId}&systemId=${this.systemIds}&projectId=${this.curProject}&assessmentId=&classId=&stopTime=&test=true` |
|
|
|
location.href = `${Setting.bankPath}/#/index/list?curriculumName=${this.curriculumName}&token=${token}&cid=${this.courseId}&systemId=${this.systemIds}&projectId=${this.curProject}&assessmentId=&classId=&stopTime=&test=true&manager=1` |
|
|
|
|
|
|
|
} else if (systemId == 12) { |
|
|
|
|
|
|
|
// 众筹系统 |
|
|
|
|
|
|
|
window.open(`http://120.78.139.126:8879?systemId=${systemId}&courseId=${this.courseId}&projectId=${this.curProject}&token=${token}`); |
|
|
|
} else if (systemId == 21) { |
|
|
|
} else if (systemId == 21) { |
|
|
|
window.open(`http://121.37.29.24:80/yyyflogin?userId=${this.userId}&userName=${userName}&userType=${roleId}&reqType=1&reqId=3989a0ad671849b99dcbdcc208782333&caseId=9681f86902314b10bc752909121f9ab9&authorization=87DIVy348Oxzj3ha&classId=1876&courserId=7ff5d4715b114b7398b6f26c20fac460`); |
|
|
|
window.open(`http://121.37.29.24:80/yyyflogin?userId=${this.userId}&userName=${userName}&userType=${roleId}&reqType=1&reqId=3989a0ad671849b99dcbdcc208782333&caseId=9681f86902314b10bc752909121f9ab9&authorization=87DIVy348Oxzj3ha&classId=1876&courserId=7ff5d4715b114b7398b6f26c20fac460`); |
|
|
|
} else if (systemId == 22) { |
|
|
|
} else if (systemId == 22) { |
|
|
@ -404,6 +435,11 @@ $height: 700px; |
|
|
|
overflow: hidden; |
|
|
|
overflow: hidden; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.entry { |
|
|
|
|
|
|
|
width: 100%; |
|
|
|
|
|
|
|
height: 50px; |
|
|
|
|
|
|
|
font-size: 18px; |
|
|
|
|
|
|
|
} |
|
|
|
.fileIframe{ |
|
|
|
.fileIframe{ |
|
|
|
height: $height !important; |
|
|
|
height: $height !important; |
|
|
|
} |
|
|
|
} |
|
|
@ -502,6 +538,16 @@ $height: 700px; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.buy { |
|
|
|
|
|
|
|
text-align: center; |
|
|
|
|
|
|
|
.tips { |
|
|
|
|
|
|
|
margin-bottom: 10px; |
|
|
|
|
|
|
|
font-size: 14px; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
img { |
|
|
|
|
|
|
|
width: 85%; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
.el-image-viewer__wrapper{ |
|
|
|
.el-image-viewer__wrapper{ |
|
|
|
transform: translateY(-10px); |
|
|
|
transform: translateY(-10px); |
|
|
|
transition: transform .5s; |
|
|
|
transition: transform .5s; |
|
|
|