左侧菜单

This commit is contained in:
zhangsir
2024-06-28 14:17:48 +08:00
parent bc408c039e
commit 2aa861c2a1
2 changed files with 111 additions and 87 deletions

View File

@@ -9,12 +9,13 @@
> --> > -->
<!-- <i class="el-icon-collection-tag"></i> 我的导航 --> <!-- <i class="el-icon-collection-tag"></i> 我的导航 -->
<!-- </div> --> <!-- </div> -->
<!-- :default-openeds="['manageTodo','manageFinish','teacherTodo','teacherFinish','lecturer','myqa','notice','mystudy', 'course', 'exam', 'u001', 'u002', 'u003', 'u004','mylecnotes','mycaseRecord']" -->
<div class="uc-menu" style="background-color: #ffffff;padding-bottom:20px"> <div class="uc-menu" style="background-color: #ffffff;padding-bottom:20px">
<el-menu <el-menu
:default-active="activeMenu" :default-active="activeMenu"
router router
active-text-color="#3379FB" active-text-color="#3379FB"
:default-openeds="['manageTodo','manageFinish','teacherTodo','teacherFinish','lecturer','myqa','notice','mystudy', 'course', 'exam', 'u001', 'u002', 'u003', 'u004','mylecnotes','mycaseRecord']" :default-openeds="openedsList"
class="el-menu-vertical" class="el-menu-vertical"
@open="handleOpen" @open="handleOpen"
@close="handleClose" @close="handleClose"
@@ -242,12 +243,12 @@
<svg-icon :icon-class="activeMenu == '/user/medal'?'myxunzhang-active':'myxunzhang'"></svg-icon> <svg-icon :icon-class="activeMenu == '/user/medal'?'myxunzhang-active':'myxunzhang'"></svg-icon>
<span slot="title">我的勋章</span> <span slot="title">我的勋章</span>
</el-menu-item> </el-menu-item>
<el-submenu index="mystudy" v-show="curIdentity == 1"> <!-- <el-submenu index="mystudy" v-show="curIdentity == 1">
<template slot="title"> <template slot="title"> -->
<!-- <i class="el-icon-s-grid"></i> --> <!-- <i class="el-icon-s-grid"></i> -->
<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>
@@ -260,10 +261,10 @@
<!-- <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/growth"> <!-- <el-menu-item index="/uc/study/growth">
<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>
@@ -275,8 +276,8 @@
<!-- <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-submenu> <!-- </el-submenu> -->
<el-submenu index="mystudy" v-show="curIdentity == 1"> <el-submenu v-if="fistTotal+pathTotal+proTotal+growTotal" 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>
@@ -284,20 +285,24 @@
<el-menu-item v-if="fistTotal" index="/uc/study/task?type=1"> <el-menu-item v-if="fistTotal" index="/uc/study/task?type=1">
<span slot="title" class="study textl"><el-badge :value="fistTotal||''" 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/growth"> <el-menu-item v-if="growTotal" index="/uc/study/growth">
<span slot="title" class="textl"><el-badge :value="studyTaskCount||''" class="item">专业力必修</el-badge></span> <span slot="title" class="textl">专业力必修</span>
</el-menu-item> </el-menu-item>
<el-menu-item v-if="pathTotal + proTotal" index="/uc/study/task?type=2"> <el-menu-item v-if="pathTotal + proTotal" index="/uc/study/task?type=2">
<span slot="title" class="textl"><el-badge :value="pathTotal + proTotal||''" 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-menu-item v-else index="/uc/study/task?type=9" v-show="curIdentity == 1">
<svg-icon :icon-class="activeMenu == '/uc/study/task'?'mystudy':'mystudy'"></svg-icon>
<span slot="title">我的必修</span>
</el-menu-item>
<el-submenu index="myelective" v-show="curIdentity == 1"> <el-submenu index="myelective" 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/courses"> <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">自选学习</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">
@@ -418,6 +423,7 @@ 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' import apiManage from '@/api/manage/manage.js'
import {getList} from '@/api/growth'
export default { export default {
name: 'UcMenu', name: 'UcMenu',
components: { components: {
@@ -428,6 +434,9 @@ export default {
activeMenu() { activeMenu() {
const route = this.$route; const route = this.$route;
const { meta, path } = route; const { meta, path } = route;
if(path == '/uc/study/task'){
return '/uc/study/task?type='+route.query.type
}
if(meta.title == '添加受众' || meta.title == '查看受众'){ if(meta.title == '添加受众' || meta.title == '查看受众'){
meta.activeMenu = '/manage/ugroups' meta.activeMenu = '/manage/ugroups'
} }
@@ -449,6 +458,8 @@ export default {
fistTotal:0, fistTotal:0,
proTotal: 0, proTotal: 0,
pathTotal:0, pathTotal:0,
growTotal: 0,
openedsList:[]
}; };
}, },
created() { created() {
@@ -489,6 +500,11 @@ export default {
apiManage.compulsoryList(params).then(res=>{ apiManage.compulsoryList(params).then(res=>{
this.pathTotal =parseInt(res.data.total); this.pathTotal =parseInt(res.data.total);
}) })
getList(this.userInfo.aid).then(res=>{
if(res.code == 200 ){
this.growTotal = 1
}
})
}, },
//讲师认证条数 //讲师认证条数
instructorCertification(){ instructorCertification(){
@@ -523,6 +539,7 @@ export default {
}, },
handleOpen(key, keyPath) { handleOpen(key, keyPath) {
console.log(key, keyPath); console.log(key, keyPath);
this.openedsList = [key]
}, },
handleClose(key, keyPath) { handleClose(key, keyPath) {
console.log(key, keyPath); console.log(key, keyPath);

View File

@@ -1,84 +1,89 @@
<template> <template>
<div> <div>
<!-- <div style="display:flex; padding-left:20px; width:100%"> <div style="margin-top: 50px;" v-if="isType == 9">
<div style="width:100px">完成情况</div> <el-empty description="您还没有学习数据"></el-empty>
<div class="progress"><div class="msg">课程完成情况</div> <el-progress :text-inside="true" :stroke-width="16" :percentage="porcessData.course" status="warning" class="progressItem"> </el-progress> </div>
<div class="progress" ><div class="msg">项目完成情况</div> <el-progress :text-inside="true" :stroke-width="16" :percentage="porcessData.project" status="success" 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 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: flex-start">
<div>
<el-select class="search-input" v-model="status" clearable placeholder="学习进度">
<el-option label="全部" value=""></el-option>
<el-option label="未开始" value="0"></el-option>
<el-option label="进行中" value="1"></el-option>
<el-option label="已完成" value="2"></el-option>
</el-select>
</div>
<div style="padding-left: 10px"><el-input v-model="params.cmtask_name" clearable placeholder="搜索名称"></el-input></div>
<div class="button-class" style="padding-left: 10px"><el-button type="primary" icon="el-icon-search" @click="search()">搜索</el-button></div>
<div class="button-class" style="padding-left: 10px"><el-button type="primary" icon="el-icon-refresh-right" @click="reset()">重置</el-button></div>
</div>
</div> </div>
<!--课程列表内容--> <div v-else>
<div class="uc-list" v-if="couresList.length > 0"> <!-- <div style="display:flex; padding-left:20px; width:100%">
<div class="uc-course" v-for="(item, idx) in couresList" @click="jumpRouter(item)" :key="idx"> <div style="width:100px">完成情况</div>
<div class="uc-course-img"> <div class="progress"><div class="msg">课程完成情况</div> <el-progress :text-inside="true" :stroke-width="16" :percentage="porcessData.course" status="warning" class="progressItem"> </el-progress> </div>
<img :src="item.cmtask_imgurl" /> <div class="progress" ><div class="msg">项目完成情况</div> <el-progress :text-inside="true" :stroke-width="16" :percentage="porcessData.project" status="success" class="progressItem"> </el-progress> </div>
<span class="spanname" v-if="item.cmtask_type==1">学习路径图</span> <div class="progress"><div class="msg">路径图完成情况</div> <el-progress :text-inside="true" :stroke-width="16" :percentage="porcessData.router" class="progressItem"> </el-progress> </div>
<span class="spanname" v-if="item.cmtask_type==2">学习项目</span>
<!-- 类型3不显示20230307 东吴说已确认的修改 --> </div> -->
<!-- <span class="spanname" v-if="item.cmtask_type==3">老系统必修任务</span> --> <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>
<div class="uc-course-info"> <div style="display: flex; justify-content: space-between; padding: 12px 32px 10px 22px;">
<!-- 任务名称 --> <div style="display: flex; justify-content: flex-start">
<div class="uc-course-name one-line-ellipsis" style="cursor: pointer"> <div>
<span v-if="item.type==10" class="uc-course-type2">录播</span> <el-select class="search-input" v-model="status" clearable placeholder="学习进度">
<span v-if="item.type==20" class="uc-course-type2">录播</span> <el-option label="全部" value=""></el-option>
<!-- <a href="/course/detail?id=" target="_blank"> {{item.name}}</a> --> <el-option label="未开始" value="0"></el-option>
<span v-html="item.cmtask_name"></span> <el-option label="进行中" value="1"></el-option>
<el-option label="已完成" value="2"></el-option>
</el-select>
</div> </div>
<!-- <div class="uc-course-source" @click="jumpRouter(item)">来源{{ item.cmtask_name }}</div> --> <div style="padding-left: 10px"><el-input v-model="params.cmtask_name" clearable placeholder="搜索名称"></el-input></div>
<div style="padding-top: 18px; " class="uc-course-text">学习进度 <div class="button-class" style="padding-left: 10px"><el-button type="primary" icon="el-icon-search" @click="search()">搜索</el-button></div>
<span v-if="item.cmtask_user_status==0">未开始</span> <div class="button-class" style="padding-left: 10px"><el-button type="primary" icon="el-icon-refresh-right" @click="reset()">重置</el-button></div>
<span v-if="item.cmtask_user_status==1">进行中</span>
<span v-if="item.cmtask_user_status==2">已完成</span>
</div>
<!-- <div class="uc-course-time">推送时间{{ formatsec(Number(item.updated_at) * 1000 )}}</div> -->
<div class="uc-course-time">推送时间{{ item.created_at}}</div>
</div>
<div class="uc-course-btns">
<el-button @click="jumpRouter(item)" type="primary" size="small">开始学习</el-button>
</div> </div>
</div> </div>
<div style="height:150px; text-align: center; margin-top:57px;" > <!--课程列表内容-->
<el-pagination background <div class="uc-list" v-if="couresList.length > 0">
@size-change="handleSizeChange" <div class="uc-course" v-for="(item, idx) in couresList" @click="jumpRouter(item)" :key="idx">
@current-change="handleCurrentChange" <div class="uc-course-img">
:page-sizes="[10, 20, 30, 40]" <img :src="item.cmtask_imgurl" />
:current-page="page" <span class="spanname" v-if="item.cmtask_type==1">学习路径图</span>
:page-size="size" <span class="spanname" v-if="item.cmtask_type==2">学习项目</span>
layout="total, sizes, prev, pager, next, jumper" <!-- 类型3不显示20230307 东吴说已确认的修改 -->
:total="total"> <!-- <span class="spanname" v-if="item.cmtask_type==3">老系统必修任务</span> -->
</el-pagination> </div>
<div class="uc-course-info">
<!-- 任务名称 -->
<div class="uc-course-name one-line-ellipsis" style="cursor: pointer">
<span v-if="item.type==10" class="uc-course-type2">录播</span>
<span v-if="item.type==20" class="uc-course-type2">录播</span>
<!-- <a href="/course/detail?id=" target="_blank"> {{item.name}}</a> -->
<span v-html="item.cmtask_name"></span>
</div>
<!-- <div class="uc-course-source" @click="jumpRouter(item)">来源{{ item.cmtask_name }}</div> -->
<div style="padding-top: 18px; " class="uc-course-text">学习进度
<span v-if="item.cmtask_user_status==0">未开始</span>
<span v-if="item.cmtask_user_status==1">进行中</span>
<span v-if="item.cmtask_user_status==2">已完成</span>
</div>
<!-- <div class="uc-course-time">推送时间{{ formatsec(Number(item.updated_at) * 1000 )}}</div> -->
<div class="uc-course-time">推送时间{{ item.created_at}}</div>
</div>
<div class="uc-course-btns">
<el-button @click="jumpRouter(item)" type="primary" size="small">开始学习</el-button>
</div>
</div>
<div style="height:150px; text-align: center; margin-top:57px;" >
<el-pagination background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:page-sizes="[10, 20, 30, 40]"
:current-page="page"
:page-size="size"
layout="total, sizes, prev, pager, next, jumper"
:total="total">
</el-pagination>
</div>
</div>
<!-- </div> -->
<div v-else class="zan-wu">
<div v-if="loading">
<span v-if="couresList.length==0">正在加载数据...</span>
<span v-else>查询中...</span>
</div>
<div v-else>
<span v-if="couresList.length==0">没有查询到相关内容</span>
</div>
</div> </div>
</div>
<!-- </div> -->
<div v-else class="zan-wu">
<div v-if="loading">
<span v-if="couresList.length==0">正在加载数据...</span>
<span v-else>查询中...</span>
</div>
<div v-else>
<span v-if="couresList.length==0">没有查询到相关内容</span>
</div>
</div> </div>
</div> </div>
</template> </template>
@@ -121,7 +126,9 @@ export default {
handler(to, from) { handler(to, from) {
console.log('type变化了', to.query.type); console.log('type变化了', to.query.type);
this.isType = to.query.type; this.isType = to.query.type;
this.loadBoeData(); if(this.isType != 9){
this.loadBoeData();
}
}, },
immediate: true immediate: true
} }