From 5da2052ed01fa434f0b997605d50757444b450aa Mon Sep 17 00:00:00 2001 From: daihh Date: Wed, 31 Aug 2022 19:24:35 +0800 Subject: [PATCH 001/112] =?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 | 3 ++- src/views/course/Courseware.vue | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/components/Course/catalogCourseware.vue b/src/components/Course/catalogCourseware.vue index 516c6077..d6aadca9 100644 --- a/src/components/Course/catalogCourseware.vue +++ b/src/components/Course/catalogCourseware.vue @@ -374,7 +374,8 @@ {id:'5',type:'link',name:'外部连接',img:'el-icon-link',resType:52}, {id:'6',type:'exam',name:'考试',img:'el-icon-document-checked',resType:61}, {id:'7',type:'homework',name:'作业',img:'el-icon-reading',resType:60}, - {id:'8',type:'assess',name:'评估',img:'el-icon-user',resType:62} + {id:'8',type:'assess',name:'评估',img:'el-icon-user',resType:62}, + {id:'9',type:'scorm',name:'SCORM',img:'el-icon-folder',resType:50} ], htmlContent:'', linkInfo:{ diff --git a/src/views/course/Courseware.vue b/src/views/course/Courseware.vue index 5f7e2e63..b008d7e8 100644 --- a/src/views/course/Courseware.vue +++ b/src/views/course/Courseware.vue @@ -28,6 +28,7 @@
+
@@ -144,6 +145,9 @@
+
+ +
@@ -308,6 +312,7 @@ export default { form: { device1:false, device2:false, + scorm:0, }, editCoursewareShow: false, currentPage4: 4, From d0522772fa8d5db1eacfe5a7dc13df096cecff65 Mon Sep 17 00:00:00 2001 From: lmj <3407000732@qq.com> Date: Mon, 5 Dec 2022 16:36:41 +0800 Subject: [PATCH 002/112] =?UTF-8?q?=E6=8E=A8=E8=8D=90=E4=BC=98=E7=A7=80?= =?UTF-8?q?=E6=A1=88=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/case/ManageList.vue | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/views/case/ManageList.vue b/src/views/case/ManageList.vue index f38078b4..d02c06c2 100644 --- a/src/views/case/ManageList.vue +++ b/src/views/case/ManageList.vue @@ -38,7 +38,9 @@ 置顶 取消置顶 - 删除 + 删除 + 推荐优秀案例 + From 62ba05c6dd2db1e9970a28a9762afd223a396075 Mon Sep 17 00:00:00 2001 From: lmj <3407000732@qq.com> Date: Mon, 5 Dec 2022 17:09:29 +0800 Subject: [PATCH 003/112] =?UTF-8?q?=E6=A1=88=E4=BE=8B=E5=88=86=E4=BA=AB?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/case/ManageList.vue | 2 +- src/views/portal/case/Index.vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/case/ManageList.vue b/src/views/case/ManageList.vue index d02c06c2..def3553c 100644 --- a/src/views/case/ManageList.vue +++ b/src/views/case/ManageList.vue @@ -39,7 +39,7 @@ 置顶 取消置顶 删除 - 推荐优秀案例 + 推荐优秀案例 diff --git a/src/views/portal/case/Index.vue b/src/views/portal/case/Index.vue index d156e4de..62062f99 100644 --- a/src/views/portal/case/Index.vue +++ b/src/views/portal/case/Index.vue @@ -105,7 +105,7 @@
-
+
From 5e198e60b03d25bd538174f081ed2fbf188db496 Mon Sep 17 00:00:00 2001 From: 86182 Date: Tue, 6 Dec 2022 11:25:44 +0800 Subject: [PATCH 004/112] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=92=8C=E5=8F=96?= =?UTF-8?q?=E6=B6=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/modules/cases.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/api/modules/cases.js b/src/api/modules/cases.js index 1a8cbced..0408c2e1 100644 --- a/src/api/modules/cases.js +++ b/src/api/modules/cases.js @@ -119,6 +119,17 @@ const ids=function (data){ return ajax.postJson('/xboe/m/boe/cases/ids',data); } +/** + * 设置和取消优秀案例 + * @param{ + * id 案例id + * excellent true、设置 false 取消 + * } + * */ +const excellent=function(data){ + return ajax.post('/xboe/m/boe/cases/excellent') +} + export default { indexList, queryList, @@ -133,5 +144,6 @@ export default { queryComments, majorTypes, details, - ids + ids, + excellent } From 3140d04b7c808beb27ca3b63752854d707c7271e Mon Sep 17 00:00:00 2001 From: lmj <3407000732@qq.com> Date: Tue, 6 Dec 2022 12:02:28 +0800 Subject: [PATCH 005/112] =?UTF-8?q?=E7=AE=A1=E7=90=86=E6=A1=88=E4=BE=8B?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=A2=9E=E5=8A=A0=E5=8F=96=E6=B6=88=E6=8E=A8?= =?UTF-8?q?=E8=8D=90=E6=A1=88=E4=BE=8B=E5=92=8C=E6=8E=A8=E8=8D=90=E6=A1=88?= =?UTF-8?q?=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/modules/cases.js | 2 +- src/views/case/ManageList.vue | 61 +++++++++++++++++++++++++++++++-- src/views/portal/case/Index.vue | 2 ++ 3 files changed, 61 insertions(+), 4 deletions(-) diff --git a/src/api/modules/cases.js b/src/api/modules/cases.js index 0408c2e1..96b313dd 100644 --- a/src/api/modules/cases.js +++ b/src/api/modules/cases.js @@ -127,7 +127,7 @@ const ids=function (data){ * } * */ const excellent=function(data){ - return ajax.post('/xboe/m/boe/cases/excellent') + return ajax.post('/xboe/m/boe/cases/excellent',data) } export default { diff --git a/src/views/case/ManageList.vue b/src/views/case/ManageList.vue index def3553c..701c0030 100644 --- a/src/views/case/ManageList.vue +++ b/src/views/case/ManageList.vue @@ -38,9 +38,8 @@ 置顶 取消置顶 + 取消案例优秀案例 删除 - 推荐优秀案例 - @@ -118,6 +117,7 @@ export default { name: 'articleItems', data() { return { + excellent:false, queryObj: { pageIndex:1, pageSize:10, @@ -138,7 +138,6 @@ export default { shareShow: false, shareUsers:[], shareItemData:{}, - timeout: null, params: { name: '', type: '' }, typeList: [], @@ -160,6 +159,62 @@ export default { this.getData(); }, methods: { + cancal(item){ + this.$confirm('是否取消该案例为优秀案例?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + this.excellent = false; + let data = { + id:item.id, + excellent:this.excellent + } + console.log(data) + apiCase.excellent(data).then(res => { + if(res.status == 200){ + this.$message({ + type: 'success', + message: '取消成功!' + }); + this.getData() + } + }) + }).catch(() => { + this.$message({ + type: 'info', + message: '已撤回取消推荐' + }); + }); + }, + open(item) { + this.$confirm('是否推荐该案例为优秀案例?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + this.excellent = true; + let data = { + id:item.id, + excellent:this.excellent + } + console.log(data) + apiCase.excellent(data).then(res => { + if(res.status == 200){ + this.$message({ + type: 'success', + message: '推荐成功!' + }); + this.getData() + } + }) + }).catch(() => { + this.$message({ + type: 'info', + message: '已取消推荐' + }); + }); + }, inputOn() { this.$forceUpdate(); }, diff --git a/src/views/portal/case/Index.vue b/src/views/portal/case/Index.vue index 62062f99..03cae4bf 100644 --- a/src/views/portal/case/Index.vue +++ b/src/views/portal/case/Index.vue @@ -61,6 +61,8 @@ 最热 最新 + 优秀案例 + From d4e9e2a1d89f90a2bc89f8aaa3bd534ceb7c8b8d Mon Sep 17 00:00:00 2001 From: lmj <3407000732@qq.com> Date: Tue, 6 Dec 2022 14:46:46 +0800 Subject: [PATCH 006/112] =?UTF-8?q?=E6=A1=88=E4=BE=8B=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BC=98=E7=A7=80=E6=A1=88=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/portal/case/Index.vue | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/views/portal/case/Index.vue b/src/views/portal/case/Index.vue index 03cae4bf..5254ea50 100644 --- a/src/views/portal/case/Index.vue +++ b/src/views/portal/case/Index.vue @@ -61,7 +61,7 @@ 最热 最新 - 优秀案例 + 优秀案例 @@ -280,7 +280,8 @@ export default { keyWord: "", majorType:null, //专业分类 orgDomain: null, // 组织领域 - orderAsc: false + orderAsc: false, + excellent:false }, keyWord: "", anking: 2, @@ -486,7 +487,15 @@ export default { this.queryCondition.pageIndex = 1; this.search(); }, + searchexcellent(){ + this.queryCondition.excellent = !this.queryCondition.excellent; + this.getCaseData(); + }, searchData(num) { + // if(num == 1){ + // this.queryCondition.excellent = !this.queryCondition.excellent; + // this.getCaseData(); + // } this.queryCondition.pageIndex = 1; this.queryCondition.orderField = num; this.getCaseData(); From 582270042ade4566b8b0989e0ad866eac035a29a Mon Sep 17 00:00:00 2001 From: lmj <3407000732@qq.com> Date: Tue, 6 Dec 2022 19:01:48 +0800 Subject: [PATCH 007/112] =?UTF-8?q?=E6=95=99=E5=B8=88=E5=BC=B9=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/HomePage/homePage.vue | 30 ++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/src/components/HomePage/homePage.vue b/src/components/HomePage/homePage.vue index 672aa133..581ad0ad 100644 --- a/src/components/HomePage/homePage.vue +++ b/src/components/HomePage/homePage.vue @@ -22,6 +22,7 @@ 个人设置 个人中心 + 教师简介 关注TA 已关注 {{pageId == userInfo.aid ? '留言板':'去留言'}} @@ -74,12 +75,21 @@ --> + + 这是一段信息 + + \ No newline at end of file From f52e0459cb453e9299659c2ef45518d7ca06b230 Mon Sep 17 00:00:00 2001 From: lmj <3407000732@qq.com> Date: Fri, 9 Dec 2022 12:20:46 +0800 Subject: [PATCH 018/112] =?UTF-8?q?=E6=A1=88=E4=BE=8B=E7=AD=9B=E9=80=89?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E5=A4=9A=E9=80=89=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/portal/case/Index.vue | 109 ++++++++++++++++++++++++++++---- 1 file changed, 96 insertions(+), 13 deletions(-) diff --git a/src/views/portal/case/Index.vue b/src/views/portal/case/Index.vue index 5254ea50..27d92215 100644 --- a/src/views/portal/case/Index.vue +++ b/src/views/portal/case/Index.vue @@ -7,10 +7,10 @@
-
@@ -38,12 +42,16 @@
@@ -278,8 +286,8 @@ export default { orderField: "views", // breCommend:null, keyWord: "", - majorType:null, //专业分类 - orgDomain: null, // 组织领域 + majorType:'', //专业分类 + orgDomain: '', // 组织领域 orderAsc: false, excellent:false }, @@ -292,10 +300,20 @@ export default { isFind: false, searchTags: [], orgData: [], + fieldData:[], + fielclass:true, + orgDomainData:'', + orgsto:[], + majorTypeData:'', + majsto:[], + Domarr:[], + majarr:[], }; }, mounted() { + + if(this.searchTags.length == 0){ this.queryCondition.majorType = null; this.queryCondition.orgDomain = null; @@ -337,6 +355,39 @@ export default { window.removeEventListener("scroll", this.handleScroll); }, methods: { + fieldmajor(item){//专业分类 + this.majarr.push(item);//搜索条件 + this.fieldData = Array.from(new Set(this.majarr))//过滤重复的数据 + this.majsto.push(item.code); + this.majorTypeData = this.majsto.toString()//传给后端 + this.queryCondition.majorType = this.majorTypeData + item.fielclass = !item.fielclass; + this.getCaseData(); + // this.lmj(); + }, + fieldswich(item){//组织领域 + this.Domarr.push(item);//搜索条件 + this.fieldData = Array.from(new Set(this.Domarr))//过滤重复的数据 + this.orgsto.push(item.code); + this.orgDomainData = this.orgsto.toString()//传给后端 + this.queryCondition.orgDomain = this.orgDomainData; + item.fielclass = !item.fielclass; + this.getCaseData(); + this.lmj(); + }, + lmj(){ + this.fieldData.forEach((item,idx) =>{ + if(item.fielclass == false){ + console.log(item,'lll') + let index = this.fieldData.indexOf(item); + console.log(index,'index') + // 删除这个为false的item + this.fieldData.splice(index,1) + // console.log(this.fieldData) + this.fieldData.splice(item,1) + } + }) + }, banJump() { if(this.resonimg.JumpUrl) { window.open(this.resonimg.JumpUrl); @@ -353,6 +404,12 @@ export default { let $this=this; apiCase.majorTypes().then(res =>{ if(res.status == 200){ + if (res.status == 200) { + res.result.forEach(item =>{ + item.fielclass = false; + + }) + } this.speciData = res.result; this.$nextTick(function() { $this.initHeight = document.getElementById("searchBox").offsetHeight; @@ -432,6 +489,9 @@ export default { let key = "org_domain"; apiDict.items(key).then(res => { if (res.status == 200) { + res.result.forEach(item =>{ + item.fielclass = false; + }) this.domain = res.result; if(res.result.length > 0) { this.orgDomainLevel(res.result) @@ -567,6 +627,7 @@ export default { this.getCaseData(); }, async getCaseData() { + // this.fieldData this.getTags(); if (this.queryCondition.pageIndex == 1) { this.caseList.list = []; @@ -637,9 +698,7 @@ export default { } }, tagsClose(tag, index) { - for (let i in this.queryCondition) { - if (tag.type === i) { if (i == "majorType") { this.queryCondition.majorType = ''; @@ -659,7 +718,6 @@ export default { if (i == "orgDomain") { this.queryCondition.orgDomain = null; } - this.getCaseData(); } } @@ -734,6 +792,31 @@ export default { \ No newline at end of file From e42169429b3bcfa0a3ce433b941a68ac3775ef98 Mon Sep 17 00:00:00 2001 From: lmj <3407000732@qq.com> Date: Sun, 11 Dec 2022 15:12:57 +0800 Subject: [PATCH 025/112] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E8=AF=BE=E7=A8=8B?= =?UTF-8?q?=E6=8E=92=E8=A1=8C=E6=A6=9C=E9=A2=84=E8=A7=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Portal/course/couresinteract.vue | 708 ++++++++++++++++++ src/views/Index.vue | 6 +- src/views/portal/course/Index.vue | 7 + 3 files changed, 720 insertions(+), 1 deletion(-) create mode 100644 src/components/Portal/course/couresinteract.vue diff --git a/src/components/Portal/course/couresinteract.vue b/src/components/Portal/course/couresinteract.vue new file mode 100644 index 00000000..a3dda2f1 --- /dev/null +++ b/src/components/Portal/course/couresinteract.vue @@ -0,0 +1,708 @@ + + + + + diff --git a/src/views/Index.vue b/src/views/Index.vue index 3c3d6dfe..5c110545 100644 --- a/src/views/Index.vue +++ b/src/views/Index.vue @@ -189,7 +189,9 @@
- + + +
@@ -467,6 +469,7 @@ import apiUser from '@/api/system/user.js'; import apiCoursePortal from '@/api/modules/coursePortal.js'; import interactBar from '@/components/Portal/interactBar.vue'; + import couresinteract from '@/components/Portal/course/couresinteract.vue'; import ad from '@/components/Portal/adFloat.vue'; import courseImage from '@/components/Course/courseImage.vue'; import articleImage from '@/components/Article/articleImage.vue'; @@ -491,6 +494,7 @@ portalFloatTools, authorInfo, interactBar, + couresinteract, courseImage, InterestCollection, GuideBox, diff --git a/src/views/portal/course/Index.vue b/src/views/portal/course/Index.vue index 2685a5e0..69e59b1b 100644 --- a/src/views/portal/course/Index.vue +++ b/src/views/portal/course/Index.vue @@ -325,6 +325,7 @@ export default { }, data() { return { + resonimg:{}, formatDate, formatNum:formatUserNumber, @@ -384,6 +385,7 @@ export default { totalPages: 1 }; }, + mounted() { let screenWidth = window.screen.availWidth; if (screenWidth < 1280) { @@ -851,6 +853,7 @@ export default { } }) this.scorelist = res.result; + // console.log(this.scorelist) } }); }, @@ -905,6 +908,10 @@ export default { diff --git a/src/components/Course/weikeContent.vue b/src/components/Course/weikeContent.vue index 67b8447a..cf928e71 100644 --- a/src/components/Course/weikeContent.vue +++ b/src/components/Course/weikeContent.vue @@ -497,7 +497,6 @@ 保 存 删 除 - @@ -575,7 +574,7 @@ {id:'2',type:'sound',name:'音频',img:'el-icon-service',resType: 20}, {id:'3',type:'html',name:'图文',img:'el-icon-document-copy',resType: 41}, {id:'4',type:'doc',name:'文档',img:'el-icon-document',resType: 40}, - // {id:'5',type:'scorm',name:'SCORM(Q2)',img:'el-icon-suitcase',resType: 50}, + {id:'5',type:'scorm',name:'SCORM',img:'el-icon-suitcase',resType: 50}, {id:'6',type:'link',name:'外部连接',img:'el-icon-link', resType: 52} ], cwareChange:{ diff --git a/src/components/Scorm/preview.vue b/src/components/Scorm/preview.vue new file mode 100644 index 00000000..2c5b25db --- /dev/null +++ b/src/components/Scorm/preview.vue @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/src/views/course/Courseware.vue b/src/views/course/Courseware.vue index f5ae8148..4f252ba5 100644 --- a/src/views/course/Courseware.vue +++ b/src/views/course/Courseware.vue @@ -190,33 +190,36 @@
-
{{ fileUrl.fileName }}
+
{{ fileInfo.fileName }}
-
+
- +
-
+
-
-
图片
-
+
图片
+
+
+ +
关闭 @@ -231,22 +234,18 @@ {{ form.fileName }} {{ getType(form.resType) }} - + - - + + + +
保存 @@ -282,7 +281,7 @@ export default { }, // resOwnerName: resOwnerIndexName, isUpload: true, - fileUrl: {}, + fileInfo: {}, device1: 1, device2: 2, projectOwnership1: '', @@ -312,8 +311,15 @@ export default { // { value: 90, label: "其他" } ], form: { + id:'', device1:false, device2:false, + fileName:'', + name:'', + resType:'', + duration:0, + minute:0, + down:false }, editCoursewareShow: false, currentPage4: 4, @@ -332,6 +338,7 @@ export default { needOrg:'请先选择资源归属', fileList: [], courseShow: false, + scormUrl:'',//scorm的播放地址 multipleSelection: [] }; }, @@ -462,6 +469,8 @@ export default { } else if (this.form.device2 === true) { this.form.device = 2; } + //时长,秒与分钟的转化 + if(this.form.) try { const { status,message} = await coueseFile.batchUpdate([this.form]); if (status === 200) { @@ -667,8 +676,17 @@ export default { console.log(data); }, viewTopic(row) { - this.fileUrl = row; - console.log(row, 'row'); + this.fileInfo = row;//这里的fileInfo 相当于内容对象 + if(row.resType==50){ + if(!row.content){ + this.$message({type: 'error',message: '无SCORM内容,SCORM包解析失败'}); + return; + } + //scorm课件的内容,取第一个sco + var scorm=JSON.parse(row.content); + this.scormUrl='http://localhost:9083/scorm-player?page='+scorm.index;//播放的首页 + } + //console.log(row, 'row'); this.coursewareShow = true; } } From ee94dd6cc06248d08c67b2fb3c23f11f63a53384 Mon Sep 17 00:00:00 2001 From: daihh Date: Tue, 13 Dec 2022 11:15:17 +0800 Subject: [PATCH 031/112] =?UTF-8?q?=E8=AF=AF=E6=8F=90=E4=BA=A4=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/course/Courseware.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/course/Courseware.vue b/src/views/course/Courseware.vue index 4f252ba5..4ffd9a13 100644 --- a/src/views/course/Courseware.vue +++ b/src/views/course/Courseware.vue @@ -470,7 +470,7 @@ export default { this.form.device = 2; } //时长,秒与分钟的转化 - if(this.form.) + //if(this.form.) try { const { status,message} = await coueseFile.batchUpdate([this.form]); if (status === 200) { From 113d0e33efb85bd441b12ee678af7bb037fc6125 Mon Sep 17 00:00:00 2001 From: lmj <3407000732@qq.com> Date: Tue, 13 Dec 2022 14:37:42 +0800 Subject: [PATCH 032/112] =?UTF-8?q?=E6=88=91=E7=9A=84=E6=A1=88=E4=BE=8B?= =?UTF-8?q?=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/course/MycaseRecord.vue | 107 +++++++++++++++++++----------- 1 file changed, 67 insertions(+), 40 deletions(-) diff --git a/src/views/course/MycaseRecord.vue b/src/views/course/MycaseRecord.vue index f8b96496..df55e649 100644 --- a/src/views/course/MycaseRecord.vue +++ b/src/views/course/MycaseRecord.vue @@ -1,56 +1,75 @@ @@ -63,46 +82,54 @@ computed: { }, data(){ return { + count:0, caseData:{ pageIndex:1, pageSize:10, + keyWord:'', + status:0, }, - pageData:[{ - time:'2022-10-30 13:00:00', - courseName:'时间管理', - sysType:'核心能力大楼培训', - status:'管理者课程', - courseUser:'管理者进阶-腾飞班K1', - auditTime:'产品经理路径管理', - auditRemark:'35', - studynum:'120', - pf:'4.5', - cz:'导出学员信息' - }, - { - time:'2022-10-30 13:00:00', - courseName:'时间管理', - sysType:'核心能力大楼培训', - status:'管理者课程', - courseUser:'管理者进阶-腾飞班K1', - auditTime:'产品经理路径管理', - auditRemark:'35', - studynum:'120', - pf:'4.5', - cz:'导出学员信息' - } - ] + params:[], } }, mounted(){ - // this.getcaseData(); + this.getcaseData(); }, + methods:{ + Export(){ + let data = { + keyWord:this.caseData.keyWord, + } + aipCase.exportCases(data).then(res =>{ + + }) + }, + getsearch(){ + this.caseData.pageIndex = 1; + this.getcaseData(); + }, + handleSizeChange(val) { + this.caseData.pageSize = val; + this.caseData.pageIndex = 1; + this.getcaseData(); + }, + handleCurrentChange(val) { + this.caseData.pageIndex = val; + this.getcaseData(); + }, getcaseData(){ aipCase.mylist(this.caseData).then(res =>{ - // console.log(res); + console.log(res); + this.count = res.result.count; + this.params = res.result.list }) }, + + reset(){ + this.caseData.keyWord = ''; + this.getcaseData(); + } } } From 193eaa3b3b44dcf70670bb5b6a28ba15aa17d272 Mon Sep 17 00:00:00 2001 From: daihh Date: Tue, 13 Dec 2022 15:43:01 +0800 Subject: [PATCH 033/112] =?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/utils/tools.js | 6 ++++-- src/views/course/Courseware.vue | 9 ++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/utils/tools.js b/src/utils/tools.js index 00b7fdd6..c027ce3c 100644 --- a/src/utils/tools.js +++ b/src/utils/tools.js @@ -37,7 +37,7 @@ export const cutOrgNamePath = (namePath) => { newName=names[0] } } - + // if(names.length>1){ // newName=names[1]; // if(num==2){ @@ -72,7 +72,7 @@ const contentTypeMaps = { 30: '图片', 40: '文档', 41: '图文', - 50: 'scrom包', + 50: 'scorm', 52: '外链', 60: '作业', 61: '考试', @@ -99,6 +99,8 @@ export function toContentType(fileType) { type = 30; } else if (docTypes.indexOf(fileType)>-1){ type = 40; + } else if(fileType === "zip"){ + type = 50; } else { type = 90; } diff --git a/src/views/course/Courseware.vue b/src/views/course/Courseware.vue index 4ffd9a13..4c5e75d3 100644 --- a/src/views/course/Courseware.vue +++ b/src/views/course/Courseware.vue @@ -684,7 +684,14 @@ export default { } //scorm课件的内容,取第一个sco var scorm=JSON.parse(row.content); - this.scormUrl='http://localhost:9083/scorm-player?page='+scorm.index;//播放的首页 + console.log(scorm,'scorm') + if(scorm.index){ + //这里需要提取的到配置文件中,实际中只需要传 rowId就可以了 + this.scormUrl='http://localhost:9083/scorm-player?page='+scorm.index;//播放的首页 + }else{ + this.scormUrl='http://localhost:9083/scorm-player?page='+scorm.index;//播放的首页 + } + } //console.log(row, 'row'); this.coursewareShow = true; From 26058b1501dcaaddbb4b80134bea482814dd2b53 Mon Sep 17 00:00:00 2001 From: lmj <3407000732@qq.com> Date: Tue, 13 Dec 2022 18:14:51 +0800 Subject: [PATCH 034/112] =?UTF-8?q?=E8=AF=95=E9=A2=98=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/exam/Question.vue | 103 ++++++++++++++++++++++++++++++++---- 1 file changed, 94 insertions(+), 9 deletions(-) diff --git a/src/views/exam/Question.vue b/src/views/exam/Question.vue index f3ea1bb9..7ff11095 100644 --- a/src/views/exam/Question.vue +++ b/src/views/exam/Question.vue @@ -116,32 +116,65 @@ --> + placeholder="请输入题干"> + + + 点击上传图片 +
只能上传jpg/png文件,且不超过500kb
+
-
+
+ placeholder="填写选择题的选项内容"> + + + + + + + + 正确 正确 + style="width: 80px; margin-right: 10px">正确 + 删除 +
添加选项 @@ -298,12 +331,13 @@ const questionData = { project: "", createPerson: "", moduel: "", + images:"", statue: 0, optionList: [ - { content: "", score: "", isAnswer: false }, - { content: "", score: "", isAnswer: false }, - { content: "", score: "", isAnswer: false }, - { content: "", score: "", isAnswer: false }, + { content: "", score: "", isAnswer: false ,images:""}, + { content: "", score: "", isAnswer: false ,images:""}, + { content: "", score: "", isAnswer: false ,images:""}, + { content: "", score: "", isAnswer: false ,images:""}, ], // resSysId: [], // 试题目录 difficulty: "", // 难度 @@ -317,6 +351,9 @@ export default { }, data() { return { + curOption:[], + uploadImgUrl: process.env.VUE_APP_BASE_API + "/xboe/sys/xuploader/file/upload", // 上传的图片服务器地址 + fileList:[], resOwnerListMap: [], // resOwnerName: resOwnerIndexName, ownership: [], @@ -377,11 +414,34 @@ export default { this.loadData(1); }, mounted() { + this.getResOwnerTree().then(rs=>{ this.resOwnerListMap=rs; }); }, methods: { + handleUploadOptionsSuccess(res){ + this.curOption.push(res.result.filePath); + questionData.optionList[0].images = this.curOption[0]; + questionData.optionList[1].images = this.curOption[1]; + questionData.optionList[2].images = this.curOption[2]; + questionData.optionList[3].images = this.curOption[3]; + console.log(questionData) + }, + handleUploadSuccess(res) { + console.log(res.result.filePath); + questionData.images = res.result.filePath; + console.log(questionData.images) + }, + handleRemove(file, fileList) { + console.log(file, fileList); + }, + handleExceed(files, fileList) { + this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`); + }, + beforeRemove(file, fileList) { + return this.$confirm(`确定移除 ${ file.name }?`); + }, downloadTemplate(){ let fileName = "试题导入模板.xls"; let link = document.createElement('a'); //创建a标签 @@ -514,6 +574,7 @@ export default { // 判断题没有optionList this.question.optionList = []; } + console.log(questionData,'llkk') examQuestionApi .save(this.question) .then((res) => { @@ -614,7 +675,7 @@ export default { }, addOption() { if (this.question.optionList.length < 10) { - this.question.optionList.push({ content: "", score: "", isAnswer: 0 }); + this.question.optionList.push({ content: "", score: "", isAnswer: 0 ,images:""}); } }, removeOption(i) { @@ -627,6 +688,30 @@ export default { From f9f779308c8d843eaed4c9b8f48e266506fae3ff Mon Sep 17 00:00:00 2001 From: daihh Date: Wed, 14 Dec 2022 18:52:14 +0800 Subject: [PATCH 043/112] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=A4=9A=E9=80=89?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/portal/course/Index.vue | 69 ++++++++++++++++++++----------- 1 file changed, 46 insertions(+), 23 deletions(-) diff --git a/src/views/portal/course/Index.vue b/src/views/portal/course/Index.vue index f85b9bed..f5f63e69 100644 --- a/src/views/portal/course/Index.vue +++ b/src/views/portal/course/Index.vue @@ -415,6 +415,7 @@ export default { }, course: { orderField: "studys", + keywrod:'',//关键词 topOrder: true, orderAsc: false, pageIndex: 1, // 第几页 @@ -482,7 +483,7 @@ export default { this.loadSysTypes(); this.getScoreList(); - this.getHotList(); + //this.getHotList(); //查询排行榜,页面打开只查询一次 let localKey="user_"+this.userInfo.sysId+"_gids"; if(this.audiences.length==0){ @@ -508,8 +509,8 @@ export default { } } - this.searchterm(); - this.couresreso(); + //this.searchterm();//搜索词已经没有了 + this.couresreso();//广告位 }, beforeDestroy() { @@ -840,26 +841,50 @@ export default { } //console.log(this.userInfo) //this.course.companyId=this.userInfo.companyId; + this.course.type = "";//不使用单查询了 + this.course.types = ""; + this.course.sysType1 = ""; + this.course.sysType2 = ""; + this.course.sysType3 = ""; + + this.stagList.forEach(item=>{ + if(item.checked){ + + } + if(item.type==1){ + if(that.course.types){ that.course.types+='-'; } + that.course.types+=item.id; + }else if(item.type==11){ + if(that.course.sysType1){ that.course.sysType1+='-'; } + that.course.sysType1+=item.id; + }else if(item.type==12){ + if(that.course.sysType2){ that.course.sysType2+='-'; } + that.course.sysType2+=item.id; + }else if(item.type==13){ + if(that.course.sysType3){ that.course.sysType3+='-'; } + that.course.sysType3+=item.id; + } + }); this.isFind = true; - this.course.type = this.category; - if (this.types.sysTypes == 0 || this.types.sysTypes == null) { - this.course.sysType1 = ""; - this.course.sysType2 = ""; - this.course.sysType3 = ""; - } else { - this.course.sysType1 = this.types.sysTypes; - } - this.course.sysType2 = this.types.subOne; - this.course.sysType3 = this.types.subTow; - if (this.course.sysType2 == 0) { - this.course.sysType2 = ""; - } - if (this.course.sysType3 == 0) { - this.course.sysType3 = ""; - } + // this.course.type = this.category; + // if (this.types.sysTypes == 0 || this.types.sysTypes == null) { + // this.course.sysType1 = ""; + // this.course.sysType2 = ""; + // this.course.sysType3 = ""; + // } else { + // this.course.sysType1 = this.types.sysTypes; + // } + // this.course.sysType2 = this.types.subOne; + // this.course.sysType3 = this.types.subTow; + // if (this.course.sysType2 == 0) { + // this.course.sysType2 = ""; + // } + // if (this.course.sysType3 == 0) { + // this.course.sysType3 = ""; + // } this.course.device = 1; - this.getTags(); + //this.getTags(); // if(this.course.pageIndex == 1) { // this.courseList = []; // } @@ -867,9 +892,7 @@ export default { let isTopList = []; // 隐藏loadMore this.moreState = 2; - await apiCoursePortal - .courseSearch(this.course) - .then(res => { + await apiCoursePortal.courseSearch(this.course).then(res => { if (res.status == 200 && res.result.list.length > 0) { this.totalPages = res.result.totalPages; res.result.list.forEach(item => { From e29a9864169ab311ef14b1fad0cb510f73337238 Mon Sep 17 00:00:00 2001 From: daihh Date: Wed, 14 Dec 2022 19:03:54 +0800 Subject: [PATCH 044/112] =?UTF-8?q?=E6=B8=85=E7=90=86=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/portal/course/Index.vue | 157 +++--------------------------- 1 file changed, 16 insertions(+), 141 deletions(-) diff --git a/src/views/portal/course/Index.vue b/src/views/portal/course/Index.vue index f5f63e69..ee3c936b 100644 --- a/src/views/portal/course/Index.vue +++ b/src/views/portal/course/Index.vue @@ -405,14 +405,6 @@ export default { columns: 3, //列的数量 fileBaseUrl: process.env.VUE_APP_FILE_BASE_URL, // 查询信息 - types: { - sysTypesSub: "", - subOne: "", - subTow: "", - sysTypes: null, - oneSubList: [], - towSubList: [] - }, course: { orderField: "studys", keywrod:'',//关键词 @@ -431,15 +423,8 @@ export default { }, ankingList: [], scorelist: [], - searchTags: [], queryExpand: true, // true更多,false收起 - category: null, - categorySub: 0, - type1: 0, - type2: [], - type3: 0, - type4: 0, - status: 1, + //status: 1, pager: { total: 40 }, @@ -764,48 +749,6 @@ export default { this.totalPages = 1; this.search(); }, - tagsClose(tag, index) { - for (let i in this.course) { - if (tag.id === this.course[i]) { - this.course[i] = ""; - if (i === "sysType1") { - this.types.sysTypes = ""; - this.types.subOne = ""; - this.types.subTow = ""; - this.types.oneSubList = []; - this.types.towSubList = []; - } - if (i === "sysType2") { - this.types.subOne = ""; - this.types.oneSubList = []; - } - if (i === "sysType3") { - this.types.subTow = ""; - this.types.towSubList = []; - } - if (i === "type") { - this.category = ""; - this.categorySub = ""; - } - - this.searchTags.splice(index, 1); - if(i === 'type') { - this.category = null; - this.categorySub = null; - } - if (i === "sysType1") { - this.types.sysTypes = null; - } - if (i === "sysType2") { - this.types.subOne = null; - } - if (i === "sysType3") { - this.types.subTow = null; - } - } - } - this.searchData(); - }, //获取场景,保留 async getSceneData() { try { @@ -866,28 +809,11 @@ export default { } }); - this.isFind = true; - // this.course.type = this.category; - // if (this.types.sysTypes == 0 || this.types.sysTypes == null) { - // this.course.sysType1 = ""; - // this.course.sysType2 = ""; - // this.course.sysType3 = ""; - // } else { - // this.course.sysType1 = this.types.sysTypes; - // } - // this.course.sysType2 = this.types.subOne; - // this.course.sysType3 = this.types.subTow; - // if (this.course.sysType2 == 0) { - // this.course.sysType2 = ""; - // } - // if (this.course.sysType3 == 0) { - // this.course.sysType3 = ""; - // } + this.isFind = true; this.course.device = 1; - //this.getTags(); - // if(this.course.pageIndex == 1) { - // this.courseList = []; - // } + if(this.course.pageIndex == 1) { + this.courseList = []; + } let isTopList = []; // 隐藏loadMore @@ -928,69 +854,18 @@ export default { }); }, - getTags() { - this.searchTags = []; - let courseData = deepClone(this.course); - for (let i in courseData) { - if ( - courseData[i] !== "" && - i !== "pageIndex" && - i !== "pageSize" && - i !== "orderField" && - i !== "orderAsc" && - i !== "topOrder" && - i !== "device" && - i !== "audiences" && - i !== "companyId" && - courseData[i] !== null && - courseData[i] !== undefined - ) { - let id = courseData[i]; - if (i == "type" && courseData[i] !== 0) { - courseData[i] = courseType(courseData[i]); - } - if (i == "sysType1" || i == "sysType2" || i == "sysType3") { - if (courseData[i] !== "0") { - courseData[i] = this.sysTypeName(courseData[i]); - } - } - if (i == "type" && courseData[i] === 0) { - courseData[i] = "在线课"; - } - if (i == "openCourse") { - if(courseData[i] === 0){ - courseData[i] = "0"; - }else{ - courseData[i] = "公开课"; - } - } - if (courseData[i] !== "0") { - this.searchTags.push({ - id: id, - name: courseData[i] - }); - } - } - } - }, - // goTarget(href) { - // window.open(this.webBaseUrl+href, "_blank"); + // showInApply() { + // this.inapply.show = true; + // }, + // pushEnter(type) { + // this.type1.push(type); + // }, + // deleteOut(type) { + // this.type1 = this.type.filter(item => item != type); + // }, + // chooseShow(type) { + // return this.type1.some(item => item == type); // }, - showInApply() { - this.inapply.show = true; - }, - findOrg() { - // - }, - pushEnter(type) { - this.type1.push(type); - }, - deleteOut(type) { - this.type1 = this.type.filter(item => item != type); - }, - chooseShow(type) { - return this.type1.some(item => item == type); - }, getAnkingData() { apiCourse.ranking().then(res => { if (res.status == 200) { From 80104a65dc0e104b34d6b7fa0e80761be916f9b6 Mon Sep 17 00:00:00 2001 From: daihh Date: Wed, 14 Dec 2022 19:40:01 +0800 Subject: [PATCH 045/112] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=9A=84=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/modules/popup.js | 10 ++++++++++ src/api/system/whiteuser.js | 20 ++++++++++++++++++++ src/utils/testUsers.js | 3 +-- 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 src/api/modules/popup.js create mode 100644 src/api/system/whiteuser.js diff --git a/src/api/modules/popup.js b/src/api/modules/popup.js new file mode 100644 index 00000000..f06fbf46 --- /dev/null +++ b/src/api/modules/popup.js @@ -0,0 +1,10 @@ + +import ajax from '@/utils/xajax.js' + +const list=function (query){ + return ajax.post('/xboe/m/popup/list',query); +} + +export default { + list +} diff --git a/src/api/system/whiteuser.js b/src/api/system/whiteuser.js new file mode 100644 index 00000000..274a1320 --- /dev/null +++ b/src/api/system/whiteuser.js @@ -0,0 +1,20 @@ +import ajax from '@/utils/xajax.js' + + +/** + * 查询白名单 + * @param { + * code:'', + * name:'', + * environment:0 + * } data + * @returns + */ +const getList = function(data) { + return ajax.post('/xboe/sys/whiteuser/list',data); +} + + +export default{ + getList +} diff --git a/src/utils/testUsers.js b/src/utils/testUsers.js index 11f7a0c8..512c7fd8 100644 --- a/src/utils/testUsers.js +++ b/src/utils/testUsers.js @@ -1,5 +1,4 @@ /**测试人员名单*/ - const userCodes=[ '12345601', '12345603', @@ -28,7 +27,7 @@ const isTest=function(code){ return false; } }) - }else if(mode=='preview' || mode=='production' ){ + }else{ userCodesPro.some(item=>{ if(item===code){ testUser=true; From b8e7812e9cd4903a8ef18f5dd5c15fab096285eb Mon Sep 17 00:00:00 2001 From: lmj <3407000732@qq.com> Date: Wed, 14 Dec 2022 22:52:09 +0800 Subject: [PATCH 046/112] =?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/api/modules/teacher.js | 9 +++- .../Portal/course/couresinteract.vue | 2 +- src/icons/svg/Scoreicon.svg | 1 + src/views/user/Setting.vue | 43 +++++++++++++++---- 4 files changed, 44 insertions(+), 11 deletions(-) create mode 100644 src/icons/svg/Scoreicon.svg diff --git a/src/api/modules/teacher.js b/src/api/modules/teacher.js index 376f4785..7939917d 100644 --- a/src/api/modules/teacher.js +++ b/src/api/modules/teacher.js @@ -9,6 +9,11 @@ const findByName = function(name) { return ajax.get('/xboe/teacher/name?name=' + name); } + +const updateTeacher=function(data){ + return ajax.postJson('/xboe/teacher/update-teacher',data); +} + /** * 根据id得到教师的显示信息,只是几个基本的显示字段 * @param {Object} id @@ -21,6 +26,7 @@ const detailTeacher=function (id){ return ajax.get('/xboe/teacher/detail-teacher?id='+id); } + /** * 分页查询 * @param { @@ -218,5 +224,6 @@ export default { end, exports, syncUpdate, - detailTeacher + detailTeacher, + updateTeacher } diff --git a/src/components/Portal/course/couresinteract.vue b/src/components/Portal/course/couresinteract.vue index a3dda2f1..35e908b3 100644 --- a/src/components/Portal/course/couresinteract.vue +++ b/src/components/Portal/course/couresinteract.vue @@ -2,7 +2,7 @@
- + {{ data.score }}
diff --git a/src/icons/svg/Scoreicon.svg b/src/icons/svg/Scoreicon.svg new file mode 100644 index 00000000..7d51740d --- /dev/null +++ b/src/icons/svg/Scoreicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/views/user/Setting.vue b/src/views/user/Setting.vue index 855827ad..7f865156 100644 --- a/src/views/user/Setting.vue +++ b/src/views/user/Setting.vue @@ -32,13 +32,13 @@

擅长课程

-
+
{{ teachtext.courses }}

专长

-
+
{{ teachtext.expertise }}
@@ -91,10 +91,10 @@
-->
-
+
{{sys.name}}
- + {{ch.name}}
@@ -106,7 +106,7 @@
取消 - 保存 + 保存
@@ -297,6 +297,7 @@ } }; return { + sysTypeListtear:[], teaechswich:false, props: { multiple: true }, options: [{ @@ -357,11 +358,13 @@ hideHome:false,// 是否隐藏个人主页 cities: cityOptions, checkboxGroup: [], + checkboxtearGroup: [], radio: '1', form:{ account:{} }, teachform:{ + id:'', photo:'', courses:'',//擅长课程 workExperience:'', //工作经历 @@ -415,10 +418,14 @@ } }, + Edittearch(){ + this.gettearch(); + }, // 监听"编辑按钮"事件变化 interestIsEdit(){ this.load(); this.getInfo(); + } @@ -430,18 +437,20 @@ this.hideHome = !this.userInfo.showHome; this.load(); this.getInfo(); + this.gettearch(); this.getSysTypeTree().then(rs => { this.sysTypeListMap = rs; + // console.log(rs); + this.sysTypeListtear = rs; }); this.Teacherprofile(); this.Teacherinfo(); }, methods:{ - teacherUpdata(){ - apiTeach.update(this.teachform).then(res =>{ - console.log('编辑成功') - }) + gettearch(){ + // console.log(this.checkboxtearGroup,'lmj'); }, + Teacherinfo(){ apiTeach.detailTeacher(this.userInfo.aid).then(res =>{ this.teachtext = res.result; @@ -525,6 +534,21 @@ return this.sysTypeMap.get(code); }, + teacherUpdata(){ + if(this.checkboxtearGroup.length <3 && this.checkboxtearGroup.length>=1) { + this.$message.error('至少选择三个专长!') + return; + } + console.log(this.checkboxtearGroup); + this.teachform.expertise = this.checkboxtearGroup.toString(); + console.log(this.teachform.expertise); + this.teachform.id = this.userInfo.aid; + apiTeach.updateTeacher(this.teachform).then(res =>{ + console.log('编辑成功') + }) + this.Edittearch = true + }, + // 更新用户与偏好数据 saveHobby(){ let data = [] @@ -677,6 +701,7 @@ height: 40px; width: 100%; h4{ + cursor: pointer; float: left; font-weight: 400; margin: 0; From 1d57718db64aab347f9e8a3f00a391a7b2aa33c3 Mon Sep 17 00:00:00 2001 From: lmj <3407000732@qq.com> Date: Wed, 14 Dec 2022 23:08:35 +0800 Subject: [PATCH 047/112] =?UTF-8?q?=E8=AF=95=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/exam/Question.vue | 47 ++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/src/views/exam/Question.vue b/src/views/exam/Question.vue index 51e0d7da..1d1e96b5 100644 --- a/src/views/exam/Question.vue +++ b/src/views/exam/Question.vue @@ -124,7 +124,7 @@ v-model="question.title" placeholder="请输入题干"> - 点击上传图片
只能上传jpg/png文件,且不超过500kb
-
+ -->
@@ -152,7 +152,7 @@ - 点击上传图片 - - + --> 正确 From 6201432d85febb9ca134b681102c4032931ba7db Mon Sep 17 00:00:00 2001 From: daihh Date: Mon, 19 Dec 2022 17:18:08 +0800 Subject: [PATCH 056/112] =?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/catalogCourseware.vue | 10 ++- src/components/Course/weikeContent.vue | 77 +++++++++++++++++++-- 2 files changed, 78 insertions(+), 9 deletions(-) diff --git a/src/components/Course/catalogCourseware.vue b/src/components/Course/catalogCourseware.vue index c5c13440..c115226c 100644 --- a/src/components/Course/catalogCourseware.vue +++ b/src/components/Course/catalogCourseware.vue @@ -372,7 +372,7 @@ data(){ return { converStatus:4, - fileBaseUrl:process.env.VUE_APP_FILE_BASE_URL, + fileBaseUrl:this.$xpage.constants.fileBaseUrl, curPdfPath:'', curCFile:{},//当前课件的内容 scormUrl:'',//scormUrl地址 @@ -441,7 +441,13 @@ }, created() { - //console.log(this.ctype, this.course,'ctype'); + //console.log(process.env, 'process.env'); + }, + mounted(){ + //this.init(); + if(process.env.NODE_ENV=='development'){ + this.fileBaseUrl=process.env.VUE_APP_FILE_BASE_URL; + } }, watch:{ reset(newVal){ diff --git a/src/components/Course/weikeContent.vue b/src/components/Course/weikeContent.vue index cf928e71..554d801c 100644 --- a/src/components/Course/weikeContent.vue +++ b/src/components/Course/weikeContent.vue @@ -24,15 +24,26 @@
-
+
-
-
- -
+
+ + + + +
@@ -116,6 +127,9 @@
+
+ +
@@ -520,6 +534,7 @@
From a19c38befd5acafbd978cffe3839f09feb654182 Mon Sep 17 00:00:00 2001 From: daihh Date: Wed, 21 Dec 2022 17:00:24 +0800 Subject: [PATCH 064/112] =?UTF-8?q?=E8=AF=95=E9=A2=98=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/exam/Question.vue | 65 ++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 29 deletions(-) diff --git a/src/views/exam/Question.vue b/src/views/exam/Question.vue index 449a556f..eb28b9ce 100644 --- a/src/views/exam/Question.vue +++ b/src/views/exam/Question.vue @@ -26,15 +26,8 @@ 重置 添加
- +
@@ -84,7 +77,7 @@
- +
类型 @@ -157,17 +150,22 @@ 添加选项
- - - - - - + + + + + + + + + + + @@ -248,18 +246,27 @@
【单选题】{{question.title}}({{question.defaultScore}}分)
-   - {{numberToLetter(i + 1)}}: - {{question.optionList[i].content}} +
+ {{item.isAnswer? '√':''}} + {{numberToLetter(i + 1)}}: + {{item.content}} +
+
+ +
【多选题】{{question.title}}({{question.defaultScore}}分)
-   -   - {{numberToLetter(i + 1)}}: - {{item.content}} +
+ {{item.isAnswer? '√':''}} + {{numberToLetter(i + 1)}}: + {{item.content}} +
+
+ +
@@ -394,7 +401,7 @@ export default { this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`); }, beforeRemove(file, fileList) { - return this.$confirm(`确定移除 ${ file.name }?`); + return this.$confirm(`您确定移除图片吗?`); }, downloadTemplate(){ let fileName = "试题导入模板.xls"; @@ -619,7 +626,7 @@ export default { }else{ opt.imgList=[]; } - + }) } }).catch((err) => { From 351af19d7dee1e7c222c2b31e977daadc6aedeab Mon Sep 17 00:00:00 2001 From: daihh Date: Wed, 21 Dec 2022 17:09:00 +0800 Subject: [PATCH 065/112] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=97=A0=E7=94=A8?= =?UTF-8?q?=E7=9A=84=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/exam/Question.vue | 35 ++++++++++++----------------------- 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/src/views/exam/Question.vue b/src/views/exam/Question.vue index eb28b9ce..18b897b6 100644 --- a/src/views/exam/Question.vue +++ b/src/views/exam/Question.vue @@ -107,8 +107,7 @@ :action="uploadImgUrl" :on-success="handleUploadSuccess" :on-remove="handleRemove" - :limit="1" - :on-exceed="handleExceed"> + :limit="1"> 点击上传图片
jpg/png文件不超过500kb
@@ -130,12 +129,10 @@ class="upload-demo Optionsimage" :action="uploadImgUrl" :data="opt" - :before-upload="handleBeforeUploadOption" :on-success="(response)=>handleUploadOptionsSuccess(i,response)" :on-remove="handleRemove" :before-remove="beforeRemove" :limit="1" - :on-exceed="handleExceed" :file-list="opt.imgList" list-type="picture"> 点击上传图片 @@ -198,8 +195,7 @@ :action="uploadImgUrl" :on-success="handleUploadSuccess" :on-remove="handleRemove" - :limit="1" - :on-exceed="handleExceed"> + :limit="1"> 点击上传图片
jpg/png文件不超过500kb
@@ -376,33 +372,26 @@ export default { }); }, methods: { - handleBeforeUploadOption(file){ - //上传前的处理,与data关联 - console.log(file); - return true; - }, + handleUploadOptionsSuccess(optIdx,res){ - console.log(optIdx,'optIdx'); - console.log(res,'res'); + //console.log(optIdx,'optIdx'); + //console.log(res,'res'); this.question.optionList[optIdx].images=res.result.filePath; this.question.optionList[optIdx].imgList=[ {url:res.result.httpPath}, ] }, handleUploadSuccess(res) { - console.log(res.result.filePath); + //console.log(res.result.filePath); this.question.images=res.result.filePath; - }, - handleRemove(file, fileList) { + handleRemove(file, fileList) { console.log(file, fileList); - }, - handleExceed(files, fileList) { - this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`); - }, - beforeRemove(file, fileList) { - return this.$confirm(`您确定移除图片吗?`); - }, + //需要同时删除已上传的图片,后续完善要加上 + }, + beforeRemove(file, fileList) { + return this.$confirm(`您确定移除图片吗?`); + }, downloadTemplate(){ let fileName = "试题导入模板.xls"; let link = document.createElement('a'); //创建a标签 From 896b75e45f1999717625b0c3016d3a77eaa0327d Mon Sep 17 00:00:00 2001 From: lmj <3407000732@qq.com> Date: Wed, 21 Dec 2022 17:46:04 +0800 Subject: [PATCH 066/112] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Portal/course/couresinteract.vue | 15 ++++++------- src/icons/svg/dianzan.svg | 17 ++++++++++++++ src/icons/svg/pingfen.svg | 17 ++++++++++++++ src/icons/svg/xihuan.svg | 22 +++++++++++++++++++ src/icons/svg/xuexirenshu.svg | 6 +++++ 5 files changed, 69 insertions(+), 8 deletions(-) create mode 100644 src/icons/svg/dianzan.svg create mode 100644 src/icons/svg/pingfen.svg create mode 100644 src/icons/svg/xihuan.svg create mode 100644 src/icons/svg/xuexirenshu.svg diff --git a/src/components/Portal/course/couresinteract.vue b/src/components/Portal/course/couresinteract.vue index 35e908b3..f9c5b19a 100644 --- a/src/components/Portal/course/couresinteract.vue +++ b/src/components/Portal/course/couresinteract.vue @@ -2,29 +2,28 @@
- + {{ data.score }}
- + {{ data.studys }}
-
+
- + {{ data.praises? data.praises:0}}
-
+
- - + - {{ data.favorites? data.favorites:0}} + {{ data.favorites? data.favorites:0}}
diff --git a/src/icons/svg/dianzan.svg b/src/icons/svg/dianzan.svg new file mode 100644 index 00000000..d52e6a9e --- /dev/null +++ b/src/icons/svg/dianzan.svg @@ -0,0 +1,17 @@ + + + + diff --git a/src/icons/svg/pingfen.svg b/src/icons/svg/pingfen.svg new file mode 100644 index 00000000..37765de0 --- /dev/null +++ b/src/icons/svg/pingfen.svg @@ -0,0 +1,17 @@ + + + + diff --git a/src/icons/svg/xihuan.svg b/src/icons/svg/xihuan.svg new file mode 100644 index 00000000..1f51983f --- /dev/null +++ b/src/icons/svg/xihuan.svg @@ -0,0 +1,22 @@ + + + + diff --git a/src/icons/svg/xuexirenshu.svg b/src/icons/svg/xuexirenshu.svg new file mode 100644 index 00000000..1fe45cd2 --- /dev/null +++ b/src/icons/svg/xuexirenshu.svg @@ -0,0 +1,6 @@ + + + + + + From 23df79e18081ea9001acb3c61f63454e56f162c5 Mon Sep 17 00:00:00 2001 From: lmj <3407000732@qq.com> Date: Wed, 21 Dec 2022 19:21:08 +0800 Subject: [PATCH 067/112] =?UTF-8?q?=E8=AF=95=E5=8D=B7=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/exam/TestPaper.vue | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/src/views/exam/TestPaper.vue b/src/views/exam/TestPaper.vue index 227ebfb0..e3747950 100644 --- a/src/views/exam/TestPaper.vue +++ b/src/views/exam/TestPaper.vue @@ -224,12 +224,19 @@
-
{{index+1}}.【{{typeFilter(item.type)}}】{{item.title}}
+
{{index+1}}.【{{typeFilter(item.type)}}】{{item.title}} +
+
+
正确答案:{{item.answer=='true'? '正确': '错误'}}
-
{{numberToLetter(inx+1)}}:{{cc.content}}
+
+ {{numberToLetter(inx+1)}}:{{cc.content}} + +
+
- +
- +
diff --git a/src/components/Course/chooseCourseFile.vue b/src/components/Course/chooseCourseFile.vue index d14bb2ec..d5252794 100644 --- a/src/components/Course/chooseCourseFile.vue +++ b/src/components/Course/chooseCourseFile.vue @@ -44,11 +44,18 @@
+
+ 内容时长(分): + + + +
将文件拖到此处,或点击上传
文件大小限制:{{curComType.maxSizeName}},支持的文件类型:{{curComType.fileTypes.join(',')}}
+
{{courseFile.fileName}} 上传成功
@@ -68,6 +75,14 @@ type: String, default:'500' }, + orgId:{ + type: String, + default:'' + }, + orgName:{ + type: String, + default:'' + }, resType:{ type: Number, default:0 @@ -86,6 +101,7 @@ pageIndex:1, count:0, keyword: '', + duration:1, comTypes:[ {id:'1',type:'video',name:'视频',img:'el-icon-video-camera',resType:10,maxSize:1024,maxSizeName:"1G",fileTypes:['mp4']}, {id:'2',type:'sound',name:'音频',img:'el-icon-service',resType:20,maxSize:1024,maxSizeName:"1G",fileTypes:['mp3']}, @@ -156,6 +172,9 @@ fileType:res.result.fileType, filePath:res.result.filePath, resType:this.resType, + orgId:this.orgId, + orgName:this.orgName, + duration:this.duration, remark:'课程中直接上传' } apiCourseFile.saveUpload(courseWare).then(rs=>{ diff --git a/src/components/Course/courseForm.vue b/src/components/Course/courseForm.vue index 2aad98c5..f5f3f242 100644 --- a/src/components/Course/courseForm.vue +++ b/src/components/Course/courseForm.vue @@ -567,6 +567,7 @@ export default { this.orgName=orgInfo.name; this.orgKid=orgInfo.kid; //kid已不存在 this.courseInfo.orgId=orgInfo.id; + this.courseInfo.orgName=orgInfo.name; this.$refs.refChooseOrg.dlgShow = false; }, getTeacherList(res) { @@ -729,6 +730,7 @@ export default { apiUserBasic.getOrgInfo(this.courseInfo.orgId).then(rs=>{ if(rs.status==200){ this.orgName=rs.result.name; + this.courseInfo.orgName=rs.result.name; //this.orgKid=rs.result.kid; this.orgNamePath=rs.result.namePath; } @@ -849,6 +851,7 @@ export default { apiUserBasic.getOrgInfo(ors.result.id).then(rrs=>{ if(rrs.status==200){ $this.orgName=rrs.result.name; + this.courseInfo.orgName=rrs.result.name; //$this.orgKid=rrs.result.kid; $this.orgNamePath=rrs.result.namePath; }else{ @@ -875,6 +878,7 @@ export default { apiUserBasic.getOrgInfo(this.courseInfo.orgId).then(rs=>{ if(rs.status==200){ $this.orgName=rs.result.name; + $this.courseInfo.orgName=rs.result.name; //$this.orgKid=rs.result.kid; $this.orgNamePath=rs.result.namePath; }else{ diff --git a/src/views/course/Courseware.vue b/src/views/course/Courseware.vue index 52df84a4..3c2f2865 100644 --- a/src/views/course/Courseware.vue +++ b/src/views/course/Courseware.vue @@ -231,6 +231,7 @@ --> + {{ form.orgName }} {{ form.fileName }} {{ getType(form.resType) }} @@ -255,7 +256,7 @@ + + diff --git a/src/components/ImageUpload/single.vue b/src/components/ImageUpload/single.vue new file mode 100644 index 00000000..9f5c693b --- /dev/null +++ b/src/components/ImageUpload/single.vue @@ -0,0 +1,188 @@ + + + + + diff --git a/src/views/exam/ExamList.vue b/src/views/exam/ExamList.vue index c6ff5ed4..4513d56d 100644 --- a/src/views/exam/ExamList.vue +++ b/src/views/exam/ExamList.vue @@ -63,7 +63,7 @@ @@ -676,8 +678,10 @@ import usergroupApi from "@/api/modules/usergroup"; import pushRecordApi from "@/api/modules/pushRecord"; import {toScoreTow} from '@/utils/tools.js' import apiUserBasic from '@/api/boe/userbasic.js'; +import editPaper from "@/components/Exam/EditPaper"; export default { name: 'articleItems', + components:{editPaper}, computed: { ...mapGetters(['resOwnerMap','sysTypeMap']), }, @@ -766,6 +770,13 @@ export default { this.loadData() }, methods: { + editPaper(row){ + if(!row.paperId){ + this.$message.error("此考试还未选择试卷"); + return; + } + this.$refs.comEditPaper.show(row.paperId); + }, open(row,num) { this.$confirm('确定要下架改考试么?', '提示', { confirmButtonText: '确定', @@ -781,7 +792,7 @@ export default { this.$message({ type: 'info', message: '已取消下架' - }); + }); }); }, exportsList(){ diff --git a/src/views/exam/TestPaper.vue b/src/views/exam/TestPaper.vue index 97b7df12..544d918d 100644 --- a/src/views/exam/TestPaper.vue +++ b/src/views/exam/TestPaper.vue @@ -48,6 +48,7 @@ @@ -190,13 +191,13 @@
-
{{ item.title }}
+
{{ item.title }}
{{item.answer=='true'?'正确':'错误'}}
-
{{ optIdx + 1 }}, {{ opt.content }}
+
{{ optIdx + 1 }}, {{ opt.content }}
@@ -287,6 +288,7 @@
搜 索 +
@@ -297,8 +299,10 @@ import examQuestionApi from "@/api/modules/question"; import { deepClone } from '../../utils'; import {numberToLetter, deepCopy} from '../../utils/tools.js'; import { mapGetters,mapActions} from 'vuex'; +import editPaper from "@/components/Exam/EditPaper"; export default { - name: 'articleItems', + name: 'testPaper', + components:{editPaper}, data() { return { imageBaseUrl:process.env.VUE_APP_FILE_BASE_URL, @@ -429,6 +433,9 @@ export default { // } }, methods: { + showEditPaper(row){ + this.$refs.comEditPaper.show(row.id); + }, checkedChange(){ this.$forceUpdate(); }, @@ -493,22 +500,22 @@ export default { this.$forceUpdate(); return } - let data = deepCopy(this.paperData); - if(this.qpaper.qtype !== '') { - data = data.filter(item => { - if(item.type === this.qpaper.qtype){ - return item; - } - }); - } - if(this.qpaper.keyword !== '') { - data = data.filter(item => { - return item.title.toLowerCase() - .indexOf(this.qpaper.keyword.toLowerCase()) > -1; - }); - } - this.paper.data = data; - this.$forceUpdate(); + let data = deepCopy(this.paperData); + if(this.qpaper.qtype !== '') { + data = data.filter(item => { + if(item.type === this.qpaper.qtype){ + return item; + } + }); + } + if(this.qpaper.keyword !== '') { + data = data.filter(item => { + return item.title.toLowerCase() + .indexOf(this.qpaper.keyword.toLowerCase()) > -1; + }); + } + this.paper.data = data; + this.$forceUpdate(); }, checkDelete(index) { this.paper.data.splice(index,1); From e5c9d8abfd3985942f78f3bc44aaf468129de545 Mon Sep 17 00:00:00 2001 From: daihh Date: Mon, 26 Dec 2022 10:44:00 +0800 Subject: [PATCH 088/112] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=8F=8A=E8=B7=B3=E8=BD=AC=E7=AE=A1=E7=90=86=E7=AB=AF=E7=9A=84?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 1 + .env.preview | 1 + .env.production | 1 + .env.testing | 1 + src/views/study/StudyPath.vue | 7 ++++++- src/views/study/StudyProject.vue | 7 ++++++- 6 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.env.development b/.env.development index 6b18e431..f553b8fa 100644 --- a/.env.development +++ b/.env.development @@ -32,6 +32,7 @@ VUE_APP_LOGIN_URL='/pc/login' # 虚拟目录的变量 VUE_APP_PUBLIC_PATH='/pc' +VUE_APP_MANAGER_PATH='/manage' # 路由懒加载 VUE_CLI_BABEL_TRANSPILE_MODULES = true diff --git a/.env.preview b/.env.preview index 010f5c05..9cdeadfb 100644 --- a/.env.preview +++ b/.env.preview @@ -29,6 +29,7 @@ VUE_APP_FILE_RELATIVE_PATH = '/upload' # 虚拟目录的变量,结尾的/在vue.config.js中添加 VUE_APP_PUBLIC_PATH='/pc-release' +VUE_APP_MANAGER_PATH='/manage-release' # 登录地址 VUE_APP_LOGIN_URL='https://u.boe.com/web-release/' diff --git a/.env.production b/.env.production index 1a65d16f..3b8b1357 100644 --- a/.env.production +++ b/.env.production @@ -29,6 +29,7 @@ VUE_APP_FILE_RELATIVE_PATH = '/upload' # 虚拟目录的变量,结尾的/在vue.config.js中添加 VUE_APP_PUBLIC_PATH='/pc' +VUE_APP_MANAGER_PATH='/manage' # 登录地址 VUE_APP_LOGIN_URL='https://u.boe.com/web/' diff --git a/.env.testing b/.env.testing index 034c0f08..d272506f 100644 --- a/.env.testing +++ b/.env.testing @@ -29,6 +29,7 @@ VUE_APP_FILE_RELATIVE_PATH = '/upload' # 虚拟目录的变量,结尾的/在vue.config.js中添加 VUE_APP_PUBLIC_PATH='/pc' +VUE_APP_MANAGER_PATH='/manage' # 登录地址 VUE_APP_LOGIN_URL='https://u-pre.boe.com/web/' diff --git a/src/views/study/StudyPath.vue b/src/views/study/StudyPath.vue index 5c4c5f51..5086092f 100644 --- a/src/views/study/StudyPath.vue +++ b/src/views/study/StudyPath.vue @@ -1,12 +1,17 @@