提交修改

This commit is contained in:
daihh
2022-06-01 19:50:43 +08:00
parent 5c3ca81bec
commit 9ab5d6c21e
5 changed files with 122 additions and 91 deletions

View File

@@ -162,8 +162,13 @@
</audio> -->
</div>
<div v-if="coursewareInfo.content.contentType == 40">
<div style="padding: 10px;color: #767676; " v-if="converStatus < 2">文档未转化完成 </div>
<div style="padding: 10px;color: #767676;color: #ff0000;" v-if="converStatus == 3">您上传的文档转化失败请联系管理员</div>
<div style="padding: 10px;color: #767676;text-align: center;line-height: 40px; " v-if="converStatus < 2">
<div>文档文件转化中还未转化完成</div>
<div >上传时间{{curCFile.sysCreateTime}}</div>
</div>
<div style="padding: 10px;color: #767676;color: #ff0000;text-align: center;" v-if="converStatus == 3">
文件转化失败请重新上传不要上传加密的文件或联系管理员
</div>
<pdfPreview :filePath="fileBaseUrl+coursewareInfo.content.content"></pdfPreview>
</div>
<div v-if="coursewareInfo.content.contentType == 41">
@@ -231,6 +236,7 @@ import WxEditor from "@/components/Editor/index.vue";
import apiTag from "../../api/modules/tag.js";
import videoPlayer from "@/components/VideoPlayer/index.vue";
import audioPlayer from "@/components/AudioPlayer/index.vue";
import apiCourseFile from '../../api/modules/courseFile.js';
import { mapGetters, mapActions } from "vuex";
// import hyperLink from '@/components/Course/hyperLink.vue';
export default {
@@ -281,6 +287,7 @@ export default {
assessInfo: {},
fileBaseUrl: process.env.VUE_APP_FILE_BASE_URL,
btnLoading: false,
curCFile:{},//课件内容
coursewareInfo: {
content: {},
finish: false,
@@ -580,26 +587,26 @@ export default {
$this.coursewareInfo.content.contentType == 20
) {
if (con.content.startsWith("{")) {
this.curriculumData = JSON.parse(con.content);
$this.curriculumData = JSON.parse(con.content);
} else {
this.curriculumData.url = con.content;
$this.curriculumData.url = con.content;
}
}
if ($this.coursewareInfo.content.contentType == 40) {
if (con.content != '' && con.content.indexOf('.pdf') == -1) {
apiCourseFile.detail(r.contentRefId).then(cfrs => {
if (cfrs.status == 200) {
$this.converStatus = cfrs.result.converStatus;
$this.coursewareInfo.content.content = cfrs.result.previewFilePath;
//console.log(r.content);
} else {
$this.$message.error('加载pdf课件文件失败');
}
});
}
// else {
// this.coursewareInfo.content.content = con.content;
// }
if($this.coursewareInfo.content.contentType == 40) {
//console.log(con.content,'con.content');
if(con.content != '' && con.content.indexOf('.pdf') > -1) {
$this.coursewareInfo.content.content = con.content;
}else {
apiCourseFile.detail(con.contentRefId).then(cfrs => {
if (cfrs.status == 200) {
$this.curCFile=cfrs.result;
$this.converStatus = cfrs.result.converStatus;
$this.coursewareInfo.content.content = cfrs.result.previewFilePath;
} else {
$this.$message.error('加载pdf课件文件失败');
}
});
}
}
} else if (con.sortIndex == 2) {
$this.homeworkInfo = con;

View File

@@ -60,7 +60,7 @@
<el-form-item label="课程简介" style="word-break:break-all;">
{{courseInfo.summary}}
</el-form-item>
<!-- <el-form-item label="完成规则" v-if="!weike.onlyRequired"><el-input maxlength="50" v-model="params.forScene" placeholder="可基于组织树或受众选择"></el-input></el-form-item> -->
<!-- <el-form-item label="开放权限">{{courseInfo.openObject}}</el-form-item> -->
<!-- <el-form-item label="课程描述">
@@ -163,7 +163,7 @@
<!-- <video :src="fileBaseUrl+contentData.content" width="100%" controls controlslist="nodownload" style="width: 100%; height: 100%; object-fit: fill"></video> -->
</div>
<div v-if="contentData.contentType == 20">
<audioPlayer :url="fileBaseUrl+curriculumData.url"
<audioPlayer :url="fileBaseUrl+curriculumData.url"
:name="contentData.contentName"
@onPlaying="audioPlaying"
@onPlay="audioPlay"
@@ -175,9 +175,14 @@
</audio> -->
</div>
<div v-if="contentData.contentType == 40">
<div style="padding: 10px;color: #767676; " v-if="converStatus < 2">文档未转化完成 </div>
<div style="padding: 10px;color: #767676;color: #ff0000;" v-if="converStatus == 3">您上传的文档转化失败请联系管理员</div>
<pdfPreview :filePath="fileBaseUrl+contentData.content"></pdfPreview>
<div style="padding: 10px;color: #767676; " v-if="converStatus < 2">
<div>文档文件转化中还未转化完成</div>
<div>上传时间{{curCFile.sysCreateTime}}</div>
</div>
<div style="padding: 10px;color: #767676;color: #ff0000;" v-if="converStatus == 3">
文件转化失败请重新上传不要上传加密的文件或联系管理员
</div>
<pdfPreview v-if="contentData.content" :filePath="fileBaseUrl+contentData.content"></pdfPreview>
</div>
<div v-if="contentData.contentType == 41">
<div class="picture-text" v-html="contentData.content"></div>
@@ -222,7 +227,7 @@
</div>
</el-col>
<el-col :span="6">
<div><el-button size="small" @click="type =0;contentData= {}" type="info">课程基本信息</el-button>
<div><el-button size="small" @click="type =0;contentData= {}" type="info">课程基本信息</el-button>
<el-button size="small" v-if="isShow" @click="type =1" type="info">修改记录</el-button>
</div>
<div style="padding: 5px;">课程内容目录</div>
@@ -320,6 +325,7 @@ export default {
isEdit: true,
fileBaseUrl: process.env.VUE_APP_FILE_BASE_URL,
contentData: {},
curCFile:{},//课件内容
getType: getType,
btnLoading: false,
teacherName: [],
@@ -490,7 +496,7 @@ export default {
.saveOnlyCourse(this.courseInfo)
.then(res => {
if (res.status === 200) {
this.$message.success("操作成功!");
// let result = res.result;
this.isEdit = true;
@@ -502,7 +508,7 @@ export default {
// list.push(item.teacherName);
// });
this.btnLoading = false;
} else {
this.$message.error(res.message);
this.btnLoading = false;
@@ -643,14 +649,19 @@ export default {
this.curriculumData.url = r.content
}
} else if(r.contentType == 40) {
if (r.content != '' && r.content.indexOf('.pdf') == -1) {
this.contentData.content="";
if (r.content != '' && r.content.indexOf('.pdf') > -1) {
this.contentData.content = cfrs.result.previewFilePath;
}else{
apiCourseFile.detail(r.contentRefId).then(cfrs => {
if (cfrs.status == 200) {
this.curCFile=cfrs.result;
this.converStatus = cfrs.result.converStatus;
this.contentData.content = cfrs.result.previewFilePath;
//console.log(r.content);
} else {
$this.$message.error('加载pdf课件文件失败');
}else {
this.contentData.content="";
this.$message.error('加载pdf课件文件失败');
}
});
}

View File

@@ -86,8 +86,13 @@
<el-image :src="fileBaseUrl+content.content" fit="fill"></el-image>
</div>
<div v-if="content.contentType==40" style="text-align: center;">
<div style="padding: 10px;color: #767676; " v-if="converStatus < 2">文档未转化完成 </div>
<div style="padding: 10px;color: #767676;color: #ff0000;" v-if="converStatus == 3">您上传的文档转化失败请联系管理员</div>
<div style="padding: 10px;color: #767676; " v-if="converStatus < 2">
<div>文档文件转化中还未转化完成</div>
<div>上传时间{{curCFile.sysCreateTime}}</div>
</div>
<div style="padding: 10px;color: #767676;color: #ff0000;" v-if="converStatus == 3">
<div>文件转化失败请重新上传不要上传加密的文件请联系管理员</div>
</div>
<pdfPreview v-if="content.contentType==40 && curPdfPath!=''" :filePath="fileBaseUrl+curPdfPath"></pdfPreview>
</div>
</div>
@@ -358,6 +363,7 @@
converStatus:4,
fileBaseUrl:process.env.VUE_APP_FILE_BASE_URL,
curPdfPath:'',
curCFile:{},//当前课件的内容
comTypes:[
//文件类型,10视频20音频30图片 40 文档41表图文50表scrom包,90表其它
//图文41连接52作业60考试61评估62
@@ -472,6 +478,7 @@
this.linkInfo.url='';
this.htmlContent='';
this.curPdfPath='';
this.curCFile={};
this.exam.contentId='';
this.exam.paperContent='';
this.exam.info='';
@@ -497,12 +504,9 @@
}else{
apiCourseFile.detail(this.content.contentRefId).then(rs=>{
if(rs.status==200){
this.curCFile=rs.result;
this.converStatus = rs.result.converStatus;
if(rs.result.previewFilePath){
this.curPdfPath=rs.result.previewFilePath;
}else{
this.curPdfPath=rs.result.filePath;
}
}
});
}

View File

@@ -51,7 +51,7 @@
</el-upload>
</div>
<div v-else style="text-align: center;">
<div style="padding: 20px;">{{courseFile.fileName}}</div>
<div style="padding: 20px;">{{courseFile.fileName}} <span style="color: green;">上传成功</span></div>
<div><el-button @click="chooseCourseFile(courseFile)" type="primary" size="mini">确定</el-button></div>
</div>
</el-tab-pane>

View File

@@ -36,9 +36,8 @@
</div>
</div>
<div v-else>
<div style="text-align: center;">
<!--展示内容区域-->
<!--视频-->
<div v-if="cware.content.contentType==10">
@@ -101,15 +100,21 @@
<el-image :src="fileBaseUrl+cware.content.content" fit="fill"></el-image>
</div>
<div v-if="cware.content.contentType==40">
<div style="text-align: center;padding-top: 20px;" v-if="courseFileShow">
<div style="padding: 20px;">{{cware.content.contentName}}</div>
<el-button @click="loadPdfFile();" type="primary">保存</el-button>
</div>
<div v-else>
<div style="padding: 10px;color: #767676; " v-if="converStatus < 2">文档未转化完成 </div>
<div style="padding: 10px;color: #767676;color: #ff0000; " v-if="converStatus == 3">您上传的文档转化失败请联系管理员</div>
<pdfPreview v-if="cware.content.contentType == 40 && cware.content.pdfPath!=''" :filePath="fileBaseUrl+cware.content.pdfPath"></pdfPreview>
</div>
<div style="text-align: center;padding-top: 20px;" v-if="courseFileShow">
<div style="padding: 20px;line-height: 40px;">
{{cware.content.contentName}} <span style="color: green;">上传成功</span>
<br/> 系统正对文件进行转化您可以继续操作</div>
<el-button @click="loadPdfFile();" type="primary">确定</el-button>
</div>
<div v-else>
<div style="padding: 10px;color: #767676;line-height:40px; " v-if="converStatus < 2">
<div>文档文件转化中还未转化完成</div> <div >上传时间{{curCFile.sysCreateTime}}</div>
</div>
<div style="padding: 10px;color: #767676;color: #ff0000; " v-if="converStatus == 3">
<div>文件转化失败请重新上传不要上传加密的文件请联系管理员</div>
</div>
<pdfPreview v-if="cware.content.contentType == 40 && cware.content.pdfPath!=''" :filePath="fileBaseUrl+cware.content.pdfPath"></pdfPreview>
</div>
</div>
</div>
@@ -556,6 +561,7 @@
converStatus:4,
courseFileShow:false,
curContent:{id:'',contentType:0,contenRefId:''},
curCFile:{},//当前课件的内容
fileBaseUrl:process.env.VUE_APP_FILE_BASE_URL,
imageShowUrl: '',
activeName: 'courseware',
@@ -656,50 +662,13 @@
},
course(newVal,oldVal){
//
if(this.contents.length>0){
let $this=this;
this.contents.forEach(con=>{
if(con.sortIndex==1){
$this.cware.content=con;
$this.cware.show=2;
//对于pdf文件的问题处理
if(con.contentType==40 && con.content.indexOf('.pdf')==-1){
$this.loadPdfFile();
}
if(con.contentType==52){
if(con.content.startsWith('\{')){
$this.cware.linkInfo=JSON.parse(con.content);
}else{
$this.cware.linkInfo.url=con.content;
}
}
if(con.contentType==10 || con.contentType==20){
if(con.content.startsWith('\{')){
$this.cware.curriculumData=JSON.parse(con.content);
}else{
$this.cware.curriculumData.url=con.content;
}
}
}else if(con.sortIndex==2){
$this.homework.content=con;
//查询作业信息,并显示
$this.loadHomeworkInfo();
}else if(con.sortIndex==3){
$this.exam.content=con;
//查询考试信息并显示
$this.loadExamInfo();
}else if(con.sortIndex==4){
$this.assess.content=con;
//转化文本为json内容
$this.loadAssessInfo();
}
})
}
this.changeContents();
}
},
methods:{
init(){
this.activeName='courseware';
this.curCFile={},//当前课件的内容
this.cware.content={id:'',contentType:0,sortIndex:1,contentRefId:'',pdfPath:''};
this.cware.show=1;
this.homework.content={id:'',contentType:60,sortIndex:2};
@@ -715,6 +684,49 @@
this.assess.show=1;
this.hasCWare.keyword='';
this.hasCWare.list=[];
this.changeContents();
},
changeContents(){
if(this.contents.length>0){
let $this=this;
this.contents.forEach(con=>{
if(con.sortIndex==1){
$this.cware.content=con;
$this.cware.show=2;
//对于pdf文件的问题处理
if(con.contentType==40){
//console.log('加载pdf文件内容');
$this.loadPdfFile();
}
if(con.contentType==52){
if(con.content.startsWith('\{')){
$this.cware.linkInfo=JSON.parse(con.content);
}else{
$this.cware.linkInfo.url=con.content;
}
}
if(con.contentType==10 || con.contentType==20){
if(con.content.startsWith('\{')){
$this.cware.curriculumData=JSON.parse(con.content);
}else{
$this.cware.curriculumData.url=con.content;
}
}
}else if(con.sortIndex==2){
$this.homework.content=con;
//查询作业信息,并显示
$this.loadHomeworkInfo();
}else if(con.sortIndex==3){
$this.exam.content=con;
//查询考试信息并显示
$this.loadExamInfo();
}else if(con.sortIndex==4){
$this.assess.content=con;
//转化文本为json内容
$this.loadAssessInfo();
}
})
}
},
loadPdfFile(){
//检查当前是否是pdf如果是pdf那么就不需要再查询一次了
@@ -725,6 +737,7 @@
}else{
apiCourseFile.detail(this.cware.content.contentRefId).then(rs=>{
if(rs.status==200){
this.curCFile=rs.result;
this.converStatus = rs.result.converStatus;
this.courseFileShow = false;
this.cware.content.pdfPath=rs.result.previewFilePath;
@@ -947,10 +960,6 @@
}
})
},
// 调用pdf详情接口
getPPtDetail(){
this.loadPdfFile();
},
deleteContent(index){
let $this=this;
let postData={