mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-17 23:06:45 +08:00
Merge branch 'zcwy-master' into dev0515
This commit is contained in:
@@ -576,6 +576,7 @@ export default {
|
|||||||
// 进度条到终点时修改播放状态
|
// 进度条到终点时修改播放状态
|
||||||
this.isShowPlayer = false
|
this.isShowPlayer = false
|
||||||
this.$emit('onPlayerPlaying', this.videoDom.currentTime,this.videoDom.duration)
|
this.$emit('onPlayerPlaying', this.videoDom.currentTime,this.videoDom.duration)
|
||||||
|
this.$emit('progress',this.currentProgress)
|
||||||
if (this.currentProgress === 1) {
|
if (this.currentProgress === 1) {
|
||||||
this.isPlaying = false;
|
this.isPlaying = false;
|
||||||
this.$emit('onPlayerEnded', {})
|
this.$emit('onPlayerEnded', {})
|
||||||
@@ -591,6 +592,7 @@ export default {
|
|||||||
src: function () {
|
src: function () {
|
||||||
// 当视频地址变更时,重载视频
|
// 当视频地址变更时,重载视频
|
||||||
this.videoDom.load();
|
this.videoDom.load();
|
||||||
|
this.isPlaying = false
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -58,8 +58,20 @@ export default {
|
|||||||
this.status.reviewResult=data.reviewResult
|
this.status.reviewResult=data.reviewResult
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else if(data.onlineLearning==2){
|
}else if(data.onlineLearning==2 && data.offlineTutoring==1){
|
||||||
this.status.onlineLearning=2
|
this.status.onlineLearning=2
|
||||||
|
}else if (data.onlineLearning==2 && data.offlineTutoring==0){
|
||||||
|
this.status.onlineLearning=0
|
||||||
|
if (data.offlineTutoring==0){
|
||||||
|
this.status.offlineTutoring=0
|
||||||
|
if (data.endStatus==0){
|
||||||
|
this.status.endStatus=0
|
||||||
|
this.status.reviewResult=data.reviewResult
|
||||||
|
}else if (data.endStatus==2){
|
||||||
|
this.status.endStatus=2
|
||||||
|
this.status.reviewResult=data.reviewResult
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}else if (data.draftStatus==2){
|
}else if (data.draftStatus==2){
|
||||||
this.status.draftStatus=2
|
this.status.draftStatus=2
|
||||||
@@ -75,8 +87,20 @@ export default {
|
|||||||
this.status.reviewResult=data.reviewResult
|
this.status.reviewResult=data.reviewResult
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else if(data.onlineLearning==2){
|
}else if(data.onlineLearning==2 && data.offlineTutoring==1){
|
||||||
this.status.onlineLearning=2
|
this.status.onlineLearning=2
|
||||||
|
}else if (data.onlineLearning==2 && data.offlineTutoring==0){
|
||||||
|
this.status.onlineLearning=0
|
||||||
|
if (data.offlineTutoring==0){
|
||||||
|
this.status.offlineTutoring=0
|
||||||
|
if (data.endStatus==0){
|
||||||
|
this.status.endStatus=0
|
||||||
|
this.status.reviewResult=data.reviewResult
|
||||||
|
}else if (data.endStatus==2){
|
||||||
|
this.status.endStatus=2
|
||||||
|
this.status.reviewResult=data.reviewResult
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,8 +28,12 @@ export default {
|
|||||||
});
|
});
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getCoachingTeacher(){
|
getCoachingTeacher(val){
|
||||||
console.log(this.value)
|
addTeacher({pageNo:1,pageSize:20,keyword:val}).then(res=>{
|
||||||
|
this.options = res.data.map(item => {
|
||||||
|
return { value: item.realName, label: item.realName };
|
||||||
|
});
|
||||||
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
getJump(){
|
getJump(){
|
||||||
@@ -71,7 +75,7 @@ export default {
|
|||||||
remote
|
remote
|
||||||
reserve-keyword
|
reserve-keyword
|
||||||
placeholder="请输入辅导老师姓名"
|
placeholder="请输入辅导老师姓名"
|
||||||
@change="getCoachingTeacher"
|
:remote-method="getCoachingTeacher"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in options"
|
v-for="item in options"
|
||||||
@@ -85,7 +89,7 @@ export default {
|
|||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="value2"
|
v-model="value2"
|
||||||
type="datetime"
|
type="datetime"
|
||||||
placeholder="选择日期"
|
placeholder="请选择辅导完成时间"
|
||||||
format="yyyy-MM-dd HH:mm"
|
format="yyyy-MM-dd HH:mm"
|
||||||
value-format="yyyy-MM-dd HH:mm:ss">
|
value-format="yyyy-MM-dd HH:mm:ss">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ export default {
|
|||||||
},
|
},
|
||||||
progressData: {},
|
progressData: {},
|
||||||
fileBaseUrl: process.env.VUE_APP_BOE_MOBILE_URL,
|
fileBaseUrl: process.env.VUE_APP_BOE_MOBILE_URL,
|
||||||
|
uploadUrl:process.env.VUE_APP_FILE_BASE_URL,
|
||||||
disabled: false,
|
disabled: false,
|
||||||
statusInfo: '',
|
statusInfo: '',
|
||||||
teacherInfo:''
|
teacherInfo:''
|
||||||
@@ -166,7 +167,8 @@ export default {
|
|||||||
<div class="progress" >
|
<div class="progress" >
|
||||||
<div v-for="(item,index) in progressData" :key="index" @click="toCaseData(item.courseId)">
|
<div v-for="(item,index) in progressData" :key="index" @click="toCaseData(item.courseId)">
|
||||||
<div class="uc-course-img" style="width: 212px;height:119px">
|
<div class="uc-course-img" style="width: 212px;height:119px">
|
||||||
<img style="width: 100%;" v-if="item.courseImage!=''" :src="item.courseImage">
|
<img style="width: 100%;" v-if="item.courseImage!=''&&item.courseImage.includes('https://')" :src="item.courseImage">
|
||||||
|
<img style="width: 100%;" v-else-if="item.courseImage!=''" :src="uploadUrl+item.courseImage">
|
||||||
<img style="width: 100%;" v-else :src="fileBaseUrl+'/pc/images/bgimg/course.png'">
|
<img style="width: 100%;" v-else :src="fileBaseUrl+'/pc/images/bgimg/course.png'">
|
||||||
</div>
|
</div>
|
||||||
<div class="courseName" :title="item.courseName">{{ item.courseName }}</div>
|
<div class="courseName" :title="item.courseName">{{ item.courseName }}</div>
|
||||||
|
|||||||
@@ -230,7 +230,7 @@ export default {
|
|||||||
multiple>
|
multiple>
|
||||||
<i class="el-icon-upload"></i>
|
<i class="el-icon-upload"></i>
|
||||||
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
||||||
<div class="el-upload__tip" slot="tip">请上传解密后的文件,仅支持上传ppt,pptx,pdf格式文件</div>
|
<div class="el-upload__tip" slot="tip">请上传解密后的文件,仅支持上传ppt、pptx、pdf格式文件</div>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ export default {
|
|||||||
},
|
},
|
||||||
progressData: {},
|
progressData: {},
|
||||||
fileBaseUrl: process.env.VUE_APP_BOE_MOBILE_URL,
|
fileBaseUrl: process.env.VUE_APP_BOE_MOBILE_URL,
|
||||||
|
uploadUrl:process.env.VUE_APP_FILE_BASE_URL,
|
||||||
disabled: false,
|
disabled: false,
|
||||||
statusInfo: '',
|
statusInfo: '',
|
||||||
result: '',
|
result: '',
|
||||||
@@ -207,7 +208,8 @@ export default {
|
|||||||
<div class="progress">
|
<div class="progress">
|
||||||
<div v-for="(item,index) in progressData" :key="index" @click="toCaseData(item.courseId)">
|
<div v-for="(item,index) in progressData" :key="index" @click="toCaseData(item.courseId)">
|
||||||
<div class="uc-course-img" style="width: 212px;height:119px">
|
<div class="uc-course-img" style="width: 212px;height:119px">
|
||||||
<img style="width: 100%;" v-if="item.courseImage!=''" :src="item.courseImage">
|
<img style="width: 100%;" v-if="item.courseImage!=''&&item.courseImage.includes('https://')" :src="item.courseImage">
|
||||||
|
<img style="width: 100%;" v-else-if="item.courseImage!=''" :src="uploadUrl+item.courseImage">
|
||||||
<img style="width: 100%;" v-else :src="fileBaseUrl+'/pc/images/bgimg/course.png'">
|
<img style="width: 100%;" v-else :src="fileBaseUrl+'/pc/images/bgimg/course.png'">
|
||||||
</div>
|
</div>
|
||||||
<div class="courseName" :title="item.courseName">{{ item.courseName }}</div>
|
<div class="courseName" :title="item.courseName">{{ item.courseName }}</div>
|
||||||
|
|||||||
@@ -236,7 +236,7 @@ export default {
|
|||||||
multiple>
|
multiple>
|
||||||
<i class="el-icon-upload"></i>
|
<i class="el-icon-upload"></i>
|
||||||
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
||||||
<div class="el-upload__tip" slot="tip">请上传解密后的文件,仅支持上传ppt,pptx,pdf格式文件</div>
|
<div class="el-upload__tip" slot="tip">请上传解密后的文件,仅支持上传ppt、pptx、pdf格式文件</div>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
|
|||||||
@@ -16,7 +16,8 @@ export default {
|
|||||||
},
|
},
|
||||||
progressData:{},
|
progressData:{},
|
||||||
fileBaseUrl:process.env.VUE_APP_BOE_MOBILE_URL,
|
fileBaseUrl:process.env.VUE_APP_BOE_MOBILE_URL,
|
||||||
disabled:false,
|
uploadUrl:process.env.VUE_APP_FILE_BASE_URL,
|
||||||
|
disabled:true,
|
||||||
statusInfo:'',
|
statusInfo:'',
|
||||||
teacherInfo:'',
|
teacherInfo:'',
|
||||||
pid:''
|
pid:''
|
||||||
@@ -62,16 +63,18 @@ export default {
|
|||||||
getProgress(id){
|
getProgress(id){
|
||||||
getProgress({teacherId:id}).then(res=>{
|
getProgress({teacherId:id}).then(res=>{
|
||||||
this.progressData=res.data
|
this.progressData=res.data
|
||||||
if (res.data.length==0){
|
if ( res.data.length>=1 ){
|
||||||
this.disabled=true
|
|
||||||
return
|
|
||||||
}
|
|
||||||
res.data.forEach((item,index)=>{
|
res.data.forEach((item,index)=>{
|
||||||
if (item.progress!=100){
|
if (item.progress==100 && index==res.data.length-1){
|
||||||
|
this.disabled=false
|
||||||
|
}else if (item.progress==100) {
|
||||||
|
}else {
|
||||||
this.disabled=true
|
this.disabled=true
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getJump(){
|
getJump(){
|
||||||
@@ -162,7 +165,8 @@ export default {
|
|||||||
<div class="progress" >
|
<div class="progress" >
|
||||||
<div v-for="(item,index) in progressData" :key="index" @click="toCaseData(item.courseId)">
|
<div v-for="(item,index) in progressData" :key="index" @click="toCaseData(item.courseId)">
|
||||||
<div class="uc-course-img" style="width: 212px;height:119px">
|
<div class="uc-course-img" style="width: 212px;height:119px">
|
||||||
<img style="width: 100%;" v-if="item.courseImage!=''" :src="item.courseImage">
|
<img style="width: 100%;" v-if="item.courseImage!=''&&item.courseImage.includes('https://')" :src="item.courseImage">
|
||||||
|
<img style="width: 100%;" v-else-if="item.courseImage!=''" :src="uploadUrl+item.courseImage">
|
||||||
<img style="width: 100%;" v-else :src="fileBaseUrl+'/pc/images/bgimg/course.png'">
|
<img style="width: 100%;" v-else :src="fileBaseUrl+'/pc/images/bgimg/course.png'">
|
||||||
</div>
|
</div>
|
||||||
<div class="courseName" :title="item.courseName">{{ item.courseName }}</div>
|
<div class="courseName" :title="item.courseName">{{ item.courseName }}</div>
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ export default {
|
|||||||
},
|
},
|
||||||
progressData:{},
|
progressData:{},
|
||||||
fileBaseUrl:process.env.VUE_APP_BOE_MOBILE_URL,
|
fileBaseUrl:process.env.VUE_APP_BOE_MOBILE_URL,
|
||||||
|
uploadUrl:process.env.VUE_APP_FILE_BASE_URL,
|
||||||
disabled:false,
|
disabled:false,
|
||||||
statusInfo:'',
|
statusInfo:'',
|
||||||
result:'',
|
result:'',
|
||||||
@@ -194,7 +195,8 @@ export default {
|
|||||||
<div class="progress">
|
<div class="progress">
|
||||||
<div v-for="(item,index) in progressData" :key="index" @click="toCaseData(item.courseId)">
|
<div v-for="(item,index) in progressData" :key="index" @click="toCaseData(item.courseId)">
|
||||||
<div class="uc-course-img" style="width: 212px;height:119px">
|
<div class="uc-course-img" style="width: 212px;height:119px">
|
||||||
<img style="width: 100%;" v-if="item.courseImage!=''" :src="item.courseImage">
|
<img style="width: 100%;" v-if="item.courseImage!=''&&item.courseImage.includes('https://')" :src="item.courseImage">
|
||||||
|
<img style="width: 100%;" v-else-if="item.courseImage!=''" :src="uploadUrl+item.courseImage">
|
||||||
<img style="width: 100%;" v-else :src="fileBaseUrl+'/pc/images/bgimg/course.png'">
|
<img style="width: 100%;" v-else :src="fileBaseUrl+'/pc/images/bgimg/course.png'">
|
||||||
</div>
|
</div>
|
||||||
<div class="courseName" :title="item.courseName">{{ item.courseName }}</div>
|
<div class="courseName" :title="item.courseName">{{ item.courseName }}</div>
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ export default {
|
|||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="value2"
|
v-model="value2"
|
||||||
type="datetime"
|
type="datetime"
|
||||||
placeholder="选择日期"
|
placeholder="请选择辅导完成时间"
|
||||||
format="yyyy-MM-dd HH:mm"
|
format="yyyy-MM-dd HH:mm"
|
||||||
value-format="yyyy-MM-dd HH:mm:ss">
|
value-format="yyyy-MM-dd HH:mm:ss">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ export default {
|
|||||||
},
|
},
|
||||||
progressData:{},
|
progressData:{},
|
||||||
fileBaseUrl:process.env.VUE_APP_BOE_MOBILE_URL,
|
fileBaseUrl:process.env.VUE_APP_BOE_MOBILE_URL,
|
||||||
|
uploadUrl:process.env.VUE_APP_FILE_BASE_URL,
|
||||||
disabled:false,
|
disabled:false,
|
||||||
statusInfo:'',
|
statusInfo:'',
|
||||||
result:'',
|
result:'',
|
||||||
@@ -197,7 +198,8 @@ export default {
|
|||||||
<div class="progress">
|
<div class="progress">
|
||||||
<div v-for="(item,index) in progressData" :key="index" @click="toCaseData(item.courseId)">
|
<div v-for="(item,index) in progressData" :key="index" @click="toCaseData(item.courseId)">
|
||||||
<div class="uc-course-img" style="width: 212px;height:119px">
|
<div class="uc-course-img" style="width: 212px;height:119px">
|
||||||
<img style="width: 100%;" v-if="item.courseImage!=''" :src="item.courseImage">
|
<img style="width: 100%;" v-if="item.courseImage!=''&&item.courseImage.includes('https://')" :src="item.courseImage">
|
||||||
|
<img style="width: 100%;" v-else-if="item.courseImage!=''" :src="uploadUrl+item.courseImage">
|
||||||
<img style="width: 100%;" v-else :src="fileBaseUrl+'/pc/images/bgimg/course.png'">
|
<img style="width: 100%;" v-else :src="fileBaseUrl+'/pc/images/bgimg/course.png'">
|
||||||
</div>
|
</div>
|
||||||
<div class="courseName" :title="item.courseName">{{ item.courseName }}</div>
|
<div class="courseName" :title="item.courseName">{{ item.courseName }}</div>
|
||||||
|
|||||||
@@ -232,7 +232,7 @@ export default {
|
|||||||
multiple>
|
multiple>
|
||||||
<i class="el-icon-upload"></i>
|
<i class="el-icon-upload"></i>
|
||||||
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
||||||
<div class="el-upload__tip" slot="tip">请上传解密后的文件,仅支持上传ppt,pptx,pdf格式文件</div>
|
<div class="el-upload__tip" slot="tip">请上传解密后的文件,仅支持上传ppt、pptx、pdf格式文件</div>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ export default {
|
|||||||
},
|
},
|
||||||
progressData:{},
|
progressData:{},
|
||||||
fileBaseUrl:process.env.VUE_APP_BOE_MOBILE_URL,
|
fileBaseUrl:process.env.VUE_APP_BOE_MOBILE_URL,
|
||||||
|
uploadUrl:process.env.VUE_APP_FILE_BASE_URL,
|
||||||
disabled:false,
|
disabled:false,
|
||||||
statusInfo:'',
|
statusInfo:'',
|
||||||
statusInfo1:'',
|
statusInfo1:'',
|
||||||
@@ -203,7 +204,8 @@ export default {
|
|||||||
<div class="progress">
|
<div class="progress">
|
||||||
<div v-for="(item,index) in progressData" :key="index" @click="toCaseData(item.courseId)">
|
<div v-for="(item,index) in progressData" :key="index" @click="toCaseData(item.courseId)">
|
||||||
<div class="uc-course-img" style="width: 212px;height:119px">
|
<div class="uc-course-img" style="width: 212px;height:119px">
|
||||||
<img style="width: 100%;" v-if="item.courseImage!=''" :src="item.courseImage">
|
<img style="width: 100%;" v-if="item.courseImage!=''&&item.courseImage.includes('https://')" :src="item.courseImage">
|
||||||
|
<img style="width: 100%;" v-else-if="item.courseImage!=''" :src="uploadUrl+item.courseImage">
|
||||||
<img style="width: 100%;" v-else :src="fileBaseUrl+'/pc/images/bgimg/course.png'">
|
<img style="width: 100%;" v-else :src="fileBaseUrl+'/pc/images/bgimg/course.png'">
|
||||||
</div>
|
</div>
|
||||||
<div class="courseName" :title="item.courseName ">{{ item.courseName }}</div>
|
<div class="courseName" :title="item.courseName ">{{ item.courseName }}</div>
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
<course-image v-if="courseInfo.id != ''" :course="courseInfo"></course-image>
|
<course-image v-if="courseInfo.id != ''" :course="courseInfo"></course-image>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="resType == 10" style="position: relative;">
|
<div v-if="resType == 10" style="position: relative;">
|
||||||
<videoPlayer ref="myVideoPlayer" id="myVideoPlayer" :src="blobUrl" @onPlayerPlaying="onPlayerPlaying"
|
<videoPlayer ref="myVideoPlayer" id="myVideoPlayer" @progress="progress" :src="blobUrl" @onPlayerPlaying="onPlayerPlaying"
|
||||||
:initTime="contentData.lastStudyTime" :notePlay="notePlay" @onPlayerPlay="onPlayerPlay"
|
:initTime="contentData.lastStudyTime" :notePlay="notePlay" @onPlayerPlay="onPlayerPlay"
|
||||||
:isDrag="curriculumData.isDrag" @onFullscreen="onFullscreen" @onPlayerPause="onPlayerPause"
|
:isDrag="curriculumData.isDrag" @onFullscreen="onFullscreen" @onPlayerPause="onPlayerPause"
|
||||||
@onPlayerEnded="onPlayerEnded" :isCrowd="isCrowd" @onTimeUpdate="handleAudioTimeUpdate"></videoPlayer>
|
@onPlayerEnded="onPlayerEnded" :isCrowd="isCrowd" @onTimeUpdate="handleAudioTimeUpdate"></videoPlayer>
|
||||||
@@ -320,6 +320,7 @@
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
sendEventProgress: 0,
|
||||||
trueFalse: true,
|
trueFalse: true,
|
||||||
audiences:'',
|
audiences:'',
|
||||||
isCrowd:false,
|
isCrowd:false,
|
||||||
@@ -1390,6 +1391,9 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
progress(val) {
|
||||||
|
this.sendEventProgress = val
|
||||||
|
},
|
||||||
saveStudyDuration(duration) { //保存本地存储的学习时长
|
saveStudyDuration(duration) { //保存本地存储的学习时长
|
||||||
if (duration > 0) {
|
if (duration > 0) {
|
||||||
//发送用户学习事件
|
//发送用户学习事件
|
||||||
@@ -1405,7 +1409,9 @@
|
|||||||
"objInfo": ""+this.courseInfo.name,
|
"objInfo": ""+this.courseInfo.name,
|
||||||
"aid":this.userInfo.aid, //当前登录人的id
|
"aid":this.userInfo.aid, //当前登录人的id
|
||||||
"aname":this.userInfo.name,//当前人的姓名
|
"aname":this.userInfo.name,//当前人的姓名
|
||||||
"status": 1 //状态
|
"status": 1, //状态
|
||||||
|
"contentId": this.contentData.id,
|
||||||
|
"progress": this.sendEventProgress,
|
||||||
}
|
}
|
||||||
//静默处理
|
//静默处理
|
||||||
apiStat.sendEvent(postData).then(rs=>{
|
apiStat.sendEvent(postData).then(rs=>{
|
||||||
|
|||||||
Reference in New Issue
Block a user