mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-14 21:36:42 +08:00
提交为了发布
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
|||||||
node_modules
|
node_modules
|
||||||
|
node_modules
|
||||||
|
|||||||
@@ -41,8 +41,8 @@ const teacherSystem = function(id) {
|
|||||||
teacher_id 教师id
|
teacher_id 教师id
|
||||||
* } data 查询条件
|
* } data 查询条件
|
||||||
*/
|
*/
|
||||||
const teacherInfo = function(data) {
|
const teacherInfo = function(sysId) {
|
||||||
return ajax.get('/b1/system/teacher/teacher-info',data);
|
return ajax.get('/b1/system/teacher/teacher-info?teacher_id='+sysId);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 教师删除接口
|
* 教师删除接口
|
||||||
@@ -63,11 +63,83 @@ const teacherSystem = function(id) {
|
|||||||
const updateStatus = function(data) {
|
const updateStatus = function(data) {
|
||||||
return ajax.postJson('/b1/system/teacher/update-status',data);
|
return ajax.postJson('/b1/system/teacher/update-status',data);
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 教师授课记录查询接口
|
||||||
|
* @param {
|
||||||
|
```json
|
||||||
|
id // 教师id
|
||||||
|
courseType // 课程类型:‘1,2’:面授,训练班;‘0’:在线班
|
||||||
|
pageSize // 每页数据条数
|
||||||
|
page // 返回第几页数据
|
||||||
|
isPage // 是否分页:0分页返回,1:不分页直接返回全部
|
||||||
|
```
|
||||||
|
*/
|
||||||
|
const getCourseScore = function(data) {
|
||||||
|
return ajax.get(`/b1/system/teacher/course-score?id=${data.id}&courseType=${data.courseType}&pageSize=${data.pageSize}&page=${data.page}&isPage=${data.isPage}`);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 内部讲师-授课资格 查询接口
|
||||||
|
* @param {
|
||||||
|
id // 教师id
|
||||||
|
pageSize // 每页数据条数
|
||||||
|
page // 返回第几页数据
|
||||||
|
```}
|
||||||
|
*/
|
||||||
|
const getTeachingQualify = function(data) {
|
||||||
|
return ajax.get(`/b1/system/teacher/teaching-qualify?id=${data.id}&pageSize=${data.pageSize}&page=${data.page}`);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 内部讲师-未开班资源查询接口
|
||||||
|
* @param {
|
||||||
|
id // 教师id
|
||||||
|
```
|
||||||
|
*/
|
||||||
|
const getCourseInfo = function(id) {
|
||||||
|
return ajax.get('/b1/system/teacher/course-info?id='+id);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 内部讲师-晋级过程查询接口
|
||||||
|
* @param {
|
||||||
|
id // 教师id
|
||||||
|
```
|
||||||
|
*/
|
||||||
|
const teacherUpgradePrecess = function(id) {
|
||||||
|
return ajax.get('/b1/system/teacher/teacher-upgrade-precess?id='+id);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 内部讲师-修改模块讲师信息
|
||||||
|
* @param {
|
||||||
|
courseId // 课程id
|
||||||
|
modId // 模块id
|
||||||
|
teacherId // 教师id
|
||||||
|
teachingTime // 授课时间
|
||||||
|
*/
|
||||||
|
const editModelTeacher = function(data) {
|
||||||
|
return ajax.postJson('/b1/system/teacher/edit-model-teacher',data);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 内部讲师-删除模块讲师接口
|
||||||
|
* @param {
|
||||||
|
courseId // 课程id
|
||||||
|
modId // 模块id
|
||||||
|
teacherId // 教师id
|
||||||
|
remark // 备注
|
||||||
|
*/
|
||||||
|
const deleteModelTeacher = function(data) {
|
||||||
|
return ajax.postJson('/b1/system/teacher/delete-model-teacher',data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
editTeacher,
|
editTeacher,
|
||||||
teacherSystem,
|
teacherSystem,
|
||||||
teacherInfo,
|
teacherInfo,
|
||||||
deleteTeacher,
|
deleteTeacher,
|
||||||
updateStatus
|
updateStatus,
|
||||||
|
getCourseScore,
|
||||||
|
getTeachingQualify,
|
||||||
|
getCourseInfo,
|
||||||
|
teacherUpgradePrecess,
|
||||||
|
deleteModelTeacher,
|
||||||
|
editModelTeacher
|
||||||
}
|
}
|
||||||
@@ -173,6 +173,17 @@ const end=function(id){
|
|||||||
const exports=function(query){
|
const exports=function(query){
|
||||||
return ajax.post('/xboe/teacher/export',query);
|
return ajax.post('/xboe/teacher/export',query);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* courseType // 课程类型:‘1,2’:面授,训练班;‘0’:在线班
|
||||||
|
* sysId:教师的sysId
|
||||||
|
* tid: 教师的id
|
||||||
|
* @param {tid,sysId,countType,pageSize:100,pageIndex} query
|
||||||
|
*/
|
||||||
|
const findAllCourses=function(query){
|
||||||
|
return ajax.post('/xboe/teacher/compose/find/courses',query);
|
||||||
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
findByName,
|
findByName,
|
||||||
getInfoById,
|
getInfoById,
|
||||||
|
|||||||
@@ -594,19 +594,23 @@ export default {
|
|||||||
}
|
}
|
||||||
if($this.coursewareInfo.content.contentType == 40) {
|
if($this.coursewareInfo.content.contentType == 40) {
|
||||||
//console.log(con.content,'con.content');
|
//console.log(con.content,'con.content');
|
||||||
if(con.content != '' && con.content.indexOf('.pdf') > -1) {
|
// if(con.content != '' && con.content.indexOf('.pdf') > -1) {
|
||||||
$this.coursewareInfo.content.content = con.content;
|
// $this.coursewareInfo.content.content = con.content;
|
||||||
}else {
|
// }else {
|
||||||
apiCourseFile.detail(con.contentRefId).then(cfrs => {
|
apiCourseFile.detail(con.contentRefId).then(cfrs => {
|
||||||
if (cfrs.status == 200) {
|
if (cfrs.status == 200) {
|
||||||
|
$this.coursewareInfo.content.content = cfrs.result.previewFilePath;
|
||||||
|
if(cfrs.result.previewFilePath == '' && cfrs.result.filePath.indexOf('pdf') > -1) {
|
||||||
|
$this.coursewareInfo.content.content = cfrs.result.filePath;
|
||||||
|
} else {
|
||||||
$this.curCFile=cfrs.result;
|
$this.curCFile=cfrs.result;
|
||||||
$this.converStatus = cfrs.result.converStatus;
|
$this.converStatus = cfrs.result.converStatus;
|
||||||
$this.coursewareInfo.content.content = cfrs.result.previewFilePath;
|
}
|
||||||
} else {
|
} else {
|
||||||
$this.$message.error('加载pdf课件文件失败');
|
$this.$message.error('加载pdf课件文件失败');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
} else if (con.sortIndex == 2) {
|
} else if (con.sortIndex == 2) {
|
||||||
$this.homeworkInfo = con;
|
$this.homeworkInfo = con;
|
||||||
|
|||||||
@@ -650,19 +650,18 @@ export default {
|
|||||||
}
|
}
|
||||||
} else if(r.contentType == 40) {
|
} else if(r.contentType == 40) {
|
||||||
this.contentData.content="";
|
this.contentData.content="";
|
||||||
|
|
||||||
apiCourseFile.detail(r.contentRefId).then(cfrs => {
|
apiCourseFile.detail(r.contentRefId).then(cfrs => {
|
||||||
if (cfrs.status == 200) {
|
if (cfrs.status == 200) {
|
||||||
this.curCFile=cfrs.result;
|
this.curCFile=cfrs.result;
|
||||||
this.converStatus = cfrs.result.converStatus;
|
|
||||||
this.contentData.content = cfrs.result.previewFilePath;
|
this.contentData.content = cfrs.result.previewFilePath;
|
||||||
//下面是为了兼容老数据
|
//下面是为了兼容老数据
|
||||||
if(!cfrs.result.previewFilePath && cfrs.result.filePath.index('.pdf')>-1){
|
if(cfrs.result.previewFilePath == '' && cfrs.result.filePath.indexOf('pdf') > -1) {
|
||||||
this.contentData.content = cfrs.result.filePath;
|
this.contentData.content = cfrs.result.filePath;
|
||||||
|
} else {
|
||||||
|
this.converStatus = cfrs.result.converStatus;
|
||||||
}
|
}
|
||||||
//console.log(r.content);
|
//console.log(r.content);
|
||||||
}else {
|
}else {
|
||||||
this.contentData.content="";
|
|
||||||
this.$message.error('加载pdf课件文件失败');
|
this.$message.error('加载pdf课件文件失败');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -134,8 +134,9 @@ export default {
|
|||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.one-line-ellipsis{
|
.one-line-ellipsis{
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
|
|
||||||
white-space:pre-wrap;
|
white-space:pre-wrap;
|
||||||
// word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
word-break:break-all;
|
word-break:break-all;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow:ellipsis;
|
text-overflow:ellipsis;
|
||||||
|
|||||||
@@ -180,7 +180,7 @@
|
|||||||
|
|
||||||
<div style="padding-right: 30px;"><div></div></div>
|
<div style="padding-right: 30px;"><div></div></div>
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-checkbox style="margin-right:10px" v-model="checked"></el-checkbox><span style="font-size:14px;color:#787878;">我已阅读并遵守<span style="color:#588afc;margin-right:10px;cursor: pointer;" @click="courseInfoFormCheckedShow = true">平台内容发布要求</span></span>
|
<el-checkbox style="margin-right:10px" v-if="curCourseId != ''" v-model="checked"></el-checkbox><span v-if="curCourseId != ''" style="font-size:14px;color:#787878;">我已阅读并遵守<span style="color:#588afc;margin-right:10px;cursor: pointer;" @click="courseInfoFormCheckedShow = true">平台内容发布要求</span></span>
|
||||||
<!-- <el-button v-if="curCourseId!='' && contentInfo.list.length>0">预览</el-button> -->
|
<!-- <el-button v-if="curCourseId!='' && contentInfo.list.length>0">预览</el-button> -->
|
||||||
<el-button :loading="btnLoading" v-if="curCourseId != ''" :disabled="!checked" @click="submitCourse()" type="primary">提交审核</el-button>
|
<el-button :loading="btnLoading" v-if="curCourseId != ''" :disabled="!checked" @click="submitCourse()" type="primary">提交审核</el-button>
|
||||||
<el-button @click="closeForm()">关闭</el-button>
|
<el-button @click="closeForm()">关闭</el-button>
|
||||||
|
|||||||
@@ -593,6 +593,7 @@
|
|||||||
setupTage:0,
|
setupTage:0,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
pdfTip:'',//pdf文件的提示
|
||||||
hasCWare:{ keyword:'', count: 0, pageSize: 10, pageIndex: 1, list:[]},
|
hasCWare:{ keyword:'', count: 0, pageSize: 10, pageIndex: 1, list:[]},
|
||||||
homework:{
|
homework:{
|
||||||
show:1,
|
show:1,
|
||||||
@@ -737,11 +738,16 @@
|
|||||||
}else{
|
}else{
|
||||||
apiCourseFile.detail(this.cware.content.contentRefId).then(rs=>{
|
apiCourseFile.detail(this.cware.content.contentRefId).then(rs=>{
|
||||||
if(rs.status==200){
|
if(rs.status==200){
|
||||||
this.curCFile=rs.result;
|
|
||||||
this.converStatus = rs.result.converStatus;
|
|
||||||
this.courseFileShow = false;
|
this.courseFileShow = false;
|
||||||
this.cware.content.pdfPath=rs.result.previewFilePath;
|
this.cware.content.pdfPath=rs.result.previewFilePath;
|
||||||
this.cware.content.content=rs.result.previewFilePath;
|
this.cware.content.content=rs.result.previewFilePath;
|
||||||
|
if(rs.result.previewFilePath == '' && rs.result.filePath.indexOf('pdf') > -1) {
|
||||||
|
this.$forceUpdate();
|
||||||
|
this.cware.content.pdfPath = rs.result.filePath;
|
||||||
|
} else {
|
||||||
|
this.curCFile=rs.result;
|
||||||
|
this.converStatus = rs.result.converStatus;
|
||||||
|
}
|
||||||
this.$forceUpdate();
|
this.$forceUpdate();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -822,6 +828,9 @@
|
|||||||
this.cware.content.duration=row.duration;//时长
|
this.cware.content.duration=row.duration;//时长
|
||||||
this.cware.findShow=false;
|
this.cware.findShow=false;
|
||||||
if(this.cware.content.contentType==40){
|
if(this.cware.content.contentType==40){
|
||||||
|
if(row.filePath.indexOf('.pdf')==-1){
|
||||||
|
this.cware.content.content=row.previewFilePath;
|
||||||
|
}
|
||||||
this.loadPdfFile();
|
this.loadPdfFile();
|
||||||
}
|
}
|
||||||
this.saveContent(1);
|
this.saveContent(1);
|
||||||
|
|||||||
@@ -162,7 +162,7 @@ export default {
|
|||||||
let obj = {
|
let obj = {
|
||||||
one: urlPre+'/web/teacherLesson',
|
one: urlPre+'/web/teacherLesson',
|
||||||
two: urlPre+'/grow180/login',
|
two: urlPre+'/grow180/login',
|
||||||
three: this.webBaseUrl + '/study/index',
|
three: this.webBaseUrl + '/study/index?study=1',
|
||||||
four: 'https://m.qingxuetang.com/x/?appId=qxtcorp306130',
|
four: 'https://m.qingxuetang.com/x/?appId=qxtcorp306130',
|
||||||
five: urlPre+'/boe/new-employee/index.html'
|
five: urlPre+'/boe/new-employee/index.html'
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="2">
|
<el-col :span="2">
|
||||||
<div class="grid-content bg-purple">
|
<div class="grid-content bg-purple">
|
||||||
<el-button type="primary" style="margin-left: 20px;" @click="getSignupList()" >搜索</el-button>
|
<el-button type="primary" style="margin-left: 20px;" @click="getSignupList()" >搜ssz索</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<!-- <el-col :span="2"> -->
|
<!-- <el-col :span="2"> -->
|
||||||
@@ -623,14 +623,16 @@ export default {
|
|||||||
pageIndex: this.study.pageIndex,
|
pageIndex: this.study.pageIndex,
|
||||||
pageSize: this.study.pageSize
|
pageSize: this.study.pageSize
|
||||||
};
|
};
|
||||||
|
|
||||||
apicourseStudy.findSignup(params).then(res => {
|
apicourseStudy.findSignup(params).then(res => {
|
||||||
if (res.status === 200) {
|
if (res.status === 200) {
|
||||||
|
|
||||||
let ids = [];
|
let ids = [];
|
||||||
res.result.list.forEach(item => {
|
res.result.list.forEach(item => {
|
||||||
ids.push(item.aid);
|
ids.push(item.aid);
|
||||||
});
|
});
|
||||||
this.getQaUserData(res.result.list, ids);
|
this.getQaUserData(res.result.list, ids);
|
||||||
// this.study.list = res.result.list;
|
this.study.list = res.result.list;
|
||||||
this.study.count = res.result.count;
|
this.study.count = res.result.count;
|
||||||
} else {
|
} else {
|
||||||
this.$message.error(res.message);
|
this.$message.error(res.message);
|
||||||
|
|||||||
@@ -73,10 +73,11 @@
|
|||||||
<span slot="title" class="textl">考试管理</span>
|
<span slot="title" class="textl">考试管理</span>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
</el-submenu>
|
</el-submenu>
|
||||||
<!-- <el-menu-item index="/manage/teachers" v-show="curIdentity == 3">
|
<!--增加一个说明-->
|
||||||
|
<el-menu-item index="/manage/teachers" v-show="curIdentity == 3">
|
||||||
<svg-icon icon-class="teather"></svg-icon>
|
<svg-icon icon-class="teather"></svg-icon>
|
||||||
<span slot="title">教师管理</span>
|
<span slot="title">教师管理</span>
|
||||||
</el-menu-item> -->
|
</el-menu-item>
|
||||||
<!-- <el-menu-item index="/case/manage" v-show="curIdentity == 3">
|
<!-- <el-menu-item index="/case/manage" v-show="curIdentity == 3">
|
||||||
<svg-icon icon-class="case"></svg-icon>
|
<svg-icon icon-class="case"></svg-icon>
|
||||||
<span slot="title">案例管理</span>
|
<span slot="title">案例管理</span>
|
||||||
|
|||||||
@@ -368,11 +368,12 @@ export default {
|
|||||||
device:1,
|
device:1,
|
||||||
orderField: orderType == 1 ? '' : 'studys',
|
orderField: orderType == 1 ? '' : 'studys',
|
||||||
orderAsc: false,
|
orderAsc: false,
|
||||||
topOrder:true,
|
// topOrder:true,
|
||||||
pageIndex: pageIndex
|
pageIndex: pageIndex
|
||||||
};
|
};
|
||||||
let isTopList = [];
|
let isTopList = [];
|
||||||
let data = [];
|
let data = [];
|
||||||
|
this.courseList.list = [];
|
||||||
apiCoursePortal.pageList(course).then(res => {
|
apiCoursePortal.pageList(course).then(res => {
|
||||||
|
|
||||||
if (res.status == 200 && res.result.list.length > 0) {
|
if (res.status == 200 && res.result.list.length > 0) {
|
||||||
|
|||||||
@@ -137,9 +137,13 @@
|
|||||||
this.loading = false;
|
this.loading = false;
|
||||||
if(res.result.count > 0) {
|
if(res.result.count > 0) {
|
||||||
this.$router.push('/uc/study/task')
|
this.$router.push('/uc/study/task')
|
||||||
|
} else {
|
||||||
|
if(this.$route.query.study == '1') {
|
||||||
|
this.$router.push('/uc/study/task')
|
||||||
} else {
|
} else {
|
||||||
this.$router.push('/uc/study/courses')
|
this.$router.push('/uc/study/courses')
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}else{
|
}else{
|
||||||
this.$router.push('/uc/study/courses')
|
this.$router.push('/uc/study/courses')
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div style="padding: 0px 5px">
|
<div style="padding: 0px 5px">
|
||||||
<el-button
|
<el-button
|
||||||
@click="getArticleList"
|
@click="getsearch"
|
||||||
icon="el-icon-search"
|
icon="el-icon-search"
|
||||||
type="primary"
|
type="primary"
|
||||||
>搜索</el-button
|
>搜索</el-button
|
||||||
@@ -167,9 +167,15 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getsearch(){
|
||||||
|
this.pageData.pageIndex = 1;
|
||||||
|
this.getArticleList()
|
||||||
|
|
||||||
|
},
|
||||||
reset() {
|
reset() {
|
||||||
this.pageData.status = ''
|
this.pageData.status = ''
|
||||||
this.pageData.keyword = ''
|
this.pageData.keyword = ''
|
||||||
|
this.pageData.pageIndex = 1;
|
||||||
this.getArticleList()
|
this.getArticleList()
|
||||||
},
|
},
|
||||||
//获取文章列表数据
|
//获取文章列表数据
|
||||||
|
|||||||
@@ -91,6 +91,7 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
search(){
|
search(){
|
||||||
this.isSearh = true;
|
this.isSearh = true;
|
||||||
|
this.pageData.pageIndex = 1;
|
||||||
this.getArticleList()
|
this.getArticleList()
|
||||||
},
|
},
|
||||||
saveSuccess(data){
|
saveSuccess(data){
|
||||||
@@ -127,7 +128,7 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
reset(){
|
reset(){
|
||||||
|
this.pageData.pageIndex = 1;
|
||||||
this.pageData.keyword = '',
|
this.pageData.keyword = '',
|
||||||
this.pageData.status = ''
|
this.pageData.status = ''
|
||||||
this.getArticleList();
|
this.getArticleList();
|
||||||
|
|||||||
@@ -141,6 +141,7 @@ export default {
|
|||||||
components: {},
|
components: {},
|
||||||
methods: {
|
methods: {
|
||||||
getList() {
|
getList() {
|
||||||
|
this.dataList.pageIndex = 1;
|
||||||
this.isSearh = true;
|
this.isSearh = true;
|
||||||
this.getData();
|
this.getData();
|
||||||
},
|
},
|
||||||
@@ -187,6 +188,7 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
reset(){
|
reset(){
|
||||||
|
this.dataList.pageIndex = 1;
|
||||||
this.dataList.send = '',
|
this.dataList.send = '',
|
||||||
this.type = 0;
|
this.type = 0;
|
||||||
this.getData();
|
this.getData();
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8" >
|
<el-col :span="8" >
|
||||||
<div class="grid-content bg-purple" >
|
<div class="grid-content bg-purple" >
|
||||||
<el-button type="primary" style="margin-left: 0px" @click="getSearch()" icon="el-icon-search">搜索</el-button>
|
<el-button type="primary" style="margin-left: 0px" @click="search()" icon="el-icon-search">搜索</el-button>
|
||||||
<el-button @click="reset()" style="margin-left: 20pxpx" type="primary" icon="el-icon-refresh-right">重置</el-button>
|
<el-button @click="reset()" style="margin-left: 20pxpx" type="primary" icon="el-icon-refresh-right">重置</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -356,6 +356,11 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
search(){
|
||||||
|
this.params.pageIndex = 1;
|
||||||
|
this.getSearch();
|
||||||
|
|
||||||
|
},
|
||||||
reset() {
|
reset() {
|
||||||
this.params.self = null;
|
this.params.self = null;
|
||||||
this.params.name = '';
|
this.params.name = '';
|
||||||
@@ -365,6 +370,7 @@ export default {
|
|||||||
this.params.resOwner1 = '';
|
this.params.resOwner1 = '';
|
||||||
this.params.resOwner2 = '';
|
this.params.resOwner2 = '';
|
||||||
this.params.resOwner3 = '';
|
this.params.resOwner3 = '';
|
||||||
|
this.params.pageIndex = 1;
|
||||||
this.getSearch();
|
this.getSearch();
|
||||||
},
|
},
|
||||||
...mapActions({
|
...mapActions({
|
||||||
|
|||||||
@@ -69,7 +69,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
<div style="width:390px">
|
<div style="width:390px">
|
||||||
<el-button type="primary" @click="searchData()" icon="el-icon-search" >搜索</el-button>
|
<el-button type="primary" @click="searchData(true)" icon="el-icon-search" >搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh-right" type="primary" style="margin-left:5px" @click="reset">重置</el-button>
|
<el-button icon="el-icon-refresh-right" type="primary" style="margin-left:5px" @click="reset">重置</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -519,7 +519,8 @@ export default {
|
|||||||
this.params.sysType1 = '';
|
this.params.sysType1 = '';
|
||||||
this.params.sysType2 = '';
|
this.params.sysType2 = '';
|
||||||
this.params.sysType3 = '';
|
this.params.sysType3 = '';
|
||||||
this.searchData();
|
|
||||||
|
this.searchData(true);
|
||||||
},
|
},
|
||||||
...mapActions({
|
...mapActions({
|
||||||
getResOwnerTree:'resOwner/getResOwnerTree',
|
getResOwnerTree:'resOwner/getResOwnerTree',
|
||||||
@@ -590,7 +591,10 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
// 课程查询
|
// 课程查询
|
||||||
async searchData() {
|
async searchData(pageReset) {
|
||||||
|
if(pageReset){
|
||||||
|
this.page.pageIndex=1;
|
||||||
|
}
|
||||||
this.params.resOwner1 = this.resOwner[0];
|
this.params.resOwner1 = this.resOwner[0];
|
||||||
this.params.resOwner2 = this.resOwner[1];
|
this.params.resOwner2 = this.resOwner[1];
|
||||||
this.params.resOwner3 = this.resOwner[2];
|
this.params.resOwner3 = this.resOwner[2];
|
||||||
|
|||||||
@@ -178,6 +178,7 @@ export default {
|
|||||||
this.params.keyword = '';
|
this.params.keyword = '';
|
||||||
this.params.status = '';
|
this.params.status = '';
|
||||||
this.params.type = '';
|
this.params.type = '';
|
||||||
|
this.params.pageIndex = 1;
|
||||||
this.getList();
|
this.getList();
|
||||||
this.isSearh = false;
|
this.isSearh = false;
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-button type="primary" @click="searchData()" icon="el-icon-search">搜索</el-button>
|
<el-button type="primary" @click="getseatch();" icon="el-icon-search">搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh-right" type="primary" @click="reset">重置</el-button>
|
<el-button icon="el-icon-refresh-right" type="primary" @click="reset">重置</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -289,6 +289,10 @@ export default {
|
|||||||
this.loadSysTypes();
|
this.loadSysTypes();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getseatch(){
|
||||||
|
this.params.pageIndex= 1;
|
||||||
|
this.searchData();
|
||||||
|
},
|
||||||
reset(){
|
reset(){
|
||||||
this.resOwner = ''
|
this.resOwner = ''
|
||||||
this.params.sysType = ''
|
this.params.sysType = ''
|
||||||
@@ -300,6 +304,7 @@ export default {
|
|||||||
this.params.sysType1 = '';
|
this.params.sysType1 = '';
|
||||||
this.params.sysType2 = '';
|
this.params.sysType2 = '';
|
||||||
this.params.sysType3 = '';
|
this.params.sysType3 = '';
|
||||||
|
this.params.pageIndex= 1;
|
||||||
this.searchData();
|
this.searchData();
|
||||||
},
|
},
|
||||||
...mapActions({
|
...mapActions({
|
||||||
|
|||||||
@@ -181,6 +181,10 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getseatch(){
|
||||||
|
this.params.pageIndex= 1;
|
||||||
|
this.searchData();
|
||||||
|
},
|
||||||
reset(){
|
reset(){
|
||||||
this.resOwner = ''
|
this.resOwner = ''
|
||||||
this.params.sysType = ''
|
this.params.sysType = ''
|
||||||
@@ -192,6 +196,7 @@ export default {
|
|||||||
this.params.sysType1 = '';
|
this.params.sysType1 = '';
|
||||||
this.params.sysType2 = '';
|
this.params.sysType2 = '';
|
||||||
this.params.sysType3 = '';
|
this.params.sysType3 = '';
|
||||||
|
this.params.pageIndex= 1;
|
||||||
this.searchData();
|
this.searchData();
|
||||||
},
|
},
|
||||||
...mapActions({
|
...mapActions({
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
<el-input placeholder="关键词" v-model="params.keyWord" clearable></el-input>
|
<el-input placeholder="关键词" v-model="params.keyWord" clearable></el-input>
|
||||||
</div>
|
</div>
|
||||||
<div style="padding: 0px 5px">
|
<div style="padding: 0px 5px">
|
||||||
<el-button @click="loadData()" icon="el-icon-search" type="primary" >搜索</el-button>
|
<el-button @click="search()" icon="el-icon-search" type="primary" >搜索</el-button>
|
||||||
</div>
|
</div>
|
||||||
<div style="padding: 0px 5px;"><el-button icon="el-icon-refresh-right" type="primary" @click="reset">重置</el-button></div>
|
<div style="padding: 0px 5px;"><el-button icon="el-icon-refresh-right" type="primary" @click="reset">重置</el-button></div>
|
||||||
<div style="margin-left:5px">
|
<div style="margin-left:5px">
|
||||||
@@ -836,10 +836,16 @@ export default {
|
|||||||
ele.select();
|
ele.select();
|
||||||
document.execCommand("Copy");
|
document.execCommand("Copy");
|
||||||
},
|
},
|
||||||
|
search(){
|
||||||
|
this.params.pageIndex = 1;
|
||||||
|
this.loadData();
|
||||||
|
|
||||||
|
},
|
||||||
reset(){
|
reset(){
|
||||||
this.params.keyWord = ''
|
this.params.keyWord = ''
|
||||||
this.params.published = ''
|
this.params.published = ''
|
||||||
this.ownership = ''
|
this.ownership = ''
|
||||||
|
this.params.pageIndex = 1;
|
||||||
this.loadData();
|
this.loadData();
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -113,11 +113,13 @@
|
|||||||
},
|
},
|
||||||
search(){
|
search(){
|
||||||
this.isSearh = true;
|
this.isSearh = true;
|
||||||
|
this.pageIndex =1;
|
||||||
this.query()
|
this.query()
|
||||||
},
|
},
|
||||||
reset() {
|
reset() {
|
||||||
this.testName = '';
|
this.testName = '';
|
||||||
this.status='';
|
this.status='';
|
||||||
|
this.pageIndex =1;
|
||||||
this.query();
|
this.query();
|
||||||
this.isSearh = false;
|
this.isSearh = false;
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
clearable></el-input>
|
clearable></el-input>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="14">
|
<el-col :span="14">
|
||||||
<el-button type="primary" @click="loadData(1)" style="margin-left: 20px" icon="el-icon-search" >搜索</el-button>
|
<el-button type="primary" @click="getsearch(1)" style="margin-left: 20px" icon="el-icon-search" >搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh-right" type="primary" @click="reset"> 重置 </el-button>
|
<el-button icon="el-icon-refresh-right" type="primary" @click="reset"> 重置 </el-button>
|
||||||
<el-button type="primary" @click="addQuestion(1)" style="margin-left: 10px" icon="el-icon-plus"> 添加 </el-button>
|
<el-button type="primary" @click="addQuestion(1)" style="margin-left: 10px" icon="el-icon-plus"> 添加 </el-button>
|
||||||
<div style="display: inline-block;margin-left: 10px;">
|
<div style="display: inline-block;margin-left: 10px;">
|
||||||
@@ -395,10 +395,16 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
getsearch(){
|
||||||
|
this.params.pageIndex = 1;
|
||||||
|
this.loadData(1)
|
||||||
|
|
||||||
|
},
|
||||||
reset(){
|
reset(){
|
||||||
this.params.ownership = []
|
this.params.ownership = [];
|
||||||
this.params.type = ''
|
this.params.type = '';
|
||||||
this.params.title = ''
|
this.params.title = '';
|
||||||
|
this.params.pageIndex = 1;
|
||||||
this.loadData(1)
|
this.loadData(1)
|
||||||
},
|
},
|
||||||
...mapActions({
|
...mapActions({
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
<div style="padding: 0px 5px;"><el-input placeholder="关键词" v-model="params.keyWord" clearable></el-input></div>
|
<div style="padding: 0px 5px;"><el-input placeholder="关键词" v-model="params.keyWord" clearable></el-input></div>
|
||||||
<div style="padding: 0px 5px;"><el-button icon="el-icon-search" @click="searchData" type="primary" >搜索</el-button></div>
|
<div style="padding: 0px 5px;"><el-button icon="el-icon-search" @click="getsearch" type="primary" >搜索</el-button></div>
|
||||||
<div style="padding: 0px 5px;"><el-button icon="el-icon-refresh-right" type="primary" @click="reset">重置</el-button></div>
|
<div style="padding: 0px 5px;"><el-button icon="el-icon-refresh-right" type="primary" @click="reset">重置</el-button></div>
|
||||||
<div style="padding-left:5px;"><el-button icon="el-icon-plus" type="primary" @click="addPaper()" >新建试卷</el-button></div>
|
<div style="padding-left:5px;"><el-button icon="el-icon-plus" type="primary" @click="addPaper()" >新建试卷</el-button></div>
|
||||||
</div>
|
</div>
|
||||||
@@ -155,7 +155,7 @@
|
|||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="selectQuery()">搜索</el-button>
|
<el-button type="primary" @click="selectQuery()">搜索</el-button>
|
||||||
<!-- <el-button type="primary" size="mini" @click="randomTest.showRandom = true">批量导入</el-button> -->
|
<!-- <el-button type="primary" size="mini" @click="randomTest.showRandom = true">批量导入</el-button> -->
|
||||||
<el-button @click="addPageBreak" type="primary" size="mini">分页符</el-button>
|
<!-- <el-button @click="addPageBreak" type="primary" size="mini">分页符</el-button> -->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item><el-checkbox v-model="qpaper.optShow">选项</el-checkbox></el-form-item>
|
<el-form-item><el-checkbox v-model="qpaper.optShow">选项</el-checkbox></el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
@@ -427,10 +427,15 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
getsearch(){
|
||||||
|
this.params.pageIndex = 1;
|
||||||
|
this.searchData();
|
||||||
|
},
|
||||||
reset(){
|
reset(){
|
||||||
this.ownership = []
|
this.ownership = []
|
||||||
this.params.paperType = ''
|
this.params.paperType = ''
|
||||||
this.params.keyWord = ''
|
this.params.keyWord = ''
|
||||||
|
this.params.pageIndex = 1;
|
||||||
this.searchData();
|
this.searchData();
|
||||||
},
|
},
|
||||||
...mapActions({
|
...mapActions({
|
||||||
@@ -451,7 +456,10 @@ export default {
|
|||||||
this.resOwner = [];
|
this.resOwner = [];
|
||||||
this.formTab = 'info';
|
this.formTab = 'info';
|
||||||
this.totalScore=0;
|
this.totalScore=0;
|
||||||
|
this.qlib.type= '';
|
||||||
|
this.qlib.title= '';
|
||||||
this.paperLength=0;
|
this.paperLength=0;
|
||||||
|
this.question.all =
|
||||||
this.question.list =[];
|
this.question.list =[];
|
||||||
this.question.checkQuest = [];
|
this.question.checkQuest = [];
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-button type="primary" @click="searchData()" icon="el-icon-search">搜索</el-button>
|
<el-button type="primary" @click="getsearch()" icon="el-icon-search">搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh-right" type="primary" @click="reset">重置</el-button>
|
<el-button icon="el-icon-refresh-right" type="primary" @click="reset">重置</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -289,6 +289,10 @@ export default {
|
|||||||
this.loadSysTypes();
|
this.loadSysTypes();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getsearch(){
|
||||||
|
this.params.pageIndex= 1;
|
||||||
|
this.searchData();
|
||||||
|
},
|
||||||
reset(){
|
reset(){
|
||||||
this.resOwner = ''
|
this.resOwner = ''
|
||||||
this.params.sysType = ''
|
this.params.sysType = ''
|
||||||
@@ -300,6 +304,7 @@ export default {
|
|||||||
this.params.sysType1 = '';
|
this.params.sysType1 = '';
|
||||||
this.params.sysType2 = '';
|
this.params.sysType2 = '';
|
||||||
this.params.sysType3 = '';
|
this.params.sysType3 = '';
|
||||||
|
this.params.pageIndex= 1;
|
||||||
this.searchData();
|
this.searchData();
|
||||||
},
|
},
|
||||||
...mapActions({
|
...mapActions({
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-button type="primary" @click="searchData()" icon="el-icon-search">搜索</el-button>
|
<el-button type="primary" @click="getsearch()" icon="el-icon-search">搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh-right" type="primary" @click="reset">重置</el-button>
|
<el-button icon="el-icon-refresh-right" type="primary" @click="reset">重置</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -235,6 +235,10 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getsearch(){
|
||||||
|
this.params.pageIndex = 1;
|
||||||
|
this.searchData();
|
||||||
|
},
|
||||||
reset(){
|
reset(){
|
||||||
this.resOwner = ''
|
this.resOwner = ''
|
||||||
this.params.sysType = ''
|
this.params.sysType = ''
|
||||||
@@ -246,6 +250,7 @@ export default {
|
|||||||
this.params.sysType1 = '';
|
this.params.sysType1 = '';
|
||||||
this.params.sysType2 = '';
|
this.params.sysType2 = '';
|
||||||
this.params.sysType3 = '';
|
this.params.sysType3 = '';
|
||||||
|
this.params.pageIndex = 1;
|
||||||
this.searchData();
|
this.searchData();
|
||||||
},
|
},
|
||||||
...mapActions({
|
...mapActions({
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="margin-top:10px;padding: 0px 5px;">
|
<div style="margin-top:10px;padding: 0px 5px;">
|
||||||
<el-button icon="el-icon-search" type="primary" @click="loadData(1)">搜索</el-button>
|
<el-button icon="el-icon-search" type="primary" @click="getsearch()">搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh-right" type="primary" @click="reset">重置</el-button>
|
<el-button icon="el-icon-refresh-right" type="primary" @click="reset">重置</el-button>
|
||||||
<el-button icon="el-icon-circle-plus-outline" type="primary" @click="openDialog">新建教师</el-button>
|
<el-button icon="el-icon-circle-plus-outline" type="primary" @click="openDialog">新建教师</el-button>
|
||||||
<el-button icon="el-icon-folder-opened" type="primary" @click="exportsExcel">导出</el-button>
|
<el-button icon="el-icon-folder-opened" type="primary" @click="exportsExcel">导出</el-button>
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
<el-table-column type="selection"></el-table-column>
|
<el-table-column type="selection"></el-table-column>
|
||||||
<el-table-column label="姓名" prop="name" fixed>
|
<el-table-column label="姓名" prop="name" fixed>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span @click="handleName(scope.row)">{{scope.row.name}}</span>
|
<span class="previewStyle" @click="handleName(scope.row)">{{scope.row.name}}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
@@ -159,9 +159,9 @@
|
|||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
:visible.sync="showTeacherDetails"
|
:visible.sync="showTeacherDetails"
|
||||||
width="800px">
|
width="800px">
|
||||||
<teacher-details v-if="teacherDetailsId != ''" :id="teacherDetailsId"></teacher-details>
|
<teacher-details v-if="teacherDetailsId != ''" :id="teacherDetailsId" :newId="teacherDetailId"></teacher-details>
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button @click="handleClose">取 消</el-button>
|
<el-button @click="handleCloseOne()">取 消</el-button>
|
||||||
<!-- <el-button type="primary" @click="showTeacherDetails = false">确 定</el-button> -->
|
<!-- <el-button type="primary" @click="showTeacherDetails = false">确 定</el-button> -->
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
@@ -180,7 +180,8 @@
|
|||||||
components:{imageUpload,teacherDetails},
|
components:{imageUpload,teacherDetails},
|
||||||
data(){
|
data(){
|
||||||
return {
|
return {
|
||||||
teacherDetailsId: '',
|
teacherDetailId:'',//新数据id
|
||||||
|
teacherDetailsId: '',// sid
|
||||||
showTeacherDetails:false,
|
showTeacherDetails:false,
|
||||||
tSystemData:{},
|
tSystemData:{},
|
||||||
tLevelData:{},
|
tLevelData:{},
|
||||||
@@ -255,14 +256,15 @@
|
|||||||
...mapGetters(['userInfo'])
|
...mapGetters(['userInfo'])
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
handleClose() {
|
handleCloseOne() {
|
||||||
console.log("1111");
|
|
||||||
// this.teacherDetailsId = '';
|
// this.teacherDetailsId = '';
|
||||||
this.showTeacherDetails = false;
|
this.showTeacherDetails = false;
|
||||||
},
|
},
|
||||||
handleName(row) {
|
handleName(row) {
|
||||||
this.showTeacherDetails = true;
|
this.showTeacherDetails = true;
|
||||||
this.teacherDetailsId = row.id;
|
this.teacherDetailsId = row.sysId;
|
||||||
|
this.teacherDetailId = row.id;
|
||||||
|
// this.teacherDetailsId = '13BEBDBD-3D28-244D-648D-0CBD6796717C'
|
||||||
},
|
},
|
||||||
getTeachersystem() {
|
getTeachersystem() {
|
||||||
teacherBoeApi.teacherSystem(this.userInfo.sysId).then(res=>{
|
teacherBoeApi.teacherSystem(this.userInfo.sysId).then(res=>{
|
||||||
@@ -295,9 +297,14 @@
|
|||||||
});
|
});
|
||||||
this.levelData=array;
|
this.levelData=array;
|
||||||
},
|
},
|
||||||
|
getsearch(){
|
||||||
|
this.pageIndex = 1;
|
||||||
|
this.loadData(1);
|
||||||
|
},
|
||||||
reset (){
|
reset (){
|
||||||
this.queryName = '';
|
this.queryName = '';
|
||||||
this.$refs.teacherTable.clearFilter();
|
this.$refs.teacherTable.clearFilter();
|
||||||
|
this.pageIndex = 1;
|
||||||
this.loadData(1);
|
this.loadData(1);
|
||||||
},
|
},
|
||||||
openDialog(){
|
openDialog(){
|
||||||
@@ -600,7 +607,7 @@
|
|||||||
eleLink.download = '教师授课信息';
|
eleLink.download = '教师授课信息';
|
||||||
eleLink.style.display = 'none';
|
eleLink.style.display = 'none';
|
||||||
eleLink.setAttribute('target', '_blank');
|
eleLink.setAttribute('target', '_blank');
|
||||||
eleLink.href = `${process.env.VUE_APP_BASE_API}/xboe/m/course/manage/export-teacher-course?teacherId=${row.id}`;
|
eleLink.href = `${process.env.VUE_APP_BASE_API}/xboe/teacher/compose/export/courses?tid=${row.id}&sysId=${row.sysId}&courseType=0,1,2`;
|
||||||
document.body.appendChild(eleLink);
|
document.body.appendChild(eleLink);
|
||||||
eleLink.click();
|
eleLink.click();
|
||||||
document.body.removeChild(eleLink);
|
document.body.removeChild(eleLink);
|
||||||
|
|||||||
@@ -128,8 +128,10 @@
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
reset(){
|
reset(){
|
||||||
|
this.page.pageIndex = 1;
|
||||||
this.query.name = ''
|
this.query.name = ''
|
||||||
this.query.status = ''
|
this.query.status = ''
|
||||||
|
|
||||||
this.loadData(this.page,this.query);
|
this.loadData(this.page,this.query);
|
||||||
},
|
},
|
||||||
handleSizePushChange(val){
|
handleSizePushChange(val){
|
||||||
|
|||||||
@@ -7,60 +7,62 @@
|
|||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form label-width="120px" size="mini">
|
<el-form label-width="120px" size="mini">
|
||||||
<el-form-item label="头像:">
|
<el-form-item label="头像:">
|
||||||
<div style="width: 90px;height: 90px" v-if="form.account.avatar == ''">
|
<div style="width: 90px;height: 90px" v-if="newForm && newForm.account && newForm.account.avatar == ''">
|
||||||
<img style="width:100%;height:100%" v-if="form.gender == 1" :src="webBaseUrl + '/images/Avatarman.png'" alt="" srcset="">
|
<img style="width:100%;height:100%" v-if="newForm.gender == 1" :src="webBaseUrl + '/images/Avatarman.png'" alt="" srcset="">
|
||||||
<img style="width:100%;height:100%" v-else :src="webBaseUrl + '/images/Avatarwoman.png'" alt="" srcset="">
|
<img style="width:100%;height:100%" v-else :src="webBaseUrl + '/images/Avatarwoman.png'" alt="" srcset="">
|
||||||
</div>
|
</div>
|
||||||
<div style="width: 90px;height: 90px" v-else>
|
<div style="width: 90px;height: 90px" v-else>
|
||||||
<img style="width:100%;height:100%" :src="form.account.avatar" alt="" srcset="">
|
<img style="width:100%;height:100%" :src="newForm && newForm.account && newForm.account.avatar" alt="" srcset="">
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="讲师账号:">
|
<el-form-item label="讲师账号:">
|
||||||
<el-col :span="12">{{form.user.userNo}}</el-col>
|
<el-col :span="12">{{newForm.user.userNo}}</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="讲师姓名:">{{form.user.name}}</el-form-item>
|
<el-form-item label="讲师姓名:">{{newForm.user.name}}</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="讲师组织:" >
|
<el-form-item label="讲师组织:" >
|
||||||
<el-col :span="12">--</el-col>
|
<el-col :span="12">{{form.company_name}}</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="初始授课时长:">12分账</el-form-item></el-col>
|
<el-form-item label="初始授课时长:">{{formatSeconds(form.default_teaching_time)}}</el-form-item></el-col>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="讲师体系:">
|
<el-form-item label="讲师体系:">
|
||||||
<el-col :span="12">波ue</el-col>
|
<el-col :span="12">{{form.system_name}}</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="讲师级别:">
|
<el-form-item label="讲师级别:">
|
||||||
2级
|
{{form.level_name}}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="总计授课时长:">
|
<el-form-item label="总计授课时长:">
|
||||||
<el-col :span="12">12分账</el-col>
|
<el-col :span="12">{{formatSeconds(form.teaching_time)}}</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="认证状态:">
|
<el-form-item label="认证状态:">
|
||||||
未认证
|
{{form.is_certify == 1? '已认证':'未认证'}}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="认证时间:">
|
<el-form-item label="认证时间:">
|
||||||
<el-col :span="12">--</el-col>
|
<el-col :span="12">{{formatsec(form.certify_at *1000)}}</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="认证资料:"> --</el-form-item>
|
<el-form-item label="认证资料:">
|
||||||
|
<!-- <a href="http://" target="_blank" rel="noopener noreferrer"></a> -->
|
||||||
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
|
||||||
<el-form-item label="认证人:">
|
<!-- <el-form-item label="认证人:"> -->
|
||||||
<el-col :span="12">认证人</el-col>
|
<!-- <el-col :span="12">--</el-col> -->
|
||||||
<el-col :span="12">
|
<!-- <el-col :span="12"> -->
|
||||||
<el-form-item label="讲师介绍:">
|
<el-form-item label="讲师介绍:">
|
||||||
讲师介绍
|
<div v-html="form.description"></div>
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<!-- </el-col>
|
||||||
|
</el-form-item> -->
|
||||||
<el-form-item label="讲师备注:">
|
<el-form-item label="讲师备注:">
|
||||||
--
|
{{form.remark}}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-col>
|
</el-col>
|
||||||
@@ -69,8 +71,8 @@
|
|||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="授课记录" name="second">
|
<el-tab-pane label="授课记录" name="second">
|
||||||
<div style="display:flex">
|
<div style="display:flex">
|
||||||
<div><el-button type="primary">导出授课记录</el-button></div>
|
<!-- <div><el-button type="primary" @click="exportCourse()">导出授课记录</el-button></div> -->
|
||||||
<div style="margin: 0 5px"><el-select v-model="value" placeholder="请选择" clearable >
|
<div style="margin: 0 5px"><el-select v-model="records.courseType" placeholder="请选择" clearable @change="getCourseScore()">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in options"
|
v-for="item in options"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
@@ -79,143 +81,167 @@
|
|||||||
</el-option>
|
</el-option>
|
||||||
</el-select></div>
|
</el-select></div>
|
||||||
</div>
|
</div>
|
||||||
<el-table
|
<el-table height="430"
|
||||||
:data="tableData"
|
:data="records.list"
|
||||||
style="width: 100%;margin-top:10px">
|
style="width: 100%;margin-top:10px">
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="date"
|
prop="courseCode" width="120"
|
||||||
label="班级编号"
|
label="班级编号">
|
||||||
width="180">
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="name"
|
prop="courseType"
|
||||||
label="类型"
|
label="类型">
|
||||||
width="180">
|
<template slot-scope="scope">
|
||||||
|
<span v-if="scope.row.courseType == '1'">面授班</span>
|
||||||
|
<span v-if="scope.row.courseType == '2'">训练班</span>
|
||||||
|
<span v-if="scope.row.courseType == '0'">在线班</span>
|
||||||
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="address"
|
prop="courseName" show-overflow-tooltip
|
||||||
label="班级名称">
|
label="班级名称" width="180">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="date"
|
prop="modName" show-overflow-tooltip
|
||||||
label="模块名称"
|
label="模块名称"
|
||||||
width="180">
|
width="100">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="name"
|
prop="teachingTime"
|
||||||
label="授课时长(min)"
|
label="授课时长(min)" width="120">
|
||||||
width="180">
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="address"
|
prop="openStartTime"
|
||||||
label="开班时间">
|
label="开班时间" width="140">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="name"
|
prop="courseStatus"
|
||||||
label="班级状态"
|
label="班级状态"
|
||||||
width="180">
|
width="100">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="address"
|
prop="teacherScore"
|
||||||
label="评分">
|
label="评分">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="操作"
|
label="操作"
|
||||||
width="180">
|
width="120">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button type="text" @click="update()">修改</el-button>
|
<el-button type="text" @click="recordsUpdate(scope.row)">修改</el-button>
|
||||||
<el-button type="text">删除</el-button>
|
<el-button type="text" @click="recordsDel(scope.row)">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
<!-- <div style="text-align:center;margin-top:20px">
|
||||||
|
<el-pagination
|
||||||
|
background
|
||||||
|
@size-change="handleSizeChange"
|
||||||
|
@current-change="handleCurrentChange"
|
||||||
|
:current-page="records.page"
|
||||||
|
:page-sizes="[10, 20, 30, 40]"
|
||||||
|
:page-size="records.pageSize"
|
||||||
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
|
:total="records.count">
|
||||||
|
</el-pagination>
|
||||||
|
</div> -->
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="授课资格" name="third">
|
<el-tab-pane label="授课资格" name="third">
|
||||||
<el-table
|
<el-table height="430"
|
||||||
:data="tableData"
|
:data="qualify.list"
|
||||||
style="width: 100%">
|
style="width: 100%">
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="date"
|
prop="courseCode"
|
||||||
label="课程编号"
|
label="课程编号"
|
||||||
width="180">
|
width="180">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="name"
|
prop="courseName" show-overflow-tooltip
|
||||||
label="课程名称"
|
label="课程名称"
|
||||||
width="180">
|
width="250">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="address"
|
prop="dictionaryName"
|
||||||
label="班级名称">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="date"
|
|
||||||
label="课程分类"
|
label="课程分类"
|
||||||
width="180">
|
width="180">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="name"
|
prop="courseType"
|
||||||
label="课程类型"
|
label="课程类型"
|
||||||
width="180">
|
width="100">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span v-if="scope.row.courseType == '0'">在线班</span>
|
||||||
|
<span v-if="scope.row.courseType == '1'">面授</span>
|
||||||
|
<span v-if="scope.row.courseType == '2'">线下课</span>
|
||||||
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
<!-- <div style="text-align:center;margin-top:20px">
|
||||||
|
<el-pagination
|
||||||
|
background
|
||||||
|
@size-change="qualifySizeChange"
|
||||||
|
@current-change="qualifyCurrentChange"
|
||||||
|
:current-page="records.page"
|
||||||
|
:page-sizes="[10, 20, 30, 40]"
|
||||||
|
:page-size="records.pageSize"
|
||||||
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
|
:total="records.count">
|
||||||
|
</el-pagination>
|
||||||
|
</div> -->
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="未开班资源" name="fourth">
|
<el-tab-pane label="未开班资源" name="fourth">
|
||||||
<el-table
|
<el-table height="430"
|
||||||
:data="tableData"
|
:data="courseInfoList"
|
||||||
style="width: 100%">
|
style="width: 100%">
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="date"
|
prop="courseCode"
|
||||||
label="班级编号"
|
label="班级编号"
|
||||||
width="180">
|
width="120">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="name"
|
prop="courseName" show-overflow-tooltip
|
||||||
label="班级名称"
|
label="班级名称"
|
||||||
width="180">
|
width="200">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="address"
|
prop="modName" width="150" show-overflow-tooltip
|
||||||
label="模块名称">
|
label="模块名称">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="date"
|
prop="teachingTime"
|
||||||
label="授课时长"
|
label="授课时长"
|
||||||
width="180">
|
width="100">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="name"
|
prop="openStartTime"
|
||||||
label="开班时间"
|
label="开班时间"
|
||||||
width="180">
|
width="180">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="晋级过程" name="five">
|
<el-tab-pane label="晋级过程" name="five">
|
||||||
<el-table
|
<el-table height="370"
|
||||||
:data="tableData"
|
:data="precessList"
|
||||||
style="width: 100%">
|
style="width: 100%">
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="date"
|
prop="operatorTime"
|
||||||
label="变更时间"
|
label="变更时间"
|
||||||
width="180">
|
width="180">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="name"
|
prop="type"
|
||||||
label="变更方式"
|
label="变更方式">
|
||||||
width="180">
|
<template slot-scope="scope">
|
||||||
|
<span v-if="scope.row.type == '0'">手动</span>
|
||||||
|
<span v-if="scope.row.type == '1'">自动</span>
|
||||||
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="address"
|
prop="afterLevelName"
|
||||||
label="模块名称">
|
label="变更结果">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="date"
|
prop="operatorName"
|
||||||
label="变更结果"
|
label="操作人">
|
||||||
width="180">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="name"
|
|
||||||
label="操作人"
|
|
||||||
width="180">
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
@@ -225,22 +251,23 @@
|
|||||||
:visible.sync="dialogVisible"
|
:visible.sync="dialogVisible"
|
||||||
width="300px"
|
width="300px"
|
||||||
top="20%"
|
top="20%"
|
||||||
:modal="false"
|
:modal="false">
|
||||||
:before-close="handleClose">
|
|
||||||
<div>请输入授课时长(分钟)</div>
|
<div>请输入授课时长(分钟)</div>
|
||||||
<div><el-input v-model="input" placeholder="请输入内容"></el-input></div>
|
<div style="margin-top:20px"><el-input v-model="records.row.teachingTime" placeholder="请输入内容"></el-input></div>
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||||
<el-button type="primary" @click="dialogVisible = false">确 定</el-button>
|
<el-button type="primary" @click="editModelTeacher()">确 定</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import qs from 'qs'
|
||||||
import teacherApi from "@/api/modules/teacher";
|
import teacherApi from "@/api/modules/teacher";
|
||||||
import teacherBoeApi from "@/api/boe/teacher";
|
import teacherBoeApi from "@/api/boe/teacher";
|
||||||
import userApi from "@/api/system/user";
|
import userApi from "@/api/system/user";
|
||||||
|
import { formatSeconds,formatsec } from '@/utils/datetime.js'
|
||||||
import imageUpload from "@/components/ImageUpload/index.vue";
|
import imageUpload from "@/components/ImageUpload/index.vue";
|
||||||
import { mapGetters } from "vuex";
|
import { mapGetters } from "vuex";
|
||||||
export default {
|
export default {
|
||||||
@@ -249,14 +276,46 @@ export default {
|
|||||||
props: {
|
props: {
|
||||||
id:{
|
id:{
|
||||||
type: String,
|
type: String,
|
||||||
|
},
|
||||||
|
newId:{
|
||||||
|
type: String,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
formatsec,
|
||||||
|
formatSeconds,
|
||||||
|
baseUrl: process.env.VUE_APP_BASE_API,
|
||||||
|
newForm:{
|
||||||
|
account:{},
|
||||||
|
user:{},
|
||||||
|
},
|
||||||
dialogVisible:false,
|
dialogVisible:false,
|
||||||
activeName: "first",
|
activeName: "first",
|
||||||
value: "",
|
value: "",
|
||||||
options: [],
|
options: [//‘1,2’:面授,训练班;‘0’:在线班
|
||||||
|
{label:'录播',value:'0'},
|
||||||
|
{label:'面授',value:'1'},
|
||||||
|
{label:'线下课',value:'2'},
|
||||||
|
],
|
||||||
|
records:{// 授课记录
|
||||||
|
courseType:'',
|
||||||
|
// pageSize: 1,
|
||||||
|
// page:5,
|
||||||
|
count:0,
|
||||||
|
list:[],
|
||||||
|
row:{
|
||||||
|
teachingTime:'',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
qualify:{//授课资格
|
||||||
|
pageSize: 1,
|
||||||
|
page:5,
|
||||||
|
count:0,
|
||||||
|
list:[]
|
||||||
|
},
|
||||||
|
courseInfoList: [],//未开班资源
|
||||||
|
precessList:[],//晋级过程
|
||||||
tableData: [],
|
tableData: [],
|
||||||
input:'',
|
input:'',
|
||||||
form:{
|
form:{
|
||||||
@@ -266,26 +325,168 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
console.log(this.id,'id');
|
this.getDetail(this.id);
|
||||||
this.getDetail(this.id)
|
this.getAvatar();
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters(["userInfo"])
|
...mapGetters(["userInfo"])
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
update(row) {
|
getAvatar(){
|
||||||
console.log(row,'row');
|
teacherApi.detail(this.newId).then(res => {
|
||||||
|
if (res.status == 200) {
|
||||||
|
// const result = res.result;
|
||||||
|
this.newForm = res.result;
|
||||||
|
if(res.result.account.avatar != '') {
|
||||||
|
this.newForm.account.avatar = this.baseUrl + res.result.account.avatar;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
exportCourse(row){
|
||||||
|
var eleLink = document.createElement('a');
|
||||||
|
eleLink.download = '教师授课信息';
|
||||||
|
eleLink.style.display = 'none';
|
||||||
|
eleLink.setAttribute('target', '_blank');
|
||||||
|
eleLink.href = `${process.env.VUE_APP_BASE_API}/xboe/teacher/compose/export/courses?tid=${row.id}&sysId=${row.sysId}&courseType=0,1,3`;
|
||||||
|
document.body.appendChild(eleLink);
|
||||||
|
eleLink.click();
|
||||||
|
document.body.removeChild(eleLink);
|
||||||
|
},
|
||||||
|
recordsDel(row) {
|
||||||
|
this.$confirm('此操作将永久删除该记录, 是否继续?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
let data = {
|
||||||
|
courseId:row.courseId, // 课程id
|
||||||
|
modId:row.modId, // 模块id
|
||||||
|
teacherId:row.teacherId, // 教师id
|
||||||
|
remark:'', // 备注
|
||||||
|
}
|
||||||
|
teacherBoeApi.deleteModelTeacher(data).then(res=>{
|
||||||
|
if(res.status == '200') {
|
||||||
|
this.getCourseScore();
|
||||||
|
this.$message({
|
||||||
|
type: 'success',
|
||||||
|
message: '删除成功!'
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
}).catch(() => {
|
||||||
|
this.$message({
|
||||||
|
type: 'info',
|
||||||
|
message: '已取消删除'
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
},
|
||||||
|
recordsUpdate(row) {
|
||||||
|
this.records.row = row;
|
||||||
this.dialogVisible = true;
|
this.dialogVisible = true;
|
||||||
},
|
},
|
||||||
handleClick() {},
|
handleClick(tab, event) {
|
||||||
getDetail(id) {
|
if(tab.name == 'second') {// 授课记录
|
||||||
this.saveLoading = false;
|
this.getCourseScore();
|
||||||
this.newOrEdit = "编辑教师";
|
} else if(tab.name == 'third') {// 授课资格
|
||||||
this.allowInput = true;
|
this.getTeachingQualify();
|
||||||
teacherApi.detail(id).then(res => {
|
}else if(tab.name == 'fourth') {// 为开班资源
|
||||||
|
this.getCourseInfo();
|
||||||
|
}if(tab.name == 'five') {// 晋级过程
|
||||||
|
this.teacherUpgradePrecess();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 晋级过程
|
||||||
|
teacherUpgradePrecess() {
|
||||||
|
teacherBoeApi.teacherUpgradePrecess(this.id).then(res=>{
|
||||||
|
if(res.status == '200') {
|
||||||
|
this.precessList = res.result.data;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 未开班资源
|
||||||
|
getCourseInfo() {
|
||||||
|
teacherBoeApi.getCourseInfo(this.id).then(res=>{
|
||||||
|
if(res.status == '200') {
|
||||||
|
this.courseInfoList = res.result.data;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 授课资格
|
||||||
|
getTeachingQualify() {
|
||||||
|
let data = {
|
||||||
|
id:this.id, // 教师id
|
||||||
|
pageSize:this.qualify.pageSize, // 每页数据条数
|
||||||
|
page:this.qualify.page, // 返回第几页数据
|
||||||
|
}
|
||||||
|
teacherBoeApi.getTeachingQualify(data).then(res=>{
|
||||||
|
if(res.status == '200') {
|
||||||
|
this.qualify.list = res.result.data;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
qualifySizeChange(val) {
|
||||||
|
this.qualify.pageSize = val
|
||||||
|
this.qualify.page = 1
|
||||||
|
this.getTeachingQualify()
|
||||||
|
},
|
||||||
|
qualifyCurrentChange(val) {
|
||||||
|
this.qualify.page = val
|
||||||
|
this.getTeachingQualify()
|
||||||
|
},
|
||||||
|
editModelTeacher() {
|
||||||
|
let data = {
|
||||||
|
courseId:this.records.row.courseId, // 课程id
|
||||||
|
modId:this.records.row.modId, // 模块id
|
||||||
|
teacherId:this.records.row.teacherId, // 教师id
|
||||||
|
teachingTime:this.records.row.teachingTime, // 授课时间
|
||||||
|
}
|
||||||
|
teacherBoeApi.editModelTeacher(data).then(res=>{
|
||||||
|
if(res.status == '200') {
|
||||||
|
this.$message.success('修改成功');
|
||||||
|
this.dialogVisible = false;
|
||||||
|
this.getCourseScore();
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 授课记录
|
||||||
|
getCourseScore() {
|
||||||
|
let data = {
|
||||||
|
id:this.id,// 教师id
|
||||||
|
courseType:this.records.courseType || '0,1,2', // 课程类型:‘1,2’:面授,训练班;‘0’:在线班
|
||||||
|
// pageSize:this.records.pageSize, // 每页数据条数
|
||||||
|
// page:this.records.page, // 返回第几页数据
|
||||||
|
isPage:1, // 是否分页:0分页返回,1:不分页直接返回全部
|
||||||
|
}
|
||||||
|
teacherBoeApi.getCourseScore(data).then(res=>{
|
||||||
|
if(res.status === '200') {
|
||||||
|
this.records.list = res.result.data;
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleSizeChange(val) {
|
||||||
|
this.records.pageSize = val
|
||||||
|
this.records.page = 1
|
||||||
|
this.getCourseScore()
|
||||||
|
},
|
||||||
|
handleCurrentChange(val) {
|
||||||
|
this.records.page = val
|
||||||
|
this.getCourseScore()
|
||||||
|
},
|
||||||
|
getDetail() {
|
||||||
|
teacherBoeApi.teacherInfo(this.id).then(res => {
|
||||||
if (res.status == 200) {
|
if (res.status == 200) {
|
||||||
const result = res.result;
|
const result = res.result;
|
||||||
this.form = result;
|
this.form = result;
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -297,6 +498,8 @@ export default {
|
|||||||
.teacher-details {
|
.teacher-details {
|
||||||
height: 500px;
|
height: 500px;
|
||||||
.one{
|
.one{
|
||||||
|
height: 460px;
|
||||||
|
overflow-y: auto;
|
||||||
.el-form-item{
|
.el-form-item{
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<span class="more"></span>
|
<span class="more"></span>
|
||||||
</el-row>
|
</el-row>
|
||||||
<div class="data-content">
|
<div class="data-content" v-if="articleList.list.length > 0">
|
||||||
<div :span="24" v-for="(article, aidx) in articleList.list" :key="aidx" class="article-list">
|
<div :span="24" v-for="(article, aidx) in articleList.list" :key="aidx" class="article-list">
|
||||||
<div class="article-info">
|
<div class="article-info">
|
||||||
<!--title-->
|
<!--title-->
|
||||||
@@ -77,7 +77,11 @@
|
|||||||
<div class="pagination-div">
|
<div class="pagination-div">
|
||||||
<span class="pag-text" @click="loadMore()" v-if="moreState == 1">加载更多</span>
|
<span class="pag-text" @click="loadMore()" v-if="moreState == 1">加载更多</span>
|
||||||
<span class="pag-text-msg" v-else-if="moreState == 2">数据加载中</span>
|
<span class="pag-text-msg" v-else-if="moreState == 2">数据加载中</span>
|
||||||
<span class="pag-text-msg" v-else-if="moreState == 3">没有更多数据了</span>
|
<span class="pag-text-msg" v-else-if="moreState == 3 && !isSeach">没有更多数据了</span>
|
||||||
|
<span class="pag-text-msg" v-else-if="isSeach">没有查询到相关内容</span>
|
||||||
|
</div>
|
||||||
|
<div v-if="isSeach" style="height:382px">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -193,6 +197,7 @@ export default {
|
|||||||
ankingFixed:false,
|
ankingFixed:false,
|
||||||
diagSync:false,//控制弹窗
|
diagSync:false,//控制弹窗
|
||||||
// articleList: []
|
// articleList: []
|
||||||
|
isSeach:false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@@ -200,7 +205,9 @@ export default {
|
|||||||
// this.ankingWidth=el_anking.clientWidth;
|
// this.ankingWidth=el_anking.clientWidth;
|
||||||
//console.log(el_anking.clientWidth,'clientWidth');
|
//console.log(el_anking.clientWidth,'clientWidth');
|
||||||
this.articleList.keyword = this.$route.query.keyword;
|
this.articleList.keyword = this.$route.query.keyword;
|
||||||
|
if(this.articleList.keyword != '') {
|
||||||
|
this.isSeach = true;
|
||||||
|
}
|
||||||
this.getArticleList();
|
this.getArticleList();
|
||||||
this.getAnkingData();
|
this.getAnkingData();
|
||||||
this.searchterm();
|
this.searchterm();
|
||||||
@@ -217,6 +224,7 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
emitInput(val){
|
emitInput(val){
|
||||||
this.articleList.keyword = val;
|
this.articleList.keyword = val;
|
||||||
|
this.isSeach =true;
|
||||||
this.searchData();
|
this.searchData();
|
||||||
},
|
},
|
||||||
saveSuccess(data){
|
saveSuccess(data){
|
||||||
@@ -329,6 +337,7 @@ export default {
|
|||||||
// portalPageList接口换了,这是原来的
|
// portalPageList接口换了,这是原来的
|
||||||
apiArticle.findPortal(query).then(res => {
|
apiArticle.findPortal(query).then(res => {
|
||||||
if (res.status == 200 && res.result.list.length > 0) {
|
if (res.status == 200 && res.result.list.length > 0) {
|
||||||
|
this.isSeach =false;
|
||||||
let ids = [];
|
let ids = [];
|
||||||
res.result.list.forEach(item => {
|
res.result.list.forEach(item => {
|
||||||
item.authorInfo = { name: '', avatar: '', orgInfo: '' ,sex:null};
|
item.authorInfo = { name: '', avatar: '', orgInfo: '' ,sex:null};
|
||||||
|
|||||||
@@ -144,27 +144,92 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
<div style="width: 245px;margin-left: 5px;">
|
<div style="width: 245px;margin-left: 5px;">
|
||||||
|
<div>
|
||||||
<div id="fixd-box">
|
<div id="fixd-box">
|
||||||
<el-card class="ranking-card" >
|
<el-card class="ranking-card" >
|
||||||
<div slot="header">
|
<div slot="header">
|
||||||
<span>排行榜</span>
|
<span style="font-size: 14px;font-weight: 600;color: #333333;">好评榜</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div style="padding-bottom:10px">
|
||||||
<el-row class="ranking-title" v-for="(item,index) in ankingList" :key="index">
|
<el-row class="ranking-title">
|
||||||
<el-col :span="6">
|
<!-- <el-col :span="15" style="color: #333333;font-size: 14px;">名称</el-col> -->
|
||||||
|
<!-- <el-col :offset="4" :span="5" class="center" style="color: #333333;font-size: 14px;">分数</el-col> -->
|
||||||
|
</el-row>
|
||||||
|
<el-row class="ranking-title bacolor" v-for="(item, index) in ankingList" :key="index" >
|
||||||
|
<el-col :span="6" style="height:34px">
|
||||||
<img v-if="index===0" :src="`${webBaseUrl}/images/first.png`"/>
|
<img v-if="index===0" :src="`${webBaseUrl}/images/first.png`"/>
|
||||||
<img v-if="index===1" :src="`${webBaseUrl}/images/second.png`"/>
|
<img v-if="index===1" :src="`${webBaseUrl}/images/second.png`"/>
|
||||||
<img v-if="index===2" :src="`${webBaseUrl}/images/third.png`"/>
|
<img v-if="index===2" :src="`${webBaseUrl}/images/third.png`"/>
|
||||||
|
<span style="margin-left: 10px" v-if="index!=2&&index!=0&&index!=1">{{index+1}}</span>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col class="center" :span="18">{{item.sysCreateUname}}</el-col>
|
<el-tooltip :enterable="false" @click.native="jumpRouter(item)" effect="light" :content="item.sysCreateUname" placement="top-start">
|
||||||
<!-- <el-col class="center" :span="7">{{''}}</el-col>
|
<el-col :span="15" style="cursor: pointer;" class="title-line-ellipsis"> {{ item.sysCreateUname }}</el-col>
|
||||||
<el-col class="center" :span="7">{{item.counts}}</el-col> -->
|
</el-tooltip>
|
||||||
|
<!-- <el-col class="center" style="color: #FF8E00;" :span="5">{{ item.score }}</el-col> -->
|
||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
<div style="height: 10px;"></div>
|
||||||
|
<el-card class="ranking-card" >
|
||||||
|
<div slot="header">
|
||||||
|
<span style="font-size: 14px;font-weight: 600;color: #333333;">人气榜</span>
|
||||||
</div>
|
</div>
|
||||||
|
<div style="padding-bottom:10px">
|
||||||
|
<el-row class="ranking-title">
|
||||||
|
<!-- <el-col :span="15" style="color: #333333;font-size: 14px;">名称</el-col> -->
|
||||||
|
<!-- <el-col :offset="4" :span="5" class="center" style="color: #333333;font-size: 14px;">分数</el-col> -->
|
||||||
|
</el-row>
|
||||||
|
<el-row class="ranking-title bacolor" v-for="(item, index) in Popularity" :key="index" >
|
||||||
|
<el-col :span="6" style="height:34px">
|
||||||
|
<img v-if="index===0" :src="`${webBaseUrl}/images/first.png`"/>
|
||||||
|
<img v-if="index===1" :src="`${webBaseUrl}/images/second.png`"/>
|
||||||
|
<img v-if="index===2" :src="`${webBaseUrl}/images/third.png`"/>
|
||||||
|
<span style="margin-left: 10px" v-if="index!=2&&index!=0&&index!=1">{{index+1}}</span>
|
||||||
|
</el-col>
|
||||||
|
<el-tooltip :enterable="false" @click.native="jumpRouter(item)" effect="light" :content="item.title" placement="top-start">
|
||||||
|
<el-col :span="15" style="cursor: pointer;" class="title-line-ellipsis"> {{ item.title }}</el-col>
|
||||||
|
</el-tooltip>
|
||||||
|
<!-- <el-col class="center" style="color: #FF8E00;" :span="5">{{ item.score }}</el-col> -->
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
<div style="height: 10px;"></div>
|
||||||
|
<el-card class="ranking-card" >
|
||||||
|
<div slot="header">
|
||||||
|
<span style="font-size: 14px;font-weight: 600;color: #333333;">人气榜</span>
|
||||||
|
</div>
|
||||||
|
<div style="padding-bottom:10px">
|
||||||
|
<el-row class="ranking-title">
|
||||||
|
<!-- <el-col :span="15" style="color: #333333;font-size: 14px;">名称</el-col> -->
|
||||||
|
<!-- <el-col :offset="4" :span="5" class="center" style="color: #333333;font-size: 14px;">分数</el-col> -->
|
||||||
|
</el-row>
|
||||||
|
<el-row class="ranking-title bacolor" v-for="(item, index) in Positive" :key="index" >
|
||||||
|
<el-col :span="6" style="height:34px">
|
||||||
|
<img v-if="index===0" :src="`${webBaseUrl}/images/first.png`"/>
|
||||||
|
<img v-if="index===1" :src="`${webBaseUrl}/images/second.png`"/>
|
||||||
|
<img v-if="index===2" :src="`${webBaseUrl}/images/third.png`"/>
|
||||||
|
<span style="margin-left: 10px" v-if="index!=2&&index!=0&&index!=1">{{index+1}}</span>
|
||||||
|
</el-col>
|
||||||
|
<el-tooltip :enterable="false" @click.native="jumpRouter(item)" effect="light" :content="item.title" placement="top-start">
|
||||||
|
<el-col :span="15" style="cursor: pointer;" class="title-line-ellipsis"> {{ item.title }}</el-col>
|
||||||
|
</el-tooltip>
|
||||||
|
<!-- <el-col class="center" style="color: #FF8E00;" :span="5">{{ item.score }}</el-col> -->
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
<el-row :gutter="10">
|
<el-row :gutter="10">
|
||||||
</el-row>
|
</el-row>
|
||||||
<div style="height: 50px;"></div>
|
<div style="height: 50px;"></div>
|
||||||
@@ -198,6 +263,7 @@ import author from '@/components/Portal/authorInfo.vue';
|
|||||||
import apiCase from '@/api/modules/cases.js';
|
import apiCase from '@/api/modules/cases.js';
|
||||||
import apiUser from '@/api/system/user.js';
|
import apiUser from '@/api/system/user.js';
|
||||||
import apiSearchterm from "@/api/modules/searchterm.js";
|
import apiSearchterm from "@/api/modules/searchterm.js";
|
||||||
|
import apiDict from "@/api/modules/dict.js";
|
||||||
export default {
|
export default {
|
||||||
name: 'index',
|
name: 'index',
|
||||||
components: { portalHeader, portalFooter, portalFloatTools, interactBar,timeShow ,author},
|
components: { portalHeader, portalFooter, portalFloatTools, interactBar,timeShow ,author},
|
||||||
@@ -219,6 +285,8 @@ export default {
|
|||||||
list:[]
|
list:[]
|
||||||
},
|
},
|
||||||
ankingList:[],
|
ankingList:[],
|
||||||
|
Popularity:[],
|
||||||
|
Positive:[],
|
||||||
protocolDialogVisible: false,
|
protocolDialogVisible: false,
|
||||||
protocolConfirmButton:true,
|
protocolConfirmButton:true,
|
||||||
queryCondition:{
|
queryCondition:{
|
||||||
@@ -244,7 +312,9 @@ export default {
|
|||||||
}
|
}
|
||||||
this.keyWord = this.$route.query.keyword;
|
this.keyWord = this.$route.query.keyword;
|
||||||
this.getAnkingData()
|
this.getAnkingData()
|
||||||
|
this.getPopularity()
|
||||||
this.searchterm()
|
this.searchterm()
|
||||||
|
this.getPositive()
|
||||||
this.getCaseData();
|
this.getCaseData();
|
||||||
window.addEventListener(
|
window.addEventListener(
|
||||||
"scroll",
|
"scroll",
|
||||||
@@ -377,17 +447,78 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
getAnkingData(){
|
getAnkingData(){
|
||||||
apiCase.usernameList(10).then(res=>{
|
apiCase.usernameList(5).then(res=>{
|
||||||
if(res.status==200){
|
if(res.status==200){
|
||||||
this.ankingList=res.result
|
this.ankingList=res.result
|
||||||
|
// console.log(res)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
getPopularity(){
|
||||||
|
apiCase.queryPraises(5).then(res=>{
|
||||||
|
if(res.status==200){
|
||||||
|
this.Popularity=res.result
|
||||||
|
// console.log(this.Popularity)
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getPositive(){
|
||||||
|
apiCase.queryComments(5).then(res=>{
|
||||||
|
if(res.status==200){
|
||||||
|
this.Positive=res.result
|
||||||
|
console.log(res)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
jumpRouter(item){
|
||||||
|
this.$router.push(`/case/detail?id=${item.id}`);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
.ranking-title {
|
||||||
|
line-height: 34px;
|
||||||
|
font-size: 15px;
|
||||||
|
color: #333333;
|
||||||
|
.center-titlt{
|
||||||
|
font-size: 15px;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
.center{
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
img{
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
::v-deep .title-line-ellipsis{
|
||||||
|
// width: 100%;
|
||||||
|
display: -webkit-box;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow:ellipsis;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
-webkit-line-clamp: 1;
|
||||||
|
box-sizing: border-box;
|
||||||
|
word-break:break-all;
|
||||||
|
}
|
||||||
|
::v-deep .el-card__body{
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
::v-deep .bacolor:nth-child(odd){
|
||||||
|
background-color: #fff;
|
||||||
|
padding: 0 5px;
|
||||||
|
}
|
||||||
|
::v-deep .bacolor:nth-child(even){
|
||||||
|
background-color: #f6f6f6;
|
||||||
|
padding: 0 5px;
|
||||||
|
|
||||||
|
}
|
||||||
::v-deep .el-card{
|
::v-deep .el-card{
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 0px;
|
border-radius: 0px;
|
||||||
@@ -598,8 +729,7 @@ export default {
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.ranking-title {
|
|
||||||
}
|
|
||||||
.aligh-title{
|
.aligh-title{
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
<<<<<<< HEAD
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<portal-header current="course" :goSearch="1"></portal-header>
|
<portal-header current="course" :goSearch="1"></portal-header>
|
||||||
@@ -77,7 +78,13 @@
|
|||||||
<img :src="fileBaseUrl+coursewareInfo.content.content" alt="图片">
|
<img :src="fileBaseUrl+coursewareInfo.content.content" alt="图片">
|
||||||
</div>
|
</div>
|
||||||
<div v-if="coursewareInfo.content.contentType == 40">
|
<div v-if="coursewareInfo.content.contentType == 40">
|
||||||
<pdfPreview :autoScroll="true" v-if="coursewareInfo.content.contentType == 40 && coursewareInfo.content.content" :filePath="fileBaseUrl+coursewareInfo.content.content"></pdfPreview>
|
<div style="padding: 10px;color: #ed0000; " v-if="curCFile.converStatus < 2">
|
||||||
|
<div>此课程内容无法预览,请联系管理员</div>
|
||||||
|
</div>
|
||||||
|
<div style="padding: 10px;color: #ed0000; " v-if="curCFile.converStatus == 3">
|
||||||
|
此课程内容无法预览,请联系管理员
|
||||||
|
</div>
|
||||||
|
<pdfPreview :autoScroll="true" v-if="coursewareInfo.content.contentType == 40" :filePath="fileBaseUrl+coursewareInfo.content.content"></pdfPreview>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="coursewareInfo.content.contentType == 41">
|
<div v-if="coursewareInfo.content.contentType == 41">
|
||||||
<div class="couretitle" style="padding: 20px;text-align: left;" v-html="coursewareInfo.content.content"></div>
|
<div class="couretitle" style="padding: 20px;text-align: left;" v-html="coursewareInfo.content.content"></div>
|
||||||
@@ -305,6 +312,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
curCFile:{},
|
||||||
sex:null,
|
sex:null,
|
||||||
playerBoxShow:false,
|
playerBoxShow:false,
|
||||||
userAvatarText,
|
userAvatarText,
|
||||||
@@ -437,15 +445,20 @@ export default {
|
|||||||
|
|
||||||
} else if (con.contentType == 40) {
|
} else if (con.contentType == 40) {
|
||||||
//需要读取pdf的路径
|
//需要读取pdf的路径
|
||||||
if($this.coursewareInfo.content.content!='' && $this.coursewareInfo.content.content.indexOf('.pdf')==-1){
|
|
||||||
apiCourseFile.detail($this.coursewareInfo.content.contentRefId).then(cfrs=>{
|
apiCourseFile.detail($this.coursewareInfo.content.contentRefId).then(cfrs=>{
|
||||||
if(cfrs.status==200){
|
if(cfrs.status==200){
|
||||||
|
$this.curCFile = cfrs.result;
|
||||||
|
if(cfrs.result.previewFilePath){
|
||||||
$this.coursewareInfo.content.content=cfrs.result.previewFilePath;
|
$this.coursewareInfo.content.content=cfrs.result.previewFilePath;
|
||||||
|
}else if(cfrs.result.filePath.indexOf('.pdf')>-1){
|
||||||
|
$this.coursewareInfo.content.content=cfrs.result.filePath;
|
||||||
|
}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
$this.$message.error('加载pdf课件文件失败');
|
$this.$message.error('加载pdf课件文件失败');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
|
||||||
//let url = this.fileBaseUrl + r.content;
|
//let url = this.fileBaseUrl + r.content;
|
||||||
}else if(con.contentType ==52){
|
}else if(con.contentType ==52){
|
||||||
if(con.content.startsWith('\{')){
|
if(con.content.startsWith('\{')){
|
||||||
@@ -492,8 +505,9 @@ export default {
|
|||||||
//console.log(urlSign,'urlSign');
|
//console.log(urlSign,'urlSign');
|
||||||
cookies.set('PLAYSIGN_TIME', ctime);//写客户端的cookie保存
|
cookies.set('PLAYSIGN_TIME', ctime);//写客户端的cookie保存
|
||||||
//this.blobUrl=process.env.VUE_APP_BASE_API+'/xboe/m/course/play/resource?sign='+urlSign;
|
//this.blobUrl=process.env.VUE_APP_BASE_API+'/xboe/m/course/play/resource?sign='+urlSign;
|
||||||
this.blobUrl='http://localhost:9090/xboe/course/resource?fid='+fid;
|
this.blobUrl=process.env.VUE_APP_BASE_API+'/xboe/course/resource?fid='+fid;
|
||||||
|
//this.blobUrl='http://localhost:9090/xboe/course/resource?fid='+fid;
|
||||||
|
//this.blobUrl=this.fileBaseUrl+u;
|
||||||
},
|
},
|
||||||
createVideoBlob(url){
|
createVideoBlob(url){
|
||||||
let $this=this;
|
let $this=this;
|
||||||
@@ -1662,17 +1676,5 @@ export default {
|
|||||||
padding-left: 36px;
|
padding-left: 36px;
|
||||||
padding-right: 36px;
|
padding-right: 36px;
|
||||||
}
|
}
|
||||||
/* ::v-deep .el-tab-pane-boxContent{
|
|
||||||
.el-tabs__nav{
|
|
||||||
.el-tabs{
|
|
||||||
.el-tabs__header{
|
|
||||||
.el-tabs__nav{
|
|
||||||
.is-active{
|
|
||||||
font-size: 25px!important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} */
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
</el-radio-group> -->
|
</el-radio-group> -->
|
||||||
</span>
|
</span>
|
||||||
</el-row>
|
</el-row>
|
||||||
<div class="data-content">
|
<div class="data-content" v-if="qaList.length > 0">
|
||||||
<div :span="24" v-for="(qa, qaidx) in qaList" :key="qaidx" class="qa-list">
|
<div :span="24" v-for="(qa, qaidx) in qaList" :key="qaidx" class="qa-list">
|
||||||
<div class="qa-info-box">
|
<div class="qa-info-box">
|
||||||
<div class="qa-info">
|
<div class="qa-info">
|
||||||
@@ -85,7 +85,11 @@
|
|||||||
<div class="pagination-div">
|
<div class="pagination-div">
|
||||||
<span class="pag-text" @click="loadMore()" v-if="moreState == 1">加载更多</span>
|
<span class="pag-text" @click="loadMore()" v-if="moreState == 1">加载更多</span>
|
||||||
<span class="pag-text-msg" v-else-if="moreState == 2">数据加载中</span>
|
<span class="pag-text-msg" v-else-if="moreState == 2">数据加载中</span>
|
||||||
<span class="pag-text-msg" v-else-if="moreState == 3">没有更多数据了</span>
|
<span class="pag-text-msg" v-else-if="moreState == 3 && !isSeach">没有更多数据了</span>
|
||||||
|
<span class="pag-text-msg" v-else-if="isSeach">没有查询到相关内容</span>
|
||||||
|
</div>
|
||||||
|
<div v-if="isSeach" style="height:382px">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -215,12 +219,16 @@ export default {
|
|||||||
//以上是整理后的数据
|
//以上是整理后的数据
|
||||||
anking: 2, //排行榜
|
anking: 2, //排行榜
|
||||||
ankingList: [],
|
ankingList: [],
|
||||||
styleControl:2
|
styleControl:2,
|
||||||
|
isSeach:false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.queryKeyWord = this.$route.query.keyword;
|
this.queryKeyWord = this.$route.query.keyword;
|
||||||
this.queryConditions.keyword = this.queryKeyWord;
|
this.queryConditions.keyword = this.queryKeyWord;
|
||||||
|
if(this.queryConditions.keyword != '') {
|
||||||
|
this.isSeach = true;
|
||||||
|
}
|
||||||
this.getQaData(true);
|
this.getQaData(true);
|
||||||
this.getAnkingData();
|
this.getAnkingData();
|
||||||
window.addEventListener("scroll", this.handleScroll);
|
window.addEventListener("scroll", this.handleScroll);
|
||||||
@@ -232,6 +240,7 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
emitInput(val){
|
emitInput(val){
|
||||||
this.queryKeyWord = val;
|
this.queryKeyWord = val;
|
||||||
|
this.isSeach =true;
|
||||||
this.search();
|
this.search();
|
||||||
},
|
},
|
||||||
//发布回答
|
//发布回答
|
||||||
@@ -373,6 +382,7 @@ export default {
|
|||||||
.potallist(this.queryConditions)
|
.potallist(this.queryConditions)
|
||||||
.then(res => {
|
.then(res => {
|
||||||
if (res.status == 200 && res.result.list.length > 0) {
|
if (res.status == 200 && res.result.list.length > 0) {
|
||||||
|
this.isSeach = false;
|
||||||
res.result.list.forEach(item => {
|
res.result.list.forEach(item => {
|
||||||
item.authorInfo = { aid: '', name: '', orgInfo: '', avatar: '',sex:null, };
|
item.authorInfo = { aid: '', name: '', orgInfo: '', avatar: '',sex:null, };
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
<div style="padding: 0px 10px;"><el-input placeholder="请输入标题" v-model="queryObj.keyword" clearable></el-input></div>
|
<div style="padding: 0px 10px;"><el-input placeholder="请输入标题" v-model="queryObj.keyword" clearable></el-input></div>
|
||||||
<el-button icon="el-icon-search" @click="getQaList" type="primary" >搜索</el-button>
|
<el-button icon="el-icon-search" @click="search" type="primary" >搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh-right" type="primary" @click="reset">重置</el-button>
|
<el-button icon="el-icon-refresh-right" type="primary" @click="reset">重置</el-button>
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex;justify-content:flex-start;align-items: center;margin-top:10px">
|
<div style="display: flex;justify-content:flex-start;align-items: center;margin-top:10px">
|
||||||
@@ -163,13 +163,17 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
search(){
|
||||||
|
this.queryObj.pageIndex = 1;
|
||||||
|
this.getQaList();
|
||||||
|
},
|
||||||
reset(){
|
reset(){
|
||||||
this.queryObj.orderField = ''
|
this.queryObj.orderField = ''
|
||||||
this.queryObj.status = ''
|
this.queryObj.status = ''
|
||||||
this.queryObj.isResolve = ''
|
this.queryObj.isResolve = ''
|
||||||
this.queryObj.keyword = ''
|
this.queryObj.keyword = ''
|
||||||
this.queryObj.isEssence = ''
|
this.queryObj.isEssence = ''
|
||||||
|
this.queryObj.pageIndex = 1;
|
||||||
this.getQaList();
|
this.getQaList();
|
||||||
},
|
},
|
||||||
//查询问答列表数据
|
//查询问答列表数据
|
||||||
|
|||||||
@@ -94,12 +94,14 @@ export default {
|
|||||||
|
|
||||||
reset(){
|
reset(){
|
||||||
this.queryObj.keyWord = '',
|
this.queryObj.keyWord = '',
|
||||||
this.queryObj.isResolve = ''
|
this.queryObj.isResolve = '';
|
||||||
|
this.queryObj.pageIndex =1;
|
||||||
this.getData();
|
this.getData();
|
||||||
this.isSearh = false;
|
this.isSearh = false;
|
||||||
},
|
},
|
||||||
getList() {
|
getList() {
|
||||||
this.isSearh = true;
|
this.isSearh = true;
|
||||||
|
this.queryObj.pageIndex =1;
|
||||||
this.getData();
|
this.getData();
|
||||||
},
|
},
|
||||||
//获取列表数据
|
//获取列表数据
|
||||||
|
|||||||
@@ -85,6 +85,7 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getList() {
|
getList() {
|
||||||
|
this.queryObj.pageIndex = 1;
|
||||||
this.isSearh = true;
|
this.isSearh = true;
|
||||||
this.getData();
|
this.getData();
|
||||||
},
|
},
|
||||||
@@ -104,6 +105,7 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
reset(){
|
reset(){
|
||||||
|
this.queryObj.pageIndex = 1;
|
||||||
this.queryObj.keyWord = '';
|
this.queryObj.keyWord = '';
|
||||||
this.queryObj.isResolve = '';
|
this.queryObj.isResolve = '';
|
||||||
this.getData();
|
this.getData();
|
||||||
|
|||||||
@@ -116,10 +116,12 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
|
|
||||||
getlist(){
|
getlist(){
|
||||||
|
this.dataList.pageIndex = 1;
|
||||||
this.isSearh = true;
|
this.isSearh = true;
|
||||||
this.getData();
|
this.getData();
|
||||||
},
|
},
|
||||||
reset(){
|
reset(){
|
||||||
|
this.dataList.pageIndex = 1;
|
||||||
this.dataList.send = ''
|
this.dataList.send = ''
|
||||||
this.getData()
|
this.getData()
|
||||||
this.isSearh = false;
|
this.isSearh = false;
|
||||||
|
|||||||
@@ -108,10 +108,12 @@ export default {
|
|||||||
components: {},
|
components: {},
|
||||||
methods: {
|
methods: {
|
||||||
getList(){
|
getList(){
|
||||||
|
this.dataList.pageIndex = 1;
|
||||||
this.isSearh = true;
|
this.isSearh = true;
|
||||||
this.getData();
|
this.getData();
|
||||||
},
|
},
|
||||||
reset(){
|
reset(){
|
||||||
|
this.dataList.pageIndex = 1;
|
||||||
this.dataList.send = ''
|
this.dataList.send = ''
|
||||||
this.getData();
|
this.getData();
|
||||||
this.isSearh = false;
|
this.isSearh = false;
|
||||||
|
|||||||
@@ -149,6 +149,9 @@
|
|||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
queryData(){
|
queryData(){
|
||||||
|
this.qaList.pageIndex = 1;
|
||||||
|
this.articleList.pageIndex = 1;
|
||||||
|
this.courseList.pageIndex = 1;
|
||||||
this.isSearh = true;
|
this.isSearh = true;
|
||||||
if (this.tabName == 'qa') {
|
if (this.tabName == 'qa') {
|
||||||
this.findQa();
|
this.findQa();
|
||||||
@@ -161,6 +164,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
resData() {
|
resData() {
|
||||||
|
this.qaList.pageIndex = 1;
|
||||||
|
this.articleList.pageIndex = 1;
|
||||||
|
this.courseList.pageIndex = 1;
|
||||||
this.keyword = '';
|
this.keyword = '';
|
||||||
this.isRead = '';
|
this.isRead = '';
|
||||||
this.queryData();
|
this.queryData();
|
||||||
|
|||||||
@@ -170,6 +170,9 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
queryData() {
|
queryData() {
|
||||||
|
this.qaList.pageIndex = 1;
|
||||||
|
this.articleList.pageIndex = 1;
|
||||||
|
this.courseList.pageIndex = 1;
|
||||||
this.isSearh= true;
|
this.isSearh= true;
|
||||||
if (this.tabName == 'qa') {
|
if (this.tabName == 'qa') {
|
||||||
this.findQa();
|
this.findQa();
|
||||||
@@ -185,6 +188,9 @@ export default {
|
|||||||
resData() {
|
resData() {
|
||||||
this.keyword = '';
|
this.keyword = '';
|
||||||
this.isRead = '';
|
this.isRead = '';
|
||||||
|
this.qaList.pageIndex = 1;
|
||||||
|
this.articleList.pageIndex = 1;
|
||||||
|
this.courseList.pageIndex = 1;
|
||||||
this.queryData();
|
this.queryData();
|
||||||
this.isSearh= false;
|
this.isSearh= false;
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -82,7 +82,15 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="resType == 40"><pdfPreview :autoScroll="true" v-if="resType == 40" :filePath="fileBaseUrl + contentData.content"></pdfPreview></div>
|
<div v-if="resType == 40">
|
||||||
|
<div style="padding: 10px;color: #ed0000; " v-if="curCFile.converStatus < 2">
|
||||||
|
<div>此课程内容无法预览,请联系管理员</div>
|
||||||
|
</div>
|
||||||
|
<div style="padding: 10px;color: #ed0000;" v-if="curCFile.converStatus == 3">
|
||||||
|
此课程内容无法预览,请联系管理员
|
||||||
|
</div>
|
||||||
|
<pdfPreview :autoScroll="true" v-if="resType == 40" :filePath="fileBaseUrl + contentData.content"></pdfPreview>
|
||||||
|
</div>
|
||||||
<div v-if="resType == 41"><div style="padding: 20px;" v-html="contentData.content"></div></div>
|
<div v-if="resType == 41"><div style="padding: 20px;" v-html="contentData.content"></div></div>
|
||||||
<div v-if="resType == 52">
|
<div v-if="resType == 52">
|
||||||
<div v-if="contentData.content != ''">
|
<div v-if="contentData.content != ''">
|
||||||
@@ -255,6 +263,9 @@ export default {
|
|||||||
components: { courseImage, portalHeader, portalFooter, hyperLink, comments, homework, exam, interactBar, assess, pdfPreview, audioPlayer, videoPlayer },
|
components: { courseImage, portalHeader, portalFooter, hyperLink, comments, homework, exam, interactBar, assess, pdfPreview, audioPlayer, videoPlayer },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
curCFile:{
|
||||||
|
converStatus:4,
|
||||||
|
},
|
||||||
interactRuning:false,
|
interactRuning:false,
|
||||||
playerBoxShow:false,
|
playerBoxShow:false,
|
||||||
userAvatarText,
|
userAvatarText,
|
||||||
@@ -807,17 +818,20 @@ export default {
|
|||||||
let url=this.fileBaseUrl+this.curriculumData.url;
|
let url=this.fileBaseUrl+this.curriculumData.url;
|
||||||
//this.createVideoBlob(url);
|
//this.createVideoBlob(url);
|
||||||
} else if (r.contentType == 40) {
|
} else if (r.contentType == 40) {
|
||||||
//let url = this.fileBaseUrl + r.content;
|
// if (r.content != '' && r.content.indexOf('.pdf') == -1) {
|
||||||
if (r.content != '' && r.content.indexOf('.pdf') == -1) {
|
|
||||||
apiCourseFile.detail(r.contentRefId).then(cfrs => {
|
apiCourseFile.detail(r.contentRefId).then(cfrs => {
|
||||||
if (cfrs.status == 200) {
|
if (cfrs.status == 200) {
|
||||||
r.content = cfrs.result.previewFilePath;
|
r.content = cfrs.result.previewFilePath;
|
||||||
//console.log(r.content);
|
if(cfrs.result.previewFilePath == '' && cfrs.result.filePath.indexOf('pdf') > -1) {
|
||||||
|
r.content = cfrs.result.filePath;
|
||||||
|
} else {
|
||||||
|
this.curCFile = cfrs.result;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$this.$message.error('加载pdf课件文件失败');
|
$this.$message.error('加载pdf课件文件失败');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
// }
|
||||||
} else if (r.contentType == 52) {
|
} else if (r.contentType == 52) {
|
||||||
this.isAppendTime=false;
|
this.isAppendTime=false;
|
||||||
if (r.content.startsWith('\{')) {
|
if (r.content.startsWith('\{')) {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
|
|
||||||
<el-input clearable placeholder="搜索名称" v-model="keyword"></el-input>
|
<el-input clearable placeholder="搜索名称" v-model="keyword"></el-input>
|
||||||
<el-button type="primary" icon="el-icon-search" @click="findList()">搜索</el-button>
|
<el-button type="primary" icon="el-icon-search" @click="getData()">搜索</el-button>
|
||||||
<el-button type="primary" icon="el-icon-refresh-right" @click="reset">重置</el-button>
|
<el-button type="primary" icon="el-icon-refresh-right" @click="reset">重置</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8" v-for="(item,index) in testList" :key="index">
|
<el-col :span="8" v-for="(item,index) in testList" :key="index">
|
||||||
@@ -82,6 +82,10 @@
|
|||||||
jumpRouter(item) {
|
jumpRouter(item) {
|
||||||
window.open(`${this.webBaseUrl}/course/boeframe?id=${item.id}&type=quizsummary`)
|
window.open(`${this.webBaseUrl}/course/boeframe?id=${item.id}&type=quizsummary`)
|
||||||
},
|
},
|
||||||
|
getData() {
|
||||||
|
this.page=1;
|
||||||
|
this.findList();
|
||||||
|
},
|
||||||
findList(){
|
findList(){
|
||||||
let params={
|
let params={
|
||||||
keyword:this.keyword,
|
keyword:this.keyword,
|
||||||
@@ -110,7 +114,8 @@
|
|||||||
this.findList()
|
this.findList()
|
||||||
},
|
},
|
||||||
reset(){
|
reset(){
|
||||||
this.keyword = ''
|
this.keyword = '';
|
||||||
|
this.page=1;
|
||||||
this.findList();
|
this.findList();
|
||||||
},
|
},
|
||||||
getItem(item){
|
getItem(item){
|
||||||
|
|||||||
@@ -79,7 +79,7 @@
|
|||||||
<course-items :items="courseList.list" @confirm="confirm"></course-items>
|
<course-items :items="courseList.list" @confirm="confirm"></course-items>
|
||||||
</div>
|
</div>
|
||||||
<!-- v-if="courseList.count>courseList.pageSize" -->
|
<!-- v-if="courseList.count>courseList.pageSize" -->
|
||||||
<div v-if="caseList.list.length > 0" style="text-align: center;margin-top:57px">
|
<div v-if="courseList.list.length > 0" style="text-align: center;margin-top:57px">
|
||||||
<el-pagination
|
<el-pagination
|
||||||
background
|
background
|
||||||
@size-change="handleSizeChange"
|
@size-change="handleSizeChange"
|
||||||
@@ -92,7 +92,7 @@
|
|||||||
></el-pagination>
|
></el-pagination>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<div v-if="caseList.list.length == 0">
|
<div v-if="courseList.list.length == 0">
|
||||||
<div v-if="isSearh" class="zan-wu">没有查询到相关内容</div>
|
<div v-if="isSearh" class="zan-wu">没有查询到相关内容</div>
|
||||||
<div v-else class="zan-wu">暂无数据</div>
|
<div v-else class="zan-wu">暂无数据</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -278,6 +278,10 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
queryData() {
|
queryData() {
|
||||||
|
this.qaList.pageIndex = 1;
|
||||||
|
this.articleList.pageIndex = 1;
|
||||||
|
this.courseList.pageIndex = 1;
|
||||||
|
this.dataList.pageIndex = 1;
|
||||||
this.isSearh = true;
|
this.isSearh = true;
|
||||||
if (this.tabName == 'qa') {
|
if (this.tabName == 'qa') {
|
||||||
this.findQa();
|
this.findQa();
|
||||||
@@ -296,6 +300,10 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
resData() {
|
resData() {
|
||||||
|
this.qaList.pageIndex = 1;
|
||||||
|
this.articleList.pageIndex = 1;
|
||||||
|
this.courseList.pageIndex = 1;
|
||||||
|
this.dataList.pageIndex = 1;
|
||||||
this.keyword = '';
|
this.keyword = '';
|
||||||
this.isRead = '';
|
this.isRead = '';
|
||||||
this.courseList.type = '';
|
this.courseList.type = '';
|
||||||
|
|||||||
Reference in New Issue
Block a user