Merge branch 'zcwy-master' into dev0515

This commit is contained in:
zhangsir
2024-06-03 21:03:35 +08:00
14 changed files with 78 additions and 28 deletions

View File

@@ -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
}, },
}, },
}; };

View File

@@ -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
}
}
} }
} }

View File

@@ -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>

View File

@@ -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>

View File

@@ -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">请上传解密后的文件仅支持上传pptpptxpdf格式文件</div> <div class="el-upload__tip" slot="tip">请上传解密后的文件仅支持上传pptpptxpdf格式文件</div>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>

View File

@@ -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>

View File

@@ -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">请上传解密后的文件仅支持上传pptpptxpdf格式文件</div> <div class="el-upload__tip" slot="tip">请上传解密后的文件仅支持上传pptpptxpdf格式文件</div>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>

View File

@@ -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 res.data.forEach((item,index)=>{
return if (item.progress==100 && index==res.data.length-1){
this.disabled=false
}else if (item.progress==100) {
}else {
this.disabled=true
return
}
})
} }
res.data.forEach((item,index)=>{
if (item.progress!=100){
this.disabled=true
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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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">请上传解密后的文件仅支持上传pptpptxpdf格式文件</div> <div class="el-upload__tip" slot="tip">请上传解密后的文件仅支持上传pptpptxpdf格式文件</div>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>

View File

@@ -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>

View File

@@ -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=>{