mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-11 20:06:44 +08:00
先提交一下
This commit is contained in:
@@ -14,7 +14,7 @@ VUE_APP_BOE_WEB_URL = 'https://u.boe.com'
|
|||||||
VUE_APP_BOE_MOBILE_URL = 'http://192.168.0.10:8082/mobile'
|
VUE_APP_BOE_MOBILE_URL = 'http://192.168.0.10:8082/mobile'
|
||||||
|
|
||||||
# File路径的基础url
|
# File路径的基础url
|
||||||
VUE_APP_FILE_BASE_URL = 'http://localhost:9090/cdn/upload'
|
VUE_APP_FILE_BASE_URL = 'http://192.168.0.10:9090/cdn/upload'
|
||||||
|
|
||||||
# 登录地址
|
# 登录地址
|
||||||
VUE_APP_LOGIN_URL='/pc/login'
|
VUE_APP_LOGIN_URL='/pc/login'
|
||||||
|
|||||||
30349
package-lock.json
generated
Normal file
30349
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -162,7 +162,14 @@
|
|||||||
</audio> -->
|
</audio> -->
|
||||||
</div>
|
</div>
|
||||||
<div v-if="coursewareInfo.content.contentType == 40">
|
<div v-if="coursewareInfo.content.contentType == 40">
|
||||||
<pdfPreview :filePath="fileBaseUrl+contentData.content"></pdfPreview>
|
<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>
|
||||||
<div v-if="coursewareInfo.content.contentType == 41">
|
<div v-if="coursewareInfo.content.contentType == 41">
|
||||||
<div class="picture-text" v-html="coursewareInfo.content.content"></div>
|
<div class="picture-text" v-html="coursewareInfo.content.content"></div>
|
||||||
@@ -229,6 +236,7 @@ import WxEditor from "@/components/Editor/index.vue";
|
|||||||
import apiTag from "../../api/modules/tag.js";
|
import apiTag from "../../api/modules/tag.js";
|
||||||
import videoPlayer from "@/components/VideoPlayer/index.vue";
|
import videoPlayer from "@/components/VideoPlayer/index.vue";
|
||||||
import audioPlayer from "@/components/AudioPlayer/index.vue";
|
import audioPlayer from "@/components/AudioPlayer/index.vue";
|
||||||
|
import apiCourseFile from '../../api/modules/courseFile.js';
|
||||||
import { mapGetters, mapActions } from "vuex";
|
import { mapGetters, mapActions } from "vuex";
|
||||||
// import hyperLink from '@/components/Course/hyperLink.vue';
|
// import hyperLink from '@/components/Course/hyperLink.vue';
|
||||||
export default {
|
export default {
|
||||||
@@ -271,6 +279,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
converStatus:4,
|
||||||
courseType: courseType,
|
courseType: courseType,
|
||||||
isEdit: true,
|
isEdit: true,
|
||||||
homeworkInfo: {},
|
homeworkInfo: {},
|
||||||
@@ -278,6 +287,7 @@ export default {
|
|||||||
assessInfo: {},
|
assessInfo: {},
|
||||||
fileBaseUrl: process.env.VUE_APP_FILE_BASE_URL,
|
fileBaseUrl: process.env.VUE_APP_FILE_BASE_URL,
|
||||||
btnLoading: false,
|
btnLoading: false,
|
||||||
|
curCFile:{},//课件内容
|
||||||
coursewareInfo: {
|
coursewareInfo: {
|
||||||
content: {},
|
content: {},
|
||||||
finish: false,
|
finish: false,
|
||||||
@@ -577,13 +587,26 @@ export default {
|
|||||||
$this.coursewareInfo.content.contentType == 20
|
$this.coursewareInfo.content.contentType == 20
|
||||||
) {
|
) {
|
||||||
if (con.content.startsWith("{")) {
|
if (con.content.startsWith("{")) {
|
||||||
this.curriculumData = JSON.parse(con.content);
|
$this.curriculumData = JSON.parse(con.content);
|
||||||
} else {
|
} else {
|
||||||
this.curriculumData.url = con.content;
|
$this.curriculumData.url = con.content;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($this.coursewareInfo.content.contentType == 40) {
|
if($this.coursewareInfo.content.contentType == 40) {
|
||||||
let url = this.fileBaseUrl + r.content;
|
//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) {
|
} else if (con.sortIndex == 2) {
|
||||||
$this.homeworkInfo = con;
|
$this.homeworkInfo = con;
|
||||||
|
|||||||
@@ -175,7 +175,14 @@
|
|||||||
</audio> -->
|
</audio> -->
|
||||||
</div>
|
</div>
|
||||||
<div v-if="contentData.contentType == 40">
|
<div v-if="contentData.contentType == 40">
|
||||||
<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>
|
||||||
<div v-if="contentData.contentType == 41">
|
<div v-if="contentData.contentType == 41">
|
||||||
<div class="picture-text" v-html="contentData.content"></div>
|
<div class="picture-text" v-html="contentData.content"></div>
|
||||||
@@ -269,6 +276,7 @@ import videoPlayer from '@/components/VideoPlayer/index.vue';
|
|||||||
import audioPlayer from '@/components/AudioPlayer/index.vue';
|
import audioPlayer from '@/components/AudioPlayer/index.vue';
|
||||||
import { mapGetters,mapActions} from 'vuex';
|
import { mapGetters,mapActions} from 'vuex';
|
||||||
import hyperLink from '@/components/Course/hyperLink.vue';
|
import hyperLink from '@/components/Course/hyperLink.vue';
|
||||||
|
import apiCourseFile from '../../api/modules/courseFile.js';
|
||||||
export default {
|
export default {
|
||||||
name:"auditCourse2",
|
name:"auditCourse2",
|
||||||
components: {
|
components: {
|
||||||
@@ -307,6 +315,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
converStatus:4,
|
||||||
curriculumData:{
|
curriculumData:{
|
||||||
url:'',
|
url:'',
|
||||||
isDrag:false,
|
isDrag:false,
|
||||||
@@ -316,6 +325,7 @@ export default {
|
|||||||
isEdit: true,
|
isEdit: true,
|
||||||
fileBaseUrl: process.env.VUE_APP_FILE_BASE_URL,
|
fileBaseUrl: process.env.VUE_APP_FILE_BASE_URL,
|
||||||
contentData: {},
|
contentData: {},
|
||||||
|
curCFile:{},//课件内容
|
||||||
getType: getType,
|
getType: getType,
|
||||||
btnLoading: false,
|
btnLoading: false,
|
||||||
teacherName: [],
|
teacherName: [],
|
||||||
@@ -638,6 +648,23 @@ export default {
|
|||||||
}else{
|
}else{
|
||||||
this.curriculumData.url = r.content
|
this.curriculumData.url = r.content
|
||||||
}
|
}
|
||||||
|
} else if(r.contentType == 40) {
|
||||||
|
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.contentData.content="";
|
||||||
|
this.$message.error('加载pdf课件文件失败');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.type = 0;
|
this.type = 0;
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -85,7 +85,14 @@
|
|||||||
<div v-if="content.contentType==30">
|
<div v-if="content.contentType==30">
|
||||||
<el-image :src="fileBaseUrl+content.content" fit="fill"></el-image>
|
<el-image :src="fileBaseUrl+content.content" fit="fill"></el-image>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="content.contentType==40">
|
<div v-if="content.contentType==40" style="text-align: center;">
|
||||||
|
<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>
|
<pdfPreview v-if="content.contentType==40 && curPdfPath!=''" :filePath="fileBaseUrl+curPdfPath"></pdfPreview>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -353,8 +360,10 @@
|
|||||||
// inject: [ "informationDetails" ],
|
// inject: [ "informationDetails" ],
|
||||||
data(){
|
data(){
|
||||||
return {
|
return {
|
||||||
|
converStatus:4,
|
||||||
fileBaseUrl:process.env.VUE_APP_FILE_BASE_URL,
|
fileBaseUrl:process.env.VUE_APP_FILE_BASE_URL,
|
||||||
curPdfPath:'',
|
curPdfPath:'',
|
||||||
|
curCFile:{},//当前课件的内容
|
||||||
comTypes:[
|
comTypes:[
|
||||||
//文件类型,10视频,20音频,30图片, 40 文档,41表图文,50表scrom包,90表其它
|
//文件类型,10视频,20音频,30图片, 40 文档,41表图文,50表scrom包,90表其它
|
||||||
//图文41,连接52,作业60,考试61,评估62
|
//图文41,连接52,作业60,考试61,评估62
|
||||||
@@ -469,6 +478,7 @@
|
|||||||
this.linkInfo.url='';
|
this.linkInfo.url='';
|
||||||
this.htmlContent='';
|
this.htmlContent='';
|
||||||
this.curPdfPath='';
|
this.curPdfPath='';
|
||||||
|
this.curCFile={};
|
||||||
this.exam.contentId='';
|
this.exam.contentId='';
|
||||||
this.exam.paperContent='';
|
this.exam.paperContent='';
|
||||||
this.exam.info='';
|
this.exam.info='';
|
||||||
@@ -488,20 +498,15 @@
|
|||||||
},
|
},
|
||||||
loadPdfFile(){
|
loadPdfFile(){
|
||||||
//检查当前是否是pdf,如果是pdf那么就不需要再查询一次了
|
//检查当前是否是pdf,如果是pdf那么就不需要再查询一次了
|
||||||
|
|
||||||
let fname=this.content.content;
|
let fname=this.content.content;
|
||||||
|
|
||||||
if(fname && fname.indexOf('.pdf')>-1){
|
if(fname && fname.indexOf('.pdf')>-1){
|
||||||
this.curPdfPath=this.content.content;
|
this.curPdfPath=this.content.content;
|
||||||
}else{
|
}else{
|
||||||
apiCourseFile.detail(this.content.contentRefId).then(rs=>{
|
apiCourseFile.detail(this.content.contentRefId).then(rs=>{
|
||||||
if(rs.status==200){
|
if(rs.status==200){
|
||||||
if(rs.result.previewFilePath){
|
this.curCFile=rs.result;
|
||||||
|
this.converStatus = rs.result.converStatus;
|
||||||
this.curPdfPath=rs.result.previewFilePath;
|
this.curPdfPath=rs.result.previewFilePath;
|
||||||
}else{
|
|
||||||
this.curPdfPath=rs.result.filePath;
|
|
||||||
}
|
|
||||||
//console.log(this.curPdfPath,'this.curPdfPath');
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,7 +51,7 @@
|
|||||||
</el-upload>
|
</el-upload>
|
||||||
</div>
|
</div>
|
||||||
<div v-else style="text-align: center;">
|
<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-button @click="chooseCourseFile(courseFile)" type="primary" size="mini">确定</el-button></div>
|
||||||
</div>
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
|||||||
@@ -38,7 +38,6 @@
|
|||||||
<div v-else>
|
<div v-else>
|
||||||
|
|
||||||
<div style="text-align: center;">
|
<div style="text-align: center;">
|
||||||
|
|
||||||
<!--展示内容区域-->
|
<!--展示内容区域-->
|
||||||
<!--视频-->
|
<!--视频-->
|
||||||
<div v-if="cware.content.contentType==10">
|
<div v-if="cware.content.contentType==10">
|
||||||
@@ -101,15 +100,21 @@
|
|||||||
<el-image :src="fileBaseUrl+cware.content.content" fit="fill"></el-image>
|
<el-image :src="fileBaseUrl+cware.content.content" fit="fill"></el-image>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="cware.content.contentType==40">
|
<div v-if="cware.content.contentType==40">
|
||||||
<div style="text-align: center;padding-top: 20px;" v-if="courseFileShow">
|
<div style="text-align: center;padding-top: 20px;" v-if="courseFileShow">
|
||||||
<div style="padding: 20px;">{{cware.content.contentName}}</div>
|
<div style="padding: 20px;line-height: 40px;">
|
||||||
<el-button @click="loadPdfFile();" type="primary">保存</el-button>
|
{{cware.content.contentName}} <span style="color: green;">上传成功</span>
|
||||||
</div>
|
<br/> 系统正对文件进行转化,您可以继续操作</div>
|
||||||
<div v-else>
|
<el-button @click="loadPdfFile();" type="primary">确定</el-button>
|
||||||
<div style="padding: 10px;color: #767676; ">如果pdf无法显示,请稍后再试,文档转化是异步处理,有可能是文档还未转化完成 </div>
|
</div>
|
||||||
<pdfPreview v-if="cware.content.contentType == 40" :filePath="fileBaseUrl+cware.content.pdfPath"></pdfPreview>
|
<div v-else>
|
||||||
</div>
|
<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>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -553,8 +558,10 @@
|
|||||||
},
|
},
|
||||||
data(){
|
data(){
|
||||||
return {
|
return {
|
||||||
|
converStatus:4,
|
||||||
courseFileShow:false,
|
courseFileShow:false,
|
||||||
curContent:{id:'',contentType:0,contenRefId:''},
|
curContent:{id:'',contentType:0,contenRefId:''},
|
||||||
|
curCFile:{},//当前课件的内容
|
||||||
fileBaseUrl:process.env.VUE_APP_FILE_BASE_URL,
|
fileBaseUrl:process.env.VUE_APP_FILE_BASE_URL,
|
||||||
imageShowUrl: '',
|
imageShowUrl: '',
|
||||||
activeName: 'courseware',
|
activeName: 'courseware',
|
||||||
@@ -655,50 +662,13 @@
|
|||||||
},
|
},
|
||||||
course(newVal,oldVal){
|
course(newVal,oldVal){
|
||||||
//
|
//
|
||||||
if(this.contents.length>0){
|
this.changeContents();
|
||||||
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();
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
init(){
|
init(){
|
||||||
this.activeName='courseware';
|
this.activeName='courseware';
|
||||||
|
this.curCFile={},//当前课件的内容
|
||||||
this.cware.content={id:'',contentType:0,sortIndex:1,contentRefId:'',pdfPath:''};
|
this.cware.content={id:'',contentType:0,sortIndex:1,contentRefId:'',pdfPath:''};
|
||||||
this.cware.show=1;
|
this.cware.show=1;
|
||||||
this.homework.content={id:'',contentType:60,sortIndex:2};
|
this.homework.content={id:'',contentType:60,sortIndex:2};
|
||||||
@@ -714,6 +684,49 @@
|
|||||||
this.assess.show=1;
|
this.assess.show=1;
|
||||||
this.hasCWare.keyword='';
|
this.hasCWare.keyword='';
|
||||||
this.hasCWare.list=[];
|
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(){
|
loadPdfFile(){
|
||||||
//检查当前是否是pdf,如果是pdf那么就不需要再查询一次了
|
//检查当前是否是pdf,如果是pdf那么就不需要再查询一次了
|
||||||
@@ -724,8 +737,11 @@
|
|||||||
}else{
|
}else{
|
||||||
apiCourseFile.detail(this.cware.content.contentRefId).then(rs=>{
|
apiCourseFile.detail(this.cware.content.contentRefId).then(rs=>{
|
||||||
if(rs.status==200){
|
if(rs.status==200){
|
||||||
|
this.curCFile=rs.result;
|
||||||
|
this.converStatus = rs.result.converStatus;
|
||||||
this.courseFileShow = false;
|
this.courseFileShow = false;
|
||||||
this.cware.content.pdfPath=rs.result.previewFilePath;
|
this.cware.content.pdfPath=rs.result.previewFilePath;
|
||||||
|
this.$forceUpdate();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -944,10 +960,6 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 调用pdf详情接口
|
|
||||||
getPPtDetail(){
|
|
||||||
this.loadPdfFile();
|
|
||||||
},
|
|
||||||
deleteContent(index){
|
deleteContent(index){
|
||||||
let $this=this;
|
let $this=this;
|
||||||
let postData={
|
let postData={
|
||||||
@@ -1032,7 +1044,7 @@
|
|||||||
}else if(ctype==30){
|
}else if(ctype==30){
|
||||||
return ["jpg","png","gif"]
|
return ["jpg","png","gif"]
|
||||||
}else if(ctype==40){
|
}else if(ctype==40){
|
||||||
return ["doc", "xls", "ppt","docx", "xlsx", "pptx"]
|
return ["doc", "xls", "ppt","docx", "xlsx", "pptx","pdf"]
|
||||||
}else{
|
}else{
|
||||||
return ["doc", "xls", "ppt","docx", "xlsx", "pptx","jpg","png","gif","mp3","mp4"]
|
return ["doc", "xls", "ppt","docx", "xlsx", "pptx","jpg","png","gif","mp3","mp4"]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
<el-input v-show="!hideSearch" placeholder="请输入关键词搜索" style="width: 260px;" @keyup.enter.native="searchJump()" clearable maxlength="20" v-model="keyword" class="input-with-select">
|
<el-input v-show="!hideSearch" placeholder="请输入关键词搜索" style="width: 260px;" @keyup.enter.native="searchJump()" clearable maxlength="20" v-model="keyword" class="input-with-select">
|
||||||
<el-select v-if="current == 'index'" v-model="findType" style="width: 75px;" slot="prepend" placeholder="请选择">
|
<el-select v-if="current == 'index'" v-model="findType" style="width: 75px;" slot="prepend" placeholder="请选择">
|
||||||
<el-option label="课程" value="1"></el-option>
|
<el-option label="课程" value="1"></el-option>
|
||||||
<el-option label="案例" value="2"></el-option>
|
<!-- <el-option label="案例" value="2"></el-option> -->
|
||||||
<el-option label="文章" value="3"></el-option>
|
<el-option label="文章" value="3"></el-option>
|
||||||
<el-option label="问答" value="4"></el-option>
|
<el-option label="问答" value="4"></el-option>
|
||||||
<!-- <el-option label="专区" value="5"></el-option> -->
|
<!-- <el-option label="专区" value="5"></el-option> -->
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ export function toContentType(fileType) {
|
|||||||
// }
|
// }
|
||||||
export function courseType(type) {
|
export function courseType(type) {
|
||||||
const maps = {
|
const maps = {
|
||||||
10: '微课',
|
10: '录播课',
|
||||||
21: '在线课(直播)',
|
21: '在线课(直播)',
|
||||||
20: '录播课',
|
20: '录播课',
|
||||||
30: '线下课',
|
30: '线下课',
|
||||||
|
|||||||
@@ -366,21 +366,37 @@ export default {
|
|||||||
let course = {
|
let course = {
|
||||||
pageSize: num,
|
pageSize: num,
|
||||||
device:1,
|
device:1,
|
||||||
orderField: orderType == 1 ? 'id' : 'studys',
|
orderField: orderType == 1 ? '' : 'studys',
|
||||||
orderAsc: false,
|
orderAsc: false,
|
||||||
topOrder:true,
|
topOrder:true,
|
||||||
pageIndex: pageIndex
|
pageIndex: pageIndex
|
||||||
};
|
};
|
||||||
|
let isTopList = [];
|
||||||
|
let data = [];
|
||||||
apiCoursePortal.pageList(course).then(res => {
|
apiCoursePortal.pageList(course).then(res => {
|
||||||
|
|
||||||
if (res.status == 200 && res.result.list.length > 0) {
|
if (res.status == 200 && res.result.list.length > 0) {
|
||||||
|
|
||||||
let courseIds = [];
|
let courseIds = [];
|
||||||
res.result.list.forEach(item => {
|
res.result.list.forEach(item => {
|
||||||
item.authorInfo = { aid: '', name: '', orgInfo: '', avatar: '', code: '' ,sex:null};
|
item.authorInfo = { aid: '', name: '', orgInfo: '', avatar: '', code: '' ,sex:null};
|
||||||
courseIds.push(item.id);
|
courseIds.push(item.id);
|
||||||
|
console.log(item.isTop)
|
||||||
|
if(item.isTop) {
|
||||||
|
isTopList.push(item);
|
||||||
|
console.log(isTopList)
|
||||||
|
|
||||||
|
}else{
|
||||||
|
data.push(item);
|
||||||
|
// console.log(data)
|
||||||
|
}
|
||||||
});
|
});
|
||||||
this.loadCouserTeacher(res.result.list, courseIds);
|
this.loadCouserTeacher(res.result.list, courseIds);
|
||||||
this.courseList.list = res.result.list;
|
this.courseList.list.push(...isTopList,...data);
|
||||||
this.couname = res.result.list.name;
|
this.couname = res.result.list.name;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (res.result.count - pageIndex * num < 8) {
|
if (res.result.count - pageIndex * num < 8) {
|
||||||
this.pageIndex = 0;
|
this.pageIndex = 0;
|
||||||
}
|
}
|
||||||
@@ -389,8 +405,10 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
console.log('加载课程信息失败:' + res.error);
|
console.log('加载课程信息失败:' + res.error);
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
// apiCourse.list({orderType,num,device:1}).then(res => {
|
// apiCourse.list({orderType,num,device:1}).then(res => {
|
||||||
// if(res.status==200){
|
// if(res.status==200){
|
||||||
// if(res.result.length>0){
|
// if(res.result.length>0){
|
||||||
|
|||||||
@@ -68,7 +68,7 @@
|
|||||||
<el-option label="未发布" :value="false"></el-option>
|
<el-option label="未发布" :value="false"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
<div style="width:376px">
|
<div style="width:390px">
|
||||||
<el-button type="primary" @click="searchData()" icon="el-icon-search" >搜索</el-button>
|
<el-button type="primary" @click="searchData()" icon="el-icon-search" >搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh-right" type="primary" style="margin-left:5px" @click="reset">重置</el-button>
|
<el-button icon="el-icon-refresh-right" type="primary" style="margin-left:5px" @click="reset">重置</el-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -402,12 +402,15 @@ export default {
|
|||||||
},
|
},
|
||||||
// 置顶
|
// 置顶
|
||||||
setTop(row) {
|
setTop(row) {
|
||||||
let params = {
|
let params = {
|
||||||
ids: row.id,//课程id,多个使用逗号分隔,
|
ids: row.id,//课程id,多个使用逗号分隔,
|
||||||
title:row.name,//课程的名称,
|
title:row.name,//课程的名称,
|
||||||
top:!row.isTop,// top 是否置顶}
|
top:!row.isTop,// top 是否置顶}
|
||||||
}
|
}
|
||||||
this.$confirm('此操作将置顶此课程, 是否继续?', '提示', {
|
console.log(row.isTop);
|
||||||
|
if(row.isTop == false){
|
||||||
|
// console.log('fa')
|
||||||
|
this.$confirm('此操作将置顶此课程, 是否继续?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -426,9 +429,38 @@ export default {
|
|||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.$message({
|
this.$message({
|
||||||
type: 'info',
|
type: 'info',
|
||||||
message: '已取消删除'
|
message: '置顶失败'
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
}else if(row.isTop == true){
|
||||||
|
this.$confirm('此操作将取消置顶此课程, 是否继续?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
apiCourse.setTop(params).then(res=>{
|
||||||
|
if(res.status === 200 && res.result === true) {
|
||||||
|
this.$message.success('取消成功!')
|
||||||
|
this.searchData();
|
||||||
|
} else {
|
||||||
|
this.$message({
|
||||||
|
type: 'error',
|
||||||
|
message: res.message
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}).catch(() => {
|
||||||
|
this.$message({
|
||||||
|
type: 'info',
|
||||||
|
message: '取消置顶失败'
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
// 复制
|
// 复制
|
||||||
|
|||||||
@@ -331,12 +331,16 @@ export default {
|
|||||||
getAnswerDetail(id) { //获取答卷的详细信息
|
getAnswerDetail(id) { //获取答卷的详细信息
|
||||||
apiTestPaper.getAnswerDetail(id).then(res=>{
|
apiTestPaper.getAnswerDetail(id).then(res=>{
|
||||||
if(res.status === 200) {
|
if(res.status === 200) {
|
||||||
let answerJson = JSON.parse(res.result.answerJson);
|
let answerJson = [];
|
||||||
let paperJson = JSON.parse(res.result.paperJson);
|
answerJson=JSON.parse(res.result.answerJson);
|
||||||
|
let paperJson = [];
|
||||||
|
paperJson=JSON.parse(res.result.paperJson);
|
||||||
let answer = [];
|
let answer = [];
|
||||||
|
let data = [];
|
||||||
for(let key in answerJson){
|
for(let key in answerJson){
|
||||||
answer.push(key);
|
answer.push(key);
|
||||||
paperJson.forEach((item,index) => {
|
paperJson.forEach((item,index) => {
|
||||||
|
item.result=true;
|
||||||
if(item.id == key) {
|
if(item.id == key) {
|
||||||
if(item.type==1){
|
if(item.type==1){
|
||||||
item.userAnswer='';
|
item.userAnswer='';
|
||||||
@@ -345,9 +349,8 @@ export default {
|
|||||||
}else{
|
}else{
|
||||||
item.userAnswer=''
|
item.userAnswer=''
|
||||||
}
|
}
|
||||||
item.correctOptIdxs=[];
|
item.correctOptIdxs=[];
|
||||||
item.userOptIdxs=[];
|
item.userOptIdxs=[];
|
||||||
|
|
||||||
if(item.type==1){
|
if(item.type==1){
|
||||||
item.userAnswer=answerJson[key];
|
item.userAnswer=answerJson[key];
|
||||||
}else if(item.type==2){
|
}else if(item.type==2){
|
||||||
@@ -355,12 +358,12 @@ export default {
|
|||||||
}else{
|
}else{
|
||||||
item.userAnswer=answerJson[key]
|
item.userAnswer=answerJson[key]
|
||||||
}
|
}
|
||||||
|
data.push(item);
|
||||||
// item.userAnswer.push(answerJson[key]);
|
// item.userAnswer.push(answerJson[key]);
|
||||||
}
|
}
|
||||||
item.result=true;
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
this.paperDetailData = paperJson;
|
this.paperDetailData = data;
|
||||||
this.paperDetailData.forEach((item,index)=>{
|
this.paperDetailData.forEach((item,index)=>{
|
||||||
if(item.type ==3) {
|
if(item.type ==3) {
|
||||||
item.correctOptIdxs.push(item.answer);
|
item.correctOptIdxs.push(item.answer);
|
||||||
@@ -521,7 +524,6 @@ export default {
|
|||||||
total+=item.defaultScore;
|
total+=item.defaultScore;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//console.log(item,"judge item");
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if(this.single.length > 0){
|
if(this.single.length > 0){
|
||||||
@@ -531,7 +533,6 @@ export default {
|
|||||||
total+=item.defaultScore;
|
total+=item.defaultScore;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
//console.log(item,"single item");
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if(this.multiple.length > 0){
|
if(this.multiple.length > 0){
|
||||||
@@ -552,7 +553,6 @@ export default {
|
|||||||
}
|
}
|
||||||
let str1=item.userAnswer.join();
|
let str1=item.userAnswer.join();
|
||||||
let str2=tempAnswer.join();
|
let str2=tempAnswer.join();
|
||||||
//console.log(str1,str2,'aaa');
|
|
||||||
if(str1==str2){
|
if(str1==str2){
|
||||||
total+=item.defaultScore;
|
total+=item.defaultScore;
|
||||||
}
|
}
|
||||||
@@ -570,11 +570,9 @@ export default {
|
|||||||
//设置已答题内容
|
//设置已答题内容
|
||||||
this.paperQuestion.forEach((qitem,index) => {
|
this.paperQuestion.forEach((qitem,index) => {
|
||||||
let avalue=answerJson[qitem.id];
|
let avalue=answerJson[qitem.id];
|
||||||
//console.log(avalue,'avalue')
|
|
||||||
if(avalue){
|
if(avalue){
|
||||||
if(qitem.type==1){ //单选
|
if(qitem.type==1){ //单选
|
||||||
qitem.userAnswer=avalue;
|
qitem.userAnswer=avalue;
|
||||||
//console.log(qitem,avalue,'单选qitem')
|
|
||||||
}else if(qitem.type==2){ //多选
|
}else if(qitem.type==2){ //多选
|
||||||
qitem.userAnswer=avalue.split(',');
|
qitem.userAnswer=avalue.split(',');
|
||||||
}else if(qitem.type==3){ //判断
|
}else if(qitem.type==3){ //判断
|
||||||
@@ -582,7 +580,6 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
//console.log(this.paperQuestion,'this.paperQuestion')
|
|
||||||
this.arrangeQuestion();
|
this.arrangeQuestion();
|
||||||
this.splitQuestionType();
|
this.splitQuestionType();
|
||||||
//进入考试阶段
|
//进入考试阶段
|
||||||
@@ -684,7 +681,6 @@ export default {
|
|||||||
if(this.updateAnswerTimeer!=null){
|
if(this.updateAnswerTimeer!=null){
|
||||||
window.clearInterval(this.updateAnswerTimeer)
|
window.clearInterval(this.updateAnswerTimeer)
|
||||||
}
|
}
|
||||||
//console.log("启动自动保存");
|
|
||||||
let that = this;
|
let that = this;
|
||||||
this.updateAnswerTimeer =window.setInterval(function(){
|
this.updateAnswerTimeer =window.setInterval(function(){
|
||||||
that.updateAnswer();
|
that.updateAnswer();
|
||||||
@@ -704,7 +700,6 @@ export default {
|
|||||||
judgeUserAnswer = item.userAnswer + "";
|
judgeUserAnswer = item.userAnswer + "";
|
||||||
}
|
}
|
||||||
answer[item.id] = judgeUserAnswer;
|
answer[item.id] = judgeUserAnswer;
|
||||||
// console.log(answer[item.id],'1111')
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if(this.single.length > 0){
|
if(this.single.length > 0){
|
||||||
@@ -729,7 +724,6 @@ export default {
|
|||||||
},
|
},
|
||||||
//自动保存提交答案
|
//自动保存提交答案
|
||||||
updateAnswer:function(){
|
updateAnswer:function(){
|
||||||
//console.log("自动保存答案");
|
|
||||||
if(!this.aloneExamAnswerId){
|
if(!this.aloneExamAnswerId){
|
||||||
this.saveUserTest();
|
this.saveUserTest();
|
||||||
return;
|
return;
|
||||||
@@ -750,7 +744,6 @@ export default {
|
|||||||
// 人工提交
|
// 人工提交
|
||||||
manualSubmit(){
|
manualSubmit(){
|
||||||
// let tempScore=this.countScore();
|
// let tempScore=this.countScore();
|
||||||
// console.log(tempScore,"最后得分");
|
|
||||||
let that = this;
|
let that = this;
|
||||||
this.$confirm('您确定要提交试卷吗?', '提示', {
|
this.$confirm('您确定要提交试卷吗?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
|
|||||||
@@ -450,6 +450,8 @@ export default {
|
|||||||
this.paper.data = [];
|
this.paper.data = [];
|
||||||
this.resOwner = [];
|
this.resOwner = [];
|
||||||
this.formTab = 'info';
|
this.formTab = 'info';
|
||||||
|
this.totalScore=0;
|
||||||
|
this.paperLength=0;
|
||||||
this.question.list =[];
|
this.question.list =[];
|
||||||
this.question.checkQuest = [];
|
this.question.checkQuest = [];
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ module.exports = {
|
|||||||
proxy: {
|
proxy: {
|
||||||
'/systemapi': {
|
'/systemapi': {
|
||||||
// 目标代理服务器地址
|
// 目标代理服务器地址
|
||||||
target: 'http://127.0.0.1:9090',
|
target: 'http://192.168.0.10:9090',
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
logLevel:'debug',
|
logLevel:'debug',
|
||||||
secure: false,
|
secure: false,
|
||||||
|
|||||||
Reference in New Issue
Block a user