diff --git a/src/api/boe/userbasic.js b/src/api/boe/userbasic.js index 5e6bc615..918bdf3f 100644 --- a/src/api/boe/userbasic.js +++ b/src/api/boe/userbasic.js @@ -103,6 +103,14 @@ const getUsersByIds = function(ids) { return ajax.postJson(baseURL,'/user/getUserMessageToDai',ids); } +/** + * 根据关键字检索用户(创建人下拉) + * @param {string} keyword + */ +const selectUser = function(keyword = '') { + return ajax.postJson(baseURL,'/user/selectuser',{ keyword }); +} + export default { userParentOrg, findOrgsByKeyword, @@ -116,5 +124,6 @@ export default { getInAudienceIds, getUsersByIds, updateUser, - logout + logout, + selectUser } diff --git a/src/api/modules/course.js b/src/api/modules/course.js index 197ee0e2..a03b5022 100644 --- a/src/api/modules/course.js +++ b/src/api/modules/course.js @@ -1,494 +1,525 @@ -/** - * 课程的操作,课程的添加,修改,列表查询,课程的审核发布等操作。 - * 针对于管理员,教师的功能 - * - **/ -import ajax from '@/utils/xajax.js' - -/** - * 保存课程基本信息,新增和更新都是此方式 - * @param {Object} data - *{ - course:{ - 课程的基本信息,具体字段内容另外提供 - name:课程名称 - type:课程类型,10微课,21在线课(直播);20:在线课( 录播);30:面授课;40:混合式, - summary:摘人 - overview: 课程简介 - coverImg:封面图 - sysType:系统分类,只存储最后一级, - resOwner1:资源归属一级的id - resOwner2:资源归属二级的id - resOwner3:资源归属三级的id - forUsers: 目标人群 - forScene:应用场景 - openObject: 开放权限 - value:课程价值 - tags:标签,多个使用-分隔 - keywords:关键字 - device: 1:PC端可见;2:移动端可见;3:多端可见 - status: 1:未提交(草稿);2:已提交; - published:true/false 是否发布 - enabled:true/false 启用、停用 - isTop: true/false 是否置顶 - source:整数,课程来源,1:内部;2;外部 - - }, - teachers:[ - { - teacherId:教师的id, - teacherName:教师的名称 - } - ] - } - */ -const saveBase = function(data) { - return ajax.postJson('/xboe/m/course/manage/save', data); -} - - - -/** - * 仅仅是保存课程信息,不包括教师信息 - * @param {Object} data - */ -const saveOnlyCourse = function(data) { - return ajax.postJson('/xboe/m/course/manage/save-only-course', data); -} - -/**提交课程*/ -const submitCourse = function(data) { - return ajax.postJson('/xboe/m/course/manage/submit', data); -} - -/**撤销已提交审核的课程*/ -const revokeSubmit = function(id) { - return ajax.post('/xboe/m/course/manage/revoke', {id}); -} - -/** - * 复制课程 - * @param {Object} - */ -const copyCourse = function(data) { - return ajax.post('/xboe/m/course/manage/copy',data); -} -/* -查询课程是否有重复名称 - */ -const isRedoName=function(){ - return ajax.get('/xboe/m/course/manage/isRedoName'); -} -/* -查询当前添加课程是否已有 -courseName 要添加的课程姓名 - */ -const isCourseName=function(courseName,courseId){ - return ajax.get(`/xboe/m/course/manage/isCourseName?courseName=${courseName}&courseId=${courseId}`); -} -/** - * 查询修改日志,列表,不分页 - * @param {Object} params - * { - num:数量,可以不传,默认是10条,最新的10条 - courseId:课程的id - name: 修改人 - } - */ -const findUpdateLogs = function(params) { - return ajax.post('/xboe/m/course/manage/upldate-logs',params); -} - -/** - * 根据id获取修改的详细信息 - * @param {Object} id - */ -const getUpdateLog = function(id) { - return ajax.get('/xboe/m/course/manage/upldate-log-detail?id='+id); -} - -/** - * 保存课程的一条学习内容信息,新增和更新都是此方式 - * @param {Object} data - * { - content:内容 { - courseId,csectionId章节id(微课为空),sortIndex排序顺序(微课为空),contentType 内容类型(图文41,连接52,作业60,考试61,评估62) - contentName,contentRefId无关联内容时为空(此字段内容后台会控制),content具体的内容 - } - - homework:作业信息 单个对象{ - courseId,contentId上面对象的id(后台会控制),name,content,file,deadTime, - submitMode:1表提交附件,2直接填写,3表两者都可以 - } - exam:考试信息 单个对象 - { - courseId,contentId上面对象的id(后台会控制),testName,testDuration考试时长, - paperType试卷类型 1自定义,2使用已有试卷 - paperId试题的id,使用已有试卷时保存选择试卷的id - showAnalysis是否显示解析,showAnswer否显示答案,times尝试次数 - arrange试题排序 0表不乱序,1试题乱序,2选项乱序,3全部乱序 - scoringType评分方式 1最高一次,2最后一次 - passLine及格线整数 - randomMode是否随机模式true/false - paperContent试卷的内容,json存储的对象{items:[]} - - } - assess:评估信息,list 多条记录. - [ - { courseId,contentId,assessId评估id(一期为空),question问题,qType问题类型} - ] - } - */ -const saveContent = function(data) { - return ajax.postJson('/xboe/m/course/content/save', data); -} - - -/** - * 更新课程内容的顺序 - * @param {String} cid //课程的id - * @param {Array} items - * [ - * { - * id:章的id - * index:整数,顺序值 - * items:[ - * {id:内容的id,index:顺序值} - * ] - * } - * ] - * @returns - */ -const updateContentOrders = function(cid,items) { - return ajax.postJson('/xboe/m/course/content/update-orders/'+cid, items); -} - -/** - * 课程的详细信息 - * @param {String} id - */ -const detail = function(id) { - return ajax.get('/xboe/m/course/manage/detail?id=' + id); -} -const getDictIds = function(pid,type) { - return ajax.get(`/xboe/m/course/manage/getDictIds?pid=${pid}&type=${type}`); -} -/** - * 更新内容的名称 - * @param {Object} data - * { - id:'', - name:'' - } - */ -const updateContentName = function(data) { - return ajax.post('/xboe/m/course/content/update-name', data); -} - -/** - * 删除一条学习内容 - * @param {Object} data - * { - id: 内容的id, - ctype:对应内容的类型contentType - erasable:是否物理删除,此值是课程信息中系统带过来的字段,直接使用它就可以了 - } - */ -const delContent = function(data) { - return ajax.post('/xboe/m/course/content/delete', data); -} - -/** - * 保存课程的章信息,新增和修改保存都是一个 - * @param {Object} data - * courseId:课程的id - * name:章节名称 - description:章节说明 - parentId: 上级id。如果没有可以填“-1”字符串 - orderIndex:显示顺序,顺序索引,整数 - */ -const saveSection = function(data) { - return ajax.post('/xboe/m/course/content/save-section', data); -} - -/** - * 删除章节目录,注意只有目录下没有学习内容时才允许删除 - * @param {Object} data - */ -const delSection = function(id) { - return ajax.post('/xboe/m/course/content/delete-section?id=' + id); -} - -/** - * 根据课程学习内容的id。获取作业信息,只有学习内容是作业时才会有信息 - * @param {Object} ccid - */ -const getHomework = function(ccid) { - return ajax.post('/xboe/m/course/content/homework?ccid=' + ccid); -} - -/** - * 根据课程学习内容的id。获取考试信息,只有学习内容是考试时才会有信息 - * @param {Object} ccid - */ -const getExam = function(ccid) { - return ajax.post('/xboe/m/course/content/exam?ccid=' + ccid); -} - -/** - * 根据课程学习内容的id。获取评估信息,评估内容可以获取 - * @param {Object} ccid - */ -const getAssess = function(ccid) { - return ajax.post('/xboe/m/course/content/assess?ccid=' + ccid); -} - -/** - * 管理列表查询 - * @param {Object} query - * pageIndex:第几页 - * pageSize:每页多少条 - * resOwner1:资源归属一级的id - resOwner2:资源归属二级的id - resOwner3:资源归属三级的id - types:授课方式,多个使用 - 分隔 - scenes:应用场景,多个使用 - 分隔 - publish:true/false 是否发布,空值或不传就是全部 - aid:创建人 aid - sysCreateUser: 创建人姓名 - keyword:查询关键词 - sysTypes:系统的分类,多级使用 - 分隔,注一期功能是分类的最后一级值,不支持多个的查询 - orderField:排序字段 id s - orderAsc:true/false 是否是正序,从小到大 - status:状态,多个使用 - 分隔 1代表待审核 5代表已审核 1 未提交 2 已提交 5 审核完成 - type:课程类型,10微课,21在线课(直播);20:在线课( 录播);30:面授课;40:混合式, - name 课程名称 - - */ -const pageList = function(query) { - return ajax.post('/xboe/m/course/manage/pagelist', query); -} - - -/**计算待审核课程*/ -const countWaitAudit = function() { - return ajax.get('/xboe/m/course/manage/wait-audit-num'); -} - -/** - * [已用courseAudit中的hrbpAuditList替换] - * 当前用户需要审核的课程列表 - * @param {Object} query 同pageList - */ -const auditList = function(query) { - return ajax.post('/xboe/m/course/manage/audit-pagelist', query); -} - - -/** - * 【已移到courseAudit中】 - * 教师需要审核的课程列表 - */ -const teacherAuditList = function(query) { - return ajax.post('/xboe/m/course/audit/teacher-course', query); -} - -/** - * 指定审核人,转审核人 - * 点击“转审” 弹出教师查询窗口,查询教师,填写备注,提交,调用此接口 - * @param {Object} data - * {courseId:课程id,teacherId:指定的审核人教师的id,teacherName:教师名称,remark:备注} - */ -const auditAppoint = function(data) { - return ajax.post('/xboe/m/course/audit/appoint', data); -} - -/** - * 获取审核信息,上面教师点击审核课程时,用于查询,上面“转审”时,用户填写的备注信息 - * @param {courseId:'课程id',teacherId:'可以不填写,系统会查询当前人'} data - */ -const getAuditInfo = function(data) { - return ajax.post('/xboe/m/course/audit/infos', data); -} - - -/** - * 管理员的课程审核处理 - * @param {Object} query {id:课程id,title:课程的名称, Boolean pass 是否通过,remark 备注} - */ -const audit = function(data) { - return ajax.post('/xboe/m/course/manage/audit', data); -} - -/** - * 审核记录列表,分页查询 - */ -const auditPageRecords = function(data) { - return ajax.post('/xboe/m/course/audit/page-records', data); -} - -/** - * 审核记录列表,要卖课程id,查询出审核列记录信息 - * { courseId:必须} - */ -const auditCourseRecords = function(data) { - return ajax.post('/xboe/m/course/audit/course-records',data); -} - -/** - * 管理员的课程发布,当前已经不再使用了 - * @param {Object} query {ids:课程id,多个使用逗号分隔,title:课程的名称, Boolean pass 是否发布} - */ -const publish = function(data) { - return ajax.post('/xboe/m/course/manage/publish', data); -} - -const auditAndPublish=function(data) { - return ajax.post('/xboe/m/course/manage/audit-publish', data); -} - -/** - * 设置top - * @param {Object} query {ids:课程id,多个使用逗号分隔,title:课程的名称,Boolean top 是否置顶} - */ -const setTop = function(data) { - return ajax.post('/xboe/m/course/manage/top', data); -} - -/** - * 管理员的设置启用停用 - * @param {Object} query {ids:课程id,多个使用逗号分隔,title:课程的名称, Boolean enabled 是否启用} - */ -const setEnabled = function(data) { - return ajax.post('/xboe/m/course/manage/enabled', data); -} - -/** - * 管理员的删除课程 - * erasable 此值是课程信息带过来的,直接传就可以 - * @param {Object} query {id:课程id,多个使用逗号分隔,Boolean erasable 是否物理删除,title:课程的名称, remark 备注} - */ -const del = function(data) { - return ajax.post('/xboe/m/course/manage/delete', data); -} -/* -详情 - */ -const detailFew=function(id){ - return ajax.get('/xboe/m/course/portal/detail-few?id=' + id); -} - -/* -直接审核,教师提交审核 - */ -const sumbits=function(data){ - return ajax.post('/xboe/m/course/manage/sumbits',data); -} -/* -教师授课记录 - */ -const teacherCourse=function(teacherId){ - return ajax.get('/xboe/m/course/manage/teacher-course?teacherId='+teacherId); -} -/* -教师授课记录导出 -@param teacherId 教师id - */ -const exportTeacherCourse=function(teacherId){ - return ajax.post('/xboe/m/course/manage/export-teacher-course?teacherId='+teacherId) -} -/* -*待审核课程记录导出 - * resOwner1:资源归属一级的id - resOwner2:资源归属二级的id - resOwner3:资源归属三级的id - types:授课方式,多个使用 - 分隔 - scenes:应用场景,多个使用 - 分隔 - publish:true/false 是否发布,空值或不传就是全部 - aid:创建人 aid - sysCreateUser: 创建人姓名 - keyword:查询关键词 - sysTypes:系统的分类,多级使用 - 分隔,注一期功能是分类的最后一级值,不支持多个的查询 - orderField:排序字段 id s - orderAsc:true/false 是否是正序,从小到大 - status:状态,多个使用 - 分隔 1代表待审核 5代表已审核 1 未提交 2 已提交 5 审核完成 - type:课程类型,10微课,21在线课(直播);20:在线课( 录播);30:面授课;40:混合式, - name 课程名称 - */ -const exportCourseAudit=function(query){ - return ajax.post('/xboe/m/course/manage/exportCourseAudit',query); -} -/* -参数同上待审核课程记录导出 - 课程的导出和已审核的课程导出 - */ -const exportCourse=function(query){ - return ajax.post('/xboe/m/course/manage/exportCourse',query); -} - -//判断受众id是否有关联 -const queryCrowd=function(query){ - return ajax.postJson('/xboe/m/course/manage/queryCrowd',query); -} - -/** - * 二次查询 - * @param{ - * ids - * } - * */ -const ids=function (data){ - return ajax.postJson('/xboe/m/course/manage/ids',data); -} - -const saveTip = function() { - return ajax.postJson('/xboe/m/course/manage/saveTip'); -} - - -export default { - saveBase, - submitCourse, - revokeSubmit, - copyCourse, - findUpdateLogs, - getUpdateLog, - detail, - getDictIds, - saveContent, - pageList, - setEnabled, - del, - publish, - saveSection, - getHomework, - countWaitAudit, - auditList, - teacherAuditList, - auditAppoint, - getAuditInfo, - audit, - auditPageRecords, - auditCourseRecords, - auditAndPublish, - getAssess, - setTop, - delSection, - getExam, - delContent, - updateContentName, - updateContentOrders, - saveOnlyCourse, - isRedoName, - isCourseName, - detailFew, - sumbits, - teacherCourse, - exportTeacherCourse, - exportCourseAudit, - exportCourse, - queryCrowd, - ids, - saveTip - -} +/** + * 课程的操作,课程的添加,修改,列表查询,课程的审核发布等操作。 + * 针对于管理员,教师的功能 + * + **/ +import ajax from '@/utils/xajax.js' + +/** + * 保存课程基本信息,新增和更新都是此方式 + * @param {Object} data + *{ + course:{ + 课程的基本信息,具体字段内容另外提供 + name:课程名称 + type:课程类型,10微课,21在线课(直播);20:在线课( 录播);30:面授课;40:混合式, + summary:摘人 + overview: 课程简介 + coverImg:封面图 + sysType:系统分类,只存储最后一级, + resOwner1:资源归属一级的id + resOwner2:资源归属二级的id + resOwner3:资源归属三级的id + forUsers: 目标人群 + forScene:应用场景 + openObject: 开放权限 + value:课程价值 + tags:标签,多个使用-分隔 + keywords:关键字 + device: 1:PC端可见;2:移动端可见;3:多端可见 + status: 1:未提交(草稿);2:已提交; + published:true/false 是否发布 + enabled:true/false 启用、停用 + isTop: true/false 是否置顶 + source:整数,课程来源,1:内部;2;外部 + + }, + teachers:[ + { + teacherId:教师的id, + teacherName:教师的名称 + } + ] + } + */ +const saveBase = function(data) { + return ajax.postJson('/xboe/m/course/manage/save', data); +} + + + +/** + * 仅仅是保存课程信息,不包括教师信息 + * @param {Object} data + */ +const saveOnlyCourse = function(data) { + return ajax.postJson('/xboe/m/course/manage/save-only-course', data); +} + +/**提交课程*/ +const submitCourse = function(data) { + return ajax.postJson('/xboe/m/course/manage/submit', data); +} + +/**撤销已提交审核的课程*/ +const revokeSubmit = function(id) { + return ajax.post('/xboe/m/course/manage/revoke', {id}); +} + +/** + * 复制课程 + * @param {Object} + */ +const copyCourse = function(data) { + return ajax.post('/xboe/m/course/manage/copy',data); +} +/* +查询课程是否有重复名称 + */ +const isRedoName=function(){ + return ajax.get('/xboe/m/course/manage/isRedoName'); +} +/* +查询当前添加课程是否已有 +courseName 要添加的课程姓名 + */ +const isCourseName=function(courseName,courseId){ + return ajax.get(`/xboe/m/course/manage/isCourseName?courseName=${courseName}&courseId=${courseId}`); +} +/** + * 查询修改日志,列表,不分页 + * @param {Object} params + * { + num:数量,可以不传,默认是10条,最新的10条 + courseId:课程的id + name: 修改人 + } + */ +const findUpdateLogs = function(params) { + return ajax.post('/xboe/m/course/manage/upldate-logs',params); +} + +/** + * 根据id获取修改的详细信息 + * @param {Object} id + */ +const getUpdateLog = function(id) { + return ajax.get('/xboe/m/course/manage/upldate-log-detail?id='+id); +} + +/** + * 保存课程的一条学习内容信息,新增和更新都是此方式 + * @param {Object} data + * { + content:内容 { + courseId,csectionId章节id(微课为空),sortIndex排序顺序(微课为空),contentType 内容类型(图文41,连接52,作业60,考试61,评估62) + contentName,contentRefId无关联内容时为空(此字段内容后台会控制),content具体的内容 + } + + homework:作业信息 单个对象{ + courseId,contentId上面对象的id(后台会控制),name,content,file,deadTime, + submitMode:1表提交附件,2直接填写,3表两者都可以 + } + exam:考试信息 单个对象 + { + courseId,contentId上面对象的id(后台会控制),testName,testDuration考试时长, + paperType试卷类型 1自定义,2使用已有试卷 + paperId试题的id,使用已有试卷时保存选择试卷的id + showAnalysis是否显示解析,showAnswer否显示答案,times尝试次数 + arrange试题排序 0表不乱序,1试题乱序,2选项乱序,3全部乱序 + scoringType评分方式 1最高一次,2最后一次 + passLine及格线整数 + randomMode是否随机模式true/false + paperContent试卷的内容,json存储的对象{items:[]} + + } + assess:评估信息,list 多条记录. + [ + { courseId,contentId,assessId评估id(一期为空),question问题,qType问题类型} + ] + } + */ +const saveContent = function(data) { + return ajax.postJson('/xboe/m/course/content/save', data); +} + + +/** + * 更新课程内容的顺序 + * @param {String} cid //课程的id + * @param {Array} items + * [ + * { + * id:章的id + * index:整数,顺序值 + * items:[ + * {id:内容的id,index:顺序值} + * ] + * } + * ] + * @returns + */ +const updateContentOrders = function(cid,items) { + return ajax.postJson('/xboe/m/course/content/update-orders/'+cid, items); +} + +/** + * 课程的详细信息 + * @param {String} id + */ +const detail = function(id) { + return ajax.get('/xboe/m/course/manage/detail?id=' + id); +} +const getDictIds = function(pid,type) { + return ajax.get(`/xboe/m/course/manage/getDictIds?pid=${pid}&type=${type}`); +} +/** + * 更新内容的名称 + * @param {Object} data + * { + id:'', + name:'' + } + */ +const updateContentName = function(data) { + return ajax.post('/xboe/m/course/content/update-name', data); +} + +/** + * 删除一条学习内容 + * @param {Object} data + * { + id: 内容的id, + ctype:对应内容的类型contentType + erasable:是否物理删除,此值是课程信息中系统带过来的字段,直接使用它就可以了 + } + */ +const delContent = function(data) { + return ajax.post('/xboe/m/course/content/delete', data); +} + +/** + * 保存课程的章信息,新增和修改保存都是一个 + * @param {Object} data + * courseId:课程的id + * name:章节名称 + description:章节说明 + parentId: 上级id。如果没有可以填“-1”字符串 + orderIndex:显示顺序,顺序索引,整数 + */ +const saveSection = function(data) { + return ajax.post('/xboe/m/course/content/save-section', data); +} + +/** + * 删除章节目录,注意只有目录下没有学习内容时才允许删除 + * @param {Object} data + */ +const delSection = function(id) { + return ajax.post('/xboe/m/course/content/delete-section?id=' + id); +} + +/** + * 根据课程学习内容的id。获取作业信息,只有学习内容是作业时才会有信息 + * @param {Object} ccid + */ +const getHomework = function(ccid) { + return ajax.post('/xboe/m/course/content/homework?ccid=' + ccid); +} + +/** + * 根据课程学习内容的id。获取考试信息,只有学习内容是考试时才会有信息 + * @param {Object} ccid + */ +const getExam = function(ccid) { + return ajax.post('/xboe/m/course/content/exam?ccid=' + ccid); +} + +/** + * 根据课程学习内容的id。获取评估信息,评估内容可以获取 + * @param {Object} ccid + */ +const getAssess = function(ccid) { + return ajax.post('/xboe/m/course/content/assess?ccid=' + ccid); +} + +/** + * 管理列表查询 + * @param {Object} query + * pageIndex:第几页 + * pageSize:每页多少条 + * resOwner1:资源归属一级的id + resOwner2:资源归属二级的id + resOwner3:资源归属三级的id + types:授课方式,多个使用 - 分隔 + scenes:应用场景,多个使用 - 分隔 + publish:true/false 是否发布,空值或不传就是全部 + aid:创建人 aid + sysCreateUser: 创建人姓名 + keyword:查询关键词 + sysTypes:系统的分类,多级使用 - 分隔,注一期功能是分类的最后一级值,不支持多个的查询 + orderField:排序字段 id s + orderAsc:true/false 是否是正序,从小到大 + status:状态,多个使用 - 分隔 1代表待审核 5代表已审核 1 未提交 2 已提交 5 审核完成 + type:课程类型,10微课,21在线课(直播);20:在线课( 录播);30:面授课;40:混合式, + name 课程名称 + + */ +const pageList = function(query) { + return ajax.post('/xboe/m/course/manage/pagelist', query); +} + +/** + * 课程管理分页查询(新) + * @param {Object} query + */ +const managePage = function(query) { + return ajax.postJson('/xboe/m/course/manage/page', query); +} + + +/**计算待审核课程*/ +const countWaitAudit = function() { + return ajax.get('/xboe/m/course/manage/wait-audit-num'); +} + +/** + * [已用courseAudit中的hrbpAuditList替换] + * 当前用户需要审核的课程列表 + * @param {Object} query 同pageList + */ +const auditList = function(query) { + return ajax.post('/xboe/m/course/manage/audit-pagelist', query); +} + + +/** + * 【已移到courseAudit中】 + * 教师需要审核的课程列表 + */ +const teacherAuditList = function(query) { + return ajax.post('/xboe/m/course/audit/teacher-course', query); +} + +/** + * 指定审核人,转审核人 + * 点击“转审” 弹出教师查询窗口,查询教师,填写备注,提交,调用此接口 + * @param {Object} data + * {courseId:课程id,teacherId:指定的审核人教师的id,teacherName:教师名称,remark:备注} + */ +const auditAppoint = function(data) { + return ajax.post('/xboe/m/course/audit/appoint', data); +} + +/** + * 获取审核信息,上面教师点击审核课程时,用于查询,上面“转审”时,用户填写的备注信息 + * @param {courseId:'课程id',teacherId:'可以不填写,系统会查询当前人'} data + */ +const getAuditInfo = function(data) { + return ajax.post('/xboe/m/course/audit/infos', data); +} + + +/** + * 管理员的课程审核处理 + * @param {Object} query {id:课程id,title:课程的名称, Boolean pass 是否通过,remark 备注} + */ +const audit = function(data) { + return ajax.post('/xboe/m/course/manage/audit', data); +} + +/** + * 审核记录列表,分页查询 + */ +const auditPageRecords = function(data) { + return ajax.post('/xboe/m/course/audit/page-records', data); +} + +/** + * 审核记录列表,要卖课程id,查询出审核列记录信息 + * { courseId:必须} + */ +const auditCourseRecords = function(data) { + return ajax.post('/xboe/m/course/audit/course-records',data); +} + +/** + * 管理员的课程发布,当前已经不再使用了 + * @param {Object} query {ids:课程id,多个使用逗号分隔,title:课程的名称, Boolean pass 是否发布} + */ +const publish = function(data) { + return ajax.post('/xboe/m/course/manage/publish', data); +} + +const auditAndPublish=function(data) { + return ajax.post('/xboe/m/course/manage/audit-publish', data); +} + +/** + * 设置top + * @param {Object} query {ids:课程id,多个使用逗号分隔,title:课程的名称,Boolean top 是否置顶} + */ +const setTop = function(data) { + return ajax.post('/xboe/m/course/manage/top', data); +} + +/** + * 获取置顶课程列表 + */ +const fetchTopCourseList = function() { + return ajax.get('/xboe/m/course/manage/topList'); +} + +/** + * 更新置顶课程排序 + * @param {Array<{id:string,sortWeight:number}>} data + */ +const updateTopCourseSort = function(data) { + return ajax.postJson('/xboe/m/course/manage/top-sortchange', data); +} + +/** + * 管理员的设置启用停用 + * @param {Object} query {ids:课程id,多个使用逗号分隔,title:课程的名称, Boolean enabled 是否启用} + */ +const setEnabled = function(data) { + return ajax.post('/xboe/m/course/manage/enabled', data); +} + +/** + * 管理员的删除课程 + * erasable 此值是课程信息带过来的,直接传就可以 + * @param {Object} query {id:课程id,多个使用逗号分隔,Boolean erasable 是否物理删除,title:课程的名称, remark 备注} + */ +const del = function(data) { + return ajax.post('/xboe/m/course/manage/delete', data); +} +/* +详情 + */ +const detailFew=function(id){ + return ajax.get('/xboe/m/course/portal/detail-few?id=' + id); +} + +/* +直接审核,教师提交审核 + */ +const sumbits=function(data){ + return ajax.post('/xboe/m/course/manage/sumbits',data); +} +/* +教师授课记录 + */ +const teacherCourse=function(teacherId){ + return ajax.get('/xboe/m/course/manage/teacher-course?teacherId='+teacherId); +} +/* +教师授课记录导出 +@param teacherId 教师id + */ +const exportTeacherCourse=function(teacherId){ + return ajax.post('/xboe/m/course/manage/export-teacher-course?teacherId='+teacherId) +} +/* +*待审核课程记录导出 + * resOwner1:资源归属一级的id + resOwner2:资源归属二级的id + resOwner3:资源归属三级的id + types:授课方式,多个使用 - 分隔 + scenes:应用场景,多个使用 - 分隔 + publish:true/false 是否发布,空值或不传就是全部 + aid:创建人 aid + sysCreateUser: 创建人姓名 + keyword:查询关键词 + sysTypes:系统的分类,多级使用 - 分隔,注一期功能是分类的最后一级值,不支持多个的查询 + orderField:排序字段 id s + orderAsc:true/false 是否是正序,从小到大 + status:状态,多个使用 - 分隔 1代表待审核 5代表已审核 1 未提交 2 已提交 5 审核完成 + type:课程类型,10微课,21在线课(直播);20:在线课( 录播);30:面授课;40:混合式, + name 课程名称 + */ +const exportCourseAudit=function(query){ + return ajax.post('/xboe/m/course/manage/exportCourseAudit',query); +} +/* +参数同上待审核课程记录导出 + 课程的导出和已审核的课程导出 + */ +const exportCourse = function(query) { + return ajax.get({ + url: '/xboe/m/course/manage/export', + method: 'get', + params: query, + responseType: 'blob' + }); +} + +//判断受众id是否有关联 +const queryCrowd=function(query){ + return ajax.postJson('/xboe/m/course/manage/queryCrowd',query); +} + +/** + * 二次查询 + * @param{ + * ids + * } + * */ +const ids=function (data){ + return ajax.postJson('/xboe/m/course/manage/ids',data); +} + +const saveTip = function() { + return ajax.postJson('/xboe/m/course/manage/saveTip'); +} + + +export default { + saveBase, + submitCourse, + revokeSubmit, + copyCourse, + findUpdateLogs, + getUpdateLog, + detail, + getDictIds, + saveContent, + pageList, + managePage, + setEnabled, + del, + publish, + saveSection, + getHomework, + countWaitAudit, + auditList, + teacherAuditList, + auditAppoint, + getAuditInfo, + audit, + auditPageRecords, + auditCourseRecords, + auditAndPublish, + getAssess, + setTop, + fetchTopCourseList, + updateTopCourseSort, + delSection, + getExam, + delContent, + updateContentName, + updateContentOrders, + saveOnlyCourse, + isRedoName, + isCourseName, + detailFew, + sumbits, + teacherCourse, + exportTeacherCourse, + exportCourseAudit, + exportCourse, + queryCrowd, + ids, + saveTip + +} diff --git a/src/components/Course/TopCourseSorter.vue b/src/components/Course/TopCourseSorter.vue new file mode 100644 index 00000000..3037c62b --- /dev/null +++ b/src/components/Course/TopCourseSorter.vue @@ -0,0 +1,234 @@ + + + + + + + + + + + + + + + + diff --git a/src/data/pages.js b/src/data/pages.js index 5ec52049..aec893d2 100644 --- a/src/data/pages.js +++ b/src/data/pages.js @@ -29,6 +29,7 @@ export const pages=[ {title:'课程首页',path:'index',component:'course/Index',hidden:true}, {title:'课程建设',path:'mylist',component:'course/TeacherList',hidden:true}, {title:'课程管理',path:'manage',component:'course/ManageList',hidden:false}, + {title:'课程管理新版',path:'manage-remote',component:'course/ManageListRemote',hidden:false}, {title:'课程统计',path:'stat',component:'course/StatIndex',hidden:false}, {title:'课件管理',path:'courseware',component:'course/Courseware',hidden:false}, {title:'报名管理',path:'msignup',component:'study/ManageSignup',hidden:true}, @@ -117,6 +118,7 @@ export const iframes=[ {title:'嵌入测试', path:'/iframe/index',hidden:false,component:'portal/iframe'}, {title:'课件管理', path:'/iframe/course/coursewares',hidden:false,component:'course/Courseware'}, {title:'课程管理', path:'/iframe/course/manages',hidden:false,component:'course/ManageList'}, + {title:'课程管理新版', path:'/iframe/course/manage-remote',hidden:false,component:'course/ManageListRemote'}, {title:'考试试题管理', path:'/iframe/exam/questions',hidden:false,component:'exam/Question'}, {title:'查看答卷', path:'/iframe/exam/viewanswer',hidden:false,component:'exam/viewAnswer'}, {title:'考试试卷管理', path:'/iframe/exam/papers',hidden:false,component:'exam/TestPaper'}, diff --git a/src/views/course/ManageListRemote.vue b/src/views/course/ManageListRemote.vue new file mode 100644 index 00000000..4ac4085e --- /dev/null +++ b/src/views/course/ManageListRemote.vue @@ -0,0 +1,1479 @@ + + + + +