Merge branch 'pingcode-1104' into dev0515

# Conflicts:
#	src/components/PortalHeader.vue
#	src/components/VideoPlayer/progress-bar.vue
#	src/views/study/coursenew.vue
This commit is contained in:
zhangsir
2024-11-04 16:29:52 +08:00
9 changed files with 92 additions and 74 deletions

View File

@@ -10,7 +10,7 @@ import ajax from '@/utils/xajax.js'
* 返回 检查报名状态
*/
const hasSignup = function(courseId) {
return ajax.get('/xboe/school/study/signup/has?cid='+courseId);
return ajax.get('/xboe/school/study/signup/has?cid='+courseId);
}
/**
@@ -25,7 +25,7 @@ const hasSignup = function(courseId) {
}
*/
const signup = function(data) {
return ajax.post('/xboe/school/study/signup/self', data);
return ajax.post('/xboe/school/study/signup/self', data);
}
/**
@@ -38,7 +38,7 @@ const signup = function(data) {
}
*/
const findSignup = function(data) {
return ajax.post('/xboe/school/study/signup/pagelist', data);
return ajax.post('/xboe/school/study/signup/pagelist', data);
}
/**
@@ -46,7 +46,7 @@ const findSignup = function(data) {
* @param {Object} id 报名的id
*/
const deleteSignup = function(id) {
return ajax.post('/xboe/school/study/signup/delete?id='+id);
return ajax.post('/xboe/school/study/signup/delete?id='+id);
}
/**
@@ -55,7 +55,7 @@ const deleteSignup = function(id) {
* Signup 对象集合, list
*/
const importSignup = function(data) {
return ajax.post('/xboe/school/study/signup/import',data);
return ajax.post('/xboe/school/study/signup/import',data);
}
/**
@@ -63,11 +63,11 @@ const importSignup = function(data) {
* @param {Object} courseId 课程 的id
*/
const countSignup = function(courseId) {
return ajax.post('/xboe/school/study/signup/count-by-course',{courseId});
return ajax.post('/xboe/school/study/signup/count-by-course',{courseId});
}
const studyIndex = function(courseId) {
return ajax.get('/xboe/school/study/course/studyIndex?cid='+courseId+'&addView=true');
return ajax.get('/xboe/school/study/course/studyIndex?cid='+courseId+'&addView=true');
}
/**
*
@@ -80,7 +80,7 @@ const studyIndex = function(courseId) {
* @returns
*/
const studyIndexPost = function(data) {
return ajax.post('/xboe/school/study/course/studyIndex',data);
return ajax.post('/xboe/school/study/course/studyIndex',data);
}
/**
@@ -88,7 +88,7 @@ const studyIndexPost = function(data) {
* @param {Object} courseId
*/
const studyInfo = function(courseId) {
return ajax.get('/xboe/school/study/course/info?cid='+courseId);
return ajax.get('/xboe/school/study/course/info?cid='+courseId);
}
@@ -98,7 +98,7 @@ const studyInfo = function(courseId) {
* @param {Object} contentId
*/
const getStudyContentItem = function(studyId,contentId) {
return ajax.post('/xboe/school/study/course/study-course-content',{studyId,contentId});
return ajax.post('/xboe/school/study/course/study-course-content',{studyId,contentId});
}
/**
@@ -111,7 +111,7 @@ const getStudyContentItem = function(studyId,contentId) {
* @returns
*/
const studyVideoTime = function(data) {
return ajax.post('/xboe/school/study/course/study-video-time',data);
return ajax.post('/xboe/school/study/course/study-video-time',data);
}
/**
@@ -119,7 +119,7 @@ const studyVideoTime = function(data) {
* @returns
*/
const lastStudy = function() {
return ajax.get('/xboe/school/study/course/last-study');
return ajax.get('/xboe/school/study/course/last-study');
}
/**
@@ -136,7 +136,7 @@ const lastStudy = function() {
*
*/
const studyContent = function(data) {
return ajax.postJson('/xboe/school/study/course/study',data);
return ajax.postJson('/xboe/school/study/course/study',data);
}
/**
@@ -150,7 +150,7 @@ const studyContent = function(data) {
*
*/
const appendStudyTime = function(data) {
return ajax.post('/xboe/school/study/course/appendtime',data);
return ajax.post('/xboe/school/study/course/appendtime',data);
}
/**
@@ -161,7 +161,7 @@ const appendStudyTime = function(data) {
* name: 学习人的姓名
*/
const studyRecords = function(data) {
return ajax.post('/xboe/school/study/course/pagelist',data);
return ajax.post('/xboe/school/study/course/pagelist',data);
}
/**
@@ -173,7 +173,7 @@ const studyRecords = function(data) {
* name: 学习人的姓名
*/
const studyContentRecords = function(data) {
return ajax.post('/xboe/school/study/course/contents',data);
return ajax.post('/xboe/school/study/course/contents',data);
}
/**
@@ -185,7 +185,7 @@ const studyContentRecords = function(data) {
}
*/
const studyExport = function(data) {
return ajax.post('/xboe/school/study/course/export',data);
return ajax.post('/xboe/school/study/course/export',data);
}
/**
@@ -200,7 +200,7 @@ const studyExport = function(data) {
}
*/
const myStudyList = function(query) {
return ajax.post('/xboe/school/study/course/mylist',query);
return ajax.post('/xboe/school/study/course/mylist',query);
}
/**
* 当前课程学习记录
@@ -216,7 +216,7 @@ const myStudyList = function(query) {
}
*/
const myCourseStudy = function(query) {
return ajax.post('/xboe/school/study/course/course-users',query);
return ajax.post('/xboe/school/study/course/course-users',query);
}
@@ -241,7 +241,7 @@ const myCourseStudy = function(query) {
* answerJson
*/
const saveExam = function(data) {
return ajax.postJson('/xboe/school/study/exam/save',data);
return ajax.postJson('/xboe/school/study/exam/save',data);
}
/**
@@ -261,7 +261,7 @@ const saveExam = function(data) {
* hwAnswer 文本提交的信息
*/
const saveHomework = function(data) {
return ajax.postJson('/xboe/school/study/homework/save',data);
return ajax.postJson('/xboe/school/study/homework/save',data);
}
/**
@@ -279,7 +279,7 @@ const saveHomework = function(data) {
* asScore评估得分
*/
const saveAssess = function(data) {
return ajax.postJson('/xboe/school/study/assess/save',data);
return ajax.postJson('/xboe/school/study/assess/save',data);
}
/**
@@ -288,7 +288,7 @@ const saveAssess = function(data) {
* id:记录的id
*/
const myHomework = function(id) {
return ajax.post('/xboe/school/study/homework/detail?id='+id);
return ajax.post('/xboe/school/study/homework/detail?id='+id);
}
/**
@@ -297,7 +297,7 @@ const myHomework = function(id) {
* id:记录的id
*/
const myExamPaper = function(id) {
return ajax.get('/xboe/school/study/exam/detail?id='+id);
return ajax.get('/xboe/school/study/exam/detail?id='+id);
}
/**
@@ -306,7 +306,7 @@ const myExamPaper = function(id) {
* id:记录的id
*/
const myAssess = function(id) {
return ajax.get('/xboe/school/study/assess/detail?id='+id);
return ajax.get('/xboe/school/study/assess/detail?id='+id);
}
/**
@@ -318,7 +318,7 @@ const myAssess = function(id) {
}
*/
const myHomeworkList = function(data) {
return ajax.post('/xboe/school/study/homework/list-study',data);
return ajax.post('/xboe/school/study/homework/list-study',data);
}
/**
@@ -327,7 +327,7 @@ const myHomeworkList = function(data) {
* 对应的提交记录的id
*/
const myExamList = function(itemId) {
return ajax.post('/xboe/school/study/exam/list',{itemId});
return ajax.post('/xboe/school/study/exam/list',{itemId});
}
/**
@@ -338,8 +338,8 @@ const myExamList = function(itemId) {
contentId:''
}
*/
const myExamList2 = function(data) {
return ajax.post('/xboe/school/study/exam/list-study',data);
const myExamList2 = function(data) {
return ajax.post('/xboe/school/study/exam/list-study',data);
}
/**
@@ -351,7 +351,7 @@ const myExamList = function(itemId) {
}
*/
const myAssessList = function(data) {
return ajax.post('/xboe/school/study/assess/list-study',data);
return ajax.post('/xboe/school/study/assess/list-study',data);
}
/*
@@ -360,7 +360,7 @@ const myAssessList = function(data) {
@param courseId 课程id 用于删除课程报名信息和修改课程学习人数
*/
const deleteSignUp=function(id,courseId){
return ajax.post(`/xboe/school/study/course/delete-signup?id=${id}&couserId=${courseId}`);
return ajax.post(`/xboe/school/study/course/delete-signup?id=${id}&couserId=${courseId}`);
}
/**
@@ -399,38 +399,38 @@ const findByIds=function (ids){
}
export default {
hasSignup,
signup,
findSignup,
deleteSignup,
importSignup,
countSignup,
studyIndex,
studyInfo,
studyVideoTime,
lastStudy,
studyContent,
appendStudyTime,
studyRecords,
studyContentRecords,
getStudyContentItem,
studyExport,
myStudyList,
saveHomework,
saveExam,
saveAssess,
myHomework,
myExamPaper,
myAssess,
myHomeworkList,
myExamList,
myAssessList,
myExamList2,
myCourseStudy,
hasSignup,
signup,
findSignup,
deleteSignup,
importSignup,
countSignup,
studyIndex,
studyInfo,
studyVideoTime,
lastStudy,
studyContent,
appendStudyTime,
studyRecords,
studyContentRecords,
getStudyContentItem,
studyExport,
myStudyList,
saveHomework,
saveExam,
saveAssess,
myHomework,
myExamPaper,
myAssess,
myHomeworkList,
myExamList,
myAssessList,
myExamList2,
myCourseStudy,
myStudysFromES,
homeworkExport,
findByIds,
deleteSignUp,
deleteSignUp,
ids,
followIds,
studyIndexPost

View File

@@ -110,7 +110,7 @@ body {margin: 0px;padding: 0px;}
padding-bottom:12px
}
.ranking-data{
min-height: 196px;
min-height: 246px;
margin: 0px;
overflow-y: auto;
}
@@ -130,7 +130,7 @@ body {margin: 0px;padding: 0px;}
padding-bottom:12px
}
.ranking-data{
min-height: 196px;
min-height: 246px;
margin: 0px;
// overflow-y: auto;
}

View File

@@ -1,7 +1,7 @@
<template>
<!--弹出窗口设置-->
<div>
<div v-for="pop in popupList" :key="pop.id">wwww
<div v-for="pop in popupList" :key="pop.id">
<el-dialog :close-on-press-escape="false" :close-on-click-modal="false" class="medalbox" :visible.sync="pop.show" :append-to-body="true" >
<div style="text-align: center;position: relative;">
<!-- <span style="float: right;" @click="pop.show = false"><i style="font-size: 28px;color: #000000;" class="el-icon-close"></i></span> -->

View File

@@ -637,7 +637,9 @@ export default {
}
this.teacherList = rs.result.teachers;
this.teacherName = rs.result.teachers;
this.teacher = rs.result.teachers.map(res => res.teacherName);
this.teacher = rs.result.teachers.map(item => {
return `${item.teacherName}(${item.userNo})`
});
this.totalContent = rs.result.contents.length; //计算总内容数
if (this.courseInfo.tags != "") {
this.showTags = this.courseInfo.tags.split(",");

View File

@@ -681,7 +681,9 @@ export default {
}
this.teacherList = rs.result.teachers;
this.teacherName = rs.result.teachers;
this.teacher = rs.result.teachers.map(item => item.teacherName);
this.teacher = rs.result.teachers.map(item => {
return `${item.teacherName}(${item.userNo})`
});
this.showTags = this.courseInfo.tags.split(",");
if (rs.result.course.resOwner3 == "") {
this.resOwnerArray = [

View File

@@ -383,8 +383,8 @@ export default {
count: 0,
type: "",
list: [],
name: '',
status: '',
name: '',
},
learningRecords: {
pageIndex: 1, //第几页
@@ -562,7 +562,7 @@ export default {
}
}).catch(err=>{
this.isTrue = false;
this.$message.error(err.data.message)
this.$message.error(err.response.data.message)
})
// axios({
// method: 'get',

View File

@@ -40,12 +40,12 @@
:isPlaying="isPlaying"
:biBarrageXml="biBarrageXml"
/>
<!-- 加载动画 -->
<div v-show="isShowLoading && isCrowd && isShowPlayer" class="player-loading" @click="videoDom.focus({preventScroll: true})">
<!-- 加载动画(应该当前视频没有缓存时显示加载动画) && isCrowd && isShowPlayer -->
<div v-show="isShowLoading" class="player-loading" @click="videoDom.focus({preventScroll: true})">
<img src="@/components/VideoPlayer/images/loading.svg" alt="loading"/>
</div>
<!-- 控制栏 -->
<div v-show="!isShowLoading && isCrowd" class="player-controls-container" @click="videoDom.focus({preventScroll: true})">
<div v-show="isCrowd" class="player-controls-container" @click="videoDom.focus({preventScroll: true})">
<div v-show="isShowVolumeHint" class="player-volumeHint">
<span class="player-volumeHint-text">当前音量:{{volumePercent}}%</span>
</div>
@@ -71,6 +71,7 @@
<div :class="{'player-controls': true, 'cursor-lasting-static': isCursorStatic}">
<div class="player-progress-bar">
<progressBar
:blobId="blobId"
:currentProgress="currentProgress"
v-on:updateProgress="updateProgressByClickBar"
v-on:getMouseDownStatus="getMouseDownStatusOfProgressBar"
@@ -318,6 +319,17 @@ export default {
}
setInterval(() => {
//console.log('this.currentProgress::',this.currentProgress,this.isDrag,this.videoDom.currentTime , this.videoDom.duration)
// 视频播放时本地记录视频实时播放时长,视频设置了禁止拖动时执行
if(!this.isDrag){
var time = localStorage.getItem('videoProgressData')
var arr = time&&JSON.parse(time) || {}
if(arr[this.blobId] < this.currentProgress || !arr[this.blobId]){
arr[this.blobId] = parseFloat((this.currentProgress).toFixed(8))
if(arr[this.blobId]) localStorage.setItem('videoProgressData',JSON.stringify(arr))
}
}
// 定时更新进度条
if (this.isPlaying && !this.isMousedownProgress) {
this.currentProgress = this.videoDom.currentTime / this.videoDom.duration;
@@ -391,11 +403,13 @@ export default {
//当视频由于需要缓冲下一帧而停止,解决一直计时的问题
onWaiting(){
console.log('触发了onWairing');
this.isShowLoading = true
this.$emit('onPlayerPause', {})
},
//当音频/视频在已因缓冲而暂停或停止后已就绪时
onPlaying(){
console.log('触发缓存结束onPlaying');
this.isShowLoading = false
if(this.videoDom.paused){
this.$emit('onPlayerPause', {})
}else{

View File

@@ -71,7 +71,7 @@ export default {
},
methods: {
down(e) {
this.$emit("getMouseDownStatus", true);
this.is_mousedown_progress = true;
// 获取完整进度条的clientXdom左上角
@@ -111,7 +111,7 @@ export default {
// 禁止拖动
if(!this.isDrag && time && arr[this.blobId] < current) return;
this.$emit("updateProgress", current);
}
},
},
@@ -163,4 +163,4 @@ export default {
.progress-bar:hover .progress-current::after {
opacity: 1;
}
</style>
</style>

View File

@@ -391,7 +391,7 @@ export default {
timedOut = true;
xmlhttp.abort();
}, 5000);
xmlhttp.open("HEAD", window.location.protocol + "//uapi.boe.com.cn", true);
xmlhttp.open("HEAD", window.location.protocol + "//uapi.boe.com.cn/500.html", true);
xmlhttp.send();
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4) {