Merge branch 'master-0726' into dev_master

This commit is contained in:
nisen
2024-08-28 14:57:01 +08:00
22 changed files with 368 additions and 143 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 690 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 683 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

View File

@@ -37,7 +37,7 @@
</div>
</div>
<div style="text-align: center;padding-bottom: 10px;">
<el-button type="primary" @click="submitHomework()">{{records.length>0?'重新提交':'提交'}}</el-button>
<el-button type="primary" :disabled="isSubmit" @click="submitHomework()">{{records.length>0?'重新提交':'提交'}}</el-button>
</div>
</div>
<div v-show="showRecord"><!--作业提交记录-->
@@ -87,10 +87,12 @@ export default {
has:true,
info:{},
studyItemId:'',
studyItemIdOnce: '',
filePath:'',
answer:'',
close:false,
records:[],//作业记录
isSubmit:false,
};
},
mounted() {
@@ -134,7 +136,11 @@ export default {
}
apiCourseStudy.myHomeworkList(params).then(rs=>{
if(rs.status==200){
this.studyItemId = ''
this.records=rs.result;
if(rs.result.length>0){
this.studyItemIdOnce = rs.result[rs.result.length - 1].id;
}
}
})
},
@@ -171,9 +177,9 @@ export default {
return;
}
}
this.isSubmit = true
let pamars = {
studyItemId: this.studyItemId,//学习内容记录id,
studyItemId: this.studyItemId || this.studyItemIdOnce,//学习内容记录id,
studyId: this.studyId,//学习id,
courseId: this.content.courseId,//课程id,
contentId: this.content.id,//内容id,
@@ -185,6 +191,7 @@ export default {
score: 0
}
apiCourseStudy.saveHomework(pamars).then(res=>{
this.isSubmit = false
if(res.status==200){
this.$message.success("作业已提交");
this.filePath='';

View File

@@ -1049,6 +1049,7 @@
this.cwareChange.curriculumData = deepClone(this.cware.curriculumData)
}
}else if(index==2){
this.homework.content.contentName = this.homework.info.name || '作业'
postData.content=this.homework.content;
postData.homework=this.homework.info;
this.homeworkChange = deepClone(this.homework)
@@ -1087,9 +1088,11 @@
this.exam.info.paperContent=JSON.stringify(this.exam.paperJson);
}
postData.exam=this.exam.info;
postData.content.contentName='考试';
this.examChange = deepClone(this.exam);
}else if(index==4){
this.assess.content.content=JSON.stringify(this.assess.json);
this.assess.content.contentName='评估';
postData.content=this.assess.content;
}

View File

@@ -6,7 +6,7 @@
<span v-else style="margin:0 10px;">{{ currentPage }} / {{ pageCount }}</span>
<el-button @click="nextPage('header')" :disabled="loadedRatio !== 1" icon="el-icon-arrow-right"></el-button>
</div>
<div class="pdf-box">
<div class="pdf-box" style="max-height: 725px;">
<transition name="progress">
<el-progress v-if="showProgress" :percentage="Math.floor(loadedRatio * 100)" :text-inside="true" :show-text="false"></el-progress>
</transition>

View File

@@ -36,7 +36,8 @@
<el-dropdown placement="bottom" @command="handleCommand">
<span class="el-dropdown-link" style="font-size:16px;cursor: pointer;" :style="{color:textColor}">专区</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="one">BOE系列公开课</el-dropdown-item>
<el-dropdown-item command="zero">热点论坛</el-dropdown-item>
<el-dropdown-item command="one" divided>BOE系列公开课</el-dropdown-item>
<el-dropdown-item command="two" divided>Grow180</el-dropdown-item>
<el-dropdown-item command="three" divided>管理者进阶</el-dropdown-item>
<el-dropdown-item command="four" divided>U选小课堂</el-dropdown-item>
@@ -256,6 +257,7 @@ export default {
let urlPre = window.location.protocol + "//" + window.location.host;
// process.env.VUE_APP_BOE_WEB_URL
let obj = {
zero: urlPre + "/pc/hotforum",
one: urlPre + "/web/teacherLesson",
two: urlPre + "/grow180/login",
three: this.webBaseUrl + "/study/index?study=1",

View File

@@ -95,9 +95,9 @@
<el-col :offset="12" :span="4">
<div class="grid-content bg-purple">
<el-select v-model="learningRecords.status" clearable placeholder="状态">
<el-option label="已完成" :value="9"></el-option>
<el-option label="未开始" :value="1"></el-option>
<el-option label="进行中" :value="8"></el-option>
<el-option label="进行中" :value="2"></el-option>
<el-option label="已完成" :value="9"></el-option>
</el-select>
</div>
</el-col>
@@ -285,12 +285,12 @@
<el-form-item label="状态:">
<el-select v-model="learningSituation.status" clearable placeholder="状态">
<el-option label="未开始" :value="1"></el-option>
<el-option label="已开始" :value="2"></el-option>
<el-option label="进行中" :value="3"></el-option>
<el-option label="已完成" :value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="studyContentRecords">搜索</el-button>
<el-button type="primary" @click="studyContentRecordsSearch">搜索</el-button>
</el-form-item>
</el-form>
<el-table max-height="500" border :data="learningSituation.list" style="width: 100%">
@@ -344,6 +344,10 @@ export default {
manageStudyData: {
type: Object,
default: () => ({})
},
isShowDialog:{
type: Boolean,
default: false
}
},
data() {
@@ -372,7 +376,9 @@ export default {
pageSize: 10, // 每页多少条
count: 0,
type: "",
list: []
list: [],
name: '',
status: '',
},
learningRecords: {
pageIndex: 1, //第几页
@@ -409,6 +415,21 @@ export default {
this.getDetail();
}
}
},
'study.catalogueShow'(val){
if(!val){
this.learningSituation.status = null
this.learningSituation.name = ''
}
},
isShowDialog(val){
if(!val){
this.signup.status = null
this.signup.name = ''
this.learningRecords.status = null
this.learningRecords.name = ''
this.value = ''
}
}
},
mounted() {
@@ -480,6 +501,10 @@ export default {
}
});
},
studyContentRecordsSearch(){
this.learningSituation.pageIndex = 1;
this.studyContentRecords()
},
// 资源里的学习详情
studyContentRecords() {
let params = {
@@ -700,7 +725,7 @@ export default {
if(type=='考试'){
this.typePress = true
}else{
this.typePress = false
this.typePress = true
}
this.contentId = row.id;
this.study.catalogueShow = true;

View File

@@ -320,6 +320,13 @@ export const constantRoutes = [{
name: 'videotest',
meta: {title: '课程视频测试', icon: 'dashboard', noCache: true, affix: true},
},
{
path: '/hotforum',
hidden: true,
component: (resolve) => require(['@/views/hotforum/Index'], resolve),
name: 'hotforum',
meta: {title: '热点论坛', icon: 'dashboard', noCache: true, affix: true},
},
{
path: '/404',
component: (resolve) => require(['@/views/error/404'], resolve),

View File

@@ -196,7 +196,7 @@
</el-dialog>
<!--课程管理-->
<el-dialog custom-class="g-dialog" title="课程学习管理" width="900px" :visible.sync="manageStudy.dlgShow" :close-on-click-modal="false">
<manager :manageStudyData="manageStudyData"></manager>
<manager :manageStudyData="manageStudyData" :isShowDialog="manageStudy.dlgShow"></manager>
<template #footer>
<el-button @click="manageStudy.dlgShow = false">关闭</el-button>
</template>

View File

@@ -0,0 +1,179 @@
<template>
<div class="hot">
<div>
<div class="center">
<div class="item" :style="{marginRight:(i%2==0||i==0)?'49px':'0'}" v-for="item,i in imgData" :key="i">
<img class="img" @click="goLearn(item.url)" :src="require(`../../assets/images/hotforum/${item.img}.png`)" alt="">
</div>
</div>
<div style="display: flex;justify-content: center;margin-bottom: 52px;">
<img src="../../assets/images/hotforum/foot.png" alt="">
</div>
</div>
</div>
</template>
<script>
export default {
name: "hotforum",
data() {
return {
imgData:[
{img:'01',url:'1265897142383042560'},
{img:'02',url:'1265697724606210048'},
{img:'03',url:''},
{img:'4',url:''},
],
}
},
methods: {
goLearn(item){
if(item){
// this.$router.push({path:'/course/detail',query:{id:item}})
window.open(`https://u.boe.com/pc/course/detail?id=${item}`)
}
},
},
}
</script>
<style lang="scss" scoped>
.hot{
width: 100%;
// max-width: 1920px;
min-height: 100%;
// min-height: 1373px;
background: url("../../assets/images/hotforum/back.jpg") no-repeat;
background-size: 100% 100%;
display: flex;
justify-content: center;
.center{
max-width: 1270px;
max-height: 700px;
margin-bottom: 5%;
margin-top: 22%;
display: flex;
flex-wrap: wrap;
.item{
width: 610px;
height: 330px;
background: url("../../assets/images/hotforum/border.png") no-repeat;
background-size: 100%;
padding: 14px;
padding-top: 31px;
margin-bottom: 59px;
cursor: pointer;
.img{
width: 581px;
height: 283px;
}
}
}
/* 当窗口宽度大于3068px时的样式 */
}
@media (min-width: 3000px) {
.hot{
width: 100%;
// max-width: 1920px;
min-height: 100%;
// min-height: 1373px;
background: url("../../assets/images/hotforum/back.jpg") no-repeat;
background-size: 100% 100%;
display: flex;
justify-content: center;
.center {
max-width: 2560px;
max-height: 1300px;
margin-bottom: 5%;
margin-top: 30vh;
display: flex;
flex-wrap: wrap;
.item {
width: 1220px;
height: 660px;
background: url("../../assets/images/hotforum/border.png") no-repeat;
background-size: 100%;
padding: 28px;
padding-top: 62px;
margin-bottom: 59px;
.img {
width: 100%; // 图片宽度占满item宽度
height: auto; // 自动调整高度
}
}
}
}
}
@media (min-height: 1500px) {
.hot{
width: 100%;
// max-width: 1920px;
min-height: 100%;
// min-height: 1373px;
background: url("../../assets/images/hotforum/back.jpg") no-repeat;
background-size: 100% 100%;
display: flex;
justify-content: center;
.center {
max-width: 1068px;
max-height: 580px;
margin-bottom: 5%;
margin-top: 30vh;
display: flex;
flex-wrap: wrap;
.item {
width: 500px;
height: 271px;
background: url("../../assets/images/hotforum/border.png") no-repeat;
background-size: 100%;
padding: 14px;
padding-top: 26px;
margin-bottom: 30px;
.img {
width: 100%; // 图片宽度占满item宽度
height: auto; // 自动调整高度
}
}
}
}
}
@media (min-width: 1928px) and (max-width: 3000px) {
.hot{
width: 100%;
// max-width: 1920px;
min-height: 100%;
// min-height: 1373px;
background: url("../../assets/images/hotforum/back.jpg") no-repeat;
background-size: 100% 100%;
display: flex;
justify-content: center;
.center {
max-width: 1800px;
max-height: 1100px;
margin-bottom: 5%;
margin-top: 35vh;
display: flex;
flex-wrap: wrap;
.item {
width: 860px;
height: 466px;
background: url("../../assets/images/hotforum/border.png") no-repeat;
background-size: 100%;
padding: 28px;
padding-top: 48px;
margin-bottom: 70px;
.img {
width: 100%; // 图片宽度占满item宽度
height: auto; // 自动调整高度
}
}
}
}
}
</style>

View File

@@ -369,6 +369,7 @@
},
data() {
return {
tentative: false,
isContentTypeTwo: null,
isContentType: null,
activeId: '',
@@ -658,7 +659,7 @@
},
//替换播放区域
changePlayRes(r,item){
this.tentative = false;
if(this.appendStudyOtherHandle!=null){
window.clearTimeout(this.appendStudyOtherHandle);
}
@@ -1454,6 +1455,7 @@
});
},
saveStudyInfo() {
this.tentative = true
if(this.isContentType){
if(this.isContentType != this.contentData.contentType){
//定时器产生的,不记录
@@ -1647,7 +1649,7 @@
finishStudyItem() { //设置完成学习的内容,针对于音视频的内容
if (!this.contentData.studyItemId) {
//这种可能没有不过这里也是为了万中那个1
this.saveStudyInfo();
!this.tentative && this.saveStudyInfo();
} else {
let params = {
itemId: this.contentData.studyItemId,