From b0dc1a2227ea2f0f81de3175bac6f992d9158773 Mon Sep 17 00:00:00 2001 From: zhaofang <752743406@qq.com> Date: Thu, 8 Sep 2022 15:07:30 +0800 Subject: [PATCH 01/13] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Course/catalogCourseware.vue | 7 ++ src/components/Course/courseForm.vue | 91 ++++++++++++++++++++- src/components/Course/weikeContent.vue | 68 +++++++++++++++ src/views/portal/course/Index.vue | 2 +- 4 files changed, 165 insertions(+), 3 deletions(-) diff --git a/src/components/Course/catalogCourseware.vue b/src/components/Course/catalogCourseware.vue index 516c6077..7cae07fe 100644 --- a/src/components/Course/catalogCourseware.vue +++ b/src/components/Course/catalogCourseware.vue @@ -333,6 +333,7 @@ import pdfPreview from "@/components/PdfPreview/index.vue"; import audioPlayer from '@/components/AudioPlayer/index.vue'; import videoPlayer from '@/components/VideoPlayer/index.vue'; + import { deepClone, param } from "../../utils"; export default{ props: { reset:{ @@ -389,6 +390,7 @@ setupTage:0, }, homework:{courseId: '', name:'', content:'', file:'', deadTime: '', submitMode: 3}, + homeworkChange:{}, exam:{ courseId:'', contentId:'', @@ -408,7 +410,9 @@ info:'',//考试说明 paperContent:'',//试题的json字符串 }, + examChange:{}, onlyQuestion:true, + examPaperChange:{}, examPaper:{items:[]}, assess:{ countType:'权重配置', @@ -515,6 +519,7 @@ apiCourse.getHomework(this.content.id).then(res=>{ if(res.status==200){ this.homework=res.result; + this.homeworkChange = deepClone(res.result); }else if(res.status==404){ //没有找到作业信息 }else{ @@ -527,6 +532,8 @@ if(res.status==200){ this.exam=res.result; this.examPaper=JSON.parse(res.result.paperContent); + this.examChange = deepClone(res.result); + this.examPaperChange = deepClone(JSON.parse(res.result.paperContent)); }else if(res.status==404){ //没有找到作业信息 }else{ diff --git a/src/components/Course/courseForm.vue b/src/components/Course/courseForm.vue index 627d5d5f..95095e1e 100644 --- a/src/components/Course/courseForm.vue +++ b/src/components/Course/courseForm.vue @@ -156,7 +156,7 @@ -
+
@@ -350,7 +350,7 @@ - + @@ -1036,7 +1036,94 @@ export default { this.btnLoading = false; }); }, + // 判断是否有未保存的内容 + unsavedContent() { + const courseware = this.$refs.courseware; + let pass = true; + if(this.curContent.id == '') {// 新增 + if(this.curContent.contentType == 60) { // 判断作业是否保存 + if(courseware.homework.content || courseware.homework.name || courseware.homework.deadTime){ + pass = false; + } + } else if(this.curContent.contentType == 61) { //考试 + if(courseware.examPaper.items.length>1) { + pass = false; + } + if(courseware.examPaper.items[0].content != '点击编辑试题内容') { + pass = false; + } + }else if(this.curContent.contentType == 41) { //图文 + if(courseware.htmlContent.length > 7){ + pass = false; + } + }else if(this.curContent.contentType == 52) { //外部链接 + if(courseware.linkInfo.url != '') { + pass = false; + } + } + } else {// 编辑 + if(this.curContent.contentType == 60) { // 判断作业是否保存 + if(JSON.stringify(courseware.homeworkChange) !== JSON.stringify(courseware.homework)) { + pass = false; + } + } else if(this.curContent.contentType == 61) { //考试 + if(JSON.stringify(courseware.examPaper) !== JSON.stringify(courseware.examPaperChange || + JSON.stringify(courseware.exam)) !== JSON.stringify(courseware.examChange)) { + pass = false; + } + } else if(this.curContent.contentType == 41) { //图文 + if(this.curContent.content !== courseware.htmlContent) { + pass = false; + } + } else if(this.curContent.contentType == 52) { //外部链接 + if(this.curContent.content !== JSON.stringify(courseware.linkInfo)) { + pass = false; + } + } else if(this.curContent.contentType == 10 || this.curContent.contentType == 20) {// 视频 + if(this.curContent.content !== JSON.stringify(courseware.curriculumData)) { + pass = false; + } + } + } + return pass; + }, + unsavedWeiContent() { + // console.log(this.contentInfo.list,'contentInfo.list'); + // console.log(this.courseInfo,'courseInfo'); + // console.log(this.$refs.weikeContent,'weikeContent'); + const courseware = this.$refs.weikeContent; + // console.log(this.catalogTree,'this.catalogTree'); + let pass = true; + // if(this.curContent.contentType == 60) { // 判断作业是否保存 + if(JSON.stringify(courseware.homeworkChange.info) !== JSON.stringify(courseware.homework.info)) { + pass = false; + } + // } else if(this.curContent.contentType == 61) { //考试 + // if(JSON.stringify(courseware.exam.info) !== JSON.stringify(courseware.examChange.info)) { + // console.log("2222"); + // pass = false; + // } + // } else { + // if(courseware.cware.content.content !== courseware.cwareChange.content.content) { + // console.log('333'); + // pass = false; + // } + // if(courseware.cware.linkInfo.content !== courseware.cwareChange.content.content) { + // console.log('333'); + // pass = false; + // } + // } + return pass; + }, submitCourse() { + if(this.biaoke.dlgShow && !this.unsavedContent()){ + this.$message.error('您有未保存的内容,请先保存'); + return; + } + if(this.weike.dlgShow && !this.unsavedWeiContent()){ + this.$message.error('您有未保存的内容,请先保存'); + return; + } //console.log(this.resOwnerListMap[0],'this.resOwnerListMap[0]'); //return; let ownerCode=this.resOwnerListMap[0].code; diff --git a/src/components/Course/weikeContent.vue b/src/components/Course/weikeContent.vue index 1bcfd522..04d0f8bf 100644 --- a/src/components/Course/weikeContent.vue +++ b/src/components/Course/weikeContent.vue @@ -529,6 +529,7 @@ import apiCourseFile from '../../api/modules/courseFile.js'; import audioPlayer from '@/components/AudioPlayer/index.vue'; import {getType} from '../../utils/tools.js'; + import { deepClone } from "../../utils"; export default{ components:{WxEditor,simplePaper,FileUpload,pdfPreview,audioPlayer}, props: { @@ -576,6 +577,23 @@ // {id:'5',type:'scorm',name:'SCORM(Q2)',img:'el-icon-suitcase',resType: 50}, {id:'6',type:'link',name:'外部连接',img:'el-icon-link', resType: 52} ], + cwareChange:{ + show:1,//1表新添加,2表选择 + content:{id:'',contentType:0,sortIndex:1,contentRefId:'',pdfPath:''}, + findShow:false,//是否显示查询 + curType:{type:'jpg',name:''},//这一项要去掉的 + linkInfo:{ + openType:1, + url:'' + }, + curriculumData:{ + url:'', + isDrag:true, + completeSetup:0, + second:5, + setupTage:0, + }, + }, cware:{ show:1,//1表新添加,2表选择 content:{id:'',contentType:0,sortIndex:1,contentRefId:'',pdfPath:''}, @@ -609,6 +627,48 @@ submitMode: 3, } }, + homeworkChange:{ + show:1, + content:{id:'',contentType:60,sortIndex:2}, + dtime:'', + info:{ + id:'', + courseId: '', + name:'', + content:'', + file:'', + deadTime: '', + submitMode: 3, + } + }, + examChange:{ + show:1, + content:{id:'',contentType:61,sortIndex:3}, + paperJson:{items:[]}, + paperShow:false, + customerShow:false, + onlyQuestion:true, + info:{ + courseId:'', + contentId:'', + testName:this.course.name, + testDuration:30, + showAnalysis:false, + showAnswer:false, + times:1, + qnum:0,//试题数量,只是模式是随机生成试题时才会有 + arrange:0, + scoringType:1, + passLine:60, + randomMode:false, + percentScore:true, + paperType:1,//自定义试卷 + paperId:'',//试卷的id,只有paperType为2的时间才会有值 + info:'',//考试说明 + paperContent:'',//试题的json字符串 + + } + }, exam:{ show:1, content:{id:'',contentType:61,sortIndex:3}, @@ -713,6 +773,7 @@ $this.cware.curriculumData.url=con.content; } } + $this.cwareChange = deepClone($this.cware); }else if(con.sortIndex==2){ $this.homework.content=con; //查询作业信息,并显示 @@ -758,6 +819,7 @@ if(res.status==200){ this.homework.info=res.result; this.homework.show=3;//显示作业内容 + this.homeworkChange = deepClone(this.homework); }else if(res.status==404){ //没有找到作业信息 this.homework.info.id=''; @@ -773,6 +835,7 @@ this.exam.info=res.result; this.exam.paperJson=JSON.parse(res.result.paperContent); this.exam.show=9; + this.examChange = deepClone(this.exam); }else if(res.status==404){ //没有找到作业信息 //this.exam.paperJson={items:[]}; @@ -890,22 +953,26 @@ } if(index==1){ postData.content=this.cware.content; + this.cwareChange.content = deepClone(this.cware.content) if(this.cware.content.contentType==52){ if(this.cware.linkInfo.url==''){ this.$message.error("请填写外连URL地址"); return; } postData.content.content=JSON.stringify(this.cware.linkInfo); + this.cwareChange.linkInfo = deepClone(this.cware.linkInfo) }else if(this.cware.content.contentType==10 || this.cware.content.contentType==20){ if(this.cware.curriculumData.url==''){ this.$message.error("请选择课件"); return; } postData.content.content=JSON.stringify(this.cware.curriculumData); + this.cwareChange.curriculumData = deepClone(this.cware.curriculumData) } }else if(index==2){ postData.content=this.homework.content; postData.homework=this.homework.info; + this.homeworkChange = deepClone(this.homework) }else if(index==3){ postData.content=this.exam.content; //检查是不是所有的试题都有了答案 @@ -932,6 +999,7 @@ } this.exam.info.paperContent=JSON.stringify(this.exam.paperJson); postData.exam=this.exam.info; + this.examChange = deepClone(this.exam); }else if(index==4){ this.assess.content.content=JSON.stringify(this.assess.json); postData.content=this.assess.content; diff --git a/src/views/portal/course/Index.vue b/src/views/portal/course/Index.vue index 74ec1125..2618c4c3 100644 --- a/src/views/portal/course/Index.vue +++ b/src/views/portal/course/Index.vue @@ -479,11 +479,11 @@ export default { } } }, - // 分类 changeType(num) { this.types.oneSubList = []; this.types.subOne = "0"; + this.types.subTow = "0"; this.types.towSubList = []; let list = {}; if (num !== 0) { From 908e134ff0717bae89f3ca30ce5d2ac25f9fb3d4 Mon Sep 17 00:00:00 2001 From: daihh Date: Fri, 9 Sep 2022 14:54:11 +0800 Subject: [PATCH 02/13] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Course/courseForm.vue | 12 ++++++++---- src/components/UcHeader/Index.vue | 14 ++++++++++---- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/components/Course/courseForm.vue b/src/components/Course/courseForm.vue index 37c3cc7e..f01b1bb1 100644 --- a/src/components/Course/courseForm.vue +++ b/src/components/Course/courseForm.vue @@ -824,7 +824,7 @@ export default { if(result.course.sysType3!='' && result.course.sysType3!='0'){ this.sysTypeList.push(result.course.sysType3); } - console.log(this.sysTypeList,'this.sysTypeList'); + //console.log(this.sysTypeList,'this.sysTypeList'); //受众处理,crowds let crowdList=[]; if(result.crowds && result.crowds.length>0){ @@ -1099,12 +1099,16 @@ export default { }); }, submitCourse() { - console.log(this.courseInfo.orgId,'this.courseInfo.orgId'); - console.log(this.orgKid,'this.orgKid'); - if(!this.courseInfo.orgId || !this.orgKid){ + //console.log(this.courseInfo.orgId,'this.courseInfo.orgId'); + //console.log(this.orgKid,'this.orgKid'); + if(!this.courseInfo.orgId){ this.$message.error('请选择资源归属'); return; } + if(!this.orgKid){ + this.$message.error('资源归属无关联HRBP信息'); + return; + } //console.log(this.resOwnerListMap[0],'this.resOwnerListMap[0]'); //return; let ownerCode=this.resOwnerListMap[0].code; diff --git a/src/components/UcHeader/Index.vue b/src/components/UcHeader/Index.vue index 427234b6..ac17d698 100644 --- a/src/components/UcHeader/Index.vue +++ b/src/components/UcHeader/Index.vue @@ -79,11 +79,17 @@ import {userAvatarText,cutFullName} from "@/utils/tools.js"; } }, mounted() { - this.sex = this.userInfo.sex; - // 判断路由是进入的学员默认页面就重置setCurIdentity - if(this.$route.path == '/uc/study/task' || this.$route.path == '/study/index'){ - this.setCurIdentity(1); + this.sex = this.userInfo.sex; + let iden=this.$route.query.identity; + if(iden){ + this.setCurIdentity(parseInt(iden)); + }else{ + // 判断路由是进入的学员默认页面就重置setCurIdentity + if(this.$route.path == '/uc/study/task' || this.$route.path == '/study/index'){ + this.setCurIdentity(1); + } } + //let testName='京东方科技集团股份有限公司/北京中祥英科技有限公司/技术中心'; //this.orgInfo=cutFullName(testName,1); this.orgInfo=cutFullName(this.userInfo.departFullName,1); From 3daca5ae07b97650a172daebce1dc829483a1046 Mon Sep 17 00:00:00 2001 From: daihh Date: Fri, 9 Sep 2022 17:04:45 +0800 Subject: [PATCH 03/13] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/PortalHeader.vue | 18 ++++++------ src/views/Loading.vue | 2 +- src/views/Login.vue | 2 +- src/views/StudyIndex.vue | 52 ++++++++++++++++----------------- src/views/study/TaskList.vue | 4 +++ 5 files changed, 41 insertions(+), 37 deletions(-) diff --git a/src/components/PortalHeader.vue b/src/components/PortalHeader.vue index 881db6c8..f06e04c6 100644 --- a/src/components/PortalHeader.vue +++ b/src/components/PortalHeader.vue @@ -46,7 +46,7 @@
- +
@@ -54,7 +54,7 @@
- 个人中心 + 个人中心 退出 @@ -117,13 +117,13 @@ export default { // cmtask_status:this.cmtask_status, // cmtask_name:this.cmtask_name, }; - apiBoeCourse.cmtaskList(params).then(res => { - if (res.status == 200 && res.result.count > 0) { - this.isTiao = true; - } else { - this.isTiao = false; - } - }); + // apiBoeCourse.cmtaskList(params).then(res => { + // if (res.status == 200 && res.result.count > 0) { + // this.isTiao = true; + // } else { + // this.isTiao = false; + // } + // }); }, handleCommand(val) { let urlPre=window.location.protocol+'//'+window.location.host; diff --git a/src/views/Loading.vue b/src/views/Loading.vue index 5d59e15f..f8909b3f 100644 --- a/src/views/Loading.vue +++ b/src/views/Loading.vue @@ -45,7 +45,7 @@ if(this.toUrl){ location.href=this.toUrl; }else{ - this.$router.push({ path: "/study/index" }) + this.$router.push({ path: "/uc/study/task" }) } //this.$router.push({ path: "/index" }) }else{ diff --git a/src/views/Login.vue b/src/views/Login.vue index 8a77d185..bb6a47a4 100644 --- a/src/views/Login.vue +++ b/src/views/Login.vue @@ -108,7 +108,7 @@ this.$store.dispatch("portal/SetLoginRememberMe", rememberMeOjb) } //console.log(this.redirect,'this.redirect'); - this.$router.push({ path: this.redirect || "/study/index" }).catch(()=>{ + this.$router.push({ path: this.redirect || "/uc/study/task" }).catch(()=>{ $this.loading = false; }); }else{ diff --git a/src/views/StudyIndex.vue b/src/views/StudyIndex.vue index 1adfa426..4e74499d 100644 --- a/src/views/StudyIndex.vue +++ b/src/views/StudyIndex.vue @@ -131,32 +131,32 @@ // cmtask_name:this.cmtask_name, } - apiBoeCourse.cmtaskList(params).then(res=>{ - if(res.status==200){ - this.total = res.result.count - this.couresList = res.result.list; - this.loading = false; - if(this.$route.fullPath != '/uc/study/task' && this.$route.fullPath != '/uc/study/courses' && this.$route.fullPath != '/study/index') { - return; - } - if(res.result.count > 0) { - this.$router.push('/uc/study/task') - } else { - if(this.$route.query.study == '1') { - this.$router.push('/uc/study/task') - } else { - this.$router.push('/uc/study/courses') - } - } - }else{ - this.$router.push('/uc/study/courses') - } - }).catch(err=>{ - if(this.$route.fullPath != '/uc/study/task' || this.$route.fullPath != '/uc/study/courses' || this.$route.fullPath != '/study/index') { - return; - } - this.$router.push('/uc/study/courses'); - }) + // apiBoeCourse.cmtaskList(params).then(res=>{ + // if(res.status==200){ + // this.total = res.result.count + // this.couresList = res.result.list; + // this.loading = false; + // if(this.$route.fullPath != '/uc/study/task' && this.$route.fullPath != '/uc/study/courses' && this.$route.fullPath != '/study/index') { + // return; + // } + // if(res.result.count > 0) { + // this.$router.push('/uc/study/task') + // } else { + // if(this.$route.query.study == '1') { + // this.$router.push('/uc/study/task') + // } else { + // this.$router.push('/uc/study/courses') + // } + // } + // }else{ + // this.$router.push('/uc/study/courses') + // } + // }).catch(err=>{ + // if(this.$route.fullPath != '/uc/study/task' || this.$route.fullPath != '/uc/study/courses' || this.$route.fullPath != '/study/index') { + // return; + // } + // this.$router.push('/uc/study/courses'); + // }) }, created() { //this.$router.push('/uc/study/courses'); diff --git a/src/views/study/TaskList.vue b/src/views/study/TaskList.vue index d881cc39..00446da0 100644 --- a/src/views/study/TaskList.vue +++ b/src/views/study/TaskList.vue @@ -140,6 +140,10 @@ export default { if(res.status==200){ this.total = res.result.count this.couresList = res.result.list; + if(total==0){ + //如果没有就跳转到其它页面 + this.$router.push({ path: "/uc/study/courses" }) + } }else{ this.$message.error('查询数据失败:'+res.message); } From 95ad0c0db01565a510d7a7daf3eb54d9fe042833 Mon Sep 17 00:00:00 2001 From: daihh Date: Fri, 9 Sep 2022 17:44:32 +0800 Subject: [PATCH 04/13] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=B7=B3=E8=BD=AC?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/UcHeader/Index.vue | 2 +- src/store/modules/user.js | 4 ++++ src/views/study/TaskList.vue | 8 ++++++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/components/UcHeader/Index.vue b/src/components/UcHeader/Index.vue index ac17d698..f1186be2 100644 --- a/src/components/UcHeader/Index.vue +++ b/src/components/UcHeader/Index.vue @@ -23,7 +23,7 @@ 学习时长:{{userInfo.studyTotalH}}小时
- 学员 + 学员 教师 管理员
diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 9a91527f..91e3a50a 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -73,6 +73,10 @@ const user = { } }) }, + // + SetTaskCount({ commit }, count) { + commit('SET_StudyTaskCount', count); + }, //设置用户身份 SetIdentity({ commit }, iden) { return new Promise((resolve) => { diff --git a/src/views/study/TaskList.vue b/src/views/study/TaskList.vue index 00446da0..15ef8eb5 100644 --- a/src/views/study/TaskList.vue +++ b/src/views/study/TaskList.vue @@ -136,13 +136,17 @@ export default { cmtask_name:this.params.cmtask_name, } this.loading=true; + let $this=this; apiBoeCourse.cmtaskList(params).then(res=>{ if(res.status==200){ this.total = res.result.count this.couresList = res.result.list; - if(total==0){ + //this.$store.commit('user/SET_StudyTaskCount',res.result.count); + //this.$store.dispatch('user/SetTaskCount',res.result.count); + + if(this.total==0){ //如果没有就跳转到其它页面 - this.$router.push({ path: "/uc/study/courses" }) + this.$router.push("/uc/study/courses") } }else{ this.$message.error('查询数据失败:'+res.message); From 54902e9063d31fffe429bf61984bf3d53a49aad9 Mon Sep 17 00:00:00 2001 From: daihh Date: Fri, 9 Sep 2022 17:47:03 +0800 Subject: [PATCH 05/13] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=B7=B3=E8=BD=AC?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/StudyIndex.vue | 131 +-------------------------------------- 1 file changed, 3 insertions(+), 128 deletions(-) diff --git a/src/views/StudyIndex.vue b/src/views/StudyIndex.vue index 4e74499d..a9b34696 100644 --- a/src/views/StudyIndex.vue +++ b/src/views/StudyIndex.vue @@ -79,148 +79,23 @@ From b0e45e98448d5ad4c9d9fc20c1b18d18fd8f86e0 Mon Sep 17 00:00:00 2001 From: daihh Date: Fri, 9 Sep 2022 18:18:50 +0800 Subject: [PATCH 06/13] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=BA=E5=90=8D=E7=A7=B0=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Course/auditCourse1.vue | 16 ++++++++++++++++ src/components/Course/auditCourse2.vue | 16 ++++++++++++++++ src/views/course/TeacherList.vue | 2 +- 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/components/Course/auditCourse1.vue b/src/components/Course/auditCourse1.vue index a04003ba..62ee3cd4 100644 --- a/src/components/Course/auditCourse1.vue +++ b/src/components/Course/auditCourse1.vue @@ -240,6 +240,7 @@ import weikeContent from "@/components/Course/weikeContent.vue"; import catalogCourseware from "@/components/Course/catalogCourseware.vue"; import apiCourse from "@/api/modules/course.js"; import apiOrg from '../../api/system/organiza.js'; +import apiUser from '../../api/system/user.js'; import scene from "../../api/modules/scene.js"; import exam from "@/components/Course/exam"; import homework from "@/components/Course/homework"; @@ -599,6 +600,21 @@ export default { this.orgKid=rrs.result.kid; } }) + }else{ + //根据课程创建者获取机构id + apiUser.getOrgSimpleByUserId(this.courseInfo.sysCreateAid).then(ors=>{ + if(ors.status==200){ + $this.courseInfo.orgId=ors.result.id; + apiOrg.getSimple(ors.result.id).then(rrs=>{ + if(rrs.status==200){ + $this.orgName=rrs.result.name; + $this.orgKid=rrs.result.kid; + } + }) + }else{ + // + } + }) } this.teacherList = rs.result.teachers; this.teacherName = rs.result.teachers; diff --git a/src/components/Course/auditCourse2.vue b/src/components/Course/auditCourse2.vue index 2106abf2..efa3ed9d 100644 --- a/src/components/Course/auditCourse2.vue +++ b/src/components/Course/auditCourse2.vue @@ -267,6 +267,7 @@