mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-10 03:16:42 +08:00
左侧菜单
This commit is contained in:
@@ -20,7 +20,17 @@ const getTaskNum = function(){
|
|||||||
const userTaskList = function(data){
|
const userTaskList = function(data){
|
||||||
return ajax.postJson(baseURL,'/todoTask/queryTodoTaskDetail',data);
|
return ajax.postJson(baseURL,'/todoTask/queryTodoTaskDetail',data);
|
||||||
}
|
}
|
||||||
|
//领导力必修
|
||||||
|
const leadership = function(data){
|
||||||
|
return ajax.postJson(baseURL,'/todoTask/leadership',data);
|
||||||
|
}
|
||||||
|
//定制化学习 1.学习项目 2.学习路径
|
||||||
|
const customized = function(data){
|
||||||
|
return ajax.postJson(baseURL,'/todoTask/customized',data);
|
||||||
|
}
|
||||||
|
const compulsoryList = function(data){
|
||||||
|
return ajax.postJson(baseURL,'/todoTask/compulsoryList',data);
|
||||||
|
}
|
||||||
/**删除学习,取消报名*/
|
/**删除学习,取消报名*/
|
||||||
const userDeleteStudy = function(data){
|
const userDeleteStudy = function(data){
|
||||||
return ajax.postJson(baseURL,'/stu/project/stuCancelEnrollment',data);
|
return ajax.postJson(baseURL,'/stu/project/stuCancelEnrollment',data);
|
||||||
@@ -37,6 +47,9 @@ const userRsSginupCourse = function(data){
|
|||||||
export default {
|
export default {
|
||||||
getTaskNum,
|
getTaskNum,
|
||||||
userTaskList,
|
userTaskList,
|
||||||
|
leadership,
|
||||||
|
customized,
|
||||||
|
compulsoryList,
|
||||||
userDeleteStudy,
|
userDeleteStudy,
|
||||||
userRsSginupCourse
|
userRsSginupCourse
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -248,19 +248,19 @@
|
|||||||
<svg-icon icon-class="mystudy"></svg-icon>
|
<svg-icon icon-class="mystudy"></svg-icon>
|
||||||
<span>我的学习</span>
|
<span>我的学习</span>
|
||||||
</template>
|
</template>
|
||||||
<el-menu-item index="/uc/study/task">
|
<!-- <el-menu-item index="/uc/study/task"> -->
|
||||||
<!-- <i class="el-icon-menu"></i> -->
|
<!-- <i class="el-icon-menu"></i> -->
|
||||||
<span slot="title" class="study textl"><el-badge :value="studyTaskCount||''" class="item">学习任务</el-badge></span>
|
<!-- <span slot="title" class="study textl"><el-badge :value="studyTaskCount||''" class="item">学习任务</el-badge></span>
|
||||||
</el-menu-item>
|
</el-menu-item> -->
|
||||||
<el-menu-item index="/uc/study/courses">
|
<!-- <el-menu-item index="/uc/study/courses"> -->
|
||||||
<!-- <i class="el-icon-menu"></i> -->
|
<!-- <i class="el-icon-menu"></i> -->
|
||||||
<!-- <span slot="title" class="textl">自主学习</span> -->
|
<!-- <span slot="title" class="textl">自主学习</span> -->
|
||||||
<span slot="title" class="textl">我报名的</span>
|
<!-- <span slot="title" class="textl">我报名的</span>
|
||||||
</el-menu-item>
|
</el-menu-item> -->
|
||||||
<el-menu-item index="/exam/mytask">
|
<!-- <el-menu-item index="/exam/mytask">
|
||||||
<!-- <i class="el-icon-menu"></i> -->
|
<i class="el-icon-menu"></i>
|
||||||
<span slot="title" class="textl">我的考试</span>
|
<span slot="title" class="textl">我的考试</span>
|
||||||
</el-menu-item>
|
</el-menu-item> -->
|
||||||
<!---去掉->
|
<!---去掉->
|
||||||
<!-- <el-menu-item index="/uc/study/path" v-show="isTest">
|
<!-- <el-menu-item index="/uc/study/path" v-show="isTest">
|
||||||
<span slot="title" class="textl">学习路径图</span>
|
<span slot="title" class="textl">学习路径图</span>
|
||||||
@@ -273,19 +273,19 @@
|
|||||||
<!-- <span slot="title" class="textl">历史记录</span>
|
<!-- <span slot="title" class="textl">历史记录</span>
|
||||||
</el-menu-item> -->
|
</el-menu-item> -->
|
||||||
</el-submenu>
|
</el-submenu>
|
||||||
<!-- <el-submenu index="mycompulsory" v-show="curIdentity == 1">
|
<el-submenu index="mystudy" v-show="curIdentity == 1">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<svg-icon icon-class="mystudy"></svg-icon>
|
<svg-icon icon-class="mystudy"></svg-icon>
|
||||||
<span>我的必修</span>
|
<span>我的必修</span>
|
||||||
</template>
|
</template>
|
||||||
<el-menu-item index="/uc/study/task">
|
<el-menu-item v-if="fistTotal" index="/uc/study/task?type=1">
|
||||||
<span slot="title" class="study textl"><el-badge :value="studyTaskCount||''" class="item">领导力必修</el-badge></span>
|
<span slot="title" class="study textl"><el-badge :value="fistTotal||''" class="item">领导力必修</el-badge></span>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
<el-menu-item index="/uc/study/courses">
|
<el-menu-item index="uc/study/growth">
|
||||||
<span slot="title" class="textl"><el-badge :value="studyTaskCount||''" class="item">专业力必修</el-badge></span>
|
<span slot="title" class="textl"><el-badge :value="studyTaskCount||''" class="item">专业力必修</el-badge></span>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
<el-menu-item index="/exam/mytask">
|
<el-menu-item v-if="pathTotal + proTotal" index="/uc/study/task?type=2">
|
||||||
<span slot="title" class="textl"><el-badge :value="studyTaskCount||''" class="item">定制化学习</el-badge></span>
|
<span slot="title" class="textl"><el-badge :value="pathTotal + proTotal||''" class="item">定制化学习</el-badge></span>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
</el-submenu>
|
</el-submenu>
|
||||||
<el-submenu index="myelective" v-show="curIdentity == 1">
|
<el-submenu index="myelective" v-show="curIdentity == 1">
|
||||||
@@ -293,14 +293,14 @@
|
|||||||
<svg-icon icon-class="mystudy"></svg-icon>
|
<svg-icon icon-class="mystudy"></svg-icon>
|
||||||
<span>我的选修</span>
|
<span>我的选修</span>
|
||||||
</template>
|
</template>
|
||||||
<el-menu-item index="/uc/study/task">
|
<el-menu-item index="/uc/study/courses">
|
||||||
<span slot="title" class="study textl"><el-badge :value="studyTaskCount||''" class="item">自选学习</el-badge></span>
|
<span slot="title" class="study textl"><el-badge :value="studyTaskCount||''" class="item">自选学习</el-badge></span>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
</el-submenu>
|
</el-submenu>
|
||||||
<el-menu-item index="/exam/mytask" v-show="curIdentity == 1">
|
<el-menu-item index="/exam/mytask" v-show="curIdentity == 1">
|
||||||
<svg-icon :icon-class="activeMenu == '/exam/mytask'?'mybiji-active':'mybiji'"></svg-icon>
|
<svg-icon :icon-class="activeMenu == '/exam/mytask'?'mybiji-active':'mybiji'"></svg-icon>
|
||||||
<span slot="title">我的考试</span>
|
<span slot="title">我的考试</span>
|
||||||
</el-menu-item> -->
|
</el-menu-item>
|
||||||
<el-menu-item index="/user/Mynotes" v-show="curIdentity == 1">
|
<el-menu-item index="/user/Mynotes" v-show="curIdentity == 1">
|
||||||
<svg-icon :icon-class="activeMenu == '/user/Mynotes'?'mybiji-active':'mybiji'"></svg-icon>
|
<svg-icon :icon-class="activeMenu == '/user/Mynotes'?'mybiji-active':'mybiji'"></svg-icon>
|
||||||
<span slot="title">我的笔记</span>
|
<span slot="title">我的笔记</span>
|
||||||
@@ -414,6 +414,7 @@ import apicourseStudy from "../../api/modules/courseStudy.js"
|
|||||||
import {pageList} from "@/api/modules/lecturer"
|
import {pageList} from "@/api/modules/lecturer"
|
||||||
import courseImage from "@/components/Course/courseImage.vue"
|
import courseImage from "@/components/Course/courseImage.vue"
|
||||||
import testUser from '@/utils/testUsers.js'
|
import testUser from '@/utils/testUsers.js'
|
||||||
|
import apiManage from '@/api/manage/manage.js'
|
||||||
export default {
|
export default {
|
||||||
name: 'UcMenu',
|
name: 'UcMenu',
|
||||||
components: {
|
components: {
|
||||||
@@ -441,7 +442,10 @@ export default {
|
|||||||
isCollapse: false,
|
isCollapse: false,
|
||||||
lastStudy:{},
|
lastStudy:{},
|
||||||
overlayShow: false,
|
overlayShow: false,
|
||||||
instructor:0
|
instructor:0,
|
||||||
|
fistTotal:0,
|
||||||
|
proTotal: 0,
|
||||||
|
pathTotal:0,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -450,6 +454,7 @@ export default {
|
|||||||
this.getLastStudy();
|
this.getLastStudy();
|
||||||
//获取讲师认证中条数
|
//获取讲师认证中条数
|
||||||
this.instructorCertification()
|
this.instructorCertification()
|
||||||
|
this.learnTotal()
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
//console.log(this.userInfo.loginName,'this.userInfo.loginName');
|
//console.log(this.userInfo.loginName,'this.userInfo.loginName');
|
||||||
@@ -462,6 +467,26 @@ export default {
|
|||||||
// }
|
// }
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
learnTotal(){
|
||||||
|
let params = {
|
||||||
|
pageNo: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
cmtask_user_status: "",
|
||||||
|
cmtask_name: ""
|
||||||
|
}
|
||||||
|
//领导力
|
||||||
|
apiManage.leadership(params).then(res=>{
|
||||||
|
this.fistTotal =parseInt(res.data.total);
|
||||||
|
})
|
||||||
|
//项目
|
||||||
|
apiManage.customized(params).then(res=>{
|
||||||
|
this.proTotal =parseInt(res.data.total);
|
||||||
|
})
|
||||||
|
//学习路径
|
||||||
|
apiManage.compulsoryList(params).then(res=>{
|
||||||
|
this.pathTotal =parseInt(res.data.total);
|
||||||
|
})
|
||||||
|
},
|
||||||
//讲师认证条数
|
//讲师认证条数
|
||||||
instructorCertification(){
|
instructorCertification(){
|
||||||
pageList({ teacherNo:this.userInfo.userNo,courseName:'', pageNo: 1, pageSize: 10}).then(res=>{
|
pageList({ teacherNo:this.userInfo.userNo,courseName:'', pageNo: 1, pageSize: 10}).then(res=>{
|
||||||
|
|||||||
@@ -7,6 +7,10 @@
|
|||||||
<div class="progress"><div class="msg">路径图完成情况</div> <el-progress :text-inside="true" :stroke-width="16" :percentage="porcessData.router" class="progressItem"> </el-progress> </div>
|
<div class="progress"><div class="msg">路径图完成情况</div> <el-progress :text-inside="true" :stroke-width="16" :percentage="porcessData.router" class="progressItem"> </el-progress> </div>
|
||||||
|
|
||||||
</div> -->
|
</div> -->
|
||||||
|
<div v-if="isType == 2" class="title">
|
||||||
|
<div class="item" style="margin-right: 19px;" :class="typeClass == 1?'item1':'item'" @click="learnType(1)">学习项目</div>
|
||||||
|
<div class="item" :class="typeClass == 2?'item1':'item'" @click="learnType(2)">学习路径</div>
|
||||||
|
</div>
|
||||||
<div style="display: flex; justify-content: space-between; padding: 12px 32px 10px 22px;">
|
<div style="display: flex; justify-content: space-between; padding: 12px 32px 10px 22px;">
|
||||||
<div style="display: flex; justify-content: flex-start">
|
<div style="display: flex; justify-content: flex-start">
|
||||||
<div>
|
<div>
|
||||||
@@ -107,14 +111,30 @@ export default {
|
|||||||
keyword:'',
|
keyword:'',
|
||||||
formatsec,
|
formatsec,
|
||||||
couresList:[],
|
couresList:[],
|
||||||
total: 0
|
total: 0,
|
||||||
|
isType: null,
|
||||||
|
typeClass: true,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
watch:{
|
||||||
|
'$route': {
|
||||||
|
handler(to, from) {
|
||||||
|
console.log('type变化了', to.query.type);
|
||||||
|
this.isType = to.query.type;
|
||||||
|
this.loadBoeData();
|
||||||
|
},
|
||||||
|
immediate: true
|
||||||
|
}
|
||||||
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.loadBoeData();
|
this.loadBoeData();
|
||||||
this.getPossData()
|
this.getPossData()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
learnType(item){
|
||||||
|
this.typeClass = item
|
||||||
|
this.reset()
|
||||||
|
},
|
||||||
jumpRouter(item) {
|
jumpRouter(item) {
|
||||||
//location.href=`${this.webBaseUrl}/course/boeframe?id=${item.cmtask_id}`;
|
//location.href=`${this.webBaseUrl}/course/boeframe?id=${item.cmtask_id}`;
|
||||||
|
|
||||||
@@ -157,17 +177,59 @@ export default {
|
|||||||
cmtask_name:this.params.cmtask_name,
|
cmtask_name:this.params.cmtask_name,
|
||||||
}
|
}
|
||||||
this.loading=true;
|
this.loading=true;
|
||||||
apiManage.userTaskList(params).then(res=>{
|
if(this.isType == 1){
|
||||||
if(res.code==200){
|
//领导力必修
|
||||||
this.total =parseInt(res.data.total);
|
apiManage.leadership(params).then(res=>{
|
||||||
this.couresList = res.data.records;
|
if(res.code==200){
|
||||||
}else{
|
this.total =parseInt(res.data.total);
|
||||||
this.$message.error('查询数据失败:'+res.msg);
|
this.couresList = res.data.records;
|
||||||
}
|
}else{
|
||||||
this.loading=false;
|
this.$message.error('查询数据失败:'+res.msg);
|
||||||
}).catch(()=>{
|
}
|
||||||
this.loading=false;
|
this.loading=false;
|
||||||
})
|
}).catch(()=>{
|
||||||
|
this.loading=false;
|
||||||
|
})
|
||||||
|
}else if (this.isType == 2){
|
||||||
|
//定制化学习
|
||||||
|
if(this.typeClass == 1){
|
||||||
|
apiManage.customized(params).then(res=>{
|
||||||
|
if(res.code==200){
|
||||||
|
this.total =parseInt(res.data.total);
|
||||||
|
this.couresList = res.data.records;
|
||||||
|
}else{
|
||||||
|
this.$message.error('查询数据失败:'+res.msg);
|
||||||
|
}
|
||||||
|
this.loading=false;
|
||||||
|
}).catch(()=>{
|
||||||
|
this.loading=false;
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
apiManage.compulsoryList(params).then(res=>{
|
||||||
|
if(res.code==200){
|
||||||
|
this.total =parseInt(res.data.total);
|
||||||
|
this.couresList = res.data.records;
|
||||||
|
}else{
|
||||||
|
this.$message.error('查询数据失败:'+res.msg);
|
||||||
|
}
|
||||||
|
this.loading=false;
|
||||||
|
}).catch(()=>{
|
||||||
|
this.loading=false;
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
apiManage.userTaskList(params).then(res=>{
|
||||||
|
if(res.code==200){
|
||||||
|
this.total =parseInt(res.data.total);
|
||||||
|
this.couresList = res.data.records;
|
||||||
|
}else{
|
||||||
|
this.$message.error('查询数据失败:'+res.msg);
|
||||||
|
}
|
||||||
|
this.loading=false;
|
||||||
|
}).catch(()=>{
|
||||||
|
this.loading=false;
|
||||||
|
})
|
||||||
|
}
|
||||||
},
|
},
|
||||||
search(){
|
search(){
|
||||||
this.page=1;
|
this.page=1;
|
||||||
@@ -196,6 +258,31 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
.title{
|
||||||
|
display: flex;
|
||||||
|
margin-left: 22px;
|
||||||
|
margin-bottom: 6px;
|
||||||
|
.item{
|
||||||
|
width: 100px;
|
||||||
|
height: 46px;
|
||||||
|
line-height: 46px;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 18px;
|
||||||
|
color: #666666;
|
||||||
|
}
|
||||||
|
.item1{
|
||||||
|
// border-bottom: #409EFF 4px solid;
|
||||||
|
position: relative;
|
||||||
|
&::before {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 10px;
|
||||||
|
width: 80px;
|
||||||
|
border-bottom: 4px solid #409EFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
.progress{
|
.progress{
|
||||||
width:calc((100% - 100px) / 3);
|
width:calc((100% - 100px) / 3);
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
Reference in New Issue
Block a user