diff --git a/src/api/boe/course.js b/src/api/boe/course.js
index a114f99c..fadba558 100644
--- a/src/api/boe/course.js
+++ b/src/api/boe/course.js
@@ -54,16 +54,21 @@ const courseList = function(data) {
}
/**
- * 删除课程
+ * 删除学习的课程,已经不再使用,换成新的
* @param {Object} ms_timeline_kid
*/
const delLearning = function(ms_timeline_kid) {
return ajax.post('/b1/system/user/ms-timeline-delete',{ms_timeline_kid});
}
+/**新的删除学习的课程的接口,参数courseRegId, 对应的课程的id */
+const newDelLearning = function(courseRegId) {
+ return ajax.post('/b1/system/user/delete-course-reg',{courseRegId});
+}
+
/**
* 根据用户的kid,获取用户的受众权限
- *
+ *
* @param {Object} kid
*/
const audience = function(kid) {
@@ -76,5 +81,6 @@ export default {
reportList,
courseList,
delLearning,
+ newDelLearning,
audience
}
diff --git a/src/api/manage/manage.js b/src/api/manage/manage.js
index 5c1cd566..52166cad 100644
--- a/src/api/manage/manage.js
+++ b/src/api/manage/manage.js
@@ -1,6 +1,6 @@
/** 管理端接口 **/
import ajax from '../unionAjax.js';
-const baseURL ="/manageApi";
+const baseURL = process.env.VUE_APP_MANAGER_API_PATH;
/**用户的待办任务数量*/
const getTaskNum = function(){
@@ -21,7 +21,13 @@ const userTaskList = function(data){
return ajax.postJson(baseURL,'/todoTask/queryTodoTaskDetail',data);
}
+/**删除学习,取消报名*/
+const userDeleteStudy = function(data){
+ return ajax.postJson(baseURL,'/stu/project/stuCancelEnrollment',data);
+}
+
export default {
getTaskNum,
- userTaskList
+ userTaskList,
+ userDeleteStudy
}
diff --git a/src/api/modules/course.js b/src/api/modules/course.js
index 8403a614..2637ad9d 100644
--- a/src/api/modules/course.js
+++ b/src/api/modules/course.js
@@ -68,10 +68,10 @@ const revokeSubmit = function(id) {
/**
* 复制课程
- * @param {Object} id
+ * @param {Object}
*/
-const copyCourse = function(id) {
- return ajax.post('/xboe/m/course/manage/copy', {id});
+const copyCourse = function(data) {
+ return ajax.post('/xboe/m/course/manage/copy',data);
}
/*
查询课程是否有重复名称
diff --git a/src/api/modules/courseStudy.js b/src/api/modules/courseStudy.js
index 3d07ce7e..0a6be3bd 100644
--- a/src/api/modules/courseStudy.js
+++ b/src/api/modules/courseStudy.js
@@ -370,6 +370,12 @@ const ids=function (data){
const followIds=function (data){
return ajax.postJson('/xboe/school/study/course/follow-ids',data);
}
+
+/**从ES中查询我学习的课程数据*/
+const myStudysFromES=function (data){
+ return ajax.post('/xboe/school/study/es/search',data);
+}
+
export default {
hasSignup,
signup,
@@ -399,6 +405,7 @@ export default {
myAssessList,
myExamList2,
myCourseStudy,
+ myStudysFromES,
deleteSignUp,
ids,
followIds
diff --git a/src/components/Course/auditCourse1.vue b/src/components/Course/auditCourse1.vue
index 541157d0..c41d2732 100644
--- a/src/components/Course/auditCourse1.vue
+++ b/src/components/Course/auditCourse1.vue
@@ -183,6 +183,9 @@
+
+
+
@@ -202,16 +205,16 @@
-
-
-
-
-
-
- {{props.row.before == 'null' || props.row.before == ''? '--':props.row.before}}
-
-
-
+
+
+
+
+
+
+ {{props.row.before == 'null' || props.row.before == ''? '--':props.row.before}}
+
+
+
@@ -269,7 +272,7 @@ export default {
pdfPreview,
videoPlayer,
audioPlayer,
- chooseOrg
+ chooseOrg,
// hyperLink
},
computed: {
@@ -303,6 +306,7 @@ export default {
converStatus:4,
courseType: courseType,
isEdit: true,
+ scormUrl:'',
homeworkInfo: {},
examInfo: {},
assessInfo: {},
@@ -703,6 +707,35 @@ export default {
$this.$message.error('加载pdf课件文件失败');
}
});
+ }
+ if($this.coursewareInfo.content.contentType == 50){
+ apiCourseFile.detail(con.contentRefId).then(scormFile => {
+ if (!scormFile.status == 200) {
+ $this.$message.error('加载SCORM课件失败');
+ }else{
+ var curContent=scormFile.result;
+ //console.log(curContent,'curContent')
+ if(!curContent.content){
+ this.$message({type: 'error',message: '无SCORM内容,SCORM包解析失败'});
+ return;
+ }
+ //scorm课件的内容,取第一个sco
+ var scorm=JSON.parse(curContent.content);
+ //console.log(scorm,'scorm')
+ if(scorm){
+ let urlPre=window.location.protocol;
+ let configUrl=process.env.VUE_APP_SCORM_URL;
+ configUrl=urlPre+configUrl.substring(configUrl.indexOf(':')+1);
+ //这里需要提取的到配置文件中,实际中只需要传 rowId就可以了
+ this.scormUrl=configUrl+'?mode=preview&scormId='+curContent.id;//播放的首页
+ }else{
+ this.$message({type: 'error',message: 'SCORM包解析失败'});
+ }
+ }
+ });
+
+
+
}
} else if (con.sortIndex == 2) {
$this.homeworkInfo = con;
diff --git a/src/components/Course/auditCourse2.vue b/src/components/Course/auditCourse2.vue
index 6b65ee7e..c266374c 100644
--- a/src/components/Course/auditCourse2.vue
+++ b/src/components/Course/auditCourse2.vue
@@ -202,6 +202,9 @@
+
+
+
@@ -346,6 +349,7 @@ export default {
isEdit: true,
fileBaseUrl: this.$xpage.constants.fileBaseUrl,
contentData: {},
+ scormUrl:'',
curCFile:{},//课件内容
getType: getType,
btnLoading: false,
@@ -763,6 +767,31 @@ export default {
}
});
+ }else if(r.contentType == 50){
+ apiCourseFile.detail(r.contentRefId).then(scormFile => {
+ if (!scormFile.status == 200) {
+ $this.$message.error('加载SCORM课件失败');
+ }else{
+ var curContent=scormFile.result;
+ //console.log(curContent,'curContent')
+ if(!curContent.content){
+ this.$message({type: 'error',message: '无SCORM内容,SCORM包解析失败'});
+ return;
+ }
+ //scorm课件的内容,取第一个sco
+ var scorm=JSON.parse(curContent.content);
+ //console.log(scorm,'scorm')
+ if(scorm){
+ let urlPre=window.location.protocol;
+ let configUrl=process.env.VUE_APP_SCORM_URL;
+ configUrl=urlPre+configUrl.substring(configUrl.indexOf(':')+1);
+ //这里需要提取的到配置文件中,实际中只需要传 rowId就可以了
+ this.scormUrl=configUrl+'?mode=preview&scormId='+curContent.id;//播放的首页
+ }else{
+ this.$message({type: 'error',message: 'SCORM包解析失败'});
+ }
+ }
+ });
}
this.type = 0;
},
diff --git a/src/components/Course/courseForm.vue b/src/components/Course/courseForm.vue
index 994919a4..db592bff 100644
--- a/src/components/Course/courseForm.vue
+++ b/src/components/Course/courseForm.vue
@@ -42,7 +42,7 @@
-->
-
+
@@ -108,6 +108,9 @@
+
+
+
@@ -188,7 +191,7 @@
-
+
@@ -256,7 +259,14 @@
-
+
+
+
+
+
+
+
+
@@ -463,7 +473,13 @@ export default {
status: 1,
summary: '',
overview: '',
+ visible:true,
+ refId:'',
+ refType:''
},
+ visibleShow:false,
+ extendRefId:'',
+ extendRefType:'',
courseTeachers: [], //课程的老师
courseCrowds:[],//课程的用户受众
curContent: { id: '', contentType: 0, csectionId: '', contentName: '', contentRefId: '' }, //当前编辑的内容
@@ -534,6 +550,13 @@ export default {
}
},
mounted() {
+ let extendFlag=this.$route.query.f; //是否是管理端过来的
+ this.extendRefId=this.$route.query.refId;
+ this.extendRefType=this.$route.query.refType;
+ if(extendFlag && extendFlag=='choose'){
+ this.visibleShow=true;
+ }
+ //console.log("url参数",extendFlag,this.extendRefId,this.extendRefType)
this.curStepIndex = 1; //回到第一步
this.btnLoading = false;
this.getResOwnerTree().then(rs => {
@@ -705,8 +728,13 @@ export default {
status: 1,
summary: '',
overview: '',
- // checked:false,
+ visible:true,
+ refId:this.extendRefId,
+ refType:this.extendRefType
};
+ if(this.extendRefId){
+ this.courseInfo.visible=false;
+ }
this.contentInfo.list = [];
this.sectionInfo.list = [];
this.courseTeachers = [];
@@ -842,6 +870,9 @@ export default {
const { result, status } = await apiCourse.detail(id);
if (status === 200) {
//把数据附给三个对象
+ if(result.course.visible==''){
+ result.course.visible=true;
+ }
this.courseInfo = result.course;
this.checked = false;
this.contentInfo.list = result.contents;
diff --git a/src/components/UcHeader/Index.vue b/src/components/UcHeader/Index.vue
index 1fd0ebef..896aad04 100644
--- a/src/components/UcHeader/Index.vue
+++ b/src/components/UcHeader/Index.vue
@@ -162,7 +162,10 @@ import {userAvatarText,cutFullName} from "@/utils/tools.js";
setCurIdentity(iden){
this.$store.dispatch('SetCurIdentity',iden);
- this.$router.push('/manager/index');
+ if(iden>2){
+ this.$router.push('/manager/index');
+ }
+ //
// if(this.isTest){
// //this.$router.push('/manage/learningpath');
// location.href='/manage/learningpath';
diff --git a/src/components/UserCenter/menu.vue b/src/components/UserCenter/menu.vue
index 0caa4d09..743eb39e 100644
--- a/src/components/UserCenter/menu.vue
+++ b/src/components/UserCenter/menu.vue
@@ -258,14 +258,13 @@
我的考试
-
-
+
学习项目
-
+ -->
+
+
+ 取消
+ 保存
+ 保存并发布
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 注:单个导入文件受众成员请勿超过5000条记录,以员工号为准。必须是本系统人员
+
+ 文件名称:
+
+
+ 选择
+ {{uploadBtnValue}}
+
+ 下载模板文件
+
+
+
+
+
+
+
+ 正确
+ 错误
+
+
+
+
+
+ {{importRepeatUsers}}
+ {{importRepeatUsers}}
+
+
+ 取 消
+ 确认
+
+
+
+
+
+
+
+
diff --git a/src/views/manage/AudienceList.vue b/src/views/manage/AudienceList.vue
new file mode 100644
index 00000000..0c9eaa14
--- /dev/null
+++ b/src/views/manage/AudienceList.vue
@@ -0,0 +1,396 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
搜索
+
+
重置
+
+ 添加受众
+
+
+
+
+
+
+
+
+ {{scope.row.audienceName}}
+
+
+
+
+
+
+ 未发布
+ 已发布
+
+ 已停用
+
+
+
+
+ 普通受众
+ 自动受众
+
+
+
+
+ 修改
+ 复制
+ 发布
+ 停用
+ 启用
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/manage/AudienceView.vue b/src/views/manage/AudienceView.vue
new file mode 100644
index 00000000..b814cbf1
--- /dev/null
+++ b/src/views/manage/AudienceView.vue
@@ -0,0 +1,205 @@
+
+
+
基本信息
+
+
+
+
+
+
+
+
+
人员信息
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+
+
+
+ 关闭
+
+
+
+
+
+
+
diff --git a/src/views/study/Courses.vue b/src/views/study/Courses.vue
index e60a7e3a..26873945 100644
--- a/src/views/study/Courses.vue
+++ b/src/views/study/Courses.vue
@@ -23,12 +23,12 @@
- 搜索
+ 搜索
重置
-
+
@@ -40,12 +40,12 @@
-
报名时间:{{item.addTime}}
+
报名时间:{{ formatsec(Number(item.startTime) * 1000 )}}
-
+
-
+
+ :total="page.count">
-
- 正在加载数据...
- 查询中...
-
+
加载中...
-
-
![]()
-
您还没有报名课程哦~
-
未找到您要搜索的内容
+
+
+
+
![]()
+
您还没有报名课程哦~
+
+
@@ -104,10 +105,12 @@