左侧菜单

This commit is contained in:
zhangsir
2024-06-28 13:30:08 +08:00
parent 2030879c1f
commit 4269bff0b5
3 changed files with 156 additions and 31 deletions

View File

@@ -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
} }

View File

@@ -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=>{

View File

@@ -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;